logotype_dark_48Today I am talking with Trevor Orsztynowicz about his exciting new company Caliper.io.

Caliper is performance monitoring for single page webapps by hooking into tools like Ember.js

I want to thank Trevor for taking the time to answer my questions, and would urge you all to check out the site, now, onto the interview!

Could you tell us a little more about yourself, a bit about your personal history?

trevor_DSC8640-3Sure! I started programming when I was a kid. My Dad had an Amiga 2000 and I really wanted to figure out how to make those demoscene hacks. That involved getting on BBSes - I'm sort of showing my age - and reading a lot of books that went way over my head.

Eventually my dad bought a PC and brought home a magazine with a penguin on it and I became obsessed with all the infrastructure the powered the internet. That led to a background in telecommunications, and systems administration.

That's how I started my first company, which was a cloud computing startup called Layerboom. We built a distributed infrastructure management platform based on KVM. All you had to do was network boot your servers off our software and it built you a mini EC2. Literally took 10 minutes. I sold that company to Joyent - the guys behind SmartOS and Node.

I can’t say anything as my first computer experiences where Amiga based! Can you tell us a little bit about your company Caliper, what it is and what made you want to found the company?

Caliper is a monitoring service with a twist. Instead of monitoring your server and inferring client experience, we just measure the experience on the client directly.

We'd been following a trend in the development community which was the shift to single page applications. The browser has basically turned from a pretty document viewer into the worlds largest application runtime environment. That shift also includes moving to APIs for storing all your data. All those things represent a massive refactoring of the web, and we realized the best way to measure a user's experience would be to do it on their client directly.

There are currently three of you working on the project, may I ask how you all came together?

I met Kalv a year ago after leaving my last job to take a break. My break didn't last very long - we started working on a few projects together which were pretty interesting.

We ended up working on a project for a client and that's how we stumbled into the single page app space.

Godfrey joined us a little later on and has been awesome to work with.

I don’t know anyone in tech who can take a break for very long! You guys are working out of Canada, do you think there are any advantages or disadvantages to setting up shop in Vancouver?

Yes to both. Vancouver is a beautiful place to live and if you enjoy an active lifestyle then it's perfect. There's also a preposterous amount of engineering talent in this city.

We're missing a few things though. Namely we're short on soft-skills like marketing and advertising groups, and our funding scene is a little lacking.

Because of all the demand for talent a lot of big companies are setting up shop here. Amazon and Facebook are probably the two more popular shops, and then of course, there's Hootsuite.

Right, let’s talk tech! What technology stack are you using on Caliper?

All 3 founders are "full stack" engineers and we've used a lot of different technologies.

We use Javascript heavily for our client and library work, node for a lot of the networking and our "beacon" service, ruby for our backend processing and postgresql for storage.

A lot of the reason behind making those choices is the need for us to add features quickly and reliably - its all about using the right tool for the job.

Go will probably get added to our tool-belt next.

Interesting stuff, what development environment is used when building Caliper?

We all develop on Macs but full stack implementations run in Ubuntu VMs

And of course one of the most important questions about your development environment - Vim or Emacs? ;-) (or something else?)

Everyone at Caliper uses something different. Kalv and I are pretty big vim users. Godfrey uses SublimeText.

For our vim environment we use all the 'standard' extensions. Syntax highlighters, Command-T, NerdTree, etc.

I can’t say I'm religious about vim vs emacs, as I've never tried emacs seriously - we're *pretty fast* with vim.

Did you have to face any interesting challenges when building the product?

Quite a few.

Testing javascript implementations across 20 different browsers is non trivial. We're a "framework aware" service, which means we hook directly into Backbone, Ember, Angular, etc so being able to abstract things to apply to all those frameworks is interesting.

Scaling to handle 10MM metrics a day turned out to be the easy part. :)

How do you handle testing that many JavaScript implementations?

For testing, we've built a massive test suite written in qunit. We basically test across a bunch of versions of chrome, safari, IE and Firefox across Windows, OSX and Mobile Safari using the iOS simulator.

If you could do it all again, is there anything you would change?

I don't think so. I have this saying that's an intentionally mixed metaphor; hindsight is 50/50. You never know what could have happened and even if you had changed something there's no guarantee it would work out differently.

That is a good way to look at things! What marketing challenges have you faced with Caliper?

We're a developer focused product right now, so most of our marketing involves engaging developers. That can be hard to do. Luckily our customers are big fans of the product, and they help us out a ton - so I owe them for that!

If developers want to engage with you, what is the best way for them to do that?

We're pretty open to feedback. The two best ways to get in touch are to send an email to [email protected] or to hop on #caliper on irc.freenode.net

Do you have anything interesting in the pipeline in the next few months?

Right now Caliper is focused on stabilizing and optimizing your application from a code and reliability perspective. We monitor errors, network throughput, 3rd party APIs, etc.

Our most exciting feature is being able to break all that down on a per user basis. So I could click on Tony in Caliper and see all the different actions you took in the application. The features around that excite me the most!

That is about all my questions, thanks again for answering these! Is there anything else you would like to say or add?

Nope - thanks for taking the time!