Development Experience - iOS vs. Windows Mobile
Since the launch of the iPhone in 2007, Apple has lead in the mobile space. It has successfully allured many customers with sleek devices, and attracted top app developers with powerful and standardized platforms. Over time, however, the landscape has changed. Most notably, Microsoft, though conspicuously late to the mobile party, has slowly gained traction in the mobile market. We’ve built several generations of iOS apps, so when we recently we had an opportunity to build a Windows Store app, we jumped at the chance to see how the development experience compares.
Ease of Development
One of the beautiful things about building a native Apple iOS app in the current iOS7 environment is the ability to design the visual elements and transitions between pages in a storyboard. Therein also lies the problem, though, as a whole app cannot be built by using only storyboards. You can’t quite get as far as you want to with storyboarding alone. This is a relatively new issue in developing iOS apps, and fixing it is a work in progress that is improving over time.
In truth, the experiences of developing for Windows or iOS are pretty comparable. Since Windows has solid counterparts to each of Apple’s development elements, an experienced iOS developer should feel pretty comfortable crossing over.
Choosing A Platform
So if you had to choose one platform for the initial launch of your app, which should you choose? Smartphone choices from year to year are heavily influenced by ever-changing public perception, and fads come and go. Before deciding which platform to build first, the company should naturally do a bit of research into smartphone trends and projections for the future.
Current projections predict a growing trend in Microsoft phones:
While advocates of one platform or another will loudly proclaim the superiority of their platform’s user experience over all the others, we’re confident a good user experience can be achieved on iOS, Windows Mobile, or Android. Users care more that their gestures and taps are interpreted in the way they expect than they do about nuances of appearance or the position of a back button. Users don’t care whether an app was built using native platform controls or using HTML5 elements if the experience is fluid - especially if the app helps them with the task they are trying to accomplish. There are probably only few cases in which user experience will impact the decision of which platform to choose. Availability
Customers care deeply about the availability of the app on their devices. If their users have Android phones but the app in question is only available for iPhones, then that app is of no use to them. Of course, ideally you want to build one app that works in all environments; and only pay for development once. Unfortunately, this is usually only feasible for the simplest apps. On a limited budget, you have to pick the platform to target carefully. Knowing your customers’ demographics and needs is the most important factor to consider when choosing a development platform, and getting to know your customers takes work. Honestly, when in doubt the best first step in most cases is to build a semi-functional cross-platform prototype and test it with users before committing to a platform.
Companies have to realize that a language and platform decision can bring on a war between developers, as some people take this choice very seriously. Realistically, some developers will always want their Macs and Xcode while on the other hand, many developers appreciate Microsoft and love VisualStudio. As we’ve seen, though, both the Windows and Apple development environments are mostly equivalent on the surface. The decision about which platform to target should be made carefully with business goals and the end user in mind. Good developers thrive on experimenting and learning. If the right platform for your app will require your developers to step outside of what they’re used to, and you have good developers and a good process, your team will rise to the task.