Ubuntu installer slideshow customization, with pictures!

I have escaped the perilous grasp of Perl, and I bring news:

If you make a localized Ubuntu ISO like the Italian CD, you can customize the installer slideshow, with translated screenshots and more!

How? Follow me!

First, you need to be running Ubuntu 12.10 with the latest version of the Ubuntu defaults builder — 0.35. I assume you already know about the defaults builder, since you are making a localized ISO. If you do not, start with this explanation about localized images. Don’t worry: the defaults builder is a great tool that makes this very easy!

The defaults builder template has been updated to include a “ubiquity-slideshow” folder. Let’s open a terminal and create a new defaults package to play around:

ubuntu-defaults-template ubuntuway-defaults

That will create a fresh defaults source package in a folder named “ubuntuway-defaults”. Open that, then open “ubiquity-slideshow”.

Of course, you can always add ubiquity-slideshow to an existing defaults package.

As you might have guessed, you get to customize the slides! Open “slides.”

Yay, an empty screen, glimmering with potential!

We put slides in this folder, in almost exactly the way they are organized with ubiquity-slideshow itself. Now would be a good time to install ubiquity-slideshow-ubuntu so you can use the base files as reference. Make sure you have at least version 61, because things have changed since Ubuntu 12.04.

With the defaults package, you get to extend /usr/share/ubiquity-slideshow/slides/l10n.

In the ubiquity-slideshow package, each folder contains slides for a particular locale. Note that each folders’ contents look a lot like /usr/share/ubiquity-slideshow/slides.

Back in our defaults package, let’s start by adding some locales. We are going to add translated text and screenshots for en@piglatin. To start, we create a new folder: “en@piglatin.”

On this topic, there should actually be a pig latin option in the locale chooser. It would be sooo cool.

The way this works is the slideshow will search the extra locale folder for a language and, if a particular file is available for that language, it will use it instead of the default. For example, we could replace welcome.jpg for the “it” locale, so when someone installs in Italian that picture will appear instead of the original welcome.jpg.

Let’s replace welcome.jpg for the en@piglatin locale! To replace a file, the easiest thing is to copy where it is in /usr/share/ubiquity-slideshow/slides. You can see there’s a screenshots folder there, with a bunch of screenshots. So, in our own “en@piglatin” folder, we’ll add a screenshots folder. Of course, what you would normally do is look at the original welcome.jpg and create something similar that works for your locale and your disk image, making sure to keep the same dimensions. I’m going to cheat a little.

Custom screenshots folder for en@piglatin, with a custom (colour-shifted) welcome.jpg

One problem with the slideshow is that the screenshots are always in English. Now, you can include translated screenshots. As with anything else here, these go on top of the other files. An Ubuntu install in your language will show the translated screenshots, while an install in English (or any other language) will show the original English screenshots. There isn’t an actual Pig Latin Ubuntu for some reason, so I will translate a screenshot into French for an example.

Some rules of thumb for taking screenshots, if you don’t want to (or it isn’t practical to) do the same thing as the original:

  • Do something practical, like search for a photo or read a web page: don’t open every menu in an application to demonstrate its features.
  • You probably don’t want to have all your own stuff there for the world to see, but if you have some time try to invent a person. It’s just a little more fun than showing a blank photo manager with “Guest” at the top right of the screen.
  • Use the defaults! Create a fresh user account and make sure you don’t touch the font size or the background picture.
  • Make it look good, and if following the above rules makes it bad then please disregard them :)

I went ahead and created a translated screenshot to replace usc.jpg. I took a screenshot of the entire screen, then I opened it in GIMP and scaled to 60% with interpolation set to “Sinc (Lanczos3)”. (You are welcome to choose whatever interpolation works well for the job at hand, of course). After scaling, I used the crop tool, setting a fixed size of 448×304 pixels and leaving a 10×10 border around the application’s main window. (Just line up the box from the crop tool with the top left of the window, then add “-10” to each of the Position number fields).

Cropping a screenshot of Ubuntu Software Centre in French. Yes, it’s also easy to subtract 10 in your head, but OMG cool GIMP feature!

I saved the picture as usc.jpg and added it to the screenshots folder, right beside welcome.jpg. You may add screenshots for as many languages as you want, as long as they fit on the CD, but please keep in mind there is a high maintenance cost.

Now we can try this thing! Open a terminal: we’re going to build a defaults package and see what happens.

cd ubuntuway-defaults
debuild

A package file should appear in the parent directory, called ubuntuway-defaults_0.1_all.deb. Just double click the file and choose Install. To see this in action, you also need to install ubiquity-slideshow-ubuntu and download the slideshow testing tool (Slideshow.py). Sorry, just a little more terminal stuff ahead.

Open a terminal pointed to wherever you downloaded Slideshow.py.

chmod +x Slideshow.py 
./Slideshow.py --path=/usr/share/ubiquity-slideshow --locale='en@piglatin'
Psychedelic!
Translated!

Now, about that text…

We’re going to add some information that we know will be useful for people who receive this disk image, and we will translate some stuff into Pig Latin as an example. The files we need to replace are called welcome.html and gethelp.html, and they’re html files, so if you know HTML it will be a piece of cake.

Again, the easiest thing is to find the files we need from the base ubiquity-slideshow and copy them. In this case, we’ll copy and paste the files and then edit them with our changes. But before you do that, remember that the slideshow is very likely to be available in your language. Before you copy slides from /usr/share/ubiquity-slideshow/slides, look for them under your locale at /usr/share/ubiquity-slideshow/slides/l10n.

With this example, there is (of course) no Pig Latin translation to base on, so we will just add some new stuff on top of the English slideshow. In theory, we could actually translate all the slides to Pig Latin here, but that would make a very poor example because it shouldn’t be necessary: the best practice for this part is to do translations in the ubiquity-slideshow project, and then just tweak those translations in the defaults package.

welcome.html and gethelp.html copied from the base locale at /usr/share/ubiquity-slideshow/slides

Open welcome.html in your favourite text editor, look for the content, and do what you want. Be careful, though: a syntax error can cause all sorts of problems.

Writing some helpful targeted content for gethelp.html

To see the changes we need to build the package again.

cd ubuntuway-defaults
debuild
sudo dpkg -i ../ubuntuway-defaults_0.1_all.deb
./Slideshow.py --path=/usr/share/ubiquity-slideshow --locale='en@piglatin'
The installer slideshow with our localized gethelp.html

Now that we have the defaults package figured out, we can go one step further: build a disk image!

mkdir image-builder-tmp
cd image-builder-tmp
ubuntu-defaults-image --package=../ubuntuway-defaults_0.1_all.deb

This will take a while. When it’s done, it will spit out a file called livecd.ubuntu.iso. Just load that in VirtualBox or something of the sort. When you install, it should look exactly like the preview. (Assuming you use a language that can be selected in Ubiquity, and that language has been selected).

I really upset the live CD trying to make the Pig Latin example show up, so that’s why there are no window titles, but it works, right?

That should get you started. I hope you like it! Go ahead and download the ubuntuway-defaults source package to explore, and please share how it goes.

Adventure and excitement at UDS-Q!

I’m home from UDS-Q in lovely Oakland, California! Okay, I actually got home about four days ago, but I’m slow with these things. It was an interesting week with lots of interesting people. I’ll try to cram it into this post…

The Ubuntu Ecosystem (with a bonus secret session)

I attended a strange session on Monday, called The Ubuntu Ecosystem Part 1 (of 2). We don’t know who scheduled it, or why, or what we were meant to talk about, but it had an alluring title and the room was packed with people. Eventually, Jono stepped in to lead the session and it actually turned into a really nice chat about how Ubuntu is doing as a platform for developers outside the project itself. The session was removed from the schedule, but I think the session’s notes are interesting anyway. It was a good lead-in: app developers were a big topic for the whole week.

There was another session on Tuesday morning: App Developer external outreach. This one was quite interesting. Many different points of view emerged. When we talk about app developers, we tend to be preaching to the choir: we’re often grabbing people who already happen to be making, or interested in making, Linux desktop apps in general. I think Stuart Langridge said it best here: if there is a Linux desktop app that is incompatible with Ubuntu, it’s because they don’t like us. He also challenged the people in the room to name a single Linux app that doesn’t run on Ubuntu already. (I think Stuart is brilliant, by the way). I know there are a few, but what’s in the way is more packaging mumbo jumbo than the software itself. There are many branches to this. Getting things compatible, and getting things packaged and in Software Centre, are two or three different discussions.

Another bit of strangeness is we really don’t seem to be sure what we mean by “app developer.” Do web apps count? Games? For this discussion, at least, “app developer” seemed to be anyone who makes software. I wonder if we should be careful using “apps” as a catch-all without defining it.

So, most of the session was brainstorming where we can go to talk to developers who haven’t thought about building for Ubuntu, and how to get them on our side. There is a lot of software (especially games) that is almost platform independent, and in some cases making that software run on Ubuntu is as simple as the developer choosing to support Ubuntu. There were some interesting ideas about writing articles for magazines and media sites, defining target audiences (demographics?), and making a solid business case for people who like those kinds of things.

At one of the app developer sessions, somebody mentioned it would be nice if there was an Ubuntu presence at places like game development conferences, and there wasn’t much interest. The big one is that Canonical doesn’t really have the resources for it. I wish there were. In terms of third party developers making and supporting stuff for Ubuntu, that weren’t doing it before, I think there is one place where we can say this is really going well at the moment: indie games. No, this doesn’t involve using Qt or GTK or lenses or any of our fancy notification APIs, or even packaging (most of the time). But there are thousands and thousands of people who have paid for, downloaded and played Linux versions of games from sources like the Humble Bundle, likely using Ubuntu, and many indie developers are seriously looking to build their games for Linux so they can reach that audience. That is a heck of an opportunity and I think it needs to be appreciated and nurtured or it will go away as quickly as it came.

Making life easy for app developers

So, continuing along that trend, we also had a productive session called Upstream App Developer Documentation. This is something I have been really glad to see over at developer.ubuntu.com, and it was nice to learn we are on the same page here: great progress, but there is still work to be done!

One thing the site needs is content, so if you’re lovely and talented, think about submitting a tutorial for the Resources section. It would definitely be appreciated.

We talked about making it a little clearer that the site is dynamic, so people might be encouraged to approach it a little differently. We also discussed shiny ways to present API docs. The site has a good start there — particularly with its selection of a target Ubuntu version — but it is so far a little limited in scope and not as shiny as it could be. Alberto Ruiz is working on a neat Django-powered documentation site called GDN, so ideally we can fit these things together.

Installer slideshows

I missed a chunk of Monday — including my own session — because I was trying to sleep off a headache. So, we did the ubiquity-slideshow session, Installer Slideshow checkup and planning, on Tuesday! There weren’t a lot of people there, but I think we had an interesting chat, and it continued nicely in the hallway session later on. It was nice to meet some people who work on installer slideshows for different Ubuntu flavours, and we arrived on a few things to work on for Ubuntu 12.10.

I’m going to make a real start allowing translators to localize screenshots. This is a tough problem because of the tight schedule close to release, so it won’t be finished for 12.10, but I want to have something. Actually creating translated screenshots is part of the puzzle, and that will be similar to what the documentation team does but with some little decorations. Chances are I will be writing about it in the future, and it will involve some magical scripts by Jeremy Bicha as well as some funny manual work to make things look pretty. That bit is kind of entertaining anyway.

The next puzzle is actually getting those localized screenshots to users. They can’t live on the install CD because there just is not enough space (and even if there was, we’d be adding a lot of files that don’t do anything). In the future they might live on a web service, but for 12.10 I’m looking at localized ISOs. There was a great session about that: Localized ISO community growth, Quantal plans. This is an amazing project where loco teams build their own Ubuntu install CDs (like the Italian CD), completely ready to go with a translation of their choice, with extra goodies like custom Firefox bookmarks and Rhythmbox radio stations. I will be playing with slideshow customization in the ISO builder so translated screenshots can be added to language-specific install CDs.

Updates, sound themes and stuff

On Monday morning, there was a session titled Sound Theme, which was mostly a quick update about Ubuntu’s new, upcoming sound theme. I think that project is in good hands. It wasn’t finished last cycle because it’s actually a pretty big piece of work: this isn’t just the startup sound. Having seen how much work is going into this, I really look forward to where it goes.

Take a look at pkgme! I don’t remember the session at this point, but I was told the goal is to make packaging an application as simple as one command in many cases. (This way, an app developer doesn’t have to read the packaging guide and wonder why he needs a patch system for his own project). It sounds quite beautiful.

This cycle, I will be working a little bit with Michael Terry to implement the Software Updates specification. My goal is to get updates presented in a tree list where packages are collapsed beneath their respective applications. So, an update for Firefox will be presented with a single list item that says “Firefox Web Browser” along with a pretty icon, instead of a list of scary package names. This is going to be exciting! I’ll keep you posted, probably with the odd Twitter update.

As always, I have decided to actually use IRC. I do this every UDS. Hold me to it, okay? I actually set Empathy to connect to Freenode along with my other accounts this time, so it’s progress! (Yeah, I know, Empathy isn’t very good at IRC, but this way it will blend nicely with the background).

Oh, while I’m talking about random things, I’d just like to add a thanks for the t-shirts at this UDS! I love the design, and they’re super comfortable, too. So, whoever was in charge of that, you’re brilliant.

Fun!

 

And my favourite plenaries

Dave Walker’s MAAS demo gave me a powerful urge to buy eight computers and a lot of network cables just to play with that stuff, even though I have no use for it at all. It’s an impressive demo.

The lightning talks! I don’t know where or if a video is posted, but there was a fun lightning talk full of trivia about the infrastructure behind UDS. Metres of network cable, distance travelled by our heroic technicians, amount of data downloaded and uploaded, the wifi setup — that sort of thing. I hope it gets posted somewhere.

Ubuntu at Google with Thomas Bushnell. All about how Google is doing with Ubuntu deployed as a desktop operating system for thousands of employees. It’s always interesting to learn about Ubuntu desktops being used in big operations, especially when the resulting software can still be recognized as Ubuntu — which, in this case, it sounds like it is.

Electronic Arts with Richard Hillman, EA’s chief creative director. I think some people are disappointed that EA hasn’t gone and announced SimCity 5 for Ubuntu or something (okay, that would be pretty great), but I was perfectly happy to learn it’s a cautious, ongoing investigation instead of someone deciding to throw an expensive product at Ubuntu and hoping it sticks. This way, it could really work well in the long term — and there is room to sort out any problems along the way. After all, Ubuntu isn’t perfect yet. The Q&A after this talk is really informative, and it connects with the sessions we had about app developer outreach. It’s worth a watch!

Uh…

Thanks for the fantastic event, everyone! As usual I learned a lot, met some cool people, felt very humbled, and am writing way too much stuff in one blog post. And this isn’t even half of it. As usual, I should have made daily posts like all the cool people do. Oh well. See you next year! Quantal Quetzal (that’s pronounced ketzal) will be glorious.

Why isn’t Ubuntu Forums in the installer slideshow?

Observe as Dylan ernestly makes a mountain out of a molehill, then desperately backpedals in an effort to not sound like a pretentious bozo.

There is a prominent feature request / bug report for Ubuntu’s installer slideshow. It’s titled “Precise Pangolin – Please include ubuntuforums.org in the slideshow.” Right now there are 84 people who agree that should happen, and many of them have been pointed there from a couple of forum threads. The forums are very good at that.

I’m just going to go and say it: I know it’s important to people, but that isn’t going to happen for Ubuntu 12.04. I’d love to talk about it in the future, and it might happen, as things change, in another release. Here is why it isn’t happening today:

The install slideshow appears for about fifteen minutes, for every Ubuntu user who does a full install from the desktop CD. And then it never appears again. It is fundamentally incapable of being a reference guide. And that’s good, because we already have many excellent reference guides and support sites. The slideshow is not trying to be definitive or in any way, shape or form a distinct source of information.

What is it, then? I want it to be a simple source of ideas, inspiration, and – most importantly – confidence as people dive in to Ubuntu. And I want it to be those three things without sounding any more important than it is (which is not at all). This is a very little thing. My path is rather erratic, but there are a few points I’m quite sure about.

When you help someone think “I can do amazing stuff with Ubuntu that I couldn’t do before,” you’re doing it right (and you deserve some kind of trophy). The “I can” is important, because we do have a large number of “they can” situations, and those aren’t the same. It’s good if people feel powerful right out of the gate.

Two thoughts that do not inspire confidence: “I’d better memorize this” and “OMG so much stuff!”. These thoughts come as soon as you present new information that isn’t a natural part of old information. Ideally, to avoid them, you’ll present “new” information that was already on the user’s mind, and keep the stakes low: if anyone is worried what might happen if they “forget” something, it isn’t working. I want people to know what’s there, but they don’t need to know any details yet. Ubuntu is well designed, anyway: everything will just work as long as people trust it to work.

There is a particular quota for things we should introduce, and that should vary depending on how important each of those things is. We can’t put six things on the screen at once and expect any of those things to be noticed. Right now, I think it’s all maxed out. I don’t think there is room for any more slides’-worth of information, so the ideal thing is refinement (and maybe even removal) of what’s already there. If anything is being added, something else needs to be removed, or at least changed.

We need to be sensitive to the fact that people are currently installing a new operating system, perhaps for the first time, so there is already a lot of new stuff going on.

I know it isn’t doing this yet, but I think a really good installer slideshow will do lot of showing, and much less telling. When we just tell about things, people compare what they’re being told against their existing assumptions (“you probably have to do that with some terminal command,” “I bet they’re all neck-beards”). Quite often, it ends up with the assumptions winning.

“So, that’s a lot of babbling, Dylan, but why Ask Ubuntu and not the forums?”

This one is a mix of things.

The install slideshow ends with a slide that is about getting help. Right now it’s pretty heavy on tech support, but the idea is “don’t worry, you are not alone!”

Yes, I know there's an excess of Planet Ubuntu on the right. Don't worry, just teething problems.

It has a new Twitter thing which I think plays an interesting role, but its main copy points at Ask Ubuntu, and it ends with a link to ubuntu.com/support. Now, I didn’t actually write the copy here, but I’d like to explain what I like about it.

I like that it links to Ask Ubuntu as something to look at right now, because I think it’s possible to show instead of just tell about Ubuntu’s community support. The second link is pretty well just ubuntu.com, so I’m hoping the viewer will think “I already know that,” instead of actually worrying about writing it down, or even looking at it. If we just throw in a third thing, like ubuntuforums.org, I think we’re wandering above the (very unscientific) new things quota, as we start having these two brand new items competing for the same kind of attention, both for the same reason. It’s not unlike having two web browsers installed by default.

Why Ask Ubuntu and not the forums, then? I’m not terribly invested either way, but let’s just compare the two landing pages.

With Ubuntu Forums, the information available at a glance is that you really need to REGISTER, there are a lot of categories, there’s a category for absolute beginners, and (if you’re especially observant) people post quite frequently. The last two pieces of information are quite compelling, but I’m put off by how far the viewer of the slideshow is from actually seeing people get help.

I think Ask Ubuntu just does a better job for the quick glance – “hey, this place looks helpful” – kind of thing. First, there is no obligation to register, and I like that for making things a little more relaxed. Second, the site is all about Q and A and the landing page has a prominent list of questions and their answers. The site also has an “Ask a question” button whether you’re signed in or not, so I think it’s a little more inviting. I think someone can see Ask Ubuntu and understand it in three seconds.

Now, I love the forums, but I think the slideshow needs to be streamlined, and I think Ask Ubuntu gives a more streamlined demo than Ubuntu Forums. Actually, I think we’d be doing the forums a disservice here. There’s a risk that someone’s first taste of the forums will be “whoa, too much new stuff, not now!” (in some fashion), because that’s just the nature of the forums: the forums are big, and complex, and there are a lot of fascinating people who do a lot of different stuff. It’s a huge piece of the Ubuntu community, and it doesn’t fit well in the small snippet of time the slideshow aims to consume, much as the slideshow isn’t linking straight to the Wiki or the IRC page.

I think there’s lots of room to talk about the Ubuntu community in the slideshow, but we need to be gentle. Let’s talk about the forums somewhere that a person can discover the site when they’d like, and be able to give it a full fifteen minutes. There are some great places to bring up UF. There’s the default browser bookmarks, there’s the (kind of neglected) Get More Help section in the Ubuntu Desktop Guide, and there’s ubuntu.com/support. The forums can appear in lots of useful and interesting places, and I’d love to see that happen.

But the slideshow is not something that you can just dump something on. It’s not a big truck. It’s a series of slides!

I have a craving for keywords

Something interesting is going on with Gnome Shell and Unity: it is becoming very normal to search for applications. But search is more than just typing something’s name in a box: With the web, search has become synonymous with asking questions and getting answers. With really good searching, people can find what they need by saying what they want to do. So, I think searching for applications is something that should be addressed strongly to provide a great experience.

I have a hunch that one part of this puzzle is already mostly here. It just needs some glue. Almost every application is associated with at least one category, like BlocksGame and VectorGraphics. I’m hoping we can leverage that data to make searching more excellent.

Now, just in case I’ve lost anyone: there is cake involved!

I made the Category Keyword Collector to explore my theory.

If enough people enter enough data, I’m hoping we’ll see some interesting trends in how people describe applications. Ideally it will all line up and we can create a wonderful thing that expands each standard category into a bunch of searchable keywords. More likely we’ll see where the problems lie in my theory, and of course I’m hoping good things will emerge from that.

Tastier than it looks! (More so with a smaller mug and a crunchier cookie)

So, this is where the true heroes among us venture forth to the website.
Please play with it! It really enjoys the company, and it will only take a few seconds. I promise!

(Sorry about the bumped post. Blogger spat out uglier HTML than usual and I had to pick at it)

Using ubiquity-slideshow for loco websites

David P let me know that some loco teams are interested in using Ubuntu’s installer slideshow on their websites. It could serve as a quick tour of Ubuntu in their language. Lots of people do lots of work to localise this stuff, so using that work in other places sounds fun. I would like to quickly show how to do that with the slideshow. Mostly this is using jQuery and the jQuery.Cycle plugin, so if you just want to make a cool presentation from scratch, that is the place to look.

So, let’s make this simple by using the released package that is shipped in Ubuntu. If you want to make changes or update the localization, let me know and I can write about that (though I hope the Readme in lp:ubiquity-slideshow-ubuntu does the trick).

You can install the installer slideshow for your version of Ubuntu. It is ubiquity-slideshow-ubuntu in the repositories. (Or -kubuntu if you are using Kubuntu, etc). The binary and source packages are also available at the usual place on Launchpad. The actual content we are interested in installs to /usr/share/ubiquity-slideshow. It is all regular HTML, so pretty easy to play with. First, copy the slides folder to somewhere in your home folder; we will work with that now.
Obligatory copyright notice: the slideshow is licensed Creative Commons Attribution-ShareAlike 3. A file with more details installs to /usr/share/doc/ubiquity-slideshow-ubuntu/copyright.

Now, open the slides folder. This may look overwhelming at first, but we will fix that. There are a whole bunch of folders named like loc.zh_TW and each one contains a version of the slideshow’s text for a specific locale (where everything after loc. is the locale code). In addition, each slide in the slideshow is its own file like photos.html and the slideshow itself is glued together by index.html, which has a list of all the slides in order. The slideshow can be told to run with a specific locale, where it loads the slides from that locale’s folder instead of the usual place.

You probably only need one locale, so let’s just deal with that now: open the folder for your locale. (If you don’t know your locale code, this table might help). Now move the contents to the slides folder, replacing the existing English slides. Now delete all the locale folders. (It’s quick to do that in Nautilus: press ctrl+s, enter loc.* for the pattern and hit OK, then delete the selection as usual). We don’t need directory.js, either, so delete that.

Now let’s test this to make sure everything is working. If you try opening index.html in your web browser, it will open that but the slideshow won’t show up. This is because your browser is being sensible and it is blocking the Javascript I mentioned from loading anything on your hard drive. You have a few options instead. Upload the slideshow to a website, or run a local http server. Of course, Python makes this easy. Head to the slides folder in a terminal and runpython -m SimpleHTTPServer…now, if you go to http://localhost:8000 in your web browser, the slideshow should appear.

Okay, great! Now what?
Let’s fix this up to make it look good on your website. First, open index.html in a text editor.

Remove the line that loads directory.js, which looks like &ltscript type=”text/javascript” src=”directory.js”&gt&lt/script&gt. We deleted that file earlier because it just describes the directory structure so the script knows what locales are available. Since we removed all the other locales, it serves no purpose (and actually slows down page loading since the browser will always request that file).

If your locale is a right-to-left language, add class=”rtl” to the <body> tag. This turns on the right-to-left rules in general.css.

About halfway down, you will see a list of items like<div><a href="welcome.html"></a></div>You may have noticed that the first and last slide are pretty specific to actually installing Ubuntu, so they aren’t really suited for what we are doing here. If you want, just remove the first and last ones from the list and they won’t be shown. You can also re-order these or add new slides in a similar way. If you’re wondering, the Javascript at the top of the file loads each of those listed slides using XHR.

Of course, linking someone to index.html as we have it now is a little boring. I encourage you to copy and paste the #slideshow element and stick it in another web page. It could make a nice decoration. As long as your page loads the slideshow’s css stylesheet, jquery, jquery.cycle and slideshow.js as in the <head> section, it will work out fine. (Though you may need to make some slight changes to general.css so it doesn’t interfere with the rest of your page. The likely offenders are at the top and there is a rule at line 202, affecting all IMG tags, that you may want to remove).

I should point out that this is (and always will be) intended to be used in one place: while installing Ubuntu. So, its design could change drastically. I would love to keep this going, but it’s mostly a lucky coincidence that it fits in websites today.
(It would be neat to see a loco-web-resources project on Launchpad, but I don’t think I’m the guy to spearhead that)

I hope this was helpful. If you have any questions, feel free to leave a comment and I will try to answer.

Home from UDS-N

I’m back home from UDS-N in Orlando! It was an intense week; I don’t think an hour went by without something excellent happening. Of course, the most excellent thing for me was that Canonical sponsored me to attend. That was incredibly kind. To everyone who organized UDS, thank you for putting all of this together!
(And the Ubuntu notebooks are really nice, too)

The hotel seemed to be a place of extremes. It was very hot outside, so they turned the convention center into a freezer. That way we had a choice to freeze inside or melt outside. I chose the former, as it was more consistent with home. The beds were regularly MADE (in the most intense fashion I have yet witnessed) so that every night, when one finally succeeded in wedging between the sheets and the mattress, one felt truly accomplished. The hotel was massive but well organised, and the service was excellent. (Including the shuttles). A server remembered that I like tea (with milk in it) with breakfast, which is outstanding given the number of us there.

They even have a parrot!

Mark’s big announcement about Unity Desktop was a catalyst for some really action packed discussions. There is a lot of change going on this cycle, but it feels attainable. I think everyone has done a great job positioning the new goodies in the platform so they can suddenly jump to life in one coordinated, shiny burst of energy next year.I think this year is the “OMG we can make videos!” year for Ubuntu. The first thing that happened in the introduction at 9AM on Monday was an amazing, well produced video about Ubuntu. With colours. And moving things. And sound. And there were no full-screen videos of the desktop where the viewer is expected to care about some tiny movement over a sixteenth of the screen. Oh, and the computer talked to the projector. That was pretty cool to see. More, please!

