Sunday 29 November 2009

Preparing for collaboration

I managed to completely screw up the tags system for the forum when I played around with the preview 1.2.8 version of the app engine sdk. I wanted to test how the multiple tag association and searching would work with the "IN" keyword, it looks neat and tidy from a code stand point but is very inefficient with the writes. If I cache heavily enough than we should get away with it however. I have finally figured out what I broke though when I reverted back to a non multiple tag version of the forum, so the forum is usable again.
I have decided to use Google Wave as the main source of communication and collaboration for the project. I will be working on writing up some guides to make it easy for people to jump in and help with the forum development when I am not busy coding the forum. I want to make the forum look a little more like the designs, then I will upload the forum to the app engine servers for people to play with. It will be very far from complete though, so you should only check it out if you are curious to see what has done as it won't give you any indication of what the finaly product will look like. Expect that to happen soon.
I found a very nice site that provides free svn and git hosting that I am using for the flow forum source control. If you have a need for such a thing for your own project you should check out unfuddle, there site is very slick and has performed flawlessly for me so far.

Saturday 21 November 2009

Play time is fun time

Coding the forum has been full of challenges so far. Coming from a RDMS background, working the googles bigtable datastore has been a fun challenge to tackle. I get the feeling that I will be making a number of big changes to the datastore models when I see the forum under load.
The good news however is that the Play! framework has been as good as I could have hoped for so far. It cuts down on enough syntax for me to not feel bogged down by using Java which I was beginning to think would never happen. Though I have yet to actually test any code yet, I just can't be bothered doing any dummy html until I have all of the backend stuff written up for adding and viewing posts and discussions.
I have a habit of over-estimating my abilities and falling short of any deadlines I set for myself, so it should come as no shock that I don't actually have anything for you guys to view yet. I have talked with a couple of guys who previously showed interest in working on the forum with me in the past, and they both said they are still interested. This is great news as they are both very talented and will speed up development greatly once they are brought on board. Can't wait.
All in all things are still looking bright for the forum.

Tuesday 17 November 2009

Play Framework

Last week I finally found the java web framework that I have been looking for. It is called the Play! framework. Check out the video at http://www.playframework.org/ to see why I like it so much. This framework is quite similar to the Ruby on Rails framework that I love so much and will allow me to develop much faster than I could in any other framework I have come across which I find to be very important.
Now that I have this framework I have decided to put the cms development on hold as I no longer need it for the forum as I can achieve everything I need using the play framework. This means that development of the forum itself is starting this week and I will be able to give you all a working prototype pretty quickly.
I am hoping to have completed the forum enough for discussion creation and listing at a minimum by the end of the week and hope to have a teaser uploaded by the end of the week. I plan on releasing new previews once a week (probably Fridays) so that you can see where the forum is headed and provide feedback while I work on the forum.
Let me know what you think about the play framework. I especially look forward to no longer having to do the usual development process of compile, stop server, start server, reload page.

Sunday 1 November 2009

Why do Java developpers neglect error messages?

It feels like everytime I use Java for this project I am left wondering one thing, what is with the error messages? Today I had a problem with the query I was sending to the datastore and the only error message I received was a null pointer error message at the line the query was being executed. The query itself was written in a previous line of code and I had no way of knowing whether the error message was due to assigning the object to a List, lack of data being returned or any number of potential problems.
AppEngine is currently at version 1.2.6 so I would expect more care given to error messages by now. Even worse though is that I am using the mature JDO framework that Google have modified to work with AppEngine. Surely after all this time they would have decent error messages being returned. These type of things really annoy me, because they waste hours of my time that could be better spent working on my project. By the time that I figure out the cause of the error I am too angry to continue on with the coding.
Surely if you are going to take the time to write a framework for others to use, especially if this is for use on your own servers for your customers to use, you would want to make the development experience as straight forward and annoyance free as possible. I am really starting to understand why Java has such a bad rap.