Planet Nomovok

May 16, 2012

Timo JyrinkiTampere Ubuntu 12.04 LTS release party in pictures

A couple of photos from the Ubuntu release fest in Tampere yesterday.

People gathering up before presentations

Tieto's Markus Mannio

Again, continuing on how Ubuntu is used at Tieto

A cut to the end of presentations, Trine 2 game licenses from Frozenbyte being raffled. A great game available on Linux.

Tablets running KDE Plasma, and Ubuntu for Android being demoed.

Someone else probably has photos of my generic Ubuntu 12.04 LTS presentation (what's new, what's next), and likewise for the other presentations (Ubuntu for Android, uTouch) held. Those will be available as slides and videos later on, although do note the whole event was in the crypto-language called Finnish.

Thanks to the organizers, sponsors and everyone I met, it was a great event with nice little dinner and wine served at the end!

May 07, 2012

Timo JyrinkiUbuzen in the Bay Area

Enough said.


You can reach me most probably at the UDS on the Oakland side, and most directly via IRC if you don't see me.

Edit: Launch!

March 27, 2012

Timo JyrinkiOn brands, marketing and technical details

I have a few thoughts based on the yet another round of debate where marketing clashes with free software advocation and technical details. Nothing new in the debate itself, but I'm adding a couple of insights.

Marketing is not highly respected by many technical people, and neither by the people wanting more advocating than the messing up with facts and feelings that the marketing does. I'm all for advocating free software, but it's currently not something you can use for marketing to win big markets. If we advance to a world where free software is as wanted as the green values today are, it can be used in marketing as well similar to all the ecological (according to the market department at least) products today, but alas the benefits of free software are not yet as universally known. Since it doesn't say much that touches the masses, advocating has a negative marketing effect since it takes space away from the potentially "hitting" marketing moves, in those cases where you target the big masses in the first place. "Open" this and that has some marketing power in it nowadays, but it's a mess of different meanings that probably doesn't advance libre software freedoms as such. Wikipedia has probably been the biggest contributor to advancing general knowledge of software and culture libre. Disclaimer: I'm not a proper marketing person, some more professional might have better insights in this area. If I'd be a proper marketing person, I'd decorate this blog post with fancy pictures so that more people would actually read it.

Some of the marketing can be done without sacrificing any of the advocation. The fabulous Fedora campaigns, graphics, slogans and materials are a great example of those and do an important job, even though Fedora isn't reaching the big masses with it (and Fedora isn't targeted for OEMs to ship to millions either). But they do hopefully reach a lot of level people on the grassroots level. I hope as a Debian Developer that more people valuing the freedoms of free software would help also Debian as a project to reach more of its advocation potential and developers from the more proprietary world. But I'm happy that at least some free software projects have nowadays true graphical and marketing talent. Even though not as widely known, freedoms of the software users including for example privacy aspects are a potential good marketing tool toward a portion of the developer pool.

Let's not forget that Android conquered the mobile market without using the brand power of Linux. The 30+ million people who know Linux a bit deeper than just "I've heard it" already run a Linux distribution like Ubuntu, but we need hotter brands than a project name of a kernel to reach the bigger masses. Call it Ubuntu, Fedora, or something, but no matter do what it needs to ship it to millions. AFAIK mostly Ubuntu and SUSE are shipping currently via desktop/notebook OEMs, and more Ubuntu than SUSE. Others aren't concentrating on the market, which is a very difficult one. Ubuntu is doing a lot more mass population advocating for free software than Android has ever done. Note for example the time any user tries to play a video for the first time in a non-free format - Ubuntu will tell the user about the problems related to those formats and asking a permission to install a free software player for those (or buy licensed codecs), and the Ubuntu Help texts describe a lot of details about restricted formats, DRM et cetera. Not to mention what happens if the person actually wanders into the community, discovering Debian, other free software projects, free software licenses and so on. Meanwhile Android users never notice anything being wrong while watching H.264 videos or watching DRM Flash videos. Granted, like Boot2Gecko debate shows, it may be a partially similar situation on shipping desktop Linux variants as well, in order to actually ship them via partners.

Anyway, the best example of brands is MeeGo. Even the LWN editor does not get into dissecting the meaning of MeeGo on Nokia N9, because "there has been no real agreement on that in the past", but just uses the brand name as is. That is  the power of brands. Technical people debate that it's not really MeeGo, it's maemo GNU/Linux with a special permission from Linux Foundation to use the MeeGo brand name, and then counter-argument with that the MeeGo is an API and maemo matches the MeeGo 1.2 API which is actually just Qt 4.7 API. And actually, as proven by the LWN example, it's not even "technical people". For most of technical people Nokia N9 is MeeGo as well. Only the people who have actually worked on it plus the couple of other people migrated from maemo and MeeGo.com communities to Mer project understand the legacy, history and the complete difference between the Maemo Harmattan platform and what MeeGo.com was. Yet at the same time like all GNU/FreeDesktop.org/Linux distributions, they are 95% same code, just all the infrastructure and packaging and polishing and history is different.

For 99.9% of people who know what MeeGo is, MeeGo is the cool Nokia smartphone, one of its kind and not sold in some of the major western markets, and/or the colorful sweet characters of meego.com shown at one time on a couple of netbooks. That is the brand, and the technical details do not matter even to the technical people unless they actually get into working on the projects directly.

To most people, the Linux brand is a mess of a lot of things, while other brands have the possibility at least to have a more differentiating and unique appearance.

March 20, 2012

Kaj GrönholmSmoke The Bugs!

Smoke the Bugs is now available to download from Nokia Store for Harmattan N9 and for Anna/Belle. No bugs (except software bugs!) were harmed while developing the game, but to know whether this virtual bug smoking is suitable for you, check this video of game play on N9:



As explained here earlier, this was partly an expedition on making a game with pure QML + JavaScript + shader effects. Plan was to make it totally without C++ (excluding the launcher which Qt SDK generates automatically) and to see what the outcome would be.

So summing up some random development notes here:

  • Harmattan version of the game utilizes Qt-components for portrait main window and for disabling swipe while playing. Symbian version does not use Qt-components as pure QML was enough.

  • It's good to use Loader for separating rest of the UI from initial "splash screen" for faster startup. Another option on Harmattan would be to show static splash screen image with invoker.

  • In this game, loaders are also used for help and high score views. As these are not often used, it is better to save memory and only load them when needed. Loading is fast enough not to cause notable delay.

  • ShaderEffectItem is available on Harmattan, Belle and Anna+Qt 4.7.4, so it's possible to target quite a many devices. Exception is Nokia 500 which is lacking GPU for OpenGL.

  • With Symbian, setting QGLWidget for viewport is required to be able to use ShaderEffectItem. On Harmattan this is not needed as the default graphics system is already set to use OpenGL.

  • When application is minimized, unload ShaderEffectItems or set their 'visible' property to false. Not doing this causes minimized application to use resources unnecessarily. Application state can be tracked with Qt.application.active

  • When writing shaders, be careful to keep them performing well. Symbian devices and especially newer Belle ones can handle heavy fragment shaders better than N9. As an example, moving night effect math from fragment shader to vertex shader improved performance notably on N9.

  • Avoid too many ShaderEffectItems to save resources. As an example, instead of each bug containing its own burning effect, there are three global effect items in a queue, positioned and animated when needed. If three simultaneously burning bugs are not enough, it's easy to add more effect items into queue.

  • QML performance notes give good general guidelines what to avoid. Qt5 version of this document is even better and provides also information on how Qt5 scenegraph and V8 engine changes reflect to optimizing QML performance.


P.S. I joined Nokia ~month ago which may increase my bias towards Qt... But it's not like I wouldn't have made my opinion pretty clear already ;-)

March 07, 2012

Timo JyrinkiGNOME 3.4 Finnish translation weekend

Just a quick note that the merry Finnish localization folks are organizing an (extended) localization weekend, starting today. As a nice step towards ease of use, they're utilizing the long developed, maybe even underused Translatewiki.net platform, or to be precise a separate instance of it. Translatewiki.net is used by MediaWiki (Wikimedia Foundation), StatusNet and other high profile projects. Co-incidentally the main developer of Translatewiki.net is Finnish as well.

Anyway enough of the platform, join the translation frenzy at http://l10n.laxstrom.name/wiki/Gnome_3.4, but do make sure to read the notes at http://muistio.tieke.fi/IYZxesy9uc.

I've promised to help in upstreaming those to git.gnome.org on Sunday. There is additionally a new report about Ubuntu 12.04 LTS translations schedule (to which these GNOME contributions will find their way as well) at the ubuntu-l10n-fin mailing list by Jiri.

Ja sama suomeksi.

January 06, 2012

Timo JyrinkiI have a new GPG key


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1,SHA512

Hello,

I'm transitioning from my 2003 GPG key to a new one.

The old key will continue to be valid for some time, but I eventually
plan to revoke it, so please use the new one from now on. I would also
like this new key to be re-integrated into the web of trust. This message
is signed by both keys to certify the transition.

The old key was:

pub 1024D/FC7F6D0F 2003-07-10
Key fingerprint = E6A8 8BA0 D28A 3629 30A9 899F 82D7 DF6D FC7F 6D0F

The new key is:

pub 4096R/90BDD207 2012-01-06
Key fingerprint = 6B85 4D46 E843 3CD7 CDC0 3630 E0F7 59F7 90BD D207

To fetch my new key from a public key server, you can simply do:

gpg --keyserver pgp.mit.edu --recv-key 90BDD207

If you already know my old key, you can now verify that the new key is
signed by the old one:

gpg --check-sigs 90BDD207

If you don't already know my old key, or you just want to be double
extra paranoid, you can check the fingerprint against the one above:

gpg --fingerprint 90BDD207

If you are satisfied that you've got the right key, and the UIDs match
what you expect, I'd appreciate it if you would sign my key:

gpg --sign-key 90BDD207

Lastly, if you could send me these signatures, i would appreciate it.
You can either send me an e-mail with the new signatures by attaching
the following file:

gpg --armor --export 90BDD207 > timojyrinki.asc

Or you can just upload the signatures to a public keyserver directly:

gpg --keyserver pgp.mit.edu --send-key 90BDD207

Please let me know if there is any trouble, and sorry for the inconvenience.

(this post has been modified from the example at
http://www.debian-administration.org/users/dkg/weblog/48)

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)

iEYEARECAAYFAk8GuZoACgkQgtffbfx/bQ9nqACglWyHnDTFQfdKmz8OCd3oL6iR
hcEAmgKJ7RZsgwxwkRGPhygy5y1Ztb+3iQIcBAEBCgAGBQJPBrmaAAoJEOD3WfeQ
vdIHdVQQAMT1yvIogzbtK6sUnWqwbrXI9pDEFk7AzJTb80R+wzxsw7gu9gcBDk8G
BL2O26GKUqKWA3ytuApSl42FJam/Lusi9npT3XNkmHs6FaBMNuLYrqEXmCwXwWr/
OrLyeeLiF4yxgbNWbv+600BqAWqFlo6NeTgQKsJWtCjR3RVMxX3R8nzjDnKJuF+z
c6+2JKBWyx/HVUKcJpJrFDDR36HRFvVJomTuma2JCQ/RAl9vzAguqNYOi1QkuuQv
EF1gXH7gLifukGuwquP1DHP6SWWkj77jtRWr5ewC0xymbrArzAwKbvMQl3VpKBHh
MmpJjYP3ECyL14AKi/TY2Lidi0Sf6yqFMcPcreoih01N0OU0NXmD4IrHMT24/ssb
okDUe1o3YImjGq1jTACvlzC8s54EfLsqDgSP98SGVpuoDqPJUwVk4nuHj8q0vDSs
qZox26gVwB2FAOUi1BFiZbIzM5rsyYfCGyWUGiAwBFf54lYRAeCDCt8iAOOL1Ov/
TumIGYdLoXnDuOJq1VjXLGx2OFDrpyU8SPGoa3zNEVz39tgxQ48ASJEqcqt7HvBy
IW+TTsMLdJ1Ait9aCM3mzzr1iwP8TrL0qUsdRLOE6AKdAqocIfqXY8OeDKhbUiOJ
CXWk5q3xheK3sDWUXX7J63bAAUH4jFnpQEOVMJKBUNMKsWa0iXDS
=mklN
-----END PGP SIGNATURE-----

