At its Build developer conference last year, Microsoft announced four “bridges” designed to help developers bring applications into the Windows Store. Three of these are still around: “Westminster” for porting Web apps, “Centennial” for Win32 apps, and “Islandwood” for iOS apps. But the company confirmed on Thursday that the fourth bridge, “Astoria,” intended to help bring Android apps to Windows, is no longer in development.
Early builds of Windows 10 Mobile included a version of Astoria that largely succeeded in enabling Android apps to be run on Windows phones. But last November, the Android layer was quietly removed, with Microsoft saying that it was “not ready yet.”
Thursday’s announcement suggests that it’s never going to be ready. The company writes, rather peculiarly, that choosing between Astoria and Islandwood “could be confusing” and that having two systems for porting non-Windows applications was “unnecessary.” Accordingly, Islandwood is the only bridge, and Astoria is being abandoned.
The company is instead positioning the newly purchased Xamarin as the best solution for Android developers. The Xamarin value proposition is different, however. Astoria enabled Android apps written in Java to run on Windows, sometimes with no modifications at all. Xamarin allows developers to share a large proportion of their code between Android, iOS, Windows, and beyond, but it requires that all that code must use .NET, and typically C#.
As for the other bridges, the Web bridge has been shipping since Windows 10 was publicly released in July 2015. The Centennial bridge for existing desktop applications is being tested by a small set of developers, with broader expansion planned “soon.” Islandwood, for iOS, was released as open source in August (including some contributions from this author), and development has continued since then.
On the one hand, this move will only help ensure Windows 10 Mobile’s continued minority position. There was a widespread belief that Astoria would go a large way toward filling the “app gap” that the platform suffers from.
On the other hand, it avoids some of the difficult issues that Astoria raised. To use Islandwood, app developers must make an active effort to port their application to Windows. Islandwood makes this process easier than rewriting from scratch, but it did not simply enable an iOS application to be run on Windows unmodified. This in turn means that Islandwood apps are much more likely to be “good citizens” of the platform that integrates with its various unique features.
Astoria, on the other hand, allowed apps to run essentially unmodified, with little or no developer involvement required. While Astoria apps technically could integrate with Windows 10 platform features, this meant that they were much less likely to actually do so. Astoria also raised some complex legal issues; as part of the Astoria bridge, Microsoft would build its own workalikes for certain Google APIs that aren’t part of the open source Android project. This setup could potentially land Microsoft in the same legal hot water that Google is currently in.
More perplexing, given this outcome, is the scale of the investment Microsoft has reportedly made in the two bridges. Astoria was reported to be a 60-80 person project, compared to around five for Islandwood. Astoria delivered Windows kernel modules that supported Linux kernel APIs, which were apparently able to natively run many Linux programs. Getting rid of the project completely would be a shame—apart from the Android angle, the ability to treat Windows as a Linux-compatible operating system would be attractive for cross-platform development and for giving Windows users access to handy open source tools they often lack.
It’s possible, however, that Microsoft may yet salvage some of the Astoria work. The latest Windows 10 builds—for the desktop, this time, not Mobile—include newer versions of the Astoria kernel modules. Tucked away inside the Windows 10 Insider Preview is a Linux-like operating system. The big question is what Microsoft is actually going to do with it.