Hacker News new | past | comments | ask | show | jobs | submit login
Highcharts – JavaScript charting framework (github.com/highslide-software)
124 points by ashwin_kumar on Sept 3, 2014 | hide | past | favorite | 83 comments



We paid a lot of cash for Highcharts (Highstock actually) a couple of years ago as an up-front investment for a process manager we were building - an OEM licence. This was about a month's salary, straight after I quit my FT job. The product is now ready to go live almost three years later, and there still isn't a charting library, free or otherwise, that offers us the same functionality that this did back when we licenced it.

Not to mention the fact that the CTO himself will fix bugs for you within a week or so if you ask him nicely. Great company and great model. I don't get how people can complain about the fact it costs money. The costs are passed on to your client who will gladly pay for a better product, and you're supporting the ecosystem. I'd have paid double what we paid.


I don't think the problem is that highcharts costs money, but that there are no good FOSS alternatives(I embarked on a fairly extensive search last week for a FOSS js charting libraries and although I did end up choose one of those for the project, it was not nearly as fleshed out as Highcharts). One thing that tends to happen when you have a very strong commercial library out there, is it often discourages the creation of a FOSS alternative, which is somewhat unfortunate.

FOSS is one of the great enablers of modern software engineering and FOSS is far from "gimme software for free and I give you nothing, thanks!" type situation that some people make it out to be.


It seems like a big contributor to this problem is that the culture of FOSS is largely hostile to paying for software, even if its source is open and modifiable (but probably not re-distributable). I don't much about this, but I would love to make open source libraries or application that I can sell licenses for, but I'm not very optimistic it would work, and I'm not completely sure why it shouldn't.


I don't think it's specifically paying for things, it's just developers don't like arbitrary restrictions put on something they rely on. And however you look at it, pricing and pricing structures are essentially arbitrary.


Can you comment on highcharts performance?

It looks like highcharts uses SVG under the covers. Canvas based visualizations may fare a little better than SVGs once you're trying to render thousands of data points.


SVG performance degrades based on the amount of data that you are drawing. If you are rendering basic charts you will never run into any issues, if you are doing scatterplots with thousands of points or some other visualization with lots of separate nodes then you run into performance issues.

Canvas performance is limited by the size of the canvas, the larger the canvas, the more time it takes to redraw it.

SVG lets you tie into the DOM and DOM manipulation methods allowing for simple event interactions. Interactive canvas can be done but is more time consuming and difficult, though there are now canvas charting libraries that provide you with some basic "click" or even "hover" functionality.


I can. Well, on HighStock, but it's basically the same. With a couple tweaks (not really related to performance but possibly helping), it was incredibly performant except on some versions of IE. It came down to the performance of the javascript engine in the browser, and the bottleneck wasn't SVG but rather various calculations on the data to make it suitable for display. We had many thousands of points (up to a few series of up to 1 year of 15-minute meter data) and were doing aggregation client-side as well.


I used highstock to plot thousands of points and it eated lime it was nothing . If you want speed , this is for you


Every page on that site returns a 200 status code, and the same content as the homepage.

This means that http://www.highcharts.com/license (linked to from GitHub) is currently failing silently - you get content, but it's not the licensing information.

Note that http://www.highcharts.com/licenseoneutahenuo returns the exact same content again.

404s are useful! Don't disable them.


I've been seeing this as a default behavior for some static site hosts. If you don't supply them with an error.html, they redirect 404s back to the homepage by default - but with a 302, not a 404 + meta redirect.

I'd much prefer a generic error page supplied by the host, even if it doesn't match the brand of the rest of my site - 404s are a pretty important piece of the internet.


You mean like: http://mikewills.me/sucka/ ? Jekyll and S3.


We've fixed that now, thanks for noticing!


Highchart has been so good for our work we HAD to pay for it. We've looked at almost every single charting library (mostly open source) but in the end, the power & flexibility of Highcharts coud not be beaten.

Another awesome thing is their support. Ask a question on their forum or SO, then you'll most likely get an answer with a working JSFiddle example either from the community or the developers of Highcharts.

This is #1 on our JS library list.


+1 to this. I use Highcharts in my product and have saved much more work than their licensing fee cost me.


I like Highcharts a lot and we are paying for and using it, but be careful with the licensing. Chances are you'll need to pay $390 for it unless you're using it on a single domain, in which case it's $90. And that's for a single developer. 5 developers and multiple domains = $1500 without support, and there's nothing in between. And if you don't get the license and support you don't get hotfixes and updates, which seems odd.

There are a lot of other charting libraries out there. Look at the licensing before you commit to any of them.


According to the site the 90$ price apply when:

"For use on a simple webpage that is not considered a web application. A web application is a website that has customer specific data or charges for its use. This requires a Developer license."

http://shop.highsoft.com/highcharts/highcharts-single-websit...


It's too expensive and there are plenty of free alternatives like

http://c3js.org/

http://www.chartjs.org/

http://nvd3.org/

and plenty more


If you are building a commercial product and 590$ is too expensive, I feel sorry for you.

In western countries you could get at most 2-3 man days for that money, I highly doubt that even the best coder could implement Highcharts in 3 days and provide support for it afterwards.

If all you want is one or two simple charts then I agree, it is a waste of money to buy something like Highcharts, but if you really need most of what it has to offer then it is a good investment.

I have integrated Highcharts into a commercial project and it was a success.


The pricing policy is more obnoxious than the price itself. $390 (or $590 for "maintenance and support") gets you the ability for one single developer to do any kind of work with it. The next tier is $1,500 (or $2,250 for "maintenance and support") and gets you the ability for up to 5 developers to do any kind of work with it.

Having to pick between (A) sneaking around behind your vendor's back to violate their licensing terms by having more developers work on it than you paid for and (trivially) concealing that from them, (B) paying $1,500 instead of $590 (!) just so more people can legally work on it, and not even getting support, or (C) micromanaging your team such that literally only one human being can actually work on that part of the code base...

...makes for a real bad customer experience, which is surely to the detriment of sales.


As a freelancer, I disagree that the pricing is obnoxious, it seems like a fairly typical business model for programming components. I view the 1 developer licenses as more of a discounted version for one-man shops like myself.


If you were going to violate their license you just wouldn't pay for it at all. It's free for academic and noncommercial use and you can download the complete library right from their site.

Corporate environments tend to have tools to manage seat-based licensing and smaller companies only have a handful of developers anyway. Typically the number of developers who need to be working with a specific tool is known when you start the project you're buying a license for and upgrading your license isn't exactly tough. I convinced my boss to buy our department a 5 seat license for Highcharts (without support) after doing a pretty exhaustive search for free alternatives with all the features we need and it has been great so far.


Of course there are steps between (A) and (B) - you can choose to purchase two or three Single Dev licenses. If you need four Single Dev licenses, you are better off buying the 5 dev package.


Can't understand why people would downvote this, Highcharts is extremely inexpensive compared to the other costs that go into a commercial product that would require extensive charting and the gained productivity and savings in development time are incredible. Two years ago I migrated a ExtJS web app that had taken 2 years to build to Highcharts + Bootstrap in about a month or two. What amazed me was that for every ExtJS charting extension that had to be written on top of the existing facilities to create more complicated graphs there was a built in option for it in Highcharts or a simple extension in the community forums.


> Highcharts is extremely inexpensive compared to the other costs that go into a commercial product

Yes but Highcharts is extremely expensive compared to other alternatives which are free. Unless you're in the .NET world, no one really pays for libraries and frameworks anymore since the open source alternative is either better or just good enough.


At some point in the decision process you should be weighing the cost of buying software/support vs. the cost of developing it in-house. Highcharts is not expensive compared to developing something similar yourself, unless you have the luxury of a loose schedule and are being paid at something like $10 an hour.

I think the reason these "cost concerns" are being expressed is that a programmer isn't trained to weigh these things objectively. It's like going directly to a surgeon with an ailment and asking their recommended course of action. Their expertise is surgery, so their resolution is more likely to involve a knife.


> Highcharts is not expensive compared to developing something similar yourself,

Here's what you guys keep ignoring: there's other open source alternatives that are free. I'm not helping develop them beyond giving bug reports.


What you keep ignoring is that highcharts is way better than those alternatives, and that many people really like the simplicity of paying people for great products.


That may have been true 4-6 years ago. In 2014, that's no longer true.


That's one of those "It depends" situations. I've reviewed most of the charting libraries that have been posted in this thread and although yes they have come an extremely long way from 4 years ago when we picked Highcharts; all of them would still need a lot of work from our end to add extensions to be able to build all the charts we have in our products using built-in Highcharts options. But like I said it depends, a startup might not want to pay that money but that $3000 for 5 dev Highstock license is way less than the salaries needed for 5 devs to write the custom extensions in order to use something else to meet our needs.


Not sure which part isn't true in 2014 - that highcharts is way better than the competitors or that some people like the simplicity of paying money for things? For me, the first is less true than it was 4-6 years ago but still true and the second is more true than it was 4-6 years ago.


I'm sure your coding skills are great. Thanks for the downvote.


I didn't downvote you. I'm not sure you realize this but you can't downvote anyone in the same thread as you - at least I can't.


As a reference, I was able to move away from Highcharts and into one OOS library (rickshaw) in 2 man-days; I didn't have to reimplement it from scratch, I just had to find another lib.

To be fair, our charting requirements where not very complex.


1) As I've already said, High Charts isn't that much better than the free alternatives.

2) If you're bootstrapping, every penny counts.

3) It's not $590, it's $1500 (or more).

4) Not many people pay for libraries or frameworks anymore, when open source alternatives are either better or just good enough.


> 3) It's not $590, it's $1500 (or more).

Just wanting to point this out, but the price for a single developer, with support included, is currently $590 according to this page: http://shop.highsoft.com/highcharts.html

> 4) Not many people pay for libraries or frameworks anymore, when open source alternatives are either better or just good enough.

Not many, sure. But then again, they aren't going for lots of smaller people, but instead, fewer large companies. This is smart, since they are pushing support services as well.


>> 3) It's not $590, it's $1500 (or more).

>Just wanting to point this out, but the price for a single developer, with support included, is currently $590 according to this page: http://shop.highsoft.com/highcharts.html

OEM licence costs more than $1500.


Adding to the list, Contour is a recent open source library that is easy to use and extensible:

http://forio.com/contour/

it also has good documentation:

http://forio.com/contour/documentation.html


We (quite successfully) use flot http://www.flotcharts.org/ after I looked at highcharts' license and their "solution" for doing server-side rendering (some dodgy php).


The PHP script[1] is just a simple proxy to pass the SVG content to a well-regarded Apache Batik toolkit which then does the actual SVG->PNG conversion. I suspect PHP was chosen because of it is more readily available than any other backend tech among Highcharts clients.

Flot is a canvas-based library, so it can rely on modern browsers to rasterize canvas drawings to an image within the browser. Rasterizing SVG into an image directly within the browser is technically possible, but not supported across a wide range of browsers, so sending the SVG to the backend for conversion is a valid and very common technique.

[1] https://github.com/highslide-software/highcharts.com/blob/ma...


God forbid someone could get javascript environment running on a server.

Granted, it's not as lowest-common-denominator as php, but I personally ain't touching that stuff.


Other solutions are interesting, yes, but HighCharts is an incredible product with a LOT of features built-in. I've built a reporting tool on top of it and it covers a lot of use cases. Building the same visualization with another tool would require a lot of time, thought and iterations to make the API as simple.

For my use case, it's totally worth every single penny.


Chart.js is my current favourite - still doesn't have all the same features as Highcharts but usually sufficient for my needs.


It's been a while since I've used it, but I had to abandon Chart.js due to bad support for legacy browsers (even though it claimed the contrary). I haven't used Highcharts, but I've found flot to be pretty solid in cross-browser support.


None of those offer the features Highcharts does right off the bat.