December 31, 2011

Kaj GrönholmGames for the Next Billion

Catchy title right? Don't worry, content partly matches to that description... ;)

It seems that I quite often include videos in my blog posts. There is no reason to stray away from that habit now, so here's a video showing a beta version of "Smoke the Bugs!" game on N950 & N8:



By looking at the graphics, effects, dynamic lights etc. what you saw was a pretty average OpenGL (ES 2.0) game, right? Well yes and no... Yes, GLSL shaders have been used for the effects. But no, there is zero lines of OpenGL and in fact also zero lines of C/C++ in the game. It's all QML + GLSL + JavaScript.

To work on current Harmattan & Symbian devices, game uses Qt 4.7 with the shaders plugin. This is an okay-ish platform, as you see from the video: N8@680MHz runs at smooth ~60fps. But I have also smelled, tasted and floated in the sweet velvet of Qt5 and can tell you as a fact that it will be much better. With Qt5 & QtQuick 2.0, applications will get a healthy boost of performance, smoothness and possibility for even better effects.

Here is a short list of improvements QtQuick-based games will gain from Qt5:
- Performance: QML Scene Graph will render everything faster than Qt4 QGraphicsView-based renderer, especially when the amount and complexity of (animated) items rises.
- Performance2: New V8 JavaScript engine performs much better than the JavaScriptCore engine in Qt4. Also thanks to this integration work, there is deeper co-operation between QML and JavaScript.
- Smoothness: Qt5 moves rendering into a separate thread which makes UI feel much smoother.
- Effects: QtQuick 2.0 supports shader effects to make QML UI's much more dynamic. Using shaders with Qt4 is possible with the shader plugin as shown above, but Qt5 native support will be more complete.
- Particles: QtQuick 1.0 contains particles plugin but it's very basic when compared to QtQuick 2.0 particles. No game can survive without particles!
- QML features: There are additions in QML which will suit games very well like SpriteImage for sprite animations and PathAnimation & PathInterpolator to animate along a custom path instead of linear path.
- QtCreator: Had to mention this one still as the work done in QtCreator Qt5 integration, QML debugger & analyzer etc. will improve the developer (that's me) productivity.

Now look at the video again to see what the old 2011 QML looked like, add all the above improvements to it and use your imagination... For me it feels like Qt5 & QtQuick 2.0 can offer a great platform not just for applications but also for games. Billion or two, I don't really care... ;) Happy New Year 2012 Everyone!

November 17, 2011

Timo JyrinkiOn discussing free software mobile phones

Since I think I just summarized a few thoughts of mine well at LWN, I'll copy-paste it here:
I can grumble about Android from time to time, but I do not say that it sucks. Extreme views are what are annoying. Android is what it is and it's great as it is, even though it could be different as well.

When it comes to discussing about free software and mobile phones, I'm especially annoyed by two types of comments:

1. People essentially saying that there is no value in an open project, ie. free software code dumps should be enough for everybody. I'm interested in the long term viability of free software projects, and it is hard to have successful projects without there being all sorts of factors that make up a good project - like transparency, inclusion, meritocracy. Even though the mobile projects have had little resources and a hard road, it's not useful to forget about these goal in the longer term. For example Debian, Mer, SHR, KDE Plasma Active have some of these in the mobile sector. I hope the best for them (and participate).

2. People complaining about something being not 100% free software, while not themselves actually even interested in it for other sake than complaining. When I've been talking about free software mobile phones, from time to time there is someone complaining about eg. not open GSM stack, wlan firmwares etc.. and to put it sharply probably writing the message from iPhone, while I'm reading it on Neo FreeRunner. If the complainer would be Harald Welte, I'd probably listen and agree with him.

 So there. For more civilized discussion.

November 07, 2011

Timo JyrinkiFree software mobile phone galore

Almost forgot to post this. My mobile phones running free software in photos. From left to right:


All of that software running on the devices is more or less free software, with Harmattan obviously being by far the least free, especially applications, but still better than any other on-the-shelf phone software *), and the others being 99% or "Ubuntu like" free ie. possibly with firmware and a few driver exceptions. N9 needs some bootloader work still before Nemo, Debian, Ubuntu etc. can be run there. I've collected a few things about N9 from this point of view at a wiki page.
*) Not sure about every Android phone, but Android is not openly developed anyway so it's hardly a similar free software project such as freedesktop.org projects or Qt

I gave my N900 away now since obviously I cannot make full use of each one of these. I'm multi-SIMming my N9 and the GTA02a7 Neo FreeRunner for daily use, while the other FreeRunner and N950 are purely for tinkering related purposes. The development FreeRunner will get on upgrade to GTA04 once it's available, and then hopefully that can be made into a daily usable phone as well.

By the way, see you in FSCONS in Gothenburg next weekend. Even rms will be there, which is always interesting of course :)

October 29, 2011

Kaj Grönholm5inarow @ N9

Hey! Qt Developer Days '11 are over and I want to thank all organizers & attendees, what a great event again!!

For fresh owners of N9 (congratulations!), I'll say that 5inarow game is now available through Nokia Store. Here's how to get beaten by medium level:



Symbian version may follow later, but for now game is only available on N9/N950. It's free and contains no ads so if you feel like it, go grab it from here.

PS. If this tickles your "How to implement a Qt game like that?" or "I could do much better than that!" -nerves, source codes and Qt Quick Game Programming tutorial are still available from here. These are for the older N900 version, without e.g. sounds and computer AI. But an idea of updating the document for Qt5 & shader effects is floating in my mind, we'll see, we'll see...

October 04, 2011

Timo JyrinkiFrom MeeGo to Tizen, Debian, ...?

The MeeGo community is frustrated with the news of the MeeGo brand being abandoned. Some are understandably angry or otherwise not happy about how Linux Foundation, Intel handled the Tizen announcement and community in general - or more like how they didn't handle it at all. Last week Openmind 2011 happened to be arranged in Tampere on the very same day as Tizen announcement came alive. It was good in the way that it lead to the fact that Nomovok's CEO Pasi Nieminen was able to initiate the "Reigniting MeeGo" session not just by talking vague things about future, but actually about the process which led to Tizen and the unfortunately brief initial PR about it. Pasi is intense on emphasizing the quality and role of Qt in Tizen as well, even though officially Tizen is all about HTML5 and apparently from Samsung's part at least EFL is provided as a native toolkit. However, the promise of Tizen compared to MeeGo is reportedly that the toolkit is not specified in compliancy documents, so HTML5 with WAC is the main/only "3rd party apps" layer whereas others can be offered case-by-case. This means that unlike before, the underlying system can be built on top of practically any distribution (theoretically) and using whatever toolkits and other techniques wanted. Obviously the "Nordic System Integrators" are probably all very keen of using Qt to produce more of Nokia N9 quality user experiences in various products.

Taking the corporate hat off, I as a community member am also puzzled. The only reason I was not completely blown by the news was that I didn't yet manage to get involved in MeeGo community on a daily basis, since I'm involved with a dozen communities already. Instead I've been more like scratching the surface with MeeGo Network Finland meetings, IRC activity, OBS usage for building a few apps for MeeGo Harmattan and MeeGo proper etc. But I can somewhat understand how people like Jarkko Moilanen from meego-fi feel. They have given a _lot_ to the MeeGo community and brand, all taken away without hearing or pre-notice.

So where to now for MeeGo community? Tizen is one obvious choice. However, for all the talks that even I started this post with, Tizen is still vaporware today, and the dislike of how community is being treated might make it easy to consider other options. Also, if Tizen's reference implementation has lesser meaning, it might also mean less to actually be "in" the Tizen community than in MeeGo. I met Jos Poortvliet at Openmind, and he invited people to openSUSE. There is a lot of common ground with MeeGo and openSUSE - strong OBS usage, RPM packaging, community side focused on KDE and therefore Qt.

I would like to now point similarly to Debian! If one is tired about corporate interests and not listening to community, there is no match for Debian's 15+ years history, purely volunteer based, trust based organization, and first of all scope. While openSUSE has traditionally focused on desktop (even though like Jos pointed out they are open to all new contributions and projects), Debian has always had the "universal" scope, ie. no boundaries besides producing free software operating system for various purposes. There are over 10 architectures maintained at the moment, including the ARM (different ports for ARMv4 and hard-float ARMv7) and x86 from MeeGo world. There are even alternative kernels to Linux, mainly the GNU/kFreeBSD port. There are multiple relevant plans and projects like the Smartphones wiki area, most noticeably Debian on Neo FreeRunner. I have run Debian on my primary mobile phone for over 2.5 years, although now in the recent months I've had dual-SIM in my Nokia N950 as well (Debian not yet running on Nokia N950 or Nokia N9 - but it can and will be done!).

What Debian may lack in both good and bad is corporate funding, if you don't count the still quite respectful contributions from Ubuntu to Debian (it's in Ubuntu's interests to contribute as much possible back to Debian, so that the delta remains small). For each and every aspect, it needs a volunteer - there are a thousand volunteer Debian Developers, and at least a double of that of people without the official DD status but who still maintain a package or two among the 25000+ packages in Debian. That means also that one my find it more lucrative to join a project that has paid people to do some of the "boring parts", more of fancy web tools, including for bug handling and build systems like the OBS (which I do love by the way). On the other hand, there is no other project in my opinion where what you do really matters as much.

To find out more about Debian from MeeGo perspective, please see the recent mailing list post Mobile UXes - From the DebConf11 BoF to the stars where I wrote most of the MeeGo (CE) part when I was asked to and known of my MeeGo involvement.

Last but not certainly least, there is the Mer project - originally "maemo reconstructed", ie. making Nokia's "not really distro" into a real distro by filling in the void places. Now it's obviously MeeGo reconstructed, and they aim to be the MeeGo they always wanted MeeGo to be! Read the post for details from Carsten Munk and other key Mer people. They share the love for Qt, and want the core to be as lean as possible. They also aim to incorporate the most community like aspect from MeeGo - MeeGo CE - as the reference vendor in Mer. They also aim to be Tizen compliant - and when Tizen comes alive, I wouldn't see why the Tizen reference implementation couldn't be used for saving resources. Maybe Nomovok and/or others could offer the Qt maintaining part.

So, it might be that Tizen itself is enough for most people's needs. The key point however in this post is not to fall in agony if one corporate based project takes big turns - it has happened before, it will happen in the future. There are always enough political and business reasons from some points of view to do Big Changes. But the wider community is out there, always, and it's bigger than you think. You should consider where you want to contribute by asking yourself why you are/were part of for example the MeeGo community. Aaron Seigo from KDE asked us all this question in the Openmind MeeGo Reignited session, and I think it's good to repeat.

August 31, 2011

Timo JyrinkiMeeGo Summit FI Days 1 & 2

MeeGo Summit FI is now nearing completion, with several keynotes and other presentations, Meegathon 24h contest just coming to an end and a lot of interesting discussions had. See full program for details. Yesterday was a hugely energetic day, but today the lack of sleep starts to kick in a bit at least for me.

Some highlights via photos:



Keynote venue was a movie theater




MeeGo status update by Valtteri Halla / Intel - talking among else about tablets, IVI, and the 20 person team at Nokia doing MeeGo(.com) for N900 phone





Mikko Terho / Nokia - "Internet for the next billion => Qt good candidate", "code wins politics and standards"




Carsten Munk / Nomovok - "Hacking your existence: the importance of open-ended devices in the MeeGo world"




In addition to MeeGo tablet demonstrations a Wayland compositor was demoed by a Nomovok employee.



One of the many Qt / QML related talks was held by Tapani Mikola / Nokia



Evening party




Day 2 started with a few more presentations and Finhack event launching in the Protomo room as well

Still remaining for the day are Meegathon demonstrations (well actually I'm right now already following those while finishing this - cool demos!) , Meegathon awards, a panel discussion on "MeeGo, Nokia, Finns - finished? Can MeeGo be important in Finland without being inside Nokia's core?", BoF sessions and finally Intel AppUp Application Lab including some MeeGo table give-outs.

Thanks to organizers, many of whom were volunteers. The event has been running completely smoothly, coming not as a big surprise after the hugely successful last summer's Akademy 2010 also held in Tampere.

Timo JyrinkiMeeGo Summit FI starts tomorrow

I'm participating in the MeeGo Summit FI that starts tomorrow, and I'm already in Tampere now, as you can see. The summit is at an interesting time, given that there is a huge amount of stuff happening around MeeGo while at the same time Nokia is balancing on what do both in the far future and what to do to ship the MeeGo device they've already promised. The summit is fully and overly booked for >300 attendees. There is also Finhack free software event happening alongside on Saturday at the same venue.

A view towards the venue(s), Finlayson area in Tampere.
The company I work for, Nomovok's CEO illustrated the MeeGo situation extraordinarily well a little less than two months ago. I think it's one of the best insights you can get from anywhere in public at the moment. Now things are starting to really heat up. Of course the Big thing is the MeeGo Conference in San Francisco in the end of May, but it takes nothing away from this being the major event both in the country formerly known as NokiaLandia, and also globally given the amount of MeeGo related talent here. Nomovok is teasing people with the SteelRat - a launchpad for MeeGo tablet creation and an UX, based on latest MeeGo Core - a beta of which will be available now in Tampere and first version in San Fransisco. Meanwhile we and others are investing in also the MeeGo IVI and MeeGo TV platforms, not forgetting about the handset industry that is more visible to many tech savvy consumers.

Pre-registration and building on-going.
At the same time there is a lot of exciting stuff going on in the Ubuntu project (Ubuntu 11.04 upcoming, I'm already using it and reporting bugs), together with Linaro and other ARM players. As a founder of Ubuntu Finland I'm always eager to see if I can work there also on work time, not only on free time. And regarding ARM, Nomovok is the key player in having ARM on MeeGo as well.

Then on the completely other end of spectrum, I'm eagerly waiting for the GTA04 project to have my Neo FreeRunner(s) bumped up to modern specs. At the end of the day I'm still using over 2,5 year old phone myself, since I want to run the software that is both free and completely selected (and if I want, done) by me. With GTA04, I could choose between MeeGo armv7hl port, Debian armhf port or Ubuntu as the base distribution to use my software.

Timo JyrinkiMeeGo (CE) and the FreeSmartphone.Org Distributions

Debian MeeGo mixup. MeeGo screenshot CC-BY wiki.meego.com, Debian screenshot by me
FreeSmartphone.Org (FSO), Openmoko, Debian's FSO group, SHR, QtMoko et cetera are a few of the community based intertwined projects to bring free software to smartphones. They have a relatively long and colorful history of doing this, and have nowadays been approaching multiple target devices despite limited resources and for example the losing of Openmoko Inc. in 2009. I've been using Debian on my Neo FreeRunner phone for over two years now, and over three years of FreeRunner use altogether. FSO2, the next generation freesmartphone.org stack, is finally coming into Debian now, extending the basic phone support besides Openmoko phones to eg. Palm Pre, Nexus One, Nokia N900 and a few HTC phones. It needs a lot of tweaking and eg. a proper kernel, but still.

Four years after beginning of sales of the first Openmoko device (Neo1973), we're still in the pioneering phase of free distributions for mobile phones. There is no "Ubuntu for phones" so to speak, not for even a selected models. Meanwhile, like so often in the wide world, competing free software approaches have arrived. Android is the obvious one, and has seen a port to Neo Freerunner among else. Android is not as open a project as one could like, and replaces everything we've known with its own code, but nevertheless it requires to be noted and is completely usable in its free software form. But since there are limitations to its approach, and since it's more of an own separate world from the rest of Linux distributions, it is not as interesting to me as the others in the long run, at least in its current shape.

A more similar competitor to FSO and distributions using FSO is MeeGo and its middleware, and to be more precise so far specifically Nokia's efforts on it. Obviously there is the strong competitor for the best general population smartphone of the year, the Qt based Nokia N9, but its default software is more of a proprietary thing even though it has a neatly rock solid free software foundation with separate free/non-free repositories and all that. Nice and great for the (GNU/)Linux in general, but the Harmattan software is not exactly on topic for this blog post. It's however in my opinion the best marketing to vendors around the world GNU/Linux + Qt can get as Android Linux has been taking most of the limelight. But meanwhile, with significantly smaller focus and resources, Nokia has also been sponsoring to try to create a truly community based mobile phone software stack at the MeeGo upstream, nowadays called "MeeGo Community Edition" or MeeGo CE for short. It co-operates with the MeeGo Handset target of MeeGo (and Intel) that hasn't got actual target consumer hardware at the moment, although that might change soon (?), but has been doing some nice applications recently. CE has the target hardware and additional device specific and non-specific software cooking. It used to target Nokia N900 only, but nowadays the project has added N950 (the for-developers-only phone) and N9 to the targets, and it is starting to seem there should be no showstoppers to bring MeeGo CE (or other distributions later on) to them, despite some earlier doubts. A few needed bits to void the warranty we all want to do are still missing, though, but coming. After that it's just developing free software. Usual caveats about specifics of a few kernel drivers apply, as the devices were not designed with the sole purpose of free software drivers in mind. Hopefully mobile 3D gets into a better shape in the coming years, but that's another story.

MeeGo (CE) smartphone middleware, of course, shares nothing with FSO *). While FSO is a "handle everything" in itself with its wide variety of daemons, MeeGo consists of more separate software like Intel's and Nokia's oFono for modem support. FSO demo UIs and SHR UIs have traditionally focused on using Enlightenment 17 for its suitability to low power machines, while in MeeGo everything is written in Qt. As Qt/QML is becoming faster and faster, and it's very powerful to write, there might be quite a bit of useful software emerging from there also for other distributions besides MeeGo itself. Actually, there is already a Debian MeeGo stack maintainer group available, although it hasn't yet focused on the UIs as far as I can see (if I'll have free time I'll join the effort and see for myself in more detail). There is also the QtMoko distribution, based on the original, canceled Trolltech/Nokia Qt Extended (Qtopia) project, but ported to newer Qt:s and put on top of Debian.

*) Although, correct me if I'm wrong and I might be, the Nokia N900 isi modem driver in FSO was ported/learned from oFono.

MeeGo CE is not only a project to bring a proper MeeGo distribution to a few smartphones, but also to shake out bugs in the MeeGo project's contributions and community processes. It is acting as a completely open MeeGo product contributor, and investigating how things should be optimally done so that everything gets integrated into the MeeGo properly, and that proper MeeGo software releases can be done for the target devices. Therefore it's also an important project for the vitality of the whole MeeGo.

MeeGo CE has so far had a whole team in Nokia working on it, but for obvious strategy related reasons community cannot rely on it lasting forever. The real hurdle is for the wider free smartphones community to be ready for really embracing a project that is already a community project but to outsiders might seem like a company project. I believe it's never easy to grow a volunteer community if the starting setup is a paid company team, but it mainly requires a) the interested people and b) the few smart ones to take control and communication responsibility so that it's not anymore seen as a company project. MeeGo CE never was a traditional company project, everything being done in the open and together with volunteers, but I just know how people perceive these things by default. People tend to assume stuff as someone else's responsibility

Whatever happens, I hope there are enough people interested in free software for mobile phones to carry on all these different approaches to the software needed. I hope MeeGo / MeeGo CE will have a great future, and I hope that both the middleware like FSO and MeeGo's components, and the UIs like FSO, SHR, QtMoko and MeeGo Handheld UIs continue to develop. I also hope other distributions like Debian will gather a strong suite of packaged software for smartphones. I know I have had some hard time to find suitable apps for my phone at times.

For those interested about how I use Debian as my mobile phone OS, see http://wiki.openmoko.org/wiki/User:TimoJyrinki

August 25, 2011

Miia RantaThings I learnt about managing people while being a Wikipedia admin

Colour explosion Just over four years ago I gave up my volunteer, unpaid role as an administrator of the Finnish Wikipedia. Today, while discussing with a friend, I realised what has been one of the most valuable lessons in both my professional life and hobbies. While I am quite pessimistic in general, I still benefit from these little nuggets of positive insight almost every day when communicating and working with other people.

  • Assume Good Faith. “Unless there is clear evidence to the contrary, assume that people who work on the project are trying to help it, not hurt it.” Most people aren’t your enemies. Most people will not try to hurt you. If stupidity is abound, it’s (usually) not meant as a personal attack towards you, nor is it intentional.
  • When someone does something that doesn’t immediately make sense, which contradicts your assumptions about the skills and common sense of a person you are dealing with, discuss it with them! Don’t make assumptions based on partial information or details, ask for more info so you don’t need to assume the worst! If something is unclear, asking won’t make things worse.

Pessimists are never disappointed, only positively surprised. But while the world seems like a dark a desolate place and the humanity seems to be doomed, I still have to try to believe in the sensibility of people and that we can make something special for the project we are trying to work for. Ubuntu, Wikipedia, Life… or just your day-to-day job.

August 24, 2011

SteelRat developmentSteelrat goes Wayland

Summer vacations came and went, with blog not being updated for a while, but rest assured: Steelrat is progressing nicely :-)

We are moving from the venerable X11 based graphics stack to a cutting-edge and more lightweight system. Our tests indicated that all our application UIs have radically better performance when X11 is eliminated and Steelrat UX layer is run on top of Wayland. Latest MeeGo compliance drafts do not appear to require X.org as a mandatory component any more, opening the door to higher performance while still staying compliant.

As of now, Steelrat has its own compositor and window manager, which support both Wayland and X11 as plugins, without having an effect on the actual Qt applications. This is achieved with the use of QPA - Qt Platform Abstraction. Wayland is used natively (EGL/GLESv2, with no libGL needed). Multiprocess support works, and windowing is done in compositor.

For Qt version, we are currently using Qt 4.8 snapshot with Qt Lighthouse and Qt Quick 2.0, but as the next target we're making the stack work with the latest Qt 5 development snapshots as well (We're almost there already!).

With the legacy-free software stack, our application UIs had quite a consistent 60fps performance on a commodity tablet with a typical screen resolution. Same hardware was struggling with less than 20fps with exactly the same applications running on top of X.org.

August 21, 2011

Kaj GrönholmQt5 + Distance Field Effects

Yoann Lopes blogged recently about Text Rendering in the QML Scene Graph using distance field alpha testing. This technique brings smoothly scalable fonts with fast OpenGL rendering to Qt5.

Distance field is of course not limited for just fonts (although they are the most usual use-case), same technique can be used also with suitable images. Here is a video of an example application running on PC and N950 which demonstrates the effect:



As you can see, the original image becomes quite pixelated when zooming in, which is expected as image is only 256x160 pixels (smiley 64x64 pixels). But enabling smoothing with distance field shader makes it very scalable with nice anti-aliasing, outline and transparency. As the pixmap required for this is so small, GPU / fragment shader has less to process leading to better performance. Like with fonts, adding effects such as outline, smoothing, glow and shadow can be implemented very effectively.

This application is under 300 lines of QML with a GLSL shader, including slider and toggle button components. So if you have Qt5 built up and want to give it a try, source codes are available from here. Creative usage ideas and astonishing shaders are welcomed!

Miia RantaAnd then, unexpectedly, life happens

I hope none of you have expected me to blog more often. It’s been over a year since I’ve last blogged, and so much has happened since I last did.

I’ve travelled to Cornwall, started a Facebook page that got a huge following in no time, fiddled a bit with CMS Made Simple at work, bought another Nexus One to replace one that broke and after getting the broke one fixed, gave the extra to my sister as a Christmas present, have taught Duncan how to make gravadlax and crimp Carelian pasties, visited Berlin and bought a game. I’ve attended a few geeky events, like Local MeeGo Network meetings of Tampere, Finland, MeeGo Summit also in Tampere, MeeGo Conference in San Francisco, US and OggCamp’11 in Farnham, UK.

