Is 2008 the year of instant communication nirvana?

Jaiku and XMPP/Jabber/GTalkOn the web, 2007 was the year of the social web. Things like Facebook and Twitter have accelerated the way people can interact socially even at a distance. It’s a bit obvious to say that our possibilities to communicate will only get better next year. Internet is a communication network beneath it all.

Innovation isn’t about copying and yet no doubt we’ll see copies of aforementioned services in 2008. This of course depends on how the US economy and therefore VC funds will hold up. As we have seen before, changes are quick and some of the huge web properties might end up irrelevant next year. Will something like OpenSocial really matter? We’ll see.

Below all this Facebook SaaS Web as a cloud ideology, there’s an undercurrent that I find very interesting. As I wrote in October when Google bought Jaiku, XMPP/Jabber/Google Talk is a technology to watch for. Since the acquisition, we haven’t heard much about Google’s plans for Jaiku. As I also wrote, I think it was the technology they were after, not the service itself. Could a social notification system built on RSS feeds, mobile phones and XMPP somehow fit Google’s strategy?

Google has strongly positioned GTalk as the communications platform across its many services. GTalk has been integrated for a while in GMail and to some extent this is similar what you get in Yahoo Mail/Messenger and Microsoft Live Mail/Messenger. You might have read about Google’s recent poorly received integration of GTalk into Google Reader. You may have noticed that Google Docs now offer collaboration through Google Talk. There’s even GTalk integration in Orkut and my sources tell me more is on the way. Even YouTube has availability information of people watching the same video as you (This isn’t probably based on XMPP, but could be?).

Because of their closed nature, MSN/Live Messenger, AIM or Yahoo Messenger cannot leverage their networks outside their own properties. Google Talk users can interact (to some extent) with any XMPP user and other developers can create services for Google Talk users. This is important in a world that is not desktop-bound, but where services and applications are in the web cloud.

For some time XMPP had the problem that it was too ahead of its time and could not compete with the big players. Social web and Google has changed these. Now Live Messenger is playing catch-up with upcoming features like “Multiple points of presence support”, which is something essential to the XMPP-protocol. Microsoft could overthrow other players in the IM market through distributing Messenger with their operating system, like they did with Internet Explorer. The rules of the game have changed on the web and Google has realized they can be the next IM king by integrating their solution everywhere they can. They can introduce Google Talk to anyone with a Gmail account and without any download.

If it isn’t clear enough from above, what I predict to continue in 2008 is integration of IM or instant communication on the web. We won’t see one unified network to rule them all or anything like it. We’ll see advances to a future telecom operators and their ads would want to us believe is today. Yet they’re the ones stonewalling the development of internet on mobile phones. In reality, they are defending their networks against their Internet and web-based rivals. We won’t see iPhone or Android making a big impact on the mobile market, not yet.

What I hope is that devices like Apple’s iPhone & iPod Touch and platforms like Google’s Android will make SMS obsolete preferably through something open and web-friendly like XMPP and not something cooked-up by telecom operators. Microsoft is already offering Live Messenger on mobiles, but these are deals with telecom operators. My hope lies with Google and Nokia in this one. (See for example Nokia’s Gizmo client for S60. Coincidentally, Gizmo uses XMPP for IM.)

And yes, I’m predicting an instant communication nirvana even though my contact list is still mostly empty.

Happy Holidays Everyone!

Dear readers of Tech IT Easy,

I hope that those of you that celebrate Xmas all had great celebrations and are enjoying your holidays. We’ll see you all in the new year!

Tech IT Easy 2008

Fidji, Steve, Kari, Jeremy, Vince, Alex, Manu, Leo, Lucien, Raj, Cecil, Raphael, Remy, and Matthias.

Bloatware, the case of Flickr Uploadr 3

Recently, Flickr released a new version of their own uploading-tool, Flickr Uploadr. The new version has some nice new features, like reordering the photos and working offline.

Flickr Uploadr is surprisingly good tool, as it is dead easy to chain it with Adobe Lightroom’s Export actions. On Mac, you only need to make a shortcut of Uplodr to ~/Library/Application Support/Adobe/Lightroom/Export Actions and you can it as Post-processor in your Export presets. Of course, you can use it in your Automator scripts in similar way, too. Other major benefit is that it is dead simple. The only downside is that I’ve not figured out how to pass titles and descriptions to Uploadr (like from iPhoto to FlickrExport).

