Test drive Ubuntu on your Mac with Ubuntu.app

During Gran Canaria Desktop Summit, Ivanka Majic, Kalle Persson, Andreas Nilsson, and I had a conversation about exposing designers to the growing momentum behind free software usability and design. People interested in contributing graphic design or usability work who use Macs represent a largely untapped source of talent; I’ve found it difficult to experiment with and appreciate Ubuntu on modern Macs, especially when using the latest MacBook Pros with their cutting-edge hardware that is often only partially supported in Linux. It’s not too hard to create a live CD, but you can’t save state and unsupported hardware usually spoils the experience. There is no Wubi for OS X, and installing Ubuntu usually means you have to run Bootcamp to resize your Macintosh HD partition and rEFIt to make your Ubuntu partition bootable. Bootcamp and rEFIt are great tools, but shouldn’t taking the latest release of Ubuntu for a spin on your Mac be as easy as drag-and-drop?

For inspiration, here are Mozilla’s instructions for downloading, installing, and running Firefox:

firefox_instructions1

firefox_instructions2

firefox_instructions3

To make playing with Ubuntu on your Mac as easy as installing Firefox, I propose we create a new product called “Ubuntu.app”. Ubuntu.app is a self-contained copy of VirtualBox and a ready-to-use virtual machine image of the latest release of Ubuntu. After downloading Ubuntu.app, an OS X user can drag Ubuntu.app into their Applications folder to install it:

Ubuntu.app

Ubuntu.app can be placed on your dock, and you can boot Ubuntu in a virtual machine by clicking on Ubuntu.app:

Ubuntu.app_dock

With this approach, we can make sound, composited graphics, multi-touch trackpads, function keys, and wifi work out-of-the-box on the latest Macs, so designers can focus on the design and usability of Ubuntu instead of being frustrated by incomplete hardware support. What do you think? Is anyone interested in working on this for Karmic?

