Category Archives: master project

This is Not the End

It’s actually only the beginning.

ToDoSo is slowly moving to Aptana Cloud: the website first, and… the first version of the server as well!
Be kind with it, it is still very young. There is no point in mentioning that it is a prototype that needs a lot of work.
What it needs more than anything is care.

The next week or so will see no development of the application itself but many posts on this blog, as I’m writing the final report of my Master.

New mockups and keyboard navigation

I’ve added mockups demonstrating the appearance of the presentation when an embedded one is maximized. Since it is pure HTML, it is not going to be opened in a different window unlike a Flash video, it is rather going to overlay all the page.

todosOverlay, the overlay plugin used on the intro page of ToDoSo, is now an independant project since it tends to become a full featured overlay plugin. It is now possible to use the keyboard for navigation and I got rid of some graphical glitches. I’m quite proud of its look & feel. The idea of using buttons looking like keys  is likely to be used again in ToDoSo since it seems like a great way to make keyboard shortcuts discoverable.

Specification of the project

Finally, here they are! The .pdf version of the specification is already available while a link to the .lyx source will be provided soon.

It took longer than I thought but I’m proud of the result. This is a rather long document (3300 words) so I’m only going to reproduce the conclusion on this blog and hope it will pique your curiosity:

The previous state of the art allows to pinpoint three characteristics of existing presentation software:

  1. they are now very rich applications, allowing for the production of highly customizable and visually appealing documents in which multimedia assets can be embedded. The Web enabled a further leap in feature richness, offering a better availability of documents, new possibilities of collaboration and distribution.
  2. if most of them have significant original features that differentiates them from their competitors, there are only slight variations in their GUI that has evolved only minimally over a ten year period.
  3. there are no presentations on the Web that are able to both reproduce their information as a whole through assistive technologies and allow the navigation of slides with a keyboard.

From these observations it it possible to infer three directions for an innovative and valuable presentation software as a Web application:

  1. Trying to compete in term of feature richness with existing solutions is not a reasonable aim for a single developer. In fact, this project could not be completed without the help of external contributors. The first aim of this project will be to encourage individuals to participate in this project and mainly in its implementation phase.
  2. All presentation software use a GUI that is described as an Overview+Detail interface by Andy Cockburn. But other concepts of GUI such as Zooming and Focus+Context are to be found on the Web (Cockburn 2008). The second aim of this project is to assess alternative concepts of interface for presentation software. The ideal would be to build an interface that would give a strong identity to the application and be more intuitive than the traditional one.
  3. It appears that there is a large space for improvement in the accessibility of presentations on the Web. The third objective of this project will be to allow authors to produce accessible presentations with an application that has a graphical user interface.

There is also an interesting part about the nature of information in presentations illustrated by the following document:

A special thank goes to Sébastien Delorme from [fr] for his precious help on the accessibility evaluation of current solutions.

The next steps are the analysis and design of the application. I’ve already posted about solutions for vector graphics in the browser but I should post about the rationals behind my technological choice (Open Web of course) and about my first ideas for the Graphical User Interface. The next weeks are definitely going to be busy!

Teesside's summer of code

I’m now done with all the projects of my different modules and I’m expecting the pass mark in all of them (and hopefully more than that in some of them).
Starting this week I’m going to be working on my Master’s project: a project that is not only the masterpiece of this year, but that is also going to be the only worthy project of my portfolio when searching for a job next year. This project is of a paramount importance for myself but I also want to make it valuable for more people than only me.

Creating a leading office application

As a strong supporter of Free Software, I always thought that the most important entrance barrier to GNU/Linux was it’s office suite. How many people do you know that prefer over Microsoft Office? To reach a larger audience (and it deserves to), Linux doesn’t need “acceptable alternatives considering that it’s free”. Open Source and Free software need to lead, following the great success of Firefox and other software that the FOSS community can be proud of: Songbird, Inkscape, Aptana, Azureus, Miro, VLC, Pidgin, name your favorite.

I also know that the best way to have people migrating to GNU/Linux is to bring to their current Operating System great applications which, added to one another, will create a familiar digital environment that would be possible to find on any other OS. I believe that the Web now is not only a valid platform to build applications, but that it is also the best one for cross-platform applications and the best one to bring innovations that can really benefit to the users.

Using the Web as a vector of innovation

I could have started to build the online word-processor of my dreams but last year, on the occasion of my final year project, I have been asked to work on a presentation tool à la Microsoft PowerPoint. It was a great opportunity for me to gain a deep understanding of the Web technologies and standards and of the user interfaces of such applications. The purpose of this first project was to create an online alternative to Microsoft PowerPoint but their haven’t been any notable work on innovations, in short, the final product was an “acceptable alternative considering that it has been developed by undergraduate students”, which  is not acceptable from an end-user point of view (for example it lacked an undo/redo feature). When I first discovered 280slides I was really disappointed: it was exactly what we were aiming for, but usable. The only advantage of our application was the possibility to add animations to the slides but that was so poorly integrated in the whole application that it was almost useless.

Fortunately, during this year of master I have been able to mature the idea of this application, to discover new Web technologies (canvas and SVG) and to strengthen my skills. I feel now ready to give it a second try.

Where to start?

My first task will be to write the specifications of this application. I have to explain why there is a need for an online presentation application (my aforementioned commitment to Free Software explains my personal motivation for this project, but it doesn’t make it a valid piece of research). To this end I am going to evaluate the current solutions that have a common purpose (from PowerPoint to JessyInk, without forgetting about 280slides or Google Document) and I am going to present the “contribution to the body of knowledge”: what innovations will this application introduce as well as the expected findings that should come out along the process of creation.

I am going to blog as often as possible about the progress of this project since I need to keep a written track of my progress (to help me for the 12 000 words report) and to try to attract some people’s attention because I NEED feedback from potential users at all stages of the development. I am already searching for a name for this application. I own the domain, but I am a little bit worried about its potential suggestive meaning. What would you suggest?