Imagine for a second that you just developed a piece of software that works online. Let's pick a random category: project management. In 2009-2010, you probably spent countless hours creating something very dynamic, with some 45000 lines of snappy Javascript. You then decide to make your application available to mobile devices. The question is: do you develop N native applications for N mobile platforms? Or do you develop one online application that works everywhere?

Let me explain.

At the moment, the most prominent devices are iPhone, Android, and Blackberry. The iPhone is popular today, it's programmed in Objective-C, you can't really use anything but Apple's development tools for it, and you might have to start a war against Apple to have your app available in their market. Android is gaining a lot of ground, and will possibly be the most popular mobile OS on Earth; it's programmed in Java and while you are not forced to use their SDK, you don't really have a lot of choice. Blackberry is still around, but losing market share every day. Windows Mobile doesn't exist (yet) but tomorrow? Who knows.

So, when writing an application you have two options: the first one is to learn the software development tool of each one of the important mobile platforms available today (I'd say iPhone and Android), and keep track of whatever might be popular tomorrow (and develop for that platform too).

The second option is to use mobile Javascript libraries like jQTouch, Jquery-mobile or Dojo mobile or any other mobile Javascript library. This means developing one application, using one toolkit, knowing that it will run on every mobile platform today and -- more importantly -- tomorrow. (Note that Dojo Mobile isn't ready for prime time yet).

Each option has advantages and disadvantages -- like everything else in this field. This post clearly explains the pros and cons of each choice. In general, one of the major problems of online applications is that they are bound to only access whatever the browser has access to, and things like the mobile's gyroscope, the GPS, the accelerometer, are often (or always) out of reach.

I have to say, when people face the "online vs. native" dilemma, they often don't realise how much fragmentation there is in the mobile market. At the moment, in the Smartphone arena (which isn't the biggest one -- some people really want just phones) Android and iPhone are both "fashionable". Blackberries are also strong and fashionable in business circles. Thing is, with fashion you never know what's going to be cool next year: maybe Nokia's Meego? (Nokia is pretty big, and the software is based on the established Maemo and QT...). Maybe it will be Samsung's Bada (Samsung sells an intimidating number of smartphones and normal phones every year, have recently released the Android based Galaxy S which is possibly the sexiest and most powerful Android phone right now); maybe the next fashionable system will be Palm's WebOS... sure, it's unlikely, but in the mobile market you just never know: all it takes is one fantastic phone that sells really well.

(I feel I need to add something about Bada: I feel that it's quite possible that the market will be flooded by Bada devices sooner rather than later. Samsung is the biggest producer of cell phones, way ahead of its competition in terms of numbers. Right now there is a huge slice of the market owned by "normal" phones that cost between $200 and $400, and if Samsung decides that all those phones will effectively become "smart" and have Bada, then you have all the ingredients to have a big player in the mobile world).

What about me? I am a fan of online applications: when they are based on advanced toolkits, can look incredibly similar to native applications. Javascript engines are now immensely fast, and HTML5 along with CSS3 are turning "the web" into a full development platform. While betting on native applications means betting on a specific platform, picking online applications means begging on the web.

In developing Apollo, we decided to use a mobile library; this is being tested as we speak, and it shouldn't be too much longer before it's available to all users. As the world of mobile development changes very quickly, we will probably release a 2.0 version of our Apollo mobile application based on a more advanced library in 2011 (exciting!).

We believed in the browser as a platform when we developed Apollo; we could have written yet another "page reload" project management web application -- instead, we took the road less travelled and created a very unique product. We are now taking a very similar approach for our mobile platform: it's again the road less travelled, but we will definitely take it again.

2 comments so far

Rado

Sun, 01/23/2011 - 22:08

1

Is there a mobile version of the site automatically available at some special URL? We already have a workspace, but when I try to access that using Opera Mobile, it prompts me to sign in and then all I get is the "Loading Apollo..." screen. Thanks for any clues!

Tony Mobily

Wed, 01/26/2011 - 09:07

2

Hi,

The mobile version is still in beta. Please email us with your workspace name, and we will enable it for you!

Merc.

Post new comment

Name: *

Email: *

The content of this field is kept private and will not be shown publicly. If you have a Gravatar account associated with the e-mail address you provide, it will be used to display your avatar.