ucantblamem

Archive for the 'Work' Category

HTML Email: State of emergency

7th Sep 2007

There are a few really cruddy projects in my profession and one of them is developing an HTML email template. Email templates are one of those things that every client wants and usually they want more flexibility with an email template than what they do with their website template.

Unfortunately for us developers, CSS support in email clients is horrendous… I’m not talking IE6 horrendous; I’m talking like pre-history, not even close to web browser horrendous! As always, the main culprit for pitiful CSS-rendering is Microsoft.

During the development of Office 2007 a very intelligent [read: brainless] marketing person (I assume) had the hair-brained idea to put the Word rendering engine into Outlook to render emails. It doesn’t take a genius to realise that Word is not the right tool for the job.

The other surprising culprit is Google… Yes, you read that right. Gmail (Google’s online mail app) has terrible CSS support and the only way to render half-descent looking emails is using deprecated stylised HTML elements (like the <font> tag).

The fantastic crew at Campaign Monitor put together a very comprehensive run-down of CSS support in the most popular mail clients; which was recently updated. To read through this report is fairly disheartening as a developer, considering that you (we) should try and develop for the lowest common denominator.

A number of years ago, Jeffrey Zeldman started a revolution in the web industry, spearheading the standards movement and bringing about a big wake-up call for certain overly popular software companies.

Well, it’s quite possible that this has started again. Except that this time it’s specific to Email clients. David Greiner from Campaign Monitor put together a very compelling little blog-post two days ago, which seems to be making a few small ripples in the web-industry. Hopefully, these ripples will turn into waves and eventually poor down a tsunami on the people who really need to hear it.

I’m looking at you Microsoft! 

Position Available: Developer

17th Jul 2007

Yes, another exciting position has opened up at work for an ace developer who lives in PHP/MySQL and breathes interesting projects.
Musicadium/SM2 Collaboration
If your ears are piqued at this point, you might also like to know that you’ll have the opportunity to work with Mac OSX, Linux and Windows writing custom applications, integrating API’s inside an MVC framework and putting your work on show to a global audience.

This is a bit of “joint” position, where most of your time will be spent working on systems for Musicadium, but there will be some projects for SM2 as well. In any case, you’ll love the work environment, which is very fun and “dot-com-ish”, located in James St (Fortitude Valley).

There’s probably a bit too much to tell in a short space (and limited time), but… If you want more info, feel free to drop me a line or leave a comment at the bottom of this post!

Ignite thy code

3rd Jul 2007

The development team at SM2 has had a bit of down time this past week, which couldn’t have come at a better time considering the joyous news from the Joomla! camp recently. That’s not to say we’ve been lying down on the job mind you… We have been very busily researching development frameworks, which has been a lot of fun. Fun, because it means we have a clean slate and we can make a discerned decision about the environment we will be working with for the coming months (and years???).

There is no shortage of PHP frameworks or CMS’s out there, let me assure you, but having been burnt by the GPL we were able to cull the list pretty significantly. After a quick scan of the options we were pretty convinced that CakePHP would lead us out of the valley of the shadow of death. As a practical test, we rebuilt one of our internal systems with pretty impressive results! However, come Monday a wildcard entry fell in our laps and Cake suddenly had a worthy contender.

Code Igniter (the framework behind expression engine), has a very small footprint with every feature you want and none that you don’t. Today we spent half a day learning the framework and rebuilding the entire Musicadium site with it. Not only did we learn a new framework and build a site in the new framework in less than half a day, but we also built our own extensions and helpers with very little fuss. To compound our joyful discovery, we found a bridge from CI to Joomla!, that with a few tweeks should help us to transition smoothly.

CI uses an MVC paradigm (as does every other framework today) coupled with a bunch of very handy libraries, it allows you to include tools as you need them (rather than include everything up front). What this means is that memory usage is extraordinarily good. As an example, a page render from the application we built in Cake used about 3.3Mb of memory, whereas a page from the CI application used 0.63Mb of memory (Joomla! uses about 3 or 4 Mb).

I think the thing I like most about CI is that it doesn’t try and force you to use really obscure classes and methods to do everything. While I was programming in it, I didn’t feel like I was using a framework, which is very refreshing.

I love Rails (you probably know that already), but there is a learning curve to it. I read two books, about a 1000 words pages in total, watched many screencasts and read much of the Wiki, yet I still wouldn’t say that I’m a proficient Rails programmer. In contrast, I simply glanced over the CI user guide last night and I was able to accomplish quite a bit in a short space of time. Granted; that I am pretty well versed in PHP and MVC, but I still attribute a lot of the speed to the framework.

Thinking about it, it is interesting that we ended up building our own libraries (in the first two hours of using the thing), I guess you could argue that the framework wasn’t sufficiently catering for our needs, but honestly, building libraries was an incredibly painless procedure and as a matter of fact, I really enjoyed it.

There is one other reason that this framework has me excited though… As Kindalogical was winding up at the end of 2005, we were just starting to use our new CMS “KindaContent”. It was very young, with VERY immature programming behind it and ever since the day we closed down I’ve dreamt of all the things I’d do if I rebuilt it. The scary part is that what I’m seeing in CI is a lot of the ideas that I’ve had over the last few years, rolled up into a polished framework, maintained by someone other than myself, with a non-GPL license! :P

I don’t want to go through a lengthy run-down of the framework and it’s pro’s and con’s. I mean, I simply couldn’t do that, I haven’t been using it long enough… BUT… First impressions last, as they say and first impressions are very good! I don’t think we’ve finished doing our evaluations and there’s a good chance we may not even end up using CI as our number one framework, but it’s a great little discovery which should come in handy at some stage.