Best Platform For Hobbyist Mobile Development?
An anonymous reader notes a blog entry, possibly his own, comparing and evaluating 8 mobile platforms from the point of view of their suitability for a hobbyist programmer. Covered are iPhone, Java ME, Windows Mobile, Linux, Palm, Brew, Symbian, and Blackberry. The writer seems open-minded and is a strong fan of free software, but he gives the edge to Windows Mobile for this class of developer.
This piece reads more like a stream-of-consciousness than a carefully prepared technical article - maybe it's not meant to be considered as such. The author doesn't event attempt to justify a number of his assertions - in fact most of them seem to be based on some kind of vague "feeling" rather than concrete data or research.
Not only is it not well written, many of the platforms are there just for show, as he knows nothing about them.
Examples:
iPhone
It's not clear he's developed for it. He spends his time whining about the closed SDK, which is valid enough, but could have simply said "Apple doesn't welcome outside developers currently". And left it off.
Blackberry
I can just quote him
"Next comes the blackberry, I have no idea about this as a programming platform so cannot say much about the SDK support."
Brew
And here:
Brew as a platform is great but its not a platform for a hobbyist programmer. The tools are "supposed to be good. I have never directly worked on a brew project so cannot say much about it."
Linux
(goes off boring us about his dislike of GPL (fine, but out of place). And then finally gets to the matter
(His JavaME and Windows Mobile coverage is decentish)
This article contains less information than you'd get from 5 minutes of google searches on the names of the various technologies. Why reward such haphazardly written articles with frontpage coverage and ad impressions?
The author's few actual opinions about technologies are equally worthless; his rambling about Palm and J2ME makes it clear that he's never actually used the technology for more than a few minutes, and the ranting about Linux's license and the hassle of 'signing' applications makes you wonder if he's ever written any software at all. Someone who considers the Java Mobile API 'beyond him' probably shouldn't be writing articles about programming.
using namespace slashdot;
troll::post();
I dunno. I have some peers who won't touch FOSS with a ten foot pole, but at the same time feel very insulted having to PAY for their proprietary software. There do exist people who like their software free as in beer, but no free as in speech. Odd, I know.
It starts from what J2ME is. Or rather what it is not.
First and foremost, it is not a product -- at least of the the company that controls it. You can't buy J2ME and plop it on your phone; it has to be put there by the manufacturer, who in turn sells them through the wireless carriers, who don't give a shit about anything unless it can be turned into a monthly service fee.
Secondly -- and this accounts for the alphabet soup issue -- J2ME isn't really a platform. It's more like a family of specifications, or at least it is "marketed" (?) that way. Sun's direct audience for J2ME isn't users, it isn't developers, nor is it enterprises. It is device manufacturers. Since devices come in all shapes and sizes and capabilities, J2ME is balkanized so that there is a J2ME specification that work on just about anything more powerful than a PIC. Furthermore any J2ME implementation is going to extend the standard both with non-standard capabilities and with a non-standardizable selections of optional features. Which means that if you aren't careful you end up with a program that doesn't run on all.
If you step back and squint, J2ME is handled exactly the opposite way that Java is handled. There are no standardized implementations you can deploy on, not even on PDAs, which would bring a lot of ideas and talent in from the developer community. This diametrically opposite effect explains why Java, which is so important in the enterprise, is a toy platform in the mobile world. You either develop for a specific device, or you develop trivial games that don't cause a lot of grief when they don't work cross platform.
It's not entirely Sun's fault, at least on the mobile end. Our de-regulated telecom model means that the wireless companies are gatekeepers between developers and consumers. However, the failure to extend Java to the PDA was a lost opportunity to gain momentum before PDAs lost ground to smart phones, and smart phones lose ground to closed devices like the iPhone.
Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
...JSP, JCA, JCE, JAI...
It's crazy isn't it. What's most infuriating is it means when you go for a Java job half the time you'd get turned down because you haven't got the latest three letter abbreviation in your CV (resume) even though you're perfectly capable of churning out Java code and you'd be familiar with whichever two APIs they use most pretty quickly.