Flickr Uploadr 2

I was interested in the reordering feature, so I downloaded the new version for my PowerBook G4 (some might guess how this worked out). The new version has a completely new interface, which seems to be HTML-based since the tool is based on Mozilla’s XUL Runtime. This means that the simple uploading tool is now 40 MB when installed. I guess one reason for this is that the tool is crossplatform and therefore should be less resource-intensive to develop. Anyway, the previous version of the tool, 2.3 (Mac) is around 1 megabyte in size. Okay, hard drives are quite large these days so that doesn’t matter that much, but it makes you wonder if someone just felt the need to rewrite the whole thing for the sake of making it more “web 2.0”.

Much worse than the size, the simplicity was gone. The simple upload(e)r now looks like a full-fledged application – for rather simple operation. Why all this bloat? I don’t want to manage this files anymore, I did that already in Lightroom, now I only want to move this files to Flickr. The Uploardr 3 has been over-engineered and is a bloated piece of programming compared to Uploadr 2. Other than being cross-platform, I fail to see the benefits of making a simple uploading tool on JavaScript and XUL. Especially when it is full of bugs.

The all new version for Windows and Mac OS X makes it easy to add titles, tags and descriptions to photos, add them to sets and adjust each photo’s privacy settings.

But what was the most worrying thing was that it would not work. Yes, I could do all the above, but the photo’s themselves didn’t appear. It became later apparent that All PowerPC-based Macs had this issue. Instead of the photos, we just got Flickr’s two spinning balls.

Flickr Uploadr 3

A week later, Flickr released an update, which supposedly fixes this problem – among others. For some people, the “Upload”-button wasn’t showing up. Then again, in the above quote they don’t mention uploading as a feature…

What I need is a tool for uploading photos to Flickr after I’ve played with them in Lightroom, I do not need any further playing around. Uploadr 2 does this rather nicely, Uploadr 3 not.

This makes me wonder if this is the future that Silverlight and AIR will be bringing too -  Javascript problems for desktop apps.

Is software high-tech? Take II

software innovative take 2.jpgNo it is not. And when you think about it’s kind of a good thing. Because it means that the path from technology to revenue is that much shorter. Of course, the other side of that coin is that there are many people competing for that same revenue.

After writing my last post on this, and Marc’s comments, I started to ask myself some questions, such as:

  • What is technology? Is it mechanical, digital, a hybrid?
  • What is software? Is it the nail, the hammer, the glue, something else?
  • Should software be an end-product? Is is worth anything without the hardware, is hardware worth anything without software?
  • What would it take to make something innovative, aka. high-tech?

Certainly not an exhaustive list, but a good start.

My favourite of these is the fourth question, what it takes to be innovative. Back, when I was trying to convince myself to go into software, my main objective was to create something that would change my / the world in some ways. But it was strange, every-time I was thinking about a product, or rather a service (I see software as a service), I was always thinking that it would be so much better if there were hardware designed for / with it.

It’s the age-old debate of Apple vs. Microsoft, Quicktime vs. Flash or Java, a console vs. a computer, Firefox vs. IE/Safari etc. The difference between these “technologies” is that the one is designed to be—somewhat—platform-agnostic, and the other is designed for a platform.

We’ve rehashed Apple vs. Microsoft many times, so I won’t go into that too much. But if you look at cross-platform apps like Flash (as well as AIR) or Firefox, they are clearly feature-rich, but in many cases laggy as hell. I would consider both an inferior product, simply because it does not work as well as other competing products on the same hardware. The same with Windows, which has huge legacy-support, but is in some cases (a loud minority, I’m sure) not as “plug & play” with the systems it runs on, as e.g. Apple’s OS X, or the Xbox-OS.

Both of which are designed for the specific hardware, and it is actually the whole package—hardware + software—that is considered the innovation.

For something to be considered innovative, it should be seen as the whole end-product for the consumer. A minor example. When I installed OS X Leopard on my ancient (but perfect) G4-laptop, it gave me the two-fingered right-click. By all accounts a hardware-innovation, a tiny one, but which made the whole interface better. I’m not sure if software on its own could ever achieve a similar effect on the user.

So what would it take for real innovation to occur? It would have to be a paradigm-shift. We’re seeing a lot of interesting software coming out, a good example probably being Second Life. Yet Second Life—which was inspired by a world called “The Metaverse” that an author, Neal Stephenson, came up with in a book, called “Snow Crash,” is nowhere close to that ideal.

The reason is that, from a user-perspective, the Metaverse started with the interface—gloves and a helmet hooked up to a box—which allowed the user to literally hook into a system. How does Second Life ever compare to that? Instead, it forces users to be immobile behind their PCs, staring into a 2-d interface, imagining themselves to be in a world, in which they clearly are not.

And, in my eyes, the same applies to lots of software designed for an interface that simply does not innovate.

Facebook, Windows, OS X, Open Social, AIR, etc. All platforms actively marketing for developers. Yet how much of that marketing is happening in hardware, an area which has largely been commoditised over the last 20 odd years to the degree that R&D in that area must have been stagnating much.

You do see some changes. Microsoft, when it started on the Xbox, made a paradigm-shift. Apple has been doing the same for years, but now at an exploding rate. Microsoft’s Surface will be very interesting, as will the next version of Windows, though still restricted to a 2-d interface. And there’s probably 100s of other examples, which I can’t think of now.

The thing is that innovation in software has exploded in the last decades, as has, to a lesser degree, hardware. But we have reached a mature-level where the novelty has worn off. For software to become interesting again, we need new hardware—a new way to interface with technology, that takes us away from the boring old mouse and keyboard, and allows us to the live the mobile life for which our physical bodies were actually designed.

The Wii is a good example of what happens when you don’t just focus on hardware, you don’t just focus on software, but you focus on how your product can actually become useful in the lives of people that are not geeks, early adopters, or the loud minority.

Vincent out. This is my last post this year, I think.

Is software high-tech?

90_Star_Trek_Enterprise_schematics_NCC1701D_starship_computerdesktop_wallpaper_s.jpgJeremy wrote a comment on my last post, about which I’m still not sure whether he was kidding or not. Essentially, he disputed my view that software was not high-tech. It inspired me to write this post, where I argue for and against my initial stance. I encourage people to criticise what I say, because essentially all my posts are meant as brainstorms with the collective readers of this blog, in order to hopefully make us both smarter.

Why is it important? If you consider the “height” of an innovation as equal to the degree that it remains competitive to other innovations, I would consider it fairly relevant. If you look at it from an investment-perspective, if the aim of investing is to maximise profit at a minimised risk, then the more sophisticated and hard-to-replicate the product/service you’re investing in is, the safer your investment and the higher the potential for profit.

That is not to say that there is always a correlation between the “height” of an innovation and profit. Between innovation-level and expense, yes, but profit-potential can derive from a number of sources, including time-to-market, user-base & network-effect, etc. And those things are certainly not inherent to high-tech.

Why software is not high-tech

A while ago, Jeremy wrote several posts criticising open-source, one in particular stating that open source constrains entrepreneurship. I think he’s right. If a standard becomes open that means that the barriers to competing become far lower, and the profit-potential falls starkly also.

The software-market has exploded because of a number of open standards, starting with the commoditisation of the IBM-computer, and freely accessible libraries of code and frameworks to build upon. This applies to the web as well. (Please note: I’m not a programmer, nor have I studied the craft, so corrections to my interpretation are welcomed.)

With the rise of software, came also a parallel rise of open-source software, which has a fairly low market-share in terms of operating-systems (if you exclude OS X), a somewhat larger one for tools like browsers and office-packages, and a huge market-share for server-based software, not to mention web-sites technologies.

What these open standards achieved is making the production to the technology more and more accessible to the general public, to the degree that anyone can open a “software-factory” in their garage or similar.

If you equate a craft or a technology to a mountain, then software would be a hill, and with the rise of easy-to-learn frameworks like Ruby-on-Rails, perhaps becoming a rock.

Why software is high-tech

We live in a technological world, there’s no denying that. Back when we read (and wrote) science-fiction, we imagined this world to come about by the shifting of resources by large organisations, which were optimally positioned, financially and human-wise, to do so.

The world today was not quite like we imagined it back then however. While our world is incredibly technological, exceeding most science-fiction writers’ expectations, much of what we are seeing today, at least in terms of software, is a collaborative effort, leading to high-tech products and services, made up of many small parts.

And that is what software is: a great brain, made up of many small parts. And a brain, by any account, is a high-tech product.

Conclusion

Now, as I said before, high-tech does not equal profit. It is incredibly difficult, time-consuming, expensive to create, and often not worth the effort for individuals that want to make a quick buck. Hence it is not surprising that much of it is left to governments and other large organisations.

An example. If someone were to come up to you and say: “I invented the world-wide-web, it’s filled with gazillions of bits of data, which is intermeshed, and constantly updated. How much would you pay for it?

There is no answer to that question. Some things are simply not equatable in money. The infamous $23.4 million space-toilet is another perfect example for that, as is the space-pen, etc.

The great thing about software is that, while it can lead to incredibly complex “brains”, it is not high-tech in terms of production-need. If it were, and if consumers were forced to pay for it, it wouldn’t be where it was today.

Instead, most of it falls in the low- and medium-tech domain, some of it easy to sell, much of it not, but all of it contributing to a great value in our lives.

But it is still no flying car. And if you want to create high-tech, which I define as world-changing technology like the cure for aids or cancer, clean energy, or robot-servants, expect it to cost a lot, at least in terms of time and human resources, if not financially.

And software will certainly play a part in the creation of these innovations. But only a part, and the way I see it, a part that will become increasingly cheaper and easier to produce. But that same reasoning can be applied to a number of mass-produced technologies, e.g. silicon-based chips.

So, make money while you can. But remember to change the world also!

Vincent

Issues to consider when managing innovation: example of Intel’s lablets

intel.jpgI am still a bit obsessed on how companies manage their innovation processes and how they make it fit with their culture. In this context, I recently read an HBS case about Intel research. The “Intel lablets” particularly attracted my attention and raised general questions about the management of innovation.

In 2004, Intel realized that faster and more powerful processors will not be the most important customers’ need anymore and that it had to shoulder more of the burden of innovation. But Intel’s historical approach to R&D didn’t allow the company to spot the technologies that can impact the core business dramatically, or create new businesses. Indeed, Intel has based his R&D strategy on the idea of connecting closely research with manufacturing, by allocating R&D resources to each business units. This structure, even if really efficient in sustaining Moore’s law, was only focused on incremental innovations in the silicon roadmap, making it inefficient to identify some disruptive technologies.

These technologies could only be developed through “exploratory” research. However, Intel’s aversion for a centralized lab, which is definitely the standard model for this kind of research, pushed the company to look for another model. The search for a “happy medium” led to the creation of the “Lablets”, which are some small labs located close to universities well known for their collaboration with the industry and for their expertise in some sectors of interest for Intel. They selected Berkeley, Pittsburg and Seattle. Some characteristics of these lablets are differentiating them from some firms’ previous attempts to build labs close to universities and are particularly conceived to foster innovation:

  • Thanks to an Open Collaborative Agreement, much of the research can be published and shared widely, with Intel hoping to acquire proprietary advantage in the downstream stages of the projects;
  • Lablets are staffed with 40 researchers and are co-directed by an Intel research employee and a university faculty member changing every two years;
  • Projects in lablets are funded on a milestones basis and were reviewed quarterly.

But this clever approach raises a certain number of issues.

How can the scope of activities of an “exploratory innovation program” be defined?

If the lablets’ role is to sense the environment to understand potentially disruptive technologies, then the scope is really wide. So it has to be reduced to some large sectors likely to have an impact on Intel businesses or ecosystem, as the final objective is to end up by passing projects to business units. The model thus represents a tricky balancing act: giving researchers enough freedom to be creative and to think broadly in terms of sectors in which to spot disruptive technologies, while confining their efforts to predefined aspects. There is a happy medium to find between the systematic search for opportunities congruent with core capabilities and “adhocracy”. Intel’s answer to this problem is to have Intel specify the problems it wants researchers to solve, but not the idea it wants them to work on, which sounds like a really fine distinction.

What type of structure is the most appropriate for this kind of exploratory research?

