Apps are super-important for Ubuntu. Many of us have blogged about this in a more general sense, but I want to provide an update of what has been happening behind the scenes in the last few weeks.
Before I start, I want to reach out to you to be part of the upcoming Apps Sprint. Join us on #ubuntu-arb on irc.freenode.net from Monday, 2nd July to Wednesday, 4th July to learn more about Ubuntu apps, get involved in reviewing them and bringing more progress to this effort.
Getting apps into Ubuntu hasn’t been easy up until now, due to a number of circumstances. The review process takes long, some of the steps involved are cumbersome and the review queue has been filling up. There are reasons for this and there is lots of room for improvement.
As apps are part of a separate repository, the Technical Board requires us to make some very specific namespace distinctions between “regular packages” and apps. This means that apps install into /opt/ and files which can’t go there (.desktop files, lens specific bits, etc.) have to include the package name to avoid possible file name clashes.
This looks pretty straight-forward and you could just rename files and move things around as part of the packaging, but quite often this means you have to make changes in the code as well (think of file locations, translation files, data directories or file look-ups). For a larger app this results in quite a bit of engineering work to make all the changes and make sure they work as intended.
At this point I want to credit the App Review Board (ARB) for some work they have been doing. They could easily just have said: “Rejected: Your app doesn’t do it right.”, but instead they helped app authors to get their app working. This was time-consuming, but a learning experience for everyone involved.
The good news is: quickly, which is our recommended tool to produce apps, has templates where everybody worked hard to get the templates and the code up to scratch, so that writing code for the extras repository gets easier.
Another piece of good news is: pkgme has progressed nicely and can help with the initial packaging of apps (useful if you don’t use quickly).
I very recently started working on a tool called arb-lint, which automates certain parts of the app review. This will make it possible to collect the knowledge of app policies into it, so new ARB members or app review helpers can easily find out what’s wrong with an app and how to fix it. You could even run it on your own app and find out what needs to be improved.
To sum this up: everybody knows that packaging and policies is quite boring to app authors. They just want to focus on producing great quality apps, they’re not interested in tweaking their build-system to adhere to all the policies. Don’t worry – this is understood. There’s still work to be done, but the tools are all progressing nicely.
During the 18 months the App Review Board has existed, the submission process has changed a number of times. The tool which is now being used is called myApps and a lot of handy improvements have gone into it in the last weeks and months.
One current problem is that some app authors submit tarballs of their apps, others provide bzr branches, others submit their app in a PPA. While we know how to use all of these tools, it makes the review process fairly inconsistent. This is why we came up with a service called apps-brancher, which downloads the app’s code, sticks it into a bzr branch, attempts to package it if necessary and pushes it to Launchpad.
The current ARB members are all volunteers and working hard on apps and other places in Ubuntu. Some weeks ago the Ubuntu App Review Contributors team was set up, so that more active helpers can easily join the effort.
It is true. There is quite a backlog of apps. Some of them might be reviewed and approved quickly, others will need quite a bit of engineering to get into Ubuntu. Some might not be suitable for the extras repository at all.
As you have read above, there are numerous improvements in the works and there are very likely lots of other things which might result in a nice speed-up. Your help will be appreciated here!
The Ubuntu Apps Sprint
All of the above is why we want to invite you to the Ubuntu Apps Sprint from Monday to Wednesday (2nd-4th July). Join us in #ubuntu-arb on irc.freenode.net to:
- Improve quickly.
- Improve the apps-brancher.
- Improve arb-lint.
- Improve pkgme.
- Review and improve apps and get the queue under control.
- Learn from each other, hatch new plans and make apps just rock in Ubuntu.
Quite a number of experts from the ARB, from the quickly and pkgme teams and lots of others will be around to answer your questions. We hope you will get involved and help us out.
Apps will make Ubuntu even more beautiful. It’s just great to get to see so much creativity first. Contributing here is totally worthwhile.