== Summary ==

Ubuntu Common Install Hook aims to provide an interface
for unknown file extensions to automatically install a certain 
packages when it's called.

== Rationale ==

New users will find it difficult to open a particular file, because 
there are no installed 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 Linux, and tried it on Eduard's computer. However, Eduard just 
find out that he can't play his MP3's.

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!"

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.

== Scope ==

The software will support the following file input.

|| ''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.

== 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 
automatically identified.

=== Code ===

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

=== 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.


For more information, visit http://wiki.ubuntu.com/UbuntuCommonHooker
