Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
What Android's really about (hint: not the iPhone)
40 points by sanj on Nov 13, 2007 | hide | past | favorite | 45 comments
I realized this morning what Google's Android initiative reminded me of. Not the iPhone, DOS.

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



I find the elitism here too funny. Most people seem to think that using Ruby or LISP makes them superior to thosepoor Java programmers while in the end all they are creating is a web-app like twitter (and of course think they are changing the world with this!). There are many Java programmers that are better than you.

And yes, as mentioned before they are using JVM which means you aren't limited to a single language(Java).


"There are many Java programmers that are better than you."

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.


Presumably thats the law of averages at work. Anything popular will have that effect.


I appear to have sparked that with my snarky comment about l33t haxxors.

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.


Actually, they aren't using the JVM, but the Dalvik VM.


Can we agree to call it Dalek? So much cooler, yet so much more trademarked (unless trademarks expire??)


You are right, of course. My mistake.


Yeah, seemed this way to me too. Except I don't agree about VB:

(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.


"I don't think Google is deliberately courting mediocre hackers by using Java. It was probably just the expedient choice for some reason."

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.


The jvm is just bad at accommodating dynamic languages though, unfortunately. Similar was the fate of parrot. At the moment this idea is more of an academic dream.


Why's that? Sure, you have to ship some more support code (parts of the language runtime) as part of the compiled bytecode, but that just increases the size of the bytecode somewhat. It's not a fatal problem at all.

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.


No, it's not about size. Of course not.

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.


Google is employing a small army of Java developers -- are they mediocre? :)

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.


Well, there's certainly a large installed base of JVMs on mobile devices. I've only done a bit of J2ME programming for cell phones, but my experience was that the platform felt much more constraining than the language. Java, shmava... It may feel clunky, but it's good enough - for now - in the mobile space.


They're using Java because of its sandbox, IMO, and because it's a widely used language.


When would you say the best hackers stopped building stuff on Microsoft platforms?


When they all started writing for the web.

Not sure exactly when that was, though, day and date.


I think the best hackers are still writing systems software and algorithmic software. Web development doesn't really appeal to them from what I can see. This at least applies to the awesome hackers I personally know.


Right, but aren't they doing it for Linux or Mac?


Visual Basic was great. Maybe barely usable as a language alone, but great because it allowed you to do lots GUI-wise with little code.

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.


I hate to say it, but handheld application development on Windows Mobile (using VS2005) is actually quite good (comparatively speaking). Deploying and testing to a Windows Mobile handset is seamless and tightly integrated. But thats what you get when you have propriety development environment and mobile platform designed specifically to talk together.

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.


The issue isn't one developer working with a single device.

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.


interesting, as a user, I could swear that the Windows Mobile people hate my guts. Never been a developer of it though.


Point taken, google stock is down more than 60 bucks from the peak...time to buy!

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.


If my memory serves correct, back when DOS was around it was a Zoo of many Oses, basically each hardware platform had some variant and very incompatible OS. So I think that part of the analogy holds.


Hmm, so where does Joel's NewSDK fit into this analogy?

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.


Actually, I think Google is minimally invested in both. Just enough to be present, but not nearly enough to change the playing field.


Who's to say that the two can't be the same?

Though I don't think the "winner" won't come from Google.


Whoaaaa, double negative, my bad. What I meant to say was

"Though I don't think the "winner" will come from Google."


"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."

-- 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.


There's no fundamental reason why the iPhone couldn't have Android as well, or at least some level of compatibility. Also, if Android = DOS, I note that DOS did not end up a big win for IBM, who made the hardware. In fact, DOS was one of the standards that helped to turn hardware into a commodity.


I should have been more clear:

Android = DOS GOOG = MSFT

not IBM.


The different thing is that much of this Google platform is open source, whereas DOS very much wasn't.


The API is the thing to own.


Wait wait wait... who actually did think this was in response to iPhone?


> it looks disturbingly like the 8-bit computer market from the early 1980s

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.


Yes, at the chip level, the ARM has won.

My point is that the APIs across phones are very much up for grabs.

An additional "strong feature" for Android is its price: free.


Android is built on Google's own Java

http://news.ycombinator.com/item?id=79328


what's in it for Google? MSFT _sold_ DOS and became rich, GOOG is giving Android away.


mobile phone companies release new phones every 3 months to a bigger audience. The numbers are totally different than the DOS era when you bought a PC and expected to spend 3 years with it...

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.


All makes sense except for grouping Ruby with OCaml and Erlang - its not in the same league of hackers at all anymore.


Where's Symbian in all this?


Currently adopted as the OS of choice for 73% of smartphones.


Precisely the reason I haven't bothered to own smartphone until now. I am content to let my friends cuss at their flaky unresponsive operating system and browsers that can't render anything accurately.


My Nokia N95-8gb would beg to differ. It's not Symbian's fault that Nokia took two years to finally give their smartphones enough memory.

http://www.allaboutsymbian.com/reviews/item/Nokia_N95_8GB.ph... See "The changes" and tell your friends to upgrade =)




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: