Archive for February, 2010

Week 127

Once again I find myself writing these notes on a train. This time it’s to Exeter along with James Weiner to meet with a potential new client. I don’t know all that much about the projects he’s got in mind, but the connection was a word-of-mouth recommendation, which is always gratifying.

So far, it’s been a week spent primarily on work for a single client–very much a rarity lately–and it’s been good to be able to focus. I even ended my period of avoiding looking at facebook by working with some of their APIs and once I deciphered the documentation it wasn’t too bad. It’s not so much that the documentation is bad, but like the platform in general it makes huge all-or-nothing assumptions and all I wanted was something equivalent to oAuth.

Meanwhile things are gathering pace for the next couple of months’ projects. There’s a big one that Matt’s heading up that will occupy the majority of March and is quite exciting, and yesterday Jenny and I met to work on a proposal for another. Our estimate was substantially above the rough budget that the client had floated, but we’ve got a range of ideas of how they could fund it, other outcomes we could demonstrate that might justify an increased spend, etc. I really enjoy working on plans like that, expanding the vision of what a project could be and really hope this one works out.

We also have a new officemate. Ben Griffiths will be joining us next week and we’re very glad to have him. Not only is it a relief to have the rent distribution a bit closer to what we’d hoped, but it’s always fun to have new people, new ideas and new energy in the space. There’s one desk remaining for a full time occupant, plus we’re keeping a couple of spares in case anyone needs a short-term workspace in town.

The train’s not quite ready to pull out of the station and I’ve already covered everything I planned to. So I should sign off and decide whether to settle back with an In Our Time podcast, or get some work out of the way first…

Weekend Links

A few bits and pieces that have crossed my browser in the past couple of weeks (though mostly sifted through yesterday).

The NoSQL (or LessSQL) movement has garnered a lot of attention over the past few months, but numerous people have pointed out that MySQL can be adapted to cover many of the most common use-cases. Flickr’s Kellan kicked off a series of posts on that topic with Using, Abusing and Scaling MySQL at Flickr and Richard Crowley responded with OpenDNS MySQL abuses. On the other side of the coin, Luke Melia has a write-up of how he uses Redis to build a “who’s online now list” and Sean Cribbs’ (fairly convincing) Why Riak should power your next Rails app is worth a read even if you’re not a ruby developer.

It’s good to see that the twitter engineering team have started blogging. They’ve also extracted and released the code they use to extract key terms from tweets (links, @replies, etc).

Thanks to Ajaxian I spotted Plupload – “a generic component that allows you to create a rich upload experience on the back of a variety of transports. Whether it be HTML5, Gears, Silverlight, Flash, BrowserPlus or normal forms, you can get an upload experience with drag and drop, progress, client side image resizing and chunking.” The file upload experience is one clients are constantly asking me to improve, so this could come in very handy.

There was a flurry of posts this week about whether web designers need to know HTML, with a number of good contributions. Elliot Jay Stocks kicked things off and I principally noted contributions from Mark Boulton and Rachel Andrew. It seems that the key is that designers need to understand the capabilities and constraints of the medium, and having a basic grasp of HTML and CSS is a quick route towards that, though as Mark points out there are plenty of others.

From Mobile World Congress comes a projection that “cell phone subscriptions [are] to hit 5 billion globally” this year, and 1 billion mobile broadband subscriptions. Another MWC announcement Vodafone’s launch of the “world’s cheapest phone” puzzled me. At $15 it’s $5 more than the phone I bought during our last trip to the US.

I use god on a number of servers to monitor the various moving parts of my apps. For the most part it does a good job and recent patches that squash a memory leak have been very helpful, but it sounds as if Bluepill might be worth a look as a possible alternative. Hugo Baraúna has written up a tutorial on monitoring delayed_job using it.

Week 126

Once again I set out to write some weeknotes a few days ago, but the distractions of email got in the way and then it was time to dodge the umbrellas of a rainy Soho on my way to a Street Action board meeting. Which is a little odd as the past week was a good example of the way I hope more of my weeks will go: time at the start and end of the day handling email and other admin, and the bulk of each day spent focussing on a single longer task. It’s good to be able to finish each day with a clear sense of what was achieved.

