How bad will an Oracle win affect Astoria and Windows 10?
As usual, this is speculation at best. But, we can certainly draw some conclusions rather easily.
If Oracle wins (and while I like what Astoria does, I'm actually on the side of Oracle here), it will probably kill Astoria entirely. And it will likely kill it in 2 ways. Firstly, with MS trying to drive down costs, adding a license fee from Oracle to every copy of Windows 10 would probably be a deal breaker. Then there is the fact that while such a ruling would be bad for Google in many ways, it is also gives them ammunition to stop Microsoft from leveraging the Google specific stuff Astoria is aping. Frankly, I don't see Google letting it slide. I could even see Google trying to fight Microsoft for doing to Android, exactly what Android is doing to Oracle.
As far as the impact to Windows 10 however... I think that is actually rather minimal. Sure, some developers who are either primarily Android devs or even solely Android devs who were excited by the opportunities may feel upset if Astoria dies off.
But Apps fall primarily into 3 categories; Apps which are available to both iOS and Android, those exclusive to iOS, and those exclusive to Android. The only apps with no "bridge" to Windows 10 are those in the last camp and I'd be willing to wager that the bulk of the apps that could make a difference are cross platform. Yes, there are some notable apps in the iOS exclusive camp and some in the Android exclusive camp. But, I think the union of the cross platform apps and iOS exclusives is more than enough.
I also think that the iOS bridge to Windows 10 is the more favourable one for two reasons. The first is perception. Many devs incorrectly think that the Android bridge is an emulation layer. And people seem to arbitrarily hate emulation. Secondly, I think iOS code will prove much cleaner and run faster than Android code. And the reason is simple, Android devs tend to have a lot of considerations in their code to account for hardware and OS fragmentation. The Apple ecosystem is MUCH less fragmented and, like Microsoft, Apple has proven MUCH better at hiding what fragmentation there is from the developers.
The argument to the contrary would be that in recent Android releases (namely Lollipop), it appears as though Android apps may have become generally more stable than iOS 8 apps. There is a good reason for this. iOS uses much more low level code and the developers are responsible for handling a lot more. I remember being shocked at the crash frequency in 1st party apps on my 1st gen iPad.
Java on the other hand, which may Android apps are written in, is one of the higher level programming languages out there, so a lot of that complexity, especially around managing memory, is hidden from developers. And because it is JIT compiled there are a lot of things the Runtime owner (Google) can do over time to improve the quality of the code that is actually executed. In other words a new version of the Runtime can reduce crashes virtually anywhere in the code. On iOS though, the best that can be hoped for is that crashes caused external calls (external to the application that is) can be fixed with OS or other updates. The truly native part of the compiled code however will never improve once compiled.
But, the general point is that I think developers looked at the iOS bridge more favourably to begin with and a more than significant amount of apps can be brought over to Windows in this fashion. Whether or not this actually happens is perhaps another story. I just don't think, that should Astoria be killed off before the final release, that this will be a deciding factor overall for the success of Windows 10.
If Oracle wins (and while I like what Astoria does, I'm actually on the side of Oracle here), it will probably kill Astoria entirely. And it will likely kill it in 2 ways. Firstly, with MS trying to drive down costs, adding a license fee from Oracle to every copy of Windows 10 would probably be a deal breaker. Then there is the fact that while such a ruling would be bad for Google in many ways, it is also gives them ammunition to stop Microsoft from leveraging the Google specific stuff Astoria is aping. Frankly, I don't see Google letting it slide. I could even see Google trying to fight Microsoft for doing to Android, exactly what Android is doing to Oracle.
As far as the impact to Windows 10 however... I think that is actually rather minimal. Sure, some developers who are either primarily Android devs or even solely Android devs who were excited by the opportunities may feel upset if Astoria dies off.
But Apps fall primarily into 3 categories; Apps which are available to both iOS and Android, those exclusive to iOS, and those exclusive to Android. The only apps with no "bridge" to Windows 10 are those in the last camp and I'd be willing to wager that the bulk of the apps that could make a difference are cross platform. Yes, there are some notable apps in the iOS exclusive camp and some in the Android exclusive camp. But, I think the union of the cross platform apps and iOS exclusives is more than enough.
I also think that the iOS bridge to Windows 10 is the more favourable one for two reasons. The first is perception. Many devs incorrectly think that the Android bridge is an emulation layer. And people seem to arbitrarily hate emulation. Secondly, I think iOS code will prove much cleaner and run faster than Android code. And the reason is simple, Android devs tend to have a lot of considerations in their code to account for hardware and OS fragmentation. The Apple ecosystem is MUCH less fragmented and, like Microsoft, Apple has proven MUCH better at hiding what fragmentation there is from the developers.
The argument to the contrary would be that in recent Android releases (namely Lollipop), it appears as though Android apps may have become generally more stable than iOS 8 apps. There is a good reason for this. iOS uses much more low level code and the developers are responsible for handling a lot more. I remember being shocked at the crash frequency in 1st party apps on my 1st gen iPad.
Java on the other hand, which may Android apps are written in, is one of the higher level programming languages out there, so a lot of that complexity, especially around managing memory, is hidden from developers. And because it is JIT compiled there are a lot of things the Runtime owner (Google) can do over time to improve the quality of the code that is actually executed. In other words a new version of the Runtime can reduce crashes virtually anywhere in the code. On iOS though, the best that can be hoped for is that crashes caused external calls (external to the application that is) can be fixed with OS or other updates. The truly native part of the compiled code however will never improve once compiled.
But, the general point is that I think developers looked at the iOS bridge more favourably to begin with and a more than significant amount of apps can be brought over to Windows in this fashion. Whether or not this actually happens is perhaps another story. I just don't think, that should Astoria be killed off before the final release, that this will be a deciding factor overall for the success of Windows 10.
Comments
Post a Comment