Mobile Web or Mobile Apps?

posted by Ameet on

Having been in the mobile space for a number of years, I’m often asked by prospective customers whether they should develop a mobile website or create a downloadable application that runs on the handsets. The short answer is, it depends on what your trying to accomplish.

Developing for the Mobile Web

Web development on mobile phones has long suffered from a very rigid platform and the inability for mobile browsers to keep up with current web technologies. This is slowly changing, partially due to the recent spikes in Smartphone handset sales. With many handset manufacturers attempting to clone the iPhone’s usability and appeal, a larger focus has been placed on the content on mobile phones, which in turn, requires better software to render this content. For example, both the iPhone and Blackberry Bold browsers can view HTML pages and process JavaScript. Technologies such as Flash have been rumored to be coming in the near term, but it will take some time before its supported on a large number of devices.

The “Pros” for Developing Mobile Web Applications

  • The cost of supporting a mobile web application is relatively cheap in comparison to a downloadable application
  • Accordingly, the speed at which a mobile website can be created is relatively quick
  • If you have an existing high traffic web destination, developing a mobile version makes sense as your site already has a brand attached to it and a loyal following
  • Higher-end devices are beginning to support existing desktop browser capabilities thus making the delta between your mobile and desktop browser experience smaller
  • Deployment of a mobile website is quite simple
  • The mobile web allows you to develop on a single platform and target the broadest set of launched across all handsets



The “Cons” for Developing Mobile Web Applications

  • Currently, mobile websites are unable to take advantage of device specific features
  • Ex: For the same reasons you can’t use a website to burn a CD, you cannot use a mobile website to access your phone’s contact list
  • This is why high traffic sites such as Facebook will create both a mobile website and downloadable application
  • Relatively speaking, interfaces on mobile websites are quite poor and clunky resulting in a less than desirable user experience
  • Currently, support for AJAX and DHTML technologies is quite limited
  • Despite developing for a single platform, developers must take into account mobile device idiosyncrasies across different handsets, firmware versions and operators
  • Users must be connected at all times… there is no concept of an “offline mode”
  • With the increase in mobile handset vendors, there has also been an increase in browser fragmentation
  • On the web, typically developers are focused on Firefox, Opera, Internet Explorer and Safari
  • In the mobile space, there are 10+ relevant browsers and many more in development
  • Mobile website owners must rely heavily on 3rd party sources such as Device Atlas to understand device characteristics



Developing Mobile Applications

Similar to the mobile web, the native capabilities of handsets have improved and so have the associated SDKs. If you’re watching how Apple markets the iPhone, its all about letting users know that their device is more than just a phone. Specifically, they showcase applications created for the handset that leverage it’s unique capabilities. In general, Apple has done a fantastic job of making users feel comfortable in downloading content to their handsets. It’s not only helped them, but it’s opened up the floodgates across other platforms.

The “Pros” for Developing Mobile Applications

  • Mobile applications can interact directly with the device obtaining useful information such as location, contact lists, accelerometer functions, etc. This is critical for a “mobile” application
  • Having the ability to control exactly what is displayed on screen allows for customized (and optimized), rich user interfaces directly on the device
  • User interactions can also be directly controlled via the possible inputs (touch, voice, keyboard, etc)
  • In your mobile application, you are able to store reasonable amounts of data directly on the handset in a secure manner as opposed to storing everything on a remote server (slow!)
  • Performance can typically be optimized for each handset and platform
  • Mobile (Smartphone) development platforms are improving quite rapidly
  • Developers can create a consistent look and feel throughout their application
  • Measurement in terms of how users interact with an application is possible



The “Cons” for Developing Mobile Applications

  • Unless proper design measures are taken, upkeep and continued portability of your application is difficult to maintain.  This happens to be something we specialize in :)
  • There are 5-6 relevant mobile application development platforms to choose from, and understand which ones best suit your needs can be confusing
  • Within these platforms, additional fragmentation exists at a per device, firmware and operator level
  • Typically, developing rich mobile applications is more costly than creating a mobile website
  • Mobile applications may require porting to additional platforms and this takes up front consideration
  • A single, publicly available source for data across all mobile handset characteristics and attributes as they relate to the individual SDKs does not exist
  • Testing can be time consuming and costly as mobile applications must be tested on the physical handset
  • One needs to understand the various carrier requirements if an “on deck” strategy is preferred



In conclusion, it very much depends on your organization’s goals with regards to the mobile application. If it’s simply an extension of your mobile website, is heavily content focused and does not require an interactive user experience, then the mobile web may be a better choice. If one requires access to device functionality such as location or the contact list and have an appropriate development and porting strategy formed (either internally, or through a partner) that will help minimize the effects of device fragmentation, then developing a mobile application makes sense.

Agile Mobile Process

posted by Dan on

Anyone can develop a mobile application. These days all you need is a little programming knowledge, internet access and a laptop and off you go. At first, mobile development sounds exhilarating, especially around the time when new and exciting platforms hit the market. The iPhone phenomenon is a perfect example. In just a few short months, thousands of developers have jumped on the iPhone application bandwagon. And rightfully so as the iPhone continues to be a massive hit.

Once the initial excitement of mobile development starts to fade out, the diverse set of challenges intrinsic to mobile come to light. The full spectrum of fragmentation in mobile development is experienced most clearly and frequently when dealing with multiple development projects at once and especially when developing for multiple mobile platforms.

Imagine developing several simultaneous applications for the iPhone, BlackBerry, Java ME, Android and Windows Mobile platforms. The numerous complexities surrounding this cannot be captured in a single blog post. How does one manage a mobile development team in the face of these challenges? The answer we found at Five Mobile can be summed up in three simple words: Agile Mobile Process, or simply as AMP.

Agile Software Methodologies have been around for quite some time now and have gained significant traction within both large and small organizations. The concepts are proven to work in both desktop and web development. The Scrum process, for example, is an ingenious way of keeping things visible within an organization with minimal project management overhead.
For mobile, Agile simply makes sense. In a mobile development environment, the four Agile principles are of utmost importance:

• Individuals and interactions
• Working software
• Customer collaboration
• Responding to change

In addition to these core Agile principles, an efficient mobile development process requires a mixture of robust development tools, a well structured and experienced team, as well as the appropriate handset and market knowledge to ensure a positive ROI.
At Five Mobile, the core team, with over 25 years of combined industry experience, have tried and tested Agile for mobile. Both our internal team and our customers have come to appreciate the value of the right mobile tools, high-responsiveness to change, overall visibility and continuous working software. What makes AMP unique is that it’s a modification of the traditional Agile methodologies best suited for mobile development. It’s a mixture of both traditional and Agile principles with an emphasis on portability and cross-platform code management.

In upcoming posts we will touch on different aspects AMP and we will look at some real world examples where our process is validated both internally and externally.