|
|
Subscribe / Log in / New account

Development

An early look at Glide

May 5, 2010

This article was contributed by Joe 'Zonker' Brockmeier.

Good presentations, and good presenters, are not a result of good software. But bad presentation software can make creating a good presentation much more challenging. Rather than complaining about poor presentation-ware, Robert Carr and Amy Wieliczka have been working on Glide: a Clutter/GTK-based presentation application to fill the gap.

Sponsored by the Rensselaer Center for Open Source Software, Glide is a GNOME presentation program in its earliest stages. Glide is licensed under the GPLv3, is written in Vala and C, and attempts to do away with some of the baggage of standard presentation applications.

Why yet another presentation program? OpenOffice.org is a relatively adept effort at replicating PowerPoint (circa 2003, before Microsoft introduced the infamous ribbon interface) for Microsoft Office users. It has most of the bells and whistles that are expected for business presentations, but it's slow, cumbersome, and not particularly intuitive for non-Office users. The complexity of OpenOffice.org makes it a duck out of water on the GNOME desktop. One can find more lightweight presentation applications for the Linux desktop, but they typically require the user to work with HTML or another markup language. For example, for those comfortable with HTML, there's Dave Raggett's Slidy, and LaTeX fans can make use of the LaTeX beamer class. But standalone presentation apps have not fared well. Many of the efforts have gone unmaintained, such as MagicPoint and Pointless.

Glide isn't the first attempt at a GNOMEish presentation application. Agnubis and Criawips came and went before seeing a 1.0 release, and neither has had a release since 2005. In short, there seems to be widespread consensus that a kinder and simpler presentation application is needed but widespread disagreement on how to get there.

And so Glide is the next contender. Whether it will go the distance remains to be seen. At first blush it looks promising, but it's in a shaky state so far. Getting it compiled and working can be a bit of a challenge. Development is moving quickly and the master branch doesn't always compile or work properly. Glide requires Vala, Clutter, and a number of other packages to compile. On Fedora 13 and Ubuntu 10.04 it should compile, but it requires editing the configure.ac to replace clutter-gtk-0.90 with clutter-gtk-0.10.

The most recent branch is in a state of flux and really crash-prone. In fact, the current master is pretty much unusable to create slides at all, though the initial release seemed OK. However, even at this early stage it's possible to get an idea where Carr is going with the application and the general design. But it would be unwise to plan a presentation to the board of directors using Glide in the near future.

Glide offers a much smaller set of functionality than OpenOffice.org, but it's unlikely that the full range of features would be missed by the average user. For example, how many users actually work with the "Fontwork Factory" to distort text or create custom animations. Better yet, should those features even exist? Presentations are not improved by glitz and fancy transitions, but are supported by simple and clean design.

[Glide]

And this is what Glide offers. Glide features a three-pane interface with a toolbar for standard operations (saving, opening, inserting text or pictures, instigating the slideshow mode) and very little clutter. The controls for managing pictures, text, background images, and transitions are docked on the right-hand side of the interface as tabs. So, when tweaking the font size it's necessary to switch to the font tab. When setting transitions, one has to switch to that tab. Adding a foreground image or background image are in separate tabs as well. The tab layout seems like a good interface decision at first, but when actually putting together a slide with several elements it can be annoying switching between the tabs frequently.

In addition to the instability, Glide is currently missing a few features that are or should be mandatory for any acceptable presentation program. For instance, Glide currently lacks the ability to re-arrange slides or export them to well-formed HTML or a video format. Carr has indicated that there will be a timeline editor soon, so this oversight should be addressed quickly. Glide does feature an export to PDF feature or to export to a directory of images, but it'd be a good thing to have the ability to export to HTML so users could post on a blog or Web site natively. Glide also lacks a system for creating slide templates, but this can be worked around by creating a single "master" slide and copying and pasting it as needed, which is what many users (myself included) already do in order to get around OpenOffice.org's ridiculously complex system for creating templates. Carr has also indicated on his blog that this feature is likely to be present in Glide sometime after the first official release.

The text controls currently lack the ability to add bullets easily. Users have easy control of font, size, color, and alignment, but no bullets. This may be more of a feature than a bug, since too many presenters fall into the unfortunate habit of bulleting their audience into a stupor. The number and type of transitions seems reasonable without too much focus on providing fancy transitions. The program is also lacking one of the better features in OpenOffice.org, the split presenter/presentation display that allows the presenter to see all slides while showing a slide on the projector or second monitor.

One possible mistake in the design of Glide is the decision to pursue another file format for the presentations. Carr has written that one of the next stages for Glide is to implement an archive file format to hold the resources for presentations, but seems to have decided not to utilize or support the Open Document Format (ODF) for presentations (ODP). This is a shame, since it seems wasteful to create yet another file format.

Overall, Glide does look promising for simple presentations once it stabilizes. Having created and given dozens of presentations, it seems to have most of the meat and potatoes features that anyone would need to create a simple and effective presentation. Since Glide is already hosted on GNOME's Git repository, one hopes it will soon see contributions from others. One of the initial complaints voiced on Carr's blog is that Glide was being written in C as opposed to GNOME favorites Python or Vala, but he seems to be going back and re-writing at least some components in Vala. Glide seems to have a bit of momentum and interest in the GNOME community, so let's hope that this push continues. It's not yet close to production quality, but with a little more work and a few more hands it could become a suitable replacement for bulkier applications.

Comments (8 posted)

Brief items

Quotes of the week

I resent being called an imaginary user. Being imaginary would seriously screw with my weekend plans.
-- Peter Hutterer

Or in other words, if the features are right, and things do work correctly as far as the limited test base the developers control shows, then one day you need to push into the distributions, even if this might break setups and software that previously has not been tested, unless you want to stay stuck in your development indefinitely.
-- Lennart Poettering

Comments (none posted)

New top-level Apache projects named

The Apache Software Foundation has announced the naming of a set of new top-level development projects. These include the Traffic Server, Mahout, Nutch, Avro, HBase, and Tika. "Apache Tika is an embeddable, lightweight toolkit for content detection, and analysis. Powering by MIME standards from IANA, advanced language detection features and on the ability to rapidly unify existing parser libraries, Tika provides a one-stop shop for navigating the modern information landscape."

Comments (4 posted)

Facebook releases Flashcache

Facebook has released a kernel module called Flashcache that it uses to speed up MySQL by caching data in SSD disks. The code is available on Github, but only tested for kernel versions 2.6.18 and 2.6.20. "We built Flashcache to help us scale InnoDB/MySQL, but it was designed as a generic caching module that can be used with any application built on top of any block device. For InnoDB, when the working set does not fit in the InnoDB buffer pool, read latency is significantly improved due to caching more of the working set in faster media, such as SSD's. We also improve write performance by first caching writes in SSD's and lazily flushing the data back to disk." (Thanks to Ray Van Dolson.)

Comments (12 posted)

KDevelop 4.0 released

The KDevelop 4.0 release is available. "KDevelop comes with lots of innovative features, even though many features from the 3.5 series were dropped due to a nearly complete rewrite. In particular the developers have focused on building an excellent C++ IDE instead of trying to integrate lots of languages and features halfheartedly. Of course KDevelop 4 also builds an excellent basis for other languages, the best proof for that is the PHP plugin that is released alongside KDevelop 4.0."

Comments (12 posted)

PostgreSQL 9.0 Beta 1 available

The first PostgreSQL 9.0 beta release is available. "Version 9.0 is the first version of PostgreSQL to include built-in real-time binary database replication with query scale-out, consisting of two features, Hot Standby and Streaming Replication. Combined with its other major features, version 9.0 will expand adoption of PostgreSQL by new users and in new types of applications." Now is the time for interested PostgreSQL users to help find the remaining problems and ensure a stable 9.0 release.

Full Story (comments: 8)

Poettering: Rethinking PID 1

Lennart Poettering has put up a lengthy post describing the "systemd" project, which is creating a new init system. "Now, if that's all they are waiting for, if we manage to make those sockets available for connection earlier and only actually wait for that instead of the full daemon start-up, then we can speed up the entire boot and start more processes in parallel. So, how can we do that? Actually quite easily in Unix-like systems: we can create the listening sockets before we actually start the daemon, and then just pass the socket during exec() to it. That way, we can create all sockets for all daemons in one step in the init system, and then in a second step run all daemons at once. If a service needs another, and it is not fully started up, that's completely OK: what will happen is that the connection is queued in the providing service and the client will potentially block on that single request. But only that one client will block and only on that one request." The whole thing is an interesting discussion of how system initialization should work.

Upstart maintainer Scott James Remnant has posted a response to the announcement. "So it's great to see some Fedora and OpenSuSE guys working on this too, and bringing some different ideas to the table!"

Comments (134 posted)

RedNotebook 0.9.4 released

[RedNotebook] RedNotebook is a graphical journal and diary system with an integrated calendar and cute "word cloud" displays. The 0.9.4 release is out; it has a number of new features, but the biggest would appear to be drag-and-drop support.

Full Story (comments: none)

Newsletters and articles

Development newsletters from the last week

Comments (none posted)

Can't Program, won't Program? Then Mash the Web with Mozilla's Ubiquity (Free Software Magazine)

Free Software Magazine has a look at Mozilla's Ubiquity. "The addon has been described, variously, as the social command line for the browser, a Web 3.0 mashup, verbing the internet and many more superlatives. Mozilla itself describes Ubiquity as a unique pseudo-natural-language input method and with numerous iterations Ubiquity is trying to move to the point where entirely natural language can be used to interact with the internet—obviating the need for specialist programming skills. Ubiquity 'hides' the relative complexities of Javascript and HTML-based API."

Comments (2 posted)

Aaron Seigo: i don't need no stinking nepomuk .. right?

Aaron Seigo takes a look at KDE's Nepomuk, a "social-semantic desktop project". "For me, Nepomuk's ability to index my files is a nice feature. It's also one I currently have turned off due to personal preference. Nepomuk's real feature comes in the form of all the indexing and, more importantly, correlation services it provides for all the more ephemeral data and workflow that happens on my computer. Right now Nepomuk is using less than 2MB of unshared memory on my laptop (yes, including the Akonadi bits). That's a fair price in my eyes for that functionality."

Comments (96 posted)

Haas: Big ideas [for PostgreSQL]

Robert Haas contemplates development ideas for PostgreSQL once the 9.0 release is done. "When I first started using PostgreSQL, the product had a reputation for being slow, principally because of issues relating to VACUUM. That reputation wasn't entirely justified even back then, and I think we've made enormous progress here in 8.3 and 8.4, but there might be more improvements we can make. Where are the remaining bottlenecks?"

Comments (17 posted)

Totem Gains New Features For GNOME 3.0 (Phoronix)

Phoronix takes a look at the upcoming development release of GNOME 3.0. "The first development milestone for GNOME 3.0 is expected to be reached tomorrow with the release of the unstable GNOME 2.31.1 package set. While Zeitgeist, the GNOME Shell, and Mutter are among the most talked about changes for the GNOME 3.0 desktop, many mature packages are receiving new features and work too. GNOME's Movie Player, Totem, is one of these packages receiving some attention."

Comments (22 posted)

Page editor: Jonathan Corbet
Next page: Announcements>>


Copyright © 2010, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds