Interview: Tony Arnold of VirtueDesktops

VirtueDesktopsVirtueDesktops, a virtual desktop manager for OS X, has been around for quite some time. However, with the introduction of Spaces in Leopard, Tony Arnold, creator of VirtueDesktops, decided to stop developing the popular application. We interviewed Tony on creating, developing, and ending VirtueDesktops, as well as what’s coming next.

William: Why did you first decide to create VirtueDesktops? What were some challenges you had to get past to get it working?

Tony: First up – I didn’t create VirtueDesktops. Thomas Staller started the original Virtue project in about August 2004 (at least that’s when the project first appeared on Sourceforge). I picked up the project in late 2005 after tinkering with the source to get it working under Tiger. It had been abandoned for a while. I didn’t originally intend to do any more than get the application working, but I guess I figured that the experience of resurrecting an open source project could be quite a lot of fun (and I felt I needed the experience).

Second question: obviously Thomas faced the harder challenges of getting Virtue off the ground – he based his original work off the work that Rich Wareham (http://filecoreinuse.livejournal.com/) did with DesktopManager. I guess this is a good time to clear that up too – when I say “based off”: Rich did a lot of work reverse engineering the private CoreGraphics calls into a useable header file (CGSPrivate.h), and decoding how the calls actually worked. Virtue uses that header file, and Apple’s private APIs to create and manage virtually created desktops, but Virtue’s actual data model, application flow and features are all it’s own and not based on DesktopManager’s source.

Rich also got involved again when Tiger was released and updated the CGSPrivate header to work properly, as some of the APIs had been changed and removed. There’s a great article on OSNews that outlines how he did this (I don’t have the URL handy).

My work just involved dealing with some issues around mach_inject under 10.4 (which the inimitable Jon Rentzsch helped me understand, and ended up fixing), and then the whole change in security model on Intel-based macs that required mach_inject applications to do extra footwork. The challenges I’ve faced have been more around my own understanding of the tools, APIs and code than actual interesting reverse engineering work!

Interesting fact of the day: Apple has always referred to virtual desktops as “Workspaces” – all of the calls use this terminology, and their preliminary terminology for Spaces does as well. The CoreGraphics calls have been there for at least 2 major revisions, and I had heard unsubstantiated rumours from a very credible source that Apple has had virtual desktops working internally for longer again.

William: You’ve said that you’re “just starting out with mac programming”, yet you’ve created an application that many people swear by. What does that feel like? Did you have any idea that your app would be so well received?

Tony: Well, I guess I addressed that in my answer to the first question: it’s not really my concept or my (original) code, so I don’t feel that I deserve the kudos here – that belongs to Thomas and the original project contributors. It’s great that people find it so useful – that was one of the reasons I wanted to resurrect the project: I personally loved Virtue back under Panther.

Many people count on VirtueDesktops as an integral part of their system, alongside apps like Quicksilver and Growl. Why do you think this is? What apps could you not live without?

I think Mac users are inherently task focused – we put a lot of emphasis on how we do things, and the amount of effort that each task requires. Tools like VirtueDesktops, QuickSilver and Growl all simplify the user’s workflow in some manner, and therefore save us time. While I’m not sure that VirtueDesktops is deserving of the following comment, QuickSilver and Growl both have a certain elegance to them as well – they both address problems in an incredibly intuitive manner. Users like to feel like they’re solving problems intelligently.

What could I not live without? By day, I’m a glasses-wearing programmer for a University – it’s only by night that I put on the CodeCape – so my must have apps are a little webby:

* QuickSilver
* Growl
* CSSEdit
* Mail.app (IMO the simplest, most efficient mail client out there)
* TextMate
* Parallels Desktop
* NetNewsWire

At the very least, those are bound to hotkeys on my keyboard (as well as Xcode, but don’t talk to me about Xcode until version 3 is out!).

William: What do you think of the other Mac virtual desktop apps? (besides Spaces). What makes VirtueDesktops different?

Desktop SwitchingTony: VirtueDesktops takes the kitchen sink approach to virtual desktops. That’s a bit of a double-edged sword, in so much as I think I may have got a little carried away there for a while with superfluous features. The other virtual desktop tools are in my opinion either too simple (DesktopManager), or unpolished. VirtueDesktops addressed this by trying to organise your workflow around the three major objects that you interact with when dealing with virtual desktops: Applications, Desktops and Windows (as opposed to just leaving users with tools that didn’t tie these object together). It also had a philosophy of staying out of your way until you needed it, so aside from the tiny menu icon, you could continue to work as you normally would. VirtueDesktops was also the first to integrate motion and light sensors as triggers. Superfluous features indeed!

I think any person/company that decides to develop a virtual desktop app on the Mac has to be a little bit less than sane, or make a lot of money. There are lots of foibles that you have to deal with in Apple’s implementation, so they all deserve kudos.

William: Did you expect Apple to pull spaces out of their MacWorld hat? What was your initial reaction?

Tony: To be honest, no. I was able to attend WWDC last year (it was a blast), so I was there for the announcement – people were asking me before the keynote whether I thought Apple might do virtual desktops, but it just seemed so contrary to their approach so far. In my opinion, exposé _was_ Apple’s response to virtual desktops.

When they brought the first screen of Leopard up on the stage, I remember noticing the Spaces icon in the dock and thinking to myself “Wow – if that’s what I think it is, I can trash my voodoopad document outlining the next version of Virtue”. I was sitting with Jan Van Boghout and Nick Peelman (hi guys!) and they both thought it was fairly hilarious. I was annoyed for about 30 seconds – at least until they demoed how well Spaces worked – then I was just impressed. It’s nothing new, but it’s got that typical Apple style to it that just works.

William: What had you been planning for VirtueDesktops before the announcement? How would it have progressed had Spaces not come along?

InspectorTony: Well, I was going to rename/rewrite it. “Foci” was at the top of the list (I still like that name – I call dibs on it). I was also going to drop the GPL and replace it with a license that would have allowed the code to be re-used. Plenty of people would like to integrate virtual desktop compatibility into their apps, but unless they too are a GPL app, the license was preventing that. Nick Jitkoff showed me a QuickSilver plugin that interacted directly with the available desktops quite some time ago, but QuickSilver isn’t GPL so releasing it would have been a bad thing.

In terms of features, I had some sketches that looked remarkably like Spaces overview mode – a grid of desktops where you could just drag your stuff about. Also, Virtue was in need of a serious overhaul – the Xcode project was one of the most complicated I had ever worked with (I spent the entire night before the keynote @ WWDC re-arranging a bevy of sub-projects into a single project file), and the application design needed refreshing. I had lots of ideas, but they would have all take quite a while to program and design.

William: What features does it have now that Spaces won’t have? What ways can you just simply not compete?

Tony: Hmmm, I have to be careful how I answer this – Spaces’ feature-set is covered under my NDA with Apple. In terms of what is public – VirtueDesktops has quite a few options that Spaces doesn’t have, especially with regards to the concept of desktop decorations. VirtueDesktops allows you to place images, colours and customised text onto individual desktops to clearly, visually indicate where you are. In the previews that Apple has given publicly so far, Spaces does not allow this – then again, Spaces is not released (or finalised) yet. Apple might decide to take a little inspiration.

In terms of competing, the big issue is likely to be the APIs – there’s every chance that I could make VirtueDesktops run under Leopard (although my NDA prevents me from divulging specifics of whether or not this is actually possible), but the fact is that VirtueDesktops uses private APIs to provide it’s core functionality – Apple can move the goal posts any time they like. Chris Forsythe, also known to the community as The_Tick (and a good friend of mine) said to me after WWDC that he considers Apple bundling any of his programs into the operating system as the entire point of starting projects like Growl, Adium or Virtue. Seriously, if iChat had all of the features that Adium has, I don’t think there be a need for Adium (although it would no longer have the simplicity that iChat is famous for) – same with Growl – I’d love to see an integrated user notification system built into the operating system. So in that light, I feel like I’ve succeeded.

I think there will still be a market for third-party virtual desktop apps under Leopard – iChat vs Adium is the example I’d use. There’s always going to be a market for enhanced versions of Apple’s applications.

Virtue’s code base is also very large, and the design of the application design is somewhat dated in terms of the technology Apple has made available to us in Tiger. It needed a rethink and a rewrite (and I had started one over the last couple of months, but never completed the work).

William: VirtueDesktops was freeware, and now it will be open source. Have you ever thought of making it shareware?

PreferencesTony: I’m not quite sure how the idea that VirtueDesktops was anything but open source got started! VirtueDesktops has always been open source – the source was available back when Thomas worked on it, and there may have been a brief period when I was taking over that it wasn’t, but even now you can go check the latest code out of subversion.

In answer to the question, no, I never considered making VirtueDesktops shareware – it simply wasn’t my call – the license was already in place, and I promised Thomas when I took over that it would remain open for as long as I was running the project. I toyed with the idea of a pay-for version of Foci – given the effort it would have required, I think that would have been fair.

William: What’s next for you? What’s your next app that will embed itself into our Macs?

Tony: Oooh. Well, I’m currently working on two projects – one of them is still under discussion, and hopefully I’ll be talking about that on my blog in the coming month (it’s going to be another “must-have” application if all goes according to plan though). The other is a commercial/shareware app I’m currently designing to help with my day job (and this is the first time I’ve spoken about it publicly). We’re currently going through a major web-site rebuild at the University where I work, and one of the really big time-sucking tasks that you have to do is an audit of what you’ve currently got up there on your site. My app aims to automate this process, report on the outcomes and look all sorts of validity issues. There is simply nothing good and reasonably priced in the application market to do this work. It will all be wrapped up in a hot mac UI, obviously. I’m aiming for a Leopard release with that app.

Other than that, just taking some downtime – running an open source project is a huge undertaking for a single person, and it takes a lot out of you. It’s hard to keep a constant level of enthusiasm for a product going forever, and I’m going to be glad not to see another private CoreGraphics call for a while.

William: Good luck with your future endeavors, and thank you so much for answering my questions!

Tony: You’re very welcome. Thanks for the interest!

Comments

21 Responses to “Interview: Tony Arnold of VirtueDesktops”

  1. Interview with Tony Arnold of VirtueDesktops « the wphj blog on March 17th, 2007 8:14 am

    [...] here’s the interview, and digg it if you like! Filed under: Uncategorized [...]

  2. Yohannes Wijaya on March 17th, 2007 8:53 am

    @William, very informative interview. Wanted to submit this to digg, but Glenn beat me to it.

  3. Miles Evans on March 17th, 2007 9:05 am

    Wow this is a really beefy interview. Good job William.

  4. Tony on March 17th, 2007 9:29 am

    Yeah, I have to say I was very impressed with the calibre of the questions I was asked. I really enjoyed this interview. Bravo William :)

  5. Zop on March 17th, 2007 9:31 am

    Worth a digg.

  6. shadownight on March 17th, 2007 11:14 am

    Pretty nice :) I like it. Just a little thing to fix though…

    “…that was one of the reasons I wanted to resurrect the project: I personally loved Virtue back under Panther.

    Many people count on VirtueDesktops as an integral part of their system, alongside apps like Quicksilver and Growl. Why do you think this is? What apps could you not live without?

    I think Mac users are inherently task focused – we put a lot of emphasis on how we do things, and the amount of effort that each task requires. Tools like VirtueDesktops, QuickSilver and Growl all simplify the user's workflow in some manner, and therefore save us time…”

    You forgot to put that William had asked the question “Many people…” and that Tony had answered “I think…”. Like it is now it looks like all of that is still Tony’s answer to the other question.

  7. Interview with Tony Arnold of VirtueDesktops « News Coctail on March 17th, 2007 3:02 pm

    [...] with Tony Arnold of VirtueDesktops Filed under: Uncategorized — recar @ 7:01 pm Interview with Tony Arnold of VirtueDesktops VirtueDesktops, a virtual desktop manager for OS X, has been around for quite some time. However, [...]

  8. shadownight on March 17th, 2007 3:08 pm

    By the way, on the front page of Digg: http://digg.com/apple/Interview_with_Tony_Arnold_of_VirtueDesktops

    Congrats :)

  9. links for 2007-03-17 « kobak del.icio.us könyvjelzÃ…˜i on March 17th, 2007 7:20 pm

    [...] MacApper » Blog Archive » Interview: Tony Arnold of VirtueDesktops (tags: virtuedesktop macapper interview) [...]

  10. macaddict on March 19th, 2007 12:16 am

    Awesome guys! u blew it!!!!!!!!!

  11. iSport » Blog Archive » Interview with Tony Arnold of VirtueDesktops on September 16th, 2007 3:15 pm

    [...] Tony on creating, developing, and ending VirtueDesktops, as well as what's coming next.read more | digg [...]

  12. Interview with Tony Arnold of VirtueDesktops « Apple Top News on October 4th, 2007 9:03 am

    [...] read more | digg story [...]

  13. Interview with Tony Arnold of VirtueDesktops - CarLenta - Just another WordPress weblog on October 4th, 2007 4:45 pm

    [...] Tony on creating, developing, and ending VirtueDesktops, as well as what's coming next.read more | digg story Московские власњÐ¸ нашли еѰе один [...]

  14. Top News Apple » Blog Archive » Interview with Tony Arnold of VirtueDesktops on October 24th, 2007 11:50 am

    [...] read more | digg story [...]

  15. Mac OS X Musings :: The science behind Spaces on November 2nd, 2007 7:27 pm

    [...] 2005 by Tony Arnold who worked alongside Rentzsch to get it working under Tiger. There’s a great post Spaces-announcement interview with Arnold on MacApper, which reveals a lot of history about virtual desktops on OS [...]

  16. buy hydrocodone without a prescription on December 31st, 2007 11:59 pm

    buy hydrocodone without a prescription

    news

  17. Juan Stevenson on March 25th, 2008 9:40 pm

    intracortical trimetalism mokaddam roofwise welcomeless concelebrate excursus sportsmanly
    Next on the Internet: Pop-up weather warnings
    http://www.stjosephwakefield.org/

  18. Patty Frazier on April 17th, 2008 9:10 pm

    intracortical trimetalism mokaddam roofwise welcomeless concelebrate excursus sportsmanly
    Ellsworth, Michigan
    http://www.geocities.com/poop_1232002/p2.html

  19. idrive on February 9th, 2011 5:36 pm

    Hi Guys, I just found a pretty nice site for unlock / jailbreak/ iphone 3g 3gs and iphone4 jailbreak.

    http://www.anysim.net

    Thank u Anysim Team for fast Support. :)

    Did everybody now when the update ios 4.3 for iphone4 comes?

  20. lkbhfgh on July 6th, 2011 12:03 am

    <a href="http://www.hatsnewera.com/rockstar-hats" title="Rockstar hats">Rockstar hats</a>
    <a href="http://www.hatsnewera.com/san-diego-padres-hats" title="San Diego Padres Hats">San Diego Padres Hats</a>
    <a href="http://www.hatsnewera.com/san-francisco-giants-hats" title="San Francisco Giants Hats">San Francisco Giants Hats</a>

  21. aaronandy on September 9th, 2011 5:38 am

    thanks for your sharing ,i like it,it’s so intersting,I will come here too.

Feel free to leave a comment...
and oh, if you want a pic to show with your comment, go get a gravatar!