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.


rmeindl said...

You are right, the distinction between consumer and producer is eroding away. But was this not the initial idea of Tim Berners Lee? In the time than the WWW was really new, the idea was that the users not only consume the content but will also modify and extend it. This idea comes to life again with wikis, the new trend to “mesh” services and provide only platforms like toolkits to the user is on step more down the road. Maybe the it will finally end in platforms like Second Life or Croquet, there no difference between content consumer and producer exists. Also games have changed from simple stand-alone stories to really dynamic on line worlds such as World of Warcraft or Guildwares. The change for the developers is to provide not only a “simple” content providing web page, instead he needs to think in terms of reusable services and scaling of them.

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.

rmeindl said...

Yes, companies are build on the foundation of their communities, such as Wikipedia or MySpace, Flickr, YouTube or FON. And they will make money with the work of these people. Other companies, such as Amazon use the public to get on of the extensive data concerning the behavior and the preferences of their customers and they pay them nothing. And yes, more and more companies will use their communities as base of their business model or as cheap outsourcing solution, for example Microsoft for Beta tests. Also more and more hardware companies use the customer as active division to improve their product (or does anyone think the current mobile phones are really tested ;-)
BUT: Communities share a common interest and this interest is mostly not the same as for the company or platform. Communities can leave, very fast if they have to, if they are annoyed or their interests and needs are not fulfilled. As example, the large online games support their communities actively because their business model is based on them. If they annoy them, they will loose them and they will loose their revenue. Or does anyone cry for Napster? Communities can also give companies very bad reputation, the “power of the mob”, and this can be expansive.
The optimistic view is that the trend leads to an symbiosis between consumer and producer, customer and company, buyer and seller, but there will always be someone who is using the system for his advantage but that are normal phenomena in ecosystems ...

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 :-)