Please create an account to participate in the Slashdot moderation system

 



Forgot your password?
typodupeerror
×
Handhelds Programming

Best Platform For Hobbyist Mobile Development? 143

An anonymous reader notes a blog entry, possibly his own, comparing and evaluating 8 mobile platforms from the point of view of their suitability for a hobbyist programmer. Covered are iPhone, Java ME, Windows Mobile, Linux, Palm, Brew, Symbian, and Blackberry. The writer seems open-minded and is a strong fan of free software, but he gives the edge to Windows Mobile for this class of developer.
This discussion has been archived. No new comments can be posted.

Best Platform For Hobbyist Mobile Development?

Comments Filter:
  • Re:Badly written (Score:5, Informative)

    by Iftekhar25 ( 802052 ) on Tuesday October 02, 2007 @12:13AM (#20819479) Homepage
    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.

  • Oblig OpenMoko shill (Score:5, Informative)

    by Anonymous Coward on Tuesday October 02, 2007 @12:16AM (#20819507)
    Of course, if it's just for yourself, you should check out the OpenMoko [openmoko.org]. 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 [openmoko.org] is looking to be pretty sweet. Includes 3D accelerometer, GPS, WiFi, Bluetooth, and touch screen (with rumor of enabling multitouch [openmoko.org] through a driver update).
  • Re:Issues (Score:3, Informative)

    by Anonymous Coward on Tuesday October 02, 2007 @01:48AM (#20819955)
    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.
  • Re:My Take (Score:5, Informative)

    by Xtravar ( 725372 ) on Tuesday October 02, 2007 @03:01AM (#20820273) Homepage Journal
    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.
  • Embedded Engineering (Score:3, Informative)

    by MrCopilot ( 871878 ) on Tuesday October 02, 2007 @04:47AM (#20820663) Homepage Journal
    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.

  • MoSync (Score:1, Informative)

    by Anonymous Coward on Tuesday October 02, 2007 @05:38AM (#20820879)
    A new, multi-platform alternative is MoSync [mosync.com]. 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 [symbiansma...neshow.com] support for the Ruby language, as well as a graph-based visual programming tool called Mobile Author.
  • s60v3 and python (Score:3, Informative)

    by JosefAssad ( 1138611 ) on Tuesday October 02, 2007 @07:02AM (#20821207) Homepage
    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.

  • by Octorian ( 14086 ) on Tuesday October 02, 2007 @08:21AM (#20821507) Homepage
    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 [logicprobe.org]
  • by juanfe ( 466699 ) on Tuesday October 02, 2007 @11:27AM (#20823711) Homepage
    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?

A morsel of genuine history is a thing so rare as to be always valuable. -- Thomas Jefferson

Working...