Tuesday, July 28, 2009

Twitter - isn't it just an observer pattern

It just occurred to me how great and powerful design patterns really are. Well, I must admit that I always thought about them as if there were just a tool that I can use to build great, exciting, flexible and maintainable applications. Well, after all that's totally true! However, it never occurred to me that I could take a design pattern and make an entire application out of it. Yes, I mean it! The pattern may be a great business idea! The business idea where the pattern implementation itself is all the software has to offer to its users. Sounds simple, doesn't it?

The concrete pattern that I am "secretly" thinking about is commonly known as an "Observer pattern". This "recipe" is extremely important to every good software developer who would like to build a flexible system which needs to deal with some sort of event handling… but you already know that. Now, take this pattern and map it to the real world. This is actually where it originally came from. What do you see?

I see e.g.:

  • newspaper companies and their subscribers

  • church and all the people who "subscribed" to it. They (typically) receive recent information about some sort of catholic events... etc. whatever...

  • the company which employs you and yourself. Well, you subscribed to get the money every month from them. The bad part is that you have to work to keep yourself on the list of subscribers.


As you can see our live is surrounded with observer pattern. It is natural that people love patterns. They make our lives easier. We don't have to think so much about that many things around us. Just this simple fact proves that a pattern itself can be a great business idea! How can we use it then to build our own business on the web using this common "routine"?

In my opinion, the best example is the Twitter. In Twitter you are acting as a Subject and Observer at the same time. The network of observers and subjects is therefore huge! Every time you post a message, all people who are your observers get informed about it. Every time the subject you subscribed to is posting an update you get informed about it too. Isn't it great!? Take a pattern and use it directly to make a lot of money. This is of course pure theory. The internal implementation of Twitter is probably not that simple, but this is not the point of this post.

So, when thinking about your next genius, innovative business idea, just make sure to take a closer look at the design patterns. Try to map them to the real world problems and use to build solutions nobody thought about yet.

I think that this approach will always lead you to a success. Here's why:

  1. This new thing of yours (whatever it is) will work for sure. Design patterns were tested by millions and proved to work correctly and efficiently.

  2. It will also be simple... and since people like it to be simple it makes a perfect match.

  3. We all probably will know this routine by our hearts. We just didn't suppose that you could use it this way. This means that the users will know how to use your software right away!

  4. There is more... and more... and more... but I am too lazy and too dumb to put them here.


Anyway, I will re-read my patterns book and look for some clues there.

No comments: