My attempt at Ubiquity-Slideshow
cad at cad.cx
Mon Jan 28 20:15:02 GMT 2008
I think the concept is pretty good. It will get prettier as time goes on.
It's certainly needed. I've done a few Ubuntu installs for friends who
decided to take the plunge, and I get a lot of calls asking for the name
of a program that does a certain function, i.e. "what do I use to play
music?" "Rhythmbox." "What's the name of that installer thing you were
talking about?" "Add/Remove in the Applications menu or Synaptic in the
System Administration menu". These questions can probably be answered
through this installer slideshow.
Windows does it, and I'm sure a lot of people learned some features from
it, so I'm sure it can help Ubuntu.
Dylan McCall wrote:
> Not sure if the attachment went through. If not, I have the file
> (mentioned in parent post) hosted over here:
> -Dylan McCall
> On Jan 27, 2008 12:24 PM, Dylan McCall <dylanmccall at gmail.com
> <mailto:dylanmccall at gmail.com>> wrote:
> Hello everyone!
> For a while, I have been trying out various means of welcoming new
> users to Ubuntu, showing them around so they can share our
> excitement about it. Recently, I realized that a slideshow shown in
> Ubiquity fits the job perfectly!
> (See this forum thread:
> -It is unobtrusive. Not a popup; no attention or input demanded
> -New users waiting for Ubuntu to install are still a bit lost, may
> be impatient.
> The slideshow should not really show people /how/ to use Ubuntu, but
> what they can look for and expect to find. I think that is really
> all we need to do, since most of the included applications are very
> well done, do the point that they are self-explanatory. It is better
> that the user learns by using the software than by reading a
> scholarly tome which appears to them when they first log in.
> The slideshow here could even help to point out usability features
> such as translations or configurable font sizes.
> Yes, there is even a blueprint over on Launchpad:
> I went ahead and coded the thing. Progress so far is attached. I
> really like some of the suggestions in that blueprint, such as to
> mention the community aspect and places to get help. Mentioning the
> benefit of setting up an Ubuntu-powered home server could be good,
> too. Lots of possibilities :)
> One thing I think we should avoid like the plague is advertising the
> OS in there with claims like "now more secure!". The goal here
> should not be to sell Ubuntu, but to show a new user the things he
> can find in his new desktop so that he will feel more confident and
> more happy with the choice. We should not preach to the converted;
> we should /reward /the converted with a new and innovative desktop
> experience they can enjoy, understand and be a part of.
> Overview of the design:
> * Open Projector is an external application. Really just a Python
> script that displays a very open ended slideshow created following a
> particular format. Theoretically, this could be ported to Qt...
> although Glade could make that tricky. At the moment there is the
> gtk version (open-projector-gtk). This could go in a Debian package
> fairly happily.
> * I believe Open Projector could be quite easily integrated with
> another Python application such as the Ubiquity GTK front end.
> * Ubiquity-Slideshow would be a separate package (and project).
> Again, this is split into a few versions, with the only one
> presently existing being ubiquity-slideshow-ubuntu (dependent on
> open-projector-gtk). Ubiquity-Slideshow is the data for our
> slideshow that will be displayed with the Ubiquity installation
> progress. As you might have guessed, it is of the same format that
> Open Projector reads.
> The format used by Open Projector is convoluted, but also quite
> flexible. Slides are all Glade files, and indeed are made up of a
> bunch of GTK widgets. I chose this path because the slideshow has to
> be very accessible (desktop integrated!) and translatable. Glade
> makes both of those things easily possible while still offering a
> lot of flexibility to people making slides. (More reasons available
> if you want...). Each slide is actually placed inside its own
> directory, with that Glade file inside, likely called "slide.glade".
> The Glade file must have a non-top-level container called "slide".
> That container and everything inside it will be read as the slide
> and displayed.
> Another thing Open Projector has is "Projectors". These rotate
> through and display slides inside their host container. ...And that
> is where the slide metaphor dies down. A slide can, if it wants,
> have a projector inside of it! The current gnome-app-install slide
> demonstrates this. The projector iterates through every slide inside
> of the folder its own slide is in. It reads some data from a folder
> called "_conf" to decide what order to display the slides in and how
> quickly to iterate through them.
> In the case of the Ubiquity GTK front-end, it would create a
> Projector whose host_widget is its own container and whose path is
> Many example slides exist inside
> <Ubiquity-Slideshow/ubiquity-slideshow-ubuntu>. Of note are:
> * gnome-app-install. Embedded projector to display changing
> contents, alphabetical order set in _conf.
> * special:thanks. Some fancy GTK widgets. I think it could be
> interesting to demonstrate the wonderful drag & drop support we have
> with those widgets
> * special:welcome. GtkFixed container allowing for label that
> overlaps images. Also note that it displays first thanks to
> projector's _conf/slide_start.
> Still other things on the Todo list:
> -Timers for projectors default to an Automatic option (-1).
> Presently, this does nothing. It should cleverly time each slide to
> be [ (lifetime of parent slide) / (number of slides) ].
> -Translations are not in. Actually, I have no idea how to do this
> easily. Open Projector doesn't need translations, but
> Ubiquity-Slideshow does... although it is just some static data
> files. Will I have to do something manually, or is there a magical
> system that will figure it out?
> -Must jump to end of slideshow when signalled
> -Must switch slides, pause slideshow, hide slideshow when signalled.
> -Magic callbacks for slides, such as to launch external
> applications. They probably shouldn't be used (otherwise this could
> get untidy /fast/), but they would be nice to have.
> This is still detached from Ubiquity. That option will always exist,
> and that will probably be how this gets worked on since it's quicker
> than running through Ubiquity. Thus, I need to know what size we
> should expect the slides to be. Currently they are 640x480 pixels.
> Hopefully I didn't miss too much. That's probably my most concise
> overview yet!
> So, what needs to be done here is a lot of collaboration, pondering
> and suggesting:
> Firstly, we need slides. I am terrible at them, probably becuase I
> was not in a writing mood when I did the content, and because I am
> really bad at computer artwork. (I'm also still using Gutsy, which
> doesn't help).
> Secondly, there are some technical hurdles like translations that I
> cannot quite figure out, since I am still quite new to this
> development environment.
> Thirdly, I can't wrap my head around Debian packages. It probably
> wouldn't hurt to just package open-projector right along with
> Ubiquity's front-end (and ubiquity-slideshow), skipping the bother
> altogether while keeping things much simpler to look at.
> Lastly, this project needs a home. Is there a way to create a
> sub-project of Ubiquity for ubiquity-slideshow on Launchpad?
> -Dylan McCall
More information about the Ubuntu-installer