What Android's really about (hint: not the iPhone)
If you look at the handheld development market today, it looks disturbingly like the 8-bit computer market from the early 1980s:
- multiple incompatible APIs
- multiple chipsets
- multiple peripheral mechanism
- multiple UIs
What IBM did was to create a piece of hardware which everyone bought into. And built it out of generic enough parts that it could be cloned. I'm not sure who the equivalent player this time around.
More importantly, however, Microsoft made DOS the standard API set for all of those clone manufacturers. Software developers could now code for IBM machines and have it works on a thriving infrastructure for all flavours of clones.
Google is attempting to follow the same model by creating a compelling, large, consistent set of phone with a standard API. They're giving it away, in the same manner that Microsoft (inadvertently) did in the 1980's.
This is the game that is afoot. From this standpoint, the iPhone is the Amiga: beautiful, functional, better than everything else, and doomed because it doesn't have the API.
It is also important to note that while it isn't clear that Google will succeed at this, Microsoft is certain to fail. Handheld application development on Windows Mobile is a freakin' mess. And each successive generation of the product gets worse, both from a UI and an API standpoint.
This also explains Java as a development environment: it is the VisualBasic of today. The goal is not to enable the l33t haxxors using Ruby and OCaml and Erlang. It is to unleash the masses of coders that need to write a quick little application to make your barber's appt book link up to his chair scheduler.
Android = DOS
45 comments
[ 4616 ms ] story [ 2987 ms ] threadAndroid = DOS GOOG = MSFT
not IBM.
(a) In the heyday of DOS, people used all sorts of languages. Some of the first DOS programs I wrote were in Prolog.
(b) If the best hackers don't want to build stuff on your platform, you're in big trouble. Hard as it seems to imagine now, DOS was impressive in the mid 80s, and smart people wrote apps for it.
I don't think Google is deliberately courting mediocre hackers by using Java. It was probably just the expedient choice for some reason.
Not sure exactly when that was, though, day and date.
They're choosing the Java Virtual Machine, not Java itself. Java just happens to the be standard example of a language which targets the JVM. Using the JVM is a prudent choice since many tools already exist which target this platform, it's sandboxed, and it's hardware platform-independent. You already have implementations of many languages targeting the JVM including Java, Python, and Ruby.
In fact, the JVM bytecodes are then recompiled to their special VM's object format, called Dalvit. Using the JVM as the common layer allows them to fit into the existing software ecosystem without causing pain for developers and language implementors.
Parrot always seemed like an odd idea to me, but I just assumed that there must be enough to be gained by doing such a high level VM if people were bothering to write it.
I was referring to performance and ease of adapting the JVM's way of doing things internally to very different languages. This is quoting a number of parrot and jython developers. I have the links around here somewhere..
Why do you think jython et all are so terribly far behind? It's not for shortage of interest, more because the likely possible outcome of this could only be sub-par.
I think Google picked Java because J2ME has already won a big midshare among mobile developers and Google wanted to appeal to them by providing a familiar tool.
Android is platform and dev environment agnostic which is impressive given how feature rich the API is. And it should be possible to become language agnostic too, if a compiler can be created to compile code down to the native Dalvik byte code used by the Android VM.
I think Google needs to get on the ball and create compilers for other languages if they expect to attract developers who really matter - hackers.
My concern is for places like this:
http://patientkeeper.com
That have hundreds, if not thousands, of devices per installation, purchased over the course of years.
We found that limiting ourselves to a very small subset of the available devices on the market was the only way to manage. Otherwise the support staff was awash in calls from physicians running into issues with their new, whizzy phone.
I feel that is Windows Mobile's biggest problem: you end up programming to a handset.
http://www.joelonsoftware.com/items/2007/09/18.html
It looks like there are (at least) two simultaneous battles going on to establish new APIs. One for cell phone hardware. One for "web applications". Interesting that Google is heavily invested in both.
Though I don't think the "winner" won't come from Google.
"Though I don't think the "winner" will come from Google."
http://news.ycombinator.com/item?id=79328
There is and will be room for more players. Google just wants its piece of the pie...
multiple vendors, different OSs and different UIs over the years is why the Web just worked and will continue to be the biggest common platform no matter if Android or Anti-Android comes along.
http://www.allaboutsymbian.com/reviews/item/Nokia_N95_8GB.ph... See "The changes" and tell your friends to upgrade =)
No, handhelds is mature market with more than 10 years history. There is already known winner processor - ARM (of different vendors but compatible). Others (MIPS, SH3 and Motorola are gone).
Android is competitor for the Windows CE and Symbian. But WindowsCE still looks stronger. Android's one (and only one for now) strong feature - it's open license. Java - ... - hope they will replace it soon with something scriptable. Or just add something, if they want all this J2ME.
My point is that the APIs across phones are very much up for grabs.
An additional "strong feature" for Android is its price: free.
And yes, as mentioned before they are using JVM which means you aren't limited to a single language(Java).
What I really meant is that Java is where the broad market of developers is. Much like VB was where the market was, and to some extent, still is.
Most likely because they've studied Haskell, OCaml, Forth, Lisp, or actually know something about computer science. The majority of Java programmers aren't like that though.
-- I don't think there is an equivalent to IBM in the handset market.
IBM had a powerful steamroller when it came to branding, sales and cash - most people hopped on the PC Compatible standard (including DOS) because it was the "sure thing". Not because DOS was inherently more open than, say, CP/M.
Google has a similar steamroller (at least in the respect that to a lot of people, Google = Internet) but unless most people are demanding a "Google Phone" then handset makers aren't going to fall over themselves to hand over their lunch to google.
Google and the developer community will have to build something pretty incredible and build a lot of mind-share with the general public, I think.
Uh, but not because of this. Because I'm not so sure you can just take a comparison like this and make it equate. Unlike in the Era of PCs, there are already quite a few established smartphone OSes. DOS had relatively smaller competition in terms of personal computer OSes. Theres linux based OSes now, then of course the Apple, Palm OS actually is still alive somewhat, then Win Mobile. Its still a different ballgame. And remember that the open handset isn't all inclusive, there are those that havent joined.
though not many, so I do see your point. And its a good one. But of course we should know that it doesnt completely equate.
As far as great hackers having an effect on much of anything, as long as most corporations continue to ignore disparities in skill among programmers and pay them all equally, the more skilled craftpeople naturally will be driven away from the average corporation, into areas like research, stock trading, startups, or the safe umbrella of Google, where they are either compensated in money or in being not treated like kids. This is perfectly natural (indeed, I'm surprised that many skilled white collar workers in other professions are willing to work at the average corporation). But in the meantime, the skilled craftspeople have little effect on the mainstream development of computer programming, which is done by the large corporations. Thus "skilled hackers" are neither here nor there in the development of things of late, and this shouldn't be surprising.