Friday, November 21, 2014

Only Tangentially Related To The Stars


It's a scary moment, that time when you reach the conclusion of something which has taken up a considerable chunk of your life for months. Not a bad kind of scary, really, more a sort of exciting, i-wonder-what-others-think kind of scary. For me, this is a moment i've reached now that Calligra Gemini has been merged into the master branch of Calligra, and is scheduled to be shipped with Calligra 2.9. Another reason it's scary is that, given this is sort of my baby, and have found it's something i use actively pretty much every day now, i am now also the official maintainer of that application, which is kind of a new thing for me. If you're wondering what this whole thing is about, there's a rundown of the news over on the Dot.

At the beginning of this project it was a fairly straight forward thing for me, very similar to the Krita Gemini project in which i was sort of a code monkey, with some marketing thrown in for good measure (i produced the videos used to show off Krita Gemini for the Steam Greenlight campaign, which culminated in Krita Gemini being, to our knowledge, the first piece of free/libre software launched on the platform). I had a manager, who did the majority of the liaising with our customer, Intel, and i provided technical commentary and timelining for the features which were suggested for the application.

As the project progressed, however, the manager in charge of the project ended up taking long term ill (the background story for which is all long and sad and not really relevant here), which essentially landed me with his responsibilities as well. This is not to say it was a bad thing, really - the illness obviously was, but me ending up with those responsibilities wasn't. It meant that i became the client liaison, and the person responsible for packaging Calligra Gemini for Windows, using the same WiX based system created by Stuart Dickson and used for Krita Gemini, and for generally just keeping the project running. In short, everything to do with it bar billing the customer for the work. This was also the time during which i decided we needed to tell more people about the project, and so came the idea to OBS our way to that, and produce some packages for openSuse at least - since, well, that is what i've packaged for in the past, and OBS is just so pleasant to work with that it'd be silly not to.

And now, we stand at the point of concluding the project itself. Not completing, not finishing by a long way, this really is just the start of the journey for Calligra Gemini, and but a small step on the journey of the whole Gemini thing. Really, what Gemini is is just an interpretation of the responsive design concept, which describes how your application should fit the device you're on. What we're doing here is implementing, in the real world, applications which don't simply look and feel right, but which will adapt at runtime to changing device conditions.

Where do we go from here?

This is what my interpretation of responsive design is. Not something which looks sort of ok everywhere, but something which adapts the entire experience to give you the options which make sense where you are. For Calligra Gemini that means the three-tiered approach of Create (desktop and laptops), Edit (all touch) and View (minimally interactive devices like televisions and other infotainment style devices), or indeed any of these when the user specifically requests it.

As the world fills with all sorts of strange device form factors, we have to be able to work well on them. Laptops and desktops, phones, tablets, televisions, cars, airplanes, even fridges and all sorts of other places. Another piece of software created by KDE which takes this head on is Plasma. The people behind it have, since some time now, been working on creating a variety of frontends for it which scale to various form factors, and a chat with one developer there a short while ago made me think that well, it would be brilliant to see that adaptability happen at runtime, the way Krita and Calligra Gemini do it.

What he could tell me was that, technically speaking, it was possible to do it, but that the code path had been untested and such. This is something nobody else has done. Other shells have tried to create one thing which fits everything (calling it convergence), where KDE has realised, as a community, that the way forward is to adapt to each, not to work with the assumption that a single size fits everybody.

So, what stars is it this is tangentially related to? Easy, the ones we're shooting for ;)

The word of the day is: writing
(as in, in bed, the way i do the majority of it ;) )

Labels: , ,