
Show HN: Tableau-like Data Visualization library (free), powered by WebAssembly - pallavn
https://muzejs.org
======
justinclift
The licensing for this is confusing. :(

eg:

[https://muzejs.org/muze-wa/eula](https://muzejs.org/muze-wa/eula)

    
    
      Reverse engineering: You may not reverse engineer or
      disassemble the Software.
    

However, there's a GitHub repo for it, as if it's pretending to be OSS:

[https://github.com/chartshq/muze](https://github.com/chartshq/muze)

[https://github.com/chartshq/muze/blob/master/LICENSE](https://github.com/chartshq/muze/blob/master/LICENSE)
<\-- same heavily restricted license as above

~~~
samblr
Was wondering the same.

Not sure what is the point of having .org website here.

>> The Software is protected by copyright, including without limitation by
Copyright Law and international treaty provision

~~~
pallavn
We started with the JavaScript version of Muze, which is open-source (MIT).
Hence the .org. For the WASM version also, we'll open-source (just not right
now - waiting to build a few more modules, to monetize the enterprise ones, to
bring sustainability into the project).

~~~
samblr
MIT GitHub link repo says code deprecated.

~~~
pallavn
In the JS version (MIT), we're currently doing bug fixes only. Hence, we've
marked it as deprecated.

The new features are in WASM repo, which will be open source later.

------
pallavn
Hi everyone,

A while ago, we had released a Tableau-like data visualization library in
JavaScript (original post at
[https://news.ycombinator.com/item?id=18193264](https://news.ycombinator.com/item?id=18193264)).
We got the feedback that it was performing slow because of client-side data
operations and rendering. As such, we have released a new version, where all
data related operations are now powered by WebAssembly, along with a full
design upgrade. It’s at [https://muzejs.org](https://muzejs.org) \- we would
love to get your feedback.

Like before, it’s a data-first library with its own DataModel, built using
Grammar of Graphics approach. Unlike traditional charting libraries, which use
a chart-first configuration, Muze allows relational algebra operations on
DataModel (in browser). Also, the visualizations are fully extendible through
compositions, layers and programmatic hooks - so you’re not restricted by the
out-of-box visualizations or default interactions provided by the library.

We’ve also built a visual data exploration tool using this (though currently
using the JS version, and not WebAssembly; to be upgraded soon), which is at
[https://explore.charts.com](https://explore.charts.com)

We intend to make these libraries (and UI kits/bindings) available for
developers to embed within their SaaS/internal applications and create
Tableau-like interfaces within their application (of which we’ll monetize
enterprise-features modules).

Would love to get your feedback. Also, what is the next library/module that we
should build next to make Muze more useful for you?

Thanks for taking a look!

P.S. We’re working on making our documentation better!

Website: [https://muzejs.org](https://muzejs.org) Visual Data Exploration
Tool: [https://explore.charts.com](https://explore.charts.com) Github:
[https://github.com/chartshq](https://github.com/chartshq)

------
hgoury
It makes me think of Voyager [1][2], based on Vega and Vega-lite, that
leverage a grammar of graphics. A neat trick you can do in Julia is use it
interactively to generate plot specs [3].

Sadly, looking at the github repo it seems to be unmaintened, so I am glad to
see Muze in that space.

[1] [https://github.com/vega/voyager](https://github.com/vega/voyager)

[2]
[https://idl.cs.washington.edu/papers/voyager2/](https://idl.cs.washington.edu/papers/voyager2/)

[3] [https://youtu.be/IJqnx9ShRlM](https://youtu.be/IJqnx9ShRlM)

~~~
pallavn
Indeed. Vega has been one of our inspirations. Though, we took a more business
use-case focussed approach for the visualizations, and also more focus on
performance.

~~~
sterlinm
I'm a big fan of vega/altair but the biggest limitation is that it can't scale
to larger datasets. It might be interesting if you made some side by side
comparisons of implementing examples from the vega gallery using Muze. An
Altair like wrapper for python users would be nice too, of course.

[https://vega.github.io/vega-
lite/examples/#interactive](https://vega.github.io/vega-
lite/examples/#interactive)

------
depomoty
This looks super cool! I like the fact that, like you said, the focus is on
the data and not on preparing the chart configuration stuff. I can definitely
use this in my project where I had to write to write an algorithm to parse the
data to a valid configuration for ChartJS. I bookmarked this and definitely
gonna try it soon. Will let you guys know. My project is also open-source if
you wanna check it out [https://chartbrew.com](https://chartbrew.com)

~~~
pallavn
Glad you liked it. Look forward to you using it. Reach out to us a eng [at]
muzejs.org if you need any help.

------
macklemoreshair
This seems interesting but I’m not sure how to use it....? We have a react app
that could really use a plug and play kind of viz library. Is the idea that I
could feed my data into this and it would automatically configure viz based on
the dataset it sees?

~~~
pallavn
Yes, that's the idea. You include Muze, provide the data, and it automatically
renders the visualization and interactions.

P.S. We're coming up with a react binding for Muze in next 4-5 weeks.

~~~
pallavn
Here's an example of using Muze with React:
[https://codepen.io/chartshq/pen/jOqELZR](https://codepen.io/chartshq/pen/jOqELZR)

------
antman
For Tableau like functionality crossfiltering and drill dowm should be first
class features, is that part of the current functionality or is there some
exampke?

~~~
pallavn
Hi,

Yes, these are available by default.

\- Cross filtering: [https://muzejs.org/demos/wa/latest/crossfiltering-with-
dynam...](https://muzejs.org/demos/wa/latest/crossfiltering-with-dynamic-
layer-addition)

\- Drill-down with custom drill path:
[https://muzejs.org/demos/wa/latest/drilldown](https://muzejs.org/demos/wa/latest/drilldown)

\- Drill into grid: [https://muzejs.org/demos/wa/latest/show-datagrid-on-
doublecl...](https://muzejs.org/demos/wa/latest/show-datagrid-on-doubleclick)

------
bastijn
On my iPhone 11 Pro Max, iOS 13.5.1, chrome 84.0.4147.71 the "health index of
each country" is crashing my tab.

Otherwise, thanks for sharing. Bookmarked just in case.

~~~
pallavn
Thanks for the reporting this. We are working on it. It seems that this issue
exist for a particular chrome version. We'll fix it soon.

------
xgenecloud
This is amazing. Congrats on shipping it Pallav!

