Since today is Epiphany, the last of Christmas holidays, I thought to post a screenshot of our xmas-themed staff page before it goes the way of the Christmas tree:
Technorati Tags: nemein
Posted on 2009-01-06 15:00:42 UTC in 47° 23.226 N 8° 30.929 E Zürich (Kreis 6), CH to Business. 0 comments.
Since today is Epiphany, the last of Christmas holidays, I thought to post a screenshot of our xmas-themed staff page before it goes the way of the Christmas tree:
Technorati Tags: nemein
| save money using, phone card |
Posted on 2009-01-07 21:11:21 UTC in 60° 10.512 N 24° 55.152 E Helsinki, FI to Politics. 0 comments.
I have criticized the remote-readable EU passports before, but today I got to try their benefits: the automated border controls at Helsinki-Vantaa airport.
I was returning back from Switzerland, and although they've recently joined the Schengen treaty, air passengers are still checked for passports until March. This means that the Finnair flight still ended up in the non-Schengen terminal of Helsinki-Vantaa, forcing me to go through the border checks.
I'd seen the machines there before, and as I now wasn't in a hurry, I decided to try them. The experience is quite cool, but somehow it also feels a bit scary to validate your entry to your home country to a machine.

To enter the country you insert the passport into a reader, which then opens the first gate. Inside that gate is another machine in front of which you need to stand. It takes a picture, and apparently compares that to the one stored on the chip in the passport. If the pictures match, a second gate opens and you're in the country.
I considered keeping my hat on to see what happens if the identification fails, but then decided not to bother.
In any case, as with electronic check-in machines, people generally are too afraid of technology to use the automated border check, meaning that this is a great way to skip queues.
Of course, none of this would require the passports to be remotely readable, not to mention the other security issues with them.
Posted on 2009-01-08 15:41:31 UTC in 60° 11.232 N 24° 58.236 E Helsinki, FI to Mobility Desktop Midgard. 0 comments.
As it was for the Zend folks, 2008 was quite a busy year also in the Midgard-land. I think the last time there was so much activity and energy in the project must've been sometime in the early days. Here are some highlights from it:
Midgard 2: finally a reality
The big news of 2008 was that Midgard 2, the long-time holy grail of the project finally became a reality: something you could actually install and run. In addition for all C code having been rewritten from scratch, the Midgard 2 stack also includes language bindings to PHP, Python and Mono, and a completely new MVC framework, the MidCOM 3. Inter-process communications are facilitated by D-Bus and XMPP.
A stable release targeted for mobile and web application developers will be released in March 2009, codenamed Vinland. This will make Midgard an interesting storage framework, regardless of whether you're working on GNOME, Maemo or PHP.
New communications, new release process
How to communicate Midgard's uniqueness was a big discussion during the summer, and as a result we settled on a new, more fitting positioning:
Midgard is an Open Source persistent storage framework. It provides an object-oriented and replicated environment for building data-intensive applications.
The theme was expanded further in FSCONS when we started describing our vision of enabling users to have their data with them, at any time, and on any device.
In addition to the new communications, we also clarified the release process by joining the larger free software release synchronicity movement. From autumn 2008 onwards, there will be a stable Midgard release happening every six months, followed with smaller bug fix or feature enhancement releases.
The first release to follow this new pattern was Midgard 8.09 Ragnaroek, a long-term supported release that will be the last generation to include the old Midgard 1.x codebase.
To make Midgard installation easier, we also started using the openSUSE Build Service, which enables us to provide binary packages to many popular Linux platforms.
Leaner and meaner Midgard
A lot of focus was also put into making Midgard run faster and on less resources. The whole Midgard 2 architecture has been designed to be faster right from the beginning, but many improvements have happened also in the old, stable Midgard branch:
Rebirth of the OpenPSA project
OpenPSA, the management software package for consultancies originally developed by Nemein had fallen out of maintenance during 2007. Proving the resilience of free software projects, the project was reborn in 2008, thanks to efforts of Andreas Flack from Content Control.
During autumn the software was largely refactored to fit the Ragnaroek architecture, and a new major release will be coming soon out as part of other Ragnaroek releases. After this OpenPSA should be more visually appealing, significantly faster, and generally more usable.
And a personal view
For me personally 2008 was also quite hectic... I spent a lot of time traveling between conferences and almost moved to Istanbul and then didn't. The new year we welcomed in Rome in a quite random company, of which there will be another post later.
Posted on 2009-01-13 11:37:04 UTC in 60° 11.250 N 24° 58.188 E Helsinki, FI to Desktop Geo Midgard Mobility. 0 comments.
FOSDEM, held in Brussels on Feb 7th and 8th, is the most important free software event of the year in Europe. While I'm going to Poland instead of there this time, the event is an excellent opportunity to learn more about two projects I'm involved with:
Midgard and a replicated P2P filesystem
Sun Feb 8th 2009 at 16:20, Room Ferrer
Tero Heikkinen, who spoke about Midgard already in OpenMind and FSCONS will be giving a lighting talk about building a peer-to-peer replicated filesystem with Midgard and FUSE. If you thought Midgard was just a CMS, this is an excellent opportunity to learn how things have changed.
You may want to have your data available and editable everywhere, even you are not connected. You may also want to share data with your friends as you meet them or just make some copies of you most important files. Keeping files sync or sharing them without any extra work is challenging.
...Storage backend is done with Midgard 2 that uses libgda for database connection. Midgard 2 provides GObjects that are available for Midgard's python bindings. Python has also bindings for FUSE so now there's a working stack for creating userlevel filesystem that is very versatile...
Bringing geolocation into GNOME
Sat Feb 7th 2009 at 16:15, Room H.1302 (GNOME developer room)
Pierre-Luc Beaudoin, the developer of libchamplain, a GTK map rendering widget, will be giving a talk about the potential GNOME (and GNOME Mobile) geostack that includes GeoClue for getting user position and handling conversions between civic location and coordinates, and libchamplain for visualizing location in various applications.
libchamplain is already on its way into various GNOME applications like the EOG image viewer and the Empathy instant messaging tool. GeoClue is in incubation into the GNOME Mobile stack, and has already been featured in the Garmin Nüvi 880 navigator.
Technorati Tags: fosdem, fuse, geoclue, gnome, midgard, p2p, libchamplain
Technorati Tags: fosdem, fuse, geoclue, gnome, libchamplain, midgard, p2p
Posted on 2009-01-29 08:23:18 UTC in 47° 49.368 N 13° 2.514 E Salzburg, AT to Mobility Desktop Geo. 0 comments.
Ars Technica has a nice introductory article about GeoClue:
A multitude of factors are contributing to a mobile computing renaissance. Some of these factors include the growing availability of ubiquitous mobile Internet connectivity and the rising popularity of netbooks and other Internet-enabled small form-factor devices. These changes are inspiring a renewed interest in location-aware software and web services.
A framework called GeoClue aims to enable integration of location-aware technologies in Linux desktop applications. It is an abstraction layer that makes geolocation functionality accessible through a standardized desktop-neutral API that is easy for applications to consume. It will provide a C library and also expose its functionality through D-Bus, an interprocess communication system that is widely used on Linux.
Gtk+ map rendering widget libchamplain and the recent Empathy-GeoClue XEP-0080 integration announcement are also mentioned. In the KDE/Qt end, Marble would provide similar visualization features.
Technorati Tags: geoclue, gnome, kde, libchamplain, marble
Posted on 2009-01-31 00:43:55 UTC in 60° 10.512 N 24° 55.152 E Helsinki, FI to Midgard Oscom. 0 comments.
I spent this week at Salzburg Research in Austria attending the kick-off meeting of the Interactive Knowledge Consortium, a €6,5m EU-funded project to introduce semantic capabilities into open source content management systems.
Nemein is participating in the project as one of the six industrial partners. For the next four years we will be working together with cool CMS companies like Day and Nuxeo, as well as with some of the leading European researchers in the field of Semantic Web.
The plan is reasonably simple: we will try to figure out what kind of semantic features would make sense to CMS end-users, and then based on that develop the user interface conventions and tools that various participating CMSs can apply. Once the case has been proven with the initial participating systems, we will then help other CMS projects to implement the same stack in order to set off a wave of semantically-enhanced websites across the Europe.
For us in the Midgard community this is well-timed, as we're anyway concentrating much effort on the new "Vinland" series in order to build a set of content management tools that can carry us through the next ten years of web evolution, as the old Midgard series did since 1999.
The project will be a good chance to leverage our experiences with Microformats and apply them to the "uppercase semantic web". Use cases range from smarter queries into content inside a Midgard repository to automatic maintenance tools utilizing semantic content in external resources.
In addition to taking Midgard to a new level as a CMS, it will be great to collaborate again with several familiar faces from the old days of OSCOM - people like Bertrand from Day, Sandro from InitMarketing and Alexander from Alkacon.
Technorati Tags: iks-project, semanticweb
Posted on 2009-02-02 09:36:26 UTC in 60° 11.250 N 24° 58.188 E Helsinki, FI to Midgard. 0 comments.
I've been following the Java Content Repository story since the OSCOM conferences of old. Last week, I took a new look at it as Bertrand Delacretaz from Day held a JCR presentation in the Interactive Knowledge Consortium meeting. And you know what? Midgard and JCR resemble each other quite a lot:
There are some important differences, though:
Even with these differences, Midgard and JCR remain surprisingly similar on the conceptual level. It would be an interesting experiment to finally create the Midgard-JCR bindings that Jukka Zitting started long time ago.
Technorati Tags: jcr, midgard, repository
Posted on 2009-02-10 08:07:14 UTC in 51° 46.344 N 19° 27.336 E Łódź, PL to Business. 0 comments.
From the bubble-era start-up times in 2001, Nemein has based its invoicing on hours used, as is typical in the software consulting industry. The company provides services on a 100% pure, organic free software stack, and therefore there are no other additional costs beside maintenance on top of the normal work hours used for a client's benefit.
With some clients we invoice as we go, and with others everything is based on tight budgeted amounts of hours. However, as Cory Doctorow's 2001 essay on the utopia of Semantic Web reminds, humans are notoriusly bad at estimating the time something will take, and so often the resolution of a full or half hour is too strict for accurate estimation.
This, and the tediousness of time tracking has kept me looking for a better way. And such a way presented itself when having some discussions over coffee and cognac at a dinner party held in the Nokia Manor: how about stopping obsessing about strict amount of hours, and starting to use a bit more flexible model?
Following the Getting Things Done doctrine of allowing only "actionable" tasks, we would split every project into a group of tasks, each provided with a ballpark estimate labeled with terms common from the clothes industry:
We could've taken this to extremes and allowed XXL tasks, but again, to keep things actionable, it is better to split larger efforts into more manageable chunks.
Moving away from strict definitions of time used also would allow us to do something quite appealing: estimate the impact of a given task, the benefit a client will receive from it, and use that as the basis of invoicing.
Of course, this all will not free us completely from the evils of hour reporting. Finnish employment law requires us to keep track of working hours to make sure overtime is compensated, and many of the freelancers working with us bill us by the hour. But now this hour reporting will be greatly simplified as you can just "clock in and out" at the start and end of the working day instead of trying to keep track of various half hour bits and pieces.
And instead of tracking how much time we've spent at the office, we can start measuring the tasks accomplished for our clients. And that should be the more important thing for a consultancy.
Posted on 2009-02-16 19:41:46 UTC in 60° 10.512 N 24° 55.152 E Helsinki, FI to Desktop Midgard. 0 comments.

