← Back to team overview

screenlets-dev team mailing list archive

Re: Screenlets developpement ?

 

Hello again,

After just changing a couple of messages with Julien and Rico, I realise that I don't really know what do other people on the project think about the project or about free software in general. It could be that our conceptions about all this are quite different and this could be a reason why we think differently about Screenlets.

I am really for the freedom and active participation of community and I think Screenlets should be a project in the same spirit. For my mind, Screenlets should be mainly a framework offered for users for running, creating and publishing Screenlets and not so much a ready collection of Screenlets. There are also practical reasons for this: Screenlets' project itself cannot create and maintain a selection of Screenlets good enough and up do date. I think this should be left to community.

The present way of publishing Screenlets as archived files on the web is rather dirty way of publishing them. It makes publishing of Screenlets episodic (no automatic updates) and not safe (no dependencies checking). It's not a preferred way of installing software on a Debian-based system. Of course a screenlet deloper can decide to publish a Screenlet on a PPA, but this is not encouraged in any way and would be considered rather weird (for example, I think there is now just one (!) Screenlet published in Ubuntu "universe" repositories: monajat-screenlet).

I think it's time to start encouraging it.

First of all, we should publish all the Screenlets now in the official package individually on a PPA. And for the next step, we should be agreeing and willing to publish on our PPA any Screenlet that "works". There should be an easy procedure for that. This would make user Screenlets and "official" Screenlets equal by status and this is definitely good for the motivation of the community to develop and publish Screenlets. Only way the official ones would distinguish, is that we also offer a collection of the best of the best available in our PPA as a basic recommendation (which is installed together with the Screenlets core package).

Installing Screenlets from PPA would add more trust to Screenlets and would make installing third party Screenlets available for either suspicious users (PPA is a legitimate source of installing software, much more legitimate than installing archives randomly downloaded from the WWW) or users without skills needed to search, choose, download and install Screenlets from the WWW (but what every user learns first on Linux system is how to install software from package manager).

I must admint, that I'm quite eager to make it possible for the community. So I think we have to implement some way of installing individual Screenlets from PPA. So let's ask, what is the best way to do it!

By now I think I prefer the second of the options I envisaged in my last reply to Julien: To get rid of real Screenlet packs and replace them with metapackages, which bind together individual Screenlets as Debian packages. This would be the most natural way to do it on a Debian-based system and everything would find its solution logically (no problems with separate installation directories for Screenlets, Screenlet packs, core Screenlets etc).

I stress that this is not just adding a new feature to Screenlets. This is directly addressing the present problem of Screenlets. As you are well aware of, the present problem is that Screenlets have not been updated for more than two years and that the "official" pack of Screenlets is really outdated and not usable for a general public. Can you say that you are completely sure these problems will be solved in the future, if the organization of the project remains the same? Standing before the fact, that there just now was (or still is, to be correct) a two years stall in the project?

I think these problems would be partly solved by giving users straightforward possibility to commit any Screenlet easily to the PPA, where other users can easily install them. This way it's not only the core developer who holds a responsibility and has means to update an "official" Screenlet, if it's outdated, but it's pushed a bit more on the shoulders of users.

I'm sure users can do much of it instead of the core developers and core developers will have more time to fix the problems in the core Screenlets package itself. There will be no pressing need to make a big roadmap to next release with the responsibility to fix and guarantee the good condition for every individual Screenlet in the core package. The core developer will just sort out from the metapackage the Screenlets that do not work well, and update only the ones he thinks are really needed to update. It will be much easier and less time-consuming to publish maintenance releases for Screenlets core package and the probability of two year break between releases will be much lower.

Of course even now, users can fix the core Screenlets, and they do it quite a lot on Gnome-look.org, but these updates are really hard to find, episodic by nature and installing them is wearisome. I hope you see, that publishing these updates in the PPA beside "official" Screenlets would make things completely different. Updates by users would be instantly available to the community, even without the need to go searching for them on Gnome-look.org or some other place.

This change will also address the the problem which Julien expressed by the words "especially the number is important". It wouldn't be so important anymore to offer a large number of Screenlets as an "official" Screenlets pack, because lot of the updates to individual Screenlets would be done by users (and if users don't fix a particular Screenlet, they probably don't need it so much).

