×
×

[Editorial] Concept about 1-click away software installation from PPAs? Is this possible?

A solid fact is that Ubuntu is growing, continuing daily to add more and more users, thus enlarging its user base, base measured (according to various official statements) around 20 million users.

Months ago, Mark Shuttleworth announced a bold plan, stating that Ubuntu is to gather 200 million users in the next years.

The main question is: what are the "things" that prevent users to immediately adopt Ubuntu as their main operating system?

As we all know, the proprietary world is offering (at the moment) some features/advantages used by numerous users, nevertheless, more or less, Ubuntu has open-source viable and highly usable alternatives, such as Microsoft Office vs LibreOffice, Photoshop vs GIMP (2.8), web browsers vs web browsers, VLC media player vs VLC media player, widely known and used games vs Humble Indie Bundle, numerous smaller games, the-about-to-arrive Left 4 Dead 2, so basically, from an overall available software point-of-view, Ubuntu can be easily considered as a solid fully-usable platform.

The recently announced gaming-related plans triggered a massive amount of feedback, clearly proving the importance that games play in our lives, consequently, one can clearly observe that more games equals more users.

While the mentioned factors are definitely important (of course, backed by Ubuntu's serious landing of design-based interfaces and polish), in the bellow area we are going to investigate an important stopper for Ubuntu's adoption, that is how to 1-click away install software on Ubuntu, without typing a word in a terminal, thus removing the need for a terminal and extra user time/requires base of knowledge (not for everybody, but for users seeking an immediate clickable manner of installing and interacting with software in Ubuntu, commonly named newcomers).

Installing 1-click away is, at the moment, doable via Ubuntu Software Center, where thousands and thousands of applications, games, utilities, etc, are available; the user must open the Software Center, search a software and click Install, action that installs the required app into one's computer.

Now, while USC features and houses numerous apps, other numerous apps are "living" on launchpad, being available only in PPAs; in PPAs we will also find more up-to-date software from USC; in PPAs we will also find up-to-date apps updated immediately once a developer adds a new feature, resolve a critical bug, pushes an immediate critical change, etc, basically, PPAs can't possibly (at least from my point-of-view) by ever replaced by Ubuntu Software Center, regardless of developers' hard work to land software via specialized teams (specialized in landing apps from user submitting them to Ubuntu's developer "area", with the possibility to also add updates for apps installed via USC, without the need to add a PPA, nevertheless developers, even if Canonical hires 100 developers for the mentioned tasks, can't handle the massive amount of third-party development oriented towards Ubuntu, handle in the sense of keeping the apps up-to-date and landed immediately as they are created).

Does Ubuntu need more work-force to deal with third-party apps, or can we together, as a community (via ideas, thoughts, creativity pushed towards the relevant Ubuntu developers to implement this), make this process automatic and hasle-free?
I think so.

From the beginning, I want to make this quite clear, we are trying to find a solution to install software from PPAs with just 1-click "effort" and zero-terminal-knowledge without typing anything in the terminal, so that newcomers, newbies can immediately grasp the install process and, thus, starting to use it.

At the moment, installing an app from a PPA is to be done by typing (or usually copy&pasting) 3 command into the terminal

sudo add-apt-repository ppa:mycustomstuff/ppa
sudo apt-get update
sudo apt-get install mycustomstuff

While the above commands are clear and one can easily paste them into a terminal, they are definitely intimidating for newcomers, "frightened" by the "deep" text-only terminal, approach seen across the internets, daily people are saying "How can Ubuntu grow with such type of typing-based installations?", "Why can't this be more simple?", etc.

The desired solution is this:

Ubuntu Software Center support installing apps by clicking a link, such as apt://, meaning, clicking on a link like apt://gedit opens the USC with Gedit in its main view, from where the user can simply click Install to install the Gedit app.

The same thing can probably be achieved with PPAs.

Navigating to a PPA, one can see its structure:

  • PPA description (the developer describes the PPA's packages)
  • its name (such as ppa:ian-berke/ppa-drawers)
  • its packages (the actual contained applications)

How can this be transformed into a 1-click installation in a matter of developer-time days?
Launchpad is to generate a link next to the application, meaning, the new addition is to be exposed as an icon (and/or text) in a separate area, clicking on it opens USC with the app in its main view, clicking USC's Install, installs the actual application.

The launchpad generated link must be different from the regular apt:// link in order to "force" USC to first add the PPA and to update the sources.
Probably the link should look like apt-launchpad://
Probably, an apt-launchpad:// should contain/trigger the PPA's accurate name (needed to be added to software sources) probably via a separate script, because the actual clicking is to be performed only an preferred apps, (newcomers) completely ignoring other elements.

The tricky part: in order to expose the PPA's apps into the USC, the actual PPA (of origin) must be added with specific commands (such as sudo add-apt-repository sudo apt-get update), commands to be performed under-the-hood, without the user to actually see them.
So, the desired process is clicking on the PPA's 1-click install icon and Ubuntu (under-the-hood) performs adding the PPA and updating the sources, then USC is opened with the application ready-to-be-installed.

More advanced usage: a PPA containing numerous packages but only 1 app, should receive an apt-launchpad:// link only next to the actual app, so, a PPA containing firefox, liblibrary1, liblibrary2, liblibrary3, receives a 1-click install link next to firefox only, ignoring the mentioned libraries.

Generating apt-launchpad:// links is to be performed automatically for every app created on launchpad and on every app version update, while in the same time keeping the traditional method and available details displayed for more advanced terminal-based users.

The apt-launchpad approach is to support not only launchpad webpages, but also equally-important regular webpages, consequently, a blogger/user/open-source advocate can post an apt-launchpad link when another user is asking "Hey, how/from-where can I install the x app?, followed by the help-person providing a link like apt-launchpad://xcustomapp, clicking on it follows the above USC-based installation behavior.

A possible like-a-regular-web-link specific approach, could be clicking on an apt-launchpad link, thus sending a "message" to USC, then USC sends a message to launchpad receiving the PPA's "metadata" (especially the accurate PPA name), then USC adds the PPA, then USC opens it in the installation regular view; the process if represented as such:

then again

What do you think about this method?
Please, answer with
1)That's brilliant
2)Could be a good idea if ...
3)Hmmm, not a much of a deal
4)Bad idea

This is just a mere personal concept, if the feedback is positive, I will post it on launchpad as a bug.
Even if you are not interested, posting a comment with Bad idea could help (if you think it is a bad idea).