5 Things CIOs need to know before mobile-enabling

Leave a comment


Webinar at Aspire Systems

Webinar at Aspire Systems

Join us for a Webinar                                                                         
Theme: 5 things CIOs need to know before mobile-enabling
Date: Thursday, June 2, 2011
Time: 11 AM PST / 2 PM EST

“More than 4 billion people around the world now use cell phones, and for 450 million of those people, the Web is a fully mobile experience,” according to the McKinsey Global Institute. This explosive growth of mobile is having a significant impact on B2C and B2B businesses.

Mobile-enablement, however, is more than just tailoring your website’s content to fit a smaller screen. There are several options and challenges involved in going the mobile route. Executives overseeing mobile initiatives need to be aware of the considerations – in order to get the maximum RoI from their mobile strategy.

Come listen to two experienced practitioners discuss key elements that will be crucial in your mobile strategy, on June 2nd, 2011 at 2 PM EST.

Some areas that will be covered include:

Native mobile apps Vs. Mobile web

Design simplicity: where less is more

Mobile as a new channel for growth

And much more…

Speaker Profiles

William Walsh
Senior Manager – Mobile strategy
Discover Financial Services

William is a pioneer and thought-leader in the wireless industry. He has created and driven development of mobile multimedia applications (now used on 100+ million devices worldwide) including entry into the emerging $13 billion mobile advertising market and $35 billion location based services market.

In his previous role as Mobile Product Manager at Walgreens, he successfully launched Walgreens iPhone, Android, and Blackberry applications. He defined the marketing message for Walgreen’s iPhone application and propelled it to No.3 in the iTunes Lifestyle category – the app also won in 2 categories of the Webby awards.

Vinod K
Mobile Practice Manager
Aspire Systems

Vinod is an IT practitioner for the last 13 years, with over 10 years working in the mobile space. Vinod understands what it takes to go mobile – the challenges, pros and cons of different approaches. He has consulted several Fortune 500 companies and helped them define their mobile roadmap.

Vinod has hands-on experience working on various mobile technologies, right from programming for Palm OS close to 10 years ago, to leading a 20+ member team for a Fortune 500 company in the retail space recently. Vinod led the team working on their iPhone and Android apps (the iphone was subsequently one of the top 5 apps in the iTunes Lifestyle category).

Caveats with Titanium Framework

3 Comments


Titanium Framework

 

Appcelerator Titanium is a platform for developing mobile and desktop applications using web technologies. Titanium Mobile Framework allows web developers to apply existing skills to create native applications for iPhone and Android. Its target audience is Web developers who does not want to learn objective-c or java but wanted to contribute to iPhone and Android development.

Advantages:

1. Titanium supports nearly all of the iPhone, iPad and Android UI controls

2. You can use most of the native facilities of the device like camera, accelerometer to state few.

3. You avoid learning new language and reuse the existing web skill set.

4. it lets you develop the business logic of the Application only once.

5. Most UI components can be reused across platforms.

Disadvantages:

In my opinion, a web developer can not find a disadvantage with the Titanium Framework.

Titanium is for whom?

Titanium is meant for people who never wanted to learn the native iphone and Android programming. If you know to develop applications using objective C and you wanted to develop applications for iPhone then don’t even think of Titanium, the same case applies to Android too. Only if you are lazy to learn a language, you can opt for Titanium.

My Experience:

I put here some of my observations I have had on Titanium Framework during my development.

  1. Developing for iPhone or Android alone is never a big deal. Because you need not bother about your application’s behavior in the other platform.
  2. Your application would be slower than if it has been developed in the native way and this would be visible very much with Android. In Android at most cases, for each of your page navigation you will have to finally add an activity indicator, if you have lot of controls in your view.
  3. Some of the features in Android which was shown to be working in developer reference were not working. Even after being filed as bugs, they were not updated in developer’s reference that it works only in iPhone. For example, “focus” events of the window is handled only in iPhone and never in Android.
  4. If you wanted to develop application for both iPhone and Android, then you would be spending more time for arrangement of controls in the views or custom cell in Table view.
  5. For a folk who is new to javascript or does not know the nuances of javascript, the development sometimes can be a nightmare because of the errors you get due to misplace comma, semicolon. But once you start coding carefully, this can be solved.
  6. Next biggest problem you would face with Titanium is with the Testing of the App in iPhone. It has taken nearly 4 minutes for the application to get loaded in to the iPhone. This was not the case with Android.
  7. The size of the Application is a big concern here. An iPhone application we developed using Titanium was 5.2 MB in release mode. If we could have done this in Native mode would not exceed a size of 1 MB.

If you wanted to develop an application that is completely data centric, you can go for Titanium but with all the pains I have mentioned. If you don’t know objective C or java, Titanium is a great gift for you. Otherwise you may regret choosing Titanium at later point in time.

After I completed my development of an Application for iPhone and Android in Titanium, I felt that if I could have directly used objective C and java to develop these applications. And this could have given me the following advantages:

  1. My application could have been faster than it is now.
  2. I need not wait for Titanium to enable a new feature that arrives with iOS or Android.

All of my experience that I have stated here are specific to my development of the Android and iPhone in Mac OS X.

I have used only Titanium Mobile. I have not used Titanium Desktop to develop any applications.

Links:

http://stackoverflow.com/questions/4211996/how-to-optimize-the-size-of-titanium-based-iphone-app

https://mobworld.wordpress.com/2010/07/28/titanium/

http://www.linkedin.com/groupItem?view=&gid=69893&type=member&item=27307064&qid=ebae74e5-4546-41a4-aea9-9bb6ae98171c

http://developer.appcelerator.com/question/91121/reducing-the-size-of-titanium-based-application

http://stackoverflow.com/questions/5951410/ios-appcelerator-titanium-and-external-accessory-framework

Imageview Problem in Android – Titanium

Leave a comment


Yesterday I was working to scaledown the dimension of an image for my Application in iPhone and Android using Titanium. Without any effort I could achieve it in iPhone, but when I tried the same in Android I did not get the result I was expecting. The image was always taking up its original space without getting scaled down.

Finally I got to the solution. In iPhone implementation of Titanium, by default the image is set to be scalable and for Android the it is not scalable.

Setting canScale property to true and enableZoomControls to false did the trick for me.
By Default, enableZoomControls is true in Android. That is why we have set it to false.

Here is the code. Grab it.


var imageView = Ti.UI.createImageView({
    width: 40,
    height: 40,
    canScale:true,
    enableZoomControls:false,
    image: '/logo.png'
});

Log info not working in Titanium

Leave a comment


When I was testing my Titanium App, suddenly the Log info on which I depend for testing the App, stopped working. Could not do anything.

Tried restarting the Emulator, Titanium Development Environment and even the Mac, but to no avail. Finally got the fix, by creating a new project and replacing the Resources Folder of my current project in to the newly created project.

Titanium for iPhone and Android

2 Comments


Our team explored on Titanium Appcelerator for the last two weeks and learned their way to Native App development.

As Titanium claims, can it let the web developers, develop Applications targeting iPhone and  Android?(with just HTML, javascript, CSS)

Yes for sure. The web developers need not learn objective C , Java . They just need to know javascript. (Knowledge of Android and iPhone widgets  would be better).Thats the selling point of the Titanium.  Is there any thing that would stop the web developers from embracing this Platform?

A Big No. until and otherwise they want to develop gaming Apps.why? Because this platform let the web developers target the most popular Mobile Native App Platform with their existing skill set. They can make money with their existing skill set.

Developers already working with Native Android and iPhone platform may also wish to go for this Titanium for the following reasons:

1. Early Time to market. (use same codebase)

2. Nearly same look and feel as a Native App.

What problems does Titanium has in it, which should be resolved.

1.    From a users perspective UI responsiveness of Native Apps would be better than Titanium based App.

2.    As Titanium claims, most UI components can be reused, but the arrangement of controls in the Views has to be done differently for the different Platforms.

3.    There is no support for the Android native control named spinner control Titanium based Android  App.

4.     There is no support for the audio recording in Titanium  based  Android App.

5.    Contacts are not accessible from a Titanium based Android  App.

6.    No Push Notifications for Android (Native support available in Android 2.2)

The second problem I have mentioned was more painful than others. This is because I felt cheated. For me the placement of Table Views worked correctly in iPhone and Android. But the widgets on other views did not get positioned as I expected. What I expected was that, Once I place the widgets in Place and check it in iPhone, the widgets should appear in similar manner in Android. But things turned otherwise. And I had to check for Android Device in the code and set the position separately for Android. Then it was fine.This may eat up our time. But the code where you do business logic and other backend tasks could be reused without a further ado.

Thanks and bye.