LocalStream

Yesterday, I had my exit interview at Nokia, and I have now joined the ranks of ex Nokia people. I look back with pleasure on a fantastic period at that company where I first worked on cool research projects in Nokia research and the last few years on Nokia’s places and search infrastructure. But more importantly, I am now looking forward towards a fresh start. Seven years in a company is a long time and it’s been nearly a decade since I ended my academic career to start a corporate career. Now I’m making another change: I’m becoming an entrepreneur.

I’m in the process of starting my own company, together with my Irish friend and colleague Mark MacMahon. We’ve been debating, pondering, discussing, etc. over the last few months and we decided on a company name: LocalStream and registered the domain name http://localstre.am and the @localstre twitter account.

LocalStream at this point is just a simple website that will act as a place holder until we roll out the real thing early 2013. LocalStream is going to be a new communication channel that is all about local. Rather than talking to your friends and family on Facebook, or your colleagues via LinkedIn, or your followers on Twitter, LocalStream will allow you to share with people in a specific area and create a local stream of information.

Currently we’re busy prototyping, writing business plans, etc. and you’ll find us hanging out in the trendy places near Rosenthalerplatz, the heart of Berlin’s Silicon Allee, that have ample supplies of comfy couches, wifi, and caffeinated beverages: the three ingredients that are essential to the life of a startup.

Leaving Nokia

Seven years ago, I joined Nokia Research Center in Helsinki, Finland to pick up my research career again after a few years of working as a software engineer. Since then, I’ve been working on many different things but all somehow related to location-based services. Three and a half years ago I moved to Berlin to continue in what has recently been re-labeled as Nokia’s Location & Commerce unit where I continued to work on location-based services but this time in a more technical role. I’ve had loads of fun building some of the core server components in Nokia’s places and search products; I’ve had the pleasure to work with a lot of very smart and talented people with a lot of different backgrounds; and I got to work with all sorts of interesting technologies and server-side infrastructure.

The last seven years were fun, very intense, and I learned a lot. I joined Nokia at the peak of its success. And while I have witnessed the steady erosion of market share and related changes over the past few years, I consider myself lucky to have been in Berlin where despite the relentless re-organizations and re-structurings elsewhere in Nokia, things have stayed positive and optimistic. Today’s Location & Commerce unit is in a great shape for the future and has some really solid and exciting products and services. I am genuinely proud to have been a part of that.

But now the time has come for me to move on and seek new challenges and I will leave Nokia at the end of November. I’ll still be in Berlin, which has a very lively and interesting start-up scene, and I will be looking there and in other places for new exciting things for me to work on next.

In the past few days, I’ve been busy polishing my CV and linkedin profile. If you know me, feel free to connect there; or if you don’t contact me via linkedin or one of the other ways listed on my contact page.

Updated my publications page …

It’s been a while, but now that the last two big journal articles I had in the pipeline for ages are printed, I finally updated my publications page with proper references and pdfs.

For those who got to know me more recently (or don’t know me at all). I have been moving back and forth between academic jobs and non academic jobs for about twelve years. The last two years I’ve been employed in a strictly non-academic role, which I enjoy very much. Before that I was working (and publishing) at the Nokia Research Center. In that job, I squeezed out several not so important workshop articles and book chapters as well as two major, big journal articles (which in the academic world is all that counts). Those articles took a long time to write and even longer to get reviewed, edited, re-reviewed, re-edited, accepted, re-edited, approved, edited by a professional editor, approved, pre-published, and finally printed.

Practical Web-Based Smart Spaces
Abstract:

Mobile devices are evolving into hubs of content and context information. Many research projects have shown the potential for new pervasive computing applications. This article shows how Web and resource-based smart spaces can support pervasive applications in a wide variety of devices. A framework that employs a resource-based HTTP style for pervasive services called Representational State Transfer (REST) can enable easy mashup of applications. This framework has several important features. First, a flexible access control mechanism on top of the OpenID and OAuth protocols provides security and access control in heterogeneous, dynamic environments. Second, a search engine can collaborate with existing service and network discovery mechanisms to find resources on the basis of their indoor location. Finally, an emerging W3C standard, Delivery Context: Client Interfaces (DCCI), facilitates sharing information within a device in an interoperable fashion.

The first article, we decided to write in 2008 as a way to promote the fine research we had been doing in Nokia Research. You can’t get better marketing for your research than an article in a high profile magazine with a wide distribution in the research community. The magazine we selected for this was Pervasive Computing, and I’m very proud and happy we got our article in. Since this is a magazine and not a journal, the article is comparatively limited in size, which means that it posed some interesting challenges on what to keep in it and what to omit.

