The history of computing can be largely described by architectural eras demarcated by the near-continuous ebb and flow from centralized to distributed computing. The first generation was centralized, with mainframes and dumb terminals defining the era. All computing was done centrally by the mainframe with the terminal merely displaying the resulting operations.
As endpoints (and networks) became more capable with additional processing and storage, the generation of client-server computing took hold. This architecture leveraged both endpoint and central capacity, giving users the benefit of hi-fidelity applications that communicated to centralized data stores in a seamless (or so intended) fashion. Unlocking less expensive and available compute at the endpoint unleashed an entire generation of new applications and businesses such as Facebook, Twitter, Square and many others.
Over the past decade, cloud computing and software as a service (SAAS) have moved the needle back once again toward a centralized architecture. Processing is centralized in the cloud datacenter and endpoints simply display the resulting operations, albeit in a more colorful way than their simple terminal predecessors. This is now changing.
Our mobile devices have become supercomputers in our hand. The processing power and storage capacity of these devices are now 100x more capable than PCs of 20 years ago. History has shown that as processing becomes available, new applications and architectures happily utilize the excess capacity. Enter the new world of cloud-client computing where applications and compute services are executed in a balanced and synchronized fashion between your mobile endpoint and the cloud.
Because smartphones are such beefy computers, developers have been rushing to take advantage of the available computing horsepower. Until now, this mostly meant writing native applications using Apple’s XCode or Eclipse/ADT for Android. But native apps are a pain: they typically require separate front-end engineers, there is little code shared between apps, and there is no concept of coordination with the back-end (cloud) services. All of this work must be handcrafted on a per app and per OS basis, rendering it costly and error-prone. It’s a duct tape and bailing twine approach for delivering a marginally better user experience.
That is, until Meteor. The Meteor platform brings back the goodness of the Web without sacrifice. Teams can share code across Web and mobile front ends, build super slick apps with a single code base across Android and iOS, and utilize a framework for integrating front-end and cloud operations. For the first time, there is a simple and elegant way to create applications that leverage the best of the client and the cloud, yielding applications that are high-fidelity and synchronized with the most advanced back-end/cloud services.
Meteor delivers dramatic productivity improvements for developers who need to deliver great experiences across Web, iOS, Android and other mobile platforms and enables the computational “oomph” available on smartphones to do more than just render HTML. Meteor delights users with Web and app experiences that are fluid and fast.
Meteor has the technology to usher in the new world of cloud-client computing and we couldn’t be more proud to be investors in the team that makes all of this happen.