If I could get paid for each time I’ve been asked which UX technology/platform should one bet on in order to produce the next generation of software in day to day business – I’d be quite well paid!
I don’t have an answer, and what’s really sad about that is that I should have a few answers not just a single one.
Today, you’re spoiled for a choice of technologies to help you produce some user experience namely for mobility. Since the introduction of the iPhone and iPad it’s arguably put something we’ve all kind of known into the mainstream hands, which is “experience matters”. Businesses are now keen to ensure that the next piece of software they produce works like it would on an iPad or iPhone (the amount of times I’ve been given a brief that uses that as its baseline for success is almost 90%+).
Why the issue in selecting today then? Well let’s look at the brands in question.
You cannot disagree that Apple’s influence on the UX discussion has been quite loud and obvious. Almost all phones and tablet devices have pretty much copied the entire existence of their products to the point where even though they hadn’t invented some of the ideas, they now look as if they did. Having said that, Apple still is a prescribed existence in that in order to play on their hardware you have to develop & design to their standards. You also have a limited amount of agility in order to take the device and slot it into various enterprise/industry verticals (mining, finance etc).
Distributing your solutions via a closed private cloud like existence can be done with iPad/iPhones but its still a bit messy in deployment. Furthermore inside almost all large organizations your cubicles of developers don’t have “Objective-C” in their resumes.
Whilst it has become the baseline for what a device driven UI should look like in the eyes of most business and technical decision makers, it’s still got a lot of latency and turbulence around its software development life cycle (i.e. it’s fast become a specialist skill not so much as a mainstream one).
Google / Android.
Google have managed to hold strong with their device platform story, that is to say their entire development and design pipeline isn’t that bad. Having said that I’ve seen, heard and been in enough meetings to see it being instantly rejected and it has to do with versioning and security as the core reasons for rejection (right or wrong).
Furthermore Java development at its core isn’t something you see go hand in hand with design focused teams, so again you have this issue with as stated by Apple around specialist skills vs. mainstream skills mixed with some market acceptance issues.
Just read my blog for a few pages you’ll see a theme emerge. Microsoft had a few ideas around what the UX space should look like, they put some bets on the table around these ideas, they got some semi-successful acceptance worldwide on these ideas but now they’ve kind of hit reset on the said ideas, taking two steps back and pissed the developer base off in the process.
To summarize, Microsoft has a whole new round of trust issues around long-term decision making, their tooling is good enough to build large enterprise applications with and lastly they still have a healthy developer base that have mainstream skills in C# & XAML.
The downside is their entire strategy around what you should or shouldn’t do going forward is out of control and requires a focused mind to unravel.
What I would say though is that Windows 7 is likely to be around and in a healthy state over the next 3-5 years and I think the hardware market will still look into ways in how to socket Windows 7 as their native OS when possible (for business, not so much for consumers). Given Windows 8 Surface is making their own hardware it could also be a negative for Microsoft, so whilst the only real option for hardware makers is to adopt Windows 7 or other, this in turn puts a long-term question mark around whether or not Silverlight or WPF should be something you double down on?
I often praise Adobe more than I have in the past as despite how close they came to overtaking HTML as rich media technology platform, they have managed to regroup nicely around being focused on tooling.
Given the turbulence above this company may solve the problem through tooling so it could even abstract the decision making process around which is the next bet by simply saying “it doesn’t matter, just use Adobe XTool”.
It’s still a long way off before that idea is realized, but none the less Adobe Flex / Flash aren’t something one should ignore outright. It still has some legs and although its clear Adobe Flash and iOS will never meet, they do meet however on Android and potentially Microsoft Windows device(s).
Despite Silverlight’s attempt to knock Adobe Flash out of the decision process if anything Silverlight’s demise has strengthens the runtime’s position further.
That’s all argumentative, so who’d you pick?
There the above working summaries overall and it really comes back to the question of making a decision. A decision like this is important and still necessary as when you start making architectural bets for the life of your next industrial grade solution, you need to line up how you’re going to present your connectivity to its vast user base.
Walking into a meeting and saying “all of the above” won’t fly, walking in and holding the posture of “right tool, right job” mantra also may make you feel like you’re a software mountain sage it does little for productizing ideas/solutions to a customer base who have a variety of IT environment(s) that are looking to your company as a lifeline to making the said decision.
Bottom line is someone somewhere has to be the one that says let’s go with “X, because…”
If I was asked today which one I’d pick out of the lot, given I’ve worked in all the above.
My bet for enterprise would be WPF for one simple reason – Windows 7.
Microsoft spent all of last year praising how successful Windows 7 was in terms of sales, record profits and so on. What I got from all that bravado was that whilst Windows 7 was stomping on Windows XP wind pipe, it also was replacing the old problem with a new. That is it won’t be something in which gets deleted from Enterprise machines that cubicle workers and field agents use today anytime soon.
That for me has a much further and greater ubiquity story than most either realize or choose to acknowledge.
iPads are definitely something that may get some traction going further in large business but ultimately it’s such a specialized decision that I think having those devices do anything outside of a HTML app in its first generation of solutions in the enterprise is something that I’d say isn’t a worthwhile bet (it’s still in pioneering mode).
WPF and WinForms will still have a much longer usage than most will also care to agree outloud but I think once Silverlights engines get shut down more and more the retreat position for most will be back to WPF whilst they wait for the whole WinRT story to stabilize.
Adopting WPF today gives you also some healthy amount of skills to target WinRT later on, but it also gets you into a position where there is a likely chance of some additional changes / upgrades should the WinRT vision fall flat (Which I’m thinking it may very well).
That’s what I’d say out loud, as I’d say this based simply on your HR recruitment potential, tooling story and lastly ubiquity related decisions that are made in organizations where little patience is given to solutions built in HTML of the past.
My opinion has now been noted, so what would you bet on and why?