Good work, Debian Project: Debian GNU/Linux 5.0 is released!
As Midgard release manager Piotras wrote in his Jaiku:
debian Lenny (5.0) is out.
It means vinland will run on stable debian.
It means we have php5-xcache in stable debian, we have solr in stable debian.
It means we can think about Midgard in official 'squeeze' (debian testing)
Big step indeed, making it possible to produce similar smooth Midgard experience for Debian as we now do for Ubuntu Server.
Posted on 2009-02-17 07:46:52 UTC in 60° 10.512 N 24° 55.152 E Helsinki, FI to Midgard Oscom. 0 comments.
Thanks to the IKS project, I've spent some thought lately in how to make something practical from the concept of Semantic Web.
As always, the big issue is getting the semantic information out there. In a strongly typed CMS like Midgard, many semantics can be gathered from content structure directly, but to really get there we need users to add metadata. And as users are lazy, this will happen only if it provides some direct benefit: just look at how frequently people tag their photos on Facebook. Irritating or not, this happens because the tags are actually used to promote the pictures in the news feeds of tagged people.
For this to happen in the web in general, we need to start having the search engines leverage the semantic information. Yahoo! already does this to some extent, making use of microformats and RDFa in Yahoo! Query Language and in the Search Monkey engine. This means we can already do simple semantic queries like "pages mentioning Bergius in the Helsinki area":
Actually, the Yahoo! results are quite interesting:
Since search engines (well, Google really) are the way people access the web, search engines are the key for making semantic information more widely available. Just look at DeWitt Clinton's survey of rel values from yesterday: Google-defined rel="nofollow" is the most popular rel value out there, even surpassing style sheet declarations. This if nothing else shows the power of search engines in promoting new standards.
Technorati Tags: google, iks, microformats, yahoo, rdfa, search, semanticweb
Posted on 2009-02-18 14:12:01 UTC in 60° 11.250 N 24° 58.188 E Helsinki, FI to Oscom. 0 comments.
Jaiku, the microblogging service I use, has been frustratingly often down in the last couple of days, apparently kicking off another mass migration towards Twitter and Brightkite.
And they report it only in human-readable way, not in fashion a browser, a proxy or a search engine would understand it. While being down, Jaiku still responds with HTTP 200 OK:
HTTP 503 Service unavailable would be much nicer. For instance, that is what Midgard produces if the database goes down.
Technorati Tags: brightkite, jaiku, http, twitter
Posted on 2009-02-21 10:59:47 UTC in 60° 10.518 N 24° 55.170 E Helsinki, FI to Midgard Desktop. 0 comments.
Benjamin Otte is asking on Planet GNOME why the GNOME desktop doesn't do more to integrate with the cloud. He reasons that:
...GNOME developers are not “web-enabled”. We’re a bit like Microsoft in the early 90s: We focus on the local computer and ignore the internet.
which, to my experience is somewhat true. I went to GUADEC for the first time in Dublin in 2003, with the specific mission of promoting integration between desktop applications and the various open source web tools like CMSs and CRMs. However, nobody really seemed interested at the time. Only now that cloud has been hyped for a long time, people are paying attention.
However, just integrating with Google's services is not enough for free software to do. Let me post a slide from the Midgard 2 - The cloud you can control presentation in last FSCONS:

The point we were making there was:
...the cloud is a trap that will move your data, and your applications beyond your control to proprietary data servers and web applications run by multinational corporations. If free software doesn't provide a compelling answer to that, we risk irrelevance.
The answer?
Users flock to the cloud for two primary reasons: collaboration and convenience. Most "cloud apps" allow users to share data with each other and work collaboratively. From the Sugar project, GNOME already has technology for that, if it only was integrated in more applications.
Convenience means that you can access and manage your data from anywhere, using your own device. It means not being tied to a desktop computer somewhere in your home or office. For that, we suggested that Midgard2 could provide a solution:
A replicated, peer-to-peer system of synchronizing and sharing your data could be the answer. And Midgard2 is a framework providing just that. Bindings to different languages like PHP, Python and Mono, interprocess communications via D-Bus and XMPP, replication, and ability to run the same software from big server clusters to Nokia internet tablets should all help us get there.
If applications used Midgard's content repository for their data storage needs, it would be easy to synchronize the data between the user's all devices, and also make it accessible on the web thanks to Midgard's web roots.
Technorati Tags: dbus, freesoftware, gnome, p2p, cloud, telepathy
Posted on 2009-02-26 13:11:00 UTC in 60° 11.082 N 24° 57.978 E Helsinki, FI to Desktop Geo. 0 comments.
To make the GNOME desktop more user-friendly we should utilize context information in more places. And now that laptops are becoming more and more mobile, location is one important part of that context. For that, we developed GeoClue, the location framework that is in incubation for GNOME Mobile.
Today I was talking with a student who wants to work on GeoClue GNOME integration in the Google Summer of Code, and here are some ideas we discussed:
These are just some examples of how GNOME could serve users better if the desktop applications knew where they are. Web applications are already getting this capability, and the desktop shouldn't be left behind.
Posted on 2009-03-04 13:56:11 UTC in 60° 11.082 N 24° 57.978 E Helsinki, FI to Politics. 0 comments.
So, the controversial Lex Nokia passed today, with 47 members of parliament absent. Here we go:

Posted on 2009-03-09 18:11:46 UTC in 60° 10.512 N 24° 55.152 E Helsinki, FI to Life Midgard. 0 comments.
Microblogging is all about conversations. About interesting ideas, and the opinions and clarifications to those. About discovering things happening around you.
But to be honest, Twitter and its clones like Identi.ca do not do that so well. Ease of posting, and good external tools might be there, but what lacks is the possibility to have real conversations. That is where Jaiku has been shining: the original posts follow the traditional microblogging concept of conversation starters being limited to the SMS-like 140 characters. But responses to those are not limited similarly, allowing thoughtful commentary to be written.
That is something that simply doesn't happen on Twitter: thoughtful discussion. The poor threading model, and lack of differentiation between conversation starters and comments simply means everybody ends up shouting on top of each other.
Brightkite, a location-aware microblogging service almost gets there. It differentiates conversation starters and comments from each other, and adds quite cool location-aware features on top of that. Suddenly I can follow conversations happening in the same neighborhood, or in the same city! But the problem is that they have made posting a little bit too cumbersome, and they make following and finding conversations quite difficult.
Instead of these services, Jaiku has been the place where the interesting stuff has been happening. But lately there has been too little development, and too much the failbird happening for it to remain a viable platform. And so the Finnish web community has been actively looking for an alternative. I think Qaiku, released today, could be it.
So, what is cool about Qaiku?
Sidenote: if microblogs are all about conversations, why doesn't my blog provide a commenting feature? To quote Alex Payne:
The main reason I don’t allow comments is that I want to inspire debate. I think people do their best writing when they’re forced to defend their ideas on their own turf. It’s one thing to leave a comment on someone else’s blog, but quite another to put your argument in front of your own readers. It forces a level of consideration that, without fail, results in a higher quality exchange of ideas.
With the same idea, instead of the comments happening on my site, I hope you will either react via your own blog, or by communicating using a microblogging service. If you link to me, I'll do my best to read it and respond :-)
So, if you want to discuss this post, you'll find me on Qaiku, Jaiku, Twitter and Brightkite. This post on Qaiku preferred, but I will watch couple of days for replies on the other services too.
Technorati Tags: brightkite, jaiku, microblogging, qaiku, twitter
Posted on 2009-03-09 22:13:24 UTC in 60° 10.512 N 24° 55.152 E Helsinki, FI to Desktop Life Motorcycles. 0 comments.
Yanko Design's You-SB concept:

Jerry's real prosthetic USB finger storage:

The story behind this is that Jerry had a motorcycle accident last May and lost a finger. When the doctor working on the artificial finger heard he is a hacker, the immediate suggestion was to embed a USB "finger drive" to the design. Now he carries a Billix Linux distribution and the Freddy Got Fingered movie as part of his hand.
Yanko Design's concept via Gizmodo.
Posted on 2009-03-11 09:25:39 UTC in 60° 11.250 N 24° 58.188 E Helsinki, FI to Midgard Life. 0 comments.
Qaiku is the new conversation-oriented microblog that many former Jaiku users are migrating to. While the team is still working on APIs and other features, it is already possible to pipe your qaikus to other social services like Twitter and Facebook. This blog entry will show you how.
The first step is to register to ping.fm, a service that can post your microblogs to a large number of different social web services:
After registering, add the credentials to whatever sites you want ping.fm to post to:
Then go back to Qaiku and get the Atom feed address of your posts:
...and sign up with your OpenID account to Twitterfeed, and add your feed address and ping.fm credentials:
After this, your Qaikus should start appearing in the other microblogs. This way, my friends on Twitter, Identi.ca and Facebook can easily follow what I'm up to!
Technorati Tags: jaiku, twitterfeed, qaiku, twitter
Posted on 2009-03-13 16:03:13 UTC in 60° 10.062 N 24° 55.638 E Helsinki, FI to Geo Business Midgard. 0 comments.
I've been beta testing the new conversation-oriented microblogging service Qaiku, and after some negotiations we today signed a cooperation agreement to join in developing the site:
Qaiku is a microblogging service, focusing strongly on discussion. Microblogging differs from ordinary blogging by the length of the posts, more topical content and automatically published micromedia, such as Flickr photo stream, Audioscrobbler stream etc. Allowed lengthier comments to the brief posts make discussion possible.
Technically Qaiku has been built on Midgard 2 platform. Some of the features Nemein will develop for Qaiku will be released in the open source Midgard 2 project.
On my list of priorities is a public API, OpenMicroBlogging support and location import from various services like Fire Eagle and Plazes. I hope to get hacking on these as soon as I return from the Linköping Midgard Gathering. Will be fun!
Technorati Tags: microblogging, midgard, nemein, qaiku
Posted on 2009-03-19 13:14:10 UTC in 60° 11.250 N 24° 58.188 E Helsinki, FI to Midgard. 0 comments.
Via Bertrand there is a meme of CMS vendors analyzing how they are doing with CMS Watch's CMS reality checklist. Here's how Midgard 8.09 copes:
1. Our software comes with an installer program.
Yes. First you install Midgard using your distributions's native package management tools, and then let datagard do the rest. It will install all necessary PEAR packages, create a database for you, tune cron and SOLR setup, and finally set up a working Midgard website.
2. Installing or uninstalling our software does not require a reboot of your machine.
Yep. Apache needs to be restarted, though when you install Midgard or new MgdSchemas.
3. You can choose your locale and language at install time, and never have to see English again after that.
Language isn't asked at install time. Instead, we use browser content negotiation to figure out the appropriate UI language.
4. Eval versions of the latest edition(s) of our software are always available for download from the company website.
Midgard is free software, so you can always get the full version.
5. Our WCM software comes with a fully templated "sample web site" and sample workflows, which work out-of-the-box.
Yes, there is a default template datagard will set your initial website with. We could do more to make the sample site "do more" out-of-the-box though.
6. We ship a tutorial.
The stuff is online. There are plans to start shipping it with Midgard, though.
7. You can raise a support issue via a button, link, or menu command in our administrative interface.
Nope, but you can do it on our Trac install. A good idea to add it to the UI, and so it will be there in next release.
8. All help files and documentation for the product are laid down as part of the install.
Currently documentation is online, but more and more of it is being included to the install packages.
9. We run our entire company website using the latest version of our own WCM products.
Yes.
10. Our salespeople understand how our products work.
Yep, seems so :-)
11. Our software does what we say it does.
Yes, though the list from 1.8 would have new items in 8.09.
12. We don't charge extra for our SDK.
13. Our licensing model is simple enough for a 5-year-old to understand.
14. We have one price sheet for all customers.
Free software. Need I say more? Services pricing is relatively straightforward too.
15. Our top executives are on Skype, Twitter, or some similar channel, and: Feel free to contact them directly at any time.
To help people find pages related to this meme around the web, I suggest adding the string 9c56d0fcf93175d70e1c9b9d188167cf to such pages, so that a Google query can find them all.
Posted on 2009-03-21 12:58:22 UTC in 58° 27.816 N 15° 53.712 E 17km NE of Linköping, SE to Midgard. 0 comments.
As is customary, Midgardians are again meeting in Linköping, Sweden. This time most of the focus is on Midgard 9.03 "Vinland" familiarization, and discussing what shall be done for 9.09.
So far discussed:
Good stuff. Some discussions are happening in #midgard on Qaiku. Solt has posted some pictures.
See also Linköping Gatherings from 2008, 2007, 2005 and 2004.
Posted on 2009-03-22 17:42:52 UTC in 58° 23.406 N 15° 39.336 E Linköping, SE to Life. 0 comments.
Week and half ago I posted a story on Jerry's USB finger. While obviously we all thought the idea of replacing a lost finger with USB storage was cool in a cyberpunk way, we still felt it was old news as all had happened around last summer. And so, the worldwide interest around it took us by quite a surprise. The story was an all major news websites, and even on radio morning shows.
The wave of attention, as shown by Google Analytics fits Morgan Stanley's media coverage graph reasonably well:

First the story was picked up by Digg, then gadget sites Gizmodo and Engadget. Second attention peak came from Slashdot and Boing Boing, and after that there was the long tail of mainstream media followed by smaller local newspapers and websites:
A week after the post Jerry was visiting our office to do integration testing for a project and the media circus was running at its hottest. His phone, and even mine were ringing quite often, with interview requests ranging from Indian radio stations to Channel 4 News and Reuters. Will be interesting to see how much longer the attention stays on when the story hits the TV networks next week.
Never underestimate what a single blog post can initiate!
Posted on 2009-03-27 09:03:18 UTC in 60° 10.512 N 24° 55.152 E Helsinki, FI to Openpsa Midgard. 0 comments.
The Midgard Project has finally released the first public version of Midgard Application Server Suite. The new release contains Midgard core libraries, a PHP3-based web application server for the Apache platform and the needed web-based administration tools.
It's time for celebration - Midgard CMS turns ten in May! The decade of Midgard will be celebrated with a guest gala that is to be held at restaurant Ostrobotnia in Helsinki, Finland.
Looking forward to seeing as many of you in the party as possible! Please register ASAP as we need to tell the restaurant how many tables are needed.
Posted on 2009-03-29 21:53:27 UTC in 60° 10.512 N 24° 55.152 E Helsinki, FI to Politics. 0 comments.

From USB fingers and flying cars to Chinese death vans, I think we need to agree that the future is now. It is just not (thankfully) evenly distributed.
Inside each 'death van' there is a dedicated team of doctors to 'harvest' the organs of the deceased. The injections leave the body intact and in pristine condition for such lucrative work.
What next, Soylent Green?
Posted on 2009-03-30 07:47:22 UTC in 60° 11.250 N 24° 58.188 E Helsinki, FI to Desktop Life. 0 comments.
The tale of Jerry's prosthetic USB finger continues. Helsingin Sanomat has posted the recent Reuters interview video with him:

While the hs.fi site is in Finnish, the interview video is in English.
Posted on 2009-04-01 11:15:41 UTC in 60° 11.250 N 24° 58.188 E Helsinki, FI to Business Desktop Midgard. 0 comments.

Last night Finnish energy company St1 launched ReFuel, their new biofuel product. ReFuel is interesting in the sense that it is produced from biowaste, and so no farmland is used in its production.
To support the product launch we helped to create ReFuel Tehdas, an application for converting internet trash (bad pictures, advertisement banners) into money. To use it, you install a Firefox 3 extension with which you can then flag images as garbage:
The image will then be sent to our garbage processor, which churns it into money for your account. You can claim some of the money by ordering a St1 Visa card. Other users of the extension can see what has been already processed, as all garbage images are automatically blanked out from their respective websites:

This makes browsing even the noisiest websites a serene experience, as dutiful ReFuel users have probably already removed most of the obnoxious blinking banner ads.
Watching images pop into the garbage processor is also quite addictive, and gives an interesting insight into the dark subconscious of the Internet.
To try it out, register to the site or watch the screencast.
Technically the site is also quite interesting:
It uses the new Midgard2 platform, combining the PHP-based Midgard MVC framework with some Midgard-Python processing tools. It also utilizes Facebook Connect for easy registration, and is probably one of the first campaign websites out there to be based on Firefox extensions.
Much of the platform is same as what the Qaiku microblogging service uses.
Technorati Tags: biofuel, campaign, ecology, firefox, midgard, biofuel, refuel
Posted on 2009-04-08 15:53:28 UTC in 60° 10.512 N 24° 55.152 E Helsinki, FI to Desktop Midgard Mobility. 0 comments.
Midgard2, the content repository for multiple programming languages that we've all waited for so long is now in beta stage, and some services like Qaiku and St1 ReFuel already run on top of it. To get you started, here are some of the best Midgard2 blog posts out there:
This post has been made for Day 2 of the 31 Days to Build a Better Blog campaign.
Technorati Tags: midgard
Posted on 2009-04-12 15:56:24 UTC in 60° 10.512 N 24° 55.152 E Helsinki, FI to Desktop. 0 comments.
Today was a home day, perfect for doing some reading. And one of the things I read was the 2004 refresh of Neal Stephenson's In the Beginning was the Command Line. The commentary included following passage, which immediately rang a bell:
New users of Linux are almost always exposed to it through a member of the userbase, insuring that they have at least one person on-hand who can answer their inevitable questions and undo their horrible mistakes. The above is a romanticized description of the Linux experience, because it implies that the ubiquitous Linux veteran is not a factor. Unfortunately, Linux was not designed for end-to-end ease of use -- in that respect, it was not "designed" at all.
This is indeed the way I, and many people I know got into both Linux and Free Software. Of course there are some who have just downloaded Ubuntu or Midgard and started using and eventually contributing to it "out of the blue". But most get into these communities through sort of oral tradition, by having friends who introduce the technologies to them.
If we accept that the grapevine is our best marketing tool, what sort of actions should we take to make it more successful? We obviously need to address some real-world problem with our technology. But we also need a compelling story that people will want to pass on, made even easier if it is a comparison with some unpopular player in the tune of "like Windows but doesn't crash".
And if we want to get the bandwagon rolling, we need to support our "software missionaries" somehow. That can mean free CDs or T-shirts, but could it also mean some sort of web services? Something new on top of the traditional project infrastructure of IRC channels and mailing lists?
Technorati Tags: freesoftware, marketing
Posted on 2009-04-12 23:32:35 UTC in 60° 10.512 N 24° 55.152 E Helsinki, FI to Desktop Midgard Mobility. 0 comments.
CloudAve reviews the CrunchPad browsing device, and concludes that these days, a single computer is just not enough for all our needs:
A tablet for lazy surfing, a netbook for travel, an iPhone for when we don’t even want to carry that much, a full laptop for everyday work, and even a full desktop as the multimedia workhorse: at these price levels we may very well have 5-6 or purpose-designed computers, situational devices. Pick up one, continue on the other as you move around – the switch should be seamless, our computing experience is becoming to device-independent.
While the idea of a universal communicator is appealing, the multi-device situation is more practical. However, pick up one, continue on the other is still more wishful thinking than reality. Even if you keep all your data and applications in the cloud, you still face the issue of having to find and open the various browser tabs when you switch devices.
Mozilla Weave is a browser synchronization tool for the upcoming Firefox 3.5 that will hopefully help here, at least on all computers where you can install a browser:
Weave Sync, a prototype that encrypts and securely synchronizes the Firefox experience across multiple browsers, so that your desktop, laptop, and mobile phone can all work together. It currently supports continuous synchronization of your bookmarks, browsing history, saved passwords and tabs.
Having solved this, we still face the problem is that cloud locks your data behind proprietary software run in data centers of multinational corporations. While data portability and standardization slowly help giving users control of their own content, the better free software response would be relying on data synchronization and peer-to-peer connections.
Via Internet Tablet Talk.
Technorati Tags: crunchpad, dataportability, midgard, weave, synchronization
Posted on 2009-04-20 14:23:23 UTC in 41° 6.300 N 29° 3.372 E 12km NE of Istanbul, TR to Business Midgard. 0 comments.
So, Oracle bought Sun, and MySQL with it. Since MySQL runs much of the current web, I'd imagine many developers are now concerned with the future of that database and looking at alternatives like PostgreSQL.
But instead of locking yourself to another specific database, how about going with a content repository?
Content repositories are services that wrap different storage back-ends and provide an abstracted object-oriented API to them. As long as you write your application using the repository's interfaces, you can switch databases behind it at will.
For web development, there are two good alternatives:
In addition to database abstraction repositories often provide other services like versioning, multilingual content handling and signals between multiple applications using the same repo.
Posted on 2009-04-21 13:17:56 UTC in 60° 11.250 N 24° 58.188 E Helsinki, FI to Mobility Desktop. 0 comments.

FON is a shared WiFi service. Couple of years ago they gave their routers for free in Finland, and since then I've been sharing my home connection with other FON users. And occasionally I've even roamed using FON connectivity provided by other users, using Devicescape to log my Internet Tablet automatically to the network.
Now FON has released Fonera 2.0, which can support OLPC's mesh networking technology. This means that the FON routers can share each other's connection so not each of them has to have a direct connection to some ISP. Also it means that peer-to-peer connections within the mesh network can happen directly, bypassing the wider internet completely.
If mesh networking became popular, it could provide an important part of a free software -compatible cloud:
Meraki is another WiFi access point provider that supports mesh networking.
Via Boing Boing.
Posted on 2009-04-24 10:15:09 UTC in 60° 9.792 N 24° 55.662 E Helsinki, FI to Business. 0 comments.
About one year after Operation Suvilahti, Nemein has now grown out of the space there and so we're moving again, this time to a 50s industrial building in the Hietalahti district of Helsinki.
Here's the initial floor plan that still lacks couple of desks:
Our development servers and other network infrastructure will move to AfHeurlinia where there is a diesel generator and pretty good connections, so the new office space will indeed be just office. AfHeurlinia is a very secure location for our servers, as the place is guarded by both ninjas and ferocious dogs.
Couple of workstations in the lobby area will be reserved for visiting contractors and may become available under some kind of coworking arrangement.
The new office will be a lot closer to many of our important clients, and has a very nice view to the historical Hietalahti area:
After Tuesday Apr 28th the new address will be Hietalahdenkatu 8 A 22.
Technorati Tags: nemein
Posted on 2009-04-26 10:32:54 UTC in 60° 10.524 N 24° 55.146 E Helsinki, FI to Desktop. 0 comments.
This Friday Rohea launched a visual and feature refresh of Qaiku, the conversation-oriented microblogging service. As part of the refresh some early APIs also landed, together with Ubiquity command for posting Qaikus.
If you have Mozilla Ubiquity installed, this is what you will see on the site:
When you install it, Alt-Space will be a fast shortcut for Qaikuing:
More APIs will be coming soon, planned to be fully compatible with Twitter API for easy client support.
Posted on 2009-04-29 09:55:16 UTC in 60° 10.524 N 24° 55.146 E Helsinki, FI to Desktop Midgard Mobility. 0 comments.

After the long wait, Midgard2 was today released to the world. This marks a big change in the scope of what Midgard is. Instead of building a CMS, we've built a generic content repository that can be utilized in web, mobile and desktop applications.
As MDK wrote when announcing the Objective-C bindings for Midgard:
...it provides an objectified view to the data and services surrounding it. At the basic level it abstracts the database access (SQLite, MySql, PostgreSQL) but this is only where it all starts. Serialization & replication, managing own storage objects, multi-process access to data are all covered. The fully object-oriented (GObject-oriented) API allows you to focus on the data, not the database syntax.
For many desktop software developers, database technologies belong to where they belong — the web alone. This is not necessarily true. As the software & services en masse move to the web, the need to integrate the cloud with the desktop becomes indispensable.
This is indeed a big step for our project, as suddenly Midgard moves from the realm of PHP-only web development to the area where Midgard applications can be written for mobile devices, replicating their data with a social web app.
As Piotras is fond of saying: You could write Drupal on top of Midgard, but you couldn't write Midgard on top of Drupal.
Learn more about Midgard2 via the Eight best Midgard2 posts.
The first stable release of Midgard2 coincides with the 10th anniversary of the project, to be held in Helsinki, Finland next week. Come and join the celebration!
Technorati Tags: midgard
Posted on 2009-05-04 11:39:11 UTC in 60° 9.792 N 24° 55.674 E Helsinki, FI to Desktop Geo Midgard Mobility. 0 comments.
GUADEC will be arranged this year together with aKademy as the Gran Canaria Desktop Summit on July 3rd - 11th. The event will be an excellent opportunity to learn about some new technologies for the Linux desktop:

I will probably also have to defend my title in the Ice Cream Deathmatch. See you there!
Technorati Tags: geoclue, gnome, midgard, libchamplain
Posted on 2009-05-07 21:20:55 UTC in 60° 10.524 N 24° 55.146 E Helsinki, FI to Midgard. 0 comments.
Ten years is a long time. Exactly ten years ago we were sitting in a cramped office room in Espoo with Jukka Zitting, frantically trying to put a release together. We had been building a web platform for our living history group, and it had become useful for others too.
We both were Linux users, and back then the concept of Open Source was becoming really popular. The Mozilla browser had been opened, and there were promising new projects like GNOME out there. Therefore it felt natural that our tool, too, should be released as free software.
And so we did, with a simple web site and an announcement:
Midgard is freely-available platform for creating powerful web applications. It is fully based on Open Source software, giving you freedom to create your solutions in an open environment. Midgard is the tool for creating, modifying and maintaining dynamic database-enabled web services.
Midgard already has a quite good set of features for creating powerful web sites, and is being used with successful results by some commercial and uncommercial organizations. But this is not where the development will end; rather, the development team also has more ambitious goals about revolutionizing the way people think about web development.
Indeed the development didn't end there. New people started joining the project, there was a company that invested in it, another company that contributed a component architecture, and so on. Soon we had an active and dedicated community working on Midgard. And that is the way it has remained - a project run by multiple companies and people, supporting multiple languages and character sets. We even made the dream of having Midgard in our pockets a reality.

I've been with the project the whole time, and it has given much. During these years I've traveled to Europe, Asia, Africa and America many times to tell about the project. I've presented our work in several prestigious universities. It has put the bread on my table. And most importantly, I've made friends with people from all around the world.
I don't think much of that would have happened if I had worked with proprietary software. The community, the friendships, and the opportunities are all something that makes the field of free software unique.
Now, ten years into the project it is time to celebrate the successes. And then dedicate ourselves efforts to the new generation of the project, Midgard2, released just before the 10th Anniversary. Thanks to everybody involved! I hope you will all join me in raising a toast for The Midgard Project.
Technorati Tags: midgard
Posted on 2009-05-13 16:59:40 UTC in 60° 10.524 N 24° 55.146 E Helsinki, FI to Midgard. 0 comments.
This February I wrote how search engines play an important role in emergence of Semantic Web, and now it is becoming a reality:
Google introduced a feature called Rich Snippets which provides users with a convenient summary of a search result at a glance. They have been experimenting with microformats and RDFa, and are officially introducing the feature and allowing more sites to participate. While the Google announcement makes it clear that this technology is being phased in over time making no guarantee that your site's RDFa or microformats will be parsed, Google has given us a glimpse of the future of indexing.
While I haven't seen any enhanced results yet in my searches, Search Engine Land had a screenshot of reviews being shown with a restaurant:

So far Google is using only review and person data, but they're also advising how to mark up company and product information. Yahoo! has been using microformats for a while now, too.
Once these "Rich Snippets" get rolled out a bit further the fact that Midgard-powered sites have been carrying microformatted content since 2005 will become a big advantage. With the Interactive Knowledge project we will start looking more seriously at RDFa too.
Technorati Tags: google, microformats, midgard, iks-project, rdfa
Posted on 2009-05-19 14:08:27 UTC in 60° 9.792 N 24° 55.674 E Helsinki, FI to Geo Mobility. 0 comments.
I've got no information on the validity of the claimed Harmattan screenshots that are floating around, but anyway wanted to comment on a part of it:

Having your today's meetings on a map would be really cool.
This is something I've wanted to do with OpenPSA ever since the days I spent motorcycling around office districts of Helsinki giving Midgard demos. I'd often have only 15 minutes to move from one presentation to another, and at that pace figuring out the locations was a pain in the ass.
Geocoding meeting and TODO item locations would be a problem, but if that was solved this would be a killer feature. Maybe something we could do with GeoClue and libchamplain?
Technorati Tags: maemo
Posted on 2009-05-20 15:31:50 UTC in 60° 10.524 N 24° 55.146 E Helsinki, FI to Guns. 0 comments.
Some friends of mine founded the Fat Catherine Sisterhood, an all-female Medieval cannon association. On Monday I got to go to the artillery range with them. Here are some pictures:
You can also see a shot on YouTube.
While being a light 15th Century field cannon, the Fat Catherine is with the modern times: it microblogs actively on the Qaiku microblogging service. You can follow her there to hear when shots are being fired, or when the cannon is going on tours.
Technorati Tags: cannon, history, paksukatariina
Posted on 2009-05-22 18:21:37 UTC in 60° 10.524 N 24° 55.146 E Helsinki, FI to Geo. 0 comments.
Linked Data is the W3C effort to move data out of silos and into the interconnected web. As search engines are becoming more semantically savvy, the next big thing will be establishing connections between different pieces of data by linking.
Sir Berners-Lee has an excellent TED talk introducing the concept.
In the talk he also shows how easy it is to edit the OpenStreetMaps, a bit like I've done before.

