QTKitPlayer XCode 3 port

I am back to hacking the Mac. It feels wonderful, why did I ever leave? Oh yes, when I left, we had no socket library or virtual memory, and I was writing a browser, and OS X was still way out there in the future. I’ve never felt quite at home as much as when firing up the CodeWarrior and diving into PowerPlant. Windows APIs were just awful, and Unix, I just never mind-melded with it.

I am working my way through catching up to the last 10 years of development. I’ve just finished QuickTime Kit Programming Guide, and ported its sample code to XCode 3 as QTKitPlayer3.zip. Posting it just in case someone needs a shortcut.

Still pursuing my old love, AI. I’ll be playing with facial recognition algorithms.

ReadyNAS and “Logon failure: account currently disabled”

This was the last bug I’ve encountered when trying to get my music collection running inside  a Squeezeserver. I’ve bought a ReadyNAS Duo, and created two public shares, Aleks & Ingrid. Those were also the login names on my XP machine. Trying to network browser the server gave me:

“Logon failure: account currently disabled.”

Googling for the error was not helpful, so I am writing this post for those of you who are being driven mad by this problem right now.

The problem is that ReadyNAS is creating users “Aleks” and “Ingrid” on samba, whose accounts are disabled. When your XP machine helpfully tries to log in as Aleks, it gets denied. The solution is:

- Get ssh running on your ReadyNAS (see www.readynas.com Developer’s Corner)
- Login as root, and run smbpasswd to change password for your user names. Make them match passwords on you XP. Mine were blank.
- You should be able to browse and connect to the server.

Good luck,

I want a XUL phone

Buying an iPhone was an i opener. After being loyal to my bare-bones Nokias for years, I finally understood “mobile mobile mobile”. Here was a beautiful UI, sparse, and yet so useful. I’ve forgotten how liberating it is to use an email client whose total UI consists of 5 buttons. Two months after the purchase, I am reading most of my email, feeds, and news on the phone.

The iPhone honeymoon ended as soon as I got hooked on it. After tasting the forbidden fruit, I wanted my phone to do so much more, but I can’t do anything about it. So I’ve been left to daydream, and in my dreams I see a XUL phone.

XUL has several properties that make it uniquely well suited for the design of the ultimate phone of the future:

  • Endless extensibility of the UI: Everything in a XUL interface is extensible by default. This means that any application can arbitrarily extend any other application. It can change the any UI, modify any behavior, access any data. This radical form of openness is not offered by any other GUI framework.
  • Web developer friendly: XML+Javascript, it is just like the web. Once you’ve created your web app, the firefox addon is easy.

XUL has worked really well for Firefox and its addons. It has 100 times more addons than IE, in spite of IE’s market share.

Why is endless GUI extensibility and being webdev friendly a good fit for that perfect mobile of the future?

  • Precious real estate: While the PC apps can get away with every user using only 10% of app’s GUI, the phone can’t. With only 10 buttons, you hate to see 5 of them unused. This means that the apps are either extremely limited, or customizable. And XUL is the ultimate custom UI.
  • Easy mashups: Phone apps love to mesh. Every app wants contacts, calendar, todo’s, maps. And not just data, but also to modify their UI. With XUL, this is easy and cheap. In the old application world, each application has to explicitly create an addon API, and many did not.
  • Web sister apps: I love accessing my phone apps over the web. For me, phone is mostly read-only, for heavy duty anything you want the PC. When your sister app is on the web, being webdev friendly is a big plus.

As I was writing this lengthy post, Mozilla’s mobile effort just got announced. I guess it is time to stop my efforts to get Minimo running on OpenMoko and start chatting with Moz guys. The right time to think about this is now, because the right architecture of the browser would make XUL phone implementation easier.