Developing and testing apps for mobile devices is vastly more complicated than for PCs. Part 2 of the mobile special checks the must-have skills and know-how.
What languages are mobile apps programmed in?
Cisco WebEx develops mobile meeting applications for a host of devices. The apps are developed in the programming language best suited to the device and OS we are approaching. So, we develop using C++ for Apple devices running on iOS, Java for BlackBerry devices, Java for Android devices and so on.
How are mobile applications scoped and specified?
Scoping starts with a long, hard look at the device. Mobile devices offer different form factors, screen size and resolution, computing power and functionality. They run different operating systems and have other methods of retrieving data such as wifi or 3G.
The challenge is to understand the device and how it will be used to the best advantage: focus on the benefits of the device, such as size and portability, and ensure that the user experience will be optimised.
What special skills and roles are required?
The important ones are flexibility, speed, and a keen understanding of the user experience. Mobile development jobs require you to work quickly and be ready to respond to lots of changes, such as hardware and software updates, patches and design changes. The tablet is a great example – we have entered into a ‘post PC era’ and the types of things that a tablet will be used for is still evolving.
How do you port applications to multiple platforms?
We have created a single unified architecture that covers all platforms, so that we can ensure a common user experience across devices. However, different platforms utilise different operating systems and system tools, so we have to create a unique client code base for each platform - iOS, Android, and Blackberry. It is possible to reuse some code across Blackberry and Android.
What’s different about mobile app development?
Some of the unique challenges are: designing for a small screen size and resolution; energy management that focuses on optimisation of battery life; managing data access in an environment of variable and potentially inconsistent network access; working with devices that offer limited processor power and RAM in comparison to a PC.
What are the tech challenges?
Platform fragmentation is the biggest, the need to develop and maintain separate apps on each of the different platforms.
Others include: varying levels of maturity of software developer kit and technical documentation; different user interface guidelines; different specs for processor and RAM; differences between mobile platforms in terms of how security is handled, multi-tasking is supported, and content is rendered.
Any other advice for the app developer?
Pick the platform you want to develop on wisely; focus only on one or two platforms in the beginning; and start simple. Focus on core functionality first and add features in subsequent versions as you gain insight and experience.
With thanks to Michael Murphy, lead product marketing manager at Cisco WebEx.
Search CWJobs for mobile jobs and 1000’s of IT vacancies.