Today, I spent some time talking with John McMahon, CEO of Extentech. Extentech has a tool called ExtenXLS that can host a spreadsheet as a web service.
We were discussing the future of the web - a world in which the web both helps us to communicate and also automate complex tasks in our lives. John came up with this simple insight:
Hyperlinks connect the pages of the web. Automation will connect the applications of the web.
Much has been written about Web 3.0. The NY Times described it as "a layer of meaning on top of the existing Web" and "the foundation for systems that can reason in a human fashion." My simple question is "who is going to build the systems that do all that reasoning?"
Or put another way, are there really going to be reasoning machines exhibiting signs of artificial intelligence? Or instead, is the next stage in the web going to be about automation? A vast network of small pieces of automation.
Obviously, microformats and semantic information are critical for creating automation, so the Web 3.0 articles are right about the importance of meta data. That means microformats are going to be critically important even if the Executable Web is just simple automation that can't reason, but can reduce the amount of clicking back and forth and cutting and pasting that is so common to the routines of today's knowledge workers.
So who is going to build all this automation?
Perhaps you are looking at the answer. This blog is an example of user generated content. What makes the web so amazing is a constant stream of new networked content. Each post, each hyperlink adds value to the whole. The same thing will probably be true for the executable web. It will become really useful when end users can quickly build their own applications, and then connect them. In other words, when end users build or customize their own products. For applications, or for sophisticated Web Services Vendors, (WSVs), that means end users will want to define how applications work and automate specific connections between those apps.
Dion Hinchcliffe puts it this way:
The very best companies in the future are likely ones that will create innovative new ways to facilitate innovation and collaboration by the hundreds of millions of us that can be reached and embraced by effective architectures of participation. The big winners will enable us and encourage us to take control, contribute, shape, and direct the designs of the products and services that we in turn consume.
But Users Are Not Programmers
Jason Kolb recently wrote a great post describing the problems that many people see with this vision of a user created apps. Jason says:
saying that the average business person can build their own applications is quite a leap from there. I don't see how those two concepts can even be in the same post. Beyond even the user's capability and desire to learn how to build custom applications, you then have to consider the need for collaboration. Business applications do not live in isolation. They are mainly used to coordinate people and companies, by many people. And what happens when more than one person is using the application? What if they don't like the application someone else built--do they then go run off and build their own application?
Jason's skepticism is reasonable, if you assume that customized applications require users to write procedural code. What if, however, they did not have to write code?
The Dawn of Dataflow Systems
Today, a new generation of user defined automation tools is just being developed. Think of it like building a spreadsheet. As and end user, you define how the cells logically fit together, and the spreadsheet engine magically makes it all work. Actually, it isn't magic. The spreadsheet solves a dataflow problem. Wikipedia describes it this way:
Dataflow is a software architecture based on the idea that changing the value of a variable should automatically force recalculation of the values of other variables.Dataflow programming languages embody these principles, with Spreadsheets perhaps the most widespread embodiment of dataflow.
At Teqlo, we have built just such an engine. For the end user, the experience of building an application is literally like dropping a bunch of widgets on the page, drawing a couple of lines between them, and suddenly they all work together, just like cells in a spreadsheet recalculate when you change one.
Can you build a real app with only widgets?
Perhaps it is best to flip the question around with an example. Is a blog a real Content Management System? Most blogging tools are not nearly as complex as large old-school content management systems. Most blogging tools do not have the range of features a CMS system has. But with 60+ Million blogs out there, it's hard to deny the impact of fairly light weight simple app like a blog. The same is true for applications assembled from widgets.
That is especially true when the widgets are themselves very powerful and user friendly. As a teaser, take a look at what Extentech does, take a look at what little information we have released about Teqlo, think about some of the powerful Web Service Vendors out there how provide sophisticated financial data, or fleet GPS information, or real world printing and production services.... then think about what you would like to build today.
link to original post