Fun with Photoshop and cross-browser CSS

The consensus wasn't to go live with the new site straight away after all but to create a better impression on the public by waiting on the final design and within no time at all Jordan had worked his graphical magic and delivered the goods.

I was supplied with a .psd mockup and got busy with Photoshop. I hadn't used this app in a while and it took some time to relearn how to use it but I managed to cut things up and proceeded to get stuck into the CSS.

Again I had to revisit some skills I hadn’t used since I started my current day job and when I looked at my first iteration in Internet Explorer I nearly cried.

Areas of difficulty I had were mainly concerned with how different browsers implement the box model and I also had to jump through some hoops to get opacity working but the end result is a consistent look across Firefox 2.0.x on Windows & Mac, Safari 3.0.x on Mac and IE 6.0.x on Windows. I haven't had a chance to test it with IE 7 but I imagine it is as broken as it's younger sibling ;)

I've already been working on the release process so there's just a few minor tweaks to go and the new site will be available in production.

Getting ready to launch

I’m preparing to push my code for the new Infurious site into production so we can start selling our first application, Rickshaw.

The site’s not too pretty but It Works and our freshly recruited designer Jordan has some interesting ideas for the next iteration. All the important stuff is present: people can download Rickshaw, purchase a license and the license details will be generated and mailed out to them. I’ve just had a dry run of this scenario and it all looks good.

Thankfully Aidan has been at hand and steered me away from over-engineering the project and ending up with just a mess of unfinished code :)

Doing this and holding down a 9 to 5 I’ve found difficult and the progress has been painfully slow but it will all be worth it.

Watch this space!

Infurious in person

I met my co-conspirator Aidan in person for the first time today. He's over here in sunny Belfast for a while and is working up on the third floor of the same building as myself, so we had a bit of lunch and got chatting about our plans for the future, our experiences of working for $BIG_CORP and life in general.

It was good to finally put a physical person to the online persona and apparently neither of us looks like the photos we use as avatars ;)

Go team Infurious!

Infurious Update

Just a quick update on what I’ve been working on for Infurious recently.

Since finishing up on configuring Jabber I’ve been developing our website with the specific aim of allowing customers to download our products and purchase licenses for them.

For this I’ve returned to CakePHP and been tinkering with the PHP portion of the AquaticPrime framework which Aidan has implemented in our upcoming application, Rickshaw.

Other highlights have been working with the PayPal Sandbox and writing a component which generates “Buy Now” buttons for our apps and then handles the Instant Payment Notification and Payment Data Transfer callbacks once the transaction has been completed.

My current task is generating the license details, emailing the details to the customer and finally bunging a copy into our database for future reference and backup purposes…

It beats making minor configuration changes for the world's largest financial institution any day!

Reinventing IRC – Jabber is go

After a lot of frustration, reading of documentation and even giving up completely on certain paths of action I finally got Jabber up and running. The “Jabber burnout” as Adian called it was terrible and only now do I feel de-stressed enough to write about it.

I initially setup an installation of jabberd2 as I have had previous experience with it and was comfortable with it's administration. I got it working without difficulty and could connect to it via a standalone client but ended up abandoning it when I tried to get a web interface working with it.

As is, jabberd2 doesn't have it's own http polling system, which is necessary for use with a web client and I looked at a couple of mplementations, including Punjab

but decided to throw in the towel and go with a different Jabber server which had this facility built-in, along with logging and multi-user chat: all things jabberd2 didn't provide. Enter ejabberd.

I found configuring ejabberd a bit awkward and the documentation a bit unclear but it eventually bent to my will. This was followed with a lot of playing about with mod_proxy which made me want to cry more than once, but the result was that I got JWChat working and from behind a restrictive corporate firewall :)

Getting multi-user chat operational was the final piece of the puzzle and I learned an important lesson: ejabberd's mod_muc module likes to be configured to use a subdomain of the virtual host, even if it doesn't resolve to anything in DNS. This was a painful lesson to learn…

Today, we have a groupchat facility, with logging, that's accessible from anywhere on the web, magic!

Back in Mac

I’m writing this on the shiny iMac Matt dropped off the other night. As it stood, I was the only guy in Infurious not on the Mac platform, which is a pretty fundamental prerequisite for working in a Mac shop, don’t you think?

I’m having to get re-used to the keyboard again and the mouse is giving me some difficulty which might just be due to the mouse itself, but all-in-all it’s been a not-unpleasant experience so far!

I’d forgotten how elegant the whole Mac lifestyle is. I’m used to Linux on my desktop and so I’m accustomed to a certain degree of clunkiness and things not always working the way I’d like. Not to mention that I have to use Windows 2000 during the 9 to 5, so it’s been like a breath of fresh air, which makes the contrast even greater.

I do most of my work on Linux boxen via the command line, along with a web browser and a mail client, so at the end of the day I have a similar experience no matter which platform I’m on and through the magic of free software I can use pretty much the same applications which makes things even easier.

Now that I have the hardware, you never know, I might actually become a “Mac Guy” yet!

mod_python, trac and ubuntu no go

As I previously mentioned, my current task as Infurious system admin is providing the team with a bug/task tracking system, namely Trac.

My initial thought was: “our server runs Ubuntu, this should be easy…”

I could get Trac running via tracd and I could see that mod_python was working via mod_python.testhandler but the two didn’t seem to want to play together. Last night, after much frustration, I just gave up and configured Trac to run as a CGI application. Problem solved.

Unfortunately this solution will introduce a performance penalty but at this stage it’s my priority to get the system functional before I start worrying about access speed.

All I have left to do is get the Trac permissions set up and I’m going to move on to configuring a Jabber server which will free us from our dependency on Campfire.

Me? A Linux hippy? You bet!

With Infurious Intent

It’s been a busy week. The lads and myself have been quite industrious, making plans and Getting Things Done.

I’ve taken on responsibility of taking care of the Linux side of things and last night finished setting up an SSL enhanced, WebDAV accessible Subversion repository, for which Aidan has written an introductory guide.

My current task is getting Trac installed and I’m quite enjoying being up to my elbows in command line goodness. It must be the Linux hippy in me ;)

There’s definitely an atmosphere of excitement about the endeavour and it makes the day job seem more tolerable knowing there could be more interesting things on the horizon. Geek on!