Arunoda is well established within the Meteor community. He has become known for leaping ahead and creating many solutions to various shortcomings of pre-1.0 Meteor.
Some early highlights were the Laika testing framework, Meteor Cluster (archived) and Smart Collections (also archived), which took advantage of the MongoDB Oplog. This idea was then later implemented in Meteor.
Lately there's Meteor Up, Npm, Subs Manager, Fast Render; and his latest project, a Meteor application performance monitoring suite called Kadira.
Arunoda also runs Meteor Hacks which provides Meteor tutorials and weekly news updates on the Meteor community.
Ayubowan (that's how we greet in Sri Lanka)!
You have quite a list of projects! How do you come up with all those ideas?
When I came across some issue. I try not to blame someone, rather I try to fix it if I can :) but for something like fast-render it's just a idea to came out while I was on the bus. Not right at the moment I encounter the issue.
Tell me a little bit about your background
Okay. I'm having a IT and Management based education background. I've stared first JS experience when I was at school about 8 years ago. Then I moved into NodeJS when it was introduced and worked with lot of client projects and so on.
How did you first find out about Meteor?
I heard it about early days but ignored to look at it because the usage of Fibers. (I hate fibers back then) Then one of my client paid me to look into Meteor and technically, that's how I get started with Meteor.
What was it that made you choose to focus so much of your time and energy onto Meteor?
After going through Discover Meteor, I thought this framework is great. And there are lot of amazing things we can do. I knew, Meteor is not perfect back then. But I knew I can change it as I tried my best :)
One of reason behind I spend a lot time is because of the community and MeteorHacks. comments, suggestions, PRs, issues encourage me to work on Meteor related projects.
What are some of your interests outside of Meteor?
I like analytics and devOps a lot.
Favourite music :)
Anything good. But I like techno and electro better than others.
It looks like Kadira has had a great response so far, how did the idea come about and how much of a challenge has it been to build?
Actually, Kadira has very interesting start. Before Kadira, we worked on a project called CometEngine which a deployment platform for Meteor. Since we discovered about Galaxy, we decided to stop working on that. So technically, we were clueless on what to do next.
Then one night, I just hacked into meteor core and tried to started to track some metrics. We captured some meteor related metrics before that, but this time I was able to genaralize it and make a package out of it. Some early commits: https://github.com/meteorhacks/kadira/commit/a5ae02717795884e0b86dfd00c4ed23aa66564ac
About challenges: We did some nastly hacks to track what's happening inside Meteor. So, challenge was to do those hacks still without affecting app's performance and stability.
We sometimes see some mixed feelings from the developer community surrounding Meteor. How do you feel about that?
I know, it's pretty hard to fulfil everyones' requests. But I don't believe in version numbers and I really don't care about 1.0. (1.0 is a marketing trick). But I really like to see windows support soon.
Meteor packaging system is something really great. But there is one thing I really don't like about it. That's the naming convention of packages. Let's say if I want to package kadira for Meteor 0.9. Then I need to rename my package directory in the local devbox as "arunoda:kadria", which I don't like.
You've been busy working on a book, Meteor Explained
For most of the people, Meteor is something like magic. No idea on what's going on behind the scenes. I was writing some articles for MeteorHacks from the beginning on how Meteor works. So I thought, it's a good idea to write a book on that pointing out what's happening behind the scenes by explaining like a story which can be understandable to anyone.
Your thoughts on the future of Meteor, after 1.0?
Okay, let's say this way. After 2 years from now. Meteor will have support for other languages like Go, Scala, Clojure and etc. DDP will be the glue. A complete tech platform could be build on top of the Meteor using different language for different use cases. Galaxy(or similar) will be used to deploy all of these different pieces.
For an example: A medium size software project will have a web-frontend, backend schedulers, workers, and some other processing engines. So, we will be able build all those these using Meteor. Web-fronend can be written in Meteor JS. Workers can be written in Meteor Go and like that. And deploy all of these with a single command.
And this will answer why Meteor is building a ops platform. These days we have plenty of deployment options and many platforms which can used on cloud or in premise. But Meteor + Galaxy will be a good combo.
Thanks for taking the time to chat! Is there anything else you'd like to share?
We are (with my team @MeteorHacks) working on making tracking and solving errors pretty easy with Kadira's error tracking solution. And also we've some plans to add some browser level detailed information tracking as well. eg:- loadtime, rendering time, etc
My Book, Meteor Explained will be released around October with some other goodies. And if everyone wants I can integrate load balancing support to Meteor Up as well :) I'm quite not sure that's something people needed.