Talk:Task:100Days

Contents

Scope of the 100 Days

Hi, just a comment: anything inside maemo.org-the-webiste fits inside the range of things that the community, the maemo.org team and myself as Nokia contact can push forward without much discussion and interference if we all agree on the appropriatness and feasibility.

Anything related to software in the platform itself (as opposed to the server infrastructure), has many other stakeholders and dependencies and therefore fall out of the scope of the maemo.org planning exercise. If you want to compile these ideas and proposals fine, but it would be really useful to keep in this page the scope on purely maemo.org, its content, processes, servers, tools... and the people collaborating around it.

More or less the same principle applies to the 2010 Agenda but in that case the discussion is more strategy and some software platform related topics might be more on topic.--qgil 13:29, 30 May 2008 (UTC)

A few suggestions for developers

A few more suggestions for developers - the bottom rungs of the ladder.

1. Validate and verify the tools installation for the current shipping version, particularly the HOWTO. I follow the instructions but nothing builds. At least until I do an apt-get dist-upgrade, update, upgrade or something similar, then apt-get the -dev versions of a half dozen things, none of which is mentioned. Which brings me to:

2. Insure the hello-world will actually build on a system cleanly installed following the exact instructions from step 1. (I had to edit things in mine) and form a deb which will work on a tablet - both install and remove. Also split out stand-alone versions to use as templates (I can't get a statusbar only version to come up as everything seems to be interdependent). Maemopad is a great write template, but a paint template (slightly more than trivial graphic demo) would be nice.

Hildon is not something I've dealt with, and has its own quirks along with GTK. They aren't bad, but I could spend a week just learning the ins and outs. But there aren't very many examples I can just change the icons and add in a chunk of code to do a simple task as a starting point, at least not without doing a lot of searching (e.g. some statusbar clocks are stand-alone).

3. Simplify the autogen/automake/autoconf stuff. Most of this will only be run under fixed releases, so the checking for some specific version of 20 libraries is redundant, and makes the build horribly complicated. Either in scratchbox things are there or not (and see #1 above if they are not! I also have to keep doing apt-gets since I need -dev of everything and often don't have them). Do I really need libtool for a trivial statusbar app?

Autoconf is actually quite important for code portability, not only across maemo releases (1.0, 1.1, mistral, scirocco, bora, chinook, diablo and so on) but also (and more importantly) across platforms. There is a lot of cross-pollination happening right now, and that's a very good thing IMHO. It will make your life much easier when you decide to port your application to (for example) Ubuntu Mobile, Openmoko or "desktop" GNOME, and it also makes porting stuff from other platforms to maemo simpler.
Having said that, it is a bit of a learning curve, but perhaps what's needed is more entry-level documentation/tutorials (chapter 5 is a very good start at that) and tools to simplify bootstrapping (like the anjuta plugin).

The goal is that anyone should be able to do a working deb for a trivial off-the-cuff application or status bar, home, or control panel applet in 5 minutes by doing a global substitute (or perhaps changing a few lines of the form: #define APPNAME HILDON_HELLO_WORLD, #define AppName HildonHelloWorld, #define appname hildon_hello_world, etc.) and adding a few lines of code and scaled icons.

And for "garage", there should be one centralized repository, so there would be a "garage" parallel to "extras" with all betas and releases not higher up in the chain. Right now I've got dozens of archives and sources, so when I do a restore it becomes a nightmare getting all the applications back and it makes application manager slower having to go through dozens of archives. It doesn't help having a "garage page" if it is not much better than hosting offsite. But then for all these add-ons I could just do apt-get source and/or apt-get install. Maybe this is what "extras" is for, but it seems to never work or have anything. —Preceding unsigned comment added by 70.209.165.167 19:32, 29 May 2008 (UTC)

Mostly Technical Suggestions

Development

1. Place references / howtos / tutorials onto one page so that developer does not need to click through several menus.

2. Move outdated documentation away, but move older documentation that has not been updated for 4.x up, with a note "not fully applicable for 4.x".

3. Make it possible for logged-in developers to annotate any place in the documentation. Link to annotations from documentation.

4. Switch to SB2. SB1 is difficult to install and stays insulated from the rest of developer's system, making development complicated.

5. Provide an example of simple build environment *not* relying on AutoConf and its friends. A single includable makefile should suffice, when used with SB2.

6. 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.

7. 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.

Discussion Forums

1. Fix iTT's style sheets so that they work well on MicroB! It is a joke that a site dedicated to internet tablets cannot be effectively viewed with an internet tablet.

Just stylesheets may not be enough - the real problem lies elsewhere: run a Firebug Net test and look at the results - seems like right now the front page is 700k, delivered by 67 requests. Some things take seconds to load, some javascripts are with php extension, thus not using cache, taking precious bandwidth and seconds to load, I'm not sure I see the reason for that. Things that can be done to get it faster - javascript libraries can be compressed with YUI compressor for instance and not served with php so they can cache properly, replace youtube videos with handy links for mytube just for ITs, combine stylesheets and javascripts together, reducing requests, use fewer PNGs with alpha, if any - Cairo probably will have a good deal of trouble displaying them on an IT. bundyo 20:44, 30 May 2008 (UTC)
Umgh... I did notice the stylesheet but did not know it was that bad. My suggestion would be to simplify the page rather than use compressor, etc. There is absolutely no reason for this page to be this complicated and take 700kB. It is not doing anything special, just presenting a few views to the reader. Really hope Reggie sees the light at some point and changes his setup. —Preceding unsigned comment added by fms 17:19, 30 May 2008 (UTC)
Though definitely something that needs doing, it's a bit out of scope for maemo.org. ;) Somebody want to run through the areas where Reggie could optimized and open a thread in the Comment/Suggest forum over there? —generalantilles 21:22, 30 May 2008 (UTC)

2. Integrate iTT with Maemo.org karma system.

See bug #2303 and bug #2304generalantilles 00:25, 1 June 2008 (UTC)

Software Distribution

1. 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.

2. 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.

3. Effectively replace "iTT Software Section" with #2 from this list.

About 2 and 3 - I thought we all agreed on that here: http://www.internettablettalk.com/forums/showthread.php?t=20261, just compiling a single list won't solve the dependency hell. bundyo 19:04, 30 May 2008 (UTC)
It will not but then it is not the goal of 2. The goal is to supplement the current half-baked Application Installer app with a quickly modifiable online interface for searching and selecting applications. This will help users to find more applications and in the same time it will help developers to figure out just how exactly application installer should work. Instead of waiting for the next OS release, it is really easy to modify the web interface and see which modification is better. Later, the real App Installer can be designed to have the same or similar interface.
I can see what your idea is, but i don't think the user will be happy when his/her NIT falls into a reboot loop due to some library replacement. Not good for official, but maybe will be good for the developers to see what is already ported and not doing it again. bundyo 20:49, 30 May 2008 (UTC)
Situation where a library used by some other application is being upgraded can be checked and reported to the user, as a warning. And no, of course I do not suggest that this system is associated with Nokia in any way: Nokia can't be held responsible for all the repositories out there.
Well, then it should be discussed as kind of an upgrade to Gronmayer's site, maybe with him? bundyo 21:35, 30 May 2008 (UTC)
Definitely: after all, he has all the code already. Replicating it is extra work. As to the UI, I have got a mock up already, if anybody is interested (http://fms.komkon.org/Maemo/). fms

Growing the community through better information for newcomers

  • Currently, maemo.org structure is less than favourable for newcomers to get familiar on what maemo software and maemo.org is. If we want to grow the community we need to provide better introduction to the community and the software assets. Hence, the content of the Intro section should be refreshed and restructured.
  • To create more clarity, I would suggest to remove the "Tips for tablet users" because the link to OS2008 web page is already on the home page. I would furthermore move the "Roadmap" page to the "development" section. The gallery page should be moved to "downloads" and someone should clean up the gallery to contain only relevant content. The presentation section is to some degree outdated and should also be cleaned up. The "White Paper" page should be really give a quick overview of what maemo software is. The "trademark" and "licenses" pages should be moved to "Terms of Use". And the "Links" should be moved to "Development".
  • After all these changes, our intro section should include "Who is the maemo community?, What is the maemo platform? The maemo software architecture, How does maemo.org work? Quick start guide to develop on maemo software, and presentations" --peterschneider 10:02, 30 May 2008 (UTC)

Smoothing the introduction of new users to maemo.org

  • The development section should be organized in a simple, clear and centralized way to beginners. The following information is important and should be presented to the newcomers immediately they enter the development section.
  1. Simple steps of getting started should be presented in a clear and definite way ,on a conspicuous area with color. for example:
    1. Sign up a maemo account (link to register page)
    2. Download and set up development environment.(link to detailed method page)
    3. Create hello world application, Package and Test(link to several typical and simple examples,and useful links to advanced docs should be included)
    4. Collaboration on maemo.org and Launch app on the download section (link to pages including usage of project homepage)
  2. Key features of maemo platform should be presented on the section page explicitly.
    1. Free to develop and launch applications.
    2. Powerful enough to create advanced applications.
    3. Flexibility in programming (Gtk+/C,Python,Qt and etc)
    4. Easy to port existing application.
  3. Wiki on frequent technical problems in programming(the how-tos part),and entry to developer's disscusion board(link to ITT's or a new one) to help newcomers to find solutions to difficulty and ask for help.
  4. All docs in a catalog with good classification for look up.
  5. Maemo's roadmap and history, technical news and announcement about maemo.
  6. Maemo app gallery and entry to experienced and recently active developers' tech blogs.

Style and accessibility of maemo.org

There are some consistency problems with the clarity of the maemo.org web sites. Although some are simply visual clutter, and not critical, some definitely obscure important links; a notable example is the complete list of applications. It appears to be simply a heading, as it matches the color and font of all the other headings.

garage.maemo.org does not seem to have this problem, all links are underlined, and the traditionally expected color for links.

References regarding link accessibility are easily found (a google search for "underlined link usability" brings back a great deal of useful links). Here are a handful.

  • Excellent accessible link overview by Jakob Nielsen
  • Nice writeup regarding user expectations when reading links
  • A US Government site on accessibility. Note that they suggest avoiding "non traditional colors for links" although this is never really strictly held to in most web sites. Colors should always mean the same things, however.
  • Another nice article summarizing the best use of links. The article also references many other similar articles.

Hover effects can be useful and attractive, but with a stylus-oriented browser, you cannot practically hover the cursor at all.

We all want a pleasant, modern and attractive web site on both tablet and desktop. A nice solution is to make a light-colored underline that darkens as you hover. This is easily done, and supported across all modern browsers:

a,a:link,a:visited { text-decoration:none; border-bottom: 1px solid grey; color: red;} a:hover,a:active { border-bottom: 1px solid red;}

Here visited links are not differentiated from unvisited links. It is recommended to do so, but uncommon; I suspect users wouldn't notice. --boxofsnoo 02:42, 1 June 2008 (UTC)