There should be a simple Web service at apt.ubuntu.com that redirects (for example) the URL http://apt.ubuntu.com/p/abiword to apt:abiword. This works right now for Firefox in Ubuntu. It needs to work for other browsers, and produce understandable results when you follow the link on other operating systems. Current development can be found on the APTURLRedirector LaunchPad Project Page

Rationale

apt: protocol links provide easy prompts to install packages on Ubuntu. However, there are thousands of Weblog systems, forums, wikis, and other CMSes that do not handle apt: links correctly, and most of them never will. People publishing on these systems still want to be able to make it as easy as possible for people to install Ubuntu software from the official repositories. So, they need to be able to use an http: URL that does the same job.

User stories

Behavior

flow-chart.jpg

On any Web request, apt.ubuntu.com should first examine the request URL.

If the URL is of the form /p/packagename, the server should next examine the User-Agent: header to determine whether the browser is running on Ubuntu.

Next, the server should display an HTTP 200 “One moment…” page with an indeterminate progress animation, so that the user has something to look at while Ubuntu Software Center is launching.

Next, it should open the URL apt:packagename. The most reliable way of doing this is probably (but not definitely) a <meta http-equiv="refresh">.

Once that is done, a script in the “One moment…” page should wait a few seconds, then determine whether the browser window has any session history. If it does, it should go back one page (i.e. to the page that the apt.ubuntu.com link was on in the first place). If it does not, it should close the window (because the window that was opened solely to launch the Ubuntu Software Center, and this window should not hang around).

For all HTML, images, and CSS (but not JavaScript), the Design team will provide artwork and text.

Current enhancements

Future enhancements

AptUrlRedirector (last edited 2010-12-15 12:35:02 by eth0)