SmoothSpan Blog

For Executives, Entrepreneurs, and other Digerati who need to know about SaaS and Web 2.0.

Archive for September 17th, 2007

Two New Platform Types for Marc Andreesen, How the Salesforce Force Relates, and Some Dissenting Views

Posted by Bob Warfield on September 17, 2007

Pmarca recently wrote an excellent blog post that dilineated what he sees as the three kinds of platforms you meet on the Internet.  Briefly, they boil down to:

Level 1, an “Access” API.  The key thing for level 1 is the developer’s code lives outside the platform.

Level 2, a Plug-in API.  Here, the goal is to add functionality by plugging an extension into an existing app.  Facebook has a plug-in API.

Level 3, a Runtime Environment.  In Level 3, the developer’s code runs inside the environment.

These distinctions are very programmer specific, but Marc says that in the end, only the programmer’s opinion matters.  More on that in a moment.

Let’s tease these apart a little bit first.  Another way to look at it is how visible the 3rd party developer’s code is, and this seems to be a little bit of what Andreesen is striving to articulate.  With an API, the code may hardly be visible at all within the platform.  You’d go to the developer’s site, perhaps, to see something tangible as a user.  With a Plug-in API, a little bit, the tip of the iceberg, may be visible within the platform.  Call it a “widgets” approach, if you will.  With a Runtime Environment, its all about developers being able to build first class applications of their own on the platform.   Andrew Chen helpfully points to the viral possibilities that open up for 3rd parties if they can immerse their code in the fast running waters of user adoption that may already exist for a successful platform.  This becomes stronger the further up Pmarca’s Level 1, 2, 3 food chain you go.

That distinction, in a nutshell, is what I think Pmarca is most focused on because it tells the message of why his startup Ning has a great idea and other things like Facebook are inferior to it.  It’s because Runtime Environments give programmers maximum expressivity, and if programmers are the only opinion makers who matter (according to Marc), won’t they prefer the platform that maximizes their expressivity?  Of course, the penultimate (I love that word, sorry) conclusion (pointed out by Fred Wilson in his blog and Read/Write Web in a post) is that the web itself is the Uber Platform that must be the most attractive to all the alpha geeks.

Let’s talk about a couple of alternate platform possibilities.  Depending on how you want to look at it, they may not be alternates at all.  I can see how to fit them into Pmarca’s framework.  However, to me they feel qualitatively different, so I call them out on their own.

The most obvious platform I’m looking at is creating a language.  Ruby on Rails is a platform.  Java is a platform.  They appeal to programmers, you can program all sorts of things in them, they are platforms.  Postscript is a platform.  It’s a language.  You can build printer drivers, Adobe’s Acrobat, and more around Postscript.  Languages are powerful platforms if you can get people to embrace them.  I would argue they’re more powerful than either Level 1 (API) or Level 2 (Plug-in) style platforms, and are fully on a par with Level 3.  However, they are not Level 3 because Marc has gone on to talk about the code running within the Level 3 platform ala Amazon Web Services so that developers don’t need to worry about hosting. 

Imagine with me for a moment that someone built a language that was all about Web 2.0 stuff.  It wouldn’t be Ruby, which is all about doing CRUD with web UI’s.  It wouldn’t be Java, which I view as a portable assembly language that’s probably overused for everything else.  Picture a language that is uniquely focused on the needs of Web 2.0.  One that would uniquely empower programmers to create new and Web 2.0 offerings as well as to hook into what’s already there.   Perhaps it would be something really different like Yahoo’s Pipes on steroids, or maybe its just another redo of the modern curly braced language as a Web 2.0 scripting language.  If it really worked well, it would be adept at hooking into all the Web 2.0 Personality Spaces.  It would be easy to define whatever sorts of Trust Fabric your community preferred.  It would be highly collaborative and very facile at tying into all the standard feeds and services already out there.  It’s fascinating to consider!

The other one that tickles the back of my brain is the idea that having a sufficiently powerful infrastructure creates a platform that is not centered around programmability or even technology, but it seems to me that it does let people do in a flexible way things that the platforms creators had not evisioned.  It lets 3rd parties profit from those doings.  It has the viral characteristics that so many platforms have.  And it is somehow more than an application, though I will be the first to back down in the face of strong opposition and admit that these beasts are perhaps not-quite-platforms.  Let me give some examples:  eBay.  Is it a platform?  It has API’s, so maybe it’s just a Level 1 platform in the Andreesen School of Platforms.  Let’s go further afield.   Peer to peer networks.  Was Napster a platform?  Hmmm, its kinda like eBay isn’t it.  Neither fish nor fowl. 

Here’s a way to think about this platform type:  can you create a platform without requiring the “application creators” to program?  Can the manipulation of information itself constitute a platform?  Is a Wiki a platform if you don’t program it?  Does WordPress have a blogging platform if you take away the widgets?  If these things can constitute platforms, it seems to me the friction of adoption is much less.  Perhaps we call them proto-platforms and recognize that they don’t flower into real platforms until the requisite API’s/Plug-Ins/Runtime Environments/Languages are available to complete the metamorphosis.  Perhaps you have to trick the application creators into programming when they really don’t think that’s what they’re doing.  Spreadsheets are the most widely used programming language on the planet because they trick non-programmers into being able to program almost before they realize it.

Now on to the other thing that has nagged at me about Pmarca’s post: his idea that only programmer’s matter for platforms:

lots and lots of people have opinions about platforms, but the people whose opinions matter are programmers, and people who can make decisions about what programmers program.

Marc has left himself an out on this one that I assume you clearly see:  “people who can make decisions about what programmers program.”  In my experience as a programmer, that would be the whole rest of the known universe.  Everyone has an opinion about what should be built, but let me tie in Salesforce.com as I have promised.  They certainly have a platform in the newly renamed Force offering.  I’ve talked to a lot of people who’ve cozied up to the Salesforce platform, and the impression I get is that most are not building anything of substance on the platform.  Wow!  Now I have to duck for a minute so the rotten fruit flies overhead, before explaining what I mean.

The Force platform is ideal for building a connection to Salesforce’s CRM applications and the associated community.  In this sense, what the Salesforce platform has most often been selected to do is generate sales leads.  People tie into it not because programmers are giddy with excitement about how great the platform is, but because they want a piece of the huge amount of attention and customer activity focused on Salesforce.com.  Often, the nature of the tie up is use of Salesforce in the Level 1 or Level 2 capacity despite it being suited to Level 3.  This happens because the app had either already been built elsewhere and didn’t need rewriting, or someone (possibly it is the programmers then?) made a decision that it didn’t make sense to build the whole thing inside Salesforce.

Don’t get me wrong–the platform doesn’t stink, but it doesn’t break much new ground either, except in giving you access to data inside Salesforce.com and customers who are using Salesforce.com.  So in this case, one of the biggest Level 3 platforms out there is getting most of its traction from people who make decisions for what programmers program in order to do something that requires very little programming.

Related Articles:

7 Tactics for Building Guerrilla Platforms on the Web

Posted in platforms, saas, software development, strategy, Web 2.0 | 2 Comments »

It’s a Huge Week And We’re Just Getting Started!

Posted by Bob Warfield on September 17, 2007

I’m having a terrible time getting through all the interesting news out there.

Zimbra is being bought by Yahoo for $350M, which changes the complexion on the Desktop SaaS Wars.  I wrote recently about Google, and now Yahoo is jumping in.  I still think Microsoft can be beaten by leveraging the web to give businesses the control over key information that they crave.  This means architecting a configurable Trust Fabric into these tools to give the businesses control.  I’ve heard nothing but good things from friends about Zimbra, more so than about the Google apps in fact, so its an ideal foundation for Yahoo to work from.  Interestingly, Yahoo also seems largely focused on mail with the Zimbra acquisition.  Outlook is one of the most vulnerable applications in the Office suite and its not doing Microsoft any favors either.  See Mark Cuba’s recent defection from the Windows platform over Outlook problems under Vista.  This acquisition should also yield fresh encouragement for investors and entrepreneurs alike about what’s possible in today’s market.  Zimbra’s investors reportedly only had $30.5M in the deal, so they had a nice multiple return.  Time will tell whether this is the first in a series of rapid moves to roll up the nascent Desktop SaaS marketplace.  Zoho is the next logical target if so.  There’s also the inevitable undercurrent that this means mass layoffs at Yahoo soon.  That’s not necessarily a bad thing.  Acquisitions can bring valuable infusions of new blood and new energy that give an organization not only new drive, but a chance to average up on the talent front by cutting at the bottom.  It’s no fun, but it is healthy and inevitable at a firm of Yahoo’s age.

It’s Salesforce.com’s Dreamforce week, their big annual user conference.  I’ll write more about it as it unfolds, so far I haven’t seen anything all that exciting.

The TechCrunch 40 conference is in full swing, and there are articles starting to appear that I’m still processing.  It looks like a blast already, though.

Lastly, we’ll see the long awaited announcement of SAP’s SaaS A1S offering, which I’ve already written a bit about on Wednesday.

Big week!

Posted in saas, Web 2.0 | Leave a Comment »

Who Doesn’t Love Java? (You’d Be Surprised! -and- Part 2 of the Tool/Platform Rants)

Posted by Bob Warfield on September 17, 2007

When Sun’s Jonathan Schwartz announced that he was changing Sun’s ticker symbol to JAVA, I wasn’t surprised that a lot of folks saw it as a silly move (nor surprised to see Jonathan being defensive).  Now don’t get me wrong:  I like Java.  My last gig involved prodigious amounts of gnarly Java code in a highly scalable Enterprise grid computing application.  The thing is, I have a problem with the idea that a single language can be all things to all people.   

In addition to Java, I’ve used a lot of other languages, and I thought it would be interested to see who else does too:

GoogleCreated a massive foundation for their massively scalable search engine in C++.  The foundation includes MapReduce (a way to employ thousands of CPU’s and avoid the Multicore Crisis), BigTable (their subsitute for a database), and the Google File System.  It all runs on a few hundred thousand Linux commodity boxes.  To be sure, Google has grown so large they now employ some Java, but C++ is the big enchilada.

YahooPushed into PHP back in 2002 in order to improve productivity and quit “reinventing the wheel”.  Translation:  They didn’t want 70% of their coding to be wasted.  Their presentation on this decision is quite interesting.

YouTubeWritten in Python, a hip relatively recent scripting language.  Google also makes extensive use of Python.

Facebook:  The clever fellows at Facebook are definitely technologists (maybe that’s why they got a platform together ahead of their peers) and built a fancy RPC (remote procedure call) core technology that lets them use almost any language they want.  Shades of Google core tech commitment, eh?  When they talk about what languages are used primarily, Java lands in last place.  The pecking order is PHP, C++, Perl, Python, and Java.

MySpaceBuilt on the Microsoft .NET Stack, so of course no Java there.  Are these boys a glutton for punishment or what?  Yet it proves that it can be done and that it will scale.

DiggDigg is built with the PHP scripting language, which is the “P” (or at least one possible “P”) in those LAMP stacks you hear so much about.

Wikipedia:  Like Digg, Wikipedia was also built on PHP

Amazon:  I was surprised and intrigued to learn that Amazon is language agnostic.  Like Google and Facebook, they’ve invested in some core technology that lets a lot of languages play together freely.  Werner Vogels goes on to say, “Developers are like artists; they produce their best work if they have the freedom to do so, but they need good tools.” 

Flickr:  Everyone’s favorite photo sharing service relies largely on PHP and Perl, with one twitchy systems programming service written in Java. 

Croquet:  A massively multiplayer game environment done in Smalltalk.  Who woulda thunk it?

There are many more, but you get the point:  Some, if not the vast majority, of the web’s biggest movers and shakers have decided not make Java their sole language and others have excluded it entirely!  Sure, the immediate reaction is that there will always be some C++ zealots who prefer their language to Java, but that doesn’t change the list all that much.  What we do see are a lot of “P” languages:  Python, PHP, and Perl.  What’s up with that?

Recall Part 1 of the Tool/Platform Rant Series, which talked about how 70% of the Software You Build is Wasted?  These hugely successful web properties have taken steps to reduce that 70% waste, and while there are many factors that contributed to their success, I believe a desire for increased productivity played a significant role.  The days when these languages were essential for performance are coming to an end too, courtesy of the Multicore Crisis.

There are other ways to skin this cat of over-reliance on a language that’s too low level without giving it up entirely.  Who doesn’t feel like technology gave Google a tremendous edge?  One can argue that C++ isn’t really the language of Google, rather, MapReduce, BigTable, and the Google File System are their language.  C++ is just the assembly code used to write the modules that these other platforms mash up.  In fact, it makes sense to think that C, Java, and C++ are all just portable assembly languages.  By doing this, Google has been able to focus a much greater proportion of its resources to create a proprietary edge for itself.  So have all the others on the list.

It gets more radical:  Amazon doesn’t care what language its developers use.  According to Werner Vogels:

I think part of the chaotic nature—the emerging nature—of Amazon’s platform is that there are many tools available, and we try not to impose too many constraints on our engineers. We provide incentives for some things, such as integration with the monitoring system and other infrastructure tools. But for the rest, we allow teams to function as independently as possible.

You have to ask yourself in light of all this, when are the Curly Braced Languages most and least appropriate?  The decision criteria are shockingly stark:

  • You Need a Curly Braced Language When You Are Building Something Totally Proprietary That’s Critical to Your Business And Can’t Be Built With Any Other Language
  • Run Away From Curly Braced Languages And Choose Something Else Every Other Time

Another thing:  notice the companies profiled above that have created their own Component Architecture Frameworks or Core Technology.  Google has core technology in spades.  Facebook has a system that lets them write components in any language they choose.  Amazon also allows multiple languages so long as a few core functions are adhered to.  Isn’t that interesting?  These guys want to be Polyglot Programmers, and they’re investing valuable resources to make that a reality.  This is all part and parcel of the “meta” thing too.  The realization that to fully utilize computers, you must be facile at manipulating the fabric of the programs themselves, and not just the data they are processing.  Adopting a polyglot view positions these vendors better to offer a platform, because it means they can allow others to use the languages of their choice.  There are a lot of benefits to being language agnostic!

Polyglot Programming is becoming increasingly well accepted in an era when the Curly Braced Languages (Java, C++, et al) bring little to the Web 2.0, SaaS, and Multicored Crisis parties.  Those languages are too low-level.  There is no support there for multi-tenancy, web pages, security, scaling, or any of the myriad of problems one encounters when building a Web 2.0 or SaaS business.  You have three choices:  write all of that yourself and pay the 70% overhead tax or become a Polyglot Programmer and minimize the overhead by choosing the best tools for the task and leaving your Curly Braced Power Tools safely in the workshop only to be brought out when some highly custom proprietary work needs to be done.

Related Articles

ESB vs REST (Another Case for Multi-Language Programming)

Posted in grid, multicore, platforms, saas, software development, strategy, Web 2.0 | 11 Comments »

Bumps in My Internet Journey (Links): September 17, 2007

Posted by Bob Warfield on September 17, 2007

Great post on Lucid Era about the challenges conventional ISV’s face in embracing SaaS

Ben Kepes wonders why MicroISV’s aren’t embracing SaaS more fully.  The answer is they must not understand the advantages.

Tuesday is the best day for breaking out a great new blog post.

Vista forces Marc Cuban to dump his PC and go Mac.  Microsoft needs to take care: its easier than ever to dump your PC these days.

Facebook study reveals users look for Trophy Friends.  Why am I not surprised?  There’s a fair amount of jabber in the blogosphere that maybe your friends on Social Networks are really not all that, er, friendly.  That doesn’t make it any less fun to mess around with them though, it just points to the incurable appetite many have to make new friends.

Learn how to be a MicroISV.  It’s cool when two guys with an Internet connection can build an interesting business.

70% of the code in games is wasted, here’s what you need to make a game platform.  The code waste meme resonates in a lot of places!

Posted in saas | Leave a Comment »

Who’s Afraid of Web 2.0? What to Do About It?

Posted by Bob Warfield on September 17, 2007

Richard MacManus writes that a lot of companies are afraid of what their employees might do with Web 2.0 over on Read/Write WebEmployees are also afraid of Web 2.0 and the impact it can have on their careers as they weigh whether to get involved with it or not in the line of business.  I’m not surprised; it’s all about loss of control.  The Web 2.0 by its very nature tends to empower a much broader audience, and can lead to defacto decentralization.  It makes information available to a much broader audience, and it places the decision to disseminate the information as well as the exact form of the disclosure out into the organization.  This is problematic for hierarchical thinkers.

To make matters worse, good Web 2.0 tools have very little friction.  As Forrester says:

“Web 2.0 tools have almost certainly already entered your organization under the radar through unsanctioned employee usage. This raises the stakes and criticality of taking action sooner rather than later.”

Shades of John Carpenter’s movie The Thing, the paranoid realize that they’re already among us, sanctioned or not.  They slide in as individuals take up blogging or departments deciding they want a Wiki.  It happens gradually, as employees feel comfortable discussing things they think are innocuous in the club house atmosphere of a social networking site or blog community.  Many feel they’re doing good things by getting the word out, and by and large they are.  A few are those disaffected folks that are the bane of any organization.  Now they’ve found an even more disasterous way to spread their poison, it isn’t just the water cooler chit chat, it’s the World Wide Web.

Have you considered the risk of unintentional disclosures?  There was a recent flap about whether employers should ban Facebook for loss of productivity.  Forget Facebook, let’s take a seamingly benign service like LinkedIn.  It would be nearly impossible to ban LinkedIn.  People use it to network and keep up with their contacts.  It’s got a very business-professional feel about it.  Who could be afraid of LinkedIn?  Yet I’ve seen a variety of useful competitive intelligence go by on this venue.  All it takes is a suspicious mind (mine is a product of too many trashy fiction novels!) and a little deductive thinking.  Why did that person add SAP’s head of alliances to their LinkedIn contacts?  Aha, those two are obviously talking!  I’ve seen salespeople who are tireless networkers adding each and every prospect they meet as soon as they can to LinkedIn.  Unscrupulous competitors would be all over that.

What’s the answer? 

First let me be emphatic in saying the answer is not to try to ban Web 2.0!  There are tools available to IT today and more coming I’m sure that will seek to eliminate access to Web 2.0 from inside the firewall.  The antivirus world may morph to prevent outgoing meme viruses from unauthorized collaboration in the Web-o-sphere.  It’s all poppycock.  It sends entirely the wrong message to the staff and it is ultimately an arms race that cannot be won.  Folks will connect and do these things from their home computers if necessary, or worse, the oppressive mentality that would foist such a policy on everyone will be one of many symptoms that leads the best people to move on.

You see people want to be empowered.  Messages and policies that unempower discourage.  The kinds of organizations that want completely rigid and centralized control like this are destined to be even less competitive than they already were (those who read the Business self-help books will recognize these companies were likely not missing from Tom Peters’ Search for Excellence).  They will suffer the two pronged setbacks of discouraging and demotivating their employees and missing out on one of the great business tools of our day.

The alternative is to embrace Web 2.0.  In fact, we can use the very tools of Web 2.0 to make sure our companies and employees learn to do the “right thing” with this powerful new medium.  The Web 2.0 is all about collaboration, and it has some of the most powerful tools you will find to help get your people aligned and all singing the same verse.  There is one other tool, much older than the Web 2.0 that also comes into play here.

I hate to leave you with a cliffhanger, but tune in to the next installment in a day or two and I’ll give you my list of Strategies to Create Responsible Web 2.0 Citizens in your company.

Related Articles:

The CMO Needs a Negativity Early Warning System for the Web 2.0

Facebook shipping something big?  Things you can learn from people’s inadvertant Web 2.0 behaviour.

An Adobe product leak on the Web

Submit to Digg | Submit to Del.icio.us | Submit to StumbleUpon

Posted in strategy, Web 2.0 | 3 Comments »

What SaaS Adoption Strategy Should Enterprises Pursue?

Posted by Bob Warfield on September 17, 2007

As usual, the Unreasonable Men blog has posed an interesting question.  After reading my missive about how all Enterprise ISV’s SaaS and otherwise need to think hard about SAP’s A1S announcement, Paul spun the whole thing 180 degrees on its head and wondered what customers ought to be thinking and doing about it all.

For the world of small and medium sized businesses, SaaS is already a big piece of their IT fabric, often through necessity.  At their size, they’ve needed to streamline and stay focused on their distinctive competencies.  For them, the SaaS strategy is pretty baked, but for most larger Enterprises, SaaS is still relatively new.  That doesn’t mean focusing on their distinctive competencies isn’t still a great strategy for Big Enterprise.   What that says to me is that larger businesses ought to look for low hanging fruit.  I’d be looking for areas that are relatively easy to move forward with, that carry very low risk, and that can show almost immediate benefits.  That’s point one of our SaaS strategy for Big Enterprise.

Point two is to use SaaS to improve your budget.  Given SaaS’s typical lower Total Cost of Ownership, consider that by subsituting in low risk low hanging fruit, an IT department may be able to free up significant funds to tackle more important issues.  Even if you believe the long term TCO is higher, most folks put the breakeven out past 3 years or so.  Why not take as many non-strategic projects as you can and move them in this direction just as a scheme to finance the big stuff and provide relief on your internal staff and key vendors so they can focus?

I love applications like Concur’s Expense Management solution.  CEO Steve Singh (whom we’ll have more to talk about soon!) has said he can cut a company’s cost to reimburse expenses from around $60 per expense to $10 or so.  This isn’t strategic.  It doesn’t have to be part of a Grand Strategy.  But, it works and can save a small fortune for reinvestment in other areas or to take to the bottom line.  That’s an ideal SaaS success story.  A lot of Sales VP’s I talk to feel the same way about Salesforce.com, especially those that got burned in a hugely expensive Siebel implementation that cost a fortune, took forever, and didn’t seem to really change the sales process all that much.  Maybe the low hanging fruit aspect is one reason why these two SaaS companies have been so successful.

As for a deeper SaaS strategy, why define a grand strategy at this point?  It may be impossible, as Unreasonable Thoughts seems to say, or it may simply be premature.  The assumption by Amy Wohl and the Unreasonable Men that Enterprises would never tackle “dozens” of SaaS point solutions seems unlikely at best.  Really, think of all the Services a big Enteprise is likely already paying for that qualify as SaaS in one form or another.  Sure they’d like to rationalize all these vendors.  That’s a pious thought I’ve heard echoed by almost every IT group I ever talked to.  But they also need to solve business problems, and that’s a more pious thought most of the time. 

Heck, I’ve done business with a number of well known large Enterprises that have dozens of disparate systems just serving one function–usually as a result of their having pursued a strategy of acquisition and having to maintain the legacy systems of the acquirees.  Trying to rationalize all that with a Big Bang On-Premises project is a recipe for a lot of pain.  Moving those legacy systems piecemeal over to a SaaS vendor is a recipe for maximizing the chances of success and minimizing the disruptions to the business. 

Moving to SaaS creates its own grand vision in another way too.  It forces companies to do more than talk about Service Oriented Architectures.  SaaS is in the Cloud and begs to be connected to using SOA.  If your organization sees SOA as a part of its grand strategy, SaaS may be exactly the catalyst needed to move off the dime and start doing something about it.  But of course I already mentioned that in a comment to Amy’s post.

I like Stowe Boyd’s concept that the path of least resistance often dictates the architecture of choice.  SaaS is definitely the path of least resistance.

Submit to Digg | Submit to Del.icio.us | Submit to StumbleUpon

Posted in saas, strategy | Leave a Comment »

 
Follow

Get every new post delivered to your Inbox.

Join 323 other followers

%d bloggers like this: