Firstly, I want to thank everybody who responded to my last blog post: From Mac to Windows: Why is Microsoft making it so hard? There is always a risk that any post dealing with a Mac versus Windows topic could descend into a flame war, so I was very appreciative of the intelligent thoughts and suggestions offered by everyone who commented on the blog.
Secondly, I will apologise for taking so long posting this follow up blog post. I have been sitting on this blog post for a couple of months waiting for permission to include a few quotes from Chris Bernard, a Chief Experience Evangelist at Microsoft, but after not hearing back, I have decided to publish the post without them.
In that time, Microsoft has abandoned the Metro name, but I will continue to use it here in lieu of a non-Wordy alternative.
Back in July, I spoke to Chris for an hour about the direction Microsoft is taking. I certainly wasn’t expecting to receive that kind of pro-active response. If we are still talking pros and cons between Apple and Microsoft, it seems unlikely that someone from Apple would have been as supportive in this way (again, I may be just as ignorant of the support channels Apple provides).
As a developer looking to move across to the Windows platform, there are two partially-related decisions I need to make:
- Which Windows platform should I target, and given the imminent release of Windows 8, should I make a Desktop or a Metro application?
- Which framework and language should I use to develop that application?
Since numerous people have asked me for a follow up, in this post I will discuss what I have drawn from my conversation with Chris, as well as my own experiences with Windows 8 to answer the first of these questions.
I will cover specific frameworks and technology choices in a separate post.
Windows 8 as a “touch first” device
Where Apple has maintained some separation between their touch (iOS) and desktop (Mac OS) devices, Microsoft is taking the gamble that merging the two is the correct approach, and is boldly proclaiming “Apple got it wrong.”
While there are some great productivity apps on the iPad, I suspect that the majority of iPad users are playing games and consuming content. If Microsoft provides the option to have all of that in a touch friendly environment, and be able to dock a keyboard and switch into Desktop mode when required, that may be a sufficient selling point. It just depends whether consumers actually want to get more from these devices.
To be successful in this market, Microsoft are reliant on two things that may be largely out of their control:
- Third-party hardware vendors succeeding in launching the iPad killer that runs Windows 8.
- App developers adopting the Windows 8 platform in sufficient numbers to create a buzzing Windows 8 Store that can compete with Apple’s offering.
Windows 8 as a Desktop device
There is a strong risk that Windows 8 will alienate existing Desktop users. Touch doesn’t get used in a desktop environment – a mouse and keyboard are more comfortable than raising your arm to eye level all day.
Although Metro can function with a mouse, it is clearly first and foremost a touch device, and I got the feeling testing it on a standard laptop that I was missing out on a lot of its user experience.
Trying to use a laptop touch pad, in particular, where it doesn’t provide a scrolling mechanism, made the Metro interface awkward to use – it is tiring to perform the multiple actions required to scroll through the Metro interface (move mouse down to the scrollbar, drag the scrollbar left or right, then move mouse back up to interact with the content). Even with a plugged in mouse, the vertical mouse wheel has been borrowed to provide horizontal scrolling in some applications (but not all), which still violates my interface expectations after several weeks.
Windows 8 is still in beta, and perhaps with more feedback from Desktop-only users, some of these issues will be resolved, or perhaps with more exposure, everyone will adapt pretty quickly. Either way, there is a risk that businesses will not want to switch to an operating system that requires staff to be re-trained, and businesses form a large share of the Windows market.
Developing for Windows 8 Metro is a risk
There is no doubt that developing solely for Windows 8 is a risk, for all of the reasons mentioned above. Business and desktop users may shy away from an operating system that feels so unfamiliar when they see it demoed in a store. Tablet consumers may shy away if the hardware can’t match the design, build quality and ease of use of the iPad.
Developers may hang back to see what happens, and the only thing worse for Microsoft than no Windows 8 store may be an empty one.
I am coming across from the Mac platform, which traditionally has a healthy independent developer culture that encourages Mac users to third party apps more than Windows does. But this is offset by the size of the market. Even a lukewarm response to Windows 8 would still see more Windows 8 users than Mac users within the first half year.
Which is a pretty compelling argument to at least consider a Metro application as an option. The Windows 8 store is another, as it could provide an easy path to market to access those customers.
Windows 8 may turn out to be another Vista, but it will probably still be a stepping stone towards a more successful Windows 9 (many have recently made the same accusations about Mac OS Lion). If Metro survives through to Windows 9 – and it is hard to imagine a scenario where Microsoft will backpedal from the entire model – it will eventually drag the Windows 7 users with it.
Choosing between Desktop and Metro
Putting aside all of these business issues, the more important decision is whether Aeon Timeline is better suited to Desktop or Metro mode. Aeon Timeline could work in either. It is written as a desktop application for the Mac, and so creating a desktop application would be a more straightforward port, with fewer design decisions.
But it is a simple, clean, intuitive application that could be at home in a touch environment too. There is a lot to gain from having a tactile way to interact with the timeline. Using trackpad pinching and scrolling gestures on the Mac, it gets halfway there, but a genuine touch interface would take it one step further.
It would, however, have a steeper learning curve and require more work. Metro is a fundamentally different UI. It doesn’t have traditional menus and windows, and many parts of the application would need to be redesigned to match, much like they would moving from Mac to the iPad.
The development path for Aeon Timeline
Chris and I discussed specifics about Aeon Timeline and what it would mean to develop for either environment, and I have thought for several weeks to reach my current conclusions.
I am not relying on Aeon Timeline to pay my bills. Sure, I have started to make some money from it, and I am treating it like a business to devote sufficient time to further development and supporting customers, but I have another job as my primary source of income, which frees me from making decisions based solely on finance.
For me, my decision comes down to my motivation for developing a Windows version at all. There are three primary motivations:
- To make money
- To please people emailing me to ask for a Windows version
- Because I enjoy developing Aeon Timeline
I have decided to make the last of these options number one on my list.
Developing a Metro application will be a challenge. I will have to re-think and adapt the interface to work with touch devices as well as mouse/keyboard, and streamline the interface even further to fit in with Metro’s ideals. Provided the development tools are up to scratch and don’t lead to constant frustration, developing a Metro application should be fun. Right now, the majority of applications in the Windows 8 store are either games or consumption applications (twitter clients etc.) – it will be good to stretch the environment to production applications also, as I am sure many other developers are now starting to do.
If I do a good job, I will get enough money back to justify its existence, and it will provide a Windows option for customers asking for one, even if it does not please everyone right away. As a bonus, designing for Metro will also provide me with good experience and ideas if I want to make an iPad version down the track.
Importantly, if I do it right, I can revert back to building for Desktop at any time if it becomes clear that is a better way to go, or even build both versions if the timing works that way. With the right technology choices, the Metro or Desktop component is just an interface.
But I will discuss that further in a follow up post on the available technologies.
Comments are open for anyone wishing to discuss anything further. Just make sure you include less than 5 links so you don’t get thrown into the moderation queue by the spam filter.