(Community Council: Respond to qgil)
(Roadmap for maemo platform)
Line 77: Line 77:
:''Maybe we need to start a separate wiki page with a proposal for this. This is not something we can do in a few lines here. But I would be very interested to work on this. --[[User:xfade|xfade]] 13:31, 2 June 2008 (UTC)''
:''Maybe we need to start a separate wiki page with a proposal for this. This is not something we can do in a few lines here. But I would be very interested to work on this. --[[User:xfade|xfade]] 13:31, 2 June 2008 (UTC)''
::''Agreed, will push to a "main" article. —[[User:generalantilles|generalantilles]] 16:09, 2 June 2008 (UTC)''
::''Agreed, will push to a "main" article. —[[User:generalantilles|generalantilles]] 16:09, 2 June 2008 (UTC)''
=== Roadmap for the maemo platform ===
* Get a clear public roadmap of what the plans are for the maemo platform for Fremantle. (Note: this doesn't mean a roadmap for ITOS20XX or disclosing new hardware features etc.) --[[User:xfade|xfade]] 12:57, 4 June 2008 (UTC)
* Give developers a clear list of what library versions are targetted for Fremantle. E.g. glib, gtk+, hildon. --[[User:xfade|xfade]] 12:57, 4 June 2008 (UTC)
* Weekly releases of updated SDK packages. SSU for SDK. So developers can start to develop for the new platform right away and not have to wait until the new SDK/OS version is released. This 'beta' SDK releases will help developers with application porting and compatibility checks. So they can release their software the day a new OS is released. --[[User:xfade|xfade]] 12:57, 4 June 2008 (UTC)
== Developer documentation ==
== Developer documentation ==

Revision as of 12:57, 4 June 2008

This page is meant to brainstorm the 100 Days Action Plan for maemo.org. Please remember that it's about the maemo.org community, not the Nokia Internet Tablets.

  • Please login before making any changes. Thank you.
  • Please keep things on-topic.
  • Hardware requests are entirely out-of-scope and will be removed by community members trying to keep this page focused and on-topic.
  • Software requests which would be trivial for a third party to provide — or are already on the roadmap — are out-of-scope and will be removed by community members trying to keep this page focused and on-topic.
  • Don't put things which aren't feasible in 3 months. For long term suggestions, consider adding them at maemo.org 2010.
  • Discussion of the 100 Days agenda should be held in the discussion page.


Community-led action plan process

The result of this brainstorm, once ideas start firming up in the sections below, should be:

  • A set of mediawiki templates for creating consistency in...
  • A page for each of the sections below (e.g. Increasing transparency) containing:
    • a detailed step-by-step plan for what will be delivered within 100 days
    • a list of community members committed to providing it (say 2-6?)
    • a community member as notional leader, responsible for overall delivery of that stream
    • sign-off by qgil as community manager that he views it as constructive

Then, once the brainstorm has completed:

  1. Every 20 days, there should be:
    1. a status report wiki document coalescing all the streams' progress
    2. an IRC meeting of the stream leaders/qgil/anyone else to co-ordinate overall progress.

It would then be up to each mini-team to communicate and flesh-out their commitment within the first period, and then deliver it over the remaining period.

Get the server and bandwidth infrastructure up to speed

Although things have improved some (particularly after the OS2008 release), they don't seem to be keeping up well with the ever increasing numbers of tablet users, and downtime or slowness from the critical services offered by maemo.org is unacceptable.

  • Mirror repository.maemo.org to ensure good uptime and fast response.
  • Mirror tablets-dev.nokia.com to ensure good uptime and fast response.
  • Improve the hardware and bandwidth availability behind *.maemo.org to ensure good uptime and fast response—maemo.org is too slow!
This work is ongoing and the results should be noticed way before the end of the 100 Days.--qgil 06:24, 2 June 2008 (UTC)

Increasing transparency

Main article: Increasing transparency

Openness is a significant part of what makes maemo so strong, putting together a plan for addressing closed-source components, particularly those directly controlled by Nokia (e.g. low-level stuff like mce and dsme, and user-space stuff like tablet-browser and the task/statusbar applets), would be both a good way to work towards making things that (the community believes, and that Nokia will be convinced of ;)) should be open open and, more generally, addressing the community's concerns over openness in general, particularly the "Why?" of it.

Software distribution

