farm cat looks in

Since last January, when Microsoft made the first details known about Windows 10 and the skipping of number “9,” it made public its intentions to enable developers of genuine Web applications — the kind that runs in everyone’s browsers — to be downloadable from the Windows 10 store and installable on the desktop alongside other genuine Windows applications.

Monday, the company took its next swing at bat toward delivering this long sought goal: enabling Web apps to access native features in Windows without using the browser as a proxy.

If it works (this time), developers will be able to write HTML5 mobile apps that run in Android and iOS, but that can also access native Windows features when they’re installed in Windows.

Hosted Web Apps, with a Capital “H”

“Project Westminster makes it simple for you to bring existing Hosted Web Apps to Windows 10,” writes Microsoft Edge Web Apps team engineer Kiril Seksenov in a blog post Monday. You’ll notice the capitalization of “Hosted Web Apps.”

Anyone familiar with Microsoft’s history in this area looks for little things like capitalized words, asterisks and small print.

The idea is to put Web sites on an equal footing with desktop applications, so that Windows users (which will include the dozens upon dozens of Windows Phone users) will access both classes from the same place.

If Project Westminster works as Seksenov describes it, any app made to work in a browser — such as TrelloZoho CRM, or while I’m at it, Dropbox — can be given a platform-neutral framework that enables it to address resources in the Windows operating system, such as the system clipboard for cut-and-paste, OLE for embedding pasted objects, Cortana voice command recognition, and possibly DirectX for plotting 3D environments.

Of course, these Web apps would be running outside of a branded browser, such as Google Chrome or Mozilla Firefox. But in a way, that’s the whole point:  Users who download and install these apps on their desktop would be rendering them with Microsoft’s new Web browser, Edge, without really knowing or caring they’re doing so.

Seksenov’s blog post explained Project Westminster from a developer’s perspective. Here’s the concept translated for the business manager:

Modern Web apps are written in JavaScript, with their manifests in XML. Both of these are cross-platform standards.

For any Web app to become installable through the Windows 10 Store, the minimum that developers would need to do is adjust the XML manifests so that they include pointers to the start page and content policies, which Windows would require.

JavaScript enables entire segments of code to be written using syntax that some browsers may not even understand, if they are preceded by a conditional clause that bypasses parsing for browsers that don’t understand them. The so-called “Windows namespace” would include syntax that foreign browsers would reject.

So for a Westminster app to take the next step and recognize Windows operating system services, the developer would add that conditional clause, specifically to check whether the Windows namespace is not “undefined.” If the test is passed, the JavaScript code that utilizes the Windows namespace can run.

With this conditional clause in place, Microsoft hopes that developers will create Web apps that continue to run anywhere, but can take advantage of Windows when they happen to be running in Windows.

Unlike the typical Windows application, Web apps can be automatically updated without forcing users to feel like indentured servants (or Flash users). Those changes take place on the server side, so users don’t have to install client-side updates. The client-side code is essentially a stub that triggers the Hosted Web App (again with the capitals) from its start page URL.

There’s a real possibility here for businesses to use common Web code to access customers’ desktops where they work, without forcing those customers to launch their browsers or, one step further removed, switch on their smartphones.

In the Shadow of Silverlight

Since the mid-1990s, Microsoft has had a goal in mind to enable Windows applications through the Web. But back then, Microsoft was mainly thinking of the Web as a delivery mechanism for Windows users. Its controversial ActiveX system let Web pages access Windows-based controls directly, even if those pages ended up unusable on other browsers or other PCs.

Next, Microsoft created Silverlight, a subset of Windows’ .NET Framework that enabled applications delivered via the Web to access parts of the desktop that acted like Windows.

While Microsoft’s goal was to release Silverlight for all non-Windows platforms, an open source group (now affiliated with Xamarin) fulfilled the goal of making Silverlight functionality run on Linux and Mac OS desktops.

But even then, these were not genuine Web apps — not the kind that are hosted on servers, the way customer-facing organizations prefer. These were client-side apps written in JavaScript or in C# (originally designed by Microsoft for platforms other than the Web), written to be delivered to clients and run from their PCs.

Already, you see the problem:  Apps designed for PCs have a hard time running in smartphones and tablets.

Project Westminster comes one step closer to finally addressing this issue. It does not force Web developers to use any Microsoft platform, although it does purposefully engineer greater convenience if they would choose to use Visual Studio.

The question now is whether organizations attribute any value to the Windows 10 Store. “Any value” would be a greater amount than they attribute to the Windows 8 Store, whose failure to launch in the public mind might have been the single most influential factor in the downfall of Windows 8.

Creative Commons Creative Commons Attribution-Share Alike 2.0 Generic License Title image by archer10 (Dennis).