21 comments

  1. Joseph Smidt wrote,

    You seem to keep having great ideas. This is just yet another. I hope to see it happen.

    Dugg for being an awesome idea.

    Furthermore, I would love to see Ubuntu’s devs go out of their way to make Ubuntu easy to install on a Mac and work seamlessly with their hardware since it is such great hardware.

  2. Joseph Smidt wrote,

    Digg Link

  3. daniel wrote,

    You want Wubi for Mac?

  4. zekopeko wrote,

    @daniel

    no. he wants a self-contained virtualbox install with ubuntu preinstalled in it.
    it should just open an ubuntu virtual machine in a single windows without virtualbox actually showing it’s main window (where you manage virtual machines).

  5. Evan wrote,

    1) “It’s not too hard to create a live CD, but you can’t save state and unsupported hardware usually spoils the experience.”

    You can save state if you use usb-creator to write a live CD image to a USB disk.

    2) I really like the idea of having an Ubuntu OS X bundle that we can distribute, however VirtualBox OSE does not provide support for USB devices:
    http://www.virtualbox.org/wiki/Editions

    And while the closed source version has support for them, we cannot redistribute it:
    http://www.virtualbox.org/wiki/Licensing_FAQ

  6. Jimbo wrote,

    I’ll happily bug test this for you on my l33t Mac Mini. It seems like an awesome idea.

    PS. Love the mock up artwork. I can’t see how that could be improved for the final product.

  7. Brendan wrote,

    I would be happy to assist in testing or whatever way I am capable to make this happen. I have a macbook pro with Leopard at my disposal.

  8. abrouwers wrote,

    Sorry, I think this is a terrible idea. There are SO many better ways to spend man-hours fixing actual OSS projects, than making ubuntu more available from within MacOSX (eg, the papercuts project :> )

  9. Lucian wrote,

    You can’t do that. VirtualBox needs to be installed (it needs to add some kernel extensions) for it to work properly (i.e. fast). If VirtualBox were distributed as VirtualBox.app, making Ubuntu.app would be trivial.

    If you really want something cool, work on improving actual hardware support on Apple hardware and get some Wubi for mac working (probably using rEFIt).

  10. Artem Ervits wrote,

    I listened to FLOSS weekly when they interviewed the guy from the Wubi project and Wubi on MAC question was brought up. The developer said that they’re thinking/in process of making it happen. Wubi for MAC is more feasible than this, how do you suppose to reuse the old home folder when you drop a new container with a new version of Ubuntu?

    Thanks, great artwork.

  11. Dave wrote,

    Joseph, thanks! But, ideas aren’t worth much. Ubuntu.app is currently just a shell of an application sitting in my /tmp directory…

    daniel, yes, I want Wubi, but Ubuntu.app is not exactly the same thing. For example, Ubuntu.app would allow a designer to create a new icon set for Ubuntu using the tools they are comfortable using (Photoshop, Illustrator) while testing that icon set in a working Ubuntu environment at the same time.

    Jimbo, my talented FOSS colleague Kalle Persson helped with the mockups. The grass background is based on Marvin Kubiak’s “Jaunty Sunset” background.

    Lucian, well, on first-run, Ubuntu.app could guide the user through downloading and installing VirtualBox. I am sure we could at least script most of the process, and still provide the ready-to-run Ubuntu image.

    Artem, that’s awesome news, but I think Ubuntu.app would still be incredibly useful for people too apprehensive to take the Wubi option. Also, Wubi doesn’t add the hardware support that I mentioned causes a bit trouble. As far as updates go, I would update Ubuntu from within the Ubuntu installation, not by downloading a new Ubuntu.app.

  12. David wrote,

    Evan, this is not supposed to be a general purpose computing environment for all users (it could be), so USB support isn’t a huge problem. It’s just supposed to give designers an easy way to engage with Ubuntu on their Macs.

  13. InTheLoop wrote,

    That sounds really cool if it could be made to work. It would be even cooler if you could install Ubuntu.app and then transfer your settings and files from Ubuntu.app to a Wubi install.

  14. Jay Vaughan wrote,

    The “Q” wrapper application for QEmu on Mac OSX has an option to just download a fully working Linux disk image in the menu bar. You could attain all you desire by just using Qemu, which works pretty well, I must say, in OSX ..

  15. David wrote,

    Thanks, Jay, awesome suggestion. I will look into it.

  16. TheFamilyMan wrote,

    David Siegel is fast becoming a ‘rock star’ first with Gnome-Do and Docky and now with great ideas like this. I for one would download this in a heartbeat for my Mac.

  17. ago wrote,

    Although the progress with grub2-efi is encouraging, it is not possible to have Wubi on the Mac because it requires (journaled) HFS+ write support in Linux.

    As mentioned by Evan there are some restrictions when using VBox (or other VMs), yet I am sure that eventually Wubi will be replaced by a VM implementation (I am the author of Wubi), but…

    Even disregarding current technical VM limitations, I think that the biggest drawback of a VM approach is what many probably consider as a feature.

    The inconvenience of having to reboot in order to swap OS is actually an _advantage_, because it forces the user to try and perform usual tasks with the tools available in the new OS as opposed to swap OS on the fly in order to send an email or a twit. When they have to perform a quick task, the cost of swapping into a more familiar environment outweighs the cost of exploring the alternatives. And so they gradually become confident with the new environment.

    Nor do I do think that using a VM in a sort of “seamless mode”, i.e. as a provider of extra applications, is particularly appealing. Seamless mode is great when you have to move _out_ of an OS and you have to fill in the gaps, it is not so great when you have to move _into_ a new OS… Even more so when most of those applications have already been ported to the host environment, which would allow you to perform the same tasks without having to deal with shared directories.

    Using a VM so that you can create media work in OSX to be deployed and tested on Ubuntu is the only real use case I can think of, but why would someone contribute to something he doesn’t use?

    So IMO making it easy to install (and uninstall) a new OS for a quick demo, but _still_ forcing a dual boot is a good recipe.

    In this respect, a log-in session straight into a VM environment would be a very interesting approach, but I am not too familiar with OSX internals.

    Another approach is to create a UbuntCamp (BootCamp clone) for Ubuntu, by resizing the partition within OSX and targeting the new partition. That will provide a “real” dual boot installation, requiring a reboot for the installer, but from a user prospective, it would be very simple to install and an uninstaller can probably be pulled together as well.

    In either case lots of Wubi code (now in python) can be reused. And of course we have the USB creator.

    Finally, I strongly disagree with the argument that a VM is good because the Mac hardware is only partially supported. It is _much_ better to have users try partially supported hardware and submit bug reports rather than making them happy in a cocooned environment, and slow down the Linux progress as a result.

  18. David wrote,

    ago, the only use case you concede as valid is the only use case I have in mind Smile

    Many hackers (including myself) contribute to scratch their own itches, but designers and artists often have other motivations for contributing their work, such as exposing people to their artwork. These people are not interested in submitting hardware bug reports or learning new tools, they simply may want to contribute artwork created with the proprietary tools they own and love. As long as the work they produce is not in proprietary formats, I see no reason not to welcome their contributions.

    I don’t like the idea of “forcing” users to use free software in a particular way. If people are interested in working on this and users are interested in using Ubuntu this way, so be it.

    Ideally, everyone, including designers, would boot Ubuntu, and contribute using free software tools. I think this is a great way for designers to get their feet wet and start contributing. I imagine that as they contribute more and more, they will become more invested in Ubuntu and will want to actually boot it and check out free tools. Forcing these sometimes skiddish users with strong preferences for proprietary tools and operating systems running on specialized hardware to jump into the deep end doesn’t seem like a practical solution to me.

  19. Hello David.

    Some time ago there were a version of PuppyLinux able to work seamlessy as LiveCd and as a VirtualMachine.

    To do that, it used to include a qemu windows binary in the ISO image.

    Being able to have the same chance on Win and Mac and have it in the LiveCd would be great.
    I don’t think the LiveCd space constrains would allow that, but it would be pretty cool. Or would be cool at least to have a slightly bigger image to be used just on USB pens or DVD.

    There should be a brainstorm idea open about this.

    ps: “subscription manager” wordpress plugin will make you a better person Razz

  20. Robert M. Lefkowitz wrote,

    One might suppose that your target market would have Parallels or VMWare for their MS Windows work — in which case you just need a .pvm or .vmwarevm bundle. See http://chrysaor.info/?page=ubuntu or http://bit.ly/1m9s4h or http://forum.parallels.com/thread4065.html. The .app approach would be for those designers that don’t already have a Virtual Machine engine installed.

  21. On a somewhat unrelated note, wouldn’t it be great if installing an application on Ubuntu was that simple? (I know you guys are working on stuff like that, but this example highlights the point particularly well).