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 EventHow Microsoft Could Have Done Metro, The War At Microsoft - Managed v Unmanaged Dumping .NET - Microsoft's Madness and Windows and .NET - the coming stormunifying 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:

    1. Driving scale through reach across device type
    2. Delivering unique experiences
    3. Maximizing developer investments

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.

But wait!

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. 

 

univeralapp

 

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:

"Once installed, your website can update and call Universal APIs from JavaScript, creating a more engaging user experience."

You can see the power in that. You will be able to write JavaScript that sits in your HTML pages that when loaded as a Windows 10 Web app can make calls to the APIs. Clearly there is going to have to be some sort of security in place, otherwise the potential is too much. 

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. 

 

univeralapp2

Banner


Data Wrangler Gets Copilot Integration
11/11/2024

Microsoft has announced that Copilot is being integrated into Data Wrangler. The move will give data scientists the ability to use natural language to clean and transform data, and to get help with fi [ ... ]



Apollo Adds REST APIs For GraphQL
29/10/2024

Apollo has added a simpler way to integrate REST APIs into a federated GraphQL environment. Available now in public preview, can be used to map REST API endpoints to their GraphQL schema using a decla [ ... ]


More News

 

espbook

 

Comments




or email your comment to: comments@i-programmer.info

Last Updated ( Wednesday, 04 March 2015 )