24 September 2009

Jolicloud internship: first steps of a start-up

Jolicloud internship: first steps of a start-up

I just finished my internship at Jolicloud as part of my studies in TELECOM Bretagne. It lasted almost one year.

Jolicloud is a new start-up created by Tariq Krim (who created Netvibes) that builds an operating system adapted to netbooks and focused on the web technologies and services.

I lived from the inside the launching of a start-up: idea, research, launching of a private alpha, founding, arrival of big competitors (like Google Chome OS), hiring, beta and release roadmap… We were three at the beginning: Tariq Krim, Romain Huet and me.

Regarding development, it is an interesting challenge: transform a Linux distribution into an ergonomic and beautiful operating system based on web technologies instead of the usual Linux technologies (HTML instead of GTK, Javascript instead of C…).

We use Ruby On Rails and JQuery to develop the central web application that constitutes Jolicloud and python to make our web application communicate with the system.

First developments were focused on two things: modify Ubuntu to transform it into the Jolicloud OS, and create an applications directory like the one on the Apple iPhone, to install/remove/update applications in one click. This directory is based on APT, the technology used by Debian (and Ubuntu) to manage files on the system. And Prism has been fully integrated to put web applications (Google Docs, GMail, Facebook…) on the desktop.

The currently available version of Jolicloud is far from complete: it is just an idea of what we want to do. Developments go faster now and we have plenty of ideas I can’t talk about. Sadly I have to go back to school for my 3rd year at TELECOM Bretagne, but I hope I will still be able to participate in Jolicloud.

While Google Chrome OS will probably only allow to launch web applications, local applications can be used with Jolicloud. And Jolicloud wants to integrate all web services, not only Google ones… And Moblin isn’t really focused on the web. Personnally, I would like the Jolicloud concept on my notebook too, if the interface were adapted. So Jolicloud probably has a bright future… to be continued :)

1 Comment »

1 June 2008

Summer internship as Netvibes developper

[lang_fr]Logo de Netvibes[/lang_fr][lang_en]Netvibes logo[/lang_en]

From july to august 2007, I have done an internship of two months by Netvibes in Paris. This internship was a summer internship for TELECOM Bretagne.

During this internship, I made development in AJAX, particularly for the Universal Widget API platform. I developed new widgets and converted old internal Netvibes widgets to UWA.

I developed too new UWA widgets compilers, and new environments to adapt widgets to other platforms.

Finally, it was a good occasion to discover the Netvibes team, and the good atmosphere in this start-up :) .

No Comments yet »

Develop a website for students to choose projects

[lang_fr]Logo de l\\\'UBO[/lang_fr][lang_en]UBO logo[/lang_en]

From january to june 2007, for my second semester project at TELECOM Bretagne “Development project”, I was asked, with 3 other students, to develop an online projects management system for the computer science department of the university Université de Bretagne Occidentale (UBO).

Goals

This website had to allow the persons invited by the projects session administrator to enter projects propositions. These propositions were then validated by the administrator, and shown to the students. THe interested students could then sort their choices. Once it was done, the administrator could assign projects to students, trying to satisfy a maximum of students. The assignments were then notified to the students.

The students had to be identified thanks to the LDAP of the UBO. However the persons who entered projects propositions weren’t all in the LDAP.

The website had to work in the most used browsers, and to use PHP and MySQL server-side.

Problems and solutions

The most difficult problem was the assignment of projects to the students. First we wanted to make an automatic system, but it wouldn’t have been flexible enough, and we hadn’t enough time to implement it. So we decided to create an AJAX interface that allowed the administrator to see in live which students and projects were unsastsified, and which changes could improve the situation. The changes could be saved at any moment to prevent data lost.

The interface for the students to sort the projects was a bit complicated too. So we used javascript to allow the student to slide and sort the projects. However the interface worked properly if javascript was disabled.

We had a little technical problem too to test the authentification system: we worked in TELECOM Bretagne and we hadn’t access to the UBO’s LDAP. So we tested the authentification with the TELECOM Bretagne’s LDAP, and we made the last changes during the deployment on the UBO’s server.

Difficulties

La première difficulté que nous avons rencontrée est que parmi le groupe de 4 étudiants pour ce projet, j’étais le seul à avoir déjà développé en PHP. Il a donc fallu du temps pour que les 3 autres apprennent ce langage.

THe first difficulty was that among 4 students, I was the only one to already know PHP. So the 3 others needed time to learn this language.

An other problem was due to a bad requirements gathering at the beginning of the project. As the problem wasn’t precise, the requirements have changedduring the project, making us waste a lot of time.

Conclusion

Despite these difficulties, the final result was functional, not beautiful (none of us was designer). It was fairly easy to maintain and properly documented.

I don’t know if our system is presently used at the UBO.

No Comments yet »

  • Welcome!

    I write on this blog about my projects, my practices and my discoveries in the domains of the internet, networks and computer science.

    Tristan, French student in TELECOM Bretagne, a "grande école" specialized in telecommunications

    Contact me Twitter Facebook

    Read more »