Monday, February 22, 2010

Understanding the Service Oriented Architecture (SOA)

It's a pretty old term this SOA. A software engineer (or systems integrator) normally associates it to the interface based software design. Just take a bunch of components, define interfaces between them and implement those interfaces. Then each component suddenly can be called a "service".

Intuitively a service is something that you have an interface to and something that you don't care about how it's implemented.

There is a trend on the Web that websites expose their APIs to the outside world. E.g. YouTube, GCalendar, Twitter, etc. So suddenly those webapps become "services".

Consequently the Internet is a platform for running a huge application called "Web" that is designed in SOA way, where each site is (should be) a service.

Unfortunately we are still not building our webapps to support this. We're stuck with our software engineering mentality while we actually need to switch to Web engineering.

I think every feature of any webapp should be a service. Why coding and implementing your own contact form, your own blog, your own newsletter subscription module, your own user profile pages, etc.? Even if you have those features in your software package out of the box...

Looks like I'm trying to promote mashups, but that's only the tip of an iceberg. Imagine that you have a website that you properly Web-engineered. Say you built the contact form feature as a service and it's hosted on the cloud. And this feature is integrated into your CMS. There is a cool outcome at this point: you provide yourself with a SaaS solution. So you can actually start renting it to others as well. Ok maybe renting SaaS contact forms is not your core business... so what about doing it with the core business features? E.g. social graph, status updates, shopping cart, etc.?

Probably not everyone will go this way but just look at the beauty of this all, we've got services like for feedback collection, for comments, gravatar for a personal picture, openID for login, etc. etc. etc. The more a service is specialized the more useful it is.

For instance, a business model for Twitter could be renting their status updating feature to various social networks. Anyway every one of them are reimplementing it: LinkedIn, Facebook, MySpace, etc. Such a waste of time.

Posted from my Android

Tuesday, February 16, 2010

You Know, "running a business..."

As soon as I tell somebody that I'm starting a business with several friends - I get a question: "what kind of business". And here a difficult part starts… At this early stage of 101senses it's pretty difficult to explain what we're trying to do, what we'll be in 1-3 years, what motivates us, etc. In fact, when I take a moment and think about it then things become quite straightforward and clear. So let me describe what 101senses is all about.

We are currently 5 guys in the team and we want to do fun stuff. The current job is a bit disappointing: you get on a project, you talk to clients, you start building a solution hoping that the client will have guts to go with something fancy and innovative. But then you end up in this quality vs. time vs. money triangle, and you just do what you have to do, not always what you want to. Well, that's IT consulting.

From several e-commerce projects I learned one thing: e-commerce is a good business. It's much better than building e-commerce solutions for others. For instance, a private sales module for Magento community edition costs 110$, and guess what's the revenue of a private sales e-shop...

But doing commerce is tough, and it's totally different from what me (and most of the 101senses team) is used to, because a big part of the business (at least in the beginning) is not virtual. One has to look for products that sell, people that buy, models that generate cash. All in all, totally new challenges from the ones in the IT world. So now we have the saying "IT part is easy". It's a lot of fun to observe how five guys are struggling with product sourcing and otaku searching - the two things that people have been doing for ages.

As a start we decided to sell stockings for girls. Besides the fact that for guys it's very exciting to deal with this kind of a product on a daily basis, there is real business rationale behind: stockings have a nice margin, take little space, and are easy to ship. So why not? Also if you look around the Web it's crammed ugly and difficult to use e-shops. In the times of the person-centric Internet this does not make sense and is an area for healthy competition. It's obvious that an e-shop that provides great user experience but the same products will win. We set an objective for 101senses to strive for the best customer experience in our e-shops. Prettify is going to be our first attempt.

Nowadays it's quite easy to implement an e-commerce solution we decided to work on 2 shops in parallel. We call them ShopA and ShopB. Prettify is currently our ShopA. The goal of it is to be able to test our process, i.e. get a product, sell it, and deliver it to the customer - no other requirements. ShopB is going to be based on a concept. It could happen that it will be an evolution of the ShopA but it's not excluded that it can become a totally different shop from Prettify. We're working on that by reading about exciting commerce and following various twitterers. We're also running from one conference to another, from one meet-up to another (check our calendar) and we're keeping an eye on fashion in general. It's getting more and more interesting everyday.

Most importantly we've got culture of openness and sharing at 101senses. There's no point in hiding what we do and how we do it. I believe it builds trust in the virtual reality - the Internet - the same way honesty does it in real life.

To summarize:

  • we're 101senses and we want to learn and do fun stuff

  • our first product is stockings on Prettify

  • at the core we've got the culture of openness and sharing

  • we like to engage into a public conversation online

  • we strive for technological innovation and great user experience on our e-shop