When I heard about the lablets, I couldn’t help thinking: is it really the right structure to be in charge of the strategic responsibility of understanding what will be disruptive in the market? Having only 40 researchers in each of the 3 lablets is a good way to limit costs and therefore limit the impact of the high level of risk involved, which is what companies try to do most of the time with their innovation team, but it also can appear difficult to reach the critical mass, often mentioned as crucial to create a fertile environment. Moreover, even if being a small group can limit the internal resistance (as this kind of exploratory research is absolutely not part of Intel’s culture) by not attracting too much attention, it doesn’t allow stand on your own in a large organization. Intel lablets would require a heavyweight team (see matrix) to push projects into business units without having to fight to convince the business units of the viability of a project. In addition, the frequent turnover of people due to the university involvement can be a threat in the case of long term projects. Besides, if some lablets’ projects make it downstream into the main R&D fold, then some great researchers will probably leave to ensure the follow-up. But it seems that this is the price to pay to always bring new blood into an innovation program, which is crucial to generate more ideas and more expertise.

How to assess the performance of such structures?

What I find interesting here is that the lablets’ case reflects the basic problem of any innovation process: how can you set up performance metrics in a domain that flourishes only when there is a tolerance to failure? Finding metrics to measure the success of exploratory research is difficult as the process of sensing the environment can lead to many useless results, but is still necessary to have chance of producing breakthrough products or predicting disruptive changes in the market. It is clearly the case of R&D as a Real Options: you pay a certain amount of money to have the right to exercise an option when the market changes. Which is why funding the projects on a milestones basis is so important in this context, as this sequential investment creates the option to abandon the project in midstream if it is too early to market or doesn’t fit the company’s strategy. Each stage can be viewed as an option on the value of subsequent stages, and valued as a compound option.

The point of this post was not to speak about Intel’s initiative in particular but more to discuss about the issues that any innovation process will generate. So just for information, since their creation Intel’s lablets have been working more and more closely with business units to facilitate the downstream transmission of projects, and have generated some cross-industry collaborative projects, like PlanetLab. If you have been part of an innovation program or have any thoughts about these basic issues, do not hesitate to use the comments part!

Bubble or not bubble?

That is the question…

[youtube=http://youtube.com/watch?v=pr7lDlUfw9w]

Video not available anymore, find it here.

What do you guys think?

via LittleGirl

Some thoughts on the investment-climate for innovative start-ups

VC investment in tech.jpgHi,

Last week, I’ve been busy writing about the investment-climate for technology-start-ups in the Netherlands for my thesis, and here’s a number of thoughts about it. Your own feedback on these is very welcome, if it is good, I’ll include them in my conclusions.

The role of government in funding innovation

It’s odd and goes against any capitalist streak I may have, but I think that the role of the government is vital in funding innovation. This applies to any country, and by government I define any public institution, from universities to subsidies. The fact of the matter is that innovation is difficult to value, and success is equally difficult to predict. As such, you need a different kind of investor for it, and I think government fulfils that role best.

Banks are changing

Here in the Netherlands, after talking to a number of incubators, as well as technology-start-ups, you hear about special branches being started by by banks, focussed entirely on venture capital-activities. This is nothing new of course, but, for instance in the medical field, the people managing these funds are actually quite knowledgeable about the industry and take an active role in the investment-process—very uncharacteristic of banks.

Of course the majority of start-ups that I interviewed and have data on (about 500 in total) still perceives banks as risk-adverse, bureaucratic, and unpleasant.

Informal investors are merging

A few years ago, I had to look for business angels (on the internet of all places) for a tech start-up, I was working for. All I could find was so-called BANs (business angel networks).

As a lot of investors got burned during the last bust 5 years ago, you see a lot more consolidation amongst them, forming professional organisations that evaluate business-plans like a venture capital would. And since a small investment takes as much work as a big one would, for a while you saw these BANs shifting upwards in the investment-market, towards 1st-round and later-stage investments.

Entrepreneurial finance is a cyclical process, so there’s more seed-investments again, but that idea of an individual business angel is disappearing, I think.

Venture capital is the same as it always was

Apart from the fact that the definition of what venture capital varies from country to country—I define it as a fund managed by an active investor, but how is that different from a BAN?—I think that the role of VCs in European countries is still very much restricted to the later stages of venture development—buy-outs mostly, and funding companies who are at a commercial stage.

Several sources mentioned that European VCs are very wary about any technology-risk and often about commercial risk as well. In other words, with VCs, it is recommended to have a working product and some clients as well.

Major obstacle: Exit market

This is actually a global problem. Sarbanes-Oxley has definitely handicapped the going-public option for US-companies, and most other countries, with the exception of the UK, are hampered by underdeveloped stock-markets also—not to mention that, culturally, Europeans are more likely to save than they are to invest in stocks.

As a consequence, it is not surprising (to me) that the major exit option for start-up is to be acquired, with all the consequences that entails.

The other option is to not exit at all, keep costs low, generate revenue quickly, and survive on your own. Unfortunately, for high-tech companies, neither low costs or quick revenue are usually an option. One incubator-manager I spoke to though, in the engineering-field, mentioned that a number of his high-tech entrepreneurs did some consulting on the side. The danger with that is that it is not the core-focus of these start-ups and distracts them from actually developing their business.

Final thoughts

I don’t consider the picture I paint to be either positive or negative. Starting a successful company is not easy and there will always be some kind of barrier or other. Innovative companies have it a little harder though, especially in the early stages and will likely have to make deals with some governmental organisations for funding, which may also have consequences on e.g. their geographic location for years to come. Commercial investors are there and the better your business-plans and the better your team, the better your chances also.

My thesis is actually a three-parter—I focus on the perspectives of start-ups, of incubators, and of investors to paint a comprehensive picture for the state of the commercialisation of innovation in the Netherlands. No promises as to when, but I’ll try to post some thoughts about other aspects of my thesis soon.

Vincent

Graduate Seminar in System Analysis

Google ScholarThis week I took part in Helsinki University of Technology’s graduate school seminar in system analysis, decision making and risk management. The two-day seminar was filled with presentations on various research subjects from Ph.D. students from various universities in both Finland and Russia. The seminar also included a visit to the IT University near Stockholm.

I have to point out the reason I couldn’t live blog the seminar is simple. Even though both Finland and Sweden have excellent broadband access, there wasn’t any internet connectivity on the sea between them. Now I have to rely on the pencil-scribbled notes on various printouts.

The theme of the seminar was “Citations as impacts of research – who reads our papers?”. The main finding on this topic was that Google Scholar is coming more and more important research tool. Here’s a good introduction about citation analysis using Google Scholar. It’s quite surprising that many see free access to Google Scholar as a main advantage against the incumbent tool, ISI Web of Science. The other advantage of Google Scholar is that it indexes everything it can get its hands on but Web of Science only indexes around 8,700 scientific journals. The disadvantage of course is that Google’s tool also indexes a lot of “trash”.

There were many interesting presentations (you can find them all here). There was huge cultural difference in many of the Russian presentations, which were much more analytical than the Finnish ones. There was also a lack of certain presentation zen in some of the presentations as the slides had nothing else but just equations. The Russian research topics weren’t totally without applications and some of them might interest the readers of this blog.

Evgeny Ivashko from Institute of Applied Mathematical Research at Karelian Research Centre gave a highly mathematical presentation about “Best choice problems with disorder”. Apparently this method could be useful in defending against Denial of Service (DOS) attacks. The same model could be also used to maximize profits of selling real-estate in highly-volatile “hot” markets (where the prices are grossly inflated, but no-one knows exactly when the market will finally collapse). Interesting stuff.

Then there was a presentation about “Cooperation in Stochastic Games”. I’m not that familiar with game theory, but apparently this has some application for wireless networks. The main idea is that by cooperating, the wireless nodes can work more efficiently than by just acting greedy. I wonder if this model would be applicable for P2P networks such as Bitorrent.

It is always amazing to see the possibilities offered by the field of system analysis – from auctions, fish management and executive stock options all the way to elevator routing. It’s no surprise that many companies are interested in the research. As the director of the graduate school pointed out during the seminar that “Everything we can optimize [at TKK], Nokia wants to use”. At the IT University, the head of department of computer and system sciences (DSV) told that all the major telecom companies invest into their research. Just by skimming through the topics of this seminar you can see that that’s probably a really smart thing for them to do.

Oh, and I got a really cool USB hub that looks like retractable power cable. The Swedes are always so awfully nice.

USB hub with retractable wire

A lot of fun @ Gymglish, a Paris-based startup

Yeah, I’m late and haven’t blogged on TechEd in Barcelona & Study Trip To Silicon Valley – but I will.

By the way, who said you can only have real fun working in a startup in Silicon Valley? About a year ago, I went to a lecture on entrepreneurship at Ecole Centrale Paris with, amongst others, the founder of Gymglish, Antoine Brenner. The guy – in a red outfit on the tennis court in the video, was really inspiring, a real engineer – entrepreneur, and I’m not surprised the atmosphere at the Gymglish office in Paris looks like this:

[youtube=http://www.youtube.com/watch?v=fL9Gib8l5RY]

Do you know other startups where it’s real fun to work at? What makes a workspace pleasant to spend time at in your opinion? 

PS: Thanks to Saïd for the heads up.

Book Review – Project Team Rewards: Rewarding and Motivating your Project Team

pm1.pngpm1.pngpm1.png“Project Team Rewards: Rewarding and Motivating your Project Team” by Joran Beel was originally his Master’s Thesis at Lancaster University Management School, UK.  In this Joran tackles the issue: how to motivate project team.  He points out that general project management literature usually ignores rewards and that is disappointing considering the fact that vast research has been done with respect to the psychological impact of the rewards on the individual as well as the team.  The author makes a good point that the psychology of reward system is mainly relegated to Organizational Behavior under General Management.  How to motivate and provide incentives to a project team member has never been a part of Project Management literature even though a strong correlation exists between the success in the executing a project and the incentives that motivates the team member.  

This book provides a good overview of Motivation Theory.  There is an  in-depth study of advantages and disadvantages of rewarding team vs. individuals, recognition vs. incentives and timing of rewards.   The author also examines the intrinsic and extrinsic motivation and the pros and cons about these motivations.

The extreme reward opponents criticize the whole concept of extrinsic motivation. They propose to focus on intrinsic motivation since intrinsic motivation is stronger and deeper in nature.  The author says that no research exists for proponents of extreme reward. I was surprised to read that only scant research is available by extreme reward proponents considering the fact that Adam Smith and his philosophy of capitalism is based on the allocation of ‘reward’ system. 

Second part of the book focuses on the author’s research and explains the question

  1. What is the current role and use of rewards in project teams?
  2. To what extent could the development of a ‘project team reward model’ increase project team motivation and project success? 
  3. What could a ‘project team reward model’ look like?

In general this book is academic in nature.  Adding some practical tips would make the book interesting.  The author does a good job in covering the breadth of literature that exists related to motivations.  What’s missing is the latest trend towards peer production or global collaboration.  How and what motivation works in a world where new communication technologies are democratizing the creation of value?  I believe if the author attempts to answer this question, the value of the book will increase exponentially.    

If you manage a team and would like to understand different aspects of rewards/motivations, I urge you to read this book.  Click on the link, the online version of this book is free for the readers of TechItEasy.org!  You find more information about the book on its website www.project-team-rewards.com  

Simple Flickr API methods in Ruby

This post might get a bit technical, but I felt compelled to write a short post/tutorial about web services and Ruby. While working a on a little side project, I depended heavily on some now forgotten blog posts I found through Google. I went through pretty much all Flickr libraries available for Ruby, but couldn’t find anything that suited my task. I was surprised how easy it was to do it just by myself as I only needed a specific subset of the methods offered by Flickr. I hope the following helps someone, just like the posts I found helped me.

There are many libraries in RubyGems and Rubyforge for accessing Flickr’s web services. Too bad most of them are either outdated, lack any useful documentation or just plainly suck. For example, some of them require you to edit the library sources to replace the API key, which is declared as a constant. And then there’s the little annoyance that some of the existing API libraries look like they were translated from equivalent Python code and are pretty far from anything resembling the Ruby Way and may be hard to understand by a beginner. Then there’s the chance that a given API doesn’t implement the whole set of Flickr’s API methods or just not the one you were after. One nice exception is Flickraw, but it’s not the most coder-friendly library out there unless you’re familiar with advanced methods. What I’m after here is a solution that is understandable by a Ruby newbie.

There might be many reasons for this state. It could be that it is very trivial to write your own (in fact, in many Ruby books (f.e. pretty great Ruby Cookbook) Flickr’s API is used as an example). The other reason might be that Ruby is still not widespread for these kinds of tasks. One major reason for this in turn is that it’s a magnitude easier to deploy a Perl, PHP or Python solution on your average web host. One would imagine that many Ruby on Rails-projects might want to tap into Flickr.

As I said, it’s really easy to write your own code to access Flickr. Like so easy that I tried to write my own solution, when I didn’t find a suitable library. That is not without its irony as the strength of high level scripting languages seems to be that you quickly learn not to reinvent the wheel. Anyway, in this case we get a lot for free by just using the built-in functionalities in Ruby. What I’m going to show below is based on open-uri, cgi and REXML – all part of the standard library.

require "rexml/document"

require "open-uri"

require "cgi"

Because we’re not writing a library here, we can declare the API key as a constant. In a library, you’d probably want to have something like FlickrClient.new(API_KEY).

API_KEY = "invalid" # Get your own at http://www.flickr.com/services/api/

As readers of Ruby Cookbook might notice, so far this is similar to what that book suggests. The methods in that book are a bit different and in my opinion useful just for that simple task defined in that chapter. I’ve tried to make things a bit more flexible. One way to keep things clean is to make a request-method, preferably inside a suitable class.

def request(method, arguments={})

  endpoint = "http://api.flickr.com/services/rest/"

  arg_map = arguments.collect {|arg,value| CGI.escape(arg)+"="+CGI.escape(value.to_s)}.join("&")

  call_uri = "#{endpoint}?api_key=#{API_KEY}&method=#{method}&#{arg_map}"

  response = REXML::Document.new(open(call_uri).read)

  if response.root.attributes["stat"] == "ok" then

    return response

  elsif response.root.attributes["stat"] == "fail" then

    raise "Flickr API error #{response.elements["rsp/err"].attributes["code"]}: #{response.elements["rsp/err"].attributes["msg"]}"

  else

    raise "Request status neither ok nor fail. Tried to fetch #{call_uri}."

  end

end

method is any of the methods defined in Flickr’s API (f.e. flickr.test.echo) and arguments is a hash (f.e. {"foo"=>"bar"}). The method returns a REXML::Document for further use if the request is successful. Someone not familiar with Ruby might be wonder what the collect method does. It simply goes through the arguments array and collects the argument/value-pairs into a nice HTTP GET argument string. Notice how by using open-uri we can simplify the actual HTTP connection to look like we’re reading a file. I’m not that good parsing XML, so there might be alternative ways to simplify the REXML-things above.

After this, implementing Flickr’s various search and get methods is pretty straightforward mapping of XML into objects. For example, if you have defined a Photo class, which new method takes a photo id as an argument, you could implement photo searching (as a class method) like this.

def Photo.search(arguments={})

  response = request("flickr.photos.search",arguments)

  photo_ids = REXML::XPath.match(response, "//photo/attribute::id").collect { |a| Photo.new(a.value) }

end

The method above returns an array of Photo objects, which depending on your implementation of the object might do something else than just store a photo_id. (Above I couldn’t for the life of me figure out how to get REXML return an array of values, so I depended on the always useful collect, again.) Anyway, with a method similar to above you can easily make more specialized methods like Photo.search_by_something. For example, the code below takes an array of tags. Further arguments are passed on to Photo.search as is.

def Photo.search_by_tags(tags, arguments={})

  arguments["tags"] = tags.join(",")

  Photo.search(arguments)

end

Writing these kind of helper methods is the extra mile that makes your code more Ruby-like. Or at least more Ruby on Rails-like.

After writing a zillion search/get-methods you might appreciate the genius behind Flickraw, which builds those methods dynamically. Things get interesting again when you start to code the authentication scheme and implement uploading of photos. The above Photo.search is pretty simple, as it is not authenticated. On the other hand, just take a look at the various arguments you can send to flickr.photos.search and wonder how you could implement those in a nice way in your code. In the above snippets, all arguments are collected as a hash.

Actually, pretty much any method which modifies or adds data to Flickr is going to a bit more complicated. It’s easy to trust that Flickr sanitizes and cleans the data that you get through their web services. You’d imagine they do the necessary sanity checks on their end. But when it’s Flickr’s turn to accept data from you, it’s suddenly your job to handle user input and all the exceptions and stuff you might encounter.

What I appreciate in the above examples is that how simple is it to write a simple web service client in Ruby. Pretty much all the hard lifting is abstracted away as we depend on various libraries that make life easier.

Staypressed theme by Themocracy