Monday, October 31, 2011

Bangalore Embodies The Silicon Valley

I spent a few days in Bangalore this month. This place amazes me every single time I visit it. Many people ask me whether I think Bangalore has potential to be the next Silicon Valley. I believe, it's a wrong question. There's some seriously awesome talent in India, especially in Bangalore. Don't copy the Silicon Valley. There are so many intangibles that Bangalore won't get it right. And there's no need to copy. Create a new Silicon Valley that is the best of both worlds.

If you want some good reading on what makes silicon valley the Silicon Valley, read the essay "How to be Silicon Valley" by Paul Graham. Bangalore does have some of these elements - diversity, clusters, a large number of expats etc. It's quickly becoming a true cosmopolitan city in India. You don't need to know the local language (Kannada) to live there. It does have a few good colleges such as IIM and IISC, but no IIT. The real  estate boom in Bangalore is a clear indicator of what's going on in the city with regards to the spending power of the middle class and the upper middle class. Most large IT multinationals have a campus in Bangalore. The companies such as Accenture have more people in Bangalore than in the US.

So, what's wrong?

Lack of entrepreneurial mentorship

If you go back to the roots of the early success of the Silicon Valley you will find that the venture capitalists community mentored the entrepreneurs to bring innovation to life. Steve Jobs had an idea, but no business plan. Some of the entrepreneurs became serial entrepreneurs and some became the investors who in turn mentored other entrepreneurs. This cycle continued. I don't see this in Bangalore. Not only the VC funding is not easily accessible (more on this below), but there are no early investors that I see are spotting the trends and mentoring the entrepreneurs.

I spoke to many entrepreneurs in Bangalore. Let me tell you - they do not lack the entrepreneurial spirit. They are hungry and they are foolish. And they are chomping at the bit to work on an exciting idea, but they do lack someone to mentor them and take them through the journey.

Where have all the designers gone?

A couple of years ago I was invited at the National Institute of the Design (NID), a premier design school in India, for a guest lecture. They told me that design is not a discipline that easily attracts good talent in India. They are competing with the engineering schools. India lacks designers. This is the age of experience start-ups. A very few engineers have the right design mindset. If they want to be successful, they absolutely need to work with the designers who are impossible to find and hire. This talent gap is hurting to manifest the vision of a founder into a product that the consumers would love to use. Flipkart and Red Bus are my favorite start-ups but they are few and far between.

Math and Science would only take you so far

It's not just Math and Science that has created the Silicon Valley. It's the right balance of creativity, business acumen, and engineering talent. The schools in India, even today, are not set up to let students be more creative. They are still fixated on Math and Science since they guarantee good jobs. The Silicon Valley entrepreneurs followed their dreams. In the US, it's about studying what you like and chase a career that you are happy with and not to pick a certain kind of education just because they provide good jobs. Unfortunately, creativity is hard to teach. It's ingrained into the culture, society, and the systems. If India has to get this right, this needs to start at the education and a support system that has a place for jobs other than Math and Science.

I have been following the education reforms in India and private sector investment into K-12 schools. They are encouraging. I don't believe Bangalore or India for that matter will have math or science issue anytime soon, but it will certainly have entrepreneurial issues to jump start new companies and manage their ever growing engineering workforce. I was invited to speak at IIM Ahmedabad, one of the best business schools in India. During my conversation with the faculties, I was told that the most pressing issue for the elite business schools in India is to scale their efforts to create the new class of mid-management that can manage the rapidly growing skilled workforce.

Obama keeps saying more and more people in the US should study math and science to be competitive. I don't believe that's the real competition. The real competition is what can you do if you did know math and science or if you had access to people who knew it.

Lack of streamlined access to capital

