Slashdot Mirror


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.

143 comments

  1. Badly written by strags · · Score: 4, Insightful

    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.

    1. Re:Badly written by Anonymous Coward · · Score: 0

      I like this one:

      Next comes the blackberry, I have no idea about this as a programming platform so cannot say much about the SDK support.

    2. Re:Badly written by deftcoder · · Score: 1

      He's apparently never heard of the comma. The article is frustrating to read.

      --
      Peace sells, but who's buying?
    3. Re:Badly written by Iftekhar25 · · Score: 5, Informative
      This article is fluff. The section on the iPhone is common knowledge. He's never touched the Blackberry, never worked on Brew, he's waiting for Palm to do something, there's no indication he's developed anything on Symbian, and he "doesn't see any way" to develop for Linux because of lack of tools.


      Nothing to see here.

    4. Re:Badly written by djradon · · Score: 3, Insightful

      Unfortunately for the world of would-be hobbyist programmers, there really is only one reasonable development platform, and it is Windows Mobile. His points might be poorly-referenced, but I think he's pretty right-on about everything.

    5. Re:Badly written by S3D · · Score: 4, Insightful

      Well, I did develop for Symbian and he is mostly correct. Certification and signing is nightmare. Even if developer is not using any capabilities and can self-sign application it still present some problems, due to poor documentation - some not quite necessary API call included by mistake can prevent application from installation. If any non-trivial capabilities are used freeware development (outside of promotional demo for big companies) becoming practically impossible. Signing freeware application can take months. Or freeware application could be ignored by test house without any explanations at all. There will be some changes soon. Free developer certificates to be abolished soon. Only TC Center certificates (cost 200 euro per year) will be accepted, valid only for like 100 phones, and process of getting them is not fast anyway.

    6. Re:Badly written by edittard · · Score: 0, Offtopic

      For some reason I read "comma" as "coma", which led me to the thought that kdawson might as well be in one for all the use he is.

      --
      At the bottom of the /. main page it says 'Yesterday's News'. Well they got that right.
    7. Re:Badly written by ricegf · · Score: 2, Interesting

      Microsoft certainly knows how to support their programmers, but could you address why you believe Maemo is a non-starter for hobbyists? I've programmed it as a hobby since 1.0, and it's always been fun and very forgiving to me. And with Ubuntu lining up behind Nokia, long-term viability appears to be a non-issue. And the Python support is top shelf, too. ;-)

    8. Re:Badly written by Lumpy · · Score: 4, Insightful

      From my experience you are 100% correct.

      I have tried all the platforms. Palm based treos are decent if you use CASL to write for them. it's fast enough for management to be happy and powerful enough for the typical programmer. but it sometimes causes problems and connectivity out the cellular connection can be a PITA.

      windows smartphone 5 after getting past the C# strangeness is actually quite nice to write for. and releasing for a new phone is as easy as a compile. the current software I write for the company on the phones we are about to roll out (deploying the samsung blackjack to all field employees and throwing away the blackberries.) allows full job tracking and other task management easily. all phone report back to a central server management has a complete up to minute picture as to where all projects are at and the employees love the fact that they do not have to do any paperwork anymore.

      I suggested the Linux phone offering on openMoko but it's hardware and software is still early beta and not ready for company wide use. right now the dirt cheap WM5 smartphones are the best solution for rapid deployment of mobile applications for a company.

      and I hate to say it but Microsoft seemed to got this one right. which does suprise me. they dropped the ball on all the other ones. AutoPC and the others (windows CE) sucked HARD.

      --
      Do not look at laser with remaining good eye.
    9. Re:Badly written by aminorex · · Score: 1

      Indeed when the author has comments about any given platform, they usually amount to "[FUD] but then I've never tried it, so I don't really know". It's a pretty pathetic excuse for a slashdot article. I think class-action lawsuits were designed to punish stuff like this. How about we sue Slashdot for wasting the time of 2 million readers, and we all get a nickel?

      --
      -I like my women like I like my tea: green-
    10. Re:Badly written by aminorex · · Score: 1

      "Poorly referenced"? They are completely made up, whole cloth! To say there are no tools to develop for Linux is about as believable as a a really unbelievable thing, and the incoherent ramble about how there are *too* many tools for Java is a self-refuting parody. Seriously, I think this guy is an underpaid third-world astroturfer.

      --
      -I like my women like I like my tea: green-
    11. Re:Badly written by WED+Fan · · Score: 4, Funny

      He's apparently never heard of the comma. The article is frustrating to read.
      its a if everyone who ever instant messaged were students of ee cummings with a bad lsd and grammer trip thrown and we are all reading 2 page long sentences written by faulkner because our english teachers said he was one of the worlds greatest writers when all we wanted to do was pass with some semblance of knowing what the class was about so we could get on with our technical careers and forget that we were subjected to the torture of keats and poe while would have rather been reading the articles in playboy right like that is what the magazine is for cause dude i go to the web and read news papers and never look at pr0n because my boss would kill me as i try to hammer out code for his new gizmo gadget toy of a phone that can do everything but place a decent call on a decent cell service even though the prices are so freaking high you would think that there quality would be fantastic and right now im thinking that someone is looking for a hidden message in all this but there is no message i didnt bury paul and im am not a knight in satans service but i do own a jack russel terrier and that is one wired dog and is only out done by my border collie thank god weve got a miniature schnauzer now that is a dog that is even tempered and is happy just sitting in the room looking at me staring at me penetrating my brain with those ineffable eyes leaving me wonder what he is thinking what is that dog looking at damn the cat just knocked down my wifes roses and is now eating their leaves
      --
      Politics is the art of looking for trouble, finding it everywhere, diagnosing it incorrectly and applying the wrong fix.
    12. Re:Badly written by enjo13 · · Score: 1

      On the flip side they are going to be doing 'express signing' soon which significantly reduces the cost of signing. You still need a publisher ID (if I understand it correctly), but the cost of each signing event will be more like EUR 20 instead of EUR 185 (through the cheapest testing house) as it is now.

      --
      Turn s60 photos into awesome videos with mScrapbook for all S60 3rd edition phones!
    13. Re:Badly written by thePowerOfGrayskull · · Score: 1

      This is what happens when a blog entry is accepted as "news for nerds".

    14. Re:Badly written by Anonymous Coward · · Score: 0

      Hey kdawson, I know that was you, you nonce.

    15. Re:Badly written by asdfghjklqwertyuiop · · Score: 1

      So can Nokia phones run unsigned apps at all if the user changes preferences / ignores warnings / etc? Or is it impossible to run anything not signed by nokia on one of those phones?

    16. Re:Badly written by jplauril · · Score: 1

      It's not possible to run _unsigned_ apps, but it is possible to run self-signed apps, if you enable this in the settings. Self-signing means signing with an untrusted key and certificate you can generate by yourself using the tools in the SDK.

      Self-signed apps can access just a subset of capabilities, though.

    17. Re:Badly written by edxwelch · · Score: 1

      Except that you have to buy an expensive smart phone, or PDA to use it. If you do J2ME development the program you write will work on most phones. Also, you your skills are more marketable. Windows mobile devices only cover a tiny fraction of the market.

    18. Re:Badly written by Igmuth · · Score: 1

      Actually, after reading the first few lines of the article, I think he's overpaid.

  2. Strong fan of free software??? by DrJimbo · · Score: 4, Funny
    From the summary:

    The writer seems open-minded and is a strong fan of free software, ..
    From TFA:

    I've always had a love hate relationship with Linux. I love it 'cause its a great platform for learning but I hate the licensing.

    Coming next to Slashdot: up is down and black is white.

    --
    We don't see the world as it is, we see it as we are.
    -- Anais Nin
    1. Re:Strong fan of free software??? by Bill,+Shooter+of+Bul · · Score: 3, Funny

      Yeah, if you read the rest of the sentence, he goes on to say he prefers BSD. But, on the whole, its pretty lame. I think he spent close to an hour with google, before writing it.

      --
      Well.. maybe. Or Maybe not. But Definitely not sort of.
    2. Re:Strong fan of free software??? by p0tat03 · · Score: 1

      Maybe he prefers free-as-in-beer software? :P

    3. Re:Strong fan of free software??? by DrJimbo · · Score: 1

      But if he likes free-as-in-beer software, what is wrong with Linux as a platform? You're not forced to use the GPL. But if you develop proprietary software for Linux, you might find it hard to sell.

      --
      We don't see the world as it is, we see it as we are.
      -- Anais Nin
    4. Re:Strong fan of free software??? by p0tat03 · · Score: 4, Insightful

      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.

    5. Re:Strong fan of free software??? by iknowcss · · Score: 1

      Coming next to Slashdot: up is down and black is white.
      And this would be different ... how?
      --
      Life is rarely fair. Cherish the moments when there is a right answer.
    6. Re:Strong fan of free software??? by DrJimbo · · Score: 1

      That's as good a guess as any. My guess would have been "clueless Microsoft shill wannabe" but maybe a simple "clueless" would suffice.

      --
      We don't see the world as it is, we see it as we are.
      -- Anais Nin
    7. Re:Strong fan of free software??? by biocute · · Score: 1

      Coming next to Slashdot: up is down and black is white.

      It's already here: Our uptime. Your downtime.

    8. Re:Strong fan of free software??? by rucs_hack · · Score: 1

      I disagree. It isn't hard to sell software on linux provided what you sell is strongly linked to a service. if an MMORG appeared for linux with proprietary elements (It couldn't be entirely so, you'd have to link to some foss stuff unless you wanted to re-invert the 97 horsepower omnibus), and subscriptions for server access, people would pay.

      If it were just software people had to buy, with no online element, thepiratebay would provide an adequate delivery service that would force the company out of business.

    9. Re:Strong fan of free software??? by somersault · · Score: 1

      In Soviet Russia, our downtime is RIAA uptime!

      --
      which is totally what she said
  3. Mostly useless by Anonymous Coward · · Score: 5, Insightful

    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)

    1. Re:Mostly useless by neersign · · Score: 4, Funny

      Blackberry

      Next comes the blackberry, I have no idea about this as a programming platform so cannot say much about the SDK support.

      oblig. Billy Madison quote: We are all dumber for having listened to you. I award you no points, and may God have mercy on your soul.
    2. Re:Mostly useless by DickBreath · · Score: 1

      I have developed for Java ME. You can use Eclipse. Everything else (a WTK, Proguard, etc) are free.

      Documentation and examples are plentiful.

      Supposedly, there are over four billion devices that can run Java ME. (Aside: the fact that Apple rejected Java ME for the iPhone is a testament to how closed they wish to keep it.)

      I have written several games for my $20 el-cheapo phone. I had two choices for loading the application. 1. Get Internet service on the phone (which I already have) and put my JAR and JAD file on a web server (configured to know the right MIME types for both JAR and JAD!). 2. Use a $20 Bluetooth dongle to send the JAR file to the phone.

      There is nothing like the fun of seeing your application come to life on your phone, your friends' phones, etc. Because it is Java ME, I dont even ask what kind of phone my friends have. I just know that whatever it is (except iPhone) it will run Java ME.

      --

      I'll see your senator, and I'll raise you two judges.
  4. Issues by Anonymous Coward · · Score: 3, Interesting

    Overall, I had my hopes up when I saw this title -- I was hoping to get a better review of many platforms...and we do, so long as those platforms are one's the author used.

    Right off the bat, two very large platforms, he says 'I've never done anything with this one.' So he counts it out -- why even put it in the article?! My minimal experience with Blackberry development seemed pleasant enough -- it was easy to compile the software and get it on the phone, and it was easy enough to execute it. Granted, it was a loaner blackberry so I only got it for a few days, which in my case, was enough time to tinker with example code.

    As for Brew, which the author also states he has no experience with, but goes on to talk about the horrendous signing requirements...which I guess is better than the one-sentence approach to Blackberry.

    As for Symbian, wtf is he talking about? I had a good friend that was porting some small-time development house's flagship phone cardgame suite from, believe it or not, XBox to a Symbian smart phone. I don't recall what version of the OS it was, but it certainly didn't seem like it was a pain to sign anything. He showed me the entire process - save code in IDE, compile code, open phone in My Computer > Bluetooth Devices section, drag-n-drop the compiled package, go on phone, run program.

    He did however complain about how picky Symbian was about memory management, and that it was extremely annoying in that it would tell you about every byte you didn't clean up perfectly when your application closed. I suppose thats a good thing and a bad thing. Maybe they had some weird dev phone that didn't need signing, I don't know -- they were big enough to have a developer XBox 360 several months before it was officially released.

    For some reason, I have a feeling this guy was just running out of material and got bored.

    1. Re:Issues by Anonymous Coward · · Score: 3, Informative

      Starting from Symbian version 9 you have had to go through with symbian signed testing if you wanted to install your application anywhere else than in your own mobile phone. This is also required if you happen to need some of the more sensitive capabilities of the platform. It takes time and costs money and is generally pain in the ass compared to pre 9 platform versions.

    2. Re:Issues by Yer+Mum · · Score: 1

      You can ask for a free certificate for your own phone (based on the IMEI) from symbiansigned.com and use the SignSis program to sign any application you want. So if you're developing freeware or shareware you make the unsigned application available for download also give instructions on how to generate a certificate and sign it.

      Signed applications came about in the latest version of Symbian because of hysteria about viruses being passed about through MMS and bluetooth (even though you had to reply 'yes' to three warnings that the installer app gave you and leave bluetooth on and discoverable). Naturally hysteria won over common sense (reading the warning and deciding if you really want to install something that's appeared in the inbox without you asking for it).

    3. Re:Issues by jplauril · · Score: 1

      Not quite true. If you don't need more than the basic user-grantable capabilities, you can self-sign your application, distribute it and just tell the users to ignore the warnings they see on install.

      If you need more capabilities and you want anyone to be able to install your software, _then_ you need to go through the testing process.

    4. Re:Issues by Anonymous Coward · · Score: 0

      To be fair about this though you should have pointed out that MMS viruses were/are adopting a social engineering trick of sending copies of themselves to people in the infected phone's address book, encouraging the recipient to think 'well Bill sent me this, it must be safe'.

  5. J2ME by m2943 · · Score: 1

    I just don't get why J2ME development has to be so complicated: weird acronyms, half a dozen versions, different packages which may or may not be supported on any particular device, applications that sometimes run and sometimes don't, installers that sometimes work and sometimes don't, etc.

    Sun is snatching defeat from the jaws of victory; give it another few years and they'll have thoroughly destroyed the mobile Java market as well, just like they did with the Java desktop market.

    1. Re:J2ME by Anonymous Coward · · Score: 2, Insightful

      Sun is snatching defeat from the jaws of victory
      If Sun could find a business model for this they'd be bigger than Microsoft.
    2. Re:J2ME by RAMMS+EIN · · Score: 2, Interesting

      ``I just don't get why J2ME development has to be so complicated: weird acronyms, half a dozen versions''

      It's the Java way, or maybe the Enterprise way. They like acronyms and buzzwords and pretending they've invented something new, when it's really something that has existed outside the Java world for ages, or a workaround for some limitation of Java.

      ``Sun is snatching defeat from the jaws of victory; give it another few years and they'll have thoroughly destroyed the mobile Java market as well, just like they did with the Java desktop market.''

      I believe Microsoft takes the credit for that one. Sun's premise was "compile once, run anywhere". Microsoft made it not work on Windows. Not being able to reach 90+% of your target audience = dead product.

      --
      Please correct me if I got my facts wrong.
    3. Re:J2ME by timeOday · · Score: 2, Interesting
      I wasted hours trying to be able to develop java software for my PocketPC, and never did get it to work decently. There's no JRE preinstalled, no freely available JRE available for download, and to target a device you need some sort of device profile - which I never found for a plain old PocketPC! I ended up with IBM's J9 runtime, which I realized is designed for OEM's to preinstall on cellphones, and a big headache to get working on a PocketPC. After all that, it doesn't support Swing (or even AWT) anyways! There's a confusing alphabet soup of device types (CLDC?) and no matter what you do, all applications are forced into a cellphone template (MIDlets).

      Long story short, I thought Java would be perfect for developing an app I could run on the desktop or PocketPC; instead it is a nightmare. I ended up writing my app on PerlCE, a port of perl to the PocketPC. Works for me, but it's nothing you could redistribute and has plenty of rough edges. In fact it turned out as a command-line app which wasn't really what I set out to accomplish.

      Actually, PocketPC's in general are really going down the tubes. All the software Windows Mobile 5 is awful, unstable, and simplistic. It's so unstable as to be almost unusable. I think everybody at HP and Microsoft has moved on to smartphones, the PocketPC has a strong odor of decomposition about it. Sucks for those of us whose workplaces disallow cellphones.

    4. Re:J2ME by hey! · · Score: 3, Insightful

      I just don't get why J2ME development has to be so complicated


      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.
    5. Re:J2ME by EEBaum · · Score: 1

      Write once, run anywhere is a sham. It only works that way (maybe) with apps that have no user input nor output. Getting one app on just a handful of phones to look right requires having separate projects and separate source files (and separate graphical assets) for each screen size, given the lack of a preprocessor. Not to mention the varying availability of various libraries across different platforms (MIDP1, MIDP2, Sprint libraries, etc.).

      Oh, but your phone app should work just fine in a browser, yes? Write once, run anywhere? Sure... if your browser sends key-up and key-down messages that correspond to phone keyboards.

      Your phone app written in J2ME? Without platform-specific tweaks, it won't do any better on a big variety of phones than an app written in any other environment. AND, you have the added fun of your app randomly chugging once in a long while when the garbage collector decides it's time to rearrange the furniture.

      Essentially, the whole supposed java portability edge is moot. It's not an entirely horrible platform to develop on, but it's hardly the magic wand that so many people apparently think it would be. And woe to the hobbyist that tries to develop with Eclipse.

      --
      -- I prefer the term "karma escort."
    6. Re:J2ME by m2943 · · Score: 1

      I believe Microsoft takes the credit for that one.

      No, this one Sun did to themselves. While Sun squandered away Java's installed base in the browser, Flash managed to establish itself as a de-facto standard.

      Microsoft made it not work on Windows. Not being able to reach 90+% of your target audience = dead product.

      Microsoft has done many sleazy things, but "making Java not work on Windows" isn't among them.

    7. Re:J2ME by jonwil · · Score: 1

      And if you are unlucky enough to own an I-Mode phone, you have DoJa instead of J2ME which is totally different again.

    8. Re:J2ME by ThirdPrize · · Score: 1

      As long as you don't mind using M$ stuff then windows mobile is quite good. I haven't touched it for a couple of years but it always came with an emulator so you could run your programs without actually having to download them to a real phone. It probably all depends on your language of choice. If you work in VB or C# then its fairly simple to move from the desktop to the 'dog and bone'.

      --
      I have excellent Karma and I am not afraid to Troll it.
    9. Re:J2ME by efornara · · Score: 3, Interesting

      I'm writing an OpenSource J2ME application as an hobby (shameless plug: http://jbit.sourceforge.net/) and I don't think J2ME it's that complicated. Its basic API (MIDP1) is very simple. Its second incarnation (MIDP2) is also simple. There are a lot of optional APIs, but I believe you can write interesting applications without them. Sure, if you want to use GPS, you need to use a specialized API and not every phone will support it. I think it's fair.

      But this IMHO is missing the point. Are there any other platforms besides J2ME? I'm sorry but I don't see that many SmartPhones around me (Italy). Most people I know think they are expensive and bulky. I have a friend who still has a Nokia 3310. Laugh as much as you like, but its display has better visibility under direct sunlight than most "Smart" phones I've seen.

    10. Re:J2ME by teh+kurisu · · Score: 4, Interesting

      Java EE is an utter mess, in my opinion. Too many acronyms and buzzwords and oh god the XML configuration files where everything has to be configured in three different places and then when you get something wrong it breaks and you can't figure out why... *deep breath*

      That was my impression of it anyway. Some of it was incredibly useful, but all the unnecessary configuration just got in the way.

      J2ME is nowhere near as complicated or difficult to get up and running. Eclipse, the EclipseME plugin and a compatible device are all you really need. The plugin does all the essential stuff for you, and having bluetooth on both the device and your PC makes deployment easy. For more serious stuff I use J2ME Polish (as in Mr Sheen), which handles handset compatibility and APIs quite well, as well as giving more control over the GUI.

      That said, I got the distinct impression from TFA that, on the subject of J2ME, the author didn't have a clue what he was talking about:

      As of today the they offer/highlight Sun Java Wireless Toolkit 2.5.1 for CLDC for download. But I have no idea about any device which offers support for it, I like the fact that I can use swing in Java ME applications but where am I supposed to test it. Unless they want a programmer to develop for a hypothetical platform which exists only as an emulator. They should offer/highlight Mobile Information Device Profile (MIDP) v2.0 which makes a lot more sense.

      For a start, MIDP 2.0 is part of the CLDC Wireless Toolkit. And as for "where am I supposed to test it"... well, the toolkit comes with an emulator for precisely that purpose. Most modern mobile phones are also MIDP 2.0 / CLDC 1.1 compatible, so that shouldn't be a problem. There are also optional APIs that the mobile manufacturers can provide according to the capabilities of the phone (for example, the Nokia N95 contains a GPS unit, so the Location API is included).

      I'm not saying that it's the best mobile development platform out there, as I've come close to tearing my hair out when faced with some of it's limitations. But if there's one thing I can't fault it on, it's the shallow learning curve. I suspect the author wasn't really trying.

    11. Re:J2ME by kramulous · · Score: 1, Troll

      I'd like everyone in this thread to stop bitching about java and its mobile functionality and just move on. Master the language or let it master you. If you really want to continue bitching, do something about it and create a language and adequate compiler that will work on each one of the billion different types of mobile devices.

      ./ can really piss me off sometimes with these petty little complaints from people that clearly are not that sure about what they are doing in the first place.

      --
      .
    12. Re:J2ME by stoolpigeon · · Score: 1

      The development tools are good - but the gp is 100% correct that the windows mobile platform itself is awful. It doesn't matter if it is easy to create apps if they wont work the majority of the time.
       
      I have a sprint ppc-6700 that I have to carry for work. It's junk. The os hangs multiple times a day. Any app but the most trivial crushes it. Starting any app is dog slow. It is truly painful to use.

      --
      It's hard to believe that's how Micronians are made. Why don't we see it right now by having you both kiss one another?
    13. Re:J2ME by bjourne · · Score: 2, Interesting

      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.

      Oh really? If J2ME is a toy platform, what is the real platform then? J2ME is deployed on billions of devices and it would be insane for any ISV to ignore that. Yes, the platform is balkanized and you have to perform a lot of painful compatibility testing to ensure that your software works on a wide range of devices. Exactly the same problem you would have had if you wanted to deploy commerical apps targetting GNU/Linux. And yes, write once run anywhere is a myth. But what is your alternative? The Windows Mobile market is only about a few millions so that is right out.

      And which of Investigators, Sims 2, VRally-3D, Extreme Air Snowboarding 3D, Tomb Raider, Virtua Tennis and 3D Golf xPro is a trivial game? Which of them is developed for a specific device?
    14. Re:J2ME by mrwolf007 · · Score: 1

      I just don't get why J2ME development has to be so complicated: weird acronyms, half a dozen versions, different packages which may or may not be supported on any particular device, applications that sometimes run and sometimes don't, installers that sometimes work and sometimes don't, etc.
      Its not that complicated.
      If you want to stick to the least common demoninator stick to MIDP1.0/CLDC1.0. That will work fine everywhere.
      Should be pretty fair to assume you will have MIDP2.0 and either CLDC1.0 or 1.1 on every recent phone.
      Sure, there are a lot of optional APIs. Some device might not be powerfull enough to support 3D, others lack integrated GPS. But fussing around about that is about as stupid as saying "Damn PCs, some have printers, some have webcams but theres just no common ground".

      That said, i do have some things i dont like about J2ME. Its a bit to high level for some really neat tricks. I tried mixing several channels into one digital output. The only way to do this was to create a wav-file including header during runtime since no low-level DSP access is available. Unluckily the intialisation of the wav file took about 0.2s every time so no chance of mixing music plus realtime soundeffects.
      I know, such low level access would break the Java security concept, but it is bothersome to be denied neat features that can be done with direct operating system access.
    15. Re:J2ME by edxwelch · · Score: 1

      You're right the acronyms are cryptic and unnessarily confusing, to make things worse they are currently renaming them and adding new ones. I don't remember how may different names MIDP 3 has had ;)
      But anyway don't worry, there is no chance of J2ME being destroyed. No other platform is nearly as widespread and entrenched (even if it isn't perfect)

    16. Re:J2ME by Bill,+Shooter+of+Bul · · Score: 1

      But this is what a truly open market for ideas is all about: bitching about available systems with the hope that you can devise something better, or someone with the authority and ability to change things will. It is a necessary part of tech life and is especially rampant on a a site dedicated to News For Nerds in a story about comparing development with various toolkits.

      I hate to say it, but you must be new here. Or someone that has an active hand in perpetuating the current mobile Java soup.

      So I say, Bitch on.

      --
      Well.. maybe. Or Maybe not. But Definitely not sort of.
    17. Re:J2ME by hey! · · Score: 1

      J2ME is deployed on billions of devices


      What is deployed on billions of devices? It is something that allows the same program to run unmodified on those same billions of devices? If not, it's not a platform.

      But what is your alternative? The Windows Mobile market is only about a few millions so that is right out.


      My alternative would be two products, a CLDC sort of product and a CDC sort of product that (a) come from a single source, (b) are simple and convenient to buy/license in any size lot, (c) are available for the most common platforms (as well as non-platform devices like plain old cell phones).

      And which of Investigators, Sims 2, VRally-3D, Extreme Air Snowboarding 3D, Tomb Raider, Virtua Tennis and 3D Golf xPro is a trivial game? Which of them is developed for a specific device?


      You miss my point. It's not the power of the platform that makes it a toy. It is the deployabilty and predictability.

      If you buy a game and it doesn't work quite right, you are pissed and ask for your money back. If you are an enterprise and spend a bunch of money on a project that fails because the software fails, you never do business with that vendor again.
      --
      Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
    18. Re:J2ME by pjt33 · · Score: 1

      I wasted hours trying to be able to develop java software for my PocketPC, and never did get it to work decently. There's no JRE preinstalled, no freely available JRE available for download, and to target a device you need some sort of device profile - which I never found for a plain old PocketPC!
      If you're aiming for CDC/PP then you just need to target Java 1.3-compatible class files.

      I ended up with IBM's J9 runtime, which I realized is designed for OEM's to preinstall on cellphones, and a big headache to get working on a PocketPC.
      It would be nice if the installer created the four registry entries necessary to associate .jars with J9. It's not that hard for someone technical to do, but that doesn't help end users, so you end up having to create the registry entries in your application's installer. Other than that, I'm not sure what your problem was.

      After all that, it doesn't support Swing (or even AWT) anyways!
      It does support AWT. If you want to use Swing, you can find jars for it. If you're using J9 you can target SWT as well, because that's what it uses under the hood to implement AWT.

      There's a confusing alphabet soup of device types (CLDC?) and no matter what you do, all applications are forced into a cellphone template (MIDlets).
      The alphabet soup isn't massively confusing - an hour or two to sort through. You only need to use MIDlets if you're targetting MIDP. If you're targetting PP then you can use applications - static void main(String[]), jar file with manifest naming the main class, just like J2SE.

      Long story short, I thought Java would be perfect for developing an app I could run on the desktop or PocketPC; instead it is a nightmare.
      It's not perfect, but it's far from a nightmare.
    19. Re:J2ME by m2943 · · Score: 1

      / can really piss me off sometimes with these petty little complaints from people that clearly are not that sure about what they are doing in the first place.

      Of course, I don't know what I'm doing; that's the point: Sun makes it too f*cking hard and confusing to figure out.

    20. Re:J2ME by fractoid · · Score: 1

      Whoops! Woe unto he that doth disrespect the mighty Java! Forsooth, 'tis Microsoft that is to blame!
      *repents fervently and in the least sincere manner possible* >.>

      --
      Rampant carbon sequestration destroyed the Dinosaurs' tropical paradise. I'm here to help repair the damage.
  6. Oblig OpenMoko shill by Anonymous Coward · · Score: 5, Informative

    Of course, if it's just for yourself, you should check out the OpenMoko. It is the most open phone with the best developer support. You are literally writing GTK apps running on real Xorg and real Linux. And the whole point is that it's open, so no vendor trying to lock you out.

    And the Neo 1973 GTA02 hardware is looking to be pretty sweet. Includes 3D accelerometer, GPS, WiFi, Bluetooth, and touch screen (with rumor of enabling multitouch through a driver update).

    1. Re:Oblig OpenMoko shill by Rei · · Score: 1

      Yeah, if only it would actually come out. I'd buy one if they'd actually release the thing. So long as it can make calls, I'd get it now; everything else could come later with updates as far as I care.

      --
      Kneel Before Christ!
    2. Re:Oblig OpenMoko shill by StarKruzr · · Score: 0, Offtopic

      Not even EDGE?

      --

      +++ATH0
    3. Re:Oblig OpenMoko shill by johnkzin · · Score: 1

      Meh. I'd rather develop for maeemo/hildon (nokia's linux flavor for the n800). I'm posting this from it now.

    4. Re:Oblig OpenMoko shill by torpor · · Score: 2, Interesting

      I've got the GTA01 release, and its rockin' .. definitely the most open and easily approachable platforms for mobile development, even if its not really established market-wise quite yet .. time will tell when the GTA02 release (December) is done and we start seeing OpenMoko-based phones on the market .. in the meantime its sure nice to be hacking apps up for it in advance .

      --
      ; -- the corruption of government starts with its secrets. a truly free people keep no secrets. --
    5. Re:Oblig OpenMoko shill by colonslash · · Score: 1
      Why if it's just for yourself? Do you think OpenMoko won't make it to a lot of devices? Or just that it isn't there yet? Or something else?

      My question - why do you think this couldn't work commercially?

  7. My Take by RAMMS+EIN · · Score: 5, Interesting

    I don't have a lot of time, but I'll just quickly give you all my take, without going into details too much.

    1. J2ME. It's the Java you all know and either love or hate, but with a different library. Some things work the same way as they do on the desktop. Some things work differently. And some don't work at all. Generally, there will be differences from device to device. Lots of devices come with J2ME implementations. Developing tools are freely available. J2ME seems to be a relatively stable target.

    2. Linux. It's Linux. In theory, it's the same as desktop, server, etc. Linux. You should be able to use the same developing tools and libraries, which are freely available. In practice, devices may have odd differences and limitations compared to desktops running Linux. Sometimes, vendors go out of their way to introduce incompatibilities. It's a mine field. The number of devices Linux runs on is limited, and the ones you can reasonably limited are fewer still. Although the core of the platform is stable, parts of it are very much moving targets.

    3. Windows Mobile (formerly known an Windows CE and Pocket PC). Pretends to be Windows but isn't. The platform has odd limitations and restrictions that differ from version to version and from device to device. Developer tools are available, but not necessarily free of charge. It all depends on the target device, its configuration, and the version of Windows Mobile. In general, you will have to pay for developer tools, compile different versions of your app for different targets, and pay for signatures on some targets. Many devices come with some incarnation of Windows Mobile on them. The whole platform is a moving target, with incompatibilities introduced at about every release.

    The way I see it, of the three, Java wins hands down. It's the only one that is actually workable.

    I don't know where Vivek is coming from when he says ``I never thought that Windows Mobile would take the pie, but for a hobbyist programmer they offer the best SDK's and you can make applications without worrying about certificates while testing and debugging. With a windows mobile one really feels in control, if you want to screw up your mobile device its really upto you. One rarely feels tied down the API's are clean and functional. Getting your first demo program onto the device takes a few seconds. It just makes sense to develop for windows mobile. There is almost no need to get your applications signed, at least for testing.''

    To me, it has been the exact opposite of that. It's a nightmare. It's a nightmare to figure out what you have to download to get up and running. You can compile binaries for th platform with various tool chains, including some (user friendly for me) open source ones, but they won't run on all devices, as they will be lacking the right signatures. If you do get your application signed (which is costly; you have to sign every version of every exe, dll, and cab), it won't work on older releases that don't support code signing. The platform is almost ridiculously limited, and limitations aren't consistant across versions (e.g. you may or may not be able to get at a given file using the file open common dialog).

    I'm thinking Vivek just tested things using one device, and was lucky enough that it didn't throw a tantrum.

    --
    Please correct me if I got my facts wrong.
    1. Re:My Take by Shados · · Score: 4, Interesting

      I didn't read the article, but the reason many people prefer Windows Mobile is because of the .NET framework. It just makes it too easy to make apps for it. While a binary for desktop will not run on a Windows Mobile device, the source code recompiled often will, if you avoid the subset of the language thats not available. Failing that, a Windows Mobile .NET assembly -will- work on a desktop, so its pretty cool to test stuff out. Yeah you need to pay for the (better) tools (the basic tools being freely available), but its actually quite cheap and so easy to use its almost like cheating.

      Personally I was put on the spot with no mobile device experience -whatsoever-, with a 2 weeks deadline to learn it AND deliver a tested, fully working and deployable (on customer devices) remote real time inventory management software su pporting most mainstream Windows Mobile enabled barcode scanners (I realise I'm not talking hobby anymore) with nothing but the lowest version of Visual Studio that supported it (which is incredibly cheap, especially since you can get an upgrade from virtually anything, including competing products), and I actually finished ahead of time.

      Then by replacing the bits that actually used the barcode scanner with a stub, we were using my boss' cellphone to demo it to customer without any changes (beyond the one I just mentionned). That was pretty fun :)

    2. Re:My Take by Xtravar · · Score: 5, Informative

      Zomg was it a Symbol, Intermec, or HHP device? :)

      Hello, fellow Windows Mobile barcode scanner developer. I hate my life.

      I hate the compact framework. It's got limitations everywhere that drive me nuts. It's a memory hog. P/Invoke is virtually required. Generics make jitting 10x slower, and it's already pretty damn slow.

      I hate taking 4 minutes to deploy a multi-dll app using Visual Studio.

      I hate debugger freezes that require soft-resets.

      I hate how every device behaves differently.

      I hate constant out of memory errors since the compact framework is a memory hog and the devices are all under-equipped.

      I hate how CF 2.0 apps are compiled to be "hi-res aware" because Microsoft assumes that all of your controls are going to scale properly.

      I hate the input panel and it's flaky behavior.

      I hate Microsoft SQL CE. Poor documentation. Vague errors. Slow.

      I hate having to deal with 3 different barcode scanning APIs from 3 different vendors that won't give me devices or up-to-date documentation.

      Basically, the only reason I'm still doing this is because the other teams at my company are using VB6. I think I'd rather die.

      --
      Buckle your ROFL belt, we're in for some LOLs.
    3. Re:My Take by dunkelfalke · · Score: 1

      i do understand you. net compact sucks, sadly it is still one of the better mobile apis.
      there is hope, though - you can already make simple windows ce apps with lazarus.

      --
      "It's such a fine line between stupid and clever" -- David St. Hubbins, Spinal Tap
    4. Re:My Take by Anonymous Coward · · Score: 0

      Generally, there will be differences from device to device.

      Now there's an understatement. If you think J2ME is "write once, run anywhere" then I have a space elevator you might be interested in purchasing.

      If you're just messing around on your phone, J2ME is probably fine. If you intend to distribute your application so that others can use it, you probably don't have the choice to not use J2ME. But you better be prepared to debug on everything and make custom builds.

      Or you could buy a phone that runs Linux, write code for it, and not care about everyone else. You're doing this for fun and J2ME is not.

      Sometimes, vendors go out of their way to introduce incompatibilities. It's a mine field.


      Have you seen J2ME? I know there's at least one phone that implements the exclusive or operator incorrectly. That's a basic language feature, broken. Good luck.
    5. Re:My Take by MrBandersnatch · · Score: 2, Interesting

      I read the parent article and comments thinking "Oh how marvelous. Things have really improved over the last 7 years since I last had to write a web-browser for CE/PPC because the IE one wouldn't connect to localhost properly"(!! Indeed. I had written one of the first webservers to target the PPC. In Java...). Obviously not!

      My quick take from a nightmare project about 8 years ago :

      Java : I actually believed them when they said "Write once, run anywhere". For me this became "Write once, run away". Ive not touched Java since.
      Windows CE/PPC : This platform was so well documented they would often have 3 or 4 versions of the documentation for an API. Which would have been fine if ANY of those versions had been either correct OR complete. This was the first project on which I actually quit from pure frustration at the toolset.

      Anyways, I feel for you :(

    6. Re:My Take by zero-one · · Score: 1

      I develop applications for Symbol, Intermec and HHP devices using the Compact Framework and I really like it.

      Yes it uses a lot of memory and it can be slow but when you know the limitations you can work around them. If you require optimal processor and memory usage, use C++ (but be aware that your development times might increase).

      Deploying applications is quick after the Compact Framework has been deployed on the first run.

      The debugger rarely freezes unless there is a connectivity issue. Disconnecting the debugger from a running application can cause the device to lock up (particularly if you are using some of the OEM libraries) but if you close the device application down properly, it is normally OK.

      There are some differences between but that is just something you have to cope with. Some of the manufactures are starting to use a standard platform for their new devices so things are getting easier.

      I don't get constant out of memory errors. Try and make sure all the resource intensive objects are wrapped up in "using" statements so Dispose is called on them when you have finished with them. In particular every file and form should be in "using" block.

      It only takes about 30 seconds to rip out the hi-res aware code if you don't like it.

      The input panel is an absolute pain in the arse - no arguing with that.

      I try to avoid using SQL CE as I have found that it is too slow for my applications (most the products I work on have large amounts of static data so I find it quicker to generate lookup files on the server and copy them down to the devices and use my own lookup code).

      Yes, each vendor has a different scanning API. Spend a few days writing some library code so you only have one interface to deal with and forget about it.

      The Microsoft mobile device tools aren't perfect and you do have to spend some time working around the various challenges they throw up but they are a lot better than most of the alternatives. If you get stuck, it is easy to write a C++ DLL to do the hard work. You do have to cope with differences between the devices but these are niche devices for niche applications.

    7. Re:My Take by julesh · · Score: 1

      Personally I was put on the spot with no mobile device experience -whatsoever-, with a 2 weeks deadline to learn it AND deliver a tested, fully working and deployable (on customer devices) remote real time inventory management software su pporting most mainstream Windows Mobile enabled barcode scanners (I realise I'm not talking hobby anymore) with nothing but the lowest version of Visual Studio that supported it (which is incredibly cheap, especially since you can get an upgrade from virtually anything, including competing products), and I actually finished ahead of time.

      Impressive, but my experience developing for PalmOS devices (Symbol SPT200) was actually pretty similar. As long as your application's UI is simple, Palm is pretty nice to program for. That project was completed using free development tools (at least the inventory management part... it turned out that the free tools were incompatible with the Palm's dial-up features, so I had to switch to Codewarrior to complete the project).

    8. Re:My Take by El+Royo · · Score: 1

      We do the exact same thing (develop software that runs on mobile devices for inventory management and bar code data collection) with a large variety of manufacturers' devices. CE.NET has been a breeze to work with and incompatibilities have been minor. Yes, each manufacturers' devices do have different scanning routines and some are -wildly- different. But, Windows Mobile has been a nightmare... We embed the IE component into our application for rendering. Windows Mobile's browser is just not even close to fully functional. Limited DOM and strange quirks to the way it works. Enough to make you want to pull your hair out.

      Our applications are natively developed so we don't deal with Compact Framework. It certainly seemed the right idea five years ago. So far it has served us well. The thing that really gets me about Windows Mobile is the horrid user interface on the device. Applications don't really close and I find the user interface to be atrocious. Perhaps it's a familiarity issue.

      --
      Author of Enyo: Up and Running from O'Reilly Media
    9. Re:My Take by Anonymous Coward · · Score: 0

      What drugs are you taking? I have done both J2ME and .netcf and the Microsoft environment wins every time. You talk about limitations of the CF, speed, and memory? Duh, Java is the same way. Hey buddy, it is an application running on a device with limited resources!

      I like Java...I teach Java...and I have slept with Java... but when it comes to developing a mobile application, I am going to choose Microsoft most every time. My time is money and using Microsoft tools helps me make more money by spending less time on BS.

    10. Re:My Take by Anonymous Coward · · Score: 0

      The .NET CF (short for clusterfuck) has its faults, but it is the best out there. Debugging in VS2005 is unbelievably simple and so far bulletproof. I can't attach to a running process, but that is a minor annoyance. Just have to remember to launch the whole mess from the debugger.

      I'm using SQL 2005 mobile (F/K/A SQL CE) with merge replication to synchronize 46 tables to the back office. It is working just fine, except that the replication bogs down when I have more than 200 subscribers. So, I'm rewriting a custom data sync that will replace merge.

      It's all a cake walk with the WM platform.

    11. Re:My Take by Anonymous Coward · · Score: 0

      Or you could buy a phone that runs Linux, write code for it, and not care about everyone else. You're doing this for fun and J2ME is not.

      what a load of crap. linux and java suffer from the same problems in the mobile arena. so as long as your sticking to one device you're going to have the same pros and cons involved.

      as for the doing this for fun and j2me is not? another load of crap. just a way to make an unqualified statement of linux is fun and j2me isn't. this is the same kind of banter used to sell toys to unwitting children. i guess your hoping others are stupid enough to bite.

    12. Re:My Take by Anonymous Coward · · Score: 0

      Trolltech seems to be porting Qt to Windows CE/Windows Mobile. Maybe that will be another nice option.

    13. Re:My Take by Xtravar · · Score: 1

      I never said Java was better. Maybe everything sucks. But we're a Microsoft shop and that's my opinion of mobile development so far.

      --
      Buckle your ROFL belt, we're in for some LOLs.
    14. Re:My Take by Xtravar · · Score: 1

      I develop applications for Symbol, Intermec and HHP devices using the Compact Framework and I really like it. Congrats! :)

      Yes it uses a lot of memory and it can be slow but when you know the limitations you can work around them. If you require optimal processor and memory usage, use C++ (but be aware that your development times might increase). C/C++ is not an option for my company.

      Deploying applications is quick after the Compact Framework has been deployed on the first run. Deploying applications isn't "smart" when you have an app that dynamically loads modules. Maybe your app isn't as complicated as mine.

      The debugger rarely freezes unless there is a connectivity issue. Disconnecting the debugger from a running application can cause the device to lock up (particularly if you are using some of the OEM libraries) but if you close the device application down properly, it is normally OK. This mainly happens with HHP devices for me. And although it doesn't happen often, it happens often enough.

      I don't get constant out of memory errors. Try and make sure all the resource intensive objects are wrapped up in "using" statements so Dispose is called on them when you have finished with them. In particular every file and form should be in "using" block. Yea, I do that, I'm not a n00b. :)

      It only takes about 30 seconds to rip out the hi-res aware code if you don't like it. Please tell me the compiler flag that disables the HI_RES_AWARE resource. I actually made a program that runs after compile that rips out that resource... and then it didn't fix it on all hi-res devices.

      I try to avoid using SQL CE as I have found that it is too slow for my applications (most the products I work on have large amounts of static data so I find it quicker to generate lookup files on the server and copy them down to the devices and use my own lookup code). We need to keep copious amounts of encrypted data on the device. I guess I could roll my own database... My major problem, though, is that SQL CE isn't documented very well and a lot of things I had to learn through trial, error, and inference.

      Yes, each vendor has a different scanning API. Spend a few days writing some library code so you only have one interface to deal with and forget about it. I did that, but why should I? I'd like to make a better wrapper even, but it's hard to justify to the superiors that it's "necessary" development. Not to mention, the differences between the APIs are astounding. I actually wrapped their C APIs so I wouldn't have to reference multiple vendor-specific assemblies.

      The Microsoft mobile device tools aren't perfect and you do have to spend some time working around the various challenges they throw up but they are a lot better than most of the alternatives. If you get stuck, it is easy to write a C++ DLL to do the hard work. You do have to cope with differences between the devices but these are niche devices for niche applications. Actually, I can't just write a managed C++ assembly and plug it in, because CE doesn't support that yet. So I'd have to write a native DLL, and there are very few places in our application where writing a native DLL would be helpful to that much of an extent. It's quite a large and feature-full application, so there's no silver bullet.

      --
      Buckle your ROFL belt, we're in for some LOLs.
    15. Re:My Take by Anonymous Coward · · Score: 0

      Windows Mobile (formerly known an Windows CE and Pocket PC).

      Incorrect. Windows CE is the underlying system. Windows Mobile "runs on" CE. Pocket PC is hardware platform (like Mac or PC).

  8. What is this garbage doing on the front page? by JanusFury · · Score: 5, Insightful

    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();
  9. Ummm... by crhylove · · Score: 0, Flamebait

    How about openmoko. That way your fruits might actually matter with or without consent by Uber Whore Steve Jobs. In conclusion, I want easy wifi video conferencing, for free where free wifi is available.

    Thank You,
    The Management.

    --
    I hold very few opinions. I hold information based on observation and fact. If you wish to disagree, please use facts.
  10. Disappointing - this is needed information by juanfe · · Score: 2, Interesting

    I do mobile platform evangelism for a living -- I very much like hearing what people have to say about platforms and developing for them. But this was disappointing from any of the angles I look at it: if he actually did bother to do research, then we in the mobile space are doing a miserable job at educating the hobbyist (he obviously had a hard time finding the BlackBerry JDE or a clear enough explanation of Java ME that tells him that 90% of devices out there with Java ME are MIDP); if he didn't bother doing research, then it almost sounds like he went out of the way to prove that Windows Mobile is the way to go... and from my own experience, for the average hobbyist, WinMobile does the trick but only so far (i.e. good toolkits and APIs but only if you want to code in C, if you want to do .NET you've got to shell out for Visual Studio); if he really didn't try, then it says something worse about the person who thought this merited highlighting.

    It may just say that the mobile space is really not targeting the hobbyist... should we change that?

    If someone has actual experience in this, would much welcome reading it.

    --
    ***Foucault is watching you..***
    1. Re:Disappointing - this is needed information by RAMMS+EIN · · Score: 1

      ``It may just say that the mobile space is really not targeting the
      hobbyist... should we change that?''

      Hell yes! Imagine how cool it would be to develop apps for a hobby, and have yourself and your friends use them on your mobile phones! This is the scene where a little bit of programming effort can get you a hugely popular app, unlike the desktop space where you don't count unless you have spinning cubes and professionally designed lifelike 3d animated graphics.

      It will be like the golden age of the home computer all over again, except that now everybody will own one instead of just the lucky few, and there is ubiquitous connectivity. If anything is uber-cool, this is it.

      --
      Please correct me if I got my facts wrong.
  11. Blackberry is pretty good by AdamInParadise · · Score: 1

    The author does not know about it so he says nothing. I've used it and I can say that it's pretty good. The only problem is the IDE, which is really an embarrassment, but you don't have to use it. You can access the "restricted" APIs (making a phone call, accessing the agenda...) by signing the application, which is a simple process that requires a $100 one-time payment.

    If you know Java, the Blackberry platform is the simplest and most powerful platform you will find.

    --
    Nobox: Only simple products.
    1. Re:Blackberry is pretty good by SuperDuh · · Score: 1

      I second this. Having worked with other J2ME devices, and then with BlackBerry smartphones, the latter is a dream by comparison.
      I would have to say that sticking with the MIDP & CLDC ways of doing things can be quite limiting.
      But like you mentioned, with the $100 key, you can do quite a lot beyond the usual J2ME set of limitations.
      Of course, as always, the more recent the BlackBerry OS version you develop for, the happier the developer you are.
      The only thing I do have to admit that I miss slightly is that the UI apis for BlackBerry phones are not thread safe
      as they are in the MIDP apis, but there are plenty of reasonable ways to handle this in code.

  12. Not just J2ME by clarkkent09 · · Score: 2, Funny

    You know, I did some J2EE development recently (after not touching Java for a while) and I thought I was learning a new language (and I don't mean a programming language): J2EE, J2SE, J2ME, JAF, JMS, JATO, JSF, JSS, JTA, JTS, JAXM, JAXP, JSS, JSSE... (if I got some of them wrong, no big deal, the way things are going they will be correct eventually).

    How many different 3 letter combinations starting with J can still be available?

    P.S please don't work it out, it was a rhetorical question

    --
    Negative moral value of force outweighs the positive value of good intentions.
    1. Re:Not just J2ME by cs02rm0 · · Score: 3, Insightful

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

    2. Re:Not just J2ME by julesh · · Score: 2, Insightful

      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.


      There are only 676 possible TLAs that start with 'J'. Why not just list them all?

    3. Re:Not just J2ME by kisielk · · Score: 1

      You can always take the shortcut and just use "J??" ;)

    4. Re:Not just J2ME by Anonymous Coward · · Score: 0

      >your CV (resume)

      CV means resume?!?!

      That explains why none of those companies ever contacted me after I mailed aircraft carriers to them.

    5. Re:Not just J2ME by the1rob · · Score: 1

      ...or abbreviate it for Java and all incremental additions.

      We could call it J++. =)

      Oh, c'mon, that was *damn* funny.

    6. Re:Not just J2ME by cs02rm0 · · Score: 1

      Because not all 676 possible TLAs are actually Java products.

  13. Best Platform for Hobbyist Mobile Development by camperdave · · Score: 1

    Best Platform for Hobbyist Mobile Development

    Anybody else out there think that this was going to be an article about robotics?

    --
    When our name is on the back of your car, we're behind you all the way!
    1. Re:Best Platform for Hobbyist Mobile Development by imroy · · Score: 1

      Anybody else out there think that this was going to be an article about robotics?

      No. You must be American. You call these things "cell phones". The vast majority of the rest of the English-speaking world calls them "mobile phones", or just "mobiles" for short.

      HTH

  14. Who got the Jelly? by ozphx · · Score: 1

    FTFA Symbian got the cake, WM got the pie...

    I'm confused...

    --
    3laws: No freebies, no backsies, GTFO.
  15. My experiences by JustNiz · · Score: 4, Interesting

    I used to work as a software consultant for a large company who shall remain nameless, making those in-car systems that integrate Navigation/cellphone/internet/car control all in one built-in unit in the car's dashboard.
    They wanted to get away from their usual approach of having to make a whole new custom system for each car project, so we made a custom hardware platform running Windows-CE that we could sell to different car manufacturers just by modifying the front panel and changing some of the graphics.

    Anyway I just told you all that to establish my experience and tell you that porting CE to a custom platform and developing drivers etc. for CE sucks very badly compared to doing the same with Linux due partly to the poor documentation and lack of support from Microsoft, and also that CE itself and its APIs are very badly designed and structured compared to Linux.

  16. Mobile Development Experience by Anonymous Coward · · Score: 1, Interesting

    Before discovering how useful Linux could be, I actually enjoyed developing for Palm OS more than anything because (1) there are on-board C compilers and assemblers and IDEs that run on Palm OS for coding on the go (I personally used the OnBoard C suite) and (2) there are Palm OS programming toolchains available for Cygwin and UNIX all available as FLOSS. Not only that, but Palm OS is *easy* to program for--reminiscent of DOS (i.e. no multi-tasking, direct control of the hardware, no time-slicing, very limited event-driven programming (except for Palm OS UIs, but I was mainly interested in graphical programming like games)).

    Now that I have a Sharp Zaurus C1000, which currently runs the latest testing image of Angstrom Linux and boots from a 1 GB SD card, I have more useful tools like gcc, binutils, vim, python, tcl/tk, GTK+, XWindows, etc. on-board with *native* ARM assembler support and best of all, no stupid 32k branching limit (i.e. Palm OS 5 implements a Dragonball M68k VM-like compatibility layer to run legacy apps on ARM hardware (in fact, all Palm OS 5 software needs at least a M68K bootstrap code segment to even run at all), but a side-effect of this is that the short-comings of the M68k are also emulated, such as the 16-bit data bus xP). PC-based development options include cross-compilers like Scratchbox, which is also useful for compiling *large* apps (i.e. new kernels). I'd say I'm better off with Linux--it's capable of so much more in embedded space than the competition.

    FTR, I never found a useful way to develop for Windows Mobile short of paying out the wazoo for CodeWarrior or MSVC++.

    1. Re:Mobile Development Experience by Bert64 · · Score: 1

      Err, were these really limitations of m68k? Or just limitations of PalmOS or Palm's implementation?
      A lot of systems ran on m68k processors back in the days.

      --
      http://spamdecoy.net - free throwaway anonymous email - avoid spam!
  17. Unless You're A Web Developer by gig · · Score: 1, Interesting

    Most hobbyist developers are Web developers today.

    You can make HTML+CSS+JS with any Unix to W3C standards and test in Firefox and your work will display beautifully on the iPhone or iPod, which also has an excellent HTML+CSS+JS debugger and Bonjour networking. Very low cost of entry, especially if you were going to buy an iPod or iPhone anyway, and the stuff you make also works on every Web 2.0 system. You can also include ISO MPEG-4 H.264/AAC media and you're compatible with everything, even Flash as of v10.

    There is very little you can do natively on mobiles anyway, the ones with native apps all have no memory and bad operating system software, that's why there is so much interest in native iPhone apps, because it's the first phone with the resources. Put that aside for now and you notice that many iPhone Web apps are better than native apps for other phones.

    1. Re:Unless You're A Web Developer by Anonymous Coward · · Score: 0

      The iPhone is hardly the first "capable" phone hardware. There are plenty of applications that don't need 1GHz processors and Gigabytes of video RAM to be effective. Ever heard of embedded devices? Most mobile platforms run at a few hundred MHz and are certainly more than capable enough.

      And web apps are great if you're interested in developing the latest photo mashup to send awesome pixx to your 1500 closes MySpace friends, but I'd really like to see you program a GPS logger from your .Mac homepage.

      The iPhone has great capabilities, but it's not what developers are looking for in its present locked incarnation. Developing extremely simple games that use no hardware features is possible and relatively simple on all of these platforms. It's when you actually want to do something that's useful specifically because it's running on a phone and thus utilizes the phones hardware to do useful thing that you run in to trouble.

  18. Blackberry by SpectreBlofeld · · Score: 1

    FTFA: Blackberry Next comes the blackberry, I have no idea about this as a programming platform so cannot say much about the SDK support Um, thanks for throwing that in, then...

  19. The best one WAS the Sharp SL-5000D by ishmalius · · Score: 1

    Too bad they got out of the game. Just when it was starting to become fun.

    Before that... well, it was probably the C-64.

  20. Linux Vs Windows Mobile by xonicx · · Score: 2, Insightful

    Not as a hobbyist but as a professional developer i have little experiences of both.

    Whenever i need to do something on windows mobile/wince i never commit on a deadline because you don't know where will you get stuck with so many libs (without source code) around. Microsoft is not going to support you until you really mean something to them and windows mobile documents sucks.

    Some point of time, I had to demo VoIP on wince. I plan to use wince messenger but it was returning 421(IIRC). I was using M$ SIP stack so code was not available to me. There was no way to find out the root cause until I get M$ support. Luckily i thought little differently and figured out that there could be some problem in Wi-Fi driver(it was developed by me again). NDIS API for maximum data rate was not correct. I don't understand how can someone think of development on M$ platform as a HOBBY with such a bad documentation and no support.

    Later,i had to port Linux kernel on a alien platform with some minimal applications (e.g ftp, ssh ) within a month. I am basically a network engineer with no embedded experience at all but have some user level Linux experience. With the help of community(IRC) i successfuly completed the task within the specified time. I was amazed the way linux kernel is written. You dont have to do anything to port on a new device. Error handling is great. Error reporting is excellent and tools really rocks. No OS give support over IM as Linux has. I feel, Linux is best for developing applications for mobile devices(at least for command line applications, haven't tried GUI ever). You don't have fear to get locked in with issues in some alien binary.

    Windows mobile looks good at beginning but once you go inside it, its all muddy and you find yourself helpless. Still trying to figure out what is equivalent of kernel magic number in windows mobile :(.

    PS: Sorry for broken English. I am not a native speaker.

  21. Sony PSP by cachimaster · · Score: 0

    Seriously, It's a kickass developer machine, with a gcc toolchain, Wifi, 3d Acceleration, and *tons* of really good quality games for u$s 180, you can't beat it.
    And it's very cool. Something that anything with Windows Mobile in it isn't.

  22. Qtopia? by Joe+Tie. · · Score: 1

    Kind of surprised not to see that in the linux section. I've never used it past trolltech's vmware demo, but I've looked at it with a lot of envy in the past. It's the main draw of the neo for me at the moment. Qtopia's always seemed like one of the most friendly environments out there, especially if someone's a fan of QT development.

    --
    Everything will be taken away from you.
  23. Hecl by DavidNWelton · · Score: 2, Interesting

    Since I've worked pretty hard on it, I'll take a moment or two to promote my own 'platform': Hecl, at http://www.hecl.org./ It's a scripting language built on top of J2ME, which means that no, you probably shouldn't write games with it, but on the other hand, it should make it far easier for the 'average Joe' to actually be able to successfully create an application, and for a good developer to do things much faster than with J2ME.

    Also, for fun, I created a prediction market about which platform will dominate, but since it's not played with real money, it's not worth all that much:

    http://home.inklingmarkets.com/market/show/6481

    1. Re:Hecl by Anonymous Coward · · Score: 0

      How does that help? The problem isn't Java programming, the problem is J2ME incompatibilities and installation, and those remain.

  24. Bad journalism by Wiseman1024 · · Score: 1

    This article sucks. First, he's evidently ignorant about some platforms and yet he still dares to judge one best. Second, he missed what's probably the best option - a PSP, which is cheap, has lots of tools, a good piece of hardware, and high-level languages such as Python available. Third, he goes with Windows Mobile. What the heck. Windows can never be good for development, because its APIs are insane. Or rather, GetWindowsAPIInsaneRatioForMultipleObjectsEx(&dwIRatio, &saSecurityAttributes, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL).

    --
    I was about to say 13256278887989457651018865901401704640, but it appears this number is private property.
    1. Re:Bad journalism by Anonymous Coward · · Score: 0

      You can't run custom software on a PSP.

      Well, you can't legally.

    2. Re:Bad journalism by Wiseman1024 · · Score: 1

      Ha ha ha, who gives a damn. I got mine when I knew I could fair-use it.

      --
      I was about to say 13256278887989457651018865901401704640, but it appears this number is private property.
    3. Re:Bad journalism by Anonymous Coward · · Score: 0

      I completely agree. I program for the PSP and find it an outstanding platform for hobbyist programming (especially for emulation). And I don't have to learn a proprietary language to do it either - I can use C, C++, lua, as well as any of the many GPL'ed libraries (libpng, zlib - the list goes on).

  25. Entire article is probably astroturf by bit01 · · Score: 1

    He damns all platforms except the one he's pushing with faint praise, with every one having a show stopper problem. The one he's pushing is perfect, with no problems at all, which in the real world is bullshit.

    And that's ignoring the fact that the entire premise is nonsense. Without knowing where the hobbyist programmer is coming from and what they're trying to achieve to claim one mobile platform is better than another is vacuous, the sort of content free nonsense that marketers push every day.

    Another clue is where he has a problem with the GNU/Linux license but has no problem at all with the far more restrictive M$ license, while pushing the BSD license as an alternative. It's standard M$ marketing tactics to push the BSD license instead of GNU. Unfortunately for M$, for most users both the GNU and BSD licenses are streets ahead of the average M$ license.

    And the icing on the cake? The word "Live" in blog heading.

    ---

    Integrated software = marketing buzzword for "we own all the pieces" = we own you.

    1. Re:Entire article is probably astroturf by Slayer · · Score: 1

      What's even funnier is that he provided links to all platform suppliers except for linux. Did his firewall prevent him from accessing or referencing linux sites ? (I don't think so but it's still funny)

  26. Programming J2ME is FUN with NetBeans 6 ;) by siDDis · · Score: 5, Interesting

    I just don't get why J2ME development has to be so complicated: weird acronyms, half a dozen versions, different packages which may or may not be supported on any particular device, applications that sometimes run and sometimes don't, installers that sometimes work and sometimes don't, etc.

    Sun is snatching defeat from the jaws of victory; give it another few years and they'll have thoroughly destroyed the mobile Java market as well, just like they did with the Java desktop market. You should try NetBeans 6, the developers have implemented great support for developing J2ME applications. There is even a GUI/Flow designer for Mobile devices included. It's true that before I had to spend a week configuring just to get Hello World up and running, but with a clean NetBeans 6 install I(and probably all of you) can do it within seconds. Also an emulator is included so you can test/debug on your computer, still if you want to test your application on your mobile device you just have to copy the compiled jar file over.

    There are several samples included: like sounds, graphics, basic networking, games. I recommend everyone who is interested in developing application for mobile devices to check it out ;)

    But if you already hate Java, then just stick to the Windows platform. It's also very good.
  27. Embedded Engineering by MrCopilot · · Score: 2, Informative
    Not really a hobby, but here is my experience.

    Creating a new device using WinCE or Linux. Advantage Linux

    I've been to all the MS "Training" Tech seminars on WINCE and Mobile .NET. I've asked alot of questions. I usually bring a stack of questions with me because MS trots out "experts" at these things. I have only once received an answer to what I saw as a common question. I've seen countless Demos. I even tried it on two different devices. At first it all looks great but I quickly ran into problems that only peeking at the source can root out, which in many cases is not allowed.

    Under Linux I get all the source I need (and then some) to understand the problem. I can turn to the community for help. And by community I usually mean the author of the code I'm having trouble with. I can reuse a ton of code. Hell, sometimes I only have to write a surprisingly small amount of code to accomplish what I need.

    The hardest part I've found in developing Embedded Linux Applications/Devices is getting the boss to open the code (Not always necessary but I insist on it every chance I get).

    Yeah VS integration is nice, but then I have to use Visual Studio, not something I like to be forced into. I have no problem using a variety of different tools and toolkits to get the job done on Linux.

    I am quite fond of QT, and nothing beats the customization of the kernel. I can test on the desktop, cross compile and test on the device.

    I've done Brew and a few of the others, I have no real interest in Cell Phone development though, so I can give no real opinion on how they stack up against the penguin.

    --
    OSGGFG - Open Source Gamers Guide to Free Games
  28. The "hobbyist" by Slayer · · Score: 1

    While mobile phone companies may not care much for garage tinkerers, some of these "hobbyists" might actually turn into market opportunities. Imagine a company writing software normally targetted at PCs or embedded platforms. They could see an opportunity to port their stuff to mobile phones, but only if someone within that company has experience with this from tinkering at home or if entering into this field of programming is easy and painless, e.g. a linux based SDK which looks and feels like programming for linux/embedded. At least that's how a lot of things were done in my work environment.

    Don't forget, tinkering in a garage doesn't have to mean a pure hobbyist, it may well be a bunch of PhD students with a funny idea and no money ... think of HP and google.

  29. MoSync by Anonymous Coward · · Score: 1, Informative

    A new, multi-platform alternative is MoSync. You write your programs in C/C++ and it outputs J2ME packages.

    Support for Symbian and Windows Mobile, which allows you to use the same C/C++ codebase as for J2ME, is in the works.

    There are also plans to show, at the Symbian Smartphone show in London support for the Ruby language, as well as a graph-based visual programming tool called Mobile Author.

  30. I came to the same conclusion by jordan314 · · Score: 1, Interesting

    after purchasing my T-mobile Wing. The iPhone may be sleeker and faster, but because developers don't have to waste time hacking their way into the OS, and because the OS is not limited to one device, there are several times more applications available for Windows Mobile out there. I'm sure many developers will be discouraged by Apple's bricking, too. I think someone hacked together a NES emulator and skype for the iPhone, but I still haven't seen unique applications like the music making software Syntrax, GPS tracking software like Tracky, or games as complex as Riven and Myst for the iPhone like I have on my pocket pc. Cnet has an amazing collection of pocket PC games and they all actually work for the phone; I used to use Getjar all the time for my last java phone but it was amazing even with a cross-platform language like Java how many of the applications just didn't work as expected (or at all) with my previous phone. It was always a gamble. I agree with the author's stance that you can expect the same results the most with Windows Mobile, as much as I'd like to root for Apple, Linux or Java.

  31. I didn't finish TFA by kramulous · · Score: 1

    Some of the things, and mindsets, he/she was talking about were just plain wrong. A hobbyist programmer does not have a problem with JAVA ME/Python/[Insert language here] if that is the language that is required. Even if there is something peculiar with the language, a hobbyist easily overcomes it and moves on with, well, playing.

    I think this kid, and I hope that he is a young padwan, knows one mobile development platform moderately well, knows some syntax of another which happens to be similar to the first and wants to write some be-all, end-all document.

    Bah!! Wasted more time.

    --
    .
  32. s60v3 and python by JosefAssad · · Score: 2, Informative
    The author doesn't seem to have looked very closely at the symbian python implementation.

    Its almost impossible to test the application without signing it.

    Not true for s60 python scripts. You just copy them over and run them from the interpreter. Done.

    Developing native applications is only for people who plan to develop free applications or for big organizations, getting a certificate for a free application can take weeks if not months. Its no longer seems like a platform for hobbyist programmers.

    So, em, why this big imperative to develop "native" applications then? I thought python, perl, ruby, tcl/tk did away with the "native application" bigotry along time ago...

    The python implementation for s60v3 is actually pretty clean. I seem to recall an article from one of the id guys (was it Carmack or Romero?) on the nightmare of developing Java ME apps, what with differences in implementation from one device to another.

  33. Developing environement by cuby · · Score: 2, Insightful

    Hello.

    At an amateur level, J2ME is the best because is well documented, reasonable IDEs and free. It is not very powerful or fast, but it is simple and will do a lot of things.

    At a professional level, Symbian and Windows CE/Mobile are the viable options. If you want to build a decent UI, get good performance and use decent IDEs and get lots of resources, that's the way.
    Linux is the most promising new platform, but I tried to get into openmoko, as a useful hobby, but the development tools are a lot different of what I'm used to... It is taking a lot more time than I expected to learn the thing.

    --
    Math is beautiful... e^(pi*i)+1=0
  34. I've done BlackBerry development by Octorian · · Score: 4, Informative

    It is a shame that he doesn't bother to even mention anything about the BlackBerry platform. First and foremost, it *is* J2ME. (well, for the most part) You can run standard J2ME stuff on the BlackBerry, but you can also run stuff written against the BlackBerry-specific API. RIM provides free development tools, and while their own IDE is pretty poor, integrating their tools with the NetBeans IDE is pretty easy.

    The biggest advantage of BlackBerry Java development, IMHO, is that the OS itself is practically a JVM, and the built-in apps are also Java. On most phones, running a J2ME app requires waiting forever for the thing to start and never integrate well. On the BlackBerry, your own Java apps start instantly and can look just like all the other built-in apps. Finally, BlackBerry is a common platform across a wide range of popular devices, so you'll always have plenty of potential users even if you build BlackBerry-specific apps.

    And now for the shameless plug...
    Back when I got my BlackBerry, I found that there were no decent available E-Mail clients for them. (only the service-based E-Mail, which stinks if you're not hooked to a corporate BIS server.) So, I kicked off an open-source project to write my own:
    LogicMail - http://www.logicprobe.org/proj/logicmail

  35. Couldn't even get BREW to answer email... by Anonymous Coward · · Score: 0

    My Experience:

    Couldn't even get the people who run BREW to answer my email because I'm not a company.

    Seems like a lot of potential though if they add VNC/Remote Desktop and (I sold my VX9800 for bus fare before) they released Flash for it.

    J2ME looks great, but most phones can access very little of the phones memory. Too little.

    My Sony Mylo is my favorite so far... but its closed to development! A shame because it runs Linux. (PLEASE HELP!) And its only a IP/Skype Phone and Opera Browser not a cellphone. Maybe they will release the root unlock code when they stop supporting it.

  36. Strange by Salsaman · · Score: 1

    He seems to have omitted SCO ME. I wonder why ?

  37. MOD PARENT... by Anonymous Coward · · Score: 0

    ... FUNNY!!!

  38. What about handheld consoles? by TobW · · Score: 1

    As a big fan of the potential of the Nintendo DS, I want to point out the possibilities of developing for handheld consoles. In terms of functionality, the current handheld generation, i.e. the Nintendo DS and the Sony PSP aren't far behind, if not even ahead of, cellphones and PDAs. They both have nice big screens and WLAN, which opens up a broad range of possibilities for homebrew software. For example, for the DS there is an e-Mail program, web browsers, internet radio clients, ssh (in DSLinux) and much more. The PSP has a fast CPU and a powerful graphics chip, while the DS two screens one of which is a touchscreen, so it encourages experimentation with novel user interfaces. Both consoles can deal with removable media: The PSP uses the Memory Stick while for the DS there are adapters for Compact Flash and (mini|micro)SD cards. The SDKs are both unofficial, but freely available and actively maintained. Both homebrew scenes are worth checking out, since they have produced a lot of great software, which is not only games. I admit that getting into development is a bit hard at first, but the coolness factor of having your own apps and games running on a games console is just worth it :)

    Some links:
    Devkitpro (Compiler toolchains and SDKs for DS, PSP and others)
    Dev-Scene (DS homebrew news and homebrew database)
    DSLinux

    Pictoblog (one of my projects)
    My DS coding blog

    Cheers!
    Tob

  39. OpenMoko? by simpl3x · · Score: 1

    What about OpenMoko (http://openmoko.com/)? Perhaps Java isn't as consistent as it should be, development-wise. But, developing mobile applications is a rather new phenomenon, compared to computing in general.

    As an iPhone owner, I am really considering looking at this product. Running something like Processing (processing.org) on a device with a touch screen would be great. Windows/Microsoft has alway had a pretty decent perspective on developer support, even if their products aren't personally relevant.

  40. SuperWaba and OpenMoko by suggsjc · · Score: 2, Interesting

    Just want to throw a couple more into the mix.

    First, SuperWaba. It is by no means a fully feature platform, but if you are just doing some basic programming and want to be able to support multiple platforms (WinMo, Palm, and Blackberry) then it is fairly easy to get up and running. Also, it based on java, so 90% of java examples will "just work" when programming with SuperWaba. FWIW, that is what we are using for our deployment of a mobile solution for our company. Also, it is GPL for the community version and if you purchase support, you can have the LGPL version.

    Second, OpenMoko. It has been discussed on /. before, but it is basically a completely open source platform. You can program with GTK+ or now that Qtopia has been released for the Neo1973 you can also try your hand at Qt. Very volatile project right now, but quickly stabilizing and progressing.

    I know that neither of those have the numbers of the 8 that the article evaluated, but for certain cases they are very viable platforms. Also, both have a lot more freedom than most of those platforms as well.

    --
    When I have a kid, I want to put him in one of those strollers for twins and then run around the mall looking frantic.
  41. Mobile device development by Anonymous Coward · · Score: 0

    I always like PalmOS although it felt old and decrepit as it feels almost the same way that my limited Mac System 5 & 6 development experience from a kid felt, right down to the basic structure of programs and handling of various resources. THe bottom line though was that it worked, and it worked well if you were not sloppy, otherwise expect all sorts of random resets as your little beauty wanders through memory that it's not supposed to. The devices also had AWESOME battery life, tons of useful programs by others, etc. Unfortunatly ATM I'm down to a Clie as I temporarily bricked my IIIx with a TRG XTRA XTRA Pro memory expansion until I can track down a copy of Palm OS 3.3 that is JUST the ROM install. (The Palm version wants to backup the device before re-flashing, but that aint gonna be happening as the device is bricked ATM and I see no way of forcing it to skip that step.) The BIG problem with Palm OS ATM is that it appears to be a dead platform as last I heard Palm was going to be releasing linux based devices, and I suspect that they won't be like Palm's apparent original plan which was to have linux as a base with a Palm OS emulation(or similar) type of layer really running on top of it.

    Windows mobile always felt like MS was trying to shoehorn windows(NTish) into something that wasn't really capable of running it to any efficieny until a) they could get devices with larger/more affordable memory footprints, b) larger secondary storage cards in the form of flash memory or micro-hds, and c)some graphics acceleration(nice, but mostly unnecessary for PDAs/phones unless playing movies maybe). SDKs are OK, but last time I looked they weren't as nice as Visual Studio, unless MS has gotten more serious, and the paucity of 3rd party useful apps is astounding for a platform of wince's(and I do) age.

    JME PITA coding the UI unless ALOT has changed in the last 3 or 4 years. Still wouldn't be my choice for a lower powered mobile device as performance wouldn't be that great, and the tradeoff of more bulletproffedness really isn't worth it to me.

    Symbian: AFAIK it only appears in phones now, which aren't my main area of interest. Palm OS was nice in that a PDA app would pretty much run on a phone unless UI geometry was radically different/proprietary.

  42. Typical Indian "developer" !!! by Anonymous Coward · · Score: 1, Funny

    Can't believe that this made the front page of Slashdot! Absolutely no content to see here. What a total waste of my time and bandwidth!

    Typical of most "developers" I have encountered in India ... thinks he knows everything, but in fact knows nothing.

    I guess now he will add "journalism" to his resumé!

  43. The real criteria for a good hobbyist device? by juanfe · · Score: 2, Informative

    Seems like we're all trying to figure out what is a good hobbyist platform. So here are my thoughts, but any additional suggestions welcome:

    1. Low cost of entry -- if the hardware is expensive or the toolkits are expensive, it's not a good hobby tool
    2. Ubiquity -- if the hardware is hard to find or only three people have it (and two of them are in Zagreb) it probably won't build a good community of enthusiasts
    3. Plentiful and understandable documentation -- if information on it is hard to find or understand, you wouldn't learn about it to start with
    4. Uses languages I already know -- why learn something new?
    5. Vibrant community -- you want to feel part of something interesting, most of the time
    6. Easy tools to use -- good for the non-coder just-get-it-done-so-that-I-can-show-my-buddies
    7. Good tools to use -- good for the uber coder who just-get-it-done-so-that-I-can-show-my-buddies
    8. Simple distribution -- I want to be able to share my apps with my friends or the world.
    9. Path from hobby to profession -- making a living out of it!

    Under these criteria, I'd rank major mobile platforms this way:
    1 - Java ME (Ubiquitous on even low-cost cellphones with low cost data plans, easy to learn, low cost if you already have the phone, tools are free and some are even good, documentation is available although mas-o-menos, distribution is reasonably easy in most cases, path to profession is clear although bumpy. Java is well known.)
    2 - WinMobile (Ubiquitous -- getting a cheap PocketPC these days isn't difficult, easy to learn if you have the good tools -- thought a pain if you use the free tools, great tools although the best are expensive!, documentation is plentiful, distribution is generally easy as long as you're not trying to hit SmartPhone platform, easy path to profession), community exists but probably not passionate [I went to a winmobile developer conference and the folks there looked as excited as someone waiting for a colonoscopy]. .NET is well known
    3 - Linux (if you can find a Zaurus on the cheap, and are already a Linux coder or can pick up *nix thinking, it's a good platform for making some very complete applications. Development tools are ubiquitous but can be hard to figure out for the beginner, but the community will help you out through building makefiles. path to profession on mobile linux limited given small range of devices, unless you're a consultant). C is well known. Other platforms (Python, Perl, ROR) are available, though not sure about the mobile side.
    4- Symbian (devices are ubiquitous in europe, coding for it can suck, distribution can be tricky at best, but there's enough community support that it may be worthwhile, although if I were a hobbyist I'd try different things. C is well known but the API set I've heard is miserable.
    5 - BlackBerry (Easy to find devices although service can be expensive, tools are great if you don't need a visual IDE (visual IDE costs more overall because you need a Blackberry enterprise server + MDS), documentation is very good, community is animated though smaller, path to profession is clear. Java, XHTML, ECMA script are well known.
    6- Palm OS (easy to find cheap devices, no services required, tools are adequate, documentation is solid, not exactly great for quick throwaway apps though. C and Java ME available
    7 - BREW: BREW is designed to discourage hobbyists. The point is to make it so that mobile operators only have to deal with pros or companies that put money into the bucket.

    Any other thoughts?

    --
    ***Foucault is watching you..***
    1. Re:The real criteria for a good hobbyist device? by spaceyhackerlady · · Score: 1

      7 - BREW: BREW is designed to discourage hobbyists. The point is to make it so that mobile operators only have to deal with pros or companies that put money into the bucket.

      Any schmuck can download the SDK and play with Brew apps on the emulator, but only a company can get the access you need to run apps, even for testing, on a real device. I think this is a shame; Brew does some genuinely interesting things.

      (Yes, I do Brew for a living. I can (and do) run apps on real devices on real networks.)

      My choice for a hobbyist-friendly mobile platform is probably still Palm OS. Some of the free gcc-based toolchain is antiquated, but as long as it builds things that run on real devices, I don't care.

      ...laura

  44. Good point ... by DrJimbo · · Score: 1

    ... but a MMORG with a subscription service is probably a bit too ambitious an undertaking for a solo hobbyist. I was thinking more in terms of little shareware type utility programs that are pretty ubiquitous in the Mac and Windows world but are nearly non-existent on Linux.

    --
    We don't see the world as it is, we see it as we are.
    -- Anais Nin
    1. Re:Good point ... by rucs_hack · · Score: 1

      ... but a MMORG with a subscription service is probably a bit too ambitious an undertaking for a solo hobbyist

      Is it? oh dear. far too many people I know have said this.

      Still, I will continue writing mine. Either I succeed or I create a new level of sucking at game design.

  45. I call bullshit by edxwelch · · Score: 1

    Although I haven't used Symbian, I read a lot of discussion on the Nokia forums about this topic. Most of the API can be accessed from a self signed application.

  46. Oops by DrJimbo · · Score: 1

    You got me again. Touche and my apologies. Linux started out as a hobby. Best of luck with your MMORG.

    --
    We don't see the world as it is, we see it as we are.
    -- Anais Nin
    1. Re:Oops by rucs_hack · · Score: 1

      thanks. I've got a few years to go yet, at the moment I'm just building the engine in spare time, and there is precious little of that right now.

  47. Best Hobbyist OS != Best OS by GodfatherofSoul · · Score: 1

    I've worked with Palm OS = 5 and Windows Mobile and while Palm OS is superior, I think someone just wanting to churn out quick apps could get up to speed faster with a WM SDK. Firstly, you likely already have a familiarity with Win32 or MFC and the development tools. Secondly, there are tons of resources out there while other OSs are by nature esoteric development communities.

    --
    I swear to God...I swear to God! That is NOT how you treat your human!
  48. Re:Badly written perhaps but decent consolidation by Anonymous Coward · · Score: 0

    I like the attempt in trying to evaluate the developer aspect of each technology. I dont agree with the writer's thoughts on J2ME as I think it is very very good and easy to deploy. Most handset browsers support MIDP2.0 download like OMA download and allow easy deployment. I develop on my T42p and use bluetooth to deploy my J2ME midlet onto my handset(Motorola A768i) and have done it with ease. BREW SDK is decent but Qualcomm is a monopolizing company that allows only MShop to download. They should consider opening up. I heard that they recently hit the $1-billion mark with their BREW Applet Brokering and download. Yet it is a pain to get the binary on a handset. Yet to play with Palm, Symbian and Windows Mobile SDKs. Does anyone have the market break up as to what persentage of handsets use BREW, how many use Symbian, how many are Windows mobile and how many have J2ME ? I bet that J2ME is the heighest. I worked on a WCDMA BREW phone which had the J2ME BREW extension pre provided. I know a few Symbian phones also have J2ME. For Sheer Ubiquity, choose J2ME. I have a midlet to compute the Monthly Mortgage.

  49. on Java / J2ME / JME for mobile development by Anonymous Coward · · Score: 0

    I can talk about what I know... TFA is a joke. All major gaming companies makes hundreds of millions $ selling Java games for cellphones (yup, hundreds): EA, Sony, bla bla bla you name it. Why Java? Because it just works and is present on > 95% of all mobiles sold.

    So where's the catch? Why is development such a nightmare? Bogus JVM (BlackBerry being a terrible offender here: one of the buggiest JVM out there) and different configurations. Think a huge makefile to compile a Linux kernel for different architecture is complex? Try to compile a cellphone app targetting hundreds (if not thousands) of differents cellphones...

    There's no easy solution to this and companies making (usually commercial, the open source offerings being, at this point, a pathetical joke) this kind of compilation possible are making millions. EA bought such a company in 2005: a company that had one poney trick: porting games to hundreds of cellphones. The price that EA paid? 700 million $. Re-read that price a hundred times. If you think developing an app targetting hundreds of cellphones is "easy" or "is going to be easy" anytime soon, you need a reality check for you're seriously unwell.

    Btw severall of these companies now have completely automated Java --> Brew (C++) converter that simply works too.

    Makefiles or ant tasks are a joke compared to what the tools allowing to automate porting to hundreds of applications (and various different languages, like automated Java to Brew conversion) are doing.