Thursday, 6 September 2012

Java ME Permissions Suck and another Jupiter Broadcasting App

So I decided on the development platform and the app, I was going to write for the new/old phone the Sony Ericsson P1i. I would write the app for JavaME because at least then other people can use it. There are supposed to be more JavaME enabled phone in the world than androids. Therefore this way it won't be completely useless to others.

Getting setup up for development wasn't very difficult. I downloaded NetBeans with the JavaME plugin. (Note in order for JavaME to work you'll also need the JavaEE plugin. Its a bug :( ) I also downloaded the Visual Designer Plugin which is a really nice bit of kit to help with both the flow of your application and GUI design. I felt it really helped me to keep most of the back end code abstracted from the GUI.

The application I decided to write was a Jupiter broadcasting app because the default RSS reader on my P1i can't handle the feeds from the Jupiter broadcasting properly. I didn't port my android app instead I decided to do a complete re-write. Although I'm very tempted to swap out some of the old android app's parser with the new one from this app. Deciding I wanted a videos feed and a MP3 feed. I sat down a wrote an xml parser using the java sax library.

What's interesting about programming in JavaME isn't not what it can do but what it can't. I had to forgo the use of many features of Java that I'm very used too. The lack of generics and "for each" loops especially made me cringe but I persevered. The only major issue I came across was the permissions for JavaME Mid-lets. They are, to put it lightly, the most annoying thing I have ever seen on a phone(including crazy frog) and without a certificate, from Verisign or Thawte (Very Pricey), they don't go away. I mean every time a platform request or access to anything outside the app is made it asks the user about permissions and then doesn't save that as a setting !!!

I'll have to say some nice things about JavaME after that rant.

  • Its looks and feels for the most part native. (Which isn't something you can usually say about a java app)
  • Even though its all Java. It was much easier to pick up than I remember android being.
  • Its on a lot of devices. It even over took android, for while at the start of this year.

Anyway for those Jupiter broadcasting fans who have JavaME enabled phones.

Source code is on git hub
or
Download the jar to you phone.

It's still in active development(beta) so if you have any bugs let me know. I'm currently looking at new features like a
  • Live stream
  • Categorized show feeds (Done)
  • A file browser for previous downloads
 I'm probably going to MIT license it.

Here are a few more screenshots for those interesting. I think my phone's theme lends a lot to them but you have to admit the app looks a hell of a lot prettier than than my android version:

No comments:

Post a Comment