Comments
Your comments on the design of the Ubuntu Software Store (codenamed “AppCenter”) are welcome here. Please sign your name with each comment. Thanks!
What is the relationship between AppCenter and PackageKit? Aren't they both trying to solve the same problems? Is this just another case of http://en.wikipedia.org/wiki/Not_Invented_Here syndrome, or do they serve drastically different purposes? [unsigned comment by Endolith]
PackageKit is an API for installing software. AppCenter will likely use PackageKit for some things. —mpt
I´ve got an Idea related to the AppCenter and the new project UbuntuOne. Maybe it ís a good idea to combine those projects with the possibilty of saving all installed apps within a UbuntuOne-account and its webspace. So when the user adds a programm via the AppCenter it could be saved in it and in UbuntuOne. The Advantage of it could be, that when the user is on another Ubuntu PC he could synchronize those 2 (or more) Computers and all it´s installed apps. (It just has to save the softwarelist in the Ubuntu-One, the rest could be done by the AppCenter) If i put this idea a little further it could also synchronize the settings of the programms in the home folder of the user and on Ubuntu-One. [unsigned comment by Stefan Buchholz]
- That is a good idea, thanks. We plan to do something similar -- not store the applications themselves in your Ubuntu One account, but store your access credentials to private software archives. —mpt
What isn't mentioned in this specification is how AppCenter will handle devel libraries. While making things easier for users it shouldn't come at the cost of developers who often need to get the devel libraries of packages and use synaptic to do it. This should be added as a use case/User story to the spec. [Luc-Ace]
- Could "Hardware drivers" be replaced too? Greg Auger (fluteflute)
- It’s likely that the Software Store will eventually make it easy for you to see which proprietary packages you have installed. For choosing between (for example) a proprietary driver and the Free alternative, I think it would make more sense to have driver selectors in the “Display” settings and in the “Wireless” section of the “Network” settings. —mpt
Synaptic has an option to browse repositories files by "origin". For now PPA origin is the same under ppa.launchpad.net/main(or universe or ..) . It would be great if one using the AppCenter could browse the PPA origins independently and be able to discover which files are in a certain PPA. A cli implementation of this is described here http://ubuntuforums.org/showpost.php?p=6882449&postcount=43 -- gourgi
Could it be called something more international? 'AppCenter' is US English, AppCentre would be Standard English, but would confuse Americans. -- liam-intermedia-online 2009-07-30 22:08:44
Yes, AppCenter was just a codename. It now has a brand name: the Ubuntu Software Store. —mpt
I think it's a very good idea : for myself i have a similar project based on packagekit using Qt4.5 and DBus, but it is not very advanced for the moment but it will be soon. You could take some idea for design at : http://modern-os.projects.servhome.org/img_viewer.php?image=projects/interface/package-man.png its a mockup i've made months ago, and i will yet improve it cause i'm already working on a second mockup more precise and then taking a look about whzt i can do in Qt with DBus. Regards, TheBootroo, ModernOS Projects Team.
I have a small proposal for the AppCenter Right now, it pops out a window each time I click on update It shpuld be better to display the loading bar inside the app like this http://img36.imageshack.us/img36/6358/pantallazojpb.png the buttons would be replaced by that bar when u click on update --artir
- At the time of writing, the "application panel" section says that the search function should be "disabled". Assuming this means "present but greyed out", it should have a tooltip explaining why and at least hinting how to get it back - for example, "search is disabled when viewing a package". Interface elements that are mysteriously disabled can frustrate users.
Suggestion: Basic Mode
One of the main issues with introducing new computer users and those familiar with other OS's to linux is that it is difficult to figure out what apps to use. I was thinking about a program that is basically "Ubuntu for my Nana". A visible text box labeled "What do you want to do?". The newbie could type 'write a letter' and a window pops up suggesting programs to use, separated into apps installed and programs to install from the repositories. Each would carry a short description, crowd-sourced rating (5 stars) and a usability rating (how technical is it to use) and the ability to rate the app. Clicking on the app would launch or install and launch.
This idea led me to the AppCenter Project. It's aims to have search based on usage and "competing" apps would be great, if they can handle plain language input. I propose a "Basic Mode" option for the AppsCenter as a default (or option to tell ubuntu how new the user is) with the following adaptation;
- It would not display dev, libs or extraneous packages.
- Have a limited amount of available apps appropriate for the level of user (Category for New Users). I.e a users typing in "look at a web page" is highly unlikely to want to install lynx.
- Easy to understand application descriptions, which may require separate descriptions from "Advanced mode".
- It would refer to them as as application as the project name suggests, rather than packages.
- It would have a higher level of help/tool-tips to walk newbies through the basics and introduce linux terms and concepts.
- Integrate into the task bar or program menu. -- tris_r
Suggestion: Hardware Requirements
i think it would be very useful, if the information on the required hardware would also be available for each package/program, especially for commercial programs, to prevent users to buy apps that prop wont run well anyways.
I haven't thought a lot about this but i think this should be done in 2 ways:
- officially supported hardware, given by the designers/ubuntu.
- user tested/reviewed
if a user happens not to have the officially supported hardware and decides to takes the risk, and buy/install the package anyways. he/she should be able to review this, so that other users with similar hardware can be informed. In fact i think this should be a default filter(/color system) on all software available. This will prevent a lot of frustration, (and will also clearly point out to users, if its time to get a new system :P)
filter/color system:
- green: hardware is officially supported and users agree
- orange: hardware is not officially supported, but users say it works fine.
- red: hardware is not officially supported and users agree that it doesn't run.
- the darkness of the color might be able to vary if users generally agree / disagree...
- (maybe add truly not working/unsupported hardware category)
- (maybe also filter programs on how well it seems supported...)
- (colours should prop be changed :P... )
I know that the user review might be difficult to implement, cause if something is not working it may not always be easy to determine the cause... but if you just collect a lot of user/hardware data... this should be possible :P
For this to work some of the user hardware profiles should be send with each review... but i don't think this will be much of a problem as long as the users are informed... considering that reviews are optional anyways, i don't think many users would not review because of this...
if a program does not meet the requirements, advice should be given (also based on user reviews...):
- you internet connection isn't fast enough.
- your video card sucks
- buy a new pc!
- your processor isn't fast enough to guarantee a good user experience.
- your screen is to small
and there should be a default help support/user wiki/link to launchpad/bugtracker... thingy... to help users on there way (though this is already somewhere in the spec...)
other penny: also.. i sometimes like my software more up-to-date than the most recent 4 months old ubuntu release, and for some games its essential to always have the latest versions anyways... so i think each program should have a switch to the official PPA if available, or do it by default if its necessary (games)...
never updated a wiki like this before, hope i didn't break to many guildlines :P -- phonixor
Suggestion: Warnings when upgrading important and required packages
I suggest putting a serious-looking warning when any of the following occurs:
- A user adds a repository that includes packages with "Priority: important" or "Priority: required"
- A user upgrades a package with "Priority: important" or "Priority: required"
- A user upgrades a package which depends on a package with "Priority: important" or "Priority: required"
User story
Hugo moved to Linux a few months ago. He's starting to get comfortable with Linux, but would like to upgrade to the newest version of his favourite program, which isn't yet available in the official archives. He looks around online, and finds a guide that explains how to get the latest version.
Currently, the story continues like this: He follows the guide, and his system won't boot any more. It turns out that somewhere along the way, Python got upgraded to a new version that isn't compatible with the scripts included in Ubuntu.
I propose the story continue like this: He follows the guide, until he reaches a warning sign with a skull-and-crossbones image. Seeing the warning, he decides to ask a more-expert friend, who talks him back from the brink.
Importance
I've seen at least two people fall into this trap a few months after installing Linux. It's probably dumb luck that it didn't happen to me when I was a newbie. Working your way back from this can be days or weeks of work for an expert, and means a mandatory reinstall for a newbie.
Suggested implementation
When the user attempts to add a repository, AppCenter should download it, scan for lines matching "^Priority: (important|required)", and display a warning like this if necessary:
When the user attempts to install a new package, AppCenter should examine the .dpkg file, and any dependencies, for priorities of "important" or "required", and display a warning like this if necessary:
Note that it's necessary to include both warnings, in case the user adds the repository from e.g. the command-line.
I recommend buttons marked "cancel" and "continue" rather than "yes" and "no" to a question, because users could potentially be panicked by the serious icon, misread the question, and click the wrong thing.
Related issues
This is arguably part of a larger issue currently being discussed in ubuntu-devel-discuss. That discussion may well lead to a blueprint.
Something like this idea may well be included in a future version of the TerminalRun Firefox extension.
I'll try to update this page when there's news about either of the above.
Suggesting applications to install based on file type
As per this idea, AppCenter could suggest an application to install on demand based on file format, like how the web search function in Windows is supposed to work (but doesn't). For this to be an option it would need to keep a list of all the MIME types supported by each application and whether the file format can opened or saved. The "Open With->find application" option in Nautilus could launch AppCenter in this mode and open the file after installing the app. This would also make other useful options viable, like filtering for applications by media type and displaying a list of MIME types supported by an application. --Gaz Davidson
Suggesting other names
@techwizrd on Identi.ca was talking about the name, ruminating about other options. I semi-jokingly supplied some alternatives, and he indicated that he liked AppBazaar and AppLibrary and that I should suggest them here. Greg Grossmeier (@greg) also replied to me, saying that he, too, liked AppLibrary: "Implies free and libraries (in the US) are very loved institutions (market research wise)". Either name is better than AppStore or SoftwareStore, primarily because of the confusion with Apple's Store, Android's Market, Blackberry, Palm, and WindowsMobile's whatever. Let's have Ubuntu be different. Library is probably easier to translate and more of an internationally recognizable term, plus it's separate from Bazaar, which is already a Canonical product. --Colin Dean