A lot has been written about this obvious issue and I don't want to beat this further. I just want to highlight that despite of all the money that the individuals and large corporations have earned in India, a very little is being invested into venture capital since the VC framework, processes, and the regulations aren't as streamlined. It's not a level playing field. In the Silicon Valley, the venture money is commodity. If you have a great idea, team, or a product, the investors will run after you to invest into your company. Bangalore is far from this situation. But it shouldn't have to be. What's missing is not the available money but a class of people who can run local funds by investing into the right start-ups. Most US VC firms have set up shops in India, but I don't think that's enough to foster innovation at the grassroots level. Bangalore needs Indian firms to recognize the need for a local VC community that can work with the system to make those funds available to the entrepreneurs.

The picture: I took this picture inside one of the SAP buildings in Bangalore during the week before Diwali.

Thursday, October 27, 2011

Make To Think And Think To Make



I'm a passionate design thinker and I practice design thinking at any and all opportunities. Design thinking is part art and part science. John Maeda is one of my favorite thought leaders on design. He published a post talking about art as a form of asking "what do I want to know" rather than "what do I want to say."

As a product manager, making a product goes from what do I want to know — the requirements — to what do I want to say — manifestation of the requirements into a working product. I call it "Make to think and think to make". I make prototypes — make to think — similar to a form of an art, to help me think and ask the right questions to fulfill my needs of "what I want to know". The human beings better respond to tangible artifacts as opposed to abstract questions. These conversations stimulate my thinking to execute on those requirements — "think to make" — similar to "what do I want to say." The design thinking cycle continues.

Friday, September 30, 2011

Disrupt Yourself Before Others Disrupt You: DVD To Streaming Transition Is Same As On-Premise To Cloud


Recently, Netflix separated their streaming and DVD subscription plans. As per Netflix's forecast, they will lose about 1 million subscribers by the end of this quarter. The customers did not like what Netflix did. A few days back, Netflix's CEO, Reed Hastings, wrote a blog post explaining why Netflix separated their plans. He also announced their new brand, Qwikster, which will be a separate DVD service from Netflix's streaming website. These two services won't share the queues and movie recommendations even if you subscribe to both of them. A lot has been said and discussed about how poorly Netlflix communicated the overall situation and made wrong decisions.

I have no insider information about these decisions. They might seem wrong in short term but I am on Netflix's side and agree with the co-founder Marc Randolph that Netflix didn't screw up. I believe it was the right thing to do, but they could have executed it a little better. Not only I am on their side, but I see parallels between Netflix's transition from DVD to steaming and on-premise enterprise ISVs' transition from on-premise to cloud. The on-premise ISVs don't want to cannibalize their existing on-premise business to move to the cloud even if they know that's the future, but they don't want to wait long enough to be in a situation where they run out of money and become irrelevant before the transition.

So, what can these on-premise ISV's learn from Netflix's decisions and mistakes?

Run it as a separate business unit, compete in the right category, and manage street's expectations:

Most companies run their business as single P&L and that's how the street sees it and expects certain revenue and margins. Single P&L muddies the water.The companies have no way of knowing how much money they are spending on a specific business and how much revenue it brings in. In many cases, there is not even an internal separation between different business units. Setting up a separate business unit is a first step to get the accounting practices right including tracking cost and giving the right guidance to the street. DVD business is like maintenance revenue and the streaming is like license revenue. The investors want to know two things: you're still a growth company (streaming) and you still have enough cash coming in (DVD business) to tap into the potential to grow.

Netflix faces competition in streaming as well as in their DVD business, but the nature of competition is quite different. For the enterprise ISVs competing with on-premise vendors is quite different than competing with SaaS vendors. The nature of business — cost structure, revenue streams, ecosystem, platform, anti-trust issues, marketing campaigns, sales strategy — is so different that you almost need a separate organization.

Prepare yourself to acquire and be acquired:

Netflix could potentially acquire a vendor in the streaming business or in the DVD business and that makes it easy for them to integrate. This is even more true in the case of ISVs since most of the on-premise ISVs will grow into the cloud through acquisitions. If you're running your SaaS business as a separate entity, it is much easier to integrate the new business from technology as well as business perspective.

Just as you could acquire companies, you should prepare yourself for an exit as well. Netflix could potentially sell the DVD unit to someone else. This will be a difficult transaction if their streaming business is intertwined with their DVD business. The same is true for the enterprise ISVs. One day, they might decide to sell their existing on-premise business. Running it as a separate business entity makes it much easier to attract a buyer and sell it as a clean transaction.

Take your customers through the journey: 

This is where Netflix failed. They did not communicate to the customers early on and ended up designing a service that doesn't leverage existing participation of the customers such as recommendations and queues. There is no logical reason why they cannot have a contract in place between two business units to exchange data, even if these two units are essentially separate business entities. The ISVs should not make this mistake. When you move to the cloud, make sure that your customers can connect to their on-premise systems. Not only that, you need to take care of their current contracts and extend them to the cloud if possible and make it easy for them to transition. Don't make it painful for your customers. The whole should be great than the sum of its parts.

Run your business as a global brand:

Learn from P&G and GE. They are companies made up of companies. They do run these sub-companies independently with a function to manage them across. It does work. Netflix has a great brand and they will retain that. As an on-premise ISV you should consider running your on-premise and cloud businesses as sub-brands under single brand umbrella. Branding is the opposite of financials; brand is a perception and financials is a reality. Customers care for the brand and service and the street cares for the financials. They seem to be very closely related to each other for a company looking inside-in but from an outside-in perspective they are quite different. There is indeed a way to please them both. This is where the most companies make wrong decisions.

Wednesday, September 7, 2011

Freemium Is The New Piracy In The SaaS World

It is estimated that approximately 41% of revenue, close to $53 billion, is "lost" in software piracy. This number is totally misleading since it assumes that all the people who knowingly or unknowingly pirated software would have bought the software at the published price had they not pirated it. RIAA also applies the same nonsense logic to blow the music piracy number way out of proportion. The most people who pirate software are similar to the people who pirate music. They may not necessarily buy software at all. If they can't pirate your software, they will pirate something else. If they can't do that, they will find some other alternative to get the job done.

Fortunately, some software companies understand this very well and they have a two-pronged approach to deal with this situation: prevent large scale piracy and leverage piracy when you can't prevent it. If an individual has access to free (pirated) software, as a vendor, you're essentially encouraging an organic ecosystem. The person who pirated your software is more likely to make a recommendation to continue using it when he/she is employed by a company that cannot and will not pirate. This model has worked extremely well. What has not been working so well and what the most on-premise vendors struggle with is the unintentional license usage or revenue leakage. Customers buy on-premise software through channels and deploy to large number of users. Most on-premise software are not instrumented to prevent unintentional license usage. The license activation, monitoring, and compliance systems are antiquated in most cases and cannot deal with this problem. This is very different than piracy because the most corporations, at least in the western world, that deploy the on-premise software want to be honest but they have no easy way to figure out how many licenses have beed used.

In the SaaS world, this problem goes away. The cloud becomes the platform to ensure that the subscriptions are paid for and monitored for continuous compliance. You could argue that there is no license leakage since there are no licenses to deal with. But, what about piracy? Well, there's no piracy either. This is a bad thing. Even though a try before buy exists, there's no organic grass-roots adoption of your software (as a service) since people can't pirate. In many countries where software piracy is rampant, the internet access is not ubiquitous and bandwidth is still limited. This creates one more hurdle for the people to use your software.

So, what does this mean to you?

SaaS ISV: It is very important for you to have a freemium model that is country-specific and not just a vanilla try-before-buy. You need to get users start using your service for free early on and make it difficult for them to move away when they work for someone who can pay you. Even though you're a SaaS company, consider a free on-premise version that provides significant value. Evernote is a great example of this strategy. It shouldn't surprise you that people still download software, pirated or otherwise. Don't try to change their behavior, instead make your business model fit to their needs. As these users become more connected and the economics work in their favor, they will buy your service. It's also important to understand that the countries where piracy is rampant, people are extremely value conscious.

