Mobile Application Development – Current Technologies
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 PCB Headers 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.
Aside from targeting specific mobile platforms through software and Web development, there are additional ways to exploit mobile contexts for some business processes – SMS is one such case. In this model, services are delivered as SMS text messages. This has the benefit of generally working across all phones, and payment can be handled via users bills – but it’s a very limited form of interaction. SMS also has a problem that message delivery is not guaranteed. Integrating SMS message handling into Web applications is quite simple – and support for processing SMS messages from users is widely available.
Google’s Android operating system is going from strength to strength at the moment. Having initially been seen as a platform of interest mainly to geeks, Android now occupies around a third of smartphone market share. Android’s growth is partly down to the openness of the platform, which is available on phones across the market range and from various hardware manufacturers, making it accessible to a more diverse range of users than iPhone.
Apps available through the Android Market are also subject to very little control, which produces a great deal of variety and flexibility but naturally results in a higher proportion of poor quality applications in circulation.
Google’s approach is the opposite of Apple – which retains significant control over its mobile phone operating system. Google’s initial idea was to make a new phone operating system which would be open and free. Their hope was that this would encourage innovative development of both phones and applications. Google has invested in Android because it expected that Web searches would increasingly happen on mobiles, and it wanted to be able to advertise to mobile users.
The iPhone was of course in a dominant position as the advance of the smartphone took shape, and the platform is still in a very powerful place. Although business users naturally tended toward Blackberry in the past, both iPhone and Android have continued to make considerable headway for enterprise as well as consumer use, while Blackberry has started catering more to the consumer user as well. The result is that all three of the major smartphone platforms are now occupying some of the same space.
The iPhone offers support for external business utilities such as Microsoft Exchange and, unlike Android, iPhone apps are subject to serious vetting before users can deploy them. The natural downside to this increased level of control over the platform as a whole is a lack of flexibility, but for business applications the plus side is a very high guarantee of quality and reliability for the end user – and ultimately for any business processes being implemented through the technology.
With the hugely popular visual designs and interaction models the brand is famous for, the iPhone is certainly an attractive platform for commercial applications. Apple have been responsible for developing innovative features whose success has prompted other platforms to emulate them, such as multi-touch interaction.
There are some serious considerations with iPhone development:
- Apple does not permit users to directly install applications onto the iPhone – all applications must be bought from the Apple Store, and Apple takes a 30% cut. There may be some way around this in the future, but at present we are not aware of it.
- For certain applications the fragility, financial value and battery life of the iPhone may pose problems.
Of course, these obstacles apply mostly to commercial / industrial applications. They are not particularly a problem in terms of creating end-user applications. Blueberry has the Objective C skills necessary to develop iPhone programs, and we would be very interested in discussing this with customers.
Although iPhone has lost considerable smartphone ground to both Blackberry and Android, it is generally still seen as the platform to beat, and continues to be a market leader in many ways.
About RIM Blackberry
RIM’s Blackberry platform was long regarded as the mobile system of choice for business and professional users, a perception that still persists to a certain degree. Over the past few years Blackberry has also made significant advances in the consumer market, introducing handsets that have proven especially popular among young smartphone users.
Like Android, Blackberry hardware is very varied, so users can access mobile sites and applications via differing screen sizes and controls – increasing the complexity in any development project. The Blackberry platform delivers a wealth of enterprise services as standard, with Blackberry Enterprise Server seen as a major asset for corporate users. Email on Blackberry is particularly strong, so users who are dependent on a high level of security and reliability in messaging (and communications in general) naturally tend towards this platform.
While iPhones are focused on touchscreen interaction, as are Android devices to a slightly lesser degree, Blackberry handsets are most likely to provide hardware keyboards for text input. This can be a key aspect in the potential of the platform for certain application categories.
A possible issue for mobile Web applications targeted at Blackberry is that the Web browsers on the system have, in the past, been significantly less advanced than those on both iPhone and Android. However, more recent models have addressed this issue by including the latest WebKit browser
Native apps can be deployed through the Blackberry App World marketplace, which has, to date, not occupied as central a role for users as the app stores on iPhone and Android, although the brand is clearly focusing extensive efforts on developing this aspect of usage.
About Windows Mobile
Windows Mobile and Windows Phone 7 represent Microsoft’s foray into the mobile world, which has enjoyed varying degrees of success in the consumer and industrial markets.
From the consumer point of view, at the moment some of the high end smartphone brands such as HTC and LG are producing handsets with the Windows Phone operating system deployed on them, with networks including O2 and Orange providing mobile services. Nokia and Windows have reached a major deal in which the manufacturer is dropping its Symbian platform entirely to focus on Windows as its operating system of choice.
In 2011, Microsoft is due to release a major new version of the mobile Windows platform named Mango. This much anticipated release could alter the position of Microsoft drastically within the mobile world, partly on account of the Nokia partnership and partly since the system is set to include a number of new features such as increased support for HTML5.
At the same time, Windows Mobile has also been adopted strongly by manufacturers of industrial PDAs and mobiles – portable computing device products designed for commercial rather than consumer use. This has seen Microsoft exploring various industrial contexts for mobile processing, with Windows Mobile 6.5 particularly successful in such environments, and hardware produced by various manufacturers including Motorola. Windows Mobile is therefore a natural choice for many mobile workplace needs, including warehouse and delivery services.
From a development perspective, Windows Mobile has very strong advantages. Microsoft has provided a rich platform of development tools – including the C# language, which is much easier to use than C used on other mobiles. Microsoft also includes tools for communication between software on the phone and central servers, and they even include a small database engine.
The PCB Headers and wide availability of different devices make Windows Mobile a particularly valuable platform for delivering business applications. At Blueberry we have a uniquely high level of expertise on Windows Mobile systems, so are well positioned to deliver solutions on this platform.