I also got to enjoy a day away from the office yet free from evenings, attending The Story. It was an entertaining day, with very little that was directly applicable to my work but a number of provocative thoughts. Exactly what I was looking for after a hectic few weeks.

Aside from that it was a mostly unremarkable week—maybe that’s why I was able to hit a good rhythm—continuing to move various projects ahead, prepare some upcoming ones, catch up with the news from some friends’ projects, and finally getting a chance to implement oAuth in a project. The coming week will hopefully continue in a similar manner, at least until Friday when a meeting in Exeter beckons.

Week 125

I had planned to write last week’s notes on Wednesday in the ninety minutes I had free between meetings. But then another meeting came along and ate that time. By Sunday I decided it was time to give in and just skip a week. Now it’s Wednesday again and I’m sitting on a train heading to Reading to meet with my accountant so it’s time to actually get something down.

In free moments I was contemplating code names for projects. It feels like I keep making vague references to projects in the pipeline, but while reluctant to refer to specific clients and without another way to name them it’s hard to be more specific. So I’ve been throwing around a few ideas, but not settled on anything for sure. Perhaps I should just make them up as-and-when, but the idea of having some theme really appeals.

As I’d hoped, February has seen a reduction in the amount of juggling. Each day of the past two weeks has had a major theme even when I’ve tried to fit smaller requests in around the edges. I like working that way: take an hour or two in the morning to get through email, make small fixes, and so on, and then allow the rest of the day to be focussed around a single project. That’s hard to maintain when a lot of projects require some level of maintenance, but I remain optimistic.

The meeting with my accountant is to begin to think about how the business might develop in the coming months. There are various arrangements that I suspect could be much simpler but I need a little advice there. And then the rest of the day will likely be spent on planning out a few projects, some for clients, some not, and figuring out how to help one (music industry) client build their revenues up to a point where they can actually afford the work they want us to do.

Tomorrow I’ll be back to working on a brainstorming app for a client. From their perspective we’re working on completing a first iteration, from mine this is the third. Either way it’s moving along. And then Friday promises to be interesting as we meet with the publisher of the book tied into the JLL project to discuss how we can have the web and the book play off each other well, without creating too much work for authors or editors.

For now, I see a suite of Oracle buildings passing on my right and a Staples coming up on my left, which means I’m arriving into Reading and it’s time to sign off.

Weekend Links

MockSMTP.app bills itself as “smart and simple e-mail testing for new apps and websites on Mac OS X” and works as a non-delivering SMTP server so you can trap and review any emails your application sends. The instructions describe how to set it up for a Rails app but it should be usable in many contexts.

As with so many of these things, I heard bits and pieces about the Amazon-Macmillan dust-up over the past couple of weeks, but I really appreciate posts like this that lay out a good chunk of the story

node.js has been really exciting to watch over the past few months and it’s exciting to see Plurk adopting it to serve up “Instant conversations using Comet.” Apparently they ported from JBoss Netty over to node.js and saw a 10 times memory saving! Also getting a lot of buzz is redis and Mathias Meyer has a nice piece on “When To Redis“. It sounds like Redis 2 is going to adopt a Virtual Memory approach, a detailed write-up of which can be found here.

I’ve been doing a lot of work with jQuery this week and found this source viewer invaluable as a way of navigating the library.

Matthew from Bytemark–who I host numerous sites with–has been getting cross with people claiming libel but failing to supply URLs for the supposed instances, so he engaged Carter Ruck to help him work out an appropriate position. His writeup is well worth reading if you bear any responsibility for online discussion fora.

The tremors following the Apple iPad announcement continue to be felt including the ongoing debate about flash. It’s good to see a number of voices (such as Jeffrey Zeldman and Dorian Ray) pointing out that Adobe are well positioned to build tools to help with HTML5 adoption. That would seem a good way forward for them, specially as video players like this one demonstrate the goodness awaiting us.

Handling recurring payments (for subscriptions and the like) tends to be a pain. Recurly looks an interesting entry into that space and I’m looking forward to trying it out.

And then of course there’s Rails 3, now in beta. The announcement is on the rails blog, the release notes are a good place to start. Having had some deployment/gem version issues lately I’m very glad to see bundler stabilising.