An Interview with Matt DeBergalis
On How Meteor Got Started
“There were three of us that were working together in the summer of 2011. We were part of a startup accelerator called Y Combinator in Silicon Valley.
What we saw was, lots of our friends who were building websites for their companies were struggling with a problem. The problem was they had a hard choice. They were trying to build websites that felt as good as Google+ and Facebook that had these rich interactive experiences where the browser felt almost like a desktop application.
But it turns out that writing those apps takes a lot of time. They were also in a hurry because anybody starting a new product wants to get something out the door quickly and see if it resonates, if they’re going in the right direction.
It was an impossible choice. They were trying to develop applications as quickly as possible, but they felt like building those applications in server-side frameworks like Rails or PHP wouldn’t give them that user experience, that really delicious feel that they were looking for.”
On Meteor vs Firebase
“In Meteor, we have a Web framework that lets you write an application. So, Meteor is a software development kit. You can build your application. You can run it anywhere you like, and it gives you the tools you need to see that information moving in real time.
Something like Firebase is a service that you could use to store real time data. You don’t need Firebase to make real-time data work in Meteor. But if you prefer that model, then it’s possible to write an application that stores some of that information in Firebase and then uses Meteor to drive the front-end Web application, the part of the application that you interact with.
So, I think what’s important is that they’re all examples of the shift away from server-side programming which gives you a very slow static website to client-side applications, to these rich, reactive applications that feel more engaging and more usable.”
On What’s Coming for Meteor
“There are a couple things on the short term horizon for us. One big one is that we are working on a forms system so that it’s easy to build complex forms, and a meteor application, forms that have different validations on the fields, that let you save everything at once, or maybe, save as you type, have different behaviors around how they interact with the rest of the database.”
That’s a project that we’ve been working on for a while trying to explore different approaches to the problem.
It’s a hard problem because in the real time Web application, you have some decisions to make, right? If I’m typing in a form input, and someone in a different browser changes the data, do you want the input element to update right away? Do you want my changes to overwrite their changes?”