There are trends that are widely anticipated, but they require time to become current and to produce their effects. This story starts with content and the Read Write Internet, as Lawrence Lessig wrote in Remix. It continues with the Web 2.0 and the programmable web, but – so far – the transition from content to applications has remained a matter for hackers and hobbyists because the implementation of a mashup requires technical expertise. What if building a mashups become a thing for everyone? Probably we should start talking about a new paradigm, the Remixable Web, and to ask what are the consequences. It is a fascinating field to explore: let me start with some basics.
What is a web application
A web application (webapp) is a client-server application that is accessed through a web browser. This type of applications have become increasingly popular due to the undoubted benefits they offer in terms of ease of deployment, the proliferation of online services and the growth of cloud computing.
Webapps are used in any context and in all industrial sectors and are becoming the standard for software that should be accessible by many people on different types of hardware. Obviously, a webapp can have a different levels of complexity, from simple online service to corporate intranets to large web platforms that provide services to hundreds of millions of users such as webmail, social networks and so on.
A webapp has two components, a server and a client, and can be realized using different technologies and application frameworks. In addition, it is now common practice that a webapp dialogues and exchanges data with other applications through the interfaces that are generically called APIs (Application Programming Interface): it happens, for example, when a website ask users to register via Facebook.
The use of the words web and app sometimes generates misunderstandings, because the first calls to mind a website, while the latter has become synonymous with mobile apps. A webapp is not a website: the latter is an editorial product that sometimes implements some features that allow users to interact with the content (for example, comment or share an article). A web app, however, generally has registered users, manages their data and provides complex interactions.
A webapp is not a mobile app: the latter is developed in the native language of the mobile platform, is downloaded and installed on the terminal; often, it does not have a server component and the data are stored on the user’s device.
The skills required for the realization of a webapp are very different. In general, we can group them into two large families concerning the creation of the client side and the server side.
For the server side we need software architects, programmers, system administrators and database administrators competent in the technologies that are used to develop and maintain software and databases. For the client side are needed experts in user experience design, designers and people who know the languages that are interpreted by the browser, ie HTML, CSS and javascript. Since these languages โโare not very difficult to learn, it is not uncommon that a web designer is able to design user experience, develop and implement the graphical user interface in HTML itself.
Remixable Web
Over the past ten years, unless there is a technical constraint or another specific reason that makes this option impractical, most of the software is being developed as webapp and is used within a browser. In addition, with the growth of cloud computing, many solutions are sold as PaaS (platform as a service) and SaaS (software as a service): customers sign up and pay a subscription. It ‘a trend that affects both the consumer market that the business regardless of the size of the companies and the industry.
A second major trend that is emerging is the proliferation of API, a technology that allows software to interact with each other.
All companies, regardless of size or industry sector, use a large number of software to perform the operations, from sales to management of clients and projects, accounting and so on. In this scenario, it is increasingly important to connect and integrate information systems to create synergies, optimize costs and foster innovation.
Around APIs is emerging a real economy: in fact, they create opportunities that go beyond what the creators of a solution have imagined. Companies like Twitter and Facebook have created some robust ecosystems around their platforms, because they used the API to foster innovation from outside the company.
In the new API economy new types of specialized actors are emerging, alongside traditional vendors that sells integration solutions for enterprise systems. Among them:
- API management platforms, such as Mashery, Apigee, Layer7, 3scale, which provide businesses with services to expose, manage and monetize the APIs;
- API Hubs, as Mashape or ApiHub, which provide catalogues of APIs and help developers to discover APIs, to test them and to integrate them with their own software.
- synchronization services, such as Zapier and IFTTT, which lets you copy data from one service to another.
The general trend is towards services that are simple to use, which are often accessible to non-technical and which are available at a very low cost. This trend is noticeable in particular in synchronization services that we have mentioned: they can be configured by the end user without any kind of technical knowledge. On the other hand, consumers also begin to feel the need to interact with the services they normally use transferring data from one to another.
The proliferation of solutions that will make it easier to integrate online services, will transform the Internet as we know it today: companies and users will not only use the software as a service, but will use the cloud to create new applications remixing existing services using APIs. Doing it will always be easier and affordable for all and the web will become to all intents and purposes a great development platform.
Welcome to the Remixable Web ๐