--- title: Irydium Presentation tags: Templates, Talk description: View the slide with "Slide Mode". --- # Introduction to Irydium Data science (for some definition of data science) for everyone. <aside class="notes"> This is a quick talk about something I've been working on in my spare time that I thought might be interesting for the rest of y'all. As some of you know, I'm taking the month of July off to do a mini-sabbatical at the recurse centre. This is what I'm planning to work on there. </aside> --- ## Caveats * This is a side-project I've been working on in my spare time, off work hours. * This is a proof of concept, held together with duct tape * Many of these ideas are half-baked <aside class="notes"> Ok, lots of caveats: * This is something I've been doing in my spare time because I'm interested in the idea. It's not an official project. It could be something we choose to use or build out at Mozilla, but it's not a given. * What I'm going to talk about here is definitely not fully formed. I'm still establishing a product definition. This talk itself is an effort at that, after I'm finished I'd love to hear your thoughts on what resonated with you and what didn't. </aside> --- ## Why? Data Science is too hard for experts and impossible for beginners <aside class="notes"> Data Science is too hard for experts and impossible for beginners I think we have a collective belief in this room that data, properly analyzed, used, and communicated has the potential to increase our understanding of the world and make positive change within it. In some ways, we live in an era of riches when it comes to analysis: we have lots of great tools from the low to high end, from Google Sheets to Jupyter Notebooks. But even with all this great tooling, it is still *too hard* to synthesize what we learn and communicate our findings to others in a compelling way. It's something we at Mozilla struggle with every day, my most recent example was producing the numbers that matter dashboard with Su last fall-- it took us quite a bit of time to produce a useful artifact. And we're supposed to be the experts at this. If it's this hard for us, the rest of the world has no chance. So what is to be done? </aside> --- ## Premises of Irydium * Text is pretty great ([always bet on text](https://graydon2.dreamwidth.org/193447.html)) * Markdown is pretty great too * Reactive approaches to data analysis and visualization are the most approachable for beginners and good even for experts <aside class="notes"> So let's go back to basics. What sorts of things could address this gap? Well, let's look at what's caught on -- in ancient to slightly more recent history -- what really works when it comes to scientific communication? There's a few axioms that I'm taking as a starting point. * Text is pretty great. Writing, just plain text, is in my opinion the single best medium for giving context to data. In terms of raw information density and ability to communicate complex ideas, nothing beats it. If you haven't read it before, the essay "always bet on text" (by Graydon Hoare, creator of Rust) is worth reading. * Markdown, a flavour of "marked up" text, is pretty great too. It's become the medium of choice for many desktop publishing workflows and has become the basis for many efforts in the "interactive presentation" space (e.g. JupyterBook, rmarkdown) that I'm most interested in. * The last one is that reactive approaches to data analysis and visualization lead to both the best most compelling presentations and are also the easiest for people newer to the space to get to grips with. I'd cite the long-standing success of Excel and the recent interest in projects like Observable as evidence for this. </aside> --- ## What is Irydium? Irydium is, at heart, a way to translate markdown into an interactive, compelling visual presentation. ![](https://i.imgur.com/QhSCaTK.png) <aside class="notes"> Irydium is, at heart, a way to translate markdown into an interactive, compelling visual presentation. My view is that publishing markdown text on the web is very close to a solved problem, and that we should build on that success rather than invent something new. </aside> --- ## What makes it different? * Reactive * Idempotent * Familiar * Hackable <aside class="notes"> The first thing: irydium is reactive in the same way that a spreadsheet is -- that is, any individual change you make will immediately flow to the rest of the system. I'll demonstrate this shortly. I think this provides a more intuitive model for both the creator and the viewer of the document. Second, as a result of the first principle, each Irydium source document will yield the same presentation every time it's run. There's no mismatch between kernel state and what you see on the screen the way there is with Jupyter. This is a highly valuable property when thinking about how to make your analyses reproducible. Third, Irydium uses as few *novel* concepts and technologies as possible: it builds on some of the best ideas and technologies produced by the open source community: Python, Pyodide, Svelte, mdsvex, MyST and a few others -- chosen deliberately for having a reasonably shallow learning curve. Finally, Irydium is extremely hackable. While I'm working on an online environment to build and share irydium documents, it's also fully possible to use the local tools you use and love like Visual Studio Code to create Irydium documents. </aside> --- ## Iodide? <aside class="notes"> You might be wondering if this has any relation to Iodide, a similar project which I (and a number of other people in Data Engineering) worked on between 2018-2019 and was also recently studied as a possible innovation project at Mozilla. Yes and no. Irydium shares some ideas with Iodide and builds on some of the learnings that I took from that project. But it's basically a new thing. That's all I've got for slides, so let's dive into a demo. </aside>