What Keeps Me Awake

Context

I just read an excellent blog post by Andy Matuschak called Anything Ubuntu can do we can do better. Except this stuff In his entry he argues for a simpler package installation and update methodology for OS X. He uses the Synaptic Package Manager in Ubuntu as an example of someone who’s gotten this right.

I’ve been thinking a lot about this in the last six months or so as well. And amazingly, it looks like we came up with a pretty similar solution. That’s using Spotlight to find and automatically download/run applications in a sandbox. How I got to this idea was through a completely different set of concerns however. I thought I’d outline those here.

What Keeps Me Awake

  1. Web Software Is Growing Over Desktop Software

    Now, I’m not saying that the desktop is going to disappear anytime soon, but in the last few years it seems that the web app has gained a lot of strength. The UIs aren’t better, the software is usually less powerful, and we get excited over ‘features’ like keyboard shortcuts. In almost every way, the web app is simply worse than an equivalent desktop app that has the same resources put into it by a developer with the same level of skill in their craft.

    In my view, the primary advantage web apps have over desktop apps is that they’re easier to install and start using. No download, no unzipping or mounting, no dragging or installer or throwing away afterwards, or any of a dozen different steps required. You just click the link and it starts working with the minimum required information. As a primarily desktop developer, this irks me.

  2. The Third Party Software Market Is Limited Because Most Users Never Get Any New Apps

    On the Mac we take it for granted that we’re going to have an app preloaded onto our machines for every common task we’re going to do. Watching DVD’s? Editing a movie? Reading a webpage, checking your mail, playing a game of chess? It’s all there. Unless you’re a member of the small demographic that thinks “There’s gotta be something better than Safari for news feeds”, you’ll never discover NetNewsWire.

    I don’t believe that this is because most users aren’t willing to pay for new apps that genuinely improve their experience. I do believe that it’s because the current software find and install process is just too painful of an experience to make it useable for your average user.

    If a user could type ‘RSS feeds’ into Spotlight and see a section titled ‘Suggested Applications’ with three or four top rated applications do you think more people would try them?

Things To Think About

Andy has brought up some great ideas in his blog. From the perspective of a developer charging for his work, I’d like to bring up a couple more considerations.

  1. Trial limitations – since most third party apps are sold as shareware, how do we communicate trial limitations to the user. Andy shows a spotlight result which shows the app name, a short description, and the price. I think we need to be able to put in the words “Free Demo ($Price)” or “Freeware” in there somewhere. Today my Mother revealed to me that she wasn’t updating her system with Software Updater because she wasn’t sure if she’d get billed for the updates. I suspect that most users will see the price and avoid because they’re not sure if we’re going to send them a bill immediately.

  2. Purchasing – It would be great if we could figure out some standard dialog for users to purchase an application, with an API that participating developers would implement to accept the transaction. If the user never sees the site they get the app from, how are they going to react when they click ‘buy’ and a web browser pops up with an unknown site requesting payment?

So Where Do We Go From Here?

Putting all technical considerations aside, if we can’t get anyone to run this things there’s no point in doing it. And the people it helps the most are almost by definitions the people who won’t download and install it.

Ultimately, I think we need to build it and start distributing it. Get it into the hands of all the sons and daughters who have to field ‘how do I open this’ calls because they’re the family computer whizzes. That’s stage one of distribution.

Stage two takes a different approach. Once we have the software designed, written, tested, debugged, and worked out to such an extent that it seems like Apple should have been the ones to make it, I propose that we give it to Apple under some sort of BSD or MIT license. No strings, but we’ve got this thing that’s going to make your users happier and make your developers better able to spend time working on their software. Apple has no shame taking good ideas. There’s no reason to think they’d turn down this kind of offer, especially if we publicized it well.

First Steps On The Long Road

Now that we’re ready to give our hard work away to Apple, let’s talk a minute about what form that work needs to take.

We needs a handful of developers who are willing to sweat on this and then give it away. Specifically we need people with experience in:

  • Spotlight plugins
  • Sandboxing
  • Application Updating
  • Desktop App/Web Interaction
  • All those little skills from testing to beta testing to project management that most developers learn from years of half rumour and painful mistakes.

We also need people (not necessarily developers) with experience in:

  • UI Design
  • UI Testing
  • Documentation
  • Promotion

Once we’ve got a few developers coming together on this we need to decide what form the first version is going to take, at least as detailed as a storyboard overview. After that, it’s a matter of setting up the infrastructure of a software project with multiple remote developers and getting to work on our respective parts.

I’m definitely making it sound too easy. It’s going to be a big job, changing the face of software distribution on OS X, but I think the Mac developer community is up to the challenge.

Closing Thoughts

I think this project needs to be done. It benefits developers, so it makes sense for us to put some of our time into it. It benefits the end users, so it makes sense for Apple to go with the flow once the work is done. And on top of that all it’s an interesting technical challenge.

With some time and a lot of hard work, we’re going to show Linux how this should really be done. And Andy, I’ll be the first to step up to the plate and volunteer some of my time and energy towards what I think is an essential evolution if desktop software is going to hold its own in the years to come.

Comments are closed.

« iPhone UI Ideas
Narrowing The Choices »