| TweetMWC - (1) the making of an ELIPS Studio app |
| Written by Emmanuel Niclot |
| Wednesday, 10 February 2010 11:40 |
|
[See how one can develop and deploy an application on iPhone, Android, Windows Mobile and Symbian in just 1 week and have it published on top app stores] TweetMWC is a friendly twitter client showing tweets about the mobile industry's most attended event: Mobile World Congress in Barcelona. This first article gives the ins and outs of how TweetMWC was created with ELIPS studio 3, from early concept to design and testing. For the publishing step and distribution on app stores, see the second article.
The IdeaThe GSMA Mobile World Congress is an important "rendez-vous" in Europe to get early access to the industry trends and innovations and meet great people. Unfortunately, I am generally getting very busy with meetings during those 4 days in Barcelona so that I hardly find the time to keep up with all what is going on there. Well, that is all about the idea behind TweetMWC: a mobile app with the hot news about during show at hand and a way to share my views with other attendees. Pretty sure that those of you going to barcelona will find it useful!
The DesignOnce you get an application idea in mind, you may be tempted to rush into the code. I would rather start with a rough design of the app. Why? Because first I can get it right from the very beginning by spending only 5 minutes sketching and figuring out basic use-cases. Then I tend to go faster when developing the app as it saves several iterations.
So just taking a piece of paper and writing down the high level use cases:
Now that I have my use cases in mind, I can make some mockups of my app. It can be done on paper. I personally use balsamiq to bring my app to life quickly. So looking back to my use cases, I shall have one state to display the tweets, one state to post and an additional one about the app/company.
Choice of Platforms... and SDKChoosing which device/platform to target can be more complex than it seems. It is all a matter of market and opportunities. In my case, I would like my app to be available on major application stores (i.e. Apple App Store, Google Android Market, Microsoft Marketplace and Nokia OVI store). So I am selecting handsets from various vendors that I have at hand:
I am not ready to spend time developing my app in 4 different programming languages. I obviously need a cross-platform development environment, meaning I develop my app only once for all the platforms. In such context, ELIPS Studio 3 seems particularly appropriate as:
UI DesignUsing the initial application mockups plus some graphical assets from a friend designer, I can now start designing my application using ELIPS Studio 3 plug-in to Flex Builder. In Adobe Flex Builder, the UI is described in an XML oriented language (MXML) and logic is coded in AsctionScript, which makes it fairly productive for web developers. The application layout is based on UI elements. They can be of two sorts:
Managing application states is particularly fast in Flex as each state can be derived from a base one. A state can then add its own UI elements and remove or modify the elements existing in the base state.
Handling Model VariantsOne of the important challenges, when it comes to program for mobile devices, is to deal with variants. Indeed, they can be many differences from one model to another like the screen size or the capabilities: does it supports screen rotation? Is it touch-based? What about GPS? ELIPS Studio brings solid mechanisms for developers to manage such variants efficiently while keeping a single code base. First, it is possible to define one set of resources per screen size. In my case, I am targeting 3 different screen sizes, so I will have 3 different graphical assets in my project resources:
Then, for handset capabilities, there is an API called openplug.elips.device which allows putting some conditional coding. In my case, I will need to check the device screen size and support of rotation in order to adapt my list of tweets accordingly.
(re)Using ActionScript librariesIn the first place, I used fake data to design my application UI. I now need to connect it to twitter for displaying and posting real tweets. Of course, a similar approach can be done for many other web services where AS libs are available in open source like Flickr, Facebook, eBay or MySpace, just to name a few.
Testing on Simulation, and Generating for the Mobile PhonesELIPS Studio includes a simulation for the various platforms and models of handsets which is pretty useful for validating the variants of your app very fast, on PC.
The app can then be generated for each targeted platform in the form of a ".sis" file for symbian, ".cab" file for windows mobile, ".apk" for android. For iPhone, ELIPS Studio beta still requires the generated code to be compiled with XCode on a Mac. This will be simplified in future version, see this article. Check out the ELIPS Studio tutorials and videos page for more details on building your application for supported mobile platforms.
And Finally: Deploying the Application to StoresThat's it! After a week of design, development and testing, I've got my app running on the 4 major mobile platforms.
The final step is: posting the applications, and going through the various approval processes. This is the topic of a second article. |




Comments