UbuntuCommonHooker

Differences between revisions 1 and 16 (spanning 15 versions)
Revision 1 as of 2006-04-25 09:48:40
Size: 3353
Editor: 210
Comment:
Revision 16 as of 2006-09-27 13:50:59
Size: 6843
Editor: ppp10-186
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
 * '''Launchpad Entry''': https://launchpad.net/distros/ubuntu/+spec/foo
 * '''Created''': [[Date(2006-04-25T09:48:40Z)]] by joelbryan
 * '''Contributors''': joelbryan
 * '''Packages affected''':
 * '''Launchpad Entry''': https://launchpad.net/distros/ubuntu/+spec/ubuntu-common-hooker
 * '''Created''': [[Date(2006-04-25T09:48:40Z)]] by [:joelbryan: Joel Bryan T. Juliano]
 * '''Contributors''': [:joelbryan: Joel Bryan T. Juliano]
 * '''Packages affected''': GTK-2.0, Software-Properties, APT
Line 8: Line 8:
[:UbuntuCommonHooker: UbuntuCommonHooker] aims to provide an interface for unknown file extensions to automatically install a certain packages when it's called. [:UbuntuCommonHooker: UbuntuCommonHooker] aims to provide an interface for unknown file types and to automatically install required packages when needed.
Line 12: Line 12:
New users will find it difficult to open a particular file, because there are no installed viewers for it. New users find it difficult to find programs that open particular file types when there are no installed default viewers for it.
Line 16: Line 16:
Eduard is a schizophrenic, however his only obession and a way to calm him down is listening to "Veronika Plays Piano, volume 1" which is encoded in MP3. Veronika is his friend who recently got a copy of Ubuntu Linux, and tried it on Eduard's computer. However, Eduard just find out that he can't play his MP3's. Eduard is a schizophrenic, however his only obession and a way to calm him down is listening to "Veronika Plays Piano, volume 1" which is encoded in MP3. Veronika is his friend who recently got a copy of Ubuntu, and tried it on Eduard's computer. However, Eduard just found out that he can't play his MP3's.
Line 18: Line 18:
Dr. Igor use ".rar" extension to compress his research, however, Villete decides to migrate to Ubuntu Linux. But when Dr. Igor tryies to open "Vitriol.rar, and Zedka.rar", it say's "Error cannot open file!" Dr. Igor uses ".rar" extension to compress his research, however, Villete decides to migrate to Ubuntu. But when Dr. Igor tries to open "Vitriol.rar, and Zedka.rar", it says "Error cannot open file!"
Line 20: Line 20:
Okonkwo tried Ubuntu Linux for the first time, however, when he tried to open "Wresting with Amalinze.mpg", he is prompted that "there are no codecs to view this file", However, Okonkwo's father Onuka had no problems opening .mpg files, but Okonkwo doesn't like to use Windows like his father did. Okonkwo tried Ubuntu for the first time, however, when he tried to open "Wrestling with Amalinze.mpg", he is prompted that "there are no codecs available to view this file", However, Okonkwo's father Onuka had no problems opening .mpg files, but Okonkwo doesn't like using Windows like his father did.
Line 24: Line 24:
The software will support the following file input. The software will support the following file types:
Line 39: Line 39:

attachment:ubuntu-common-install-hooker-implimentation-0.1.png
Line 65: Line 67:
expected input is not case-sensitive, that means, .ZiP, .ZIP .zIP will automatically identified. expected input is not case-sensitive, that means, .ZiP, .ZIP .zIP will be automatically identified as well as .zip.

