Open Shelf…

Stephen Fry Understands 24Sep07 | Comments Off

Why am I not surprised that one of my favourite writers/actors/critics is able to accurately describe the Apple users’ ethos so accurately:

Why should a faceless, graceless, styleless nerd or a greedy hog of a corporate twat deny us simplicity, beauty, grace, fun, sexiness, delight, imagination and creative energy in our digital lives? And why should Apple be the only company that sees that?

Full article here, if the site regains its composure after the thrashing it’s doubtless receiving from Fake Steve Jobs.

Apple’s Stance on iPhone and Apple TV Development 11Sep07 | 1

MacRumors today reports on a story at Gearlog, quoting Apple’s VP of marketing Greg Joswiak, in which he outlines Apple’s stance on iPhone development:

Apple takes a neutral stance - they’re not going to stop anyone from writing apps, and they’re not going to maliciously design software updates to break the native apps, but they’re not going to care if their software updates accidentally break the native apps either.

This to me echoes the reports that Apple was unconcerned about third-party Apple TV developers — that they would not be specifically doing anything to hamper that process, but that no support was offered and people who manage to brick their ATVs have only themselves to blame. The Gearlog story was in fact updated to clarify this with regards to the iPhone.

A second update to the Gearlog story mentions that Apple now says that “software updates will most likely break” native iPhone applications in the future. I take that to mean much the same as the Apple TV 1.1 update, which changed the APIs somewhat, but not extensively. So, after a software update your third-party apps may not function, but their developers will probably be able to create new versions without any real difficulty.

Ooops, another bug in BackRow 10Sep07 | 0

Recursive functions are great. They’re a very useful tool for a great many things, and in the BackRow framework’s RUIPreferenceManager class, they’re put to (presumably) good use when handling preference domains. There’s a single funnel function which uses CFPreferencesCopyAppValue() to fetch a preference from a given domain/app; if unable to find a value, it splits the domain, removes the last component (provided it’s got more than two components here) and then calls itself again with this new, shorter domain.

That in itself is not a problem. The implementation, however, has one small flaw that will at least throw an exception, and at worst cause a crash. See if you can find it:

- (id) _valueForKey: (NSString *) key forDomain: (NSString *) domain
{
    [_preferencesLock lock];
    id result = (id) CFPreferencesCopyAppValue( (CFStringRef)key, (CFStringRef)domain );
    [_preferencesLock unlock];

    if ( result == nil )
    {
        NSMutableArray * components = [NSMutableArray arrayWithArray: 
            [domain componentsSeparatedByString: @"."]];
        unsigned count = [components count];

        if ( (count == 0) || (count <= 2) )
        {
            [components removeLastObject];
            result = [self _valueForKey: key 
                              forDomain: [components componentsJoinedByString: @"."]];
        }
    }

    return ( [result autorelease] );
}

Yes, that’s right. The recursive call will return an autoreleased object. Which then gets autoreleased once more.

Oops. Time for another software update there ;)

Game On 31Jul07 | 0

So, I (finally) got myself an Xbox 360 last weekend. Fairly impressed with it so far, although partially regretting not waiting for the Halo 3 edition to appear with its HDMI support (mmm 1080p). However, since my young brother in law is visiting now, I figured this would be a good time to splash out on a console and a second controller. Not that the second controller will actually communicate with the console at all, but hey.

Anyway, I have a gamertag now, and a fairly small (yet ready to grow) library of X360 games, and some original Xbox ones (such as Halo 2) which can do multiplayer. So, look me up, name of ATV Quatermain. My gamertag is there over on the sidebar.

ATVLoader v1.0.8 26Jun07 | 0

A relatively minor update to the appliance here (although not for those unable to download anything with AppleTV Software v1.1 installed). This includes a Swedish localization by fooBar, and fixes for sshd installation and for AppleTV Software 1.1 compatibility.

The link below downloads the installer, the link on the AwkwardTV site downloads the appliance alone, for those building Patchsticks.

Download Installer Download version 1.0.8

Well Darn 30May07 | 0

So, looking at Engadget’s live updates for Steve Jobs’ Interview, it would appear that Apple is looking to make ASoT obsolete. Here’s a pic of the forthcoming YouTube integration in June’s AppleTV software update, courtesy of Engadget:

YouTube plugin screenshot

So, I guess Xdog will be kinda miffed, huh?

Although, apparently Steve is still in the habit of calling people personally to recruit them. So, Steve, if you’d like to email me, I can give you my phone number; I’m ‘alan’ at this domain. Thanks mate, talk soon ;)

The Links They Are A-Movin’ 28May07 | 0

Looks like someone at MacNN noticed the BDK, and so I’ve had a fair bit more traffic pop up today. As a precaution, file downloads are going to be moved to another server with more bandwidth a little later today.

Just a heads-up.

Update: I worked out how to use mod_rewrite to redirect things instead. So the links haven’t changed after all — yay!

A Series of Tubes 19May07 | 0

Another pro Mac developer has joined the fold at AwkwardTV. His name is Xdog and in a wonderfully fractal way he has some sample footage of the (all but complete) plugin on YouTube.

Headers Installer Updated 13May07 | 0

Thanks to the eagle eyes of TheDude on the AwkwardTV channel, a bug was found in my initial release — it didn’t affect my test because I’d modified on my machine, but I’ve now posted an updated version of the installer which should fix that.

You can download it here.

Streamer Plugin v0.1 12May07 | 0

My friend Dakaix has just posted his first plugin: Streamer, a streaming audio player for the AppleTV. At the moment it requires some rather laborious typing using the remote, but things like channel browsing and favourites will be implemented in the future, to make things a bit easier on the thumb.

You can also read the official announcement at the AwkwardTV site, and kind people can go and put a few Diggs his way.