< Return to Video

UDS N Monday plenary: Getting great applications on Ubuntu

  • 0:05 - 0:07
    Ubuntu Software Center and the future of the universe
  • 0:07 - 0:09
    [Matthew Paul Thomas:] Good afternoon.
  • 0:09 - 0:12
    Six months ago, Mark [Shuttleworth] started us talking about “crossing the chasm”.
  • 0:12 - 0:20
    How Ubuntu can get beyond technology enthusiasts, and their friends and families,
  • 0:20 - 0:22
    to other early adopters.
  • 0:22 - 0:25
    How we can get from somewhere in the region of 12 million users,
  • 0:25 - 0:26
    to hundreds of millions of users.
  • 0:26 - 0:34
    How Ubuntu can do for operating systems what Firefox has done for Web browsers.
  • 0:34 - 0:36
    So, how do we cross this chasm?
  • 0:36 - 0:41
    Well, you may have your own theory, but this is mine.
  • 0:41 - 0:46
    Ubuntu needs to be useful, desirable, gettable, and keepable.
  • 0:46 - 0:49
    Useful, in that does things that people need or want to do.
  • 0:49 - 0:53
    Desirable: people prefer doing those things on Ubuntu, rather than any other system.
  • 0:53 - 0:57
    Gettable: people know how to get Ubuntu and install it,
  • 0:57 - 0:59
    or more likely, they buy it preinstalled.
  • 0:59 - 1:05
    And keepable: people can keep using Ubuntu for months and years on end without trouble.
  • 1:05 - 1:10
    Now, there’s a whole universe of issues and problems that we need to tackle
  • 1:10 - 1:13
    to address these four basic requirements.
  • 1:13 - 1:16
    And if you are working on any of these things, what you are doing is important.
  • 1:16 - 1:19
    So if anyone tells you, “All Ubuntu needs now is games”,
  • 1:19 - 1:21
    or “all Ubuntu needs now is advertising”,
  • 1:21 - 1:25
    they are looking at just a tiny part of this universe.
  • 1:25 - 1:28
    And you’ll hear a lot this week about Unity.
  • 1:28 - 1:32
    But the truth is that Unity is only a tiny part of this universe as well.
  • 1:32 - 1:36
    Because Unity will be most successful if it is so simple and unobtrusive
  • 1:36 - 1:39
    that people barely even notice that they’re using it.
  • 1:39 - 1:42
    Nobody is going to turn on a computer so that they can use Unity.
  • 1:42 - 1:45
    People turn on a computer so that they can do things.
  • 1:45 - 1:50
    So with that in mind, today I’m just going to look at the first quarter of this chart.
  • 1:50 - 1:53
    How do we make Ubuntu as useful as possible?
  • 1:53 - 1:57
    To some extent, this comes from properties of the base platform.
  • 1:57 - 2:04
    Hardware support, networking, printing, battery life, startup speed, accessibility, things like this.
  • 2:04 - 2:07
    A few of these things, we are testing and tracking in an automated way.
  • 2:07 - 2:10
    But most of them, we aren’t yet.
  • 2:10 - 2:13
    Most of them, whenever they go wrong, or whenever they get worse,
  • 2:13 - 2:16
    the only way we find out is by accident. By ad-hoc testing.
  • 2:16 - 2:20
    So, as Mark said this morning, we should do more automated testing.
  • 2:20 - 2:24
    I look forward to finding out how people here [UDS session: “Improving the desktop testing program”]
  • 2:24 - 2:26
    plan to automate more of this testing.
  • 2:26 - 2:30
    The rest of usefulness comes from applications.
  • 2:30 - 2:35
    Applications are what let people do things with Ubuntu that we could barely imagine.
  • 2:35 - 2:38
    So how are we doing when it comes to applications?
  • 2:38 - 2:42
    Well, six years ago, the first version of Ubuntu,
  • 2:42 - 2:49
    Ubuntu 4.10 had 375 graphical applications in the standard software channels.
  • 2:49 - 2:52
    And over the past six years, this number has steadily increased,
  • 2:52 - 3:02
    pretty linearly, and in Ubuntu 10.10 we have 2351 [applications]. Approximately.
  • 3:02 - 3:08
    [applause]
  • 3:08 - 3:13
    But unlike the real universe, the Ubuntu universe does not exist in a vacuum.
  • 3:13 - 3:17
    Here’s Android over the same time period.
  • 3:17 - 3:21
    Two years and one week ago, the Android Market started out from zero.
  • 3:21 - 3:28
    And a couple of hours ago, they announced that they have just reached 100,000 applications.
  • 3:28 - 3:32
    Scale down the graph again, because here’s iOS.
  • 3:32 - 3:42
    July 2008, the App Store opened from zero, and today it has over 300,000 applications.
  • 3:42 - 3:44
    This is a big difference.
  • 3:44 - 3:46
    Now there are several explanations you might make for this difference.
  • 3:46 - 3:53
    You might say for example, that, well, a lot of those Android and iOS applications are crap.
  • 3:53 - 3:57
    But that doesn’t seem to be true, at least, according to Android users themselves,
  • 3:57 - 4:01
    only 28 percent of the ratings they give to applications
  • 4:01 - 4:04
    are saying that the application is crap [1 or 2 stars out of 5].
  • 4:04 - 4:08
    You could say, well, applications don’t really matter any more.
  • 4:08 - 4:10
    Everything’s moving to the Web.
  • 4:10 - 4:13
    But I don’t think that’s really true either, because that’s what Apple thought
  • 4:13 - 4:16
    when they first released the iPhone three years ago.
  • 4:16 - 4:21
    And they pretty realized that it was a mistake, because developers didn’t like that.
  • 4:21 - 4:25
    And that’s what Google thought, when they first announced Chrome OS,
  • 4:25 - 4:31
    but it seems to me that Chrome OS has been pretty much sidelined by Android.
  • 4:31 - 4:35
    You might also say the opposite:
  • 4:35 - 4:42
    a lot of those mobile applications are applications specifically to replace particular Web sites
  • 4:42 - 4:46
    because the Web sites are too difficult to use on a mobile browser.
  • 4:46 - 4:55
    But that argument doesn’t apply to the iPad, and even that has shot past Ubuntu
  • 4:55 - 4:59
    and now has 35,000 applications after only a few months.
  • 4:59 - 5:02
    More than ten times the number Ubuntu has.
  • 5:02 - 5:09
    Next month [November 2010], Apple is going to open the Mac App Store to application developers.
  • 5:09 - 5:14
    And in the next version of Windows, we can reasonably expect a Windows Store as well.
  • 5:14 - 5:19
    We have taken six years to get just over [2300] applications.
  • 5:19 - 5:21
    How long do you think it will take for them to get ten times as many?
  • 5:21 - 5:24
    A month? Two months, maybe?
  • 5:24 - 5:29
    There’s something is terribly wrong here.
  • 5:29 - 5:33
    Now, this does not mean we should give up and go home.
  • 5:33 - 5:37
    It does not mean we should panic.
  • 5:37 - 5:40
    But nor does it mean we should just ignore this problem,
  • 5:40 - 5:46
    or say, ah, well, we’ll think about that in 2012, or 2013, or 2014.
  • 5:46 - 5:52
    No. We need to figure out what’s going wrong now. And fix it, now.
  • 5:52 - 5:57
    So. What does it take to attract tens of thousands,
  • 5:57 - 6:00
    hundreds of thousands of great applications to Ubuntu?
  • 6:00 - 6:03
    Five things.
  • 6:03 - 6:08
    First, we need an initial user base. Of course this is a bit of a chicken-and-egg problem,
  • 6:08 - 6:10
    but the more users Ubuntu has, the more those users can
  • 6:10 - 6:16
    give application developers their appreciation, or their money, or both.
  • 6:16 - 6:22
    And with Ubuntu, we have somewhere in the region of 12 million users who can do this.
  • 6:22 - 6:23
    So far so good.
  • 6:23 - 6:27
    The second thing we need is a great developer platform. [IDE, SDK, reference materials, frameworks+APIs]
  • 6:27 - 6:32
    It needs to be not just easy, but even fun to write an Ubuntu application.
  • 6:32 - 6:34
    So, how are we doing here?
  • 6:34 - 6:36
    Well, let’s look at the Web sites for example.
  • 6:36 - 6:40
    This is the Web site for if you want to write Windows applications. [MSDN]
  • 6:40 - 6:42
    Plenty of information here.
  • 6:42 - 6:45
    This is the Web site for if you want to write Mac applications. [Mac Dev Center]
  • 6:45 - 6:49
    Here’s the one for iOS. [iOS Dev Center] Here’s the one for Android. [Android Developers]
  • 6:49 - 6:51
    Here’s the one for Palm Web OS. [HP Palm Developer Center]
  • 6:51 - 6:54
    The Web site for if you want to write Ubuntu applications looks like this.
  • 6:54 - 7:01
    [“Ubuntu Developer” — “Just another WordPress site” — “Hello world!”] [laughter]
  • 7:01 - 7:13
    But even if this site was up and running, what would it say?
  • 7:13 - 7:17
    What would we say, for example, to someone who wanted to add audio to their application?
  • 7:17 - 7:19
    [“The Linux audio mess” diagram]
  • 7:19 - 7:22
    What would we say to someone who wanted to add spell-checking to their application?
  • 7:22 - 7:24
    [“aspell? hunspell? enchant?”]
  • 7:24 - 7:26
    What would we say to someone who wanted to draw a chart inside their application?
  • 7:26 - 7:28
    [“GDK? Cairo? XRender?”]
  • 7:28 - 7:30
    What does it say that the Unity developers have developed an entire widget toolkit of their own
  • 7:30 - 7:32
    [“The Clutter Toolkit”],
  • 7:32 - 7:35
    plus a replacement for one of the standard Gnome libraries [“libwnck” → “BAMF Application Matching Framework”],
  • 7:35 - 7:39
    just so that they could implement things that should have been easy already?
  • 7:39 - 7:42
    We’re in bad shape here.
  • 7:42 - 7:46
    Ubuntu became popular with millions of end users partly because
  • 7:46 - 7:50
    we made smart, opinionated decisions about which applications to ship by default,
  • 7:50 - 7:54
    and we gave special care and attention to those applications.
  • 7:54 - 7:57
    If we’re going to be successful with application developers,
  • 7:57 - 8:00
    we need to put just as much effort into frameworks and APIs.
  • 8:00 - 8:06
    How might we do that? I don’t know, but I want to find out.
  • 8:06 - 8:10
    The third thing we need is easy software packaging.
  • 8:10 - 8:14
    In Ubuntu we have a team of 161 “Universe Contributors”,
  • 8:14 - 8:20
    who spend their spare time packaging software. Mostly other people’s software.
  • 8:20 - 8:23
    Now, why do we do that?
  • 8:23 - 8:25
    Well, it’s because we’re a “Linux distribution”,
  • 8:25 - 8:28
    and that’s what “Linux distributions” do, right?
  • 8:28 - 8:31
    Yes, but why do they do that? Two main reasons.
  • 8:33 - 8:37
    Firstly, because until now, every Linux distribution has been so unpopular,
  • 8:37 - 8:42
    that hardly any application developers actually cared whether their software was
  • 8:42 - 8:48
    easily installable on that distribution. So the distribution developers had to take up the slack.
  • 8:48 -
    Fortunately Ubuntu is now popular enough that this is starting to change.
  • Not Synced
    is a lot more difficult than packaging software for Windows [or other systems].
  • Not Synced
    So for everyone here who has ever packaged software,
  • Not Synced
    the first thing I’d like you to think about is, how can we make this easier?
  • Not Synced
    Maybe we need to make .deb packaging easier.
  • Not Synced
    Maybe we need to have a separate package format for third-party applications.
  • Not Synced
    Ubuntu Universe Contributors will play a vital role in Ubuntu for years to come.
  • Not Synced
    But if we want to get even 50 times as many applications as we have now,
  • Not Synced
    even 50 times as many open-source applications,
  • Not Synced
    can anyone seriously believe that we’ll find 50 times as many Universe Contributors?
  • Not Synced
    Not 160 people, but 8000 people who want to spend their spare time packaging other people’s software?
  • Not Synced
    So there are several sessions at UDS about this.
  • Not Synced
    [“Application packaging and distribution”, “Improving the Packaging Guide”, “Sandboxing applications”]
  • Not Synced
    The fourth thing we need is easy publishing of software.
  • Not Synced
    The standard process if you want to get a new application into Ubuntu takes between two and eight months,
  • Not Synced
    depending on what part of the release cycle we’re at.
  • Not Synced
    If it’s the day before Feature Freeze, it’s two months.
  • Not Synced
    If it’s the day after Feature Freeze, it’s eight months.
  • Not Synced
    Now, in contrast, iOS developers complain
  • Not Synced
    if their application doesn’t get into the App Store within a week.
  • Not Synced
    So we’ve developed two processes to get around this.
  • Not Synced
    One is the Backports process. The other is the Application Review process.
  • Not Synced
    Neither of them are being used particularly well at the moment.
  • Not Synced
    So there [is a session] on this this afternoon. [“App Review Board Review”]
  • Not Synced
    The fifth thing we need is easy installation, feedback, and revenue.
  • Not Synced
    Here, finally, we get to Ubuntu Software Center.
  • Not Synced
    All of this to point out that if you think Ubuntu Software Center is the linchpin of Ubuntu,
  • Not Synced
    or the future of Ubuntu, you too are looking at just a tiny part of the universe.
  • Not Synced
    One month ago we released Ubuntu Software Center version 3.0.
  • Not Synced
    This is a big step forward in several ways.
  • Not Synced
    It’s faster, it’s prettier, the search works better,
  • Not Synced
    it lets you install add-ons for applications, it has a history of past transactions,
  • Not Synced
    and, most importantly perhaps, it lets you buy software.
  • Not Synced
    Right now we have, I think, two applications in the store, another two on the way,
  • Not Synced
    we’re looking to accelerate this very quickly.
  • Not Synced
    [UDS session: “Defining the end-to-end process for commercial applications”]
  • Not Synced
    So we owe a big thankyou to our amazing team of contributors.
  • Not Synced
    [Michael Vogt, Gary Lasker, Canonical ISD team, Andrew Higginson, Didier Roche, K. Vishnoo Charan Reddy…]
  • Not Synced
    […Matthew McGowan, Mohamed Amine IL Idrissi, Peter Gardenier, Rakesh Ambati, Sebastian Heinlein]
  • Not Synced
    If any of you would like to help out with Ubuntu Software Center,
  • Not Synced
    please come and talk to one of these people.
  • Not Synced
    We’re very friendly, and there’s lots of things we want to do.
  • Not Synced
    Our short-term goal, for Ubuntu Software Center 3.1, is ratings and reviews.
  • Not Synced
    [UDS session: “Ratings and reviews in USC”]
  • Not Synced
    But beyond that, there are many other things we’d like to do for 4.0.
  • Not Synced
    But in the meantime, your homework for today is to think:
  • Not Synced
    [1] How can we improve our developer platform,
  • Not Synced
    [2] How can we make packaging easier, and
  • Not Synced
    [3] How can we make publishing easier.
  • Not Synced
    Thank you.
  • Not Synced
    [Thanks to: Charline Poirier, Evan Dandrea, Florian Boucault, Jason Smith…]
  • Not Synced
    […Jonathan Lange, Michael Vogt and Canonical IS, Randall Ross, and Scott James Remnant]
  • Not Synced
    [applause]
  • Not Synced
    [Jono Bacon:] All right. I think … Aren’t you both doing this?
  • Not Synced
    Oh, is it just you? Oh? Okay. So, finally — great job from MPT —
  • Not Synced
    Finally we’ve got Evan, and he’s going to get up and talk about
  • Not Synced
    “The restaurant at the end of the universe”. Big round of applause for Evan.
  • Not Synced
    [applause]
  • Not Synced
    [“The restaurant at the end of the universe” — “Evan Dandrea ”]
  • Not Synced
    [Cartoon: Insects swarming out of computer screen.]
  • Not Synced
    [Caption: “My package made it into Debian-Main because it looked innocuous enough;…”]
  • Not Synced
    [“…no one noticed ‘locusts’ in the dependency list.”]
  • Not Synced
    [Evan Dandrea:] Right, so, following Matthew … Possibly not my best decision ever.
  • Not Synced
    That was quite the presentation. I think that deserves another round of applause for Matthew.
  • Not Synced
    [applause]
  • Not Synced
    So I just want to spend a brief period of time today talking about where we’re at right now,
  • Not Synced
    where we should be moving towards, and how we can reduce the barriers
  • Not Synced
    and roadblocks on our path to getting there.
  • Not Synced
    So, here’s where we’re at. This should be quite familiar to all of you. Right?
  • Not Synced
    We have the upstream developers create applications, they release them out onto the Internet.
  • Not Synced
    Ubuntu then comes, takes the applications that they find interesting.
  • Not Synced
    Individual Ubuntu developers, individual Debian developers,
  • Not Synced
    take applications, they package them up, they fix all the bugs that may be there,
  • Not Synced
    and they deliver them to users.
  • Not Synced
    As Matthew said, this takes anywhere from two to eight months,
  • Not Synced
    depending upon where we are in the release cycle.
  • Not Synced
    Users, after those two to eight months, get the applications,
  • Not Synced
    they play around with them, they find some bugs, they generate some feedback,
  • Not Synced
    and they deliver that back up through Ubuntu and back up to the upstream developers.
  • Not Synced
    Again, this takes two to eight months, plus some time
  • Not Synced
    for the users to send that information to us and for us to send that information to developers.
  • Not Synced
    This is an incredibly lossy process.
  • Not Synced
    There are a wealth of applications out there that we don’t even know about
  • Not Synced
    because it hasn’t piqued anyone’s interest in the Ubuntu developer community
  • Not Synced
    to actually go ahead and package them.
  • Not Synced
    And the individuals writing those applications really have little recourse
  • Not Synced
    to getting those applications into Ubuntu.
  • Not Synced
    Equally, the bugs that are filed by our users, while there is an immense effort to push these upstream,
  • Not Synced
    not all of them ultimately make it up there.
  • Not Synced
    I think no-one here has any illusions that all of the bugs that are reported in Ubuntu
  • Not Synced
    make their way back up to the upstream applications.
  • Not Synced
    So, we have a problem. And I’ve really tried to rack my brain as to what we were missing here.
  • Not Synced
    And I tried to think, given the apps that we have, what are we missing?
  • Not Synced
    What are the killer applications, that we use every single day,
  • Not Synced
    that we’re happy to talk to our friends about?
  • Not Synced
    That we actually go and tell people, “Oh my god, you’ve got to try Ubuntu because of this”.
  • Not Synced
    And I really couldn’t think of any. Sure, there’s Firefox, there’s the mail client,
  • Not Synced
    and there’s a word processor, but really, every platform has that.
  • Not Synced
    What we don’t have is, effectively, an Angry-Birds-like application for Ubuntu.
  • Not Synced
    Now, whatever you think of this particular game, it’s been immensely successful.
  • Not Synced
    For those of you that don’t know about it, it’s generated
  • Not Synced
    millions upon millions of dollars in revenue, and users, mostly through word of mouth.
  • Not Synced
    The chief developer of this application was just snatched up by EA.
  • Not Synced
    And it’s a really simple game, and it didn’t take very long to develop on the iOS platform,
  • Not Synced
    and I’m sure it didn’t take long either to develop on Android.
  • Not Synced
    So, taking a quick step back: Why is this?
  • Not Synced
    Well, we’re spending an awful lot of time doing developers’ jobs for them.
  • Not Synced
    As I said at the beginning, we’re taking applications,
  • Not Synced
    we’re smoothing out the rough edges, we’re patching these applications,
  • Not Synced
    we’re packaging them up, and then we’re delivering them to users.
  • Not Synced
    But this is actually handicapping developers. This is removing that direct communication
  • Not Synced
    between developers and users. Why are we doing this?
  • Not Synced
    It’s obviously costing us a lot of resources, so surely there must be a reason.
  • Not Synced
    Well, it turns out the reason is that these are all very dangerous things,
  • Not Synced
    and they require years of experience. dpkg runs as root.
  • Not Synced
    Equally, maintainer scripts in Debian packages have the full range of options
  • Not Synced
    that the shell provides them. So they can do anything on the system.
  • Not Synced
    Because they have maintainer scripts, that means they’re non-atomic,
  • Not Synced
    which means that anything they do can’t be undone.
  • Not Synced
    So of course we’re scared, of course we’ll step in and say,
  • Not Synced
    “We’ll do the packaging for you”, because we do not want to introduce our users
  • Not Synced
    into that world of hurt of really bad packaging.
  • Not Synced
    But maybe there’s another way to solve this. One that’s actually scalable.
  • Not Synced
    Because if you look at this, as Matthew said,
  • Not Synced
    if we hope to get to hundreds of millions of users, hundreds of thousands of applications,
  • Not Synced
    we’re not going to be able to do that with the [Masters of the Universe] alone.
  • Not Synced
    Well, what if we introduced static analysis?
Title:
UDS N Monday plenary: Getting great applications on Ubuntu
Video Language:
English
There has been no activity on this language so far.

English subtitles

Revisions