Android P: Google launches first developer preview
Last week, in a column about instability issues in iOS 11, I wrote the following:
This is not to say that Android is a bad operating system. Android is an excellent operating system, and it has far more potential in vertical markets than iOS does because it can be altered.
As a business mobile platform, I think Android is absolutely top notch.
I rescind that. I was wrong. Android is not just a Toxic Hellstew, it is poisonous. In fact, Google should just name its next developer version "Poison" because that is exactly how it should now be classified.
Or if you want something classier we can use Poisson, which is French for fish. As in stinks like dead ones.
Why have I changed my mind? Because the entire question of whether or not Android's software development API is being legally used at all under copyright law is now being thrown front and center.
And for Google and Android, it does not look good. In fact, it looks really freaking bad.
Don't take my word for it. You can read the entire ruling of The US Court of Appeals for the Federal Circuit in Oracle v Google here.
Google could now very well owe Oracle billions of dollars. Some estimate nearly $9 billion but it could very well be a lot more depending on how the Android ecosystem and Google's monetization of that ecosystem is valuated.
This directly affects any company that has monetized the Android platform, which includes software developers and hardware OEMs.
Android is now officially a liability to any company that has been involved in the mobile operating system. Google cannot possibly indemnify most of them. The rats are going to jump off the sinking ship.
Also: iOS is now a toxic hellstew | Microsoft goes all in with Android apps for business | Android Oreo vs Android One vs Android Go: All their differences, explained | CNET: Why some of the flashiest Android phones aren't in the US | TechRepublic: These Android smartphone OEMs provide the fastest security updates to users
Of course, Google is going to appeal to the Supreme Court. The appeal could take years. Could the company eventually prevail over Oracle? Possibly. But who wants to gamble on that?
- Certainly not highly conservative enterprises who also are Oracle customers and maybe using third-party Android apps or have written their own for corporate use, especially in vertical.
- Certainly not anyone developing cloud-based services that use Android apps written in native APIs as front ends.
- And certainly, no developer writing Android apps using the ART and native APIs.
I've already said in the past why Java has to die on mobile devices. Now we have another very good reason beyond the purely technical. It's called self-preservation.
And no, I don't think moving to OpenJDK has really absolved Google or Android developers from anything, especially from damages that Oracle can claim they incurred prior to the framework being used in Android N.
So now what? Where do we go from here?
Well immediately, concentrating software development efforts on iOS looks really good right now. That's patently obvious.
For the large OEMs like Samsung, LG and also Amazon, we can expect those to pay Oracle substantial sums of money to indemnify themselves if they haven't done so already. So for the next several years, these smartphone giants are probably safe to continue shipping their devices from factories in Asia and importing them into the United States.
But not every smartphone manufacturer. The Chinese companies like Huawei, ZTE, Xiaomi, OnePlus (Oppo) and others who do not have a strong foothold in the United States who are being targeted by our current administration due to politically-driven motives may find themselves between a rock and a hard place.
Even if they can weather being singled out by the Trump Administration and a sympathetic Congress, they may have to abandon the US market, at least in terms of Android. It would be awful for US consumers but that is a very distinct possibility.
While South Korea is our ally and their products are not under the same scrutiny as those manufactured in China, Samsung may decide that for the long term, it isn't worth licensing Android anymore and paying Oracle exorbitant protection money.
It may decide to step up its efforts with the Linux Foundation's Tizen operating system instead, which uses web standards, not Java, for its API. Samsung currently uses it for its Gear smartwatches, its smart TVs and also inexpensive smartphones for developing markets such as India.
And Google? Well, we already know they are working on an operating system called Fuchsia.
It almost certainly is being designed to replace Android as well as its Linux underpinnings. It has a completely new microkernel known as "Zircon" as well as a totally new cross-platform software development framework called " Flutter" as well as including support for Apple's Swift programming language.
It's hard to say how many resources are being devoted to Fuchsia at the company, but with yesterday's ruling, you can be assured that they are now going to put that development effort into overdrive, especially Android code migration tools for that OS.
Not-ready-for-prime-time Fuchsia just became their mobile OS lifeboat.
But it could be a while -- as in years -- before Fuchsia is usable and Android software developers feel safe writing code for it. There are other software development models that are far better equipped to deal with their existing codebase than any tools Google has in an incubator.
The best set of tools in a developer's Android arsenal right now come from Microsoft. Yes, you heard me.
Microsoft has been spending years developing a cross-platform toolset in the form of Xamarin and .Net, which is able to produce application code for all of the major computing platforms, and that includes Android, iOS, Windows, Mac and also desktop versions of Linux.
And Microsoft has a huge stable of stuff with Visual Studio that can help a developer transform a native Android application written to ART to cross-platform deployable code.
And going forward, once that code base is migrated, it can be re-architected so that most of the logic actually lives in the cloud, not on the device. What is left in the front-end is essentially web services calls and UX rendering type stuff.
This is precisely what XAML and Web Forms was designed for, and if you use any Windows 10 native apps, you've seen how these work.
Does that mean that Windows 10 Mobile is going to rise from the ashes? No, not necessarily. But what it does mean is that Microsoft has a way of helping developers detoxify from Android and its APIs which are now in a legal quagmire.
By moving the codebase to something much more portable, they can run that code on Android, iOS, Windows 10 x86/ARM and Mac today, and on any future platform that is capable of running native code that Visual Studio can compile to.
Yes, long-term, that certainly does make Windows 10 Mobile look more attractive, especially to the Chinese companies that cannot afford to eat Oracle Java licensing and to license the Google Play components for Android.
And the last time I checked, it was free to OEMs producing devices up to 9". That pretty much covers everything that isn't a laptop or a large-format tablet.
Should Android developers start seeking safer pastures for their application code? Talk Back and Let Me Know.
Previous and Related Coverage:
The jury ruled that Google didn't owe Oracle any money for its use of Java's APIs in Android, but the US Court of Appeals for the Federal Circuit disagreed and overruled the jury. Software development as a whole and billions of dollars are now at stake
Sun's Java technology was crucial to Oracle's business, the CEO said on Day 6 of the Oracle v. Google trial.
The Internet giant convinced a jury that its use of Java APIs to build the Android OS amounted to "fair use."
"Thou shall not steal," the Oracle CEO recalled telling Google's chief lawyer regarding the internet company's use of Java APIs.
The software giant is pointing to Android revenues to argue that Google owes it billions for using Java APIs in its development of the mobile OS.