July 7th, 2007
|10:51 pm - Time to Move On|
I've been blogging on LiveJournal for seven years now, and it's time to move on. I've overhauled my website speirs.org with a fresh new WordPress installation and, from now on, I'll be writing over there.
Seven years is a long time to be doing anything, so I'm not about to forget or stop reading and commenting on friends using LiveJournal. My friends page is still firmly stuck in my bookmarks bar, so I'll still be reading you.
Why am I doing this? Well, I just wanted more control over the way I present myself to the world. LiveJournal is what it is, and it's fine for that, but I wanted to freshen things up. As I said, seven years is a long time to do anything on the internet.
So, please head over to speirs.org and put the new feed in your RSS reader.
July 5th, 2007
|11:37 pm - On Holiday|
We've been having a great time on holiday here in Oban. Yesterday, we visited the Isle of Mull. The main town on Mull is Tobermory, where the famous Balamory kids' show was filmed. April adores Balamory and consequently had a great time.
I enjoyed the Isle of Mull Railway, and April got to help turn the train round at the far end of the line.
Canon EOS 30D, Canon EF-S 10-22mm @ 12
1/125 @ f/7.1, ISO 400
The Mull railway is a 260mm narrow gauge railway that runs along a track of about 1.75 miles from Craignure to Torosay. They have a diesel engine (shown above) and a lovely little steam engine. Unfortunately, we didn't get a chance to ride on the steam-powered train. We didn't even really get to see it, except in passing, which was a bit of a shame. Still, great fun.
This is the first holiday we've been on with internet access in the accommodation. It's remarkable how much more relaxing it is, knowing that getting online won't imply spending time trying to find a hotspot out in the middle of nowhere.
June 30th, 2007
|11:40 pm - Glasgow Latest|
Around 7pm I was out driving and I heard on the radio that the Royal Alexandra Hospital had been 'evacuated'. It turned out that only the A&E unit had been evacuated, but it's being reported on BBC News 24 now that the patient - the burned passenger from the car - was wearing a suicide belt.
Tonight, Alex Salmond said on TV that "terrorist actions are the actions of individuals". One has to wonder if that's actually correct. Of course, that's code for "don't hate Muslims" but it's not even correct, at least according to everything I've read about the operation of terrorist organisations. As an aside, it's amazing how much the Left like to emphasise personal responsibility when it's something bad done by members of a minority (or "communities needing particular reassurance by the police", as we're calling them tonight). Of course, whenever it's something that the government is responsible for, it's always "we all have a role to play" etc. etc....
Let's stop pretending that there's an equal probability that anyone in Scotland might have carried this out. BBC News 24 broadcast an interview with an eyewitness who said that the passenger, in flames, attacked a policeman whilst screaming "Allah! Allah!".
It's a bit embarrassing, though, for the worldwide Islamofascist Jihad that they got the seven bells kicked out them by a couple of Paisley taxi drivers. Losers.
|04:55 pm - Glasgow Airport Attacked|
A car, apparently on fire, has rammed the main door at Glasgow Airport. The driver and passenger were pulled from the car and then proceeded to fight off the police.
Of course, no assumptions can be made about the religious affiliation of the driver and passengers.
|04:23 pm - Dissecting an iPhone Crash Log|
Since we in the UK aren't getting the iPhone until October or so, I've been watching the frenzy across the Atlantic with some detachment. As a developer, though, I'm at no more of a disadvantage than anyone else, thus far. So, when John Gruber posted an application crash log from his new iPhone, it was easily the most interesting part of the whole coverage for me.
Here's the link to his 'first impressions' post, and this is the actual crash log file.
Here are some of the main points of interest:
- Foundation and CoreFoundation are there.
- New frameworks:
- UIKit which, at a guess, is probably the iPhone's version of AppKit.
- AddressBookUI, presumably some kind of shared contact picker.
- MobileMail, which I guess is a mail framework.
- CoreTelephony - phone functions, perhaps? It would be cool if this were made available, particularly to game developers.
- CoreSurface, which I suppose is the multi-touch driver framework.
- There appears to be a traditional file system - images and applications are listed by their slash-separated paths.
- All the frameworks and applications appear to have a UUID associated with them. I suspect this might be part of the mechanism by which Apple maintains the integrity of the software set installed on the device.
- There's an image called liblockdown.dylib, whose name seems very interesting.
- The crash report lists the OS Version as "OS X 1.0 (1A543a)" - notice it's not "Mac OS X"
- Applications appear to be bundles, but simplified bundles. MobileMail's binary is listed at /Applications/MobileMail.app/MobileMail. Notice there's no MobileMail.app/Contents/MacOS/ substructure in that bundle.
June 27th, 2007
|11:02 pm - Disasters Happen Every Day|
Reading the Spectator website tonight, this delicious juxtaposition appeared. At the top, a syndicated banner advert for Asda home insurance. Below, the glorious news of our new robot overlord.
I hope that's not someone being prescient.
|03:51 pm - Something Brown|
Unlike those Stupid Americans™ who make someone head of state without being properly elected just because of who his connections are, we Brits today welcome our new Prime Minister. Fresh from receiving his overwhelming popular mandate from the electorate at the recent General Ele .... oh, er, hang on.
Actually, today the party that famously didn't "do coronations" when Michael Howard was elected unopposed as the leader of the Conservative Party ... did exactly that. The question is: who cares? Don't tell me that the joint architect of New Labour is suddenly going to undo a decade of deceit.
The question is: will he undo the parallel bureaucracy that he built as a memorial to his own vanity in Whitehall over the past ten years? Will he abolish Tax Credits, being a wasteful duplicate of the benefits system? Will he undo a decade's addiction to complexity and simplify the Whitehall machine?
Unless Brown shrinks the state, I have no interest in him. Everything else he will do is at best irrelevant, on average wasteful and at worst insidious.
June 24th, 2007
|11:50 pm - Back At The Code Face|
Despite poor baby Beth having a mild case of croup, today is the first day in a long time that I've felt able and inspired to write some new code. I often think it's funny to need 'inspiration' to do one's job - I don't expect to have to wait in the supermarket for the checkout operator to get inspired to beep my doughnuts through the scanner - but it does sometimes work that way with programming.
Having a new baby is a gigantic stone dropped in the pool of your life, and it takes way longer to settle down than you think. Often, the first milestone you're desperate to get to is the 'sleeping through the night' stage. It's great when that day (or night) arrives, but that doesn't immediately guarantee the return of your productivity. For me, it's something more about finally relaxing with the baby that lets me clear my head and make plans beyond the next eight hours.
So I was working on some stuff for FlickrExport 3. Specifically, I was introducing some new table views into the UI and I decided to step back from using Cooca Bindings. Better programmers than I have been gainsaying bindings for a while and, although I don't entirely agree that bindings are of quite such limited usefulness, I'm increasingly agreeing with Brent.
I love bindings for simple tables, particularly ones where I need sorting, filtering or editing a multiple selection in a master/detail UI. I don't like bindings so much when you're trying to do clever things with cells right in the table, or when you have two tables providing a possible N*M combinations of selections (that's really hard to get right - not impossible, but really hard). So tonight I wrote some NSTableViewDataSource code and it felt ... relaxing. It also took about 15 minutes and worked first time.
With the work on bringing the Aperture version up to parity with the iPhoto version, it's been a while since FlickrExport got any major feature lovin'. I'm looking forward to seeing where I can go with this, now that lots of things are up for review.
June 21st, 2007
|11:00 am - One Year of Shareware|
One year ago today, I released FlickrExport 2 as my first shareware release. To say it has been a success would be an understatement. It has been phenomenally successful, beyond anything I could have reasonably expected.
A few thoughts:
The support load is really high. This has probably been my biggest problem over the past year. I don't yet have a good way to differentiate between "real bugs" and "user confusion" issues. You could argue that all "user confusion" issues are interaction bugs, but some users are just new to the platform. I haven't yet found a good tool for this and am still just living out of Mail.app. Ideas welcome.
Attack the noisy problems first. Related to the issue of support load, the first bugs I always fix are the ones that will quieten my inbox. I have a couple of examples:
I used to have a generic Flickr error handler that, whenever some Flickr method blew up, would pop up a sheet saying "An error happened. Here's the code, please notify firstname.lastname@example.org". REALLY BAD IDEA! What happened was that, whenever Flickr took the API offline, my inbox exploded with a flurry of "I got error code 0, what does that mean?" emails. Over time, I've tried to do more to give the user the explanation right in the error sheet, although I've stopped short of including text to the effect of "there is really, really no need to email email@example.com over this".
Because FlickrExport is a plugin, it makes no change to the UI of iPhoto when you relaunch the app after installing. As a result, I got a bunch of emails saying "I installed FlickrExport but where is it?". As a solution, in recent releases, I've put screenshots in the last pane of the installer process showing where to find FlickrExport. That has completely stopped that line of enquiry.
Pricing has probably been the most difficult part of selling FlickrExport, but the volume of comments has given me a lot of data, and I remain very happy with the price point. It's interesting that all the complaints have been about the price of the iPhoto version. I've never had a single complaint about the (higher) price of the Aperture version. Different markets, I guess. It's also been a difficult year for the US Dollar, which has slid from £1 = $1.84 a year ago to £1 = $1.99 today. That's pushed the price of FlickrExport inexorably up in its largest market, but sales have weathered that storm pretty well on the whole.
One of the highlights of the past year was working with the Aperture team to get FlickrExport ready for the launch of Aperture 1.5 last October. Blake Seely did such a great job with the plugin API that it took me maybe two days to get FlickrExport ported to Aperture and working, then a few weeks of polishing to get things right. I'm personally delighted to have FlickrExport on Aperture, since Aperture is the app I use for my daily shooting. Sales-wise, the iPhoto version of FlickrExport outsells the Aperture version by about 7 to 1. That's actually a great showing for Aperture given that it's a much younger app, it doesn't come free on every Mac, and it runs on a far narrower range of hardware and OS X versions.
If I had one wish going forward into next year, it's this: Please, Apple, document and support the iPhoto plugin API. It's been stable for about as long as it has existed - FlickrExport actually works back to iPhoto 2 - so it's not as if it's experimental or unproven code that might have to be incompatibly re-implemented in the future. There's a market for third-party plugins out there, Apple, please put it on a formal footing so that we can confidently rely on that API.
So, thank you to all FlickrExport customers for a great year. Thanks for your patience when I broke the app; thanks for not yelling at me when Flickr broke the app. Thanks for all the great feedback, and I hope to make you even happier with FlickrExport 3, when it comes out.
June 20th, 2007
|05:06 pm - April and iBook|
The first flashgun shot that I've ever been happy with in probably my entire life:
Canon EOS 30D, Canon EF 24-105mm f/4 L IS @ 28mm
1/250 @ f/16, ISO 400
Canon 580 EX II @ 1/64 power, directly overhead
April's turning into a bit of a computer nerd. I need to get her something that has a mouse.