KoolAid Part 2
After I got my Nokia 6620 last November, I pretty much installed everything I could get my hands on, and it was a rough time. The smartphone experience it still pretty lacking.
One of the biggest disappointments of my phone was what a pain it was to do an online search.
Now I use search engines a _lot_, at work and at home. I basically think of them as an extension of my brain these days. But WAP really is crap.(and crack is wack, too, Whitney). I tried html browsers (Opera, NetFront, ReqWireless), but couldn't stand using them to search. The only thing I seem to use my html browser for is Bloglines. I was seriously disappointed in Google and Yahoo's mobile search options and couldn't find anything else.
So I set out to write my own little search tool. Luckily I've been coding Java for a long time, and my phone supports MIDP2.0. It was surprisingly tough to setup my dev environment. It actually took me longer to get my dev environment setup than to code my app. Developing in J2ME kind of reminds me of trying to code Java when it was first released from Sun. There weren't a lot of good resources and of the stuff that you could find, you weren't sure about its accuracy.
My goal was an application that allowed me to make a fast online search through my phone when I didn't have access to a computer. The situations that I had in mind were things like settling and argument among buddies at a bar, or finding a phone number of address of a restaurant when I'm lost and driving around. Or searching for song lyrics or who sings a certain song I just heard for the first time. Or, just satisfying my natural curiosity for trivial knowledge.
But it had to be fast, with a quick User Interface, and also keep the amount of data being passed around minimal.
So fast-forward to last week. There was a great article last week by Steve Litchfield on All About Symbian about the lack of freeware for Symbian devices. This was a great call-to-arms for me to finish my app and get it out there in case anyone else found it useful. I cranked hard over the past week and got BlitzCheck working, added a little polish, and threw it up on my site.
So looking back at my introduction to J2ME experience, I figured I'd share some thoughts about it.
Rants:
- Wow, there are a lot of SDKs, IDEs, and emulators out there. It was tough deciding what to go with. I don't envy anyone who is about to get started in J2ME. But I'm pretty happy with my setup now: Eclipse with the EclipseME and Nokia plugins. I generally code, debug, and test against the WTK emulator, then test again on the series 60 Prototype 2.0 emulator, and finally on the series 60 2.1 emulator.
- I've got a couple of Nokia specific rants. WTF was Nokia thinking with their Form implementation?! That title and icon take up 1/3 of the screen space! So I'm coding along happily with forms in Sun's WTK emulator and go to test it out on the Nokia emulator. BAM! I lose half of my real estate. I can't believe they would actually do this, so I try it on my real phone and the same thing happens. C'mon, we don't have a lot of screen space to start with. Why, Nokia, why?
- OK, another Nokia rant. Nokia adds an Exit softkey Command automatically, but the Sun WTK doesn't. And this can't be overridden. So you've got to handle softkey commands one way for Nokia and another for everyone else. Actually, this is probably one of the biggest obstacles I see now for J2ME. There are too many device-specific issues to code around.
- Actually, this one isn't a total rant. I can see why they automatically always have an Exit command since if there isn't one, users won't be able to exit the App. Still, it's a pain to deal with code that has to work around device inconsistencies. Oh well, I find navigating an app with the softkeys annoying and not very efficient anyway, so screw it.
- Hmm, now for a general MIDP comment. I'm not too thrilled with the high-level UI API. Is it possible to change the background color of a Form? If not, I'd really like that for Christmas this year. I'm just not sure there's enough control in the high-level API for a good user experience and look and feel. That's ok, at least I can use a Canvas, and luckily I know canvases really well from my old-school days of writing applets.
- The Nokia dev forum is a great resource. Lots of knowledgeable people on there. While looking for code examples, I found lots of examples from college "Intro to Programming"-type of courses. This is a great idea, J2ME is a simple environment, a great sandbox to learn basic stuff, and you can still do really cool things. When I was in school, the required programming class for all the engineers was in Pascal, and you couldn't do much with it. The cool effect of this is that colleges are cranking out armies of engineers that can code J2ME in their sleep, which should be great for the future of J2ME.
Posted on Thu, 24 Feb 2005 17:50 by Seni Sangrujee (2314 day(s) old)