I’ve also taken few steps in learning to code in QML, poked around Arduino and bought a new camera, Olympus Pen E-PL1.

My mom What else has happened? Well, among other things, my mother was diagnosed with cholangiocarcinoma right after New Year, and she passed away 30th of June.

Many things that I have taken for granted have changed or gone away forever. Importance of some things have changed as my life is trying to find a new path to run in.

Blogging and some of my Open Source related activities have taken a toll, which I am planning to fix now that I feel like I’m strong enough to use my energy on these hobbies again. Sorry for the hiatus, folks.

Coming up, perhaps in the near future:

  • Rants and Raves about Arduino
  • Entries about social networking sites
  • Camera/Photography jabber
  • Mobile phone/Tablet chatter

So, just so you know, I’m alive, and will soon be in an RSS feed reader near you. AGAIN.

June 17, 2011

Timo JyrinkiBlogger, atom, rss & planetplanet 2.5 years later

Just reminding myself (and you) of the following pretty important tip that I got 2.5 years ago and already forgot: use alt=rss in blogger feeds when giving the feed to planetplanet. Planetplanet treats the "updated" field of Atom feeds similar to "published".

So hopefully planet Debian fixed now as well.

Timo JyrinkiKernel Mode-Setting (KMS) on Neo FreeRunner + Debian

Edit Aug 18th: video available (ogv, also on youtube)

Forget AMD, Intel, NVIDIA! Thomas White's incredible work with Neo FreeRunner's puny graphics dec...accelerator, Smedia Glamo 3362 is starting to bear fruits. Not listening to such comments as ”the chip will never be used anywhere else” and ”why not spend your time doing something more relevant”, he has chosen to actually do what he likes and sees as an interesting challenge. And that's often the spirit of free software, so I don't really agree with the naysayers.

The camera shot on the right, running KMS-enabled X.org driver for the glamo chip on my Debian installation (visible software matchbox-window-manager, fbpanel, zhone), is a bit optimistic looking since Zhone happens to draw correctly. A lot of the drawing is not yet synced correctly, which shows as all text and images in eg. GTK applications being garbled. But as little as two days ago one couldn't yet much launch applications without X crashing, so the newest commits by Thomas were a big step forwards. I'm using Debian, and he's not, so I try to find time to help in debugging even though I really can't much help with the driver code.

The driver is not just one piece of code, but consists of a kernel drm driver (direct rendering manager) using GEM, libdrm support for the kernel driver and finally the X.org driver supporting these other components and offering buzz-words like DRI2. There is also a beginning of a Mesa 3D driver, though it is so far just a skeleton driver since the 2D/KMS/EXA/DRM parts are what should be done first before dwelling into the OpenGL realm.

Openmoko the company is basically nowadays just producing new Neo FreeRunners to resellers, but the community of the so far only Free phone is thriving. The final (Openmoko produced, from where gta02-core continues) version of the phone, with the famous buzzing problem fixed, appeared on store shelves some time ago, offering better out-of-the-box phone functionality in addition to all the ”mini computer” features. It was also offered to Debconf visitors on discount.

It's not only cool to have kernel mode-setting, though it is indeed very cool as well. The reason for much sorrow in the whole OM project has been the graphics chip, and some of the problems with the chip are only finally solvable with the kernel doing the mode-setting. So it's both a very modern thing to use KMS, but there are also clear potential benefits of having accurate control over this very ”sensitive” piece of silicon. The current non-KMS X.org driver for example busy loops in order to try to feed the chip at a correct pace, causing CPU usage every time there is any drawing going on.

This is somehow reminding me about getting the best out of 8-bit computers and other hardware with some specific limitations. The glamo chip is very limited in some ways, but also capable in some other ways like theoretically offering MPEG-4 decoding, OpenGL ES 3D support. It's a mixed bag of things, and I can very well imagine it's indeed an interesting challenge to work on it, if you just have the skills (I don't) and nerves (proper debugging tools help).

It's so nerdy to drool over lines in the X.org log, but I just can help it:
X.Org X Server 1.6.3
Release Date: 2009-7-31
X Protocol Version 11, Revision 0
Build Operating System: Linux 2.6.28 armv5tel Debian
Current Operating System: Linux neo 2.6.29-GTA02_mydrm #2 PREEMPT Mon Aug 17 18:24:39 EEST 2009 armv4tl
...
II) Using KMS!
...
(WW) Glamo(0): EXA hardware acceleration initialising
(II) EXA(0): Driver allocated offscreen pixmaps
(II) EXA(0): Driver registered support for the following operations:
(II) Solid
(II) Copy
(II) Glamo(0): Initialized EXA acceleration
...
(II) Glamo(0): RandR 1.2 enabled, ignore the following RandR disabled message.
...
(II) Glamo(0): [glamo-dri] Name of DRM device is '/dev/dri/card0'
(WW) Glamo(0): [DRI2] Version 1 API (broken front buffer rendering)
(II) Glamo(0): [DRI2] Setup complete
...
(II) AIGLX: enabled GLX_MESA_copy_sub_buffer
(II) AIGLX: Loaded and initialized /usr/lib/dri/glamo_dri.so
(II) GLX: Initialized DRI2 GL provider for screen 0
(II) Glamo(0): Adding framebuffer....!
(II) Glamo(0): 8 480 640 16 16 960
(II) Glamo(0): rootPixmap = 0x1d0a00
(II) Glamo(0): Done

Timo JyrinkiTickets arrived – coming to FOSDEM!


Flights and hotel are booked, so I'm coming to FOSDEM. There are a lot of people to meet, at least some FSFE, Debian, MediaWiki and Ubuntu people. Of course, no boundaries to meeting any amount of intelligent guys and gals.

There will be three of us there, as can be seen, from Friday to Sunday. I will be reachable via e-mail, jabber, IRC or even phone. The first three assuming there is WLAN available for my Aspire One at a given point of time so I can SSH to a server.

Timo JyrinkiOpenmoko Community Updates 2010-11-01

(many exciting news from this old project/community working on the "Free Your Phone" idea, so as an publisher of the update sharing via blog as well. FreeRunner still available at eg. http://www.pulster.de/engl/index.html and the improved "+" versions at http://www.handheld-linux.com/wiki.php?page=Neo%20Freerunner, if an old/slow hardware is enough for you when you know you can tweak it to your liking)
Period 2010-09-01 to 2010-10-31

Distributions

Debian GNU/Linux

Debian is a universal operating system used on many embedded devices, servers and home computers. Using Debian on the FreeRunner gives access to the huge army of software packaged in the Debian repositories, already compiled for the Neo's ARM(v4) processor. Moreover, one can build one's own source files for programs without having to learn the OpenEmbedded way. For an existing Debian/Ubuntu user, choosing Debian for Neo FreeRunner makes phone a very familiar, trustworthy and flexible place to hack in.

General news:



Codename: 'sid'
Homepage: http://wiki.debian.org/DebianOnFreeRunner
Image: http://wiki.openmoko.org/wiki/Debian

Hardware Works
Neo 1973 yes
FreeRunner yes
HTC-Dream yes
Other yes


Applications

New Applications

aTrack 0.8

APRS tracker and communicator for mobile devices. It turns your Neo into bidirectional APRS unit and besides others it allows you to track your position, do text messaging, object creation or display stations around.


Homepage: http://atrack.googlecode.com/
Package: [1]
Tested on: SHR-Unstable


Application Updates

Gamerunner GnuBoy 0.8

A gameboy emulator which runs very nice, even with sound (sometimes it freezes, then you have to press the A button and everything is ok). You need the gamerunner distro or a gamepad to use it. Using frameskip to run smooth at 320*240 pixel. In second controll mode in gamerunner you can use savestates by pressing top right corne to save and left lower corner to load. Select is right lower corner.


Homepage: http://jlime.com/forum/viewtopic.php?f=117&t=3005
Package: [nopacket no packet sorry]
Tested on: Gamerunner, QTMoko


FoxtrotGPS 1.0.0

FoxtrotGPS is an offshoot of Marcus Bauer's excellent Free & Open Source tangoGPS application, with a focus on cooperation and fostering community innovation. 1.0.0 announcement.

  • Gracefully recovering from gpsd shutting down
  • GPX routepoints support
  • Integration of distribution patches
  • Map tiles are displayed immediately after downloading
  • GeoRSS points can be imported as POIs (script)
  • Various other fixes and improvements
  • Since no feedback gotten from the sister project and some changes will not be imported, version number 1.0.0 was selected to show that there is divergence


Homepage: http://www.foxtrotgps.org/
Package: foxtrotgps
Tested on: Debian


General News

Most important and change making mails on the mailing lists, blogs etc.. Coolest hacks, screenshots, themes etc..

GPRS

Kernels

Spin-off Hardware Projects

Event News

  • 2011-01-24 Mobile FOSS MiniConf at LCA2011 announced a call for papers that closes on Friday 22nd October 2010. So submit something about OpenMoko today!
  • 2011-02-05/06 FOSDEM 2011 calls for Main Speakers and Devrooms [3] that closes on Saturday 16th October 2010. So submit something about OpenMoko today!

Timo JyrinkiOpenmoko is dead, long live the Openmoko ...with ”GTA04” project

The 2008 product release, Openmoko Inc's – now in other business areas than mobile phones – Neo FreeRunner is finally starting to get a ”spiritual” successor, in form of the GTA04 project (not to forget about gta02-core project, either). Yes, the ”even schematics and cover CAD files are CC-BY-SA” free mobile phone is back... or at least if the German company Golden Delicious finishes what's it has been doing lately. Of course, the original FreeRunner is also still on sale as an improved version.

Since I have two FreeRunners, I look forward to replacing one of those with the new innards while keeping the other one as a daily phone while kernel and modem drivers get ready with the new platform. With a newer platform with ARMv7 instruction set, there would be easily also other ”traditional” distributions choices besides Debian to choose from, like Ubuntu or MeeGo. Both have oFono (+ telepathy etc.) packaged up, while Ubuntu also has a lot of the FreeSmartphone.Org (FSO) stack that has come to Ubuntu from Debian's pkg-fso team that I'm part of. Both software stacks are capable of getting updated with new modem drivers, although I think currently FSO has more daily / only phone users than oFono at this point of time still (I haven't yet heard of many Nokia N900 users using only free software distribution while using the phone functionality of such a distro as the one to count on).

So, a quote from today's Openmoko Community Updates:

---cut---

GTA04

GTA04 is a project by the long time distributor and hw developer, German company Golden Delicious. The name is loaned from Openmoko project because of the spiritual continuation - GTA01 was the codename for Neo1973, GTA02 was the Neo FreeRunner, and GTA03 was the canceled successor product. Besides offering improved versions of Neo FreeRunner (better battery life, better audio output), they've a complete replacement board planned to fit an existing Neo FreeRunner case and use the existing display.

The key details of GTA04 include among else:

  • OMAP3530 ARMv7 CPU
  • UMTS/3G (HSPA)
  • USB 2.0 OTG
  • WLAN, BT, FM transceiver
  • Barometric Altimeter, Accelerometer, Compass, Gyroscope
  • Optionally camera

Find your GTA04 information at the following addresses:

Latest news:

Visit the FOSDEM in Brussels, Belgium next weekend (5th/6th of February, 2011) to see GTA04 in action and discuss about it! See http://fosdem.org/2011/ , http://wiki.openmoko.org/wiki/FOSDEM_2011 , http://lists.openmoko.org/pipermail/community/2010-December/063899.html

---cut---

Timo JyrinkiI ♥ Lenny

Timo JyrinkiNeo FreeRunner "A7+" now available

Thanks to Dr. H. Nikolaus Schaller's efforts, a new "A7+" version of the world's only 100% free software (and even free hardware design, leading to further community development) phone, Neo FreeRunner, is available for sale at www.handheld-linux.com for 299€! New in this hardware version is prolonged battery life, due to a fix applied to the famous "#1024" bug. Now you should have theoretically about 5 days time suspended, but that's of course only if you don't actually do anything with this phone-computer.

In other news, despite the fact or because Openmoko Inc. has ceased its development efforts for now at least, concentrating on the WikiReader to recover from the economic problems, community finally questioned the reasoning behind some of the Linux kernel debug configuration in the official Openmoko kernel branch. Results? Speedup of certain kernel operations in the range of 2x to 5x! In practice that means Neo isn't actually anymore the sluggish device you used to get to know with. Of course it's not top of the line by any means, but being the only Free phone available on the market still, more free than most full-size computers in fact, it's a quite nice improvement to eg. boot time, application start up time et cetera. I merely was a messenger of these news from the kernel mailing list to the community, but I also provided a readily compiled kernel which I use in Debian and which seems to works for others as well (until their distributions package it up).

Over 1,5 years after launch of the FreeRunner, and even more since the original Neo 1973, the software is getting better all the time. The pace is slow, as is the case with any free/open project with limited community-only resources, but the best thing is that it never has to stop. A lot of the middleware, applications and so on will make it to future phones as well. Things like Intone music player, TangoGPS and literki keyboard might be nice little finger-usable applications in the future as well.

So, if you can manage without 3G and want to still have an unique mobile computer experience with basic phone functionality, running for example Debian for the "familiar experience" if you use Debian or Ubuntu on your other computers, it's still not too late to catch it. It seems we're still a couple of years away from any next effort of such level of freedom. I'm making through it by having bought a 59€ 3G modem for the more serious data needs. I'm still also thinking about a privoxy setup on my home server that would clean up and compress pages even via Neo's GPRS connection.

Timo JyrinkiFreeRunner as an audio player ++ (Intone)

Debian just got elementary library from E17. That means Intone is now compilable on Debian, which in turn means I have a lot easier time switching/adding songs than using my old gnome-mplayer when using Neo FreeRunner as a digital audio player! I can easily now browse the web or do other stuff without the audio skipping, as well, as Intone sets the process priorities nicely.

I like the separation of using finger-friendly applications for "basic" stuff and then using applications needing more accuracy (like mtpaint, pypennotes or just terminal) with a stylus.


It would be nice to see also Intone in Debian repositories at one point. Furthermore, I use tremor enabled MPlayer which is not the default and not available in Debian repositories in any form.

Timo JyrinkiFSCONS over, "gave" a talk (FreeRunner again)

I was at the Free Society Conference and Nordic Summit from Friday evening to ca. Sunday early morning. I would have arrived earlier but the rather cheap Blue1 flew only once a day from Helsinki to Gothenburg. Gothenburg was a very wet place during the time I was there, but the event itself was great! Thanks to all the people met, especially the multitude of FSFE guys. A few pics first:



The first pic is from the Saturday evening social event at Berg211, not the conference place itself :)

The only unfortunate thing was missing the whole Sunday, including my own lightning talk about kernel mode-setting on Neo FreeRunner! Instead of canceling it I decided to make a video to replace my physical presence, so hopefully it got shown there and people enjoyed the shortness of it. I gloriously failed to learn Cinelerra or Kdenlive video editing software quickly (PiTiVi _will_ be both easy and great, but was not yet enough for this purpose), so resorted to a "nice" gedit + mplayer + xvidcap + cat + oggconvert setup ;) Yes, not nice. Actually quite an adventure, maybe next time I really learn some other way. I forgot to include a section to tell what actual benefit KMS could give besides being extremely cool - the thing is that Glamo is quite timing sensitive and user space cannot guarantee certain things so kernel based mode-setting could do better in terms of various things, including CPU usage. And it's a pre-requisite for any possible accelerated 3D support, though I didn't get the famous accelerated triangle up yet (some new fixes in the Thomas's git already, though) The video is distributable under CC-BY-SA, and originally Ogg Theora + Vorbis. Of course YouTube mangles it to non-free format, but too lazy to currently bother with better services.

...right, writing this, YouTube seems to have some serious trouble with my video. Is it because of Theora 1.1? Well, trying Dailymotion next, thanks to its openvideo (HTML5) thing which managed to catch my attention a while ago:

^ click me

The reason for my early departure from FSCONS was the Ubuntu Developer Summit in Dallas, Texas. More on that later, writing this actually from the lobby there.

Timo JyrinkiFree Society Conference and Nordic Summit (FSCONS 2010)

Just a note that the slides are available (non-slideshare link) for my presentation ”Tuning an old but free phone” (description) that I held in the tremendously great event FSCONS 2010. It could be described as a smaller scale FOSDEM, but that would be actually down-playing it since the free software effects on society are something that I've actually never seen elsewhere on such a scale. My talk was among the purely technical ones, though.

I was planning to hold on with this blog post until the recorded videos arrive, but since it seems it might not be during this year I will just post this now that slides are available.

I've shared a few photos as well at Flickr...


Keynote: Karin Kosina, The Inanna Project. A tech + art workshop for female artists in Damascus, Syria. An experiment in art, technology, and the transformative power of Free Hardware and Software.


Erik de Bruijn, The Future of RepRap, a self-replicating open source 3D printer that fabricates arbitrary objects including parts of itself.


Social event at the Berg 211.


Malin Nilsson on Gender, class and global flows. Using free software to fuel a revolution in home based industrial work.



Keynote: Glyn Moody, Ethics of Intellectual Monopolies.


Keynote: Glyn Moody, Ethics of Intellectual Monopolies (audience).

A few summaries available on a Qaiku seminar channel.

Timo JyrinkiAt FOSDEM

It has been a fast-moving weekend at FOSDEM. It's soon time to leave for the airport, but meanwhile a quick thanks to all the people I have met on this trip. Also there have been several interesting talks in eg. the Debian and Embedded tracks, but I think last year there was more in the form of talks for me. Anyway, I'd say the trip was a success, from the Friday's beer event to the more formal program on Sat/Sun. I tried to reach the GNOME Beer Event, but unfortunately sleeping sounded like a more rational choice after a dinner and having not slept too well after the Friday's beer event.

Here are a couple of quick photos for you.


Beer


FOSDEM main entrance


Debian on Neo FreeRunner presentation

Timo Jyrinki”Tuning an old but free phone” video now available

It was good that I didn't hold up my blog post in November until the videos from FSCONS 2010 (Free Society Conference and Nordic Summit) are out, but now they finally are:


Timo Jyrinki - Tuning an old but free phone (pt 1/2)
Timo Jyrinki - Tuning an old but free phone (pt 2/2)

Definitely see also all videos and since Vimeo doesn't work in Gnash, use a script to download.

ps. As a related item to the talk's future oriented aspects, while waiting for GTA04A3 boards to arrive, GTA04A2 has been patched to run Debian/LXDE.

Timo JyrinkiWhy I don't like blogger.

Hmm, I think it's happening again. I changed the Planet Ubuntu to only feed on posts tagged 'ubuntu' from now on, and now as an example tagged one post as 'ubuntu', in addition to this one I'm now writing. Google told me that using "Label actions" to change labels wouldn't affect the feed, but it looks like the feed timestamp for my previous, older post was again updated (not the "Published", but "Updated")... so I guess I won't be tagging any further old posts, unless it turns out the previous problem I had was that the Published stamp was also renewed and the Planet Ubuntu ignores Updated stamp.If you have a solution, please tell it.Update: Solution found! Thanks, artfwo.

Timo JyrinkiBetawikissä tuhannen euron porkkana

--- cut ---
Vuoden 2007 lopussa Siebrand asetti lokalisointitavoitteet MediaWikille.Tavoitteet olivat todella kunnianhimoisia. Näyttääkin siltä, että näihin ei päästä. Emme kuitenkaan aio luovuttaa ilman taistelua. Vielä on vajaa viikko aikaa saavuttaa nuo tavoitteet. Sinä voit auttaa saavuttamaan tavoitteet suomen kielen osalta.

Yhteistyössä Stichting Open Progressin kanssa pystymme tarjoamaan sinulle kannustusta. Tarjoamme 1000 euroa jaettuna kaikkien kääntäjien kesken, jotka ovat tehneet yli 500 uutta käännöstä MediaWikiin ja sen laajennuksiin vuoden loppuun mennessä.

Myös muut Betawikin projektit kaipaavat apua. Kiinnostaisiko sinua kääntää vaikkapa FreeCol-peliä tai Mantis-virheenseurantajärjestelmää. Ystävällinen ja yhteistyökykyinen ympäristö saattaa sinut vauhtiin sekä auttaa sinua kehittymään suomentajana parantamalla käännöksiä yhdessä.

Betawiki löytyy osoitteesta http://translatewiki.net.
--- cut ---
(lähde)

Katso myös http://lokalisointi.org/.

Timo JyrinkiUbuntu 10.04 and 3G modems – usb-modeswitch or not?

I'm writing a blog entry instead of just replying to myself on a mailing list, since this subject might be interesting to a largish portion of the community. Most people assume things just magically work out by themselves and then after a release wonder why it wasn't so.

So, I raised a question on ubuntu-devel-discuss mailing list about whether usb-modeswitch should be included in the default Ubuntu 10.04 LTS installation instead of it only being in the universe repository. Reason was simply that firstly, I've read some general wonderings from the community about why it isn't already so. Secondly, without it my 3G modem (Huawei E1552) was first not functional, but right after installing usb-modeswitch package Network Manager worked smoothly with it.

Since I didn't get much discussion going on besides some statements that it doesn't work for everybody and even has caused extra problems for some others (in 9.10), I asked for a small round of comments on the subject on IRC. The channels are logged so I believe I can quote those a bit.

Colin Watson said among else:
"surely we just want the kernel to DTRT [do the right thing] by default ... this is the upstream trend ... it already DTRT for quite a few devices"
"I'd be very concerned about advertising that it's the Way to get things to work, and thus undermining getting things fixed in the kernel"
"I agree that usb-modeswitch is often a way to get otherwise non-working hardware to work ... I'm just not very convinced it's a real properly supportable option"
"but I'm just another user from this point of view, albeit one who ended up in quite a few discussions with various appropriate upstreams last time round :)"
Later on Paul Sladen continued a bit, among else:
"usb-modeswitch is a very long-winded way of sending a single usb-mass-storage command to the device's first profile"
"grep -hr MessageContent usb_modeswitch.d/ | sort -n | uniq -c | sort -rn shows the level of duplication in the configuration files"
"...I do like that it is done in userspace though, as so easy to disable if you wanted something else".
Meanwhile I also IM:d a bit with Antti Kaijanmäki from whom I probably originally coined the idea of following whether usb-modeswitch is integrated into Ubuntu or not. He mainly said that he doubts the feasibility of updating kernel's USB storage quirks in a stable release, compared to having stable release upgrades about the usb-modeswitch-data udev rules. He also proposed discussing maintainability and usability by distros with the Debian maintainer and upstream, although it sounds like Colin might have had some talks already.

So there we are now. Apparently at this point it is hoped that as many quirks as possible are inserted in the kernel, see for example drivers/usb/storage/unusual_devs.h in the kernel. But if you have concerns about if 10.04 LTS will be kept up-to-date regarding 3G modems and want to somehow participate in bringing usb-modeswitch into Ubuntu default installation or simply discuss how to handle the kernel SRUs properly, it's time to stand up and do something.

Should there perhaps be a process with which the usb-modeswitch developers would get the information they are gathering more easily to the upstream kernel _and_ (older) distribution kernels? Is this simply a case of being easier to address an issue with a "hackish" approach, or is the usb-modeswitch actually the right way to go?

Note that I'm no expert in this area, I simply become interested in various subject from time to time :)

-Timo, going to figure out a kernel quirk for his 3G modem

Timo JyrinkiUbuntu 10.04 LTS release fest in Tampere, Finland

The main release party in Finland was held at Tampere, Finland and organized by Ixonos Plc and COSS. It was a great success, as proven by the almost 200 participants and great speakers.

The first sessions were mostly about the basics of Ubuntu and its roots in Debian and elsewhere. Then Tuure Vartiainen from Tampere University of Technology shared with us the release from the official Finnish mirror perspective (fi.archive.ubuntu.com, fi.releases.ubuntu.com, ...). 10.04 LTS release date was very hectic and the transfer speeds were not constantly optimal, but quite good anyway. For 10.10 they hope to up the network connectivity to 10G. I also took the opportunity to thank him later personally for the Ubuntu Finnish Remix mirroring which was arranged right before the release as well.

The next-to-final session was about Ubuntu for senior people with brief demoing of how Ubuntu UI can be customized. To give a little different perspective to usage of Ubuntu, the final speaker was a theater director and dramatist Jotaarkka Pennanen from Interactive Film Productions. Blender among else was praised.

In addition to speakers, we had 300 Ubuntu Finnish Remix CD:s, Ubuntu posters, Free Software Foundation Europe flyers, COSS flyers et cetera. After the main program there was a dinner and some wine offered to participants, which was a great social ending to the event.

Now a few photos follow. Unfortunately they are from before the event actually began, so others have probably more crowded photos and photos of the speakers themselves.





Timo JyrinkiUbuntu Developer Summit - days 1 and 2

UDS-Lucid is going strong. Looking back, I've participated in the following sessions so far in addition to corridor/lunch/etc. discussions:
Mainly writing this to post some pics, so here you go:

Sunday evening at the lobby. I was awake for about 24h.

It's the Lynx!

sabdfl

A view from my hotel room window

Monty explaining MariaDB

Plenary sessions room preparations


Huge thanks to Canonical for sponsoring me to come here, mostly because of my I18N/translations work. And of course also thanks to my own employer for still paying my salary for the week ;), which is why I'm following also the mobile track a bit and mentioning us to anyone interested about possible co-operation on ARM/embedded stuff in our "corporation community".

Timo JyrinkiNon-technical work should be more important than fixing "small" technical issues like crashes

I thought to write this since a blog is a more correct place for this kind of stuff than arguing about priority issues in bug reports. The title is one way of explaining the need of FLOSS distributions to shift a bit away from just improving on technical aspects. My controversial claim would be that fixing highly visible I18N bugs is more important than fixing random crashers. People are accustomed to seeing application crashes from time to time, but do not want to be disrupted with non-native language in their basic computer usage. Not all people agree, and neither all people should agree.

I'm quite technical kind of person myself, but I think it's not just proper artwork / design teams we are (still) missing on FLOSS distributions, but that in general non-technical people should get more involved. It will mean the usual ”bah, those marketing/artwork guys” vs. ”bah those nerds only tweaking kernels” discussions will raise, but it is IMHO needed to have more heterogenic group of people making contributions to distribution development. Some more technically oriented developers would still not value I18N or artwork issues as much as application crashes, and that's perfectly ok and those guys rock, but the average (statistically) mindset of a contributing person would shift to treat different kind of issues more equally.

As an example let's take Ubuntu, the arguably most John Doe -oriented distribution there is. It is still far from concentrating enough on non-technical issues, but it is already getting a lot of heat from more technically oriented developers and users by doing the amount it does and being successful with it. Ubuntu 9.04 is going to rock I18N-wise , but the people responsible of realizing the need for most of the fixes (and offering a fix for many of them) are a small group of people between the technical developers and the users, who understand when there is a technical mistake somewhere regarding I18N. Currently the average Ubuntu developer is more interested in point number 1 in the Ubuntu philosophy than the numbers 2 and 3, and that would need to change.

What I see as lacking here is that technical developers mostly still use English on their computer even if it would not be their native language. I would hope that some percentage of FLOSS distribution developers would be willing to use their own distro in their own language. It seems currently rare that this happens, since otherwise we would not rely as much on completely other people to file bugs on things that are very visible, annoying and giving a bad impression about a distro to any non-English user. One way to understand the importance of the problems is to discuss more with ordinary users, since at least I've heard a _lot_ about many I18N bugs from various people, but the same people never mention crashes separately even if those would happen (some may say "oh yes it crashes sometimes but not too often").

In addition to Ubuntu, I hope that other distros will offer competition in the field as well, because competition always yields better results. Fedora is doing some stuff very nicely, and their upstream-integrated L10N services is better than Ubuntu's Launchpad in some ways, but probably because so many developers are US-based, some really visible bugs get even less attention than in Ubuntu.

Timo Jyrinki0.0% :P

timo@duuni:~$ vrms
Non-free packages installed on duuni

tangerine-icon-theme Tangerine Icon theme

1 non-free packages, 0.0% of 2418 installed packages.


CC-BY-SA used in tangerine-icon-theme is actually free according to RMS/FSF, just not that endorsed. I do know myself that CC-BY and CC-BY-SA are free, but not everyone does - FSF doesn't directly endorse Creative Commons licenses since they have also so severely non-free licenses with the non-commercial and no-derivatives requirements, and it's very easy to mix the non-free licenses with free licenses.

Anyway, it's non-free only according to Debian, since they have concerns about CC-BY-SA anti-drm portions. For me, CC-BY-SA 3.0 is fine enough (tangerine is 2.5) and Free by all means. I also think the (not uniform) anti-drm position within Debian is a bit two-edged. Not allowing drm so that users are not restricted should be ok in the same sense it's not allowed to make free, copyleft (eg. GPL) code non-free. I don't think anti-drm sections are always good, or that's always needed for all software (not all software needs to be copyleft either, it's just means to get freely usable software for the users). But done in the right way it's good to take into account these all kinds of things that can be done to restrict free software's free usage, including drm/patents/etc. GPLv3 got it quite well done, even though not all parties - wanting restrictions - can use it.

See Definition of Free Cultural Works for more about licenses for content.

Additionally to that one package I usually tend to have mplayer, apparently not now. But it's also free software, and it probably should be reworked so that it's in universe in Ubuntu too, since it's in main in Debian nowadays. It was originally put to multiverse because of the patent problems and even possible non-free code, but since a) potential patent problems don't make a software non-free right away (everything is potentially problematic in the current software patents world - it means more if some patent is actively enforced) and b) Debian has worked on the problematic parts, it would be beneficial not to mark mplayer non-free anymore in Ubuntu.

I use OpenJDK for Java without any problems, and Gnash for Flash with a little more problems ;) but I just don't want that Adobe trash on my machine.

Timo JyrinkiVALO-CD (FLOSS-CD) project

While Ubuntu 9.04 is all the rage (and ubuntu-fi was also updated and we have the neatest distro selector around), I was actually supposed to make a note about the Finnish VALO-CD, a collection of libre software to help people take the first steps to become independent from single software vendors. It is loosely based on The Open Disc Project.

Some funny details include that first of all VALO equals to FLOSS in Finnish, but as Finnish does not have ambiguity between freedom and price, we do not need so many terms in the acronym. That is, we have a proper word for ”libre” (”vapaa”). Secondly ”valo” as a non-acronym means ”light”, which I guess is somewhat proper.

VALO-CD project is also in co-operation with vapaasuomi.fi, a community of people specifically interested in the libre aspect of software and content.

Timo JyrinkiUbuntu Developer Summit and zombies

Part two of my random selection of photos follows. As for the UDS sessions participation, the rest of the week went in translations, Debian and mobile related discussions. Mostly translations/I18N whenever available, since those were a) primary reason for my sponsorship and b) I've had the most to contribute to Ubuntu in that area in the past, at least considering the visibility / impact.

I was happy to be able to participate to the second gun range visit. Otherwise it would not have felt I actually stepped out of the hotel, since I was too late on Monday for the first round and totally missed the ice skating thing.

The only thing hindering my UDS experience was total lack of good night's sleep. It seems I'm not much of a traveler in that aspect. Mostly the coffee and the pure hecticness of UDS were able to overcome the problem, but from time to time I'd just liked to sleep for 12 hours, which I finally did back home.

Thanks to all, that amount of hugely intelligent people in one place was quite an experience, together with the pace of the sessions. I do hope to see you again, preferably with a little more free time.

I don't know if you noticed it was possible to shoot classical kind of city photos from...

...the roof of our hotel.

Even though I flew away before Friday's Ubuntu Allstars, I was able to get some glimpses of the musical talent available at UDS.

This is just a proof I did see day-light during the trip.

Dell talk.

Zombies got shot...


...by this neat group of zombie hunters.
(note my GIMP skills to include everyone)

Timo JyrinkiOpenmind at Tampere

Openmind conference is again at Tampere, Finland today. The first keynote talk was from Quim Gil of Nokia, presenting N900 running Linux-based Maemo5. The talk mentioned a lot of openness thing, but I resisted my temptation to ask about ”how about loading the battery” when it was mentioned that you don't need to run Maemo on N900. Kudos again for the most open mass-market phone product on the market, despite there still being various serious shortcomings. Very far from Openmoko of course.

Video about using N900 as the presentation device as well at Youtube.


Openmind continues for today as a kind of prelude to the larger Mindtrek conference.

Update: here's one more photo of Teppo Sulonen, presenting ”City of Tampere IT solutions and Open Architecture”.

Timo JyrinkiUnboxing and Tinkering Dell Latitude 2110 with Ubuntu 9.10

This entry includes a few photos of my Dell Latitude 2110 which shipped with Ubuntu 9.10 Netbook Remix. Mostly it's however a critical view on the software shipped. Critical simply because I investigate it quite closely to see how it could be improved especially when sold to end users in non-English countries in the future. The device itself is great, as is the Ubuntu shipped with it. The laptop has the 1.83GHz Atom N470 which is quite nice together with its integrated and battery saving graphics. I also chose 1366x768 resolution for the screen and 16GB SSD for storage. But anyway, this is not a review of any sort.

Currently Dell Latitude 2110 netbook is the only laptop available with Ubuntu in the Dell Finland's web store. A few others have specifications that list Ubuntu as a choice, but in the actual customization view there is no Ubuntu to be selected. So this is the only one, and also only for corporate customers - the web site even says "big companies". In reality though this is reflected in one and only place - there is a mandatory "Company" field in the order form. However, not even the company ID ("Y-tunnus") is required. I did use a company name there, but I wonder if they would care if one would just put "-" or "Ubuntu Finland" or anything there...




Software Observations

I boot it up, and was greeted first with a Dell EULA. Next up was familiar (Ubuntu 9.10 era) Ubuntu logo, white on black. Some churning and a set up wizard was presented:



It worked nicely otherwise, but even though I selected Finnish as the language, it first suggested US keyboard by default. This is in contrast to what normal Ubuntu installer does - offers Finnish keyboard as well.

After that the Ubuntu Netbook interface appeared, and I checked around a bit. Ubuntu 9.10 Netbook Remix shipped with Latitude 2110 seems quite default. No extra repositories. Extra software however is installed, noticed by simply looking through Ubuntu menus: they include Dell Recovery Media creation tool, Citrix Receiver and Vmware View Client.



Digging a bit deeper, I checked the package selection with Synaptic. The reason there are no extra repositories is that packages are installed without repositories. The following packages were "local or obsolete" after refreshing the normal Ubuntu repositories:

Local/main:
- alsa-driver-hda-intel-dkms (git.20100301)
- dell-recovery
- realtek-rts-pstor-card-driver-dkms
- vmware-view-client

UPDATE Sep 01, 2010: Added link to dell-recovery (in Ubuntu repositories) and especially the SD card reader (GPLv2). Patched ALSA shouldn't be needed for anything in Ubuntu 10.04 LTS anymore, and vmware-view-client is available elsewhere. The non-free stuff below are a) not that interesting and b) non-free, potentially non-distributable.

Local/non-free
- ctxusb
- icaclient
- libmotif4
- libmrm4
- libuil4
- libxm4

The great thing is that seemingly most of the customization is indeed done via packages. Great job with both that and correctly separating archive entries depending on whether the software is free or not. The packages themselves are located in the recovery partition of the hard drive.

Some more package observations:
- adobe-flashplugin is installed by default from Canonical partner repository (and the repository is enabled by default)
- besides it, no extra non-free software is installed, that is nothing from multiverse and only bcmwl-kernel-source from restricted
- also, nothing from universe

Language Problems

I didn't expect a fully Finnish laptop since the language of Ubuntu couldn't be selected when customizing the order, and I didn't get one. It's clear there is no effort yet put to actual localized offerings, but still it was possible to choose (any) language with the first boot of Latitude 2110.

Language problems are quite ok at this point since the device is not being sold as a localized home user product yet. Nevertheless, it's good to list issues that need to be fixed before localized devices can be sold. At least in Finnish, dunno how's the state of for example Inspiron 10 devices shipped in Germany and elsewhere to also end users via web.

Number two problem regarding languages software was (number one being the wrong suggested keyboard) that full Finnish support was not offered to be installed (and it wasn't installed by default). Since the selection of language was possible during first run, suggesting download of or automatically downloading language support should be done. Normal Ubuntu does it also in Ubuntu 9.10 just nicely also in the cases that installation is done without Internet connection / full language support, so somehow Dell has unfortunately disabled that feature or not allowing it to run. The hook that checks the language support and shows a message is included in language-selector, the message itself in file /usr/share/language-support/incomplete-language-support-gnome.note.

I ran Language Selector manually, which fixed the problem and indeed works fine nowadays in Ubuntu. However, I also noticed that in Language Selector "For my menus and windows, use" had "English (United States)" selected, so only the second item had Finnish selected. It seems therefore that the setting up of the language during setup wizard doesn't do a complete job anyway for the new user created at least. Only after selecting it manually did the language tool correctly download and enable all the needed support for my language.

The Only Big Problem (...that was fixed)

Now for the only big WTF during my tinkering:

/etc/apt/apt.conf.d/00secure containing lines:

APT::Get::AllowUnauthenticated "true";
Aptitude::CmdLine::Ignore-Trust-Violations "true";

This simply leads to eg. synaptic package manager complaining about all upgrades being unauthenticated, and elsewhere possible well needed warnings are simply not shown. I have no idea what's the basis for shipping this kind of security hindering settings with the laptop.

UPDATE: This was later fixed in Ubuntu as a security issue, see CVE-2010-0834.

What Next

After these observations and being quite happy with a laptop that has Ubuntu straight out-of-the-box (which also saved 80€ of money + taxes compared to default OS), I created a recovery ISO image with Dell's tools and then I let Update Manager upgrade Ubuntu to 10.04.

Ubuntu 10.04 LTS was smooth enough already, but I also upgraded latest Intel graphics drivers from xorg-edgers. My only irritation is the Broadcom WLAN driver 'wl'. It works just fine in 10.04 LTS. The irritation is the amount of battery eating wakeups it generates even when there is no traffic going on. AFAIK it's a non-free driver from the vendor, and once again it's one of those that works in principle but is miles from being a well behaving kernel driver. It seems the free b43 driver does not support the BCM43224 chipset (14e4:4353) yet, so unfortunately I'm currently stuck with this driver. Luckily the laptop (and Ubuntu) is otherwise so great on using power, that I still get 5+ hours of battery usage at least (haven't measured much yet).

I'm very happy with what Dell is doing. I do hope the consumer sales would soar (and become available in Finland in the first place via the consumer retail channels there already exist). I also hope the language support bugs would be fixed - it's not tremendously hard, I could probably fix and test all the problems myself if I'd be given the task. Maybe the new Ubuntu 10.04 LTS offerings will already have some of it working better. All in all the Dell Latitude 2110 with Ubuntu 9.10 Netbook Remix was a problem-free ride, and had I simply used it in English it would have worked out-of-the-box smooth as butter.

Timo JyrinkiPohjoismaista FLOSS-blogiyhteistyötä

Jos blogit.vapaasuomi.fi ei riitä, kannattaa harkita myös uutta pohjoismaista F{N}OSS-blogiyhteenliittymää: http://fnoss.org/planet/. Koskapa myös muut kirjoittavat sekä äidinkielellään että englanniksi, ei suomen kielikään haittaa.

Jeremiah Fosterin käynnistämä Planet onkin tervetullut lisäys, sillä en ainakaan itse tiedä kovinkaan paljon muiden Pohjoismaiden vapaisiin ohjelmistoihin liittyvistä asioista. Poikkeuksena ehkä Free Software Foundation Europen aktiivinen Ruotsi-osasto, joka on järjestänyt muun muassa FSCONS-tapahtuman.

Vastaavasti olen melko varma, että suomalaisten puuhista ei juurikaan Linusia enempää tiedetä, siitä huolimatta että täällähän tapahtuu vaikka mitä! COSS:lla on englanninkielinen sivusto, mutta noin muuten esimerkiksi vapaasuomi.fi tai eri jakeluiden sivustot jäänevät kielimuurin taakse. Kannattaakin välillä miettiä, miten kansainvälisiä yhteyksiä voisi parantaa. Kirjoitin vähän aikaa sitten FSFE:n wikiin Helsinki-sivua alkuun, tosin vain suomeksi :P Ja FSFE on nyt kuitenkin vain yksi järjestö monista.

June 15, 2011

SteelRat developmentSteelRat edge menus

As mentioned earlier, I'll present an overview on the basics of our Steelrat Tablet reference UX here. I will start with the edge menus, as they are rather central to the overall concept.

The UX heavily emphasizes the use of edge-based menus for occasionally used functionalities. Only the most often used controls of an application are provided on screen at all times, while the rest are tucked away into menus. There are four distinct kind of menus, each opened by swiping from a different screen edge towards center of screen:

1) System menu: Opens from top edge; Contains system-wide functionalities such as power off, sleep, and network connectivity. Can be activated at any time (except when a system-wide modal dialog is on screen).




2) Task switcher: Opens from right edge; Has thumbnails for all running applications as well as for the home screen. Can be activated at any time (except when a system-wide modal dialog is on screen).




3) Application toolbar: Opens from left edge; Contains application-specific toolbar icons that are relevant to whatever content the application is currently displaying. In other words, "quite an ordinary application toolbar". May also in some applications contain additional UI elements, such as in the subsequent example image the browser location bar and such controls.




4) Context menu: Opens from bottom edge; provides thumbnails to switch between different contexts within the same application. For example, web browser allows switching between tabs by using context menu. Also e.g. media player allows switching between music browsing, video file browsing, as well as internet radio station catalog by having those available as different contexts.


(The screenshots above are early mock-up graphics that were drawn to explain the design to the development team; the actual UX has a more polished theme to it.)

SteelRat developmentResponsiveness of the UX as a primary driver for development

Responsiveness of the user interface is one of the most important aspects of a good user experience. The response to individual actions such as touch gestures needs to be immediate; even a small but noticeable lag degrades the overall user experience greatly. Reasonable response times to various user actions as specified by our UX team are a real design constrait to our technical teams.

This also includes things like application startup times. To enhance the feel of responsiveness while launching an application, the user interface of practically any application should bring itself up in a reasonably short time (in contrast with typical desktop PC applications, that often take several seconds to initialize before any visible response is provided on screen). For SteelRat, we currently use an assumption of 1 second for an acceptable time from launch of an application to having its user interface constructed and visible on screen. Not exactly an easy goal for some of the larger applications, but with clever caching, spare pre-instantiated processes, library optimizations, combined with some UX smoke and mirrors ;-) this is possible to achieve on typical target hardware.

Regardless of whether the SteelRat Tablet reference UX or a custom-built UX is used, we have the responsiveness/performance as one of the primary drivers for the actual implementation. Those who saw our latest SteelRat prototype in San Fransisco MeeGo conference in last month, already know what I'm talking about.

June 13, 2011

Kaj GrönholmQt Contributors' Summit



I will be mostly interested in discussions about Qt5 graphics stack, qml-box2d, QtQuick 2.0 and of course QML Scene Graph. So whenever something related to these is going on, please grab me in!

May 25, 2011

SteelRat developmentVideo coverage of SteelRat from Meego Conference

There is a few minutes video on SteelRat on youtube, taken at Meego Conference by netbooknews.com.

May 24, 2011

Antti KaijanmäkiBook: Peopleware

Title: Peopleware: Productive Projects and Teams (Second Edition)
Authors: Tom DeMarco, Timothy Lister
ISBN: 9780932633439

What can I say.. Many people recommended this book for me, but unfortunately it’s hard to get in reasonable price. If anyone wants to get a copy, and you should, I recommend you order from Borders.

The book, although the main content has been written over 20 years ago, gives a humane point of view in the area of project management and organizations. It was almost shocking to me to discover that the same problems that DeMarco and Lister pointed out in our way of industry is are still completely valid today; the lack of humane aspect in organizations.

The main message which I received from the book was that it’s crucial for companies to invest in “human capital”; the well-being and comfort of the people who work for them. Human capital is something that does not have any direct measurable value in money, but the value comes from greater productivity and results; happy people get more done in less time.

It was striking that as a team manager I have sometimes questioned my decisions whether or not I should do “as it’s always done” or should I try to find out some other solution which is more pleasant for the subordinates the decision affects. This book clearly clears all the questions from my head; do a decision that show you care for your people and invest on human capital and in the end you always end up with better results.

After reading the book I feel I’ve matured as a manager as I now clearly have a clear approved guidance to concentrate on the most important asset of any organization: the human capital.

SteelRat developmentIntroducing SteelRat

Hello, and welcome to my blog, where I will try to document the development of Nomovok's SteelRat product every now and then. I will be concentrating mostly on the UX side, as that's the domain I am most involved with, however I try to cover other aspects as well.

So, to begin with, SteelRat is the name for Nomovok's MeeGo-based software platform (or rather, a family of platforms), targeting various sorts of embedded devices such as tablets, IVI systems and handsets. We demonstrated the first version of SteelRat Tablet Reference UX at the San Fransisco MeeGo Conference in this month. The tablet UX is the first one to be released, for others I'm not able to publicly give a launch date yet. SteelRat is to my understanding named as a tribute to Slippery Jim, but as the name was inherited from an earlier project the origins are a bit of a mystery. At some point our little mascot just ... evolved.



But what's SteelRat, really? First of all, we have the SteelRat platform, based on a slightly modified MeeGo and being compatible with it (compatible as in "adheres to compliance specification version this-and-that"). Ordinary MeeGo-compatible applications will run on SteelRat out-of-the-box. However, SteelRat provides certain enhancements that are not available in mainline MeeGo yet. For Steelrat 1.1 (San Francisco release) we used a MeeGo snapshot from early April as the MeeGo baseline. On top of that, we packaged a version of Qt with support for Qt Quick 2.0, also known as the QML Scenegraph. This allowed our UX developers to use all the fancy effects. Scenegraph engine makes the rendering decisions and is the #1 core feature for the up-and-coming Qt 5.0 - we simply wanted to enable it already. The same holds true to Qt Mobility, as the version in MeeGo didn't quite play together with the declarative stuff in the future Qt. In fact, our entire Qt stack is running ahead of the official MeeGo platform, and this allows us to experiment with, and deploy features which are not yet available for users of the stock platform.

On top of the platform, there is a device category specific reference UX layer, which consists of general system UX components and individual applications. The UX part itself is entirely made with Qt/QML, and decorated with GLSL shader effects to create UI that doesn't look dull and static. The UX is practically a full replacement for MeeGo UX, but as said, we do support running MeeGo-compliant applications on SteelRat.  The reference UX is designed to serve as the product UX for products that do not require extensive vendor-specific UX design, but it can also be replaced quickly with another UX implementation, thanks to the power of QML. In further posts I will provide a walkthrough of SteelRat tablet reference UX.

Oh, almost forgot: We have an existing Youtube account here where videos of SteelRat will be posted. However, the UX was basically overhauled completely since February, so any material that is there is completely obsolete and doesn't look like current SteelRat at all. I'll arrange some new videos to be uploaded soon, I'll post links here as soon as they are available!

May 06, 2011

Kaj GrönholmQML Metaballs

Kimi, the man with excellent genes, blogged few days ago in here about QML extension plugin that provides shader effects for QGraphicsView based Qt Quick 1.x. What makes this magnificent, is the fact that API matches to what QML Scene Graph (at least currently) has, making it a perfect solution to start experimenting with the future. Also, as it is a separate plugin sitting on top of standard Qt 4.7.x, it turns "Qt everywhere" to "shaders everywhere" right now while waiting for the full Scene Graph glory.

All you need is 1) Qt 4.7 installed in suitable environment (Linux, Windows, Symbian etc.) 2) the qml1-shadersplugin and 3) imagination for writing QML & GLSL.

What I came up with using the plugin is something they call metaballs:



Source codes are available in here, go wild! And kudos to Nokia/Qt team for providing this plugin!

April 05, 2011

Antti KaijanmäkiMeeGo Architecture – Removing Components From 1.2

The following component will most probably be removed from MeeGo 1.2 compliance specification and architecture diagrams

Arjan van de Ven explains:

Recently we have been evaluating these features and feel that these  technologies, as integrated into MeeGo, haven’t reached the maturity that we want to commit them into MeeGo 1.2 core.

As a result we are proposing to, for MeeGo 1.2, not include these  components in the official architecture diagram or the compliance spec since either means a compatibility commitment going forward as well as a requirement for everyone who makes products with the MeeGo brand to include these components. As these things mature going forward, we hope that for MeeGo 1.3 we can put a much more mature policy layer as part of the core architecture and compliance set.

He also notes that the components are not removed, but as the result of removing them from the compliance specification not all MeeGo 1.2 products have to include them.

On follow-up Jussi Liukkonen points out:

I would consider this a prudent approach. APIs we cannot comfortably commit to, we should not commit to. And these APIs have not settled yet.

However, the functionalities these components implement are quite important for actual products. I expect we’ll see a number of 1.2 based products, more or less relying on these implementations.

These components are mostly driven by Nokia. This move just might be a test for Nokia to see if they are truly engaged to MeeGo in the future. If Nokia does the necessary work to keep them for 1.3 and truly shows the motivation and engagement then the components will be available in the future, too.

On the other hand if Nokia drops the ball completely and stops maintaining these components I’m not sure if Intel is willing to drag them along alone. By removing these components from compliance specification Intel can drop them in the future if no one is left to maintain and develop them further.

March 22, 2011

Antti KaijanmäkiWhen Everything Seemed Lost

SteelRat to the rescue!

Here’s the first episode, if you’ve missed it:

You can follow the quest of SteelRat on our YouTube Channel. Stay tuned! :)

March 21, 2011

Jouni RoivasWayland

Recently Wayland have become a hot topic. Canonical has announced that Ubuntu will go to Wayland. Also MeeGo has great interest on it.

Qt has had (experimental) Wayland client support for some time now.

A very new thing is support for Qt as Wayland server. With that one can easily make own Qt based Wayland compositor. This is huge. Since this the only working Wayland compositor has been under wayland-demos. Using Qt for this opens many opportunities.

My vision is that Wayland is the future. And the future might be there sooner than you think...

March 03, 2011

Antti KaijanmäkiWay Forward

As you know on Friday February 11th Nokia announced a new strategy. This strategy was a complete turnover of previous long term goals and commitments of Nokia and it had a devastating short term effect immediately through out the Nokia subcontractor network in Symbian and MeeGo front.

Nomovok’s strategy and direction however does not change. We continue to commit our selves on MeeGo and that direction seems very strong in long term.

Unfortunately at this moment our situation is pretty hard. To be honest the past few weeks have been filled with uncertainty and confusion. We are actively searching for new ventures and we believe strongly in the potential of MeeGo.

I am certain though real talent always has demand and talent we sure have :)

March 01, 2011

Antti KaijanmäkiQt 4.7.2 is out

This message just hit the qt-interest mailing list:

Qt 4.7.2 has now been released. This is a maintenance release which contains bug-fixes based on feedback and contributions since the Qt 4.7.1 release back in November. It also marks the official release of Qt Quick.

See the full announcement for more details.

Antti KaijanmäkiHello Planet Nomovok!

My name is Antti Kaijanmäki and I work as Software Architect at Nomovok Ltd.

I’m a big FLOSS supporter and MeeGo and Qt are the main interest of mine. More information about me is found from my homepage and LinkedIn profile.

I hope to enlighten you in the future with some insight about multi touch and gesture related matters through this planet, so stay tuned for updates.. ;)

February 24, 2011

Jouni RoivasMeeGo status

Our CEO started a blog: http://cannedbypasi.blogspot.com/

He wrote first entry about MeeGo and Qt status.

Shortly: MeeGo is alive and kicking.

Pasi NieminenMeeGo / Qt - Alive and Kicking

What's going on around MeeGo now? Nokia goes for MicroSoft, and Intel does what?
Signals are fairly mixed for all of us working on MeeGo, and even more for the people following the development from the distance. Here is some background information first: last 6 months I have not only traveled around the world and met some 150+ companies to discuss about MeeGo and Qt, but also worked in a tight collaboration with Nokia's MeeGo people, such as Valtteri. I can say that I have fairly solid understanding about the MeeGo status and where the things are moving.

During the last week in MWC Barcelona I had countless meetings, and even larger number of phone calls after that, always starting with an equally blunt question: "what is happening, is MeeGo dead now?" After "buckets of cold water", and the following chaos, the dust seems to be settled now. Follow MeeGoers are getting themselves reorganized. Personally I got an excellent excuse and decided to start this blog to shed some light for the current development, and to do my duty for the community and the business.

First, back to the basics. During the last 6 months we've seen tremendous pull on the market for MeeGo, being just Intel and Nokia thingy at first, but now for different platforms and different manufacturers. The main driver is very clear, always the same, the market dominance of Google Android. Operators and manufacturers have equally ended into the situation where the options are either Android or Android, the other alternatives seem not to be viable. The starting point of the Android was Open Source – true, in theory it is OS, but the plain fact is that it is fully controlled by Google. It is their internal development, with their agenda. And the agenda is very plain and clearly fully focused to deploy the Google services and move the money of all the others to Google. This gives you nice overivew for their cocoon strategy. The difference here to understand: MeeGo is not really anything new, it is the same stuff as Canonical's Ubuntu, especially now when Ubuntu goes for Qt based UX. It is the same stuff that most of the companies have been using before MeeGo already, just without any clear statements (you cannot really see what's in the box, unless there is a sticker, and OSS does not require a sticker, unlike some others). The differences are just the tools and ways to differentiate MeeGo. Idea is not just to download and install one and the same software, it's that the UX can be easily fitted for your purpose, combining the app level compatibility and different looks. The biggest thing we are expecting to see now is Qt, Qt and Qt, the absolutely outstanding Qt tools, no matter if it is Ubuntu or MeeGo. This is the first time ever to have unified OSS developer story that is the same for handsets, tablets, netbooks, settop / TVs, and cars (IVI). This is something we have never seen before. One thing to mention here is QML, which the thing making the creation of small apps really easy and fast. Remark here on Qt, after the announcement even Nokia made a series of announcements on Qt, by Rich Green (Nokia CTO). It is alive. The arguments about MeeGo being not mature are not true, these things are all over already. All pieces are in place, and the integrated next release of MeeGo 1.2. will give very solid basis for the products now.

Now, what's happening behind the curtains? Intel is now recruiting heavily to build even better MeeGo execution organization. New companies are stepping in to take over the space that Nokia is leaving behind. A hint, wait for the news from different places in Scandinavia and Asia. We at Nomovok are now working our heads off, in collaboration with another companies, to come up with a clear story for all the OSS developers, Qt - everywhere, to be precise QML. I already know a half dozen of major global companies that have MeeGo teams working on a range of products, out of limelights. All MeeGo activies are now converging nicely towards Qt (MeeGo 1.2, is now dropping GTK+ / Clutter), making the overall story even better. All in all, MeeGo is now becoming a nice umbrella of OSS usage in huge variety of embedded devices, while focusing more on API level and Qt issues, meaning less focus on the actual distribution issues, so it's not really competing with Ubuntu and others, it's supporting them. A true platform to innovate new services and apps easily, while retaining the control of your own products. This is exactly what OSS has always been the best in, with a proven track record. What I am expecting to see
in the next few weeks are some announcements from manufactures, as well as vivid discussion within many car manufacturers, Genivi.

We at Nomovok are now working heavily to push our MeeGo prototype forward to the product level. Our steelrat, see here, is now running on 4 different ARM (cortex A8/A9) and IA platforms. First time ever it has the latest Qt lighthouse and scenegraph with nice OpenGL shader stuff running on it. Check also our mission here. More things coming soon.

To summarize, MeeGo and Qt are strongly alive, gaining momentum to move to the next phase. I see great things happening in the main event of the MeeGo year of 2011, MeeGo conference in San Francisco. Join us to unify the developer story of Qt and QML. Please, feel free to add your comments here and throw in your ideas or challenge me, make yourself heard.

Stay tuned for updates!


February 20, 2011

Kaj GrönholmSuperior technology

I decided not to blog anything right after Nokia & Microsoft deal was published. And I'm glad about that, because I have now reached the state where I'm actually excited again! Volker Hilsheimer made a very good summary about the situation from Qt perspective.

Instead of going deep into politics and sales speeches, I decided to approach this from a technical perspective. Keeping things simple and concrete, here's one example UI implemented in few hours with Qt Quick & QML Scene Graph:



Please spend a bit time looking at what is really happening in there: wave, colorize, fading, water, text highlight... This is ~300 lines of QML + GLSL, performing smoothly on good ol' N900 hardware. Same can not be done using WP7 Silverlight & XAML, period.

Qt is still the best platform for "mobile phones" and we have also here good ingredients for the "future disruption" like Nokia management has outlined. But technology is nothing without a community (a.k.a. "ecosystem"), so question is that are we going to continue the work and do it? While you think about that, I'll continue hacking with my superior technology! =)

January 16, 2011

Kaj GrönholmQML Scene Graph demo

Here is a small demo of QML animations combined with OpenGL shader effects, running on QML Scene Graph:



At first, everything is gray and plain. But once you enable QUIt mode, the whole world feels a lot more colorful and dynamic. Some call this feeling velvet, I call it.. exciting 2011!

November 29, 2010

Jouni RoivasEncrypted rootfs on MeeGo 1.1 netbook

I promised my scripts to encrypt the rootfs on my Lenovo Ideapad running MeeGo 1.1. It's currently just a dirty hack but thought it could be nice to share it with you.

My scripts uses cryptoloop. Unfortunately MeeGo 1.1 netbook stock kernel didn't support md_crypt so that was a no go. Of course I could compile the module myself but I wanted out-of-the box solution.

Basic idea is to create custom initrd and use it. My solution needs Live USB stick to boot and do the magic. Also another USB drive is needed to get the current root filesystem in safe while encrypting the partition. I don't know if it's possible to encrypt "in place" meaning to use two loopback devices. However this is the safe solution.

For the busy ones, just boot the MeeGo 1.1 Live USB and grab these files:
http://kaaos.huutonauru.net/meego/netbook_rootfs_crypt/crypt_hd.sh
http://kaaos.huutonauru.net/meego/netbook_rootfs_crypt/mkcryptrd.sh

Then:
chmod a+x crypt_hd.sh mkcryptrd.sh
su
./crypt_hd.sh

And follow the instructions.

The ones who have more time and want to double check everything, please follow instructions at: http://kaaos.huutonauru.net/meego/netbook_rootfs_crypt/README

This solution has at least one drawback. Once the kernel updates you have to recreate the initrd. For that purposes I created a tiny script than can be run after kernel update:
http://kaaos.huutonauru.net/meego/netbook_rootfs_crypt/update_initrd.sh

That script also needs the mkcryptrd.sh script above.

Of course that may break your system at any time, so be warned.

For my Lenovo Ideapad S10-3t and MeeGo 1.1 netbook it worked fine. My test case was to make very fresh installation first from the Live/installation USB. Boot again and setup the cryptoloop from Live USB. After that I could easily boot my crypted MeeGo 1.1. It asks password in very early phase of boot process. After it's written correctly the MeeGo 1.1 system should boot up normally.

This worked for me, and I give no guarantee that this works for you. However you're welcome to send patches and improvements.

UPDATE 29.11.2010:
Some people have reported problems when they have different kernel version than on Live USB. The're unable to boot back to their system. I try to figure out solution for this issue.