|Microsoft And Universal Apps|
|Written by Mike James|
|Wednesday, 04 March 2015|
Microsoft has chosen to talk about universal apps at this year's Mobile World Congress, but real hard facts are still thin on the ground. What has emerged has that sort of PR speak that indicates that perhaps Microsoft isn't really sure what it is all about.
As Microsoft massages the position it finds itself in, you can't really help but think that it shouldn't have dug the hole in the first place.
As we have said many times before (for example, see Microsoft's Extinction Event, How Microsoft Could Have Done Metro, The War At Microsoft - Managed v Unmanaged, Dumping .NET - Microsoft's Madness and Windows and .NET - the coming storm) unifying Windows was a goal that Microsoft had more or less achieved just at the point when a megalomaniac manager decided to split the system in a way that seems unbelievable.
Microsoft is now not only having to work hard to put it back together, but has to pretend that this was the intention all along.
A great deal of the "information" being presented is just PR hype and expressions of hopes that we all agree with. For example Kevin Gallo's blog post has the three points:
Well you can't argue with any of them, assuming you can decode them that is. Microsoft is also making much of the fact that unification is good - as if anyone could ever have believed for a split second that it wasn't. With a standard system you can write one program that will run on everything. Well who would have guessed it!?:
As we built the universal app platform, we set out to ensure that all Windows developers would equally benefit from this one core. The platform enables a new class of Windows universal apps – apps that are truly written once, with one set of business logic and one UI. Apps that are delivered to one Store within one package. Apps that are able to reach every Windows 10 device the developer wants to reach.
Surely you have to take account of all the different form factors?
At the moment universal apps have to have different UI code to work on different devices and hence share only some of the non-UI code. The solution to this problem is to invent something like responsive design and this is what Microsoft seem to be doing. The key PR phrase seems to be Adaptive UX and this seems to have two parts. An improved ViewStateManager and a set of controls that change according to their host. The example given is:
on a laptop with a touch-screen, an app fly-out control will provide larger touch-targets if tapped with touch, as opposed to clicked with a mouse
This seems like a good and fairly obvious idea but it remains to be seen if it can be done effectively.
After this we descend into wishful thinking. Windows 10 will have natural user inputs - speech, gestures, user gaze and so on. It probably will, but these aren't core to the problem of managing the basic UI. Along the same lines are plans to get you to use more online services provided by Azure including Cortana, OneDrive and so on.
All of these features are icing on the cake when the real matter at issue is the cake.
The final new idea is the Web app. Now at this point you might fall about laughing and say that there is no way that Web apps can possibly be a new idea. True, but Microsoft doesn't mean quite what you mean.
The idea is that you can use a tool to package a website as an app. The app can then be published to the Store and users can install your app as a way to get you your website. The interesting piece of information is:
So where does this place us?
The most important thing to say is that the new Universal API as we seem to be calling it is going to be a super-set of the WinRT API. Although it is clearly understood it is worth emphasising that Universal apps are not Win32 apps - we are still working with a whole new API and one that is underdeveloped compared with Win32 or the complete .NET class library.
The split between WinRT and Win32 is clearly not something that Microsoft wants to put right as part of the universal approach.
This is just about tolerable for now because in Windows 10 WinRT/Universal API apps can run in Windows on the desktop so as long as the API supports all of the things you want to do there is no real disadvantage in using the new approach.
Except of course if the Win32 API had been extended rather than split we wouldn't be in this position.
I draw your attention again to point three:
3. Maximizing developer investments
If your investment was in Win32 or the .NET class library there doesn't seem to be a lot of maximizing going on.
I don't think that Microsoft is doing too badly considering the position it finds itself in, but I do think it is impossible to try to make this look as if it is not only logical but desirable.
It seems that we will have to wait until Build in April to find out if there is anything much behind the smoke and mirror act that we are being treated to at the moment. It is not long to wait to actually see a Unicorn, sorry Universal App, and more importantly the API.
To be informed about new articles on I Programmer, install the I Programmer Toolbar, subscribe to the RSS feed, follow us on, Twitter, Facebook, Google+ or Linkedin, or sign up for our weekly newsletter.
or email your comment to: firstname.lastname@example.org
|Last Updated ( Wednesday, 04 March 2015 )|