Issue 17 - UI Development and Lost Art
Welcome to another edition of this newsletter. I’m Daniel Imfeld, and here I share things I’ve read recently, updates on what I’ve been working on, and occasionally nascent blog post drafts.
What I’m Working On
UI development on Ergo has begun. Not much to show so far, but watch this space for some screenshots soon. Given my so-so design skills, I’m playing it safe for now and just using Tailwind UI’s components. More fun will come in the future though as I get into the task editors.
Of course, as a big fan of Svelte I’m developing this in SvelteKit. So far it feels a lot like its predecessor Sapper, but improved and modernized, which I suppose is the point.
I’ve enjoyed using Storybook for component development at work, and now I’m attempting to do a Storybook-first style of UI development. Most components, screens, and maybe even full pages will be developed inside Storybook.
I like it for components; we’ll see how well it works for larger projects. Storybook’s Svelte support has also improved greatly since I first used it, and it’s now quite a nice experience.
Unit testing will be done using Testing Library, which is focused on making it easy to write unit tests for browser components by centering on what the user sees rather than the presence of specific implementation details such as element IDs or other selectors. I’ve only written one test with it so far but I think I’m going to like it.
As usual, one nice thing about working on this stuff in my free time is that it also directly informs the best practices I try to implement at work.
Reading
Hacker News folk wisdom on visual programming was a timely blog post since it applies directly to my upcoming work on Ergo’s task editors.
Lots of good information in there, but I had two big takeaways:
- It can be very useful to be able to jump between visual editing and text editing of the same structure. Visual editing is nice for some things, but some times you just want to move some text around. Text editing is also much more tolerant of the model temporarily being in an invalid state while you move things around.
- Visual editors aren’t always better than just text, but one thing that really adds value it to visualize flow of actual data or state of the computation associated with each node.
In other reading, I picked up the new book Lost Art after a recent EconTalk interview with the author. This book chronicles cases of the Art Loss Registry (ALR), an institution that helps to track cases of stolen artworks, acts as a one-stop shop for buyers and sellers looking to prove the provenance of certain artwork, and assists in recovery of stolen works that come to their attention.
This is a world where there are often incentives to look the other way on whether a piece was acquired legitimately, and so they have faced some resistance and controversy.
In fact, in a couple of the book’s episodes it seemed that the ALR went too far in inserting themselves into a situation on behalf of parties who in one case were barely aware that their family had ever owned the piece, and in another case had lost the work hundreds of years ago.
But that seems to be partly a consequence of working in a world where no real best practices have been established. Indeed, the ALR is pushing to create these best practices one case at a time.
I would recommend the book, and if you’re not sold yet the EconTalk episode is a good preview.
If you enjoyed this, I’d love if you share it with a friend (sign up here) or just reply to this email with your thoughts. Thanks for reading!