Current Projects

Google Application Engine

I have been playing around with the Java version of the Google App Engine. I got user access ages ago but didn’t have the time or an idea of how I would use it.

Since then I have written a few Android applications and from quite a few of the comments on my traffic application I can see that it would be a nice idea to provide a service in the ‘cloud’ which:

The main reason for this is that my isp is just a simple provider. There is no Tomcat server or anything like that. I could write a CGI script to process data which is sitting in xml files (say) but that won’t be fast enough really.

Looking at what the App Engine provides it should be possible to write a service which presents a number of servlets which deal with such requests.

So, I have been working on an application which downloads the HA traffic RSS data and dishes up data according to the users gps position. In fact I have this working but I want to present the code so anyone else can learn from it. To that end I have been writing some GWT code for what must the first time in two years. I can’t believe it’s been so long. I recently went on to the GWT forum and was amazed that some of the same people are still there. That used to be my haunt de jour until I went off on a tangent into writing Flex applications. The code is coming together but as usual I have got obsessed over making minor details perfect. This kind of attitude is both a blessing and a curse as any developer will tell you. The devil is in the details but sometime you just want something to work. I have noticed though that the stuff which gets attention tend to have some polish on it so I would always say it’s worthwhile as long as it doesn’t go on forever.

The ultimate aim is to write an Android application which uses this data.

Palm Pre Mojo Debugger

I can’t think of a project in recent memory which I have spent so much time on and then abandoned. Yet, it would be a shame to completely ditch it. I spent about two months of lunchtimes and weekends intensively developing this and now I seem to have hit a brick wall.

What am I going to do with this code? It uses the Mojo SDK jars so I can’t put it up on Google Code without a lot of explanation and I am worried that I won’t find any Java developers within the Palm Pre community who have the ‘chops’ to get their heads around it and make the necessary improvements like parsing the GDB output. The next steps need some hardcore skills which I don’t have the time or inclanation to get into. It would make an ideal project for a CS student.

So that’s it. That’s the current state of play. I find myself slowing down a bit because I am taking on bigger projects and they take time to get right.

Flex: IFrame 1.3.4

I am very pleased to announce that there is a new version of the Flex IFrame. This is the work of Julien Nicoulaud . Julien works on the open-source project OW2 JASMINe which uses the IFrame as part of a sub-project Kerneos.

As well as bringing his own additions to the code he has brought together the many fixes posted on the issues sections of the Google code page. Also, (as if that wasn’t enough) he has re-factored the codebase and added comments and documentation plus added some amazing new examples. There is also a new Google group where users can discuss the component here.

I had a look over the code on Friday and was really impressed at how much it was improved. I have been lax at keeping the code up to date and Julien has made an completely fantastic job of it.

Many many thanks to Julien for taking this on.

Android: gTraffic UK Update

Well, it’s been a while since I worked on my UK Traffic application. With the release of the Android 1.6 SDK I thought it was time I made some updates. There are a couple of cosmetic changes most significantly I have ‘thickened’ the timebar marker. Also I applied a filter to the timebar colour to give a blur effect. Nice.

Main

You can see this in the above screen-shot. The previous one didn’t stand out enough for my liking.

There are also a few changes under the hood. In particular the map API is slightly different so I had to refactor the code a little to bring it into line.

I’ve decided to go back to the traffic NY application as well and see if I can do something with it. There are still 200 active installs which is interesting. I occasionally boot the app up on my developer phone and the last time I looked all the NYSDOT data was out of date so I think I am going to have to look into what on earth is going on with their RSS feed. I did mail them before and got a reply when I was moaning about there roadworks feed so we’ll see.

Other news is that I emailed Palm developers about my development of the debugger plugin but so far I have had no reply. I was asking about using the Palm SDK jar files. Well it’s been a week and I thought I would at least have got a response (saying no way) but nothing. Oh well.

Development of this plug-in is (so far) for my own amusement. I was thinking that it might me something I could sell but I don’t think I will beat the Palm developers to it.

It looks to me that output of the debugger is in gdb format. This would make sense as the platform is Linux based. To this end I got thinking about Antlr and parsing the output. Searching for this stuff is hard! Not many references but I suspect I will have to write some Antlr grammar to extract the file references and methods from the debugger output.

WebOS: Mojo Plugin vars

The following screenshot shows the loop variable highlighted because it has changed since the last step.

Variables

The variable status is reset on user-pause or breakpoint.

So, I am getting towards some sort of state where I might have to think what to do with this software. I think what I’ll try to do is develop a Mojo Palm Pre application using it. I am expecting Palm are working on there own version. They certainly mentioned that developer tools were a high priority on their blog. When they release their own this will become completely redundant but we’ll wait and see. For the heck of it I am going to keep working on it now and then.

WebOS: Mojo Debugger Stable

It’s looking good. After a mammoth effort to get my head round the Eclipse debug support and User Interface messaging I think I have a fairly stable version of a debugger now.

This has breakpoint, step and simple local variable support. The feature set is kind of at the mercy of the WebOS debugger really as it is the one driving the back-end.

Variables

The screenshot shows the application sitting at a breakpoint. If you look at the variable output you will see from the variables that I have been stepping around inside the for loop.

WebOS:Android: Updates

I think I’ll have a break from trying to debug the Palm Pre Debugger plugin as it is doing my head in trying to track all the threads of execution. I need to roll back to a simpler version so I can make sure that is working properly first before trying to get the variable dump working.

Android 1.6 is out and I have been very neglectful recently with my applications on the app store. Would you believe the most popular application is the first one I wrote ‘Simple Weather’? The others have been trounced well and truly in the download stakes.

Variables

The app store is looking for screen shots. I sat down tonight and booted up the Android emulator only to realise I hadn’t a clue what I was doing. So, I think I should spend a few days getting back into the toolset.

WebOS: Mojo Debugger Local Variables

Local variables support added.

Variables

More complex objects are going to be a bit of a challenge.

I am going to go back through the code at this point and re-factor out some of the more ropey looking parts.

WebOS: Mojo Debugger Step Support

Step support has been added.

Step

You can set breakpoints, break, step over, into and out of your code and resume.

States

Next is processing the variables.

WebOS: Mojo Debugger Breakpoint

I have literally just got this working after spending the last two days trying to figure out how to link the breakpoint to the source code. It turns out the solution is the last thing mentioned in the ‘How to write a debugger’ article for Eclipse. You need to create a presentation object. This returns a reference to whatever file editor the javascript is associated with, which if you have the Aptana plugin is the Aptana editor.

Breakpoint

This is version 1.4.4 of the plugin showing a breakpoint in the preferences view of the newsReader sample application. Note, the stack dump but no local variables yet. Also note the application is called ‘Mojo App #1′ in the debug window. This is so I can keep track of the strings I am using. I will go back through this and fix all that stuff at some point.

So this is quite a major milestone. When I started this I visualised that this was what I wanted to see. A breakpoint in the editor with the stack dump. The only bit that’s missing is the variables, that’s another issue in itself. I always thought I could get this working but I also had my moments when I doubted myself. If it wasn’t so late I would pour myself a McCallan but I think I’ll savour this soberly and look at it again tomorrow.

WebOS: Mojo Debugger State Machine

An hour here an hour there does not make for great progress. I am not an expert in regex so I have resorted to writing unit tests to try and sort out the parsing issues I’ve been getting with the debugger output. Here is a diagram with the state machine for startup, run and pause on breakpoint. This works sort of.

Debugger

Debugging this is a bit of a chore as the inclusion of the Aptana plugin makes Eclipse really really slow to start up – and of course I am listening to the Aptana javascript editor for breakpoints so I do need it. There might be stuff I can switch off but I haven’t figured out what yet.

Hopefully this weekend I will get a better run and factoring out some of the problems. The good news is that you can set a breakpoint and when it hits the debugger picks this up, gets the stack trace, gets the local variables (or it would do but this state is empty for the moment) before waiting for you to resume. I haven’t put in the step functionality yet although it should be straightforward (in theory anyway).

I am still waiting for Palm to announce their own Eclipse debugger support any day now so I can stop this programming death march (only joking, I think). I guess I’ll just keep going until I get to the point where I get totally stuck.

Next Page →