Motorcycle Adventures and Free Software
Henri Bergius
Biker, free software consultant, neogeographer

See also my JavaScript blog, The Universal Runtime

There is a total of 867 posts.

Weblog: category "desktop"

Open Advice

Posted on 2012-03-19 10:51:12 UTC in 52° 29.400 N 13° 25.272 E Berlin, DE to . 0 comments.

Open Advice coverI seem to have not blogged about this, but Open Advice, our book on Free and Open Source Software: what we wish we had known when we started, was published last month.

The book was edited by Lydia Pintscher and includes essays from 42 authors, many of whom you'll recognize if you tend to go to FOSS conferences. The LWN book review concludes:

Open Advice is a book that will be helpful to those who are new to FOSS, but, because of the individual voices, styles, and tones, it doesn't read like a "how to". It could even be recommended to those who aren't necessarily interested in contributing, but are curious about what this "free software thing" is all about. It is, in short, a great book for a variety of audiences and the (mostly) two or three page essays make it easy to read, while the anecdotes and recollections personalize it. The authors, editor, and everyone else who helped should be very pleased with the result. Readers will be too.

I probably shouldn't give the ending away, but my essay on cross-project collaboration, a subject I've also blogged about, ends with:

Good luck with breaking down the project boundaries! In most cases it works if your ideas are good and presented with an open mind. But even if you do not find a common ground, as long as your implementation solves the use case for you it has not been in vain. After all, delivering software, and delivering great user experience is what counts.

The book is licensed under CC-BY-SA, and is available as free download in ePub, mobi and PDF formats, and as paperback from Lulu. The book sources are available on GitHub, patches welcome!

Sponsored links

save money using, phone card

Hacker-nomadism

Posted on 2012-03-16 17:40:39 UTC in 52° 29.400 N 13° 25.272 E Berlin, DE to . 0 comments.

I build software for a living. This means creating the new generation of Content Management interfaces in the IKS Project, developing custom client applications at Nemein, and building the first cloud-based record label at Music Kickstarter.

As my office is where my laptop is, none of this work is particularly tied to a physical location. And as much of the work is communicating, I end up spending quite a lot of time traveling between meetings and conferences.

For this my previous home town of Helsinki, Finland wasn't quite ideal. From an European perspective, Finland is an island. And so I've accumulated airmiles instead of being able to travel more comfortably (and productively) on the European railway network.

I've previously dabbled with living in other locations like Istanbul and Saint Petersburg, but this time I hope the move will be more permanent: in the beginning of this month we packed our stuff, got rid of the Helsinki flat and hopped on a plane to Berlin.

berlin-bears.png

The modern world makes this easy: my whole library fits on a Kindle and music collection on Spotify, version control and testing happens in the cloud, and banking and invoices are on the web. And thanks to EU there is minimal red tape in setting yourself up anywhere in Europe.

My current setup is such: I'm traveling with about two weeks' worth of clothes, my trusty work laptop, and tablet with an amazing 18 hour battery life. Accommodation happens in furnished, short-term rental apartments, and Internet comes from an old N900 serving as a WiFi access point via prepaid 3G.

While Berlin has excellent co-working spaces, I'm currently sharing office with Content Control, the local Midgard shop. Though at the time of writing my office is temporarily relocated to the nearby Hasenheide park where there is a nice sunny spring day.

hasenheide-park-hacking.png

I'm still planning on popping into Helsinki every now and then. With Air Berlin, the travel cost and distance is almost the same as if I lived in the Finnish city of Tampere (yeah, VR is expensive). Once the snows there melt, I'll also ride my motorcycle over.

If things work out, I may be eventually able to say: ich bin ein Berliner. This city is quite amazing - the amount of cultural activities and hacker meetups probably beats any other place in Europe right now. If you're around, ping me!

And if Berlin doesn't work, then there are lots of other interesting places for a working nomad...

Open Mobile Linux, this Saturday in FOSDEM

Posted on 2012-02-02 08:55:37 UTC in 60° 9.792 N 24° 55.662 E Helsinki, FI to . 0 comments.

As mentioned in the earlier call for presentations, we're running a track on Open Mobile Linux in FOSDEM this Saturday. Room AW1.120 at the ULB campus in Brussels. From the CfP:

Our primary goal is to facilitate meetups, collaboration and awareness between different projects and communities within Open Mobile Linux and provide a place to present directions, ideas and your projects themselves.

