Tuesday, August 17, 2010

Why Meego on N900 is the right and future-proof direction for the community

So, I think it's about time for me to really weigh in why it is I'm pushing MeeGo on N900 and why this is the right direction. This is probably going to be a bit long. Some people asked me to repost it on my blog as to not have it lost in the maelstrom of talk.maemo.org.

This is also probably my last long post on the matter as I'm now fully in a MeeGo role, no longer maemo.org distmaster.

The fact is that the model of 770 -> N800 -> N810 -> N900 has been that of one device per OS version. There hasn't been resources for keeping a full product team for multiple devices at a time.

This has caused what some describe as Rapid Obsolescence Syndrome, where the device OS rapidly goes into maintenance mode after device release while mostly everyone involved moves on to the next product/device. This obviously leaves users unhappy.

Now, there are multiple suggestions around maemo.org:

* Fremantle community SSU
* Petition for open sourcing most of Fremantle to keep it maintained
* Harmattan HE for N900
(etc)

And my main point in the following is that those directions will be like pissing your pants to keep yourself warm. Quick review:

Community SSU can work on the open source parts (it has happened on N8x0 just fine). Maybe you can find some ability together with Fremantle aficionados inside Nokia who could be interested in contributing with upgrades of some binary packages -
I doubt there's any problem if those exist to slip some packages out.

But the main point is: no upstream work will really happen. I highly doubt you can find enough people that are still around to keep things working. Even with documentation, the code can be quite hairy to add new features to. So that bends down to a resourcing problem.

Open sourcing most of Fremantle - I simply don't think it's going to happen. Too much work for too little benefit. And the same problems as with normal SSU when the code does arrive.

Harmattan HE. This would already be obsolete by the time we were done as a more modern platform would be available in MeeGo. As well as at some point, no more upstream development.

The main point - you'll piss your pants with these projects to keep yourself warm for a while, but you'll just keep on feeding the Rapid Obsolescence Syndrome to some extent - that you'll never be able to play catch-up to new technologies and satisfy the requirements of your users. It is a physical impossibility as there's many more man-hours poured into MeeGo than you can provide here.

MeeGo and Qt has changed the status quo that existed that:
* Any Linux-based OS platform from Nokia is tied to a certain device
* Any applications from Nokia is tied to a certain device by fact that they were released for a certain OS platform.

It's a game-changer because now, for any given 'Nokia' OS for these devices, this will after Harmattan be based off MeeGo (platform from MeeGo.com).

Now, what are we actually doing in MeeGo for N900?

First off - we're making the hardware adaptation for N900 maintainable.

This means that we are actively upstreaming N900 drivers to the mainline Linux kernel as well as getting those few blobs we have into the MeeGo non-oss repositories with redistributable license. This is actively happening.

Second, we're running QA daily to make sure that N900 still works with the current MeeGo platform state. This means we're always at the front of the platform development. MeeGo platform doesn't move forward if a change breaks N900 - it is a reference device

That's not pissing your pants to keep warm. That's making a bonfire and collecting wood to make us sustainably warm. And that's one of the reasons why I hope for more people to contribute to the MeeGo effort.

Now for the users. Look forward a bit - Nokia's obviously going to make a OS release based on 'real' MeeGo.com. The same code that'll power future handsets will be based on the same code that N900 already now supports. It's the same infrastructure that builds images and software that MeeGo for N900 is made using, as any given future Nokia OS. Instead of Nokia having applications tied to Fremantle or to Diablo or whatever, they now tie to MeeGo - the same platform you have on your N900.

If you want to make a real bonfire and eat your cake too, you will want to do the following:

* Contribute to MeeGo and MeeGo on N900 in the short term - this will improve matters for Nokia N900 obviously.
* Petition for Nokia early on, to consider providing the following things:
** Executive summary: access to the binaries making up the Nokia differentiation
** Weekly (or other interval) repository releases (binaries) available to Nokia N900 users of their future MeeGo.com-based OS under the usual 'this is not for end-users, bla bla'. Kinda like the old 'Sardine'
** Kickstart files for these weekly releases so you can edit them into your own images for the N900 using the Nokia bits.
** Community can be possibly be more involved in the QA process this way and contribute in general.
** If branding is a problem, have community themes and icons.
** Suggest new ways to have both a 'closed' vendor OS with all the goodies based on MeeGo.com while at same time having your power user community close to you.

