Originally, I wanted to spend my tax return on a Mac so I could partake in iPhone development. Given Apple's recent actions, I'm just going to get an Android phone, and use my current laptop loaded with Ubuntu to develop for it.
Originally, I wanted to spend my tax return on a Mac so I could partake in iPhone development. Given Apple's recent actions, I'm just going to get an Android phone, and use my current laptop loaded with Ubuntu to develop for it.
That's quite some free advertising.
I understand that the Nexus One is probably the nicest piece of hardware out there right now; but it's hard to decide to jump to it when it constantly sounds like there's going to be something even better just around the corner.
I guess my complaint is that I feel like the Android ecosystem is still too volatile to want to spend money on a phone.
Want a keyboard and like Verizon? Get a Droid. Like Verizon but don't need a keyboard? Get an HTC Incredible later this month. Like the Nexus One but want the freedom of a SIM card? Use it on T-Mobile or AT&T. Want a cheaper phone with a keyboard? Get one of the new Motorola models that are coming out for just about every carrier.
You can think of it as confusing, or you can think of it as having options. Both are probably true :)
Android is not a single, tightly-controlled product line. It's an OS. Buy whatever hardware you think you'd like to run it on.
It's just a different approach than Apple's, and one that has worked well in PCs.
(That said, personally I hate my MacBook Pro from work with the fire of a thousand suns, and have only used an iPhone for playing music on long plane trips since getting a Nexus 1.)
Assuming we are segmenting the Mac market from the PC market, it is much better to be in the PC market whether you are consumer or a producer. For manufacturers, it sucks to be in Apple's market if you are not Apple (PsyStar?). For consumers, they get a wider selection of products at lower price points, though they do not get the design cachet.
To make a belabored car analogy, would you rather be in the market for Italian supercars or that of the rest of the world? Both producers and consumers tend to choose the latter.
Most consumers would choose to be at the luxury end of almost every product. It's just not a choice for almost everyone.
As to producers, it isn't inherently better to be a luxury market or a general market -- it's highly dependent on your product, market, and competitors.
For consumers, they get a wider selection of products at lower price points, though they do not get the design cachet.
That's a kind way of saying that consumers have a very diverse pile of crap to choose from.
But other people buy fancy houses, fancy cars, fancy computers, fancy holidays, fancy clothes etc. by virtue of choosing what is important to them and spending less on everything else. You can't spend more than average on everything unless you have more than average money. On average, people don't.
Lower price points, but a Windows PC is cheaper than a Mac only if your time and frustration is worth nothing.
Actually, if you want a quality desktop (quality meaning zippy specs and at least a 27" 2500x1500 bright high quality monitor) you might find Apple cheaper.
Nobody else is really in Apple's market right now because selling high quality hardware and a great experience is impossible when you're wedded to Microsoft garbage. It's probably a worthwhile market, though, if you could get the millions necessary to start up.
Even though Apple was in trouble in the 90's, it was and is and has been since the 1970's the most profitable computer manufacturer in the world almost every year.
How much of that money is coming from iPods, iTunes, and the iPhone?
http://en.wikipedia.org/wiki/Usage_share_of_operating_system...
90-10 in favour of windows.
(Personally I rather like the fact Android affords some choice in prices, features, and form factors, rather than locking you into /the/ one.)
Right now the overwhelming majority of Android phones have 320x480 (iPhoney) resolution or 480x800 or 480x854 (Droid). That's just two densities and really only two sets of art assets to program for. iPhone will soon have two densities and iPad, which is really neither better nor worse. iPhone apps are easily targeted at a particular resolution with interface Builder while Android apps have a cumbersome and ugly system of trying to achieve resolution independent layout that most developers don't understand or use correctly. There's no saying what will happen to Interface Builder when it faces the challenges Android set itself with varied device standards.
But for now iPhone has a significant advantage in ease of development here.
On the plus side for Android now is that higher density resolution makes websites a pleasure unimaginable in my iPhone. On the minus side, I keep getting user requests to support their trackballs and other exotic hardware.
It just feels like a very fractured ecosystem. I hate developing for a platform that makes it feel like there are a lot of unknowns - how many test phones should I need to keep around if developing on Android? I know that it should be only 1, but is that really the case? How long will that remain the case for?
Maybe wishing for "the" canonical Android phone is the wrong approach; but it would be nice if Google came out with some hardware guidelines that said "You can at least expect to have these things be true on every Android device."
I agree, both as a user and as a programmer, that the mess with Android 1.6 sticking around for essentially political reasons needs to improve fast. Minimal specs are nice, although they will necessarily change as the time progresses, and you will have to make a cut-off yourself. Support only Android phones released in the past two years (as an example, obviously not a useful guideline right now) and you will know what your lowest common denominator is.
On the other hand, even Apple's halcyon days of single-device uniformity are coming to an end. You now have two resolutions in iPhone OS to deal with, and if rumours are true, you'll have a third one in June (though that one's less of an issue since doubling should work acceptably). OSes 3.2 and 4.0 force you to consider both hardware and software keyboards. The iPhone 3G has less RAM available to an app than the 3GS and the iPad. CPU speeds are different on every release and I believe graphics performance differs too. New hardware features have been introduced that you have to check for. Between June and November-ish, you'll have to support 3.2 for iPad and 4.0 for iPhone (and 3.0 for older iPhones, if you even want to).
Basically your choice comes down to a hardware keyboard (Motorola Droid) or better specs (Nexus + variants).
Welcome to the computer industry. That there's something better just around the corner hasn't stopped people who have wanted Apple products for the past 20 years from buying them, to the point where Apple even ends up giving late adopters refunds if they buy something that Apple drops the price on within some limited amount of time after they purchase it.
I didn't plan to learn Java, but will do so to develop for Android and I feel it's the most interesting platform and has the most long-term viability.
If you're going to be moving away from Apple's monolingual nightmare you might as well take advantage of it. =)
Any link to get started running Duby on Android? Would be helpful to many hungry wannabe-android guys.
I thought I'll take a light year to learn Android dev. But Duby seems to bring some hope.
Adapting the build process to Duby was surprisingly easy. You redeclare the compile task to call the Duby compiler instead of javac, tell it to output its bytecode in the right directory, and the rest of it just falls into place.
link: http://github.com/technomancy/Garrett/blob/master/build.xml#...
I'm just so confused! (Or not. Best tool for the job. I'd rather not rely on just one ecosystem all the time.)
You can probably just apt-get everything you need to get started with android dev, no?
Overall, my experience with the Android toolchain on Ubuntu (as well as OS X) has been a positive one.