Promoting OpenStreetMap is great. But is this Linked Data? I'd say no.
It is great to know the shape of a building, and the location of it, and the fact that it is a theatre called Terrace Theater. But that is still slightly ambiguous. Things would be clearer by linking to it, then we'd know the boxy shape on the map is actually this place.
But still, to repeat Sir Tim's slogan: Raw Data Now!
Technorati Tags: iks-project, openstreetmap, ted, rawdatanow, semanticweb
Posted on 2009-05-22 20:14:47 UTC in 60° 10.524 N 24° 55.146 E Helsinki, FI to Life. 0 comments.
...indeed I do. Next Monday is the Universal Towel Day. Therefore:
How about Babylon 5?
Technorati Tags: montypython, wolframalpha
Posted on 2009-05-28 15:48:00 UTC in 47° 48.408 N 13° 2.838 E Salzburg, AT to Oscom Midgard. 0 comments.
This week is the Interactive Knowledge project general assembly and requirements gathering workshop in Salzburg, Austria.
My notes from the meeting days can be found on Qaiku:
As things are happening, it is also possible to follow progress on the #iks-project Qaiku channel or the #iks-project Twitter hashtag.
Technorati Tags: iks-project, semanticweb
Posted on 2009-05-31 15:42:34 UTC in 55° 39.564 N 12° 35.448 E Copenhagen, DK to Midgard Desktop Mobility. 0 comments.
Some very interesting developments in desktop wiki land: Tomboy, the popular note-taking application for GNOME and OS X now supports web synchronization.
The developers of Tomboy have launched Snowy, a web service that allows you to synchronize and access your notes online. As the API is documented, I decided to add support for it in Midgard too. This way the Tomboy notes will become regular objects in the content repository.
At the moment there is only the sync service, provided as a component for the MidCOM3 MVC framework. However, a web user interface will also be coming soon. Here's how synchronization with Midgard looks like:
In addition to Tomboy, the Mozilla/Maemo Danish Weekend also showed new advances in mobile Midgard2 land: We launched a Midgardized version of Conboy, the maemo port of Tomboy. Both Midgard2 and Conboy were also built for Fremantle and tested on a developer preview machine. Very promising!
With the Midgard storage back-end Conboy will gain all the regular benefits of using a content repository:
While there are plans to add web synchronization to next release of Conboy, the Midgard version will also be able to synchronize via XMPP in true peer-to-peer fashion.
Technorati Tags: midgard
Posted on 2009-06-04 15:57:09 UTC in 60° 9.792 N 24° 55.674 E Helsinki, FI to Desktop Politics. 0 comments.
Quite a good blog post from the security expert:
The old timesharing model arose because computers were expensive and hard to maintain. Modern computers and networks are drastically cheaper, but they're still hard to maintain. As networks have become faster, it is again easier to have someone else do the hard work. Computing has become more of a utility; users are more concerned with results than technical details, so the tech fades into the background.
...
There is one critical difference. When a computer is within your network, you can protect it with other security systems such as firewalls and IDSs. You can build a resilient system that works even if those vendors you have to trust may not be as trustworthy as you like. With any outsourcing model, whether it be cloud computing or something else, you can't. You have to trust your outsourcer completely. You not only have to trust the outsourcer's security, but its reliability, its availability, and its business continuity.
This is something I've written about before. Your data and applications stay available in the cloud only at the service provider's pleasure. Free software should aim to provide an alternative, using peer-to-peer technologies and desktop-to-web content repositories to provide both the flexibility and collaboration features of the cloud, while still providing the security and privacy of local application instances.
In a world of non-neutral networks, government snooping and, yes, even sometimes lack of connectivity we need alternatives that will work even when offline and allow collaboration over more ad-hoc, personal network connections.
EDIT: While I'm critical of going fully cloud-only, I have to recommend Nicholas Carr's The Big Switch which provides many compelling arguments and historical analysis for utility computing.
Posted on 2009-06-13 10:57:56 UTC in 60° 10.524 N 24° 55.146 E Helsinki, FI to Mobility Desktop Geo. 0 comments.
In our various GeoClue presentations we've been arguing that location comes in many flavors, of which GPS is only one. In many cases cell tower position or even WiFi connection can provide quite "good enough" location. On Mozilla Hacks they write about an OpenStreetMap-based browser location demo. I'd say the results are quite convincing:
This is just a gentle reminder to allow other location sources that just GPS. By using GeoClue you get that for free.
Technorati Tags: firefox, geoclue, openstreetmap
Posted on 2009-06-16 14:52:16 UTC in 60° 9.792 N 24° 55.692 E Helsinki, FI to Midgard Mobility. 0 comments.
Bugzilla isn't really the best place for contributing and discussing new ideas for a software project. Like Ubuntu and openSUSE before us, the Maemo community now also has a better tool for this: Maemo Brainstorm.
Maemo Brainstorm, developed as part of our efforts to the April 09 Sprint is a new web service that follows the model of Drupal's IdeaTorrent, but with a particular Maemo flavor.
Users can propose new ideas:
Users can also comment and propose solutions for ideas:
The ideas then enter "Sandbox", from where moderators can put them through the Brainstorm workflow:
After voting, popular ideas may then be chosen to be implemented by a team of moderators.
In addition to normal IdeaTorrent-like functionality as described in the Task page on Maemo Wiki, there are some adaptations for the maemo.org environment, including:
Some work is still being done on Brainstorm, including a dedicated search for this area of the site. In the meanwhile, please go and submit your favorite ideas, and vote for the ideas others have submitted. You can also follow the categories you're interested in via their RSS feeds, or the progress of your own ideas via the Dashboard.
And be sure to report any issues or ideas you have about Brainstorm itself!
Technorati Tags: brainstorm, maemo, midgard, moderation, ideatorrent
Posted on 2009-06-16 21:51:56 UTC in 60° 10.524 N 24° 55.146 E Helsinki, FI to Oscom Desktop. 0 comments.

Today I ran into the Open Collaboration Services API, planned as the vendor-neutral specification for Social Desktop services:
Core idea of the Social Desktop is to connect to your peers in the community, making sharing and exchanging knowledge easier to integrate into applications and the desktop itself. The concept behind the Social Desktop is to bring the power of online communities and group collaboration to desktop applications and the desktop shell itself.
This sounds exactly like the stuff I was talking about back in GUADEC 2003. I was there on behalf of OSCOM to see how the free desktop could be integrated with the various open source content management and collaboration systems developed by OSCOM members. It is great to see these ideas finally gain some traction.
There are many specifications to help us get there:
With these the free desktop might become more than just an isolated island.
Such collaborative features will make the free applications much more compelling to users, especially if coupled with web interfaces that can be used when away from your own computer. Being built on open source server software and open standards they can be hosted by companies, schools, or even Linux distributions, instead of tying users to the big cloud vendors.
I'll be talking more about the relation between the desktop and the web and our approach to it in my Gran Canaria Desktop Summit talk on Tuesday Jul 7th.
Technorati Tags: freesoftware, gnome, opencollaborationservices, socialdesktop, web
Posted on 2009-06-18 15:26:39 UTC in 60° 9.792 N 24° 55.674 E Helsinki, FI to Midgard. 0 comments.
Just a little teaser before we all head out to countryside for the midsummer weekend:
Yes, you're seeing the software versions right. The screenshot is from the "About Midgard" screen of Ragnaland, a hybrid setup of Midgard's MidCOM MVC framework from Midgard1 (MidCOM 8.09) and Midgard2 running in an App Builder instance (Midgard 9.09).
Still requires some tweaking and bug fixes, but consider the possibilities:
Posted on 2009-06-22 14:29:23 UTC in 60° 9.792 N 24° 55.674 E Helsinki, FI to Business Mobility. 0 comments.
Workstreaming means collecting activities of geographically dispersed team members into a consistent news feed, enabling managers to track process and colleagues to stay up-to-date with the day-by-day happenings. As maemo.org is a distributed project worked on by a group of both volunteers and paid employees, some sort of activity monitoring is quite necessary.
For a while this has been done in wiki pages, but since that is not very flexible or connected, better ways have been discussed. The current approach being tested is workstreaming via a Qaiku channel:
Qaiku is a conversation-oriented microblogging service that suits workstreaming quite well:
In near future there will also be support for additional machine-readable "Qaiku Data" (like hour amounts, bug numbers, whatever). This is inspired by the Twitter Data initiative, but keeps the data separate from actual message contents to keep Qaiku human-readable. Once that is done, we could possibly build some more workstreaming-oriented UI for this on maemo.org.
So, if you're doing anything on maemo.org, sign up on Qaiku and start posting your updates!
Technorati Tags: microblogging, qaiku, workstreaming
Posted on 2009-06-29 15:39:37 UTC in 60° 9.792 N 24° 55.674 E Helsinki, FI to Mobility. 0 comments.
As I've written before, the cell phone is the computer for majority of world's people. Google's new set of SMS services for Africa follows this idea in an interesting way:
...mobile applications which will allow people to access information, via SMS, on a diverse number of topics including health and agriculture tips, news, local weather, sports, and more. The suite also includes Google Trader, a SMS-based “marketplace” application that helps buyers and sellers find each other. People can find, "sell" or "buy" any type of product or service, from used cars and mobile phones to crops, livestock and jobs.
This brings my earlier "solving the logistics of mamona" post to mind.
Now, how about making maemo support SMS? That would be another step to turning our tablets into universal communicators.

Posted on 2009-07-01 05:52:52 UTC in 60° 10.524 N 24° 55.146 E Helsinki, FI to Geo Desktop. 0 comments.
Firefox 3.5, the latest version of the best desktop browser was released yesterday. Upgrade now, and you'll get cool new features like browser geolocation and native HTML5 video support, not to mention much faster javascript.

With both Firefox 3.5 and iPhone OS 3.0 out, a significant number of browsers suddenly have geolocation support. It will be interesting to see how quickly web services start to follow up, providing more meaningful content through the location context.
There is even a patch to make Firefox use GeoClue for its location needs.
Posted on 2009-07-01 20:30:40 UTC in 60° 10.524 N 24° 55.146 E Helsinki, FI to Mobility Desktop. 0 comments.
Qaiku's twitter-like API has been one of the first major contributions I've made to the project, and it is great to see some first applications start to use it. Here are some examples:
Mauku is a microblogging client for Maemo. The new Fremantle version supports Qaiku nicely:
Gwibber is a Linux desktop microblogging client. Qaiku support is now available in the development version:
There is also an XMPP bot that we're going to launch soon for wider use. This enables you to monitor your mentions or some channels and post via any Jabber client:
If you're doing something cool with the API, please let me know! The #Qaiku-api channel is good for usage questions and ideas.
Every now and then people ask me why we're doing Qaiku instead of "just using Twitter". Here are some points why Qaiku just works better:
If you want to comment, you'll anyway find me both on Qaiku and on Twitter.
Posted on 2009-07-02 10:13:46 UTC in 60° 9.792 N 24° 55.674 E Helsinki, FI to Politics Desktop Midgard. 0 comments.
Dave Neary summed this up well:
...I fundamentally disagree with discouraging someone from pursuing a technology choice because of the threat of patents. In this particular case, the law is an ass. The patent system in the United States is out of control and dysfunctional, and it is bringing the rest of the world down with it. The time has come to take a stand and say “We don’t care about patents. We’re just not going to think about them. Sue us if you want.”
With Midgard we have prior art on some software patents. Software patents only promote big multinational monopolies, and therefore are against the interests of both Europe and the Free Software movement. They're silly, don't apply here, and therefore the only rational response is to ignore them.
Technorati Tags: softwarepatents
Posted on 2009-07-06 17:54:34 UTC in 28° 7.752 N 15° 27.078 W 5km NW of Las Palmas de Gran Canaria, ES to Mobility Desktop Midgard Openpsa. 0 comments.
CouchDb is a really cool document-oriented map/reduce database that is nowadays an Apache project. Previously we created the distributed CRM application Ajatus on top of the system and ported CouchDb to Maemo.
Here in Gran Canaria Desktop Summit CouchDb has been somewhat a hot topic, as the Ubuntu project is planning to use it as the content repository for desktop applications.
We had a lunch with Jan Lehnardt today and discussed how to make Midgard2 and CouchDb interoperate better, and as it happens, it is actually very easy: CouchDb has a replication protocol that we can support also in Midgard, making the two repositories able to synchronize content with each other.
There is now a first test implementation of Midgard-to-CouchDb synchronization support, with better Midgard integration and CouchDb-to-Midgard coming soon. Check out the Midgard MVC component on Github. Anyway, already pretty cool!
Setting up replication on CouchDb admin UI:
Midgard record replicated successfully into CouchDb:
I'll talk more about this and repository-oriented application development in my Midgard2: Content repository for desktop and the web talk tomorrow at 16:45. Be there!
Technorati Tags: couchdb, midgard, replication
Posted on 2009-07-08 10:38:10 UTC in 28° 7.752 N 15° 27.078 W 5km NW of Las Palmas de Gran Canaria, ES to Motorcycles Desktop. 0 comments.
Yesterday in GCDS there was a session about personal passions. First Jono Bacon gave a talk about the Burnout Cycle, and then various community members talked about what they do outside the sphere of hacking: running, cooking, building experimental airplanes and so forth.
I gave a quick talk about adventure motorcycling, speaking about my 2004 trip around the Black Sea, and briefly mentioning the Death Monkey trip on 50cc mopeds from Helsinki to Gibraltar.

You can find pictures from the Caucasus trip on Flickr and my travel log on Routa MC.

Technorati Tags: motorcycle, adventure
Posted on 2009-07-08 11:37:50 UTC in 28° 7.752 N 15° 27.078 W 5km NW of Las Palmas de Gran Canaria, ES to Desktop Midgard Mobility. 0 comments.

I gave my Midgard2: Content repository for desktop and the web talk yesterday in GCDS. The slides are available on SlideShare. The main idea was that any application that deals with structured data could benefit from using a content repository like Midgard2 or CouchDB.
So, what is a content repository? It is a service that sits between an application and a data store. It provides several advantages:
Midgard2 is a content repository library that is built on top of glib, libgda and dbus, making it fit the general free desktop infrastructure very well. You can use it in any application that is written in C, Objective-C, Python, PHP, or soon Mono. Learn more from the slides!
Posted on 2009-07-12 13:13:01 UTC in 52° 21.774 N 4° 54.416 E Amsterdam, NL to Desktop Geo Mobility. 0 comments.
Today in the State of the Map conference I gave a lightning talk introducing Till Harbaum's OSM2Go, a wonderfully simple tool for contributing to OpenStreetMap.

If you want to contribute to a freely available map of the world, download OSM2Go to your tablet and start mapping! My slides are available on SlideShare.
See also my Qaiku notes for SoTM day 1 and SotM day 2. Really amazing to see how far the project has advanced since the 2007 conference. Much of Western countries is already mapped, and many NGOs are working to get the developing world mapped, in many places for the first time ever in digital format.
Technorati Tags: maemo, openstreetmap, sotm09
Posted on 2009-07-16 19:47:28 UTC in 60° 10.524 N 24° 55.146 E Helsinki, FI to Desktop. 0 comments.
Discussing Google's yet-vaporware Chrome OS, Daring Fireball said:
Early versions of Gnome and KDE were pretty much just clones of the Microsoft Windows UI. They’ve diverged since then, and I’d say Ubuntu’s default Gnome desktop is in most ways better from a design and usability standpoint than Windows Vista. But it’s still fundamentally a clone of Windows — menu bars within the window, minimize/maximize/close buttons at the top right of the window, the ugly single-character underlines in menu and button names. At a glance it looks like Windows with a different theme. The idea being that if you want Windows users to switch to Gnome or KDE, you’ve got to make it feel familiar. But that’s not how you get people to switch to a new product. People won’t switch to something that’s just a little bit better than what they’re used to. People switch when they see something that is way better, holy shit better, wow, this is like ten times better.
So I think Gnome and KDE are stuck with a problem similar to the uncanny valley. By establishing a conceptual framework that mimicks Windows, they can never really be that much different than Windows, and if they’re not that much different, they can never be that much better. If you want to make something a lot better, you’ve got to make something a lot different.
This is a good point to consider as GNOME moves towards 3.0 with the promising GNOME shell. KDE's Plasma has taken some steps also, but really, the examples we should look at here are Moblin 2.0 and the Sugar desktop. Both of them have largely discarded the traditional "Windows model" in favor of more contextual and information-oriented user interfaces.
Posted on 2009-07-22 22:13:18 UTC in 60° 10.524 N 24° 55.146 E Helsinki, FI to Desktop Life. 0 comments.
Why can't we concentrate? is an excellent book review about Rapt on Salon:
"Immersing myself in a book or a lengthy article used to be easy," he wrote. "Now my concentration often starts to drift after two or three pages. I get fidgety, lose the thread, begin looking for something else to do. I feel as if I'm always dragging my wayward brain back to the text." For my own part, I now find it challenging to sit still on my sofa through the length of a feature film. The urge to, for example, jump up and check the IMDB filmography of a supporting actor is well-nigh irresistible, and once I'm at the computer, why not check e-mail? Most of the time, I'll wind up pausing the DVD player before the end of the movie and telling myself I'll watch the rest tomorrow.
Exactly the same symptoms I'm having. This is the reason I've written some of my best code while offline at the countryside or on a road trip, and why it was so relaxing to be without a phone for a week recently.
How to solve the issue of constant distractions? Maybe we'll need to be sometimes offline. And even while connected, we need attention profiling and better user interfaces. Something for the developers of the future free desktop to consider.
Confession: I must've switched browser tabs a dozen time while reading the Salon article. Concentration indeed...
Technorati Tags: attention
Posted on 2009-07-30 17:10:24 UTC in 60° 10.524 N 24° 55.146 E Helsinki, FI to Mobility Desktop Midgard. 0 comments.
MDK laments the demise of the simple file in the onslaught of storage services:
Sure, the applications still give you a way to share things and take them out of the storage. You can export a contact out of your address book as a vcard file. But the role of The File here is slowly being reduced to a role of an intermediate storage medium. The business card is temporarily put in the .vcf file before it gets injected into somebody else’s database (another address book?).
As more and more applications operate on databases, the computer is becoming a monolithic black-box that “has things”. How exactly (and where) the data is stored is becoming less clear. The application and the interface becomes united with the user data. It becomes one.
This echos the sentiments of Alex Payne when he warned against what he calls Everything Buckets:
Computers work best with structured data. Everything Buckets discourage the use of structured data by providing a convenient place to commingle “structureless” data like RTF and PDF documents. Rather than forcing the user to figure out the rhyme and reason of their data (for example, by putting receipts in a financial management application and addresses in an address book), Everything Buckets cry: “throw it all in here! Search it! Maybe I’ll corrupt my proprietary database, but maybe I won’t and you’ll have the joy of sifting through a mire of RTF documents. Doesn’t that sound great?”
And yes, I agree that obscure application-specific databases are not really better than obscure proprietary file formats.
This is exactly why I've been talking about content repositories, services like Midgard2 and CouchDb that not only can provide superior content storage and organization, but do it in a way that multiple applications can share. You can easily write your own scripts to perform batch operations on the data, and receive D-Bus notifications when something changes.
And good repositories also provide easy synchronization tools so you can have your data available on all of your computers, and even on the web. If they can also do peer-to-peer sharing, we're close to achieving the fully free cloud.
Posted on 2009-08-07 19:57:56 UTC in 60° 9.792 N 24° 55.662 E Helsinki, FI to Midgard. 0 comments.
Content repositories can be useful for your application. In the PHP track of FrOSCon on Aug 22nd there will be a talk about this: Midgard2: Content repository for your PHP application
Content repositories allow you to separate the actual front-end of your application from background processing tools. More than just their underlying databases, they impose common rules for data access, and keep multiple applications up-to-date on data changes through signaling. Midgard2 provides a flexible content repository that avoids the restrictions of the traditional ORM approach. And not only your PHP web application, but also to possible Python, Objective-C and C# tools you use.
This enables you to split applications into smaller, easily maintainable and scalable pieces that can be run on different systems and platforms as needed. In addition to web, the Midgard2 library can be used for desktop and mobile application development, building software that synchronizes with web services. It is based and engineered fully on the top of the desktop (GNOME) software stack. Being highly modular and having very little dependencies it scales from a note taking application to a full-blown CMS system. Combined with advanced replication capabilities it allows you to synchronize data between offline and online instances of your service.
Unlike shown in the program, the talk will be given by Arttu Manninen this time, as I will be off motorcycling somewhere around Asia Minor. Arttu? Yep, this guy:
Posted on 2009-08-08 10:11:45 UTC in 60° 10.524 N 24° 55.158 E Helsinki, FI to Desktop Motorcycles. 0 comments.
Like many years before, it is again time to head out on a motorcycle trip. This time we're traveling together with Suski on my old Triumph Legend, the bike that has taken me around Europe and the Black Sea, and has been out of commission for last three years. But now it runs again.

Tonight we're taking the ferry to Gdynia, and then the idea is to head south through Poland, Slovakia, Hungary, Serbia and Bulgaria towards Asia Minor and the Caucasus. There are no strict plans or schedules, except that we must be back in Finland by the beginning of September.
You can follow our trip on Qaiku (feed) and Flickr. If you are somewhere on that prospective travel route, feel free to send me an SMS and maybe we can have a beer :-)
Technorati Tags: adventure, motorcycle
Posted on 2009-09-04 07:57:34 UTC in 60° 10.272 N 24° 55.956 E Helsinki, FI to Midgard. 0 comments.
I had to make some updates to the architecture diagrams, and I thought to publish them here to showcase the difference. Midgard was a CMS framework for PHP:

Midgard2 is a more universal content repository where CMS is just one application:

Please note that more choice in databases and web servers is not the only goodie provided by Midgard2. You also get things like a completely rewritten MVC framework, database views, transactions and native datetime objects. And all of this for multiple programming languages, not just PHP.
Technorati Tags: midgard
Posted on 2009-09-07 14:16:47 UTC in 60° 10.272 N 24° 55.956 E Helsinki, FI to Midgard. 0 comments.
Gadgetopia makes an argument for building your own CMS:
"See — the problem with a full scale Content Management System is that it has too many opinions. Those opinions were though of by somebody other than you and the needs of your organization. The more developed a content management system (or any piece of software, really) the more “opinions” it has. And the more “opinions” it has, the more likely one of them is going to really tick you off."
I can relate to this. We work with one system in particular that makes an astonishing array of presumptions about how you’re going to use it, and if you try to step outside those presumptions, demons fly out of the abyss and try to suck your eyeballs out.
This goes back to a previous discussion we had about Content Management as an API. In that post, we had a great experience with hand-rolling a CMS...
The term they are looking for is Content Repository, a service that provides common APIs for content storage, retrieval, signaling and so forth. With Midgard we're following this approach, providing content retrieval and web functionality APIs first, and then building some reusable user interfaces on top of that.
In addition to Midgard some content repositories to look at include Apache CouchDB and Jackrabbit. All of them allow you to stop worrying about storage and retrieval methods and focus on the actual end user functionalities, while keeping the whole system accessible and scriptable for integration purposes.
Posted on 2009-09-27 15:58:47 UTC in 60° 10.272 N 24° 55.956 E Helsinki, FI to Desktop Midgard Mobility. 3 comments.
After a brief summer motorcycling break the fall is shaping up to be quite full with conferences. Here is the current list:

Looking forward to all the interesting discussions and ideas that will surely come up from these events. If you will be around in one of those, make sure to look me up and we can chat. The events will also be covered in my Qaiku stream.
Posted on 2009-10-02 12:39:48 UTC in 60° 10.272 N 24° 55.956 E Helsinki, FI to Midgard. 0 comments.
Midgard is a very active free software project, and it is quite difficult to keep up with all the changes, decisions and discussions happening around it. Therefore I decided to bring the Midgard Weekly Summaries back.
MWS has been running before, with 66 issues released between 1999 and 2002, and 8 issues in 2007. This time we follow the idea of a Collaborative MWS.
Notices about new published summaries will be sent to the Midgard user mailing list, Qaiku #midgard channel, Twitter @MidgardProject and are available via RSS. Enjoy!
Technorati Tags: midgard
Posted on 2009-10-14 09:28:57 UTC in 60° 10.272 N 24° 55.956 E Helsinki, FI to Business Desktop. 0 comments.
Fake Steve Jobs on the Trouble with Android:
Um, hello? Folks, the whole point of doing open-source code is to let it fork. The idea is to accelerate evolution by encouraging weird mutations. Creating an open source program and hoping it won't fork is like decorating your house with a zillion Christmas lights and a forty-foot inflatable Santa and hoping nobody stops to look at it.
This is an interesting way to look at Open Source. Traditionally freedom to fork has been seen as a safeguard against dead projects or vendors, as a way to hand maintainership over to parties that are still interested.
But what FSJ is talking about is forks being beneficial by themselves. This is the model that Distributed Version Control Systems like git also promote: every developer has their own fork of the software, and merges to "blessed" repositories happen under the watchful eye of a maintainer.
This is quite a different model than the traditional centralized way of working with projects. Merging between forks has its costs, but if we embrace this model we gain lots of new developer flexibility and possible new workflows. DVCSs haven't been with us for a long time yet and so it takes some time for this new distributed way of working to take root.
Posted on 2009-10-26 09:12:23 UTC in 60° 9.816 N 24° 55.686 E Helsinki, FI to Desktop Mobility. 0 comments.
Microfeed is a new D-Bus service for handling status updating and microblogging entries from various services. Just like Telepathy allows various applications to utilize instant messaging connections, Microfeed does the same for microblogging:
Microfeed is a specification and a reference implementation of client-server architecture providing access to various information sources that have a feed-type interface. Examples of those feed sources include micro-blogging services, such as Twitter, Facebook, Jaiku, Qaiku, and Laconi.ca. By utilizing Microfeed architecture, a client application can focus on user interface, while the actual feed fetching is done in the background independently. The communication between a local Microfeed server publishing information about feeds and a client application displaying that information to an user is done with the D-Bus messaging following the publisher-subscriber principle.

Microfeed service already is the power behind Henrik Hedberg's new Mauku microblogging interface for Maemo 5. Here you can see a stream of updates from both Qaiku and Twitter:

If you're implementing a tool that deals with microblogging services, please consider using microfeed for it. Advantages from this include:
More information from http://microfeed.org/
Posted on 2009-10-27 18:27:06 UTC in 60° 10.272 N 24° 55.956 E Helsinki, FI to Desktop Life. 0 comments.
When returning from lunch today I found a package on my office desk. The handwriting on the envelope looked familiar from pictures I had seen on Qaiku before, so it was clear: I had received my own mystery book:

Mystery books have been received by many prominent Qaiku members before. They are beautifully handcrafted notebooks personalized for the recipient, often containing hints about Qaiku involvement, like having the inner covers made in printed version of that user's profile background. There is no information about the sender or the reason for making them. All are sent from random Turku post offices.
My copy of the mystery book is a mobile notebook, a bit in Moleskine-like style. The inner covers have a map of Europe from 1810, fitting my interest in history and geography spot-on. The book came with a pen, and had been sent from Turku 10 at 12:02 yesterday.
Several Qaiku members have posted pictures of their books on Flickr with tag "mysteerikirja", and there is a Qaiku channel about it. It remains to be seen whether the books are some viral marketing campaign, or have been made by some individual with Amélie-like tendencies. Anyway, quite a delightful surprise!
Posted on 2009-11-08 10:15:37 UTC in 60° 10.272 N 24° 55.956 E Helsinki, FI to Desktop. 0 comments.
Chris Messina has a pretty good story comparing Apple's Magic Mouse and the recently announced OpenOfficeMouse that was targeted to power users of OpenOffice.org:
At base, these products represent two polar opposite ends of the spectrum: Apple prefers to hide complexity within the technology whereas the open source approach puts the complexity on the surface of the device in order to expose advanced functionality and greater transparency into how to directly manipulate the device. Put another way, the reason that people would buy the $69 Apple MagicMouse is because they want Apple’s designers to just “figure it out” for them, and provide them with an instantly-usable product. The reason why someone would pay $75 for this mouse is because it strictly keeps all the decision-making about what the mouse does in the hands (pun intended?) of the purchaser.
What I worry about, however, is that pockets of the open source community continue to largely be defined and driven by complexity, exclusivity, technocracy, and machismo. While I do support independence and freedom of choice in technology — and therefore open source — I prefer to do so inclusively, with an understanding that there are many more people who are not yet well served by technology because appropriate technology has not been made more usable for them.
More focus on usability and clarity would be needed with most Open Source projects, but there are already some bright spots. GNOME, for example, has good tradition in simple interfaces. I recently made the jump from Mac OS X to Ubuntu Netbook Remix, and have generally been quite happy with it.
But for Open Source projects the challenge is more difficult than for proprietary products. On the other hand we want to provide a nice, usable experience, but we also want to let our users delve deeper into the functionality, to make changes and maybe even become contributors to the project. This is where new tools like OLPC's View Source button can do wonders if implemented more widely.
Posted on 2009-11-17 19:19:36 UTC in 60° 10.272 N 24° 55.956 E Helsinki, FI to Business Midgard Oscom. 0 comments.
An increasing number of web services and applications are emphasising search terms or pre-selected websites instead of allowing users to enter any address they choose. This is worrying, as while searches are more user-friendly, URLs are the heart of an open web where anybody can publish without obscure business dealings or oppressive app store policies.
There are many examples of this happening, from Facebook's framing of web to netbooks systems like the JoliCloud not having an address bar. Certainly many companies are looking at Mozilla's search engine revenue and Apple's app store model and want to emulate that, moving the web into silos of their own control. But at the same time, we're thinking of Linked Data and open, interoperable web standards.
Web indeed is at new crossroads.
Chris Messina predicts the death of URLs:
a future without URLs and without the infinite organicity of the web frightens me. It’s not that I know what we’ll lose by removing this artifact of one of the most generative periods in history — and that’s exactly the point! The URL and the ability for anyone to mint a new one and then propagate it is what makes the web so resilient, so empowering, and so interesting! That I don’t need to ask anyone permission to create a new website or webpage is a kind of ideological freedom that few generations in history have known!
Tim O'Reilly presents a call to arms:
It could be that everyone will figure out how to play nicely with each other, and we'll see a continuation of the interoperable web model we've enjoyed for the past two decades. But I'm betting that things are going to get ugly. We're heading into a war for control of the web. And in the end, it's more than that, it's a war against the web as an interoperable platform. Instead, we're facing the prospect of Facebook as the platform, Apple as the platform, Google as the platform, Amazon as the platform, where big companies slug it out until one is king of the hill.
And it's time for developers to take a stand. If you don't want a repeat of the PC era, place your bets now on open systems. Don't wait till it's too late.
Posted on 2009-11-18 13:21:07 UTC in 60° 10.272 N 24° 55.956 E Helsinki, FI to Desktop Midgard. 0 comments.
Mjolnir, the new major release of Midgard2 Content Repository is now out. Named after the hammer of Thor, this release finally provides a real content repository that can be used by both desktop and web application developers.

In addition to being a GObject-powered content repository for PHP, Python and Objective-C, the Mjolnir release provides several significant goodies on top of the older Midgard2 series:
We've been testing running the Qaiku microblogging service with Mjolnir. The exactly same PHP code that we used with Midgard 8.09 LTS performs 20-60% better when running on Mjolnir.
Get Midgard2 9.09 Mjolnir while it is hot! Builds for various Linux distributions are already starting to hit OBS repositories...
Posted on 2009-11-19 10:02:03 UTC in 60° 10.272 N 24° 55.956 E Helsinki, FI to Desktop Midgard. 0 comments.
Joint post of Henri Bergius and Michael Marth cross-posted here and here.
Web Content Repositories are more than just plain old relational databases. In fact, the requirements that arise when managing web content have led to a class of content repository implementations that are comparable on a conceptual level. During the IKS community workshop in Rome we got together to compare JCR (the Jackrabbit implementation) and Midgard's content repository. While in some cases the terminology might be different, many of the underlying ideas are identical. So we came up with a list of common traits and features of our content repositories. For comparison, there is also Apache CouchDB.
So, why use a Content Repository for your application instead of the old familiar RDBMS? Repositories provide several advantages:
Common rules for data access mean that multiple applications can work with same content without breaking consistency of the data
Signals about changes let applications know when another application using the repository modifies something, enabling collaborative data management between apps
Objects instead of SQL mean that developers can deal with data using APIs more compatible with the rest of their desktop programming environment, and without having to fear issues like SQL injection
Data model is scriptable when you use a content repository, meaning that users can easily write Python or PHP scripts to perform batch operations on their data without having to learn your storage format
Synchronization and sharing features can be implemented on the content repository level meaning that you gain these features without having to worry about them
| feature | JCR / Jackrabbit | Midgard | CouchDB |
|---|---|---|---|
| content type system | In JCR structured or unstructured nodes are supported and can be mixed at will in a content tree. | Content types are defined in MgdSchema types. All content must be stored to an MgdSchema type, but types can be extended on content instance level using the "parameter" triplets | Type-free |
| type hierarchy | Structured node types support inheritence of types, additional cross-cutting aspects can be added with "mixins". Node types can define allowed node types for child nodes in the content hierarchy. | MgdSchemas allow inheritance, and an extended type can be instantiated either using the extended type or the base type | Type-free |
| IDs | Nodes with mixin "referenceable" have GUID. In practice the node path is often used to reference nodes. | Every object has a GUID used for referencing. Objects located in trees that have a "name" property can also be referred to using the path | All objects can be accessed via a UUID |
| References | Nodes can reference each other with hard link (special property type) or soft link (by referring to the node path) | MgdSchema types can have properties linking to other objects of same or different type. A link of "parentfield" type places an MgdSchema type in a tree. | No reference support built-in |
| content hierarchy | All content is hierarchical / in a tree | Content can exist in tree, or independently of it depending on the MgdSchema type definition | flat structure |
| interesting property types | Multi-valued (like an array), binary properties (e.g. for files), nodes have an implicit sort-order | Binary properties stored using the Midgard Attachment system | Support for binary properties |
| transactions | Multiple content modifications are written in transactions. | Transactions can be used optionally. | |
| events | JCR Observers can register for content changes on different paths and/or for different node types and/or CRUD, receive notification of changes as serialized node | All transactions cause both process-internal GObject signals, and interprocess DBus signals | Support for one external event notification shell script |
| workspaces | Workspaces provide separate root trees. | No workspaces support in Midgard 9.03, coming in next version | Multiple databases within one CouchDB instance |
| import and export | nodes or parts of the repository (or the whole repo) can be imported or exported in XML. 2 formats: docview for human-frindly representation, sysview including all technical aspects | Objects can be exported and imported in XML format. There are tools supporting replication via HTTP, tarballs, XMPP, and the CouchDB replication protocol | JSON serialization is the standard way of accessing the repository. CouchDB replication protocol supports full synchronization between instances |
| versioning | Checkin/checkout model to create new versions of nodes, optionally versions complete sub-trees, supports branching of versions. | No versioning | All versions of content are stored and accessible separately, no branching |
| locking | Nodes can be locked and unlocked | Objects can be locked and unlocked | |
| object mapping | Not in standard, but implemented in Jackrabbit. Rarely used in practice. | Object mapping is the standard way of accessing the repository | All content is accessed via JSON objects |
| queries | In JCR1 Sql or XPath, in JCR2 also QueryBuilder. | Query Builder | Javascript map/reduce |
| access control | Done on repository level, i.e. all access control is independent of application. In Jackrabbit: pluggable authentication/authorization handlers. | No access control in Midgard repository, usually implemented on application level. Midgard proves a user authentication API | No access control |
| persistence | In Jackrabbit different Persistence Managers can be plugged in (RDBMS, tar file, ...) | libgda allows storage to different RDBMS like MySQL, SQLite and Postgres | CouchDB has its own storage |
| architecture | Jackrabbit: library (jar), JEE resource, OSGi bundle or standalone server | Library | Erlang-based daemon |
| APIs | Standard: Java-based, PHP coming up. In Jackrabbit: also WebDAV and HTTP-based API | C, Objective-C, PHP, Python | HTTP+JSON |
| full-text search | Included in repository. In Jackrabbit: Lucene bundled | No (SOLR used on application level) | Plugin for using Lucene, not installed by default |
| standard metadata | All nodes have access rights, jcr:primaryType and jcr:mixinTypes properties. JCR 2.0 standardizes a set of optional metadata properties. | All objects have a set of standard metadata including creator, revisor, timestamps etc | No standard properties |
Posted on 2009-11-23 16:52:54 UTC in 60° 10.272 N 24° 55.956 E Helsinki, FI to Midgard. 0 comments.
Firebug is a Firefox extension all web developers are familiar with. Now when developing with the MidCOM3 MVC framework it is possible to get your debug information straight from Midgard to Firebug:

This is built on top of the excellent FirePHP extension, which helps you get data not only from regular web pages but also from AJAX requests.
Currently we send all logged information plus details about current route and templates being used. To use this, install FirePHP in your Firefox, FirePHPCore from PEAR packages, and enable development_mode in MidCOM3 configuration.
I'm considering to port this also to Ragnaroek.
Posted on 2009-12-02 14:08:41 UTC in 60° 9.798 N 24° 55.674 E Helsinki, FI to Geo Midgard. 0 comments.
Location is an important context that web services can utilize for fun or smarter user interaction. In past getting location used to be difficult, but now thanks to good IP locationing databases and browser geolocation capabilities it is becoming a lot easier.
But to be really easy, the framework you're using should provide user's location built-in, without you as an application developer having to think about it. This is the reason for Midgard's geolocation features to exist, after all. With Midgard, getting user's location is quite easy:
// Read location from session or user's location log
$user_location = midgardmvc_helper_location_user::get_location();
if (is_null($user_location))
{
// No location found, try to geocode based on user IP via the GeoPlugin service
$geocoder = new new midgardmvc_helper_location_geocoder_geoplugin()
$location_parameters = array('ip' => $_SERVER['REMOTE_ADDR']);
try
{
$user_location = $geocoder->geocode($location_parameters);
midgardmvc_helper_location_user::set_location($user_location);
}
catch (Exception $e)
{
// Couldn't get location from IP
}
}
if (!is_null($user_location))
{
echo sprintf('You\'re in %s, %s', $user_location->latitude, $user_location->longitude);
// Will print "You're in 60.1633, 24.9279"
}
<?php
// Read location from session or user's location log
$user_location = org_routamc_positioning_user::get_location();
if (is_null($user_location))
{
// No location found, try to geocode based on user IP
$geocoder = org_routamc_positioning_geocoder::create('geoplugin');
$location_parameters = array('ip' => $_SERVER['REMOTE_ADDR']);
$user_location = $geocoder->geocode($location_parameters);
if (!is_null($user_location))
{
// Store geocoded location to session or user's location log
org_routamc_positioning_user::set_location($user_location);
}
}
if (!is_null($user_location))
{
echo sprintf('You\'re in %s, %s', $user_location['latitude'], $user_location['longitude']);
// Will print "You're in 60.1633, 24.9279"
}
?>
The examples above will work with both anonymous site visitors (using sessions) and registered users (using Midgard's position log). In this example we check if location is already available via browser geolocation or some importer like Qaiku or Fire Eagle, and if not we fall back to IP-based positioning using the GeoPlugin service. The resulting user location array or object (depending on Midgard used) contains a textual description of the place and accuracy information in addition to WGS-84 coordinates.
Posted on 2009-12-07 10:47:02 UTC in 60° 9.798 N 24° 55.674 E Helsinki, FI to Mobility. 1 comments.
Ping.fm is a useful tool if you have friends on many social networks as it allows you to write updates to all of them via a single interface. In addition to the web interface there are many tools that allow posting to ping.fm, including SMS and applications for Android handsets and the iPhone.
So far a problem with ping.fm has been that it doesn't support Qaiku, the conversational microblogging tool that we're using to handle workstreaming in Maemo.org Sprints. But now it is possible thanks to the Custom URL functionality on ping.fm.
If you already have a Qaiku account you can start posting to it via ping.fm in the following way:




If ping.fm is not your thing, there are also other non-web ways to use Qaiku. For example Mauku for N900 and Gwibber for the Linux desktop work nicely with the service. Qaiku also has an XMPP bot that you can use by simply adding qaiku@jabber.org as your instant messaging contact.
Posted on 2009-12-11 09:11:13 UTC in 60° 9.798 N 24° 55.674 E Helsinki, FI to Politics. 0 comments.
Free Software Foundation Europe, has recently expanded by the addition of a Finnish country team. FSFE is a non-profit organization dedicated to ensuring software freedom, which is an important building block in an open information society.
The current Finnish team includes Otto Kekäläinen of VALO-CD, the distribution of free software applications for Windows as the country coordinator, and Henri Bergius of Midgard as the deputy coordinator. Timo Jyrinki from Ubuntu Finland is the translation coordinator. Here you can see the team in a recent info event organized together with the Finnish Linux User Group and TKO-äly:

While COSS is already doing important work for free software in Finland, FSFE amends that agenda by providing focus on the freedom of software and citizen-level participation.
If you're interested in contributing to software freedom, start by joining the Fellowship of the FSFE. You can also contact us at finland@fsfeurope.org and find out more about what is happening in Finland in the field of free software by following the vapaasuomi.fi website.
Posted on 2009-12-31 11:23:35 UTC in 60° 10.572 N 24° 55.206 E Helsinki, FI to Desktop Midgard. 0 comments.
2009 was a pretty active year for the Midgard content repository project, and so it is good to take a look at some of the highlights:
Happy new year to everybody in the Midgard world!