Revamped main wnd
[saphira-test.git] / Docs / Specification
blob0b43e54a882762964ad6e7c06b94f71e8076e914
1 /* Initial set of ideas for GTK+ cdrecording application */
2 /*                      Saphira                          */
4 Summary:
5 The aim of this project is to provide FOSS community with GTK+ cdrecording application,
6 with particular attention given to the usability of the software.
8 Rationale:
9 We believe that up to date no software exists which can fullfil the role of graphical
10 cdrecording application properly. Although each of them has it's own strenghts, most 
11 of them use cdrecord and other applications for handling the burning, which we believe
12 are not up to the task in modern ages. Therefore we will use the innovative set of 
13 libraries provided by the libburnia project for backend tasks. Our presentation to
14 the user will be through usability and simplicity, while offering a lot of advanced
15 features for those who need it.
17 Use Cases:
19 Technical aspects:
20         - Language: C
21         - Widget library: GTK+-2.0
22         - Build system: CMake
23         - Unit tests: CUnit (where applicable)
24         - GUI editor: Glade (will use GtkBuilder when available)
25         - Inital dependencies: 
26                 libgtk+-2.0
27                 glib
28                 libburn, libisofs, libisoburn
29                 libxml2
30                 gstreamer-0.10
31         cunit
32         - Version control: GIT
34 Focus points:
35         - Usability and simplicity
36         - Backend - Libburnia libs
37         - Keep dependencies low
38         - Provide meaningful error messages (if any ;-).
39         - Proper i18n and l10n
40         - Good and complete documentation (maybe docbook)
43 Features:
44         - Create Data discs (CD / DVD / blu-ray?/ HD-DVD?)
45         - Create Audio discs (cdtext editing, freeDB support) 
46         - Disc clone (should also support copying audio cds with cdtext)
47         - Image burning and generating
48         - VCD and SVCD support
49         - Open / Save Projects (XML structure => libxml2)
50         - Import/Export project to/from other formats
51         - Eltorito support
52         - HFS/HFS+ discs
53         - Use multiple burners at once (for same project, or other project)
54         - Record multiple copies of a disc/project
55         - Verification of burnt medium (SHA1 => libgcrypt)
56         - Image preview (GtkIconView)
57         - Clone 8 gig DVD to 4 gig DVD-R
58         - OGG CD/DVD support (data cd/dvd)
59         - Other features (tbd as we go)
60         
61 UI Design Guidelines:
62         - KISS philosophy
63         - Consistency 
64         - Tango icons
66 Unresolved issues:
67         - Icons (Tango style)
69 Nice-to-have:
70         - Nicely designed Webpage (bad or no web page distracts users)
71         - Integrated wiki, bug tracker, localization tool (Retrospectiva)
72         - IRC channel on freenode
75 Current team members:
76         - Mario Đanić
77         - Andreas Kühntopf
80 URL's:
81 Diva Project - http://diva-project.org
82 Libburnia Project - http://libburnia-project.org
83 Retrospectiva - http://retrospectiva.org/blog
84 CMake - http://www.cmake.org
85 Git - http://git.or.cz/
86 SHA1 - http://www.mirrors.wiretapped.net/security/cryptography/hashes/sha1/sha1.c