Change of plans.. Focus changed to Swimulator

I know I recently posted about getting started on another project, and I’m probably still going to be working on it once in a while, but I tend to push personal projects aside whenever I have a paying assignment I can focus on (who wouldn’t, right?)

So.. What is this project? Well it’s actually one I’ve been working on for a while, but I just haven’t really disclosed anything about it, mainly because I wanted to get it to a state where I felt confident enough about it, and this step has been reached, with the conclusion of the first, initial part of the assignment. It’s a specialized J2ME stopwatch meant for swim coaches. It will register so-called splits and strokes, and will calculate various statistics based on these numbers, including the FINA score, if the event in question was a FINA event.

There were quite a few challenges in relation to this project, including handling floating-point numbers, which MIDP1 does not support, and also sending data to the web server, to store in a database.

That was the first part of it, and it works like it should, so now I have been asked to make modifications to it, expanding the application with some extra features, the main ones being to retrieve some data from the server again, as well as an auto-update feature. In addition to the application changes, and the obvious web server alterations to accommodate these changes, I have been asked to write a website without any particular design, that will handle these things, and enable people to go in and check the statistics for a particular swimmer, searching by a coach’s ID.

I’m really glad I got this assignment. Not because it pays well, because God knows it really doesn’t.. It’s a personal project for my client, and not something he’s probably going to make any money of ever (by choice, that is, because I personally think he could earn a bit from it).. Anyway, I’m side-tracking here.. The reason I’m so happy about it is, that this is a really nice project to work on, first of all, and second.. It allows me to play with CakePHP again, which I haven’t done since v1.1, and there are so many nice features in the new 1.2, that I’ve been itching, trying to come up with an excuse to get back to programming stuff with CakePHP. Here’s that chance, and I’m happy to have gotten it.

CakePHP is a really nifty implementation of MVC (Model, View, Controller), and while I know that there are quite a lot of purists out there, who will claim that it is in no way as complete an implementation as Ruby on Rails, I have to say that I tried that, and I could never really get properly used to Ruby, plus there are still more hosts that supports PHP, which makes it more plausible for smaller clients, like I usually have. The larger ones can afford dedicated servers, where they decide what to install.. My clients cannot, and they usually already have a hosting plan, which has so far always included PHP, and never RoR.

There are of course other MVC-based frameworks for PHP, but of the ones I’ve tried, I’ve found CakePHP to be the best, and not just in functionality, but also in terms of support. Whenever I’ve had a question, that I couldn’t answer by looking in the manual, the “bakery” (where people can post articles, including tutorials), and occasionally in the API documentation, I have been able to ask on the IRC channel, and get a really helpful answer. This type of support is really good, and a powerful community goes a long way, at least for me, when selecting something like a framework.

I think I will be posting updates on this project, as well as experiences with CakePHP as I work on this site, since this will be my first v1.2 project, and thus I’m bound to come across new stuff I haven’t dealt with before. I’m getting all giddy just thinking about it. Heh.

This entry was posted in CakePHP, J2ME, Java, PHP, Swimulator and tagged , , , , , , , , , , . Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>