Rss feed

You are currently browsing the archives for the Magic category.

Archive for the ‘Magic’ Category


Magic is brewing.

Magic Wand

Its Magic

I apologise for the title, I’ve been making cringe worthy “magic” based jokes and references all day, I just cant help myself.¬† In opposition to the mountain of work that seemed to lay ahead of me yesterday when I’d first decided to make the move to the Active records interaction style, today’s work load seems a damn sight lighter. Not only has the move been completed but I’ve also made great progress with a number of other core elements.

Better still the project has started gathering momentum with a total of 4 new people working on the project with me. In addition to Jayson the first person to contribute to the project,( drafting a number of templates for the Magic “Community site engine”‘s demo’s) , a second designer Source has also stepped in and created a fantastic looking logo. On the programming end, the project has also gained two more developers, Dan a good friend from uni whom has great deal of talent and experience in web design and Ryan a budding PHP programmer.

A downside of the sudden interest though is the requirement for me to actually start putting together some proper documentation, roadmap’s and plans for the project. It turned out working from the ideas in my head is a lot harder for the people who are not me :p . Its an interesting experience trying to manage the project though, as despite the fact a number of the courses on my degree programme try to drum the importance of project management in to everything, none of the situations its ever provided have ever really demonstrate a real need for it (other than seemingly wasting time that is). This project on the other hand does need it, I’m spending almost as much time talking with people about the project than I am coding it. But, I suppose it just goes to show, there’s no substitute for the real world.

One step forward two steps back

The development time frame on magic just took a hit today, not by a bug or oversight, but instead by a good idea. One of my MSN contacts (Iszak) was talking to me about how the magic framework worked, during this conversation he said something I initially though was a bit strange, that my User class was pointless. This threw me a little as the User class is central to the frameworks design and plays a big roll in almost every interaction with the system.

His point become much clearer after I read the first line of the example he gave me.

class User extends Database {

Throughout my development although User Object  had been central to the design, it had always used the Usersystem class as a middle man when interacting with the database. This meant all loading and saving users could only be done by a few relatively complex functions within the heart of the Usersystem class. The solution of creating a user as an extension of the database class had simply never occurred to me. The solution provided a much more elegant way of interacting with the database, even more flexibility with the User objects set-up and most of all for the User Class to be the sole controller of all things user.

The big downside of this is a lot of the code I’ve written is now pointless or wrong and that a great deal of rewriting and restructuring is going to be needed. Not to mention the entire way guests are handled and users are added needs to be totally rethought. In the long run though, i do think this will be worth the setback. Unfortunately in the short term, this means a lot of extra work for me. Still more unfortune than that is a HCI exam i have tommrow, and a slight need to do at least some revison for it, which all adds up to there going to be a good few days before Magic’s back where it was just an hour ago. On the bright side though, when the next version does come, not only will its internals be more sorted out, but the demo’s will be far less unsighly thanks to the kind contribution of a defualt layout by Jason Wendell.