Smartphones are a huge success story of the past two decades – and the devices get more powerful each year. Many businesses achieve significant benefits by using mobile technology – including those in both industrial and commercial markets. Deploying applications to mobile users involves a unique set of challenges and choices.
This article provides a background on the current mobile technologies available.
Types of Application for Mobile
The fundamental consideration with delivering business applications over mobile phones is the huge number of devices, and the wide variety of features on these.
Successful mobile application development often involves a combination of technologies and techniques. This is where a diverse skill set, together with an understanding of the mobile landscape, is essential to provide businesses not only with development services but also effective guidance in this time of accelerating change. The challenges at this stage in mobile technology are mirrored by an ever-increasing range of opportunities for businesses to implement new and improved processes.
In general, there are two main approaches to delivering business solutions over mobiles:
The mobile Web has undergone enormous advances over the past few years. According to recent research, around a third of adults in the UK are now using a smartphone – it seems fairly safe to assume that this will only continue to increase. Many more mobile users have some kind of internet access. Although the functionality of mobile Web browsers is now at a good level, there are still considerable restrictions in terms of network connectivity and speed – this is expected to improve over the next couple of years as 4G kicks in, but for the moment remains a serious constraint.
Many organisations create mobile versions of their sites and Web services, with minimised content designed to cope with mobile hardware and data connectivity limitations. One potentially valuable prospect in the mobile Web will be the advance of HTML5. This technology is still very much under development, but with major sites such as the Financial Times opting to use it rather than targeting specific mobile platforms it does look very promising. HTML5 offers a range of benefits including facilities for offline support, multi-media, interactivity and location awareness.
(2) Mobile Apps
Native mobile applications are software solutions deployed directly onto devices such as phones. Many mobile applications link to internet services, with the application, or “app”, handling user interaction natively. Mobile apps have the advantage that they provide a deep level of interactivity that is suited to device hardware – for example, using gestures or sensors like GPS. The difficulty with using mobile applications to deliver business services is the range of platforms in operation. As of early 2011, Google, Apple and RIM together occupy around 90% of the smartphone market. However, the mobile landscape is still in a state of change and there are other players including Windows and Palm – it would be unwise to make any predictions about how market share will look even in a matter of months as things stand.
Microsoft have replaced the Windows Mobile system with Windows Phone 7, with an increased focus on consumer use. Although Microsoft currently has a reduced position in terms of smartphone market share, the upcoming Mango release is looking very promising, and is being received quite well in early testing.
In terms of technologies for mobile apps, the list is long, and depends on which platform (or platforms) you choose to target. Among the most commonly used programming languages for mobile applications are Java, Objective C and C++. Each of the major platforms has a specific Software Development kit, with its own tools to help with the design, testing, debugging and deployment.
The complexity of mobile application development is such that targeting even a single platform involves extensive testing. Some businesses maximise on development resources by balancing native user interaction with cross-platform resources at the back-end, in which case a mobile app can effectively function as an interface for a Web application.