Bill Appleton is a leading expert on the client-side use of cloud services and the development of rich-media authoring tools. He has designed and written approximately three dozen professional software publications, including the first rich-media authoring tool World Builder, the ground breaking multimedia programming language SuperCard, the number one best-selling CD-ROM "Titanic: Adventure out of Time," the DreamFactory Player for consuming cloud services, the first AppExchange application DreamTeam, and the first third-party enterprise applications for Intuit WorkPlace, Cisco Webex Connect, and Microsoft Windows Azure.
He previously served as President of the CD-ROM publishing company CyberFlix, and has worked closely with Disney, Paramount, Viacom, and Bandai to build creative vehicles for content development. Many leading computer publications and mainstream magazines have featured Bill's work, including People Magazine, Newsweek, and US News and World Report.
In this interview, we cover:
- A comparison of various cloud platforms from DreamFactory's perspective
- Clouds were being used to bypass IT, but now IT is more involved, and deals are getting larger
- Some people "cloudwash" existing services, but the real value is in service-oriented architecture and building software out of reusable services
- No longer having to explain what the cloud is to customers
- An open source project for enabling client side access of Azure Tables and SQL Azure
Robert Duffner: Could you take a moment to introduce yourself and DreamFactory?
Bill Appleton: Sure. My background is in rich-media authoring systems. I wrote SuperCard and a number of the other tools in that space back in the day. In about 1999 or 2000, I saw XML-RPC being developed, which was really the first cloud service protocol, and I started working on an authoring tool that would let me build applications that consumed cloud services directly.
The basic idea was to take what I knew about user interface authoring and hook it up directly to enterprise data sources. That was always the most difficult aspect of building rich applications, but with standards-based communications there was finally a way to do this.
Around 2003, IBM and Microsoft came out with SOAP, and since then REST has become quite popular. After that, everything started evolving from web services, to on demand, to platform as a service, to cloud services, and then on to what we call cloud platforms today.
I founded DreamFactory Software in 2005. We started out in the tool space and then started publishing end user products on the AppExchange. We acquired a lot of customers, so we took on funding from NEA in 2006. Today we are building rich applications for a variety of cloud platforms.
Currently, we're on Force.com, Cisco WebEx Connect, Intuit Partner Platform, and Amazon Web Services. In 2009 we were one of the first companies to build on Windows Azure. Last year, we added support for SQL Azure, which is a really exciting new product.
Our main product line is the DreamFactory Suite, which focuses on project, document, and data collaboration. We also have a couple of other administrative tools that appeal to IT customers, instead of corporate end users. Today, we have about 10,000 different companies using our applications, and that's what keeps us busy.
Robert: As you said, the DreamFactory Suite is on a variety of platforms. What observations do you have about these various platforms?
Bill: When we create a new application, it's available on all our different platforms, and when we add a new platform, then we bring over all the applications. We really have a write once, run everywhere rich-client strategy.
All these platforms are different, and it's interesting to see them get used in different ways. Some of them have an anchor tenant, and each one appeals to a different ecosystem of users. Many platforms have their own marketplace.
The Salesforce.com platform has CRM as an anchor tenant and AppExchange as a marketplace. The service is rather expensive, and you can only sell applications to existing Salesforce customers, but the Force.com platform has a lot of rich functionality.
The Intuit Partner Platform has a good e-commerce system, and it targets small and medium sized businesses, which of course is their core audience. The anchor tenant is the QuickBooks application.
The Cisco Connect platform has WebEx as an anchor tenant. So the platform is focused on secure instant messaging and online meetings. They have some of the larger customer implementations.
On Microsoft we support Azure Tables and SQL Azure. These implementations also leverage the blob and compute service. They have the Pinpoint marketplace, so we have a listing there. We are also looking at Microsoft Dynamics CRM as a future publishing opportunity.
From time to time, I compare these platforms in an apples-to-apples kind of way, running benchmarks, looking at the relative costs, and so forth. Azure comes out very well in those comparisons. If one of our customers doesn't already have a platform preference then we steer them towards Azure, because of the price and performance there. If a customer has a need for SQL data or is willing to pay a bit more to get world-class performance, then SQL Azure is a great choice as well.
Robert: Back in September, you wrote a blog post titled "Private Clouds in the Enterprise." What's your current thinking about the tradeoffs between public and private clouds?
Bill: When we started off building cloud applications, there was a tendency to avoid the IT department because this led to a long, complex sales cycle. We could go directly to the departmental buyer who actually needed the application. They could just use our products through the browser without setting up hosting or integration.
Then last year, we started to see a big shift toward IT getting more involved, and at the same time, the deal sizes started to get larger. Instead of a departmental group, we started to see whole companies leaning this direction or that. Some of these implementations were for tens of thousands of users.
And in terms of Azure, it's just great because so many of these companies are already Windows shops. They know Microsoft, they're familiar with Microsoft products, or they might be existing SQL Server customers, but want to migrate to the cloud or what have you.
In terms of public versus private, our tools and applications run great on either type of architecture, and we're very interested in the new on-premise Azure product. We like the fact that people can use our applications on-premises but then if they've got a partner to collaborate with, they can also use them outside the firewall.
I love what Microsoft is doing there, because it really is a cloud strategy. Some other vendors have an on-premise cloud story that's basically identical to their previous app server story. They slapped the word "cloud" on it, but it's not really much different.
Robert: There was an article back in April of last year written by Andre Yee, titled "Blurring the Cloud: Why Saas, PaaS, and IaaS Need Each Other." We're starting to see a blurring, for example, between infrastructure and platform as a service. With the acquisition of Heroku by Salesforce, for example, you basically had a platform as a service deployed on an infrastructure as a service.
What are your thoughts about that blurring, and how does offering software as a service on a different company's platform affect your conversations and customers?
Bill: For me, there is a lot of value in software as a service, and building software out of reusable building blocks that leverage service-oriented architectures. Software as a service platforms are a big step forward in dynamic situations where new business rules need to be implemented on a daily basis.
And I'm a believer in platform as a service. Shared data and process really provide a huge value to the corporate user. The product marketplaces with vendors and service providers springing up around cloud platforms are an exciting new development in the software world.
But sometimes infrastructure as a service seems like it is just a more convenient or less expensive way to host legacy web sites. There is nothing wrong with that, but I don't see the same value that I do with software and platform as a service. But Andre is right, the lines are getting blurry.
Some of the customers we talk to are getting really sophisticated. You start to see people who are part information technologist, part business analyst, and part platform architect. I'm not even sure what to call them anymore. Some of these forward looking companies are investing in multiple cloud platforms for a variety of different purposes.
We have a product for this situation called Monarch which moves connected sets of data between cloud platforms. Customers are often interested in whether they can change platforms without losing all their data. They want to know what their options are if they want to open up a work group that needs to be positioned outside the firewall, or if their partner's using a different platform than they are.
There's an important emerging story about bridging the cloud and moving things back and forth easily.
Robert: You got involved with the cloud early. How have you see the cloud evolve in the last few years?
Bill: Everything started with this idea of using XML document exchange to communicate across the Internet, of being able to call a function anywhere in the world and get an answer. This is still an incredibly powerful idea. There have been a lot of advancements since then but at DreamFactory we are still dedicated to building rich applications out of these services.
Every day we get feedback from customers about things they'd like to see in our products. Our engineers add those changes and keep the applications updated constantly. Some of our products get hundreds of improvements every year, so this idea of using cloud services to build applications really, really works.
Robert: Where are you seeing customers, in terms of their knowledge about the cloud the advantages it offers?
Bill: Even two or three years ago, we really had to explain what we did and why it was a good idea. We don't have to do that very much anymore. In our view, there are a couple of primary types of customers.
First, there's the departmental buyer who's looking for applications to solve business needs. That's the smart business user with low problems who needs project document data collaboration. They may need quotes and invoices, strategic account mapping, or whatever.
The newer type of customer consists of IT professionals who are looking for ways to administer the cloud, to manage change, to do release management, or they may be just straight up looking for developer tools to build their own rich applications that talk directly to cloud services.
They can sometimes be competing needs, but most of our effort this year is toward the IT buyer who's trying to leverage applications in the cloud and trying to administer, manage, or change their cloud infrastructure.
Robert: You put up a post called "The History of Native Applications," where you talk a lot about connecting rich-client user interfaces directly to powerful cloud services. Can you elaborate more on that?
Bill: Sure. When we say native, are talking about running an application totally on top of the cloud that the customer has already invested in, without introducing another server or something like that into the mix. So our rich client communicates directly from your personal computer to your cloud platform. There are some really great advantages to this "no tier" architecture.
First, the transaction time for a roundtrip document exchange goes down from maybe three or four seconds to maybe a half second or less. That really changes the type of applications you might attempt to build in the first place.
Another issue is security. Since we don't host anything, we don't have your data, your username, your password, or any of that stuff, which is another nice advantage that customers understand. You can look at our apps with a network monitor and verify the security involved.
There is also a big advantage to scalability. You get the app from us once and then you are done with us. You don't have to depend on us for data centers or server hosting, which is not our core business.
There are other advantages from the platform as a service perspective. Our applications interoperate with all of the other data and process you already have on your cloud. It sees your users, your data, existing workflow, custom objects, custom fields, saved documents, etc.
You can use Salesforce reporting to look at our project management data, for example, or you can use their workflow engine to orchestrate our tasks. If you add a new object or a new field in SQL Azure, we can immediately see that and start using it from our applications.
The fact that it's built directly on top of the cloud is very appealing to buyers. They don't want us to bring in another cloud, another server, or anything like that. They want something that will leverage the cloud they've already bought, and our publishing business offers this capability.
Robert: Those are all of the prepared questions I had for you. Are there any other topics you'd like to touch on before we wrap up?
Bill: Coming up pretty soon, we're going to release an open source project that enables Azure Tables and SQL Azure to be addressed from the client or from an application server with a standards-based interface. On Azure Tables this interface also provides for user management. So this is a nice new way to use these services from a rich client or remote server.
Robert: Very cool. Bill, that's great. I really appreciate your time.
Bill: Thanks, Robert. I enjoyed it.