~ubuntu-branches/ubuntu/raring/ubiquity-slideshow-ubuntu/raring

38 by Evan Dandrea
* Fix reference to 11.04 in oem-config (LP: #837967).
1
ubiquity-slideshow-ubuntu
1 by Evan Dandrea
Initial release in Ubuntu.
2
<http://launchpad.net/ubiquity-slideshow-ubuntu>
3
4
-----
5
38 by Evan Dandrea
* Fix reference to 11.04 in oem-config (LP: #837967).
6
This project is about slideshows which appear while installing Ubuntu or
7
its *buntu friends. The one source package provides a number of Debian
14 by Evan Dandrea, Dylan McCall, Evan Dandrea
[ Dylan McCall ]
8
packages for Ubuntu, including ubiquity-slideshow-ubuntu,
38 by Evan Dandrea
* Fix reference to 11.04 in oem-config (LP: #837967).
9
ubiquity-slideshow-lubuntu and ubiquity-slideshow-kubuntu.
14 by Evan Dandrea, Dylan McCall, Evan Dandrea
[ Dylan McCall ]
10
11
This is associated with the ubiquity-slideshow group on Launchpad at
12
<https://launchpad.net/~ubiquity-slideshow>.
13
14
Constructive feedback on the group mailing list is always appreciated!
1 by Evan Dandrea
Initial release in Ubuntu.
15
16
Please also note the "COPYING", "AUTHORS" and "TODO" files in this
38 by Evan Dandrea
* Fix reference to 11.04 in oem-config (LP: #837967).
17
directory, which all have cool stuff in them.
1 by Evan Dandrea
Initial release in Ubuntu.
18
14 by Evan Dandrea, Dylan McCall, Evan Dandrea
[ Dylan McCall ]
19
20
----- Testing the slideshow
21
22
The easiest way to test changes to the slideshow is to run
23
./test-slideshow.sh. (Note: needs zenity, which is probably already
24
installed). This will quickly build the slideshow with your changes and
25
play it. Note that the test-slideshow script does not do localization.
26
Testing localization is currently a more involved process.
27
28
If you are using the awesome Ground Control, there will be a Test option
29
and a (full) Build option when you open this project in Nautilus.
30
Check out <http://launchpad.net/groundcontrol> for more information.
31
32
33 by Evan Dandrea
* Merge Rollo's updated screenshots branch.
33
----- Changing slideshows
34
35
Each slideshow is inside the ./slideshows directory. These are created
36
with HTML, CSS and Javascript. They all share the link-core directory in
37
common. This directory has some Javascript files which should be used by
38
every slideshow.
39
40
To actually edit a slideshow, simply open it from the slideshows directory.
41
Each slide will be its own html file, like
42
slideshows/ubuntu/slides/welcome.html. index.html will contain a list of
43
these slides in the order they will appear.
44
45
Just pull open a slide in your favourite text editor and have fun.
46
47
Be sure to test out your creations! The quickest way is test-slideshow.sh.
48
49
You may notice some HTML comments (<!-- comment -->) in existing slides.
50
These will appear as notes for translators. If you write something that may
51
be confusing for them, please leave a comment in the same fashion.
52
53
54
----- Screenshot guidelines
55
56
Screenshots are taken at full size, scaled precisely 60% and cropped to
57
match the other screenshots for a given slideshow. (Ubuntu's screenshots
35 by Evan Dandrea, Dylan McCall, Evan Dandrea
[ Dylan McCall ]
58
are 448x304 pixels). Please use GIMP to scale images and set
59
interpolation to “Sinc (Lanczos3)”. That algorithm seems to handle thin
60
lines particularly well, and it's good to stay as consistent as we can.
33 by Evan Dandrea
* Merge Rollo's updated screenshots branch.
61
35 by Evan Dandrea, Dylan McCall, Evan Dandrea
[ Dylan McCall ]
62
We try to follow some conventions for screenshot content, too:
33 by Evan Dandrea
* Merge Rollo's updated screenshots branch.
63
64
* Do something. Open an example document, draw a pretty picture, chat with
65
with someone, play music. Do whatever you might normally do.
66
67
* Do not over-do. It can be tempting to stick every feature into view.
68
However, that can be really overwhelming. Instead, try to focus on a
69
single cool idea that will make somebody interested. It doesn't even have
70
to be about features. Maybe something you can make? Pick one thing that
71
really captures the essence of what you want to show.
72
73
* Stick to defaults. We all love to customise, but make sure your fonts,
74
themes and applications look the same as people get with their shiny new
75
systems.
76
77
* Be people. People are awesome. You're awesome! But anonymized
78
screenshots are jarring. If you're afraid you might frighten a mainstream
79
audience, consider making a fun persona in a different user account.
80
81
* Personas live short lives. Try to avoid time as much as possible - it's
82
awkward to show the current date, for example. A popular mistake is where
83
a photo manager has images all taken on a single day! Where you can, try
84
to make things look lived in.
85
38 by Evan Dandrea
* Fix reference to 11.04 in oem-config (LP: #837967).
86
* Do not depend on text in screenshots. Remember that the slideshow's copy
87
is translated, so that text will be unreadable for a lot of users. Try to
88
find a way to communicate things visually and avoid emphasizing any text
89
on the screen.
90
91
* Avoid showing the mouse pointer.
92
93
* Editing your screenshots with an image editor is fine if you need to
94
remove some cut off text, for example, but do not deviate from what is
95
actually possible with an application.
96
33 by Evan Dandrea
* Merge Rollo's updated screenshots branch.
97
So, I just made screenshots a little trickier, but I hope that helps.
98
Good luck!
99
100
101
----- Musing on writing style
102
103
* We can assume that the user has chosen to install Ubuntu willingly. That
104
person is now an Ubuntu user and doesn't need to be sold on it further.
105
The sales-person voice should not exist here. If you start to hear that
106
voice, file a bug immediately.
107
108
* Avoid the car instruction manual voice where possible. That is, try not
109
to tell people where specific features are, but what they can expect to
110
find. This is because the slideshow won't follow our users everywhere,
111
so we have to answer a different question: "What next?"
112
If we fixate on pressing buttons, the lessons will not stick :)
113
114
* Please try to keep things neat, tidy and short. In a lot of cases we can
115
trust our viewers to find things on their own as long as we show them
116
where to start. It is possible for a single slide to do quite a bit.
117
118
38 by Evan Dandrea
* Fix reference to 11.04 in oem-config (LP: #837967).
119
----- Additional musings on writing
120
121
* The slideshow is a temporary resource. When it's finished, it's gone
122
until you install Ubuntu again (which is hopefully never, because our
123
upgrade tool is awesome and Ubuntu will breathe +1000 life into a
124
computer).
125
126
* So, what we want to do here is point a user in some interesting
127
directions, but we can't go all the way. We have to avoid the case where
128
somebody feels they need to go back to the slideshow for information. It's
129
fine if someone will miss your slideshow (people love pretty things!), but
130
it's frustrating when a complex product has all its critical information on
131
the outer packaging.
132
133
* Avoid writing links that people will need to click, because they won't
134
always be able to. They probably won't want to, either, because there is an
135
entire operating system being installed. Our user's 1 GHz netbook sounds
136
like a washing machine as it is. Instead, we want people to see a simple
137
link they can write down or remember for later. So, contrary to modern web
138
writing conventions,
139
<a href="http://www.ubuntu.com/community">ubuntu.com/community</a>
140
is a better link than…
141
<a href="http://www.ubuntu.com/community">the Ubuntu community website</a>
142
143
* This also goes back to the second point: if you have to copy and paste a
144
URL, try to find something less specific and more memorable.
145
146
14 by Evan Dandrea, Dylan McCall, Evan Dandrea
[ Dylan McCall ]
147
----- Embedding a slideshow
148
      (For example, in an installer)
149
33 by Evan Dandrea
* Merge Rollo's updated screenshots branch.
150
Slideshows are simple HTML documents and can be embedded with WebKit or
151
any other browser widget that supports Javascript and CSS.
38 by Evan Dandrea
* Fix reference to 11.04 in oem-config (LP: #837967).
152
./Slideshow.py contains an example implementation with GTK+ 3 and Python.
14 by Evan Dandrea, Dylan McCall, Evan Dandrea
[ Dylan McCall ]
153
33 by Evan Dandrea
* Merge Rollo's updated screenshots branch.
154
The slideshow can be given some information through its URL. Append "#"
155
and add attributes as key=value pairs, separated by "?". The following are
14 by Evan Dandrea, Dylan McCall, Evan Dandrea
[ Dylan McCall ]
156
recognized:
157
158
?controls                Enables debugging controls
159
?locale=LANG             Sets the locale. For example, locale=en_CA.
160
?rtl                     Specifies whether to display text right-to-left.
161
162
The slideshow expects to be passed a locale parameter, based on the
163
current locale. It may fall back to English if the requested locale is not
164
available.
165
166
The rtl parameter should be added if that is the current text direction,
167
since the slideshow will not do this automatically based on the locale.
168
169
There is also an ini-style file (see ConfigParser) for each slideshow,
170
called slideshow.conf. This contains two important variables inside the
171
Slideshow section: width and height. This way, your implementation can
172
find the specific size for its web widget and can choose whether to
173
display a slideshow based on the available screen space.
174
175
176
----- Editing slideshow design
177
178
For each slideshow, the visual design can be customized. First of all,
179
notice that each slideshow inside the ./slideshows directory has a file
180
called slideshow.conf. If you change the dimensions of the slideshow, make
181
sure to edit this.
182
183
Each slideshow also (usually) has a slides/link directory with a CSS file
184
and some graphics that can be customized.
185
186
Of course, the entire thing can be completely redone, too! For more in
187
depth tinkering, you can edit index.html. Just make sure the general
188
structure of the document is the same.
189
190
In the <head>, we need a link to directory.js and every js file in
191
link-core.
192
193
index.html also needs a block called container, containing another block
194
named slideshow, which lists all the slides as
195
<div><a href="slide" class="load"></a></div>
196
197
A block with id="debug-controls", and widgets with id="prev-slide" and
198
id="next-slide" will be handled automatically to produce the debugging
199
controls that appear when #?controls is added to the url.
200
201
Outside of those requirements, this should be fairly flexible. Have fun!
202
203
204
----- Adding / editing images
205
206
Adding images is something that individual slideshows have a lot of
207
freedom with; the underlying system doesn't mind how this happens. There
208
are a few things to note, though:
209
210
* It is nice to have the source of each image (eg: SVG file) in the
211
images-source directory if we are making any changes.
212
213
* If an image comes from an external source, please attribute its author
214
and specify its license in debian/copyright.
215
216
* If a common effect is being applied to multiple images, consider
217
creating an automated script and placing it under the images-source
218
directory. For example, with the Ubuntu slideshow we have a script called
219
generate-reflected-pngs.sh which, with a GIMP script, adds a fuzzy
15 by Evan Dandrea, Dylan McCall, Evan Dandrea, Richard A. Johnson, Brian Murray
[ Dylan McCall ]
220
reflection to some SVG images and exports them as PNGs. This will help
221
people working on the project in the future.
14 by Evan Dandrea, Dylan McCall, Evan Dandrea
[ Dylan McCall ]
222
223
224
----- Localization
225
226
A .pot file is generated for each slideshow. One .pot file contains
227
the strings from every slide in the slideshow.
228
We routinely gather the translations (in the form of .po files) and add
229
them to the ./po directory. The build script in ./generate-local-slides.sh
230
automatically generates slides for each translation using po2html.
231
232
The underlying structure is a bit convoluted, but the good news is this:
233
Actually making translations for this project is very conventional. You
234
can simply head over to the Ubuntu source package on Launchpad and submit
235
new strings.
236
<http://translations.launchpad.net/ubuntu/+source/ubiquity-slideshow-ubuntu>
237
We will gather the results and merge them back into the project for
238
releases.
239
240
241
----- Other handy scripts
242
243
First of all, the slideshow can be built by running make. This uses the
244
Makefile, which in our case is a fairly straight-forward shell script.
245
Each slideshow gets its own rule in the Makefile which runs the
246
appropriate other scripts for the final output to ./build.
247
248
./Slideshow.py: Tests the slideshow (after it has been built) in a GUI
249
similar to Ubiquity's installation progress window.
250
Run ./Slideshow.py --help from a command line to see some additional
251
parameters it will take.
252
By default, opens the slideshow in ./build/ubuntu.
253
254
./test-slideshow.sh: Slightly easier way of running Slideshow.py, for
255
quick tests.
256
15 by Evan Dandrea, Dylan McCall, Evan Dandrea, Richard A. Johnson, Brian Murray
[ Dylan McCall ]
257
./images-source/*.sh: As mentioned in the "Adding / editing images"
258
section, scripts are placed here that apply common effects to source
259
images. This makes it easier to add images to some slideshows.
260
14 by Evan Dandrea, Dylan McCall, Evan Dandrea
[ Dylan McCall ]
261
./generate-pot-files.sh: When slideshow content has been edited, this can
262
be run to produce new .pot files (for translators) reflecting that
263
content. There is probably no need to do this yourself, though; the people
264
who push those .pot files to Rosetta will do it.
38 by Evan Dandrea
* Fix reference to 11.04 in oem-config (LP: #837967).
265