The website

  • Implement some sort of automated single-click push-to-Downloads for Garage projects.
Interesting idea. What about the feasibility? Niels? Ferenc? In any case integrating Garage with Downloads make a lot of sense, and the question is whether this would fit in the 100 Days or later.--qgil 06:59, 2 June 2008 (UTC)
I think we need to prevent (the need for) single file download as much as possible, but rather provide a way of uploading those packages into the extras repository directly from garage. This way people can also download the applications from the Application Manager. --xfade 13:20, 2 June 2008 (UTC)
More generally speaking, maybe something like single-click (or two, or three, or a dozen, but you get the picture) project management from Garage for everything? —generalantilles 16:09, 2 June 2008 (UTC)"

Internet Tablet Talk Syndication

  • Provide an automatic way to syndicate applications to the Internet Tablet Talk Software Section (itTSS).
  • Each application (version) that is syndicated on Internet Tablet Talk, starts a new thread in the forums so end-users get notified of new apps as well as provide a way to give feedback to the developers. Developers themselves can also join in the discussion. This, hopefully, will help to better the quality of applications.
What would be the point of most the garage facilities then? I am not convinced that developers will all go looking at ITT for feedback (some projects work like that, but most rely on mailing lists and irc for example). If there was to a ITT thread for user feedback then maybe add to it a big fat 'report a bug on package x' or 'contact developers of package x'. --trickie 12:17, 1 June 2008 (UTC)
I second that. Forums are not suitable for regular development, and taking the discussion away from the tracker facilities is a bad thing - the people will keep reporting bugs on the forums rather than filling a report. Besides, lots of developers don't read forums, they are counter-productive and take a lot of time. Users or developers can start threads for their apps on their own, but I see no reason to make this obligatory. --zap 14:45, 3 June 2008 (UTC)
  • Provide a way for developers to easily add a bug at the application's Garage page for confirmed bugs reported in the discussion thread.
We have agreed with ITt on the general idea. It's something urgent and it would be definitely good to see it in the 100 Days. The specific plan to be discussed in an open page, either here or in ITt or both. In any case, it's clear that the feature is "syndication". Then ITt or whoever can benefit from that, and are the developers of each piece of software that decide if they want to direct the user feedback to ITt, their garage project, the project website, etc.--qgil 06:59, 2 June 2008 (UTC)
A solution could be to add a bugtracker field to the entry in the application catalog. This could then point to the developer's own bugtracker, the maemo bugtracker or a thread at ITt. This could be done on a short term and be a temporary solution until we implement a global bugtracker. --xfade 13:23, 2 June 2008 (UTC)

maemo "Application Store"

  • Actively hunt on the Net for maemo apps not yet added to Maemo Extras, talk to developers, ask and help them to commit applications to Maemo Extras. This especially applies to app porters currently active at iTT.
  • Use gronmayer's scripts to create a web site that merges applications from all known repositories into a single list and lets you browse them with MicroB using HTML UI similar to N-Gage, Apple Store, etc. While it sounds ambitious, it is not difficult to do, as we always have app descriptions and icons (form .deb files) and we also have screenshots for apps hosted at Garage. Reformatting this data in a format that can be nicely presented in tablet browser is not difficult.
  • Effectively replace "itTSS" with this website.
  • Actively convince maintainers of other repositories to join the maemo extras repository. This would save some headache from offline and broken repositories.
  • Make sure that all applications which are actually available in the repositories can be found in the Maemo.org downloads section.
