Flint: A New Visualization Language Built for the AI Era
Flint: A Visualization Language for the AI Era
I introduce Flint, a specialized visualization language designed to meet the unique challenges of the AI era. Traditional tools struggle with the complexity of modern data, so we built a system that bridges the gap between human intent and machine execution. Flint allows developers to create dynamic, interactive charts with unprecedented ease, making advanced data storytelling accessible to a wider audience.
The future of data visualization is not about more charts, but about a language that understands the intent behind the data.
- akst
Even in the Era AI, GGPlot's API is still the best charting API. The name "Grammar of Graphics" isn't just marketing, they literally sought to write a god damn grammar to was capable of expressing all possible qualitative graphics.
They even wrote a book about how they went about it (not that it speaks to the quality of the API) https://link.springer.com/book/10.1007/0-387-28695-0
I actually stumbled upon this book when I was trying to look up how draftsmen (with pens and pencils on paper) did qualitative graphics as I found they had a lot of charm as opposed to modern charting libraries. It's something I noticed when looking through a bunch of historical RBA (Reserve bank of Australia) annual reports, the 1960-1980 charts had a lot of character, but then you go into the early 2000s and its a stale chart from excel.
Anyways ggplot doesn't really recapture the magic of those older charts, but it seems use quite a few of those as a baseline for how to communicate information. Like in figure 20.1 they talk about efforts to replicate older inforgraphics that showed Napoleon’s March on Russia, this graphic here (I think the example in the book is a bit nicer than the one in this blogpost IMO)
https://www.andrewheiss.com/blog/2017/08/10/exploring-minard...
On top of the charts just look nicer than anything you could produce with pyplot (and any API built on top of it) as pyplot seems to be have some really limited raster based rendering or something and the text handling is incredi […]
- shepherdjerred
So this is one interface that can render to multiple charting backends?
If AI is writing the "Flint", why not just have it write the backend code instead? I'm not sure why I would want pluggable charting backends.
I can see an argument for providing simpler APIs for LLMs, though, so that it can be more token efficient for example.
- boomskats
This needs a side-by-side config comparison with something like echarts config schema format. I really don't see the point.
I'm 99% sure the verbosity required in the system prompt to teach non-M$ models this new ever-so-slightly-different-but-not-obviously-necessary chart def abstraction format, and the iterations required to get it right, will outweigh any supposed efficiency gains resulting from using it.
Just stating the obvious.
- data-ottawa
I have tried using Flint vs asking the AI to generate a Vega lite spec directly, and in my opinion Flint was not as nice of a solution.
Flint is fine for doing predetermined chat types, with very low customization. But I found using an agent or sub agent to create the Vega spec directly allowed for a lot more flexibility, and ultimately that means higher quality visualizations (stuff like adding points for min and max on a timeseries, or adding a callout marker for a date where some event happened).
That being said, with Vega lite you have to validate your chart specs, provide specific guidance, and play whack a mole with Vega bugs/idiosyncrasies. So Flint is more reliable if you don’t want to dedicate a whole skill to making charts and want to get running quickly.
- cyanregiment
What a waste of time over at Microsoft Research