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:
comparison of various cloud platforms from DreamFactory's perspective
were being used to bypass IT, but now IT is more involved, and deals are
people "cloudwash" existing services, but the real value is in service-oriented
architecture and building software out of reusable services
having to explain what the cloud is to customers
source project for enabling client side access of Azure Tables and SQL Azure
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
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
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
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
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
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
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.
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
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
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
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.
cool. Bill, that's great. I really appreciate your time.
Robert. I enjoyed it.