Added comment and Christian's idea to the implementation section.
|Deletions are marked like this.||Additions are marked like this.|
|Line 59:||Line 59:|
|=== Christian's Idea ===
Here's Christian's idea of what should happen: http://mail.gnome.org/archives/usability/2007-January/msg00064.html
|Line 94:||Line 98:|
|* Your interface is pretty sweet, I'll give you that :). This is one of the great things about open-source development, everyone can freely comment and improve upon what's suggested. I was really only aiming to put the idea forward to get people realising that something like this would be good to have, and it seems to have not been in vain. Thanks for your effort :). ---MattMedland|
Please check the status of this specification in Launchpad before editing it. If it is Approved, contact the Assignee or another knowledgeable person before making changes.
This specification outlines how I feel the default (preferred) applications dialog should be.
The current default applications dialog lets us choose our preferred apps for web browsing, email reading and terminal(-ing?), and I think it needs to be expanded.
There are many different filetypes with many different editors or viewers, and these need an easy way to choose the default application that they are used in. For example, there are filetypes such as pdf, torrent, txt and so on which have many different applications they can use.
- Fred is a new user who has downloaded the free software magazine as a pdf, and it instantly opens in Evince. This surprises Fred because he wanted it to load in his newly installed Adobe Acrobat reader. He is slightly miffed. No problem, Fred opens up the 'Preferred Applications' dialog in the aptly named Preferences menu and set pdf files to open with Acrobat. No problem.
Hubert is a windows and linux user, who has Microsoft Word installed through wine. One day he receives a letter as a .doc file. When he opens the file he is confused to see it open in OpenOffice and wants to make .doc files open in Word under wine. Using his inititive he trys to find somewhere where change it. After seconds he find the 'Preferred Applications' dialog and all is good.
Frederific has just installed a new fancy pantsy media player thingy, he wants to tell it to open mp3, ogg, flac, mov and mpg files. He would need to hunt down each of those file of those files and change each one before this, but now he can change them all in the same place. Saving lots of speed and energy, and thats what he's all about.
This specification covers Ubuntu and Gnome.
- There should be another tab in 'Preferred Applications' to be used for assigning different mime types to different applications.
- There should be a way to choose an application from the main 'Applications' menu, and also a button which lets the more advanced user find the program by finding the executable itself.
- I've put together a mock-up of what it could be like, but I haven't yet worked out how to put include a way to choose an application from the Applications menu. The source (glade) file is in the bazaar branch below.
I am proposing simple, centralised way for users to choose what program they want to open their files.
At the moment users have no central way to choose what program opens their files, I believe this would be a very powerful feature. This would be very useful to everyone, especially those new to Ubuntu.
This shouldn't be too hard to implement, as (if I understand it correctly) all that the new dialog would need to do would be to read from and write to the mime type database, and then have a gtk frontend coded around it.
Here's some useful [http://www.gnome.org/learn/admin-guide/latest/mimetypes-0.html implementation info]
Here's a [http://www.google.com/codesearch?hl=en&q=show:x-PVTPg3H9Q:apf9O1cuUes:Unpjaxplppo&sa=N&ct=rd&cs_p=http://distfiles.master.finkmirrors.net/gnome-vfs-2.8.1.tar.bz2&cs_f=gnome-vfs-2.8.1/libgnomevfs/gnome-vfs-mime-handlers.c class] from GNOME. This class would probably form the basis of the result of this spec.
Here's Christian's idea of what should happen: http://mail.gnome.org/archives/usability/2007-January/msg00064.html
The branch is here: http://bazaar.launchpad.net/~matt-medland/+junk/enhanced-default-apps
What would happen to the existing system of using right-click -> Properties -> Open With? Or the right-click 'Open with' menu? Three ways of doing the same thing might get confusing, would any method be removed? ---["Philbull"]
My opinion is to keep them all, as if someone has been using GNOME for a while they won't get disappointed that their way of doing something has gone. That my opinion, but it might not be the best. ---MattMedland
Both Windows and Mac OS let you permanently change the program that opens a particular file from the Properties/Info window for that file. It would be odd if you couldn't in Ubuntu. -- MatthewPaulThomas
Could this be suggested as a change upstream? Might be worth contacting GNOME's [http://mail.gnome.org/mailman/listinfo/usability usability-list] to ask what they think ---["Philbull"]
Yup, I was thinking about probably padding the spec out a bit, but I might as well ask what they think sooner rather than later. I'll contact them when I get home tonight. Thanks for the link. ---MattMedland
- Do you want to provide a long list of all mimetypes? I remember older GNOME 2.x versions provided such a dialog which was a mess. I think providing an easy way to set the default app for all audio files, all video files etc. would be a lot easier to use.
I'm thinking of maybe categorising the mime-types within the dialog, so we would have drop down arrows of a few categories and then all the configuration done under them. I'll try to make a mock-up tonight which should show what I have in mind. ---MattMedland
Remember that most people have no idea what "mime types" are, and nor should they. So at least include human-readable names of each filetype. -- MatthewPaulThomas
Maybe we would include the whole MIME type for the 'Other' category and just use the extensions and maybe human-readable namesin the specific categories. ---MattMedland
This specification should be moved out of the "MattMedland/" namespace (and the Launchpad registration updated). -- MatthewPaulThomas
I've moved it to being underneath Usability, would you say that's appropiate? ---MattMedland
I don't see any good points for mime types inclusion in preferring apps. In gnome mime is file and file is mime so central editor breaks this model. We should remove this spec and create new one that make easier for user to change application of one mime . First two use cases in this spec don't need central app and third one assumes that you know which mimes you can change -- MiikaLaaksonen
Preferred apps seems the logical place to go to to the app which you want to open when you open a type of file, and it would be the place a new user would go (I know I did) Maybe the use cases aren't the best, anyone who wants to have a crack at putting some better ones in feel welcome. ---MattMedland
["Warbo"]: This is a similar comment to some above but takes it further, and it is basically this: I don't care what MIME type my files are, I don't care what specific applications are and I don't want to mess up the nice file organisation system I use (hopefully based on a relational database) by renaming all of my files to end in a full stop and a three character code (I know many people do this, but I think it is ugly). Of course personally I would love to use Ogg for all of my audio and video and use other unencumbered formats, but when bands offer their songs for download as MPEG then I am not going to convert it and lose quality, and why should I? Basically I think the proposed solution is backwards, as it is forcing users to understand the implementation in order for the computer to let them do the the thing they want, instead of understanding what they want and letting the computer work out the implementation. What I mean is that setting an application for MPEG audio, Ogg Vorbis, PDF, etc. is silly as these file formats are just different implementations of storing a type of data on a storage medium, and applications are just different implementations of letting users interact with data. Compare the proposed solution to a user saying "I want to open documents in Adobe Reader" or "I want to play music in XMMS" or "I want to edit spreadsheets in Gnumeric". The MIME types should be catagorised into something like: Music (Ogg Vorbis, MPEG audio, AAC, MIDI, Tracker, etc.), Video (Ogg Theora, MPEG, AVI, etc.), Documents (PDF, Open Document presentations and word processing documents, Microsoft Powerpoint documents, Microsoft Word documents, Abiword documents, etc.) then the user can choose a music player, a video player and a document viewer (the issue of Adobe Reader is important here though, since non-Free applications can't be relied on to support every particular way of storing the type of data they handle out there. Adobe want people to think "I will use Adobe Acrobat to open this PDF" rather than the (not only better, but also human default) way of thinking "I want to read this magazine"). Of course the main usability issue here would be an intuitive way of sorting out viewing compared to editing. Many people use computers for editing documents, but not many do that for music. Perhaps an "Edit" button should be placed in the toolbar (or whatever) of the viewers, which would then allow the user to edit the data. This would save the loading time and interface confusion of using a full-blown editor like Abiword to view a document compared to Evince . Of course, users shouldn't really have to understand what a "program" is, since this is just a bad way of thinking caused by proprietary corporations who's business model relies on users understanding what it is they actually sell (or rather, license), which is made evident by the ratio of "Where is Photoshop?" questions compared to "How do I edit an image?", and I only use the terms "Abiword" and "Evince" as descriptions of flavours of data interaction, and people will always want a way of choosing the flavours that they like (which is what this page should really be focusing on), just like I don't care if my music is MPEG, FLAC or MIDI, but I do care if it is classical, headbanging power metal or *shudder* rap. The only assumption being made should be that the user knows what they want to get done using the computer (which is, of course, a hard concept to grasp in this world where people rely on flashy bouncy adverts to tell them what they want rather than getting down to the important business of wobbling their windows), but designing and implementing a decent way for users to use computers to get their tasks done should be the goal of Free Software development, not copying Windows to make brainwashed users more comfortable. If they switch at all then some re-learning needs to be done, so why not at least make it learning of a useful interface? If you don't want people to go back to proprietary systems then the most reliable way is to point out how awful Windows's interface is, since these days I never use Windows and whilst I like to think to myself that it is because of Freedom, users' rights, etc. it actually comes down to the fact that Windows completely sucks at getting anything done and I (along with pretty much all of the computer-using world) want to stick my fist through the screen, whereas if I find something annoying in Ubuntu I file a bug or write a spec (a friend I gave an Ubuntu disc to said to the guy taking our Physics computer lab the next week "The worst thing about Linux is having to use Windows everywhere else"). Since Free Software isn't screwed up by companies trying to sell (and therefore make users aware of) every individual aspect of it's implementation we are in a much better position to create a usable interface along the lines of "I will finish my picture, put it in my story and send it to my friends" rather than "I will Photoshop this jpg, embed it in a .doc in Word then MSN it to my contacts". I know I know, I need to set up a blog rather than comment in Wikis...
Joe user wants to open ogg files in Totem but mpeg files in VLC and mov files in MPlayer. I know that its not ideal to have several applications do the same thing but we don't live in a perfect world. How'd you solve such issues? --AndreRuediger
Maybe we could have an 'Advanced' button somewhere in the dialog that then goes into that. ---MattMedland
Wow, that's a lot of reading :). Thanks for your input, and I agree with many of your points. The main point that I got from there is that it should just work, that users shouldn't need to know the inner workings. It really like what you say here: The MIME types should be catagorised into something like: Music (Ogg Vorbis, MPEG audio, AAC, MIDI, Tracker, etc.), Video (Ogg Theora, MPEG, AVI, etc.), Documents (PDF, Open Document presentations and word processing documents, Microsoft Powerpoint documents, Microsoft Word documents, Abiword documents, etc.) then the user can choose a music player, a video player and a document viewer, that would be really useful for the new users to have it that simple. However, I wouldn't say this is a backward step though, I would say it is taking very small steps towards increasing usability. ---MattMedland
- With reference to the above, would adding a 'Multimedia' tab to Preferred Applications solve most of the problems that this spec is concerned with? Also, because there are so many mimetypes in each category, there could be a list of applications in order of preference. The .desktop file of each app in the list could be checked if it supports the mimetype of the file being opened and the first one in the list to support the file could be used to open it. ---["Philbull"]
I think it probably would, as long as there were a documents tab too, because there's quite a lot of file-types and apps for those too. Your idea about the list of apps in order of preference is good, I like that idea. Might it be hard to implement though? ---MattMedland
I can think of a basic, hacky way of implementing it, but I don't know enough about the MIME-type system in GNOME to do it properly. It would involve grabbing the MimeType line of the .desktop file for each of the applications in the list and checking if the mimetype of the file being opened is in that line. If it is, open with that app, otherwise go on to the next app in the list. It could be integrated into nautilus using nautilus scripts. Also, looking at GNOME SVN, there is already a multimedia tab in the Preferred Applications Glade file. ---["Philbull"]
["Warbo"]: I was thinking a flexible solution would be to extend the current application into two tabs "Activities" and "File Viewing" (or similar words to the same effect) then Activities could have Web Browser, Email Reader, Word Processor, etc. and Fie Viewing would have Audio, Video, Images, Documents, etc. An ideal solution would probably be to have a dynamic interface which is created from some sort of config files added to each major package, so if, for example, MPlayer gets installed it would place a file in /etc/preferred/mplayer (or something) which would contain its capabilities (eg. which filetypes/activities it should get put into as an option) and a little description (eg. "Mplayer seperates its controls from the content and can use skins to change its appearance." [in a perfect world every media player would have great capabilities so mentioning them would be redundant ]). The preferences application would then read through these config files and only show catagories for which capable players exist (maybe one option would be "Get more from the Internet" which would open GNOME App Install on the relevant section like Sound and Video, that would be cool). In fact I was making a mockup of this, but I might actually make it using my rookie Python skillz. (/me tries not to say "If you want something doing right..." )
Applications already advertise their capabilities via their .desktop files, found in /usr/share/applications. Also, this seems to have a lot in common with [https://blueprints.launchpad.net/ubuntu/+spec/easy-codec-installation easy-codec-installation].
[ChristianNeumair] we don't want yet another failed user interface that only provides access to the whole database. It failed in GNOME 1.x as well!
- Your proposal requires that we somewhere store the association between the contents a MIME type hints at (video, image etc.).
- We also should have a simple way to pick a default application for a whole category of MIME types
- This requires much more work than you possibly see at a first glance, not just a user interface
I came up with a demo interface and with a design proposal that I will improve/modify: http://mail.gnome.org/archives/usability/2007-January/msg00064.html
Your interface is pretty sweet, I'll give you that :). This is one of the great things about open-source development, everyone can freely comment and improve upon what's suggested. I was really only aiming to put the idea forward to get people realising that something like this would be good to have, and it seems to have not been in vain. Thanks for your effort :). ---MattMedland