In order to go from 20 million to 200 million users, we need to get more & better apps on to Ubuntu. We want Ubuntu to have a full suite of first class applications and to be a thriving market place for free and commercial applications. We believe a crucial element of this is to make the lives of application developers more rich and satisfying. This page is your starting point to find out about the work that's going on to make this happen. It's a bit rough and is definitely incomplete. You are welcome to join us in improving it, or to follow along as we do so. = How to join in = * `#ubuntu-app-devel` on Freenode * [[https://lists.ubuntu.com/mailman/listinfo/ubuntu-app-devel|ubuntu-app-devel@lists.ubuntu.com]] * Answer questions on [[http://askubuntu.com/questions/tagged/application-development|Ask Ubuntu]] * Follow [[http://twitter.com/ubuntuappdev|@ubuntuappdev]] on Twitter * Follow the [[http://developer.ubuntu.com/?&feed=rss2|App Developer blog]] on http://developer.ubuntu.com = The projects = == Community == * UbuntuAppDeveloperWeek == Software Center == A cornerstone of the application developer edifice. Read about it at SoftwareCenter or join us on irc on irc.freenode.net #software-center or [[https://launchpad.net/software-center|on Launchpad]]. We always welcome contributors! There's quite a lot of server-side stuff behind the Software Center: * The [[https://launchpad.net/rnr-server|ratings&reviews server]] - its free software, AGPLv3 * The [[https://launchpad.net/ubuntu-webcatalog|Ubuntu Web Catalog]] - its free software, AGPLv3 * The [[https://launchpad.net/software-center-agent|Software Center Agent]] - this is internal to Canonical, but we're looking at making it free software when possible. == Make packaging easier == Not everyone likes packaging things for Ubuntu. We're doing work that will allow developers to submit a binary tarball to MyApps and then have MyApps automatically package it and submit it to the Software Center. * [[https://launchpad.net/pkgme|pkgme]] – automatically packages things * [[https://launchpad.net/pkgme-binary|pkgme-binary]] – specific backend for binary tarballs * [[https://launchpad.net/udd|udd]] – keeps a database of dependencies up-to-date * [[https://launchpad.net/pkgme-service|pkgme-service]] – network service version of the command-line pkgme tool Plans are currently spread out across the bug trackers for various projects and the following docs: * [[./AutomagicBinaryPackaging|Automagic binary packaging]] * [[./AutomagicBinaryPackaging/ImplementationPlan|Implementation plan]] See also PkgmeService for a description of the whole thing. == Make running applications safer == * [[./AppConfinement|App confinement]] * AppArmor * arkose XXX - link this up, explain how it fits in. == Making a portal == * http://developer.ubuntu.com * XXX - add links to design docs and plans here == Getting apps into stable == * PostReleaseApps * AppReviewBoard * UbuntuBackports XXX - say more about this == Make application development easier == * [[./AppInsulation|Insulate the apps from base system changes]]