I went in doubtful about Unity on the desktop. To be honest, I hadn’t explored it much beyond a brief surface scan and a bit of groaning about the less-than-stellar state it shipped in with Maverick with regards to stability. Some sessions — Mark’s impromptu Unity Q&A, Neil’s presentation of the Unity Places API — and the very tangible interest in accessibility quickly changed my tune. Unity’s design is glorious. There is a ton of energy, and I think it’s going to amaze people with 11.04. I learned it is mostly written with Vala, too, which makes me as a potential contributor very happy.

It also helps that the Places API session began with Neil showing off libdee. Though it may have been a bad idea to have that at the start; I was already distracted, excitedly installing the thing and playing with it on my own machine because it is that amazing. It abstracts a bunch of DBus stuff so you can have a number of individual programs that share data between each other, where dee connects those programs for you. So, a bunch of DeePeers share a DeeSharedModel object and new DeePeers can pop in and manipulate that same object at the same time. (Technically, each has its own copy and no one peer is depended on by all the others). Pretty darn cool.
Places is even more amazing. Really. It is going to do great things.

Had a very productive session about Harvest where we talked about the new stuff all hosted at harvest.ubuntu.com, discussing what people need and want for it to serve them well. Being a simpleton, all I want is a new logo, and then I can make the header look pretty ;)
I volunteered to work on RSS feeds, a “link to these results” button and a few odd bug fixes.

I received lots of kind words about my GSoC project over the week. I was frequently surprised to get them and reacted with a terrifying amount of modesty, so if I forgot at the moment I will say it now: thanks for all the kind words. And thank you for letting me mess with Harvest, Daniel H and James W!

Speaking of thanks, somebody very kindly organised for a bunch of people to go to the Disneyworld Epcot park. I went on Wednesday with fearless leader Jussi, Rodrigo, Harald and Rohan and, yes, we met Mickey and Pluto.

This photo is by Jussi. Unfortunately, the group photo with Mickey is probably trapped forever on Disney’s website. We figured out the photopass service exists to make money only when it was too late.

All these Kubuntu people are obviously in the midst of a subversive plot to convert everyone, by the way. At this point I feel a nearly overwhelming urge to use Kubuntu, or at least to make stuff with Qt (and I have been thoroughly trained to always pronounce it “Cute”). The only thing holding me back is its default wallpaper. (Thanks, Rohan). The multiple lightning talks about QML were spectacular, too. It’s a declarative language for creating beautiful user interfaces with Qt. Wondrous animated magic in a few lines of very simple, friendly looking code. (And QtCreator is involved, too. Eeee!)Tragically, I haven’t figured out who organised this and paid for the tickets. So, thank you, mysterious benefactor! It was really nice to do, I wouldn’t have figured it all out normally and I would have regretted if I hadn’t. That really was a wonderful way to spend Wednesday night.

I’d better look productive again. Talked to a lot of people about the installer slideshow in Ubuntu, Kubuntu, etc. I didn’t get everyone, but we’re poised to get out of the way with this cycle and land things at sensible times. I’m hoping to freeze strings before the Documentation String Freeze and leave a lot of room for translations to come in and be tested naturally. If all goes well, nobody will need to think about it from here on out. (Unless you happen to be responsible for one of those slideshows or are interested in contributing to a highly visible part of Ubuntu’s first run experience. In that case, please do think about it and contact me!)

I was at the session about the Free Culture Showcase. Ivanka has a really cool vision for how this should be in the future and I’m looking forward to where it goes. One thing we all agree on is it needs more videos. Videos like the photos; as diverse, fun and attractive as the people who use and make Ubuntu :)

If you're wondering what happened to all the things with lights in them at the closing party…

It was a very exciting, energising week. Thanks, everyone, for a fantastic UDS. The Natty Narwhal is going to be great.