Kartik Agaram 2024-10-16 16:54:11 Text as a foundation for GUIs
The foundation is a text with attributes — a pair of a string and a map from string’s subranges to key-value dictionaries. Attributes express presentation (color, font, text decoration), but also semantics. A range of text can be designated as clickable. Or it can specify a custom keymap, which is only active when the cursor is on this range.
-- An engine for an editor
Unlike full HTML, the text is not nested, and logically is a 2 dimensional grid of characters. This makes
text
navigation universally applicable.
Unlike terminals there are multiple text buffers. You can have several apps running at the same time and displaying a text buffer each, or you could have a single app that owns multiple buffers.
Buffers are arranged in splits and tabs. Applications have limited control over the spatial arrangement of the buffers. It is the user who chooses which buffers are displayed in the foreground.
-- A new API
Jonathan Edwards 2024-10-16 19:58:37 Please consider holding a workshop at <Programming> 2025. Those of us doing independent research on software sometimes feel like we are rejected by academic computer science because our work doesn’t have the proper shape. In turn we tend to dismiss academia as a dysfunctional status game. Workshops are a way to bridge this divide between independents and academics. Since workshops offer little credit towards academic career advancement they are less subject to gatekeeping. The <Programming> conference is particularly open-minded about the form and content of its associated workshops, with a pronounced fondness for the softer and more human aspects of programming. <Programming> attracts researchers from diverse fields with open minds. Please consider this opportunity to enrich your community by engaging with both independents and academics at a <Programming> workshop.
The conference will be in Prague, with the workshops held June 2-3, 2025. Further details are in the Call for Proposals. I’m happy to answer any questions.
cc #in-london #in-germany
Tomas Petricek 2024-10-16 21:18:42 Yes please! A FoC meetup alongside the conference would be awesome!
Jasmine Otto 2024-10-17 17:05:03 👀
johnguerra.co/reactiveWidgets
A Reactive Visualization widget displays data and allows users to directly interact with it (e.g., select a bar in a bar chart
📊
). It then emits events based on these interactions (e.g., signaling which bars are selected).
The paper presents several usage examples of the pattern, templates for implementation, and even a wrapper for facilitating the conversion of any
> Vega
> specification into a reactive widget.
Kartik Agaram 2024-10-17 19:24:16 I really like this idea, and particularly appreciate the link to Vega which seems to create a vocabulary for what was a bunch of special cases in my mind.
I'm frustrated though by the format of the paper and its Observable Notebooks. I often click on things and nothing happens. Or I scroll up to find the browser unloaded the top of the page, and it takes seconds for it to come back. The whole thing feels just janky . And this form is included in the spec:
A reusable and reactive visualization widget should be.. a function that returns.. an HTML Element.
Surely a neat idea like this should be tech-independent?
The web and web browsers are often held up as having accessibility benefits, but I often find complex pages to have poor accessibility. And if you don't have that, then I wish I could just go implement such charts in a plain canvas and be compliant with the spec.
developing visualization software tends to be an overwhelming task.
Each of the examples in my link above requires less than 100 lines of code. I'll suggest a lot of the overwhelm here is accidental complexity that stems from tech choices.
Jasmine Otto 2024-10-17 22:22:33 I can relay that targeting HTML/Observable is a pragmatic choice directly inspired by the success of D3. Previous frameworks like flare.json (and some others that were named but I wasn't around for, and cannot remember) were successful enough within the VIS community! But these did not see outside adoption. And John's argument was, I believe, that the very large engineering efforts / browser-tech spend behind HTML and Observable are what enabled broader community adoption.
I suspect we all agree that the browser does introduce weird complexity creeps, and vary on how much we are willing to tolerate (for any given project!). I'm glad you are sharing so much of your work on LÖVE, which demonstrates that the complexity is not essential, but rather a weird mix of historical contingency and one-off requirements. Whereas the HTML spec looks more like a moving process of public governance than an adequate teaching example.
Brian Hempel 2024-10-17 17:23:27
🐦 Brian Hempel (@brianhempel) on X: Today is Spreadsheet Day, the anniversary of VisiCalc's release in 1979, the first spreadsheet app. To cell-ebrate, post a pic or describe your favorite spreadsheet!
👇