On-premise ISV: Don't lose your sleep over piracy. It's not an easy problem to solve but do make sure that you're doing all you can to prevent it. Consider a freemium business model where you're providing a clean and free version to your users. If the users can get enough basic value from a free version, they are less likely to pirate a paid version. What you absolutely must do is to fix your license management systems to prevent unintentional license usage. Help yourself by helping your customers who want to be honest. The cloud is a great platform to collect, clean, and match all the license usage data. You have a little or no control over customers' landscapes but you do have control over your own system in the cloud as long as there's a little instrumentation embedded in your on-premise software and a hybrid architecture that connects your on-premise software to the cloud. In nutshell you should be able to manage your licenses the way SaaS companies manage their subscriptions. There are plenty of other benefits of this approach including the most important benefit being a SaaS repository of your customers and their landscapes. This would help you better integrate your future SaaS offerings and acquisitions as well as third-part tools that you might use to run your business.

Wednesday, August 24, 2011

Life Is Too Short To Remove A USB Stick Safely


Today, Steve Jobs resigned as a CEO of Apple. I think I will remember this day and so will others.

“Your work is going to fill a large part of your life, and the only way to be truly satisfied is to do what you believe is great work. And the only way to do great work is to love what you do. If you haven’t found it yet, keep looking. Don’t settle. As with all matters of the heart, you’ll know when you find it. And, like any great relationship, it just gets better and better as the years roll on. So keep looking until you find it. Don’t settle.” — Steve Jobs

For me, Apple is not just a personal choice that is better than other alternatives, but it's also an ongoing proof of what's possible if you believe in what you think is the right thing to do. It's also about the elements of design and endless perseverance that I can thrive for. Thanks Steve for showing what's possible and wish you all the best with your health and a speedy recovery. I hope you can stay on and mentor others at Apple for what's going to be a great future of computing.

Wednesday, August 17, 2011

Parallelism On The Cloud And Polygot Programmers


I am very passionate about the idea of giving developers the control over parallelism without them having to deal with the underlying execution semantics of their code.

The programming languages and the constructs, today, are designed to provide abstraction, but they are not designed to estimate the computational complexity and dependencies. The frameworks such as MapReduce is designed not to have any dependencies between the computing units, but that's not true for the majority of the code. It is also not trivial to rewrite existing code to leverage parallelism. As, with the cloud, when the parallel computing continues to be a norm rather than an exception, the current programs are not going to run any faster. In fact, they will be relatively slower compared to other programs that would leverage parallel computation. Robert Harper, a Professor of Computer Science at Carnegie Mellon University recently wrote an excellent blog post - parallelism is not concurrency. I would encourage you to spend a few minutes to read that. I have quoted a couple of excerpts from that post.

"what is needed is a language-based model of computation in which we assign costs to the steps of the program we actually write, not the one it (allegedly) compiles into. Moreover, in the parallel setting we wish to think in terms of dependencies among computations, rather than the exact order in which they are to be executed. This allows us to factor out the properties of the target platform, such as the number, p, of processing units available, and instead write the program in an intrinsically parallel manner, and let the compiler and run-time system (that is, the semantics of the language) sort out how to schedule it onto a parallel fabric."

The post argues that language-based optimization is far better than machine-based optimization. There's an argument that the machine knows better than a developer what runs faster and what the code depends upon. This is why, for relational databases, the SQL optimizers have moved from rule-based to cost-based. The developers used to write rules inside a SQL statement to instruct the optimizer, but now the developers focus on writing a good SQL query and an optimizer picks a plan to execute the query based on the cost of various alternatives. This machine-based optimization argument quickly falls apart when you want to introduce language-based parallelism that can be specified by a developer in a scale-out situations where it's not a good idea to depend on a machine-based optimization. The cloud is designed based on this very principle. It doesn't optimize things for you, but it has native support for you to introduce deterministic parallelism through functional programming.

"Just as abstract languages allow us to think in terms of data structures such as trees or lists as forms of value and not bother about how to “schedule” the data structure into a sequence of words in memory, so a parallel language should allow us to think in terms of the dependencies among the phases of a large computation and not bother about how to schedule the workload onto processors. Storage management is to abstract values as scheduling is to deterministic parallelism."

As far as the cloud computing goes, we're barely scratching the surface of what's possible. It's absolutely absurd to assume that the polygot programmers will stick to one programming model and learn to spot difference between parallelism and concurrency. The language constructs, annotations, and runtime need to evolve to help the programmers automate most of these tasks to write cloud-native code. These will also be the core tenants of any new programming languages and frameworks. There's also a significant opportunity to move the existing legacy code in the cloud if people can figure out a way to break it down for computational purposes without changing it i.e. using annotations, aspects etc. The next step would be to simplify the design-deploy-maintain life cycle on the cloud. If you're reading this, it's a multi-billion dollars opportunity. Imagine, if you could turn your implementation-specific concurrent access to resources into abstract deterministic parallelism, you can indeed leverage the scale-out properties of cloud fairly easily since that's the guiding principle behind the cloud.

There are other examples you would see where people are moving away from an implementation-centric approach to an abstraction that is closer to the developers and end users. The most important shift that I have seen is from files to documents. People want to work on documents; files are just an instantiation of how things are done. Google Docs and iPad are great examples that are document-centric and not file-centric.

Photo courtesy: bass_nroll on Flickr

Thursday, July 28, 2011

Plotting for serendipity


I rarely eat lunch at my desk. Eating lunch in a cafeteria is such a precious opportunity to waste. I plot for serendipity. That's right. Some of the best conversations that I have had with people — on my way to a cafetaria or in the cafeteria — are purely serendipitous, but they're not purely accidental. I even pick a cafeteria that requires me to walk a little more. I believe you can always create opportunities for good things to happen to you. When people say "It's a small world", they are so wrong. The world isn't small but they're at the right place at the right time to think it's a coincidence. The coincidences do happen but there's a larger force behind orchestrating the possibilities for such coincidences to occur.

The same applies to creativity. You can design an epiphany.

I have heard people say that they had an epiphany while they were in shower. It's not the shower but it's illumination followed by a prolonged incubation, two phases of creativity. The other two phases are preparation and verification. Preparation is a phase where you decide that you want to solve a specific problem. When you continue to work on a problem over a period of time, your brain, the unconscious, never stops working on it even if consciously you're not spending any time on it. This is called incubation. This lasts for a while. The "shower moment" is the illumination phase where you finally figured out a solution, after your brain unconsciously kept solving it for the entire night, and hence the metaphor of glowing bulb for innovation. What remains is the verification phase to prove that the solution works. We all do this, but we don't spend enough time on the incubation phase and hence many ideas don't go beyond that. You can plot for this epiphany by not letting a problem go for a while even though you think that you don't have enough time to work on it. I tell my students to start working on their projects early on for better results for that purpose. It feels counterintuitive that you could solve a problem by spending less time on it as long as you keep solving it for a longer duration off and on.

I have blogged about cloud being a natural platform to design tools that could create network effects. The tools that create network effects also offer an opportunity for digital serendipity. I have discovered many people through Twitter and learned quite a few things that I would have never explicitly made an attempt to learn. And, I'm not the only one who has had such an experience. I'm a big fan of social tools and platforms that enable opportunities for such serendipity to occur. There're only so many cafes and water fountains in the physical world; the digital world is far bigger in that sense.

Design your routine to plot for serendipity and epiphany and credit yourself instead of the shower. Creativity can be tricked. You will be positively surprised.

Cross-posted on my personal blog