The weekend before Qt Developer Days 2010 in Munich, Nokia invited thirteen members of the KDE community to get together in their offices in that same city for a developer sprint. The topic was Ovi and KDE, specifically how they can work together to widen adoption for both communities, both from a software development perspective and from a purely collaborative effort perspective. The developers were also invited to the main Qt Developer Days (DevDays) event too.
Ovi? What's that?
In addition to being the Finnish word for "door", Ovi is Nokia's service offering. Thus, rather than just being an app store or a mapping tool, it encompasses all of the services which Nokia offer. Depending on the country, you will find any number of services:
- Contacts: A storage solution for contact information. In Nokia terms, this is a way of backing up your phone’s contacts, and sharing them between multiple phones.
- Mail: An email system provided by Nokia, in the style of Hotmail and GMail.
- Calendar: As the name implies, a calendar system - store events and other such details, and access to them through the web or on a phone that supports the services.
- Maps: A Web and application system for viewing and using maps of the world - road maps and the like. This includes navigation support.
- Store: The piece of Ovi most people know, the application store is a way of purchasing applications for Nokia’s devices.
- Music: The newest kid on the block, Ovi Music provides access to over 11 million items of DRM-free downloadable music.
The Ovi umbrella also includes the gaming platform N-Gage, though that is not yet pushed as hard as the other services.
What happens at a Sprint?
In contrast to popular belief, a developer sprint is not a place where a bunch of programmers sit down and get lots of code written; that is a hack-fest or a code sprint. A developer sprint is very different; the main focus is on discussions. The Ovi and KDE sprint is perhaps one of the most extreme examples of this to date, as not a single line of sprint-related code was written. The days were focused entirely on discussions and planning.
Three big pieces of paper were put up on the wall, titled in turn: "What can Ovi do for KDE?", "What can KDE do for Ovi?", and "What features could be added to Ovi?". With pens hanging from a piece of string beside the papers, people were invited to add items when they popped into their heads, without any hesitation or interference.
Later, another piece of paper was added to the wall, dedicated to figuring out how specifically KDE might be able to help with the now discontinued Ovi Files service. This was filled with technical arguments on why the ownCloud project would be a suitable technology platform for a replacement service, as well as why it would make business sense to go that way.
Each of the sprint participants selected the areas they were most interested in. This allowed the sprint to break out into smaller groups based on certain topics. At the end of the second day, the members got back together in the meeting room to present what they had done over the course of the sprint. A video of this roundtable is above.
One of the things about developer sprints that needs highlighting at every opportunity is that they allow developers and other contributors to get together in person and work with each other in ways that are simply not possible on IRC and mailing lists. This sprint was no different.
Rune mentioned that he needed arguments for using Qt rather than Android at UNF.dk (a mobile development camp run by the Danish Youth Association of Science). Pradeepto offered to put him in contact with Jarmo Rintamaki, the manager at Forum Nokia responsible for contact with universities and other educational institutions. This finally happened at DevDays. Networking is the name of the game.
Another good bit of networking came out of DevDays. Some of the participants encountered a company that wanted more from Ovi, including rich clients. Thanks to the Open Collaboration Services and libAttica, this is one of the KDE Platform’s core strengths. The company, Orange (specifically their London-based research and development division Orange Labs), offered to help where they could.
Gifts and Promises
Knut Yrvin, well-known community manager of Qt Frameworks Division, and Norwegian national hero, helped set up the KDE-Ovi sprint, and brought three N900s and five N97 Minis to be handed out to sprint participants. The N900s were given to Sai Dinesh of the SyncEvolution project, Mark Kretschmann of Amarok and Arjen Hiemstra from the Gluon project. Arjen got straight to work getting GluonGraphics ported. Two days after getting home, he presented us with a video of the Invaders example game running on Maemo5 - laggy, but running. The N97 Minis were handed out to others who needed devices for development and experimentation - including Rune who, as mentioned above, needed arguments to convince others that Qt is a suitable platform for teaching youngsters how to program for mobile devices.
The results of a code sprint are easy to measure: certain pieces of functionality implemented, APIs reviewed and so on. However, for a developer sprint, in particular one such as this, the achievements are not as easily quantified. So, to describe the value of this sprint, please consider that before it started, the participants were not very aware of what Ovi and KDE might be able to do for each other. The primary accomplishment of this sprint is the scope and precision of what was written on those pieces of paper mentioned earlier. The raw data was gathered on a wikipage on TechBase and a document was begun, putting into a more solid, presentable form the ideas which were born at the sprint.
The single most important request that came out of the sprint was for Ovi to embrace open standards generally and begin implementing web APIs for their services. For example, they could use the Open Collaboration Services for Ovi Store, and the OpenStreepMap APIs for Ovi Maps. This should be something that appeals to Ovi, since they already supply open APIs for some of their service offerings such as the PIM solutions.
The Next Beginning
What lies ahead now is:
- expand and refine the document mentioned above,
- implement specific recommendations, and
- use Ovi services with open APIs in software produced by the KDE community.
This is a large undertaking; one that is not limited to the participants of this sprint. We invite anybody who has an opinion or an interest in the Ovi services to join in. We want Nokia to understand how Ovi and KDE can work together and why it would benefit both.