First Impressions of the Mac App Store

App Store Logo

Like every other Mac user on the planet, I was really eager for the Mac App Store’s release today. Having had the chance to explore it a little, here are my initial remarks:

  • The interface is just like every other Apple store - a few featured apps are given prominence, and there are top ten lists down the side.
  • Apps are downloaded straight into your usual Applications folder. This was a relief for me, as I’d been concerned apps would be corralled much as iTunes purchases are.
  • If you’ve downloaded an app not from the Store, and you then download it from the Store, the old non-Store version is replaced with the new one I noticed this when I downloaded the Evernote app. This isn’t a big deal for me, but it would be problematic if you have a good reason to cling to an old version of an app.
  • Apple software that had previously been bundled into the iLife or iWork suites is now available standalone - for instance, you can now buy Garageband on its own for $15 (a massive bargain).

Overall, I’m excited about the visibility that this will give to software developers and their products. The iOS app stores have proven to be a goldmine for developers and Apple alike, and I don’t doubt the Mac store will be equally fruitful for a whole new class of developers. Time to dust off those Cocoa books, perhaps?

Introducing "Twitty City", a geographical Twitter sentiment tool

Twitty City

On December 4th I participated in the Oxford Open Data Hackathon Day, a gathering with the purpose of exploring public data and presenting it in interesting ways. Earlier that week, Tim Davies informed me of an API to analyse the sentiment of tweets, which gave me the idea of using it to determine the mood of a city in real time. And thus, Twitty City was born.

Twitty City is a small web app which, for five cities:

  • Collects tweets geolocated to that area;
  • Submits the last hour’s tweets to an API for sentiment analysis and computes an average sentiment value;
  • Displays a smiley face appropriate to the average sentiment; and
  • Graphs the previous week’s average sentiment scores.

I chose to write Twitty City for the Google App Engine for two reasons. First, price - the App Engine free tier is quite generous, and amply meets the needs of a small application. Second, Python - I use PHP all the time in my day job, and it’s nice to have an excuse to explore a different language. My main grievance with App Engine is that (at time of writing) the servers are running Python 2.5.2 but the SDK is running v2.6, so it’s very easy for an inexperienced Pythonista like me to have a false sense of security about the availability of certain libraries (I’m looking at you, json).

I’ve put the source code on GitHub, partly out of vanity, partly to gain practice with Git, but primarily so that people who want to analyse other cities can have a good starting point. Overall, I had a great experience writing this app, and I’m already thinking of how I’ll next improve it.

Photos from the event can be found here. I really enjoyed meeting so much of the Oxford geek community, and am looking forward to seeing them again!

Does WP Super Cache work on PHP Safe Mode?

Update (27 Aug 2011): This post has been updated to reflect my blog’s migration from self-hosted WordPress to a static site generated by Jekyll.


Does WP Super Cache work on PHP Safe Mode? The answer is yes, despite warnings to the contrary. When this blog was running WordPress it ran in safe mode (on NearlyFreeSpeech.NET), and as you’d have seen in the HTML source, you’d have been viewing a cached version of this page.

Proof of WP Super Cache working

(A big shoutout to Donncha O Caoimh and everybody else responsible for the fantastic WP Super Cache plugin)

Dreams of an IE6 Killswitch

Google Chrome is a great browser for many reasons, but I particularly admire its ability to silently, unavoidably upgrade. The wider impact of this feature is made apparent on Clicky Marketshare, which shows how when a new Chrome is released, the previous version completely disappears:

Chrome Stats

In a matter of days, the old version of Chrome has vanished from the web, and all its sins are forgiven. By constrast, Internet Explorer versions 6 and 7 still hold considerable marketshare despite long being deprecated, and we’re all suffering for it:

Internet Explorer Stats

Those browsers are far behind the curve, with many bugs, and their continued existence is responsible for a significant stifling of innovation after all, what’s the point of making better websites with advanced HTML/CSS if most of your users won’t be able to see it? If only Microsoft had incorporated such a dramatically effective auto-upgrade all those years ago, the work of a web developer would be a lot more enjoyable and a lot less frustrating.

Alas, there is no IE6 killswitch, and though its numbers are moving encouragingly lower, it remains an occupational hazard. So, until the last line of IE6-specific code is written, I will dream of a button in Microsoft HQ that with one fell swoop will bring all web users into the new decade.