Thursday, September 21, 2006

[Arch] Web 2.0 Patterns and the lacking Separation between Producers and Consumers

"Web 2.0" Patterns

Even though the term Web 2.0 is not really "brand-new" and also the O'Reilly article is from 2005, I still found it just recently (shame on me), and I still think there might be others out there having not read it.

This article tries to define what these "new Web 2.0" applications distinguish from the Web-applications we have seen the years before. The article covers the "Web as Platform", new concepts of web-services and applications as well as the social phenomenons emerging around these new services.

Besides the fact, that new technologies like Ajax, Flash, OpenLaszlo, Rails and the like push the development of new and rich Web-Interfaces (which is an SE topic itself), the most interesting aspect for me at the moment, is the discussion of the "End of the Software Release Cycle". Particularly the second assumption: "Users must be treated as co-developers" is (from my point of view) the most relevant and stunning new phenomenon in the new "Web 2.0" and "E-Commerce" concepts.

In and Out

The concept of inside and outside the company, company employee and customer get's more and more fuzzy every day. This was always a clear idea within the Open Source movement: the "customer"/user was invited to participate in the software development process not only by contributing code, but also but contributing in the process, e.g., by
  • reporting bugs
  • helping new users in the mailing list
  • providing information in the project Wiki
  • writing tutorials
However, in an Open Source project there is no business model behind the process, but considering the business strategies of companies like Amazon or Flickr things are apparently different:
  • Amazon partly builds upon the workforce of users commenting books, CDs and so on: these comments are actually for free (from the perspective of Amazon), and the customers are providing work that was until now paid for.
  • Flickr builds also upon the idea, that users tag pictures, hence they provide the necessary information for the company to build efficient categories and search functionality.
  • Even if customers do not provide active work, their sheer activity on the website is used: for example Amazon evaluates the click streams and buying behaviour and creates additional functionality for their website: "What do customers ultimately buy after viewing this item?"
  • Google evaluates Websites and searches from users; analyses the work web-authors do, for example by making references to other pages. This information is a core necessity for their page-ranking algorithm. The data comes from customers.
  • Google provides a fundamental Maps framework; in the future the rich Map-applications will be provided by "customers"
I do not want to be misunderstood, I do not intend to say that all this is negative a priori, but it has significant impact on the way Web-Applications are designed and software is developed. Ten years ago, there was a clear distinction between the company who provided software and the user community. We now detect an erosion of this "wall". If, 10 years ago, the company hired a designer to create some visual templates, probably company X asks the user community to provide templates (and they work for free).

Similar concepts can be seen in online gaming: "monolythic" games will be, in my opinion, replaced by platforms where users very actively will contribute their designed landscapes, characters, weapons, and so on.

This trend will pose significant changes on companies and developers who still stick to old software engineering paradigms.

This will more and more effect the relationship between customers and producers, the way sotware is developed and eventually the relationship between companies and their employees.

3 comments:

Alexander Schatten said...

Yes, you are right. But I see (at least) two different issues here:

The first one is the positive "group-driven" aspect you mention; I find this aspect very encouraging including phenomena like Wikipedia or the Open Source movement (coming back to the topic of our BLOG-Software Engineering), where SE is driven by community mechanisms.

But there is a second one, which is actually not so much related to SE, but might affect many of us in the future:

As I wrote, I see it fully optimistic in community driven projects, but if companies more and more "outsource" things to communities that they have done on their own before then this has (also negative?) effects on us as consumers as well as on us as employees:

Consumers suddenly do the work for companies and do not actually get paid for this and employees get under additional pressure: why should you pay someone to design a game-level, when you have hundreds of players who do this for free, or why should you hire people for support, when you can install a forum software and people should get along helping each other!

This is a very different and new business model; I would like to initiate a discussion here: I think it has advantages, chances, but also has the danger, that customers are just exploited by companies, as well as employees.

This is a very much overseen aspect in modern economies I fear. And it grows on a global scale.

Alexander Schatten said...

I actually think, the reference to the fast pace of communities is an important point.

And I am sure this is true, at least for "startup-communities" like Napster.

I think the problem starts (as so often) when we are facing monopolies like Microsoft, Amazon or Google or...

Because then the question arises: where would the community want to move to, when one player id so dominant (like Amazon), that you just loose the group effect with any of the competitors (network effects; "the winner takes it all").

So we may at least hope for enough competition in important branches of economy (event though it does not look like so at the moment)

Anonymous said...

if consumers become producers and producers become kind of infrastructure service providers then the producers definitly don't want to pay for the service they basically offer to other potential producers. but how web2 only companies can then make money with it? this article correlates the SOA movement and Web2 developement and mentions three ways of how to make money with Web2 applications:
- transaction
- subscription
- advertising-based

maybe we can find other business models as well :-)

--benedikt