By Open Mobile Linux we mean any open source projects revolving around typical non-desktop/server Linux, such as handsets, tablets, netbooks or other creative uses. Examples of such projects could be Qt5, Mer, MeeGo, Android, webOS, Plasma Active, Tizen, Boot to Gecko, SHR and other related efforts.

There are several exciting things happening in this space, including the recently announced Spark tablet, open sourcing of webOS's Enyo framework and continuing interest in the Maemo platform. Saturday's program includes:

If there are any last-minute announcements or happenings that people want to discuss, we may be a ble to squeeze in a talk or two. Contact Carsten about this.

Also, if you want to chat other things (like PHPCR or CreateJS), I'll be around the whole weekend including the beer event. Drop me an SMS.

Looking forward to seeing as many of you there as possible!

Using CoffeeScript for GNOME development

Posted on 2011-12-16 16:04:16 UTC in 47° 48.570 N 13° 3.300 E Salzburg, AT to . 0 comments.

In Suski's blog I saw a question on whether developing GNOME apps would be possible in CoffeeScript. The answer is yes. I wrote a quick example back in Desktop Summit:

# GObject Introspection APIs are available from imports.gi.Modulename
Gtk = imports.gi.Gtk

# For GNOME 3.2+ this should be Gtk.init null, 0
Gtk.init 0, null

win = new Gtk.Window
type: Gtk.WindowType.TOPLEVEL
win.set_border_width 10
win.connect "destroy", (widget) ->
Gtk.main_quit()

button = new Gtk.Button
label: "Hello, world"
button.connect "clicked", ->
button.set_label "Bar"
win.add button

button.show()
win.show()

Gtk.main()

Gjs doesn't run CoffeeScript directly, so you need to convert this before running:

$ coffee -c window.coffee 
$ gjs window.js

You should see something similar to:

gjs-coffee-example.png

Call for presentations: Open Mobile Linux at FOSDEM 2012

Posted on 2011-12-14 09:46:57 UTC in 47° 48.570 N 13° 3.300 E Salzburg, AT to . 0 comments.

At FOSDEM 2012 we will have a devroom related to Open Mobile Linux. Our primary goal is to facilitate meetups, collaboration and awareness between different projects and communities within Open Mobile Linux and provide a place to present directions, ideas and your projects themselves.

By Open Mobile Linux we mean any open source projects revolving around typical non-desktop/server Linux, such as handsets, tablets, netbooks or other creative uses. Examples of such projects could be Qt5, Mer, MeeGo, Android, webOS, Plasma Active, Tizen, Boot to Gecko, SHR and other related efforts.

We have the room AW1.120 with 74 seats, a video projector (VGA), wireless internet on Saturday 4th February for a total of 8 hours.

The format we will be utilizing is lightning talks of length 15 minutes with 10 minutes of questions, 5 minute changeover to next speaker. Our goal is about 15 talks during the day.

The motivation is that after each talk, you and your project will be visible to the rest of the Open Mobile Linux community and further deeper discussions into your topic with your peers can continue outside the devroom.

Please send a short biography and an abstract for your talk to carsten.munk@gmail.com by Dec 31st 2011, and we'll get back to you at latest January 7th.

We're also grateful for volunteers helping to run the devroom. Contact Carsten if you're interested.

Where is the future for openness in mobile?

Posted on 2011-10-03 17:53:42 UTC in 60° 0.000 N 24° 0.000 E 28km S of Lojo, FI to . 1 comments.

These are tough times for fans of open mobile environments. Android is less and less open, Symbian was closed again, HP stopped making webOS devices, and now Intel abandoned MeeGo to work with Samsung and operators instead. So, what is the community to do?

One option is to follow the lead of the big companies, hoping that Tizen works, or that Google again sees the benefit of working with others in the open.

The other is to take the matters in our own hands. There is precedent for this. Much of early Linux activity came from the efforts of the community, not on the initiative of corporate interests. And there have been OpenMoko and Mer, the latter an attempt to make a fully open version of Nokia's Maemo environment, suspended when MeeGo promised to bring the same benefits.

Well, now Mer is back.

mer-400.jpg

The goals for Mer align pretty well with what the community would need:

  • To be openly developed and openly governed as a meritocracy
  • That primary customers of the platform are device vendors - not end-users.
  • To provide a device manufacturer oriented structure, processes and tools: make life easy for them
  • To have a device oriented architecture
  • To be inclusive of technologies (such as MeeGo/Tizen/Qt/EFL/HTML5)
  • To innovate in the mobile OS space

There have also been some other invitations to new potential homes for the community, ranging from openSUSE to Debian.

It will be interesting to see how this works out. But whatever we as a community do, we should ensure we look at more than just licensing.

GObject Introspection is coming to Node.js

Posted on 2011-09-12 00:27:13 UTC in 60° 9.834 N 24° 55.734 E Helsinki, FI to . 1 comments.

GObject Introspection (GIR) is a way to create automatic bindings to GNOME libraries for various different programming languages. I've written before about the benefits of bringing GIR to PHP, and now it seems something similar is happening on Node.js.

node-gir has been written by Tim Caswell, with help from Sebastian Wick and Piotr Pokora.

I've been following the progress for a while, and today, during a flight from Helsinki to Salzburg, I was finally able to open a Midgard repository connection with it. The API still is a bit weird, and lacks support for the asynchronous nature of Node, but those will hopefully change soon. Quick example:

var Midgard, gir, config, mgd;
gir = require("../gir");
gir.init();
Midgard = gir.load("Midgard");
Midgard.init();

// Use a local SQLite database file
config = new Midgard.Config();
config.__set_property__("dbdir", __dirname);
config.__set_property__("dbtype", "SQLite");
config.__set_property__("database", "midgard");

// Open connection to the database
mgd = new Midgard.Connection();
if (!mgd.__call__("open_config", config)) {
    console.error("Failed to open connection");
    process.exit();
}

node-gir is being developed on GitHub if you want to lend a hand or try it out. To build it, run npm install and you should be able to run the code examples.

Having GIR support for Node would make it a full-fledged GNOME environment, and mean that there would be proper GObject Introspection in all three major JavaScript runtimes - SpiderMonkey, JavaScriptCore and V8. And this way GNOME JavaScript developers could also utilize the wealth of existing Node.js modules.

Embrace and extend

Posted on 2011-09-11 23:14:02 UTC in 60° 9.834 N 24° 55.734 E Helsinki, FI to . 6 comments.

I'm getting worried about Google. Long one of the champions of the open web alongside Mozilla, the rise of social networking silos and the app economy seem to have scared them. And like any scared organism, they lash out.

Many of their plans to make web competitive against native development environments are good, there is indeed much to improve in the stack. But what I'm uneasy with is the unilateral way they go about it, preferring "big reveals" and post-facto standardization instead of the open conversation that built most of the Internet we have today. This is not the way to collaborate.

Consider some of their recent efforts:

  • SPDY, a protocol to replace HTTP which Web is built on. Currently only supported by Chrome, which uses it to talk to several Google services
  • Dart, their JavaScript-killer which recently surfaced through a leaked email
  • Microdata and Schema.org that seek to replace last ten years of semantic web development with a spec cooked up by couple of big vendors in secret

These - together with WebSQL, NaCl, WebM and WebP - mean that Google has active efforts to replace practically every layer of the web (except HTML itself) with something of their own design.

The way all of these were introduced bears strong reminders of how Microsoft tried to embrace, extend, and extinguish the web in late 90s. That period brought horrors like ActiveX and the awful, unkillable IE6. Though, for the sake of fairness, it also brought us XmlHttpRequest which was the enabler of the AJAX revolution.

Google's new technologies may end up being beneficial for web developers, but they also threaten to fragment the platform. After all, as the competition in the "post-PC" space heats up, the competitors are unlikely to embrace Google's extensions of the web stack. That would be a loss to all.

Brendan Eich, the original author of JavaScript comments on Hacker News:

So "Works best in Chrome" and even "Works only in Chrome" are new norms promulgated intentionally by Google. We see more of this fragmentation every day. As a user of Chrome and Firefox (and Safari), I find it painful to experience, never mind the political bad taste.

Ok, counter-arguments. What's wrong with playing hardball to advance the web, you say? As my blog tries to explain, the standards process requires good social relations and philosophical balance among the participating competitors.

Google's approach with Dart is thus pretty much all wrong and doomed to leave Dart in excellent yet non-standardized and non-interoperable implementation status. Dart is GBScript to NaCl/Pepper's ActiveG.

Disclaimer: I've been a long-time fan of many of Google's services, and have visited some of their offices a few times. I like the company. Which is exactly why I'm so concerned about this unilateral approach at standards. I am also involved in some standards processes through the IKS Project.

Why the tablet form factor is winning

Posted on 2011-09-05 15:30:31 UTC in 47° 0.000 N 13° 0.000 E 48km SE of Saalfelden am Steinernen Meer, AT to . 0 comments.

The press is writing a lot about a "post-PC ecosystem" these days, and while many dismiss tablets as simple toys, I think the world of computing is undergoing a major shift. Tablets may not be good for writing, but they are good, probably better than PCs for a lot of other things. And it turns out, people want to be doing these other things.

MG Siegler from TechCrunch has a great post on the subject:

...I’ve been trained over time to think that the traditional PC is the way to do these things whether it’s for work or play. That’s simply not true. The tablet form factor is so. much. better. when you don’t have to do an excessive amount of typing. And during downtime, when I use a computer like a more regular human being, I’ve found that’s often...

Computing is changing. That’s just about the most obvious statement ever. We’ve been seeing this for years with the rise of the smartphones. But traditional computing is changing as well. As in, people are abandoning PCs for these newer devices. And this will keep happening.

My experience conforms with this. I rarely use my laptop outside of the work context of writing code, instead preferring to use the tablet with its great ergonomics, portability and long battery life. On some of my previous trips I noticed that already more than half of people sitting in airport lounges use a tablet instead of a laptop. Not bad for a product category that has existed in a mainstream manner for less than two years. Nokia's internet tablets blazed the trail years earlier, but were never marketed outside the geekdom.

Now, much of the attention in the tablet world has been focused on the couple of platforms that are winning in popularity, and therefore have most of the apps. But regardless of how well Apple and Google play their cards, the post-PC world will be a multiplatform one.

About a week after I got my webOS-powered TouchPad, HP went and killed the product. Yet this hasn't made the device useless. As Paul Rouget recently found out, as long as you have a good browser, your device will be relevant.

Some people can't or don't want to use Native Apps. Because their phones don't have Apps, or because there is just no good Apps for what they want to do, or because, well, because they don't need to...

While in the Western world we were looking at Apple bringing pretty Apps in an expensive device, in the Eastern world, Opera was bringing a working web browser to all the existing devices.

This is the big opportunity for free software to remain relevant in an environment of highly-locked devices. Much of the web already runs on free components, and by using the web as a universal runtime we can bypass almost any platform restrictions. As Paul Graham wrote back in 2001, no one can break web applications without breaking browsing.

The world of publishing is starting to understand this. Their revenue models can't take the heavy control that vendors like Apple imposes, and so Amazon's Kindle is a web app, and so is Financial Times. That "Next year HTML5 will replace native apps" is the new "Next year will be the year of Linux on the desktop" is already a Twitter joke, but there is certainly some movement in this direction. And interestingly, the Linux desktop is actually becoming more web-savvy and touch-friendly.

There are clearly sweet spots for something to be a web app, or for it to be a native application. Similarly, there are different situations where tablets will be the appropriate tool, and where PCs are. The tablet context will be more like this:

tablet-breakfast.jpg

Than this:

ipad-workstation.jpg

The heavy lifting is a better fit for a system designed for that. As Steve Jobs said, the PC will be the truck.

Nemein and Infigo merge to create a digital agency focused on web and mobile

Posted on 2011-09-02 11:15:37 UTC in 47° 0.000 N 13° 0.000 E 48km SE of Saalfelden am Steinernen Meer, AT to . 1 comments.

Yesterday the contracts were signed to acquire Infigo as part of Nemein. Infigo, is a consulting company focused on mobile development and web using open source tools. You'll probably at least know their CTO, Jerry of the USB finger fame.

Even in the ten years of history of our company this is quite a significant move - it allows us to combine Nemein's traditional expertise on content management with Infigo's mobile offerings. As smartphones and tablets are becoming popular, more and more services we build will have a mobile element, which is now easier with lots of in-house expertise.

This also means more focus on the interplay between the Midgard content repository, NoFlo workflows, Node.js and Symfony web services, and mobile applications built in Qt.

nemein-infigo.jpg

Petri Rajahalme (with me in the photo) will be the CEO of the merged company, and I will focus on leading the R&D efforts.