From a Nokia point of view the interest is to have a single repository for distributing third party applications. External repositories should be an exception targeting very specific needs and users. Nokia is not interested in blurring the boundaries between a community supported extras repository and the repo someone has setup somewhere.--qgil 06:59, 2 June 2008 (UTC)
While it is obviously better to have a single repository, both for users and for Nokia, realistically it is not going to happen soon. So, there is still a place for a repo aggregator like Gronmayer to exist. Additionally, creating an AppInstaller-like AJAX web site for Gronmayer specifically targeted for displaying in MicroB will let you test different AppInstaller designs before implementing them in a real application and pushing them to the users. It is really easy to change a piece of PHP code but changing a native app and updating everybody's tablets with it is more dofficult. fms
If you want to have any specific action around the Gronmayer aggregator & tools, that's totally fine. Go ahead. I'm just saying that Nokia prefers to invest its time and resources fixing the root of the problem, even if it will take longer than 100 Days.--qgil 07:59, 2 June 2008 (UTC)
I really like the idea. It should be merged with the Download section of Maemo.org. There should be an "Add your application" button that will open a new page where to enter all the informations regarding the new Application (the 'main page'). The submission of this new Application should automatically create: a) a garage project for the Application b) a discussion thread on the ITT forum for this Application's first release c) a Download page in Maemo.org will be created as well. This set of web tools should follow the Application during its lifetime. As long as the developer tags the application as Alpha or Beta, it should only appear in the Maemo Extras-devel repository. When the developer tags it as Stable it should be moved to the Maemo Extras repository. For each new release the developer should decide if to open a new discussion thread for that specific release or not (on the ITT forum). The first post on the ITT forum thread should also provide a set of links at least for 'reporting bugs' (and should, obviously, point to the garage's bugzilla page for that project). This link to bugzilla should also appear on the Application 'main page'. We have ONE Application, there should be a little more than ONE place on the web for it and for its resources--anidel 12:12, 3 June 2008 (UTC)

The repositories

  • Again, because this can't be stressed enough, get the infrastructure behind the repositories up to speed—we need servers, we need bandwidth and we need mirrors.
This is already being worked on at the moment and we hope to have results soon. --xfade 13:31, 2 June 2008 (UTC)
  • Address the issues with current Extras acceptance and put together a plan for streamlining the acceptance system for Extras(-devel), (not necessarily easier or less stringent, but more straightforward and clear).
    • Clearly document the steps required to gain entry. Some sort of "maemo Software Distribution Guide" (I know we already have something like this up, but make it prominent and bring it up to speed on everything) that the community (and maemo.org) can point developers to is important.
Please try to point out what is not clear or what is confusing. I am trying to get a clear image of the problem, so I can fix this. --xfade 13:31, 2 June 2008 (UTC)
Right-o, getting better now? :D —generalantilles 16:09, 2 June 2008 (UTC)
  • Lay out the groundwork for a peer-review system for Extras acceptance (or devel to Extras promotion) to help ensure good quality assurance on its packages.
Maybe we need to start a separate wiki page with a proposal for this. This is not something we can do in a few lines here. But I would be very interested to work on this. --xfade 13:31, 2 June 2008 (UTC)
Agreed, will push to a "main" article. —generalantilles 16:09, 2 June 2008 (UTC)

Roadmap for the maemo platform

  • Get a clear public roadmap of what the plans are for the maemo platform for Fremantle. (Note: this doesn't mean a roadmap for ITOS20XX or disclosing new hardware features etc.) --xfade 12:57, 4 June 2008 (UTC)
  • Give developers a clear list of what library versions are targetted for Fremantle. E.g. glib, gtk+, hildon. --xfade 12:57, 4 June 2008 (UTC)
  • Weekly releases of updated SDK packages. SSU for SDK. So developers can start to develop for the new platform right away and not have to wait until the new SDK/OS version is released. This 'beta' SDK releases will help developers with application porting and compatibility checks. So they can release their software the day a new OS is released. --xfade 12:57, 4 June 2008 (UTC)

Developer documentation

Clean out the cobwebs, remove the cruft

  • Get what's still useful and mostly relevant completely up to speed for maemo 4.x.
  • Archive the outdated information away from the maemo 4.x stuff.
  • Mark the outdated stuff clearly.
Agreed. What about a new wiki page listing what is really essential and should be put upfront? One approach could be to have the essential bits well written and presented in static-ish CMS pages and stable PDFs and then move all the rest to this wiki ecosystem. As soon as new wiki content gets really good we could productize it and promote it.--qgil 07:34, 2 June 2008 (UTC)
Don't create new wiki pages. The more pages you create, the more difficult it becomes to find and navigate stuff. Delete unused wiki pages instead. For documentation, you only need to have 1 (one) wiki page with a list of all references, how-tos, and tutorials that apply to the current OS (4.x). If a document does not 100% apply but is still useful, mark it as "partly deprecated". Create the same kind of pages for older OSes and link to them from the top of 4.x page, but make links small because this stuff is outdated and less important. fms 16:16, 2 June 2008 (UTC)
I meant a new wiki page just for working purposes, like the other ones being created to work on the 100 days objectives". In this working-wiki-page we would propose and agree on the very essential pages and diocs that need to be promoted and stand alone, while all the rest would be moved wither to really secondary pages (i.e. "Disclaimers") or wiki pages easy to be edited and improved.--qgil 08:57, 4 June 2008 (UTC)

Get organized

  • Put together an easy-to-navigate, sensible index for the documentation content.
    • Place references/howtos/tutorials onto one page so that developer does not need to click through several menus.
  • Improve the search (google?).
The plan is to have all the official HowTos and docs under a well structured Maemo Reference Guide. Deadline: Diablo release. This reference guide would sit between the Quickstart Guide and the Training Materials. There were some fixes in the search and should be working much better now.--qgil 07:34, 2 June 2008 (UTC)
The website search has already been improved, will add this wiki to the search too. --xfade 13:37, 2 June 2008 (UTC)

Get focused

  • Add porting FAQ wiki page detailing common problems developers will run into (i.e. application is killed 3 seconds after launch) and how to deal with them. Provide examples of typical GTK/Motif/etc. application changes needed to properly Hildonize the application. List ways to deal with porting of toolkit-specific functionality whether it be internationalization or mouse/keyboard input.
  • Make it possible for logged-in developers to annotate any place in the documentation. Link to annotations from documentation.
  • Provide an example of simple build environment *not* relying on AutoConf and its friends. A single includable makefile should suffice, when used with SB2.
  • Clearly *say* in the SB readme that it is not possible to debug every application on the desktop, show how to test applications on the target device using SSH/SCP or some other means.
  • Clearly define what changes is made by default on gtk : like GtkTreeView with hidden header columns by default, or image-button off ...
The idea is to have the sources of the official documentation here in this wiki. Users could add comments in the discussion pages, perhaps some users could get edit rights too. To be decided. The Nokia teams would updated their part of the documentation here and then all would be revised and conveniently package in PDF when a new stable release comes. So yes, we can put this in the 100 Days and then let's see how far we go in this timeframe.--qgil 07:34, 2 June 2008 (UTC)

Look towards the future

  • Define types of applications that will be useful on the Internet Tablet
  • Stress the fact that the Internet Tablet is not a PC and apps should be created/ported with the tablet form in mind. Don't just do a direct port of an existing app. Aim for quality and Internet Tablet usability.
  • Focused discussion/guide on User Interface so apps will have a consistent look as well as provide a similar way to interface with the user
  • Maybe provide a few simple stylesheets and JavaScript libs for creating quick iPhone-like web apps running in MicroB. This should be very light, very easy to use, and targeted to casual users.
Good ideas, they can be pushed by Nokia and the community. The point about Javascript libs is imho more of a 2010 Agenda thing, though. I don't mean we wouldn't have anything before 2010, but 100 Days is just too tight. Besides, the work to be done goes beyond maemo.org.--qgil 07:34, 2 June 2008 (UTC)


Main article: Improving maemo.org

maemo.org needs improvements in usability, content, format and style.


  • Develop a recommended usage policy for garage.maemo projects, taking into account turning off GForge modules not needed (perhaps defaulting in a subset rather than all, for new projects). Further discussions on whether non-core bugs should be in central Bugzilla and garage trackers merged/closed.
  • Close misnamed (and now misused) maemo2midgard-discuss mailing list and create maemo-web alongside existing mailing lists for overall discussions about maemo.org sites.
Both points agreed.--qgil 07:45, 2 June 2008 (UTC)
  • Today we have too many channels (ITT, maemo.org...). Maybe have some more focus like: maemo.org for developers and ITT for end users and something that links them so software releases can be announced automatically on ITT and users from ITT can easily post bugs on garage bugzilla for example.
Perhaps develop a plan, but this isn't specific enough to achieve in 3 months, IMHO --jaffa 22:10, 29 May 2008 (UTC)
I'm not convinced that two channels is too many, either. —generalantilles 20:04, 31 May 2008 (UTC)
  • It's unclear where to report problems about packages found in the application catalog. A single bug tracker is needed, or at least a catalog that would redirect the user to the appropriate tracker from a common start page. Or we could set up a "maemo" distribution on launchpad.net, which would let us integrate with the bug trackers of individual packages.
Nokia is open to discuss any possibility of integration of maemo.org with third parties i.e. ITt and also using any external service i.e. launchpad.net. We can commit to overall plans for the 100 Days exercise but not on execution. Having a better and common understabnding of how this steps would fall in the 2010 Agenda would definitely help to see what are the right first steps.--qgil 07:45, 2 June 2008 (UTC)

What the community needs to do

  • Put together a plan of action for moving forward with a community-maintained Hacker Edition (based on what Quim said here)
Having a specific proposal agreed by the community would definitely help.--qgil 07:50, 2 June 2008 (UTC)
  • Put the pressure on developers:
    • Encourage developers not using a repository to package their applications and push them to Extras(-devel), and get developers with 3rd-party repositories to close them down and push their stuff into Extras(-devel).
    • Encourage developers to follow proper packaging guidelines (based on the draft here).
    • Encourage developers launching applications on Downloads to include as much information about the application as possible (screenshots, good descriptions, good changelogs).
The aim is good and we support these ideas. It would be good to define the specific actions to be done in these 100 Days, though.--qgil 07:50, 2 June 2008 (UTC)

Update developer libraries

  • gcc-4.x, glib, powervr, it's important to give developers much more time to play with newer tools than short before a major upgrade takes place (of course with disclaimer that nothing is guaranteed to be shipped in a certain way)
  • Update the vmware appliance with sb2 and python2.5 setted. And more publicity on the vmware appliance, as there is already one on garage, but many don't know it.
This is out of scope in this maemo.org exercise. About giving more publicity to https://garage.maemo.org/projects/maemo-sdk/ and http://maemo-sdk.garage.maemo.org/ - it's currently an alpha and the developers don't feel like advertising it much more. But anybody can follow the Garage project and, well, nobody is stopping you from advertise it more.  :) --qgil 07:53, 2 June 2008 (UTC)
Alpha status doesn't mean that it is unusable, I use this VM regularly and it works very well. I really think this one should be promoted on maemo.org. --xfade 13:55, 2 June 2008 (UTC)
Official x86_64 support will be great or at least i386 on top of x86_64. Other distributions too - some of them only need an alien. bundyo 20:47, 2 June 2008 (UTC)

Community Council

qgil is responsible for managing the maemo community on behalf of Nokia. But who is the community? Getting consensus of hundreds of disparate people through mailing lists and wiki-edits means the person who shouts loudest wins.

Therefore - inspired by Debian's Project Leader concept - during the next 100Days, a process for electing a triumverate (i.e. 3 person) "Community Council" should be created and elections held.

Mmm... It is probably benefitial for the maemo community and for the dialog with Nokia to have some structure. We are doing effective steps towards this: some people get admin rights, some people might become QA evaluators in the extras repositories, some people receive are more visible and push for certain things in a structured way... However, also with my community shirt I think that 10 days of brainstorm is not enough to define a proposal, and probably 100 days are not enough to implement it either. So, what about 100 Days for the community to discuss and agree on the way to be formally structured?--qgil 08:54, 4 June 2008 (UTC)
Possibly true - however I'd want to avoid us getting into too long talking about a process which can be enhanced/refined at a later date, and get some of the structure in-place sooner. Perfectly happy to go with the consensus on this (since it's necessary for it to work ;-)) --jaffa 10:39, 4 June 2008 (UTC)

Roles of the council

  • Monthly IRC meeting with qgil. Open to all, but moderated so only the three council members and Quim can talk.
  • Distill maemo community issues, from maemo-* mailing lists, ITT, etc. and raise with Nokia.
  • Understand, and help explain, Nokia's decisions and processes to the rest of the community.
  • Advocate maemo, and involvement in its community, to end-users.
  • Help manage community involvement, for example Maemowiki Action Group, 100Days and 2010 Agenda.

For example, if it already existed, the Council would take responsibility for defining the outcome of the brainstorm, i.e. the format and structure of the individual streams' plans.


The full process would be defined during the first 30 days, however here's an outline:

  • Council positions open to anyone with karma above a certain threshold - say, 150.
  • Community votes open to anyone with karma above another threshold - say, 75.
  • One member, one vote.
  • 3 nominees with highest number of votes elected.
  • The chairperson will be the nominee with the highest number of votes.
  • Elections held every 6 months.
  • Nominations accepted 2 weeks before election.
  • Votes tallied after 1 week of elections.