Now, this is a way that can keep you ahead of the curve regarding your device. The N900 hardware isn't going obsolete for many years and is still very capable.

I think this might be possible to pull off, but it requires people to start gaining skills within MeeGo - and help contribute to MeeGo on N900. It's a similar approach to Harmattan HE, but more involved and more future proof. So I wouldn't say it's impossible.

So - it's your choice: Live in the future instead of the past.

I'll be working to make the future happen - see you on http://www.meego.com (and http://wiki.meego.com/ARM/N900 ).

13 comments:

  1. "actively upstreaming N900 drivers to the mainline Linux kernel"
    i must be dreaming! i hope nobody wakes me up :)

    ReplyDelete
  2. very well said =) I also do think that the meego platform is the future

    I'm soon jumping onto the bandwagon as I've just ordered a brand new N900.

    Atm I'm learning the basics of the meego touch framework and actively testing it on my archlinux install (I'm the "maintainer" of those related pkgbuilds).

    Looking forward to a bright future for my N900 =)
    We definately need Nokia to keep us updated with their own bits they've added (be it battery related drivers or software like ovi maps)

    ReplyDelete
  3. Thank you for all of your hard work on N900. I have not yet tried MeeGo but I look forward to it after I buy a MicroSD card. :)

    I'm highly pessimistic about everything involving N900 in general at this point, but I absolutely appreciate the effort you're putting forth to give us the choice and the opportunity to use MeeGo on our N900.

    As a Linux geek I am really pulling for the success of MeeGo as well. Having a real linux distro in my pocket with Maemo is wonderful and I don't think I could ever use a "phone OS" ever again. Just as I cannot imagine ever installing MS Windows on my computer.

    Thanks again.

    ReplyDelete
  4. The big issue that prevents me from jumping to MeeGo is current image can't meet daily use. It can't make phone call at this time. I am willing to develop for Maemo system because many people can use my app on their N900 without any difficulty. I think that my effort should be put on adding features to make people happy with existing daily OS but not spending time to make an OS from scratch to stable. The reason is that I am not that strong to struggle with so many kernel issues. If one day Meego is mature for a daily use, at least as Maemo PR 1.0, I am willing to write program for it.

    ReplyDelete
  5. qichao: you can dual-boot easily, when using flasher 'load' (-l) command, you won't destroy your normal maemo :)

    ReplyDelete
  6. I completely agree, MeeGo is the way forward. And instead of opposing, the Maemo community should unitet and try making MeeGo as flexible hacker mobile OS as Maemo is, try influencing Nokia, get support of he on the right track so that MeeGo serves best both the community and the corporate guys from Nokia and Intel. Maemo is great, but without the support of Nokia (which is coming to an end soon) it will decline. So let's make MeeGo a better Maemo. My 2 (euro:)) cents.

    ReplyDelete
  7. I see this was posted on the Mer blog, so I will ask, what happened to it?

    Wasn't it intended as the Community led distribution of the future, which also catered for the hildon and gtk compatibility that was required for many of the Maemo applications?

    Will Meego bring compatibility and capability to existing Maemo applications in the same way that Maemo has over the years allowed applications to evolve and be updated to the new API, or is this a scorched earth syndrome where everything has to be started from scratch throwing away the great community application effort?

    I see Meego right now as the one doing the pissing.

    Pissing on the hard work of the last 5 years that thousands of people have been involved with and created some of the best mobile applications on any platform.

    ReplyDelete
  8. "Your comment will be visible after approval."
    I doubt you will have the guts to accept that comment.
    shame.

    ReplyDelete
  9. "I completely agree, MeeGo is the way forward. And instead of opposing, the Maemo community should unitet and try making MeeGo as flexible hacker mobile OS as Maemo is, try influencing Nokia, get support of he on the right track so that MeeGo serves best both the community and the corporate guys from Nokia and Intel."
    Yeah, that might work... or not. The community tried to influence Nokia on simple problems as adding PAP support to TTLS networking (basic for University use over almost all Europe), and they got WONTFIXed.
    But don't listen to my words, read the blog entry once again:
    "The fact is that the model of 770 -> N800 -> N810 -> N900 has been that of one device per OS version. There hasn't been resources for keeping a full product team for multiple devices at a time."
    Which is, IMNSHO, blatantly _false_. There was a cellphone mentality which basically forgot about the device after it had run its course. Excuse me if I feel a bit sceptic about Meego being "the right and future-proof direction".
    The blog entry says: "This means that we are actively upstreaming N900 drivers to the mainline Linux kernel as well as getting those few blobs we have into the MeeGo non-oss repositories with redistributable license. This is actively happening."
    Now, upstreaming N900 drivers to the mainline Linux kernel is all good and well, but... that could have been done before (there were blobs before as there are now). Since N900 is a reference hardware, what can we expect for N8x0 and N700 users? I'm afraid we will get nothing: we did our part, acted as lab rats, thank you very much and don't let the door hit our backs when we go out.
    Sorry, but I have seen what Nokia can do "for" the community these years. Excuse me if I don't buy a Nxx0 until I get some real proof that they are changing their ways.

    ReplyDelete
  10. mrjam0: nah, it's just that I didn't receive notice of moderated comments waiting for evaluation. I get a lot of automated spam here, hence the moderation. Checked it first now, hence it's published.

    ReplyDelete
  11. mrjam0: In response to your comment, please read some of my other posts revolving around this exact issue. There's no point to having a mobile distro with similar goals to MeeGo over a matter of toolkit selection (netbook gtk/clutter and qt is already happily co-existing in MeeGo). I don't personally like GTK+ or GObject for that matter. There's people working on a Hildon desktop UX for MeeGo, which makes sense to some extent.

    There's nothing stopping anyone to adapt hildon and gtk and other APIs in Maemo API to MeeGo. Other than time. Such a work would have been needed with Harmattan anyway (significant architecture changes was discussed in MeeGo summit.)

    It was announced over a year ago that Qt would be the next thing and GTK+/Hildon would be community maintained. Now, the 'plans' had been on display for a long time and the ability to start making up ways to deal with the situation has been there for a long time. Even a proper budget had been put to GNOME Foundation to do something about the topic.

    What has happened? Nothing. I have personally ported Hildon to stock GTK+, which didn't arise much attention either.

    I can't say MeeGo is pissing on anyone when they're doing exactly what they're supposed to do: toolkit agnostic core that can run both GTK+ and Qt. That there doesn't seem to be interest enough from the app developers to do something about the problem, or even from upstream GNOME, then who's fault is it that applications don't work?

    Also, face it, we're not the 'best' mobile applications on any platform. Be realistic. There's cool ones but we don't have the 'perfect' selection.

    ReplyDelete
  12. baka: MeeGo is, in fact, a flexible hacker system. Keep in mind I'm speaking of MeeGo, not Harmattan.

    MeeGo is open source. For your specific problem, you can do the following: get a feature on the roadmap (easy if you want to say you'll do it and maintain it). You go and submit code to connman (open source) to get your support for PAP. I might be wrong, but I believe it's in the existing requirements.

    If you want to get something done in MeeGo: convince someone to do it that has resources to do it (hobbyist, yourself or a company). Nothing comes for free so there has to be someone convinced to take care of the feature for you (same as someone volunteering to do something in different projects).

    In terms of the N8x0's I've (also personally) worked on 2.6.35 kernel for N8x0 and published MeeGo ARMv5 images for N8x0 with Handset UX working. More work to be done, but I think it'll be in MeeGo 1.2 timeframe.

    ReplyDelete
  13. No matter what color you paint the turd, the fact remains that Nokia is NOT behind MeeGo on the N900.

    This is an insanely bad move by Nokia.

    The company could have built significant smartphone market share using the very advanced N900 if prospective customers were certain that the nascent MeeGo would be officially supported.

    Instead they made a formal announcement that the current product cannot be upgraded to MeeGo[1]. This announcement was an unforgivable repeat of the classical Osborne marketing mistake[2].

    The shareholders certainly understood the gravity of the mistake, Nokia stock plummeted[3] from $15 to $8.

    [1] http://bit.ly/aoYQW1
    [2] http://en.wikipedia.org/wiki/Osborne_effect
    [3] http://bit.ly/a1BCCN

    ReplyDelete