When I read Rico saying that he has two month "holiday" coming (well, I've done that myself and it will be fun experience for sure, but not really a free time, trust me, Rico!) and we should make a roadmap to "rock-solid 0.2" release without any feature changes, I'm really afraid that will be an overkill, if it is meant to be be done the way it has been done until now (updating all the individual Screenlets and maintaining them). I'm afraid that the community won't get a new Screenlets this way or if they get it, there will be stoppage of the project again, after the "rock-solid 0.2" is reached.

So my proposal is that we go like this:

1) We start applying the patches to the Screenlets core.
2) We remove all the individual Screenlets from core.
3) We add them to a special source branch for all individual Screenlets.
4) We create a special team (or take over some of the existing teams) for updating individual Screenlets (and accept all people willing to be members). 5) We create a metapackage to bind couple of really basic and well-functioning Screenlets (by now I propose just Calc, Clock, Flower, Notes, Slideshow and Trash for the beginning, because I have updated and checked these out myself; we can add anything later).
4) We create a PPA for Screenlets.
6) We publish all individual Screenlets on the PPA as Debian packages.
5) We publish the first updated version of new Screenlets core on the PPA (with the metapackage mentioned above in "recommends").

Notice that this doesn't need any extra features to be added to Screenlets core. It's just a matter of packaging. All individual Screenlets will be still under /usr/share/screenlets and ~/.screenlets so everything is exactly the same. Everything will just work. We don't even need to test it too much either because we are relying on Debian package managment system to do all the hard work.

Just like that.

a) The next step would be to update Screenlets documentation about the new way of packaging and announce that any Screenlet is welcome to be included in the individual Screenlets branch, therefore in PPA (and give instructions for that). We offer also a policy for modifications of Screenlets.

b) Then we should merge individual Screenlets branch with Universal Applets extras, since it contains variety of updated Screenlets easily modifiable to work with standard Screenlets package (I have done this modification already in my Stayin' Alive project).

c) After that I will add some of my own Screenlets I have created/updated (GoogleCalendar, Slideshow, Twitter, Notes, FreemeteoWeather) in the individual Screenlets branch and PPA. I will publish them also on Gnome-look.org, making a note that these Screenlets as well as all the official Screenlets are also available as Debian packages on the Screenlets PPA (and that individual Screenlets can be added there). I will put the apturl for my packages as well. This will get us some first feedback and users to test out the new PPA style packaging and help to start updating individual Screenlets.

d) Next, if we think that Screenlets core is "rock-solid" enough, we will publish it as well on Gnome-look.org and GTK-apps.org explicitly as an official new version of Screenlets. This will give a lot of users and lot of feedback for testing, maybe also helping hands to develop Screenlets.

Somewhere in this point would be to start to merge Screenlets with Universal Applets core, if that's possible.

Now, I don't know what will be the fate of the individual Screenlets as Debian packages. I mean I'm not sure if they can be added to Ubuntu repositories for the official release (in Natty Narwhal?), but I suppose that the "core" ones can be added without problems, am I right Julien? About rest of them, they will have to be downloaded from PPA. So probably we should create an easy way for users to add this PPA to their systems by just clicking a button in Screenlets Manager.

I'm not also really sure if there should be different PPAs for Screenlets core and individual Screenlets. If users want to have a "official Ubuntu version" of Screenlets core and still use the variety of individual Screenlet packages from PPA, this would be nice thing to have. But maybe it's too much customisation.

What we could also do, is to download all the available Screenlets from Gnome-look.org (and Screenlets.org) by means of a download script and create automatically Debian packages from all of them and add these to the PPA. I think this should be just a one-time import, but it's worth thinking about. If you prefer, these could be imported into a separate PPA.

Please, tell me how do you feel about this plan or propose something else. You see I have code burning in my hands, because I think I have a working and updated version of Screenlets and I want to publish it to the community. I'd really prefer that the Screenlets project won't split into some experimental branch and a main branch.

Sincerely "etc"
Guido Tabbernuk



Follow ups