Comparing Practices for Reuse in Integration-oriented Software Product Lines and Large Open Source Software Projects
Abstract:

This paper compares organization and practices for software reuse in integration- oriented software product lines and open source software projects. The main observation is that both approaches are successful regarding large variability and reuse, but differ widely in practices and organization. To capture practices in large open source projects, we describe an open compositional model, which reflects their more decentralized organization of software development. We capture key practices and organizational forms for this and validate these by comparing four case studies to this model. Two of these studies are based on published software product line case studies, for the other two we analyze the practices in two large and successful open source projects based on their published developer documentation. Our analysis highlights key differences between the practices in the two open source organizations and the more integrational practices used in the other two cases. Finally, we discuss which practices are successful in which environment and how current practices can move towards more open, widely scoped and distributed software development.

I started writing the second article, already in 2006. The first drafts were not very satisfying and we put it on ice for quite some time until deciding to finally get it published in 2008, which meant a more or less full rewrite of what we had until then. From there it took until September 2010 to get it printed. Most of those 2+ years were spent waiting and very occasionally doing major revisions of the article in response to some reviews and editor comments.

This last article (for now) has some continuity from my earlier work on software variability, software product lines, and software design erosion that I covered in my Ph. D thesis in 2003 (and several related publications). We present a model for large scale software development that we reconstructed from observing “how it’s done” in several case studies published by others as well as in the open source community as well as our own experience studying various systems and companies, as well as getting our own hands dirty with actual software engineering. Two years of subsequent practicing real software development in Nokia has only strengthened my belief in the vision presented in the paper, which is that the only proper way to scale software development to a software eco system (i.e. a thriving community of many developers across many organizations working with and on the software) is to decentralize management of the development process. If you are interested in this and want to read more, co-author Jan Bosch, my former Ph. D. supervisor who now works at Intuit, has been publicizing this view as well in his frequent talks and keynotes at various conferences. This website is dedicated to this topic.

Now with both articles out of the way, the question is “what’s next?”. The answer to that, for now, is nothing because I haven’t started writing any new articles in the last two years. And frankly I’m not likely to start writing one soon since I lack the time and I’m appalled by the snail pace at which the publication process progresses. Both articles have turned out very nice but would have had much greater impact if we had been able to get them written and published in the same year instead of (nearly) 3 to 5 years apart. Sadly, this is the reality of academic life. You write your stuff, you move on, and some day stuff actually gets printed on dead trees. There are more reasons, which I won’t rant about here but it is a big factor in me not being interested in publishing any more, for now.

Publications backlog

I’m now a bit more than half a year into my second ‘retirement’ from publishing (and I’m not even 35). The first one was when I was working as a developer at GX Creative Online Development 2004-2005 and paid to write code instead of text. In between then and my current job (back to coding), I was working at Nokia Research Center. So naturally I did lots of writing during that time and naturally I changed jobs before things started to actually appear on paper. Anyway, I have just added three items to my publications page. Pdfs will follow later. One of them is a magazine article for IEEE Pervasive Computing I wrote together with my colleagues in Helsinki about the work we have been doing there for the past two years. I’m particularly happy about getting that one out. It was accepted for publication in August and hopefully it will end up on actual dead trees soon. Once IEEE puts the pdf online, I’ll add it here as well. I’ve still got one more journal paper in the pipeline. Hopefully, I’ll get some news on that one soon. After that, I don’t have anything planned but you never know of course.

However, I must say that I’m quite disappointed with the whole academic publishing process, particularly when it comes to journal articles. It’s slow, tedious, the decision process is arbitrary, and ultimately only a handful of people read what you write since most journals come with really tight access control. Typically that doesn’t even happen until 2-3 years after you write it (more in some cases). I suspect the only reason people read my stuff at all is because I’ve been putting the pdfs on my site. I get more hits (80-100 on average) on a few stupid blog posts per day than most of my publications have gotten in the past decade. From what I managed to piece together on Google Scholar, I’m not even doing that bad with some of my publications (in terms of citations). But, really, academic publishing is a really, inefficient way of communication.

Essentially the whole process hasn’t really evolved much since the 17th century when the likes of Newton, Leibniz, et al. started communicating their findings in journals and print. The only qualitative difference between a scientific article and a blog post is so called peer-review (well, it’s a shitload of work to write articles of course). This is sort of like the Slashdot moderation system but performed by peers in the academic community (with about the same bias to the negative) who get to decide what is good enough for whatever workshop, conference or journal magazine you are targeting. I’ve done this chore as well and I would say that like on slashdot, most of the material passing across my desk is of a rather mediocre level. Reading the average proceedings in my field is not exactly fun since 80% tends to be pretty bad. Reading the stuff that doesn’t make it (40-60% for the better conferences) is worse though. I’ve done my bit of flaming on Slashdot (though not recently) and still maintain excellent karma there (i.e. my peers like me there). Likewise, out of 30+ publications on my publication page, only a handful is actually something that I still consider worth my time (writing it).

The reason that there are so many bad articles out there is that the whole process is optimized for meeting mostly quantitative goals universities and research institutes set for their academic staff. To reach these goals, academics organize workshops and conferences with and for each other that provides them with a channel for meeting these targets. The result is workshops full of junior researchers like I once was trying to sell their early efforts. Occasionally some really good stuff is published this way but generally the more mature material is saved for conferences, which have a bit wider audience and more strict reviewing. Finally, the only thing that really counts in the academic world is journal publications.

Those are run by for profit publishing companies that employ successful academics to do the content sorting and peer review coordination for them. Funnily these tend to also be the people running conferences and workshops. Basically, veterans of the whole peer reviewing process. Journal sales is a based on volume (e.g. once a quarter or once a month), reputation, and a steady supply of new material. This is a business model that the publishing industry has perfected over the centuries and many millions of research money flow straight to publishers. It is based on a mix of good enough papers that libraries & research institutes will pay to access and a need of the people in these institutes to get published, which requires access to the published work of others. Good enough is of course a relative term here. If you set the goals too high, you’ll end up not having enough material to make running the journal printing process commercially viable. If you set the goals too low, no-one will buy it.

In other words, top to bottom the scientific publishing process is optimized to keeping most of the academic world employed while sorting out the bad eggs and boosting the reputation of those who perform well. Nothing wrong with that, except for every Einstein, there’s tens of thousands of researchers who will never really publish anything significant or ground breaking who get published anyway. In other words, most stuff published is apparently worth the paper it is printed on (at least to the publishing industry) but not much more. I’ve always found the economics of academic publishing fascinating.

Anyway, just some Sunday morning reflections.

Moving to Berlin

A bit more than a month ago, I posted a little something on the reorganization in Nokia Research Center where I work and announced my availability on the job market. This was a bit of a shock of course and it has been a hectic few weeks but the end result is really nice. For me at least. Unfortunately some of my colleagues are not so lucky and are now at risk of losing their job.

In any case, a few weeks ago I visited Nokia Gate5 in Berlin for a job interview. Gate5 is a navigation software company that Nokia bought in 2006. Their software is powering what is now known as OVI Maps and whereas the whole industry is shrinking, they are growing like crazy now and rolling out one cool product after another. Today, they sent me a proposal for a contract. Barring contractual details, this means that I will be based in Berlin from February. This is something I’ve known for a few weeks but having all the necessary approvals from Nokia management and a concept contract is about as good as it gets in terms of certainty. So, since I know a few people are curious what I’ll be up to next year, I decided on this little update.

I can’t say too much about what I will do there except that it more or less matches my Java server side interests and experience perfectly. This means back to being a good old Java hacker which is just fine with me and something I’ve not had enough time to focus on lately (much to my annoyance). Just today I submitted an article and I have one or two other things to finish off in January. After that, my research will be put on hold for a while. That’s fine with me as well. After returning to a research career three years ago, I’ve done a few nice papers but to be honest, I’m not enjoying this as much as I used to.

Of course Berlin is a great place to move to. I’ve been there now twice. I remember thinking the first time in 2005 that “hmm, I wouldn’t mind living here” and when I was there three weeks ago I had the same feeling again. It’s a big city with a rich history, nice culture and lots of stuff to see and do. I also learned that this is one of the few cities in Europe where life is actually cheap. Apartment prices, food, drink and all the essentials in life are really affordable there and of excellent quality too.

Anyway, I’ll be off to France the next week visiting my parents.

Happy holidays

NRC Reorganization

My employer, Nokia, announced this week that it is reorganizing Nokia Research Center. The why and how of this operation is explained in the press release.

I learned this on Tuesday along with all my colleagues and have since been finding out how this will affect me. I can of course not comment on any organizational details but it is very likely that I start 2009 in a new job somewhere within Nokia since it looks like the research topic that I have been working on for the past two years is out of scope of the new Helsinki Lab research mission. While I’m of course unhappy about how that decision affects me, I accept and respect it. Short term, I am confident that I will be allowed to finish ongoing research activity since it has been so far highly successful within Nokia and we are quite close to going public with the trial of the system I demoed on Youtube a few weeks ago. I’m very motivated to do this because I’ve put a lot of time in it and want to see it succeed and get a lot of nice press attention.

However, a topic that is of course on my mind is what I will be doing after that and where I will be doing it. In short, I’m currently looking at several very interesting open positions in Nokia. Since I’m doing that anyway, I’ve decided to broaden my search and look at all available options, including those outside Nokia. I will pick the best offer I get. Don’t get me wrong, I think Nokia is a great employer and I am aware my skills are in strong demand inside Nokia. So, if Nokia makes me a good offer, I will likely accept it. But of course, the world is bigger than Finland where I have now spent three years and I am in no way geographically constrained (i.e. willing to move internationally).

So, I’ve updated my CV and am available to discuss any suitable offer.

Since this has happened in the past: please don’t contact me about Symbian programming or J2ME programming type jobs. Not interested in either, I’m a server guy.

The Way We Live Next

I stumbled upon somebody writing about Nokia’s 2007 Way We Live Next event in Oulu. This event was intended to give the outside world a view on what is going on in Nokia Research Center.

Nice quote

Lots of interesting stuff was shown off during the course of the two days and the most interesting I came across was the indoor positioning concept. Using WiFi and specially created maps, the devices we were issued with were running the software which enabled you to move through the NRC building and pinpoint exactly where you were. So, if the next presentation was in room 101, the device would simply, and quickly show you the way. It instantly made me think of the frustration of trying to get where I want in huge shopping centres – and I figured this had to be the perfect solution.

Next week, the 2008 edition of the WWLN is going to be in Espoo and I will be giving a demo there of our indoor location based service platform, customized for a real shopping mall. We’ve demoed last years version of our software platform at the Internet of Things Conference last April. At the time our new platform was already under development for a several months and we are getting ready to start trialing it now. The WWLN event next week will be when we first show this in public and hopefully we’ll get some nice attention from the press on this.

PS. I like (good) beer …

Paper on Sensor Actuator Kit evaluation

One of our interns, Filip Suba, presented a paper earlier this week in Turku at the Symposium on Applications & the Internet. He’s one of my former (since today) master thesis students that has been working in our team at NRC for the past few months. The paper he presented is actually based on his work a few months before that when he was working for us as a summer trainee (previous summer that is). His master thesis work (on a nice new security protocol) is likely to result in another paper, when we find the time to write it.

Anyway, we hired him last year to learn a bit more about the state of the art in Sensor Actuator development kit with a particular focus on building applications and services that are kit independent and exposing their internals via a web API. This proved quite hard and we wrote a nice paper on our experiences.

In short, wireless sensor actuator kits are a mess. Above the radio level very little is standardized and the little there is is rarely interoperable. Innovation here is very rapid though. The future looks bright though. I watched this nice video about Sun Spot earlier this week for example:

The notion of making writing on Sensor node software as simple as creating a J2ME Midlet is in my view quite an improvement over hacking C using some buggy toolkit, cross compiling to obscure hardware and hoping it works.

Sensei

Last month a European funded research project I’m in kicked off: SENSEI. The official project website is still under construction but somebody was kind enough to blog about it at least.

Sensei will be a lot of work and hopefully also very interesting and fun. It’s a so-called integrated project in FP7 which means it is one of the many projects with a lot of partners (21 in our case) across Europe of both academic and industrial side that are financed by the EU in the context of the seventh framework programme that will distribute billions of research money over the next few years. So if you are an EU citizen, thanks very much for making this possible with your tax money ;-).

Nokia is in Sensei for 9 person years spread over three years (50% funded). The blog post mentioned above has a pretty good overview of the key points of Sensei so I won’t repeat them here. My personal interest in this project will be on the software middleware layer.

Experiences with realizing Smart Space Web Service Applications

I had a nice article accepted at the upcoming 1st IEEE International Peer-to-Peer for Handheld Devices Workshop at the CCNC ’08 conference in Las Vegas.

Jilles van Gurp, Christian Prehofer, Cristiano di Flora, Experiences with realizing Smart Space Web Service Applications

This paper presents our approach for building an internet based middleware platform for smart spaces as well as a number of services and applications that we have developed on top of it. We outline the architecture for the smart space middleware and discuss several applications and services that we have so far realized with this middleware. The presented material highlights key concepts in our middleware vision: services are HTTP based and restful; applications are accessed through a browser so that they are available on a wide variety of devices; and we demonstrate the concept of bridging non internet enabled smart space devices to our IP and HTTP centric smart space network.

I’ve uploaded the paper to my publications site.