(Comment: Wouldn't it be easier and maybe less error-prone to use the magic number instead of the extension, like GNU file does?)
Line 77: Line 81:
attachment:ubuntu-common-hooker_0.1-1_i386.deb
Line 86: Line 91:
== BoF agenda and discussion == == BoF agenda and discussion ==

 * Is this related to DesktopTeam/CommonInstallHook ? Is this intended to work from within applications? Eg If i try to play an mp3 in rhythmbox or watch flash in firefox. -- SamTygier

 * Don't forget the documentation and the '? Help...' button in the dialog! It's quite important that we don't leave users wondering if "enabling repositories" is a dangerous thing or not. In some ways it actually is -- users leave the sphere of supported packages. UlrikSverdrup

 * It is based on the DesktopTeam/CommonInstallHook idea, but more centralized way to handle the install hooks, so it's easy to add new file extensions, and to impliment new features. I think with the DesktopTeam/CommonInstallHook, each applications, namely rhythmbox, totem, gimp, file-roller will need to be patched for the idea of installing a package when needed to work, it's not impossible, and there might be a good and positive way for this. A concern will raise when a user choose to remove a currently installed package that is linking to those apps I said earlier, they must impliment a way to revert back to previous actions linking to those application. [:joelbryan: joelbryan]

 * Comment: Wouldn't it be easier to just install the applications to open these files by default? There are not many of them, I estimate just 10-15Mb of more diskspace. In the case of non-free apps which cannot be installed by default we could just provide an easy way to install them all. OTOH patching a lot of applications to default to our UbuntuCommonHooker whenever they don't know what to do with a file is a very hard work (and hard to maintain), and I fail to see the benefits would outcome the effort. Also, the user trying to open the file will not always be a sudoer, so the CommonHooker will not always be able to automatically install the software. [:grimborg: grimborg]
   * Sure, it would probably be easier to just install the few utilities needed for the limited set of file-formats listed above, however, this solution could easily be expanded to include many other formats that Ubuntu might not be able to handle by default (surely there are plenty). That is a good point, though, about having to maintain patches for many apps. At very least, this could be used to patch Nautilus. I would guess that, most of the time users will probably attempt to open a file through the file browser. [:ChrisWagner: ChrisWagner]
   * You can't install these applications by default, sometimes due to the Ubuntu "free" philosophy and sometimes due to legal problems (for example in the case of MP3 or DVD file formats). This is cleanest/only way to give people the option of playing these formats without previous knowledge of how to install the necessary packages by hand. [:scaine:Scaine]

 * Another suggestion: Things like autopackage files, that instead need the execute bit set and then run could also be detected.
 
 * Is it neccessary to determine file types by extension? Why not by type (and if that fails, fall back to extension) [:Pandisv:Pandisv]
Line 89: Line 109:
[:CategoryDesktopTeam][[BR]][[BR]]
Back to '''[:DesktopTeam]'''.

Summary

[:UbuntuCommonHooker: UbuntuCommonHooker] aims to provide an interface for unknown file types and to automatically install required packages when needed.

Rationale

New users find it difficult to find programs that open particular file types when there are no installed default viewers for it.

Use cases

Eduard is a schizophrenic, however his only obession and a way to calm him down is listening to "Veronika Plays Piano, volume 1" which is encoded in MP3. Veronika is his friend who recently got a copy of Ubuntu, and tried it on Eduard's computer. However, Eduard just found out that he can't play his MP3's.

Dr. Igor uses ".rar" extension to compress his research, however, Villete decides to migrate to Ubuntu. But when Dr. Igor tries to open "Vitriol.rar, and Zedka.rar", it says "Error cannot open file!"

Okonkwo tried Ubuntu for the first time, however, when he tried to open "Wrestling with Amalinze.mpg", he is prompted that "there are no codecs available to view this file", However, Okonkwo's father Onuka had no problems opening .mpg files, but Okonkwo doesn't like using Windows like his father did.

Scope

The software will support the following file types:

File Type

Description

Open With

ZIP, RAR, ARJ, ACE

Compressed Files

File-Roller

MP3, WMA, AAC, M4A

Audio Codecs

Rhythmbox (gstreamer)

RAM, RM

Real Media Codecs

Totem (gstreamer)

MPG, MOV

Video Files

Totem (gstreamer)

CBZ, CBR

Comics Files

Comix

CHM

Compiled Help Document

xCHM

It will automatically install the necessary applications to view those particular files.

Design

The software will be linked to those particular file extensions, (e.g. Open With), and will have a gnome-settings-default-applications icon.

attachment:ubuntu-common-install-hooker-implimentation-0.1.png

Screenshots

Archives

attachment:ubuntu-common-install-hooker-rar-0.1.png attachment:ubuntu-common-install-hooker-arj-0.1.png

Music Audio Files

attachment:ubuntu-common-install-hooker-mp3-0.1.png attachment:ubuntu-common-install-hooker-aac-0.1.png

Video and Movie Files

attachment:ubuntu-common-install-hooker-mov-0.1.png attachment:ubuntu-common-install-hooker-mpg-0.1.png

Document Files

attachment:ubuntu-common-install-hooker-cbr-0.1.png attachment:ubuntu-common-install-hooker-chm-0.1.png

Implementation

The software will determine a particular file by it's file extension, expected input is not case-sensitive, that means, .ZiP, .ZIP .zIP will be automatically identified as well as .zip.

(Comment: Wouldn't it be easier and maybe less error-prone to use the magic number instead of the extension, like GNU file does?)

Code

The Code is written in Gtk+ 2.0, C, and sh as a backend script.

Source

attachment:ubuntu-common-hooker-0.1.tar.gz

Binary

attachment:ubuntu-common-hooker_0.1-1_i386.deb

Data preservation and migration

The original file will not be over written.

Outstanding issues

It will prompt the user to enable universe/multiverse repository, that will install non-free and commercial applications, a user will manually enable those repository, via software-properties.

== BoF agenda and discussion ==

  • Is this related to DesktopTeam/CommonInstallHook ? Is this intended to work from within applications? Eg If i try to play an mp3 in rhythmbox or watch flash in firefox. -- SamTygier

  • Don't forget the documentation and the '? Help...' button in the dialog! It's quite important that we don't leave users wondering if "enabling repositories" is a dangerous thing or not. In some ways it actually is -- users leave the sphere of supported packages. UlrikSverdrup

  • It is based on the DesktopTeam/CommonInstallHook idea, but more centralized way to handle the install hooks, so it's easy to add new file extensions, and to impliment new features. I think with the DesktopTeam/CommonInstallHook, each applications, namely rhythmbox, totem, gimp, file-roller will need to be patched for the idea of installing a package when needed to work, it's not impossible, and there might be a good and positive way for this. A concern will raise when a user choose to remove a currently installed package that is linking to those apps I said earlier, they must impliment a way to revert back to previous actions linking to those application. [:joelbryan: joelbryan]

  • Comment: Wouldn't it be easier to just install the applications to open these files by default? There are not many of them, I estimate just 10-15Mb of more diskspace. In the case of non-free apps which cannot be installed by default we could just provide an easy way to install them all. OTOH patching a lot of applications to default to our UbuntuCommonHooker whenever they don't know what to do with a file is a very hard work (and hard to maintain), and I fail to see the benefits would outcome the effort. Also, the user trying to open the file will not always be a sudoer, so the CommonHooker will not always be able to automatically install the software. [:grimborg: grimborg]

    • Sure, it would probably be easier to just install the few utilities needed for the limited set of file-formats listed above, however, this solution could easily be expanded to include many other formats that Ubuntu might not be able to handle by default (surely there are plenty). That is a good point, though, about having to maintain patches for many apps. At very least, this could be used to patch Nautilus. I would guess that, most of the time users will probably attempt to open a file through the file browser. [:ChrisWagner: ChrisWagner]

    • You can't install these applications by default, sometimes due to the Ubuntu "free" philosophy and sometimes due to legal problems (for example in the case of MP3 or DVD file formats). This is cleanest/only way to give people the option of playing these formats without previous knowledge of how to install the necessary packages by hand. [:scaine:Scaine]
  • Another suggestion: Things like autopackage files, that instead need the execute bit set and then run could also be detected.
  • Is it neccessary to determine file types by extension? Why not by type (and if that fails, fall back to extension) [:Pandisv:Pandisv]


CategorySpec [:CategoryDesktopTeam]BRBR Back to [:DesktopTeam].

UbuntuCommonHooker (last edited 2008-08-06 16:31:08 by localhost)