jump to navigation

What’s on your mind? July 6, 2008

Posted by abheek in personal, technology.
2 comments

I recently started brainstorming using mind maps, and have had a such a wonderful time doing so that I figured that is worthy of a post here.

Mind maps, for people who might not have heard of them before, are a visual way to represent thought processes. Wikipedia describes them as:

A mind map is a diagram used to represent words, ideas, tasks, or other items linked to and arranged radially around a central key word or idea. It is used to generate, visualize, structure, and classify ideas, and as an aid in study, organization, problem solving, decision making, and writing.

I have found this to be an excellent way to brainstorm ideas and organize my thought stream. The structured and hierarchical approach towards visualizing ideas seems to be very well suited to my style of thinking. The succinct representation of concepts in a typical map helps me to zoom into specific sub-ideas or zoom out to get a feel for the ‘big picture.’ Finally, the loosely structured form of the data helps easily move ideas, which often leads to a better way for me to internally re-structure thoughts.

I’ve used FreeMind (freemind.sourceforge.net, free, java-based, cross-platform client) and MindManager (www.mindjet.com, native mac client) so far, and both of them seem to be excellent ways to start using mind maps.

I would love to hear if other people have tried mind mapping and how their experiences have been.

Identifying the next big startup idea July 4, 2008

Posted by abheek in technology.
3 comments

In one of my meetings yesterday, I had an interesting conversation with an entrepreneur about how he started off on his ideas. Two things leapt out at me that are worth recording here:

1. Look for technology inflection points. Many successful innovators have used these inflection points to take on much larger incumbents successfully. NetApp took on the big storage guys with NAS+RAID, only to have Data Domain do the same to NetApp because of a combination of cheap and fast SATA drives and processors. Christensen talks about this in detail in his innovator series of books, but hearing about it from someone in the trenches reinforced this as an excellent way to identify opportunities.

2. Spend as much time with your IT department as you can. Its the single best way to identify pain points, or to apply your knowledge to solving existing problems in more effective ways. In fact, this was something I was planning to do when i came to Stanford, but in the heat of the school year it completely slipped my mind. Note for next year: spend time working with the Stanford IT setup, and see what that leads to.

Tomorrow’s forecast: cloudy with a silver lining July 3, 2008

Posted by abheek in business, technology.
add a comment

Velocity. Cloud Camp. Structure. Three big conferences focused on a topic in the first three days of the week are as good a sign as any that there is intense excitement in that space. However, there’s a fine line between excitement and hype, and with all the buzz around Cloud Computing it’s hard to see what side of that line we are on.

GigaOM had an interesting post summarizing some of the arguments for why this excitement is justified.

Now here’s the cloud. It’s driven by five big things, none of which are hype, and all of which are changing the way we compute.

  1. Power and cooling are expensive. Today, it costs far more to run computers than it does to buy them in the first place. To save on power, we’re building data centers near dams; for cooling, we’re considering using decommissioned ships. This is about economics and engineering.
  2. Demand is global. Storage itself may be cheap, but data processing at scale is hard to do. With millions of consumers using a service, putting data next to computing is the only way to satisfy them.
  3. Computing is ubiquitous. We’ve lost our desktop affinity. Most of the devices in the world that can access the Internet aren’t desktops; they’re cell phones. Keeping applications and content on a desktop isn’t just old-fashioned — it’s inconvenient.
  4. Applications are built from massive, smart parts. Clouds give developers building blocks they couldn’t build themselves, from storage to authentication to friend feeds to CRM interfaces, letting coders stand on the shoulders of giants.
  5. Clouds let us experiment. By removing the cost of staging an environment, a cloud lets a company try new things faster. This is also true of virtualization in general, but by billing on demand the cloud means anyone can experiment.

I agree with each of these, but I think #5 is the first amongst equals, and here’s my set of five reasons why.

1. Time to market is crucial to the success of a company. As Mike Cassidy puts it, speed can be THE primary business strategy for a startup. When you are starting off trying to build a new company, there are times when the last thing you want to spend time and money on is building and managing an IT infrastructure. As the CEO of a top social network was telling me a couple of weeks back, their customers don’t care what infrastructure their product runs on, but they do care about how responsive they are to new feature requests.

2. As a corollary to the above argument, even when performance is crucial enough to the success of your application to warrant building in-house, there are often components that can be silo-ed off into the cloud. Currently these are often non-transactional applications that are not on the critical revenue path (like search, analytics, etc), but as we see some key problems in this space getting solved, that set of applications will grow a lot bigger.

3. There is a fundamental economic arbitrage that the cloud is able to provide to users. Very similar to the consolidation argument we used while selling VMware to early customers, the arbitrage opportunity lies in consolidating computing costs across time-zones, geographies and workloads. For example, a cloud provider can cater to workload characteristics that depend on time of day, time of year, geography and performance requirments by simply consolidating customers from across the world and provisioning for a lower peak workload requirement.

4. Computing on the cloud allows startups to match their revenue stream with expenses. The canonical example is a SaaS company that gets revenue every month from their customers. However, their infrastructure requires significant capital expenditures, which is a step-function that does not track revenue. Instead, the over-provisioning requirement means that they spend considerable effort tracking expected computing demand, and over-provision hardware to meet the peak load. Substituting that capital expense with a pay-as-you-go operating expense is a huge potential cost saving.

5.  And finally, there’s scalability. While traditional scalability meant tuning applications to better utilize resources, decreasing hardware costs and changes in computing models have shifted the focus to scaling-out instead of scaling-up. As a result, language frameworks, programming models and application paradigms are catered to allow components that can achieve horizontal scalability. This lends itself very well to the cloud: scalability is now a function of adding newer instances on demand and removing them when load drops.

All this adds up to justify some of the reasons why people are excited about moving to the cloud, and why big dollars are being spent on it. Which brings us to the big question: what are the reasons hindering adoption of the cloud as the next-generation computing platform?

(To be continued)