Announcements

Greenbelt has an iPhone app

I’ve been watching the recent furore over Apple’s iPhone app review process with some concern. Partly, of course, I want the process to be clear, to make sense and to provide us all with good access to the apps we want. But the slightly more selfish reason was that I was waiting for the Greenbelt app to be approved for sale, hoping fervently that it would make it through in time for people to buy it before the festival.

With a little under 6 days to go, it was approved, appearing for sale on Saturday night. What’s more, they tell me they expedited the process in response to a pleading email earlier in the week, to help us meet our target.

I can’t take credit for the coding, which belongs entirely to pab. I played around with some of the code, tidied up a little javascript and provided some feedback, but he did all the hard development (and data entry) work. My role was managing the release and dealing with Apple. The app upload system is far from their finest UI work (it probably ranks amongst the worst apple interfaces I’ve used) but all in all the process worked well for us. The one rejection we did get early in the process was for a fairly clear bug that we quickly fixed.

There’s a lot more we’d like to add to the app, but it’s hugely satisfying to have it out there and it’ll be interesting to see how it affects peoples’ habits at the festival.

Talking to Wordpress with ActiveRecord

As mentioned in yesterday’s announcement I’m pulling some content across from this blog (running on wordpress) into the new Ket Lai site (a merb app). I’ve found myself doing similar things a few times lately, such as on Only Connect (on which more, soon) and so have built out a selection of ActiveRecord models to help me talk to a wordpress database from a ruby app.

At Matt’s urging (he’s been using them to move data from a legacy site), I’ve finally put those models up on github. Being a single file they arguably should have been a gist, but I’m reserving the right to reorganise them in future.

They’re far from complete in that there are lots of validations I could have added in, named scopes that would probably be handy, and loads of convenience methods that some might like, but hopefully they’ll be of use to someone and evolve over time.

(on the subject of wordpress, I’m glad to see the addition of changelogs to the plugin directory – being asked to upgrade plugins without any idea what’s changed has long been a bugbear of mine, so hopefully this will resolve some of that)

Launching Ket Lai

Ket Lai logoFor a while now I’ve been transitioning away from using the name jystewart.net for my web development work in favour of Ket Lai. The shift is partly born of a desire to separate out my work from other parts of my life (increasingly important now we’re a family of three), but mostly a recognition that I rarely work on projects solo these days–instead pulling in a range of collaborators–and a group identity is more honest to what we’re doing.

Today, thanks to the design help of frequent collaborator James Weiner I’m launching the Ket Lai website over at http://www.ketlai.co.uk. There are still a few bits and pieces we’re working on, but it’s great to have it out there for the world to see.

The site employs a variety of CSS3 techniques to give a little more visual feedback and spark, and is built on top of the merb framework (rails seemed like overkill, and personal-ish projects are usually a good chance to try something that not many client projects call for).

This blog will continue roughly at its present location, though jystewart.net may eventually get a little reorganisation/redesign-love. Naturally redirects will be used where necessary. Relevant posts are pulled across to the Ket Lai site, but this will remain a personal blog and hopefully suffer a little less from brand confusion.

So if you want to know more about the work my collaborators and I do or services we offer, www.ketlai.co.uk is the place to go. And now that it’s launched maybe (just maybe) I’ll be able to write here about a few other recent projects and interesting tidbits.

Rails 2.3 final and theme_support updates

Somewhere between Ruby on Rails versions 2.3.0 (RC1) and 2.3.2 (final) a change was made to the arguments required for one of the methods the theme_support plugin requires. I must confess I hadn’t spotted it, but github user knapo kindly sent me a message with a patch. That patch is now applied in the main repository, as are a few tweaks to the ActionMailer integration to better handle multipart emails. You can get the new version from github.

Perhaps more significant than those small patches is that I’ve now pushed up a new rails app for use in testing theme_support. The tests are a series of cucumber stories, and the app is very barebones designed entirely to test the various features. I could do with tightening up the way the test app and the main plugin repository are connected, but it’s a start and has been very helpful with the aforementioned patches. Any improvements to the test suite would be much appreciated. You can, of course, find it on github.

Hacking wordpress to support per-post banner images

post-bannersI seem to be spending a lot of time with wordpress at the moment. It’s become so ubiquitous that it often makes far more sense to set it up and integrate with an existing app than to set up some other blogging system and re-train users. As a result I’ve been writing a few wordpress plugins. Most of them are too specialised to be worth sharing, but one seemed worth opening up…

Implementing a (not quite public yet) design recently I had need of a way to specify a banner image for each post. While wp has pretty good support for adding various media into the body of posts, this needed to sit outside the post body.

I whipped together a quick plugin to handle uploading a banner and storing its details in the metadata for the post. It was a simple process, nicely self-contained, except that the post edit form doesn’t have the appropriate enctype=”multipart/form-data”. I looked around for any hooks that would allow me to cleanly add attributes to the form tag, but in the end resorted to editing wp-admin/edit-form-advanced.php to add it.

I’d hoped that there’d be time to find a cleaner way to do all this before telling people about it—perhaps some javascript that hooks into the existing media selector but allows it to populate a custom data field?—but it hasn’t, so I’m throwing it out there to the wider world as-is. The code is at github. Feel free to take it and use it as-is, to fork it and update it to be a better wordpress citizen, to email me patches to apply to my copy, or even to employ me to spend more time cleaning it up! Either way, it deserves to be out in the open and hopefully it’ll be of us to somebody besides me.