Saturday 10 December 2011

Creating business around of the next billion

One of the strategic goals of Nokia is to bring out mobile phones and devices to the next billion people in the developing world, namely in Africa, India and Asia Pacific. To this day reaching out this goal has only seemed to provide value and opportunities for phone vendors, network manufacturers and mobile operators. However this perception is going to change due to evolution of affordable mobile devices. Just few years ago an affordable handset in the developing world had only basic phone functions, now new devices like the Nokia Asha series handsets offer specifications that are enough to enable functioning of wide array of software applications and services in these phones. This creates an opportunity for third parties to reach out the next billion and create business around them.

Now many people are probably wondering what kind of business can be created. When answering this question it is important to remind us on how market in the developing world differs from the market in the developed world, and what consequences and opportunities it has...

Computers aren't ubiquitous, in fact they are very rare in the developing world. For example in the United States there were 762.152 computers per 1000 people in 2004, in India the figure was 15.531 per 1000, and in Niger the figure was as low as 0.716 per 1000. What this means is that people aren't using software and services that people in the developed world have accustomed to use with their computers, software like spreadsheet and word processing are virtually unknown for the most people in the developing world. This is a clear market opportunity to offer already invented and tested software products to new markets.

Information is expensive. In the developed world we have gotten used to buying books from the Internet or from our local bookshop without giving a notice on the price of the book. We also have gotten used to looking up information from the web or streaming it over the network. Things change much in the developing world: books are expensive even if you discount the cost of content, this is due to both people having much lower incomes, but also due to smaller scale of operations increasing costs such as logistics. The same is true with electronic distribution, electronic distribution that relies on data connectivity is out of question as the cost of connectivity if available is out of reach of regular consumers, and distribution based on tangible goods such as Compact Discs suffers from small scale of operations and everything that comes with it.

The opportunity here is in making the information and distribution of it inexpensive. This can actually be done by creating a peer-to-peer distribution framework where people can swap content between their phones with Bluetooth connectivity. With this method we can minimize costs by a large degree and as an added benefit marketing and advertising can take advantage from natural social networks of people. The challenge in this method is how to ensure digital rights management and compensating content authors. Other opportunity for content distribution is by binding affordable service offer like the Aircel Pocket Internet with a walled garden content delivery platform.

External entities can also be customers. In developing countries there are multitude of external entities ranging from non-governmental to governmental and intergovernmental organizations working in multitude of different projects. These organizations are potential customers with some having quite deep pockets, even better is that these organizations can be easily approached as their administrative functions are usually located in the developed world. Potential projects to offer can range from digitization of information into mobile form to different kind of educational applications that can either assist learning or help in some other way.

Overall I deeply believe that reaching the next billion can create business opportunities for a large number of parties. However to reach this goal, software companies need to be brave and open minded, things work differently in the developing world, but that doesn't mean that they work poorly, they work differently and one who masters taking advantage of this difference can create value if not in large scale then at least in adequate numbers.

Thursday 13 October 2011

Why my startup failed...

Today is the National Fail Day in Finland. It is celebrated because the Finnish culture is very risk averse and failure is seen as not being an option - if you fail, you are a failure. This part in our culture has to be changed as if we don't allow ourselves to fail, then we never get courage to try out anything new or risky, but we also don't make the best of our eventual fail. To advantage this cause, people are encouraged to share their failures to get the message through that failing is not a sin. That is why I now share the story of my startup and why it failed...

The startup
In March 2006, I and my friend started a software company specialized on survey research software. I had started the project at the end of 2004 when I wrote first lines of code to test out some ideas that I had. Fast forward the little software project matures and my friend joins the project as a business lead. More time goes on and finally as our software matures and starts to look as real enterprise software, we decide to try out and found a company.

The software itself that we planned to run and sell as a service was pretty impressive. It had a modern styled web UI with everything rounded and shaded as was the custom. It had more features and functionality than any other competing service had. And it was fast and lean piece of software. It was written completely with J2EE, used MySQL as its database, supported Active Directory and many enterprise features. But the best thing was that the database code that was hand written had built-in sharding implemented. Sharding is horizontal partitioning of the database. In our case every survey had its own shard, its own tables that insured that our database didn't wasn't slowed down by having too many surveys or too much data in it. The code was so good that when we started our company, we didn't buy our own server nor did we rent one, we rented a cheap Linux virtual server that did the deal. Everything looked good, we had our software in order, we had our service running in lower costs than our competitors, and we thought that nothing could go wrong...

Screen capture - Making a question
Screen capture - Reporting results

Time flies and soon it is 2008. Our company had signed customers. We had sold and delivered our software both as a product and as a service to number of customers. However the number of customers and the money we were making was abysmal. Our company and our software seemed to have failed in the market. We make the only rational decision that we can and put our company into end-of-life care - continuing delivering service to our paid customers, but not signing or seeking any new ones.

The failure
So what had happened? Why did our startup failed? Well there was large number of different reasons, but in the end the fatal mistake and failure that much contributed to our other failures was the failure of understanding how our customers experienced value.

We as a couple of university students had thought that what customers wanted was a versatile tool with multiple question types and options and various optimized schemes to enhance information gathering from surveys. We thought that the more features and advantaged features we would have the more value customers would experience. We were wrong! We were biased, we were power users, not irregular users of survey tools that most of our potential customers were!

Our potential customers did want a versatile tool, but their experience of value didn't follow our pattern. Instead they got most value from the single function of just having a simple form to gather answers. Of course additional features did add value, but in a diminishing manner. At the end we estimated that at some point more features in our software would actually lower customer experienced value than increase it. This was because more features essentially meant more complex user interface and software, making customers unable to use the tools power.
Experienced value / number of features
Of course one mistake doesn't mean a total failure, but it can help you to make other mistakes that will in time cause the eventual fail of the service and firm. In our case because we burned more time and money to build our product, and when we went to the market and failed to reach our potential customer base, we were already in a thigh financial position. We understood that we need to angle for professional users, but they were both hesitant to try a new product from a startup and wanted additional features, and because we were in too thigh spot to negotiate good enough deals, we took in deals that involved too much work for too little money. We were essentially living from month to month being unable to really break from that death spiral. It was too much and we had to just confess that our startup had failed.

Lessons learned
There were many lessons learned during our startup. I for one don't regret at all that we started the company. If I hadn't been there and done that, I still would be asking myself on if I could have done it, could I have started a company and what would have come from that. Now I know the answer to that and it brings me great satisfaction that I tried. I failed, but I tried and learned some lessons and that is what is important to me.

And when I look back our company, there were some innovations that came from our customers that were actually very good ideas and our implementations of them worked quite nicely. One could build a successful startup based on one of them, however the business model would be completely different than the one we had. I don't know what the future brings, but maybe I will try entrepreneurship someday, after all it was very fun and exciting time. :-)

Friday 16 September 2011

Nokia N9 is a strong sign of revival

Testing the new Nokia N9
Few days ago I visited the Helsinki Nokia store to try out the new Nokia N9, the long awaited Meego handset. As I had expected, the N9 was a smooth and pleasure experience, proving that Nokia can really deliver a world class smartphone with an operating system and user interface that not only compares well with the iPhone 4, but goes in certain areas over the benchmark and delivers a better user experience and more functionality than the model of the industry. However the N9 isn't the handset that is going to allow Nokia to make a comeback and put it back to being the leading smartphone vendor. What the N9 provides is a taste of future of what is coming from the company.

You probably have already figured out that I'm not talking about the operating system or the user interface of the device, as Nokia has aligned itself with Microsoft and committed to use only Windows Phone operating system in its upcoming smartphones. The thing that I'm talking about, and what sets the N9 apart from other handsets is the hardware. The hardware is the real star of the N9. When I first picked up the handset, I couldn't believe how good it felt in my hands. In the same time it feels both very light and very hardy, much thanks to the unibody construction of the device. The surface of the device also feels very smooth in hands, but in the same time not slippery at all, there is absolutely no feeling at all that the device would slip out of my hands. The display is also beautiful  with its curved glass that makes the icons and user interface to float over the handset. The design and hardware are very innovative.

The reason why I put so much importance to the design and hardware of the N9 is because these innovations are likely going to appear in the first Windows Phone  handset that the company is going to deliver to the market. In the leaked internal video of Nokia, Stephen Elop, the CEO of the company, demonstrated a Windows Phone handset that looked much like the N9. This is important because I believe that the reason why handsets with Windows Phone haven't sold well is because of two reasons: A) they haven't offered quality design and hardware; and B) their overall delivery of value to the customer has been at best average. In case of Nokia, from the get go of the Microsoft alliance, it was clear that Nokia could deliver more value to the customer, Nokia Maps with offline navigation being one of the best examples of unique selling points. With the introduction of the N9, Nokia has demonstrated that it can offer the best design and hardware, thus enabling the company to cover the two falling points that have plagued other manufacturers of Windows Phone devices. This why I think that the Nokia N9 is a strong sign of revival, it offers a glimpse of what is coming to storm the market.

Sunday 11 September 2011

Google+ UI is the future of event driven software


Everybody following up the exciting world of Internet services and Social media industries has probably heard about Google+, the new social networking service that Google has created to challenge Facebook, the current leader of social networking services. In their quest to challenge Facebook, Google has made tremendous amount of work to invent and innovate new features and new ways to interact for their service, many of which we in the software industry should take a note from and learn, one of these things being the user interface.

One particular innovation that I have especially been impressed is Circles. Circles is a logical innovation to the Facebook innovated event based user interface. In Facebook the centerpiece of the user interface is the personal event queue which consists from incoming notifications that have been generated by our friend and from an outgoing event queue where we push our new notifications. This is brilliantly simple and allows us easily to connect and share events with friends. The problem in this arrangement however is that as the amount of our friends grow, we start to drown to new notifications and start missing relevant events, we also start to become more hesitant on sharing new events because we don't want to bother friends with updates to them that useless and because we want to keep something inside a smaller circle. This is the stepping point for Circles.

Facebook - Single queue vs. Google+ - multiple queue
In Circles you have multiple event queues for different people. You can have an Circle for friends, family, work colleagues, etc... You can also group one person to multiple Circles, for example a work colleague can also belong to friends circle. This way you can easily share updates with the right kind of people, but also quickly see what different groups of people are doing. This is of course goes both ways, people belonging to your circles can also freely decide on which circle you belong. This simple idea makes it easy again to share and receive events. This is the idea that should be copied to any software that deals with peoples and events that they generate.

Many different kinds of software and services could benefit from implementing Google+ Circles type of multiple event queues driven user interface. For a example CRM software could instead of concentrating to display information about overall sales or about a customer in hand, the main interface to the software would be an list of events to which the specific user is tied. These events could be automatically lifted from email or from calendar or from phone, they could also be generated from external sources such as customers RSS feed or picked from web sites or magazines. Events themselves could be grouped by either customer or customer types. However the key to deliver added value would be the ability to share events with the internal organizations, allowing rapid communication and sharing of relevant information in timely manner. One example of CRM software that has tried to go this way is the Salesforce Chatter, in my opinion Salesforce could have went farther in their implementation, but it anyway demonstrates many of the strengths of being event centric. Countless other types of software could also be made event centric, for example why not plug-in version control software and JIRA to multiple event queues, allowing developers to note changes more quickly, enable sharing of thoughts and useful resources. In my honest opinion many software firms would do themselves a favor on investigating if they could transform their software to be event centric.

Sunday 21 August 2011

Meego is the strategic choice for mobile vendors

In the past half a year mobile industry has experienced turbulent time of great market changes. When the year started Nokia was still committed to developing Qt-based Symbian and Meego ecosystem, Google backed Android was the preferred choice for the market challengers, and the Apple iPhone was unchallenged industry benchmark. The era of change started when Nokia abandoned its own development efforts and made a deep alliance with Microsoft to adopt Windows Phone as its sole smartphone platform, leaving both Symbian and Meego dead in the water. At the same time Android manufacturers gained momentum while Apple stalled and Nokia lost ground, making it seem that in the near future smartphone market was going to be divided in three camps: Apple iPhone, Google lead Android group, and Microsoft-Nokia. This all changed when Google acquired Motorola Mobility.

While Google informed the public that its acquisition of Motorola Mobility was defensive, that its intention was to obtain patents to defend the Android ecosystem, that it would retain Motorola Mobility as independent subsidiary, that it would treat equally all Android vendors, it is hard to believe that this state of affairs would continue for long. Google made a massive investment and its investors will sooner or later demand results from the management, and from the management the only way to obtain them is to become a vertically integrated company, imitating Apple. Not to mention that in large organizations there is always massive inertia to favor home grown solutions, even if the upper management tries to maintain neutrality with users of Android, the human factor, middle managers and developers inside Google-Motorola will pull and give flavors to each other’s. The simple fact at the end of the day is that due to acquisition of Motorola Mobility, the playground isn't level anymore and by time it will become even less so.

So what is next? Apple doesn't license IOS and with Microsoft the playground isn't even due to Microsoft working closely in deep partnership with Nokia. Fortunately there is a choice that mobile vendors can and should take, that choice is Meego. While Nokia did more or less abandon Meego, Intel continued to push forward and invest into it. It is a production ready mobile OS that is thoroughly modern, easy to develop and adopt. By adopting Meego as one of the used smartphone platforms in their offerings, device manufactures gain by..

..Having leverage against Google and Microsoft. Leverage is needed because both Google and Microsoft have in the past made it clear that they are in charge of their platforms, dictating more or less the terms of usage to manufacturers. They also have taken the freedom of favoring one device manufacturer to further their own goals. To ensure more fair and equal treatment, vendors need to have the nuclear option to threaten abandoning both platforms if needed, this threat should allow manufacturers to gain concessions to modify platforms, but also gain more favorable financial terms to license Android or Windows Phone.

..Allowing deep alliance with network service operators. Since the dawn of mobile networks, service operators have had one single goal, to be something more than just a pipe of bytes. They want their customers to select them not because of their pipes, but because of the unique features and services that they offer as part of their larger customer experience. With Apple, Microsoft and Google the problem is that they offer their own standardized customer experience, leaving operators to be commoditized pipe providers. This creates tremendous opportunities for device manufacturers to ally with service operators to create unique customer experiences, for example operator specific user interfaces that interwove services into tightly packed offering. In case where this co-operation leads to a hit product, benefits are more than clear. It should also again be mentioned that operators to need and want leverage against Google, Apple and Microsoft, which itself makes the business case worthwhile enough.

..Enabling product and brand differentiation via software. The big problem that all major phone manufacturers of today are trying to solve is to how to be different and how to maintain that difference once it is found. Designs can be easily copied or imitated. User interface is the same across the multiple vendors who use the same operating system. Hardware components and technology are the same and used by multiple vendors, buzz words changing from Retina Display and Super AMOLED to Clear Black Display, for the customer it is more or less the same, better than normal displays. The only way to clearly obtain differentiation is via creation of unique software offerings. The only platform that in the future offers this is Meego.

In my honest opinion, there is a very strong case for mobile device manufacturers to make use of Meego. While I don't think that any device manufacturer at this point should commit them solely to it, they should take the option for obvious strategic reasons, as a life insurance, but also as a way to move forward in the ever changing mobile market.

Monday 15 August 2011

Retailing 101: How not to deliver service

Last week I ordered an soda maker from a web-store of an large and established Finnish home appliance and electronics retail chain. The web shopping experience was pleasant and I was delighted that I could select my order to be delivered to an near by shop of theirs. I was even more delighted when they e-mailed to me and told explicitly that my order was ready to be collected after two working days. However as I had worked in retailing before, I knew that their information and logistical system just couldn't be this good and up to the job, and I was right.
 
Today I went to the store to pick up my soda maker. When I approached the salesperson and told that I had come to get my delivery, he was surprised, told me that they didn't have the machine, that they didn't usually sell it in their store, that to his knowledge even supplier had difficulties on delivering them. He then went on and started browse some papers on his desk, he found my order notification from the papers, but there was no machine. As I knew that the local shop wasn't at fault, I just left the shop, feeling little bit blue that I had just wasted my time and effort, not to mention that I hadn't got what I had been promised. But lets think on why this did happen, why did they fail their service promise. In my opinion they failed because they...

..made the service promise too early
When they sent me the email that my order could be retrieved in two business days, they probably hadn't even shipped the product. Their promise solely leaned on their belief that they had the product available in their or suppliers warehouse, and that their logistics could deliver it just in time. This is just plain stupid. The only time when you make an explicit promise on when you deliver a product is when you have shipped the product, and even then you add few days extra to be sure that you can keep the promise. In this instance making a promise that they will deliver in two days was just madness.

..made an unnecessary service promise
I as an web consumer am not time constrained, I order from the web because it is convenient for me and because I have the time to wait, if I need a product right now, I walk into a brick and mortar store and buy it from there. For me as an consumer loving convenience, it would have been much better if they had send A) notification that they had received the order; B) notification that they had shipped the product, or that they have difficulties on shipping it; C) notification that the product has been delivered to a store and I can pick it up from there.

Now somebody working in retail and knowing department store systems, could probably say that it just costs too much and is too complicated to network systems that date to end of 80s or beginning of 00s to do what I suggest. Well I disagree with that strongly. If modifying the department store system and ERP would cost too much, then they could have just build an extra interface to the web store where they could have stores to receipt incoming deliveries and launch delivery notifications based on that. Coupled with an increased time frame for the delivery they could have provided a better customer response and a promise that they actually could have fulfilled.

Thursday 4 August 2011

Are we going to have a double dip?

The question on everybody's lips is are we going to have a double dip recession or not? Many people from common persons to market watchers are predicting that we are going to have another recession. Stock markets certainly have taken the hint and taken a deep hit down, at the moment of writing the OMX Helsinki has plunged over 5% and major stock exchanges around the world have seen prices going down. The media while still not preaching doom and gloom is constantly speculating on the issue. On this climate it is hard not to be pessimistic about the future, it is easier to say that things are going down hill than say that they aren't. However, I myself think that we are not going to have another recession, we simply don't have enough reason for it.

Recessions happen for a reason
They happen because the market has had long enough digression that finally runs out, leaving the market and the market actors paralysed by both their past misinvestment and invisibility of the future. The financial crisis that started in 2008 was largely caused by housing and commodity bubbles around the world. In the USA investors, banks and lenders had for too long thought that property values can go only up, leading everybody and their dog to take advantage of the market. The same was happening in Europe where endless amounts of leisure and holiday apartments where mushrooming here and there, for example at the peak of the Spanish property bubble, over half of the cement used in Europe was used in Spain. The belief that the market can go only up was the market delusion that finally lead into recession.

Do we have a good enough reason for another recession?
This is the question that we should be thinking about, is there a good enough reason for a recession. I don't think so. We do have big problems in the world economy that need fixing sooner or later, for example the increasing debt of US government, continuing crisis in the Eurozone, doubts about continuing growth in China, etc.. However if we look at the real economy, on what people and companies are actually doing, there is a lot less to be worried about. People and companies haven't over extended themselves, quite the contrary: people have been investing carefully especially to real estate markets; and companies have restructured themselves during the recession and are now more efficient and enjoying healthy profits.

In my honest opinion, we don't have good enough reason to have the economy go back into the recession. However we neither have good enough reasons for the economy to boom, like I said before, there are many troubling things that make the market uncertain about the future, but that doesn't lead into a recession, it leads into an era of slow growth until the major causes of this market nervousness are corrected.

CQMMYKQVNPDW

Sunday 31 July 2011

To be run only in a single server instance

One day when I was talking with my colleague about the past software development projects, it occurred me to ask, why isn't it ever specified that the software to be developed only needs to be run in a single server instance? The reason for my thought is that it would remove unneeded complexity from the application, allowing more straight forward solutions and optimisations that couldn't otherwise be done. In essence it would save both development and maintenance time, thus saving money.

Of course it isn't possible or sensible in all situations to make this specification, but there are cases where it could and should be done. For example SMEs many times have simple applications that just take input from users and other systems, do simple processing and then save it, serving the end result to other users and systems. These kind of CRUD -applications really don't need to be clustered. The reasons why they are specified to be run in a cluster have usually more to do with beliefs or with ignorance about what kind of systems we have to day. For example reason given on why the applications has to be have multiple could be...

"We have too many users, we need to have multiple servers"
No. The servers we have today have amble of power, memory and storage. You can easily rent a server with 2 x 2,5GHz Quad Core, 8GB of memory and hundreds of gigabytes of storage with less than few hundred Euro per month. This setup should be more than enough for your average run-of-the-mill business application and it should be able to handle hundreds of simultaneous users easily.

"It needs to be fail safe, we need to have multiple servers"
No. The server where the application is deployed is probably either an virtual server or an card server attached to a NAS that has RAID enabled and timely backups done. In case of a hardware failure, the virtual server instance is deployed to a new server, and the card server is replaced with a new blade. Depending on the service and automation level, a server failure will cost us a downtime ranging from minutes to hours.

Now to be on the safe side, there are applications and usage situations where what I suggest can't simply be done, and even when we have a suitable case it doesn't mean that we have to throw good engineering practices away. No. If and when we have a case where we know that we aren't going to need multiple servers, let us give the developers the added guidance of not needing to have the application to be clusterable, and let them produce a better application with less unneeded complexity.

Friday 29 July 2011

Welcome to my blog

As you can read, I'm starting a new blog. The reason for this is very simple, I have noticed that in my daily life from work to private life I tend to get many ideas and questions that I sometime share and deliberate with my work colleagues and friends for a small time, the problem is that all these thoughts just dissolve into air. And that is a problem, my thoughts aren't creating any additional value than being just musings. Thus I have decided that it is better to share some of my thoughts in a hope that I can not only give something out but hopefully get something back in someway or another.

So cheers, and welcome to my blog! :-)