NVd3 (http://nvd3.org/) is the good opensource alternative without the problem of highcharts licensing https://shop.highsoft.com/highcharts.html


The fluent API looks a lot nicer than highcharts' API. This is definitely going on my shortlist of the next project that needs charts.


I am a developer and i approve of this message. This is hands down the best graph money can buy..

in a half-day test our webapplication suddenly was top-knotch, we immediately payed them a licence.. it saved us over a week of workhours and it wouldn't even be near half that good!

The configuration via the JS array is simple but extremely versatile, and the (interactive) zoomable time-series graphs are my favorite. Another great thing is that it supports image exports by our local (not always internet connected) webapplication server.


Here's my plugin to integrate Hichcharts with AngularJS:

https://github.com/pablojim/highcharts-ng/


We used it in my previous companies and our developers were very happy about it. Previously we were using http://www.amcharts.com/ good product (but we switched because at that time amcharts was flash only - I think), but my dev colleagues told me that Highcharts was more powerful.

P.S. at that time (4-5 years ago) it was possible to use Amcharts for free in commercial app but with reduced features (for example you couldn't handle a click on the graph because in the free edition it would open their site) and showing a link in the bottom of the chart. It seems it follows the same rule now according to their download page, so consider it if you want a good free charting library (I used also amMap and it was ok)


I implemented amCharts earlier this year on an internal project. The version we used is not rendered in flash. They use SVG (and VML for IE6-8 support). Been very pleased with their look/feel and feature set. The documentation on their site was organized and helpful. Concluded on amCharts as a result of a personal analysis of eight charting libraries. amCharts does allow free (with conditions, link) and pay options.

I think highcharts is a top contender but ultimately felt amCharts had better aesthetics. The updated highcharts is certainly looking good.

(here was the analysis breakdown done in February 2014: http://i.stack.imgur.com/efgoR.png)


If you are working on a commercial product that you have to support its very good value for money.

Saved us all time and effort and allowed us to focus on building other stuff, without worrying about IE8 support. This is something which the other free alternatives, generally, don't do very well.


Unfortunately, this isn't free for commercial use, so perhaps something like Google Charts is more suitable (depending on your use case). There are plenty of alternatives out there.


Google Charts is nice but its major problem is that the data has to be sent to Google so it renders your chart if I get it well. But yes, there are plenty of alternatives. Some are not updated anymore but can still be useful according to your use cases.


Will you be kind enough to list some examples please. I am working on some of this stuff.


Chartist.js just had a lot of support on HN, although I haven't used it. I've used Raphaël but customizing it can actually be a bit hard. Chart.js is simple, easy to use, and just powerful enough for most cases.




d3 is probably the one that has gained the most buzz from developers as of late. From my experimentation/evaluation of various charting libraries, d3 is certainly the most powerful.


The difference between d3 and highcharts is like a paint brush vs. a coloring book. If you're davinci, you can make masterpieces with a paint brush. However, even davinci (probably) started off drawing little stick figures. A coloring book defines the basic shapes you want, you just need to fill in the colors and add your personal touch.

Highcharts is neat because it's a high-level api around charting. If you want to make charts, it's one of the most customizable and well-documented API's out there. If you want to build a custom visualization, highcharts offers a good amount of customizability, but sometimes you just gotta drop down into assembly.


For charting, d3 has an insanely high learning curve. (spent last weekend looking for one and while there are a few good d3-based charting libraries, they aren't very robust)


It is a worthy learning curve though


d3 is not really a charting library. It's a general data binding engine that happens to have exceptional SVG support. Entire classes are taught on d3 due to its generality.


A fascinating thing about Highcharts is that they are located in a supertiny, remote town in Norway called Vik. Only 2900 live there. Highcharts employ 10 people + a few remote workers.

You can read about this tiny remote place on the founder's personal webpage here: https://translate.google.com/translate?hl=no&sl=no&tl=en&u=h...


Have been using highcharts now for a few years. It's easy too start with, with preset examples (but who wants default colors anyway haha). I had to write an extra layer though to render charts more easily, directly from the dom.

Took quite some work but I don't want anything else now. Just set some data attributes and I can create pie's, line charts, and bars all on the fly!

It almost never failed me to customize it, editability is good and API doc extensive.


4 years ago I had to make a small webapp that displayed sensor data with up to 20000 points. At the time this was the only graph library I found that could handle so many points in a reasonable time, the library has some nice options for quickly summarizing large dataset to a smaller subset for visualizing.

Possibly there are better alternatives today for such datasets, I haven´t looked into it recently.


The old youtube analytics page was using Highcharts I suppose and it was styled well. Currently they switched Google Charts to visualize data. I'm not sure because all the js code is obfuscated but when I look some values are not obfuscated the functions remind me the variables in these libraries.

Edit: Yes, currently it is definitely Google charts now but I think it was Highcharts in the past.


A bit Offtopic: Somebody have used http://js.devexpress.com/WebDevelopment/? I between it and highcharts for a dashboard-type app for Desktop + IOS browser.

I have used DevExpress before and is a good company but never the JS products. Is less expensive and bundle a JS grid, that I need too.


I'm using Highcharts for all the charts on https://zenobase.com/. There are a lot of open source alternatives, but none I've seen so far handle axes labels as well as Highcharts does out of the box (i.e. ensure that there isn't a mess of overlapping labels).



Old news is old, but highcharts is GREAT! Worth paying for.


HighCharts + Internet of Things: https://thingspeak.com/channels/3


I have absolutely loved using Highcharts on past projects. Just avoid the headaches and use Highcharts.


That's a lot of open issues…


A lot of open issues means a lot of active users.


Note that v4.0.4 was released today, which I assume is the reason for the submission.


How is this news?


Hi and welcome to HN. HN is not just about news but also generally things that its community considers worth reading/looking at. If you are only interested in news, I would suggest you either find yourself a suitable news website or execute the mental strength to skip over content you are not interested in. Have a nice day!


It's not new but I didn't know it was on Github. Perhaps that is the news?


Its JavaScript. Automatically makes it news here. (Awaits the down votes, doesn't expect any explanation of why it is news).


Thoughts on Highcharts vs Google Charts?


Google Charts is hosted, like https://app.chartblocks.com - you can download or save the charts that get produced but it's not a charting library that can be used offline. If you want hosted charts you've also got to give someone access to your data.


For me, the fact that I couldn't use Google Charts offline was the end of the road of "testing" GC. I needed to make an intranet web app that would not be "allowed to communicate with the exterior".


In my experience, Google Charts (along with everything else out there) will have you begging to pay for Highcharts as soon as you run into something slightly non-standard, which happens quickly.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: