This week we talk with Torstein Hønsi, Founder and CTO of Highsoft, the makers of popular JavaScript libraries such as Highcharts and Highslide. Torstein covers how this all began with a project built while working on an oil rig and grew into a business with more than 10 employees, which counts Facebook, Twitter, MasterCard and more as customers. Along the way, we discuss why a CEO was his first hire, the first lesson they learned about pricing, their community-building strategy and much more.
Listen to the podcast in the player above, or click here to download it directly. Subscribe on iTunes or do so manually by using this RSS feed.
Show notes
- Torstein Hønsi: Twitter
- Highsoft: Website, Twitter
- Highcharts
- Highcharts Cloud
- Highstock
- Highmaps
Transcript
Alexis: Thank you Torstein for coming on the podcast.
Torstein: Thank you for having me.
Alexis: Not a problem. We’d love to dive into Highslide and all these kinds of stuff, Highsoft and Highstock and Highcharts and Highmaps but before we dive into all of that, tell us a bit about your background.
Torstein: Well, I started fiddling with JavaScript some 10 or 12 years ago. I started by creating my own website and I had some data lying around that I wanted to visualize. At the time, about 2006 perhaps, all data visualization online was done in Flash, at least as long as it was interactive. I didn’t want to use Flash so I created a small script snippet that produced graphs in JavaScript, drawing VML graphics in Internet Explorer, and SVG in other browsers. So that was the start of Highcharts.
Alexis: And what year was that?
Torstein: That was in 2006. It wasn’t commercialized until 2009, actually. I worked on Highslide in the meantime.
Alexis: So tell us about Highslide.
Torstein: Highslide is or was, depending on how you see it, an image and media viewer based on JavaScript. It was very popular. It was at its most popular around 2008 and 2009 but since then, there is more competition in the field now so Highcharts is our main project now.
Alexis: Okay, now before we get ahead of ourselves here, how did programming come into the picture when you first started learning it?
Torstein: Actually, perhaps I shouldn’t say this in front of customers, but actually I’m educated as a geologist.
Alexis: Oh very nice.
Torstein: Yeah. It was, as with many good things, I think, it was by pure enthusiasm and interest that I started doing programming. I started with a website showing pictures from my hometown and the mountains surrounding it, so I saw the need for some scripting here and there and I very much like doing this stuff so I sat down and learned programming, JavaScript, and PHP and MySQL and things like that. That’s how it came about.
Alexis: Just out of sheer curiosity, how far did you get down the geologist track? Did you have your, bachelor’s degree, your Ph.D?
Torstein: I almost had a Master I think. The Norwegian system is a bit different but I think it corresponds to a Master. But I never actually finished it before I started working as a geologist in the oil rigs in the North Sea, so I went offshore for three or four years.
Alexis: As somebody who studied archeology, I find this fascinating that when it comes to programming, people can study anything under the sun and then somehow still find their way to this field of work.
Torstein: Absolutely. As I said, as long as you have the enthusiasm, there is no limit on how much you can learn about this.
Alexis: But when you started working on Highcharts and you decided there was interest in breaking it out, how did you come to the decision of making it open source?
Torstein: It was based on Highslide that I came up with first. Highslide was born open source. It started out with I had some spare time on the oil rig offshore in the North Sea and I created this snippet to show images and I just threw it out on my website. I thought perhaps somebody is interested in this, and there were. There was some Danish guy who contacted me through the forum and said that “Hey, why don’t you give this a proper name and why don’t you commercialize it a bit and set a price tag on it.” So I did. I set the price to $29 for a single website license and to my surprise, people started buying this. So that’s how it came about.
Of course, as I started gaining revenue on this, I spent more and more working on it and within a year, I quit my day job and worked full time on it. So people eventually got what they were paying for.
Alexis: So what was your business model when you first started and how has it changed if at all since then?
Torstein: Well, the business model when I first started was as a side project, I didn’t really know where it would end. We’ve been doing this for years now and today, it’s a company with 13 employees, three of them are contractors but 10 own employees and 3 contractors. The business model is basically to share everything we’ve got and let it spread virally, because we know that happens, we’ve known since the start that has worked well. So we had this due license where people have to pay a license for commercial use and they get to use it for free for a non-commercial use.
Alexis: And even when they pay the license, it’s open core so they can dive in and modify it, correct?
Torstein: They can. They can fork it on GitHub and they can get their own branches of it and pull changes from our main branch and it works exactly like open source.
Alexis: Are there any monetization models that have caught your interest or you’d like to experiment with, maybe, on a different project?
Torstein: We always try to simplify our business models. We ended up with developer licenses where people pay license per developer whether they want — 5 developers, 10 developers, etc. We’re consistently trying to simplify this. We have been doing this for a long time so it’s risky to change the model, but if it started from you with a new project, we would probably try to go for an even simpler model where perhaps one developer is one price no matter how many developers there are.
Alexis: To clarify, you don’t have any commercial offerings, or anything that’s strictly commercial, right?
Torstein: It is commercial licenses but the source code is open always.
Alexis: Okay, because I’ve noticed at least in some projects, they start with one open source project and then they just create another project that is strictly commercial in order to move the development of the other ones along, so I find it interesting that through all these eight years now or so, you’ve stuck strictly to open core and open source projects with, of course, the standard commercial dual-licensing option.
Torstein: Yes, that’s correct, and I think we have pretty good reasons to do so also. We assumed that Highcharts would never have spread this far without the open core. We spent a lot of time and resources in maintaining our community online, on the forum and on Stack Overflow and all this is based upon the open core. People discuss issue fixes and even on each comments on GitHub you have discussions, so I think all these creates a great community where people are willing to pay for it.
Alexis: Now, one thing that, I interviewed Frederico Knabben the other day from CKSource and CKEditor, he mentioned that they had issues building a community around CKEditor since it was a component that was often used to build bigger projects. It’s supposed to kind of disappear into the project and not get in your way because if you’re noticing the text editor and you’re angry at it, then something is clearly wrong. If everything is going right, you don’t notice it and you don’t pay much attention to it. Have you noticed this issue when it comes to community or your products since they’re supposed to be integrated very intimately with the final products that these developers are working on?
Torstein: Yeah, I do recognize the problem but I think it sounds to me like it is probably more of a problem to CKEditor than it is to Highcharts because Highcharts is probably more worth on its own as a standalone product than CKEditor is. But we do have cases where we get support questions from people using this as a part of a greater product and we have to pass them on to the greater or a third-party product. I haven’t really thought of that as a problem either.
Alexis: Okay. So what’s changed about the community as you’ve grown in size in terms of how you deal with it and I guess what its interaction with you all is?
Torstein: What was changed is it’s bigger so we spend a lot more resources on it now and also we need to go further in order to get in close with the customers. One interesting thing to note is that Highcharts has from the start has been built and further developed as a response to feature requests, so we haven’t really had much ideas ourselves. We have had them but most of the development has been responses to feature requests. We are very focused on how to get in direct contact with customers and users and obviously that’s harder now than it was.
Alexis: Now, as you mentioned, you’ve been solving problems since the beginning with these feature requests, growing organically. Thank you for helping to liberate us from Flash because I would not like to still be stuck in that paradigm.
Torstein: You’re welcome. I should also mention we released Highcharts first version in November 2009 and as we know, the iPad came out in March 2010 and it was just the right time for Highcharts, so we were just getting a mature product when the iPad came along.
Alexis: How did your growth escalate after Highcharts and that kind of conversions?
Torstein: Well, the company grew from me alone to like 13 persons today. Most of the growth was in 2011-2012. But we hired three new developers last autumn also. It’s been growing great.
Alexis: I should mention, on your website, you have a couple of snippets of highlights. So out of the Fortune 100 global list of the greatest companies in the world, 51 are Highcharts/Highstock licenses and 8 are Highslide licenses. That includes Facebook and Twitter and Yahoo and Groupon and AT&T and Mastercard and VISA.
Torstein: And all the well-known companies that we are not allowed to mention.
Alexis: Now I would like to imagine Disney because my family has worked for Disney and I know that they are never too happy to lend their name to anyone, even if it was the US President.
Torstein: Yeah. I can’t say.
Alexis: That’s alright. I’m merely imagining. So since the first release in November 2009, the Highcharts code base has been downloaded more than 160,000 times and by February of 2013, you sold over 25,000 software licenses around the world ranging from $29 single-website licenses to high end Highcharts and Highstock enterprise licenses.
Torstein: Correct.
Alexis: So I have to ask about pricing. What have you learned about it and what you changed over the years?
Torstein: Well, I suppose the first lesson was to go for the developer licensing model. So we set a price on each developer assuming that a software project can be measured by the amount of developers working on it. So that’s an assumption. I think perhaps the simplest and closest indicator we can have on this isolated project. So we want to have a price that reflects this isolated project. That is the most important thing we learned about pricing. And of course we had people that don’t like this developer approach pricing but they are often very few based on the amount of licenses we have sold.
Alexis: Alright, and I would imagine this has a big impact especially at the time that you switched over to this kind of licensing model on the bottom line and the revenue that you generate.
Torstein: Yeah it did. It did have a big impact. Also, once we were able to let go and sell bigger license packages, it also had a big interest on the bottom line.
Alexis: Going back to community for a moment. What advice would you give to people with open source projects when it comes to working with and building a community especially if they’re building a business around it?
Torstein: What we have done, and I think is key to our success, is that we have first line of support, we have two engineers whose job is to answer open questions in our own forum and on Stack Overflow. For the engineers asking questions, we don’t ask anyone if they have a license or not. We answer every problem because we want people to succeed using our charts. So if we have a user struggling getting the access right or anything, we want to help him so that his chart looks good, so that other people can see that he is using Highcharts and is looking good and that is how basically we have built our community.
Alexis: So in the early days, I imagined word about Highcharts and Highslide was all done through word of mouth. Were there any other channels that you used to spread the word?
Torstein: No. It’s all about word of mouth. We have developers blogging about it, twittering about it. That’s basically it. Obviously they see it from other’s websites. They see a good-looking chart and they right click and they can see comments about…
Alexis: Who made it, right?
Torstein: Yeah. That’s how developers work.
Alexis: Yup. So what’s one mistake you’d rather not repeat in your journey with Highsoft?
Torstein: I don’t think it’s a general mistake but I wish we could’ve done things faster. Obviously we know that I created Highcharts in 2009 but I wish I could have released it in 2006. But after all, I was working with Highslide at that time which was also a success. You don’t know that it will be success until afterwards so you have to work the resources you got I suppose.
Alexis: On the flipside, what’s one decision that you are particularly proud of?
Torstein: Well, I’m proud of when at a point of growing out of my own basement at home, I first hired a CEO instead of hiring another developer. Imagine, if I hired another developer, I would have ended up as a CEO, which I’m not good at. I’m more of a developer type. Luckily, we got a great CEO and she has helped me building the company further.
Alexis: This is a big revelation, I I’d say. What made you think about, “I really need to hire a CEO!” rather than what most people would gravitate towards hiring a developer?
Torstein: Yeah. I like being a developer and also, I’m not too fond of management and things like that. So I think it’s basically about knowing what I’m good at and what I’m not so good at, and what I like and what I don’t. It was natural for me to hire a CEO, so we together could build a company further and get more developers on board.
Alexis: Okay, so you’re sitting in the oil rig or in your basement and you realized “I need a CEO.” Where do you go to find one?
Torstein: I went to my previous day job onshore here in our small town.
Alexis: Interesting. Okay.
Torstein: Yeah. It had to be someone that I could trust so I contacted my previous employers and one of the owners of the work firm was able to go in to take the role as a CEO.
Alexis: Alright. Now you’re sitting in your basement with your CEO next to you…
Torstein: Yeah. We went out of the basement by that.
Alexis: And what was the first order of business? What were the first things that needed to be done?
Torstein: Lots of things. The business had grown over my head at that time. I had negotiations going on that I didn’t really have time to deal with them because I was focused on developing the product. So the first half-year, we were swamped in work and we tried to hire more people and things like that, but we also had to do the tech support and further developing sales and the negotiation and all that. It was pretty busy the first half-year and first year.
Alexis: Now what was the next hire? Was it also management or was it, “Okay, now I really need a developer to help me out?”
Torstein: Yeah. Now we hired two developers. Then we hired a salesperson, sales and marketing, and then we hired another two persons on sales and marketing and then another three developers.
Alexis: Okay, so it’s about a pretty even split right now.
Torstein: Yeah, pretty even. Yes.
Alexis: So when it comes to competition and seeing a billion charting libraries in JavaScript that have just been proliferating over these past couple of years, how do you stay on top and how do you keep tabs on what’s going on in the rest of the market?
Torstein: I think, it’s very important to understand that you have to listen to your clients very closely. That’s what we mainly do. We develop new things when clients need it. And also, of course we had to invent new things because we can’t always listen to the clients because often times they don’t know what’s best for them. There’s a balance between inventing new things and listening to the clients. I think as long as we find that balance right, we will be able to stay on top.
So today, we are market leader in our segment but we have big competitors like D3, which is a completely different handle to creating data visualizations online. We don’t want to compete with D3 really because it’s another approach. D3 is more like a program in language while Highcharts is more like a tool where you can declare your charts, and you have visual tools on the other hand, so I think we have a good position in our space.
Alexis: Moving back to hiring for a moment. Many open source projects, when it comes to hiring, at times developers at least, they go straight to the contributors who have been most involved and hire them. Is that a tactic you’ve done and have you branched out to find other folks and then maybe in the JavaScript community that you’ve had your eye on or that kind of thing. What’s your approach to hiring?
Torstein: Well, we are not exactly in the center of the world. We are in a small town on the west coast of Norway, which the closest bigger town is Bergen which is two and a half hours drive from here. It’s kind of a special place to hire people. There are only 3,000 people living in this town.
Alexis: Oh, wow.
Torstein: Yeah. And the nearest town is one hour away which is like 15,000 people, so it’s probably hard to imagine for someone working in Bangalore or Silicon Valley or London. It is a completely different market. When we’re hiring, if we can find someone local, we have a bigger chance of keeping them here for a longer period of time. If we find someone from say somewhere around Europe, that person needs to be familiar with how it is living in a small town like this. Some people would like to try the experience and other people wouldn’t.
What we did last time, we hired two local guys and one guy who came from Belgium and wanted to try living in the countryside. That has worked very well. One of the older developers here, he actually came from the Netherlands, brought his family and three kids before starting working for us. He’s the kind of guy who came from a densely populated country and wanted to try a more peaceful life. That’s also a good fit for us.
Alexis: He has room to breathe.
Torstein: Yes, very much.
Alexis: So what was the decision in terms of keeping the company based in Norway rather than taking on the more popular growing approaches as a distributing company?
Torstein: Yeah. That’s an ongoing discussion actually. At any time, we may decide to grow somewhere else. For now, we have been lucky in getting the right people to come here. Actually we haven’t had any reason to grow anywhere else.
Alexis: Alright. I have to wonder what software you used for collaboration and communication?
Torstein: No. We have everybody in-house here. We have first line tech support in Poland. We use Skype and email in the forum to communicate with them.
Alexis: Alright. What’s your text editor of choice? I typically ask this of everybody just to see where Sublime Text stands or VIM.
Torstein: Yeah. It’s probably no surprise to developers but it’s Sublime Text.
Alexis: Yes, another one for the Sublime Text camp!
Torstein: Yeah, sure.
Alexis: Highmaps. That’s something you just launched right?
Torstein: Yes, that’s correct. That’s also something that we have been working on for years but as I said earlier, I would really like to see it online three or four years ago but it’s about resources.
Alexis: Yeah. I feel the same way about lots of things myself. “Oh man, if I could only have cloned myself to do this faster…”
Torstein: Yeah, yeah, I know.
Alexis: So tell us a bit about Highmaps.
Torstein: Highmaps is the geographical mapping flavor of Highcharts where people can define maps in much the same way as they do with the charts. You have a series object and a point object and you can give values to each point and a point correlates to an area on the chart. It’s very good for visualization like election results or population and things like that.
Alexis: So when have you been cruising on the web and you see a chart or a gallery or something and think “Wait a minute, this is mine. I helped make this.”
Torstein: Yeah, yeah, yeah. It happens all the time. You can see it on the Wall Street Journal or with the maps, you can see it on a popular Dutch website called Nu.nl. You can see it in the Telegraph UK websites, on Bloomberg, the finance charts on Bloomberg or other charts.
Alexis: I have to say you have tremendous bravery, you and the Highcharts team and everyone at Highslide because you even support Internet Explorer 6 which is, I don’t even have that patience.
Torstein: Yeah. Well, we want to build something that solves problems for all users, so ditching IE 8 and 7 and 6 is not an option yet. As long as people continue using it, we want to support it. I think there are so many tech companies only looking forward which is perhaps good in some spaces but we also need to support our legacy. It’s about being pragmatic about what you’re doing.
Alexis: How much time does it take to make sure you support browsers that far back?
Torstein: The first implementation was really a pain in the neck. It took so much time creating the immense support for IE8. Especially 8, 8 is actually worse than IE6 because Microsoft didn’t support VML, the further developers from IE5, so it just got more and more buggy towards IE8. Actually, once we supported IE8, then IE7 and IE6 worked out of the box. That’s a surprise to many. But yeah, it takes considerable amount of time supporting IE8, still does.
Alexis: So you provide support whether users pay for it or not, right?
Torstein: Yes, correct.
Alexis: That’s usually a part of a support package. I assume you have that baked into your licenses as well, like maybe priority support?
Torstein: Yeah, we have priority support where you have guaranteed answers in 24 hours and you are also guaranteed hotfixes for bugs.
Alexis: Now, do you also do custom development work when say unknown company A comes to you and says “We love this but we needed to do X, can you built for us?” Is that something you have the resources to support?
Torstein: Yes we do, through our partner in Poland.
Alexis: Oh, so you do that through a third party developer?
Torstein: Yes. The same guys who are doing the tech support are also doing custom developer work.
Alexis: So are those people that are part of Highsoft or is that totally third party?
Torstein: They are employed by a company called Black Label, but they are part of our team and we have frequent meetings with them and they are Highcharts experts.
Alexis: So why did you do the separation there?
Torstein: It started in 2010 also where we needed support services primarily because Poland is actually so much cheaper than Norway for hiring people. But it turns out these guys were really good developers and so we continued the relationship.
Alexis: Interesting. Okay. Where did you see Highsoft going within the next couple of years?
Torstein: Well, we will continue modernizing Highcharts and we will build a separate brand of Highcharts that is more based on separation of form and design, so we will create a CSS charting platform which I think will be very nice for designers and developers so that they can work on the project together without have to learn the API.
Alexis: Absolutely.
Torstein: And we also have a product called Highcharts Cloud. This really started to gain momentum these days. It is currently in Beta but we are already supporting a handful of online news magazines through the cloud platform.
Alexis: Interesting. So tell us a bit about Highcharts Cloud and how it works.
Torstein: The Highcharts Cloud is like an editor where you can set up your charts without knowing how to write code. So you start out with your data in for example CSV, you paste them in and Highcharts process it and presents a graph for you much like you see in Excel or in Google Spreadsheets. You are able to select what type of chart you want and in step three, you are able to set things and tweak everything you want to and you can actually, if you are an advanced user, you can set all the available API options from a programming API, which is about a thousand options or something like that. It’s a very powerful tool. It’s so powerful that we need to be careful not to design the interface so that the simple part is separated from the advanced part.
Alexis: Right.
Torstein: And then you are able to share it online and embed it in your website. We sometimes call it a YouTube of charts where we want people to upload the charts, upload the data, share it on Facebook, Twitter, LinkedIn, embed it on their websites, blogs and newspapers. So that’s what we’re building.
Alexis: Wow, charts as a service.
Torstein: Yes.
Alexis: You mentioned YouTube for charts. Would you consider — or maybe this is it in the works — having a directory of interesting charts and that kind of thing because I know infographics get spread around, and are pretty popular lately.
Torstein: Yes. On the front page, you can see the most popular charts currently and we also want to build out features like sorting on tags and searching and everything like that, so yes, absolutely, building a library of charts.
Alexis: Very cool. Sorry, my mind is spinning here because I was thinking, “Oh man, now you could have licensing for separate charts, the people who make the charts could…”
Torstein: Yeah. You’ll get something, right as a chart-producer. Yeah, definitely.
Alexis: Alright. So I think that’s it unless I’ve missed something.
Torstein: I can’t think of anything. I think we have covered most of our business, yes.
Alexis: Alright. Well, if people want to learn more about Highsoft and Highcharts and Highslide and Highstock, where should they go?
Torstein: They should go to www.Highcharts.com and they’ll find everything from there.
Alexis: And if they want to find out what you’re doing in the weekend or what you’re having for lunch, where can they follow you on Twitter?
Torstein: @Highcharts.
Alexis: @Highcharts, okay. So you can find Binpress @Binpress and you can myself @AlexisSantos, and please listeners, remember to go to iTunes, leave us a review — hopefully a favorable one — and subscribe. Click that subscribe button because it makes it a lot easier rather than keeping an eye on our Twitter account to check for new episodes. So thank you Torstein for coming on the show. I appreciate it greatly.
Torstein: Thank you for having me.
Alexis: We’ll catch you listeners next week!