You are viewing archived messages.
Go here to search the history.

Eli Mellen 2023-06-19 19:20:13

when you all work on a Future of Cod ing flavored tool, do you think about ways to bake in certain sorts of interactions.

As example:

React lets ya build accessible, localized experiences, but it also lets ya make something that is wholly inaccessible, too. It is sort of agnostic on that front. Could a tool “force” an accessible experience, or be more strongly biased towards something like that?

This line of thinking isn’t restricted to accessibility, it just seemed like an easy fruit to reach for when writing an example. Is this the kinda thing other folks think about when designing stuff? Do you have examples of it?

Mariano Guerra 2023-06-19 20:43:50

using the accesibility "vocabulary" to also specify the semantics of the ui elements seems to be a trick used here: react-spectrum.adobe.com/react-aria/index.html

📝 React Aria

A library of React Hooks that provides accessible UI primitives for your design system.

Kevin Greer 2023-06-19 21:11:11

I do that all of the time in FOAM (foamdev.com). I like to try and encourage the developers to do "the right thing" by making that easier (or even free). We have a reusable CRUD controller which provides things like search, sorting, import, export, scrolling, paging, authentication, i18n, etc. Developers can use the the individual components, like table view, detail view, query parser, DAO, etc., to make their own controller, but by just doing nothing they get a more standard interaction. Same for generated APIs. Often when you make some standard interaction very easy though, you'll find that users complain that other things are hard, even if they aren't any harder than without your tool, just relative to the things you make easier.

Lu Wilson 2023-06-19 23:12:29

getting the user to "fall into the pit of success" is something a colleague of mine says a lot

Eli Mellen 2023-06-19 23:12:47

oooh! I adore that!

Eli Mellen 2023-06-19 23:13:26

please tell your colleague an internet stranger in the North East US loves it. I have a big beard and am middling at many things

Eli Mellen 2023-06-19 23:13:29

easy to identify

Lu Wilson 2023-06-19 23:16:29

credit: twitter.com/SomeHats

I'm not sure where the phrase originally comes from though!

she's currently using it in the context of: We want developers to write "validators" for the custom shapes they build (for tldraw). But validators can feel boring and pointless! How do we get them to write validators without thinking about it much? Current answer: "No no, you're not writing a validator , you're... defining your shape"

Cameron Yick 2023-06-20 02:38:25

I’ve seen the “falling into the pit of success” in the context of api design attributed to Rico Mariani: blog.codinghorror.com/falling-into-the-pit-of-success . It might be a pun on “pit of despair”, which is both a psych experiment and a meme from the 1987 movie “the princess bride”

📝 Falling Into The Pit of Success

Eric Lippert notes the perils of programming in C++:

I often think of C++ as my own personal Pit of Despair Programming Language. Unmanaged C++ makes it so easy to fall into traps. Think buffer overruns, memory leaks, double frees, mismatch between allocator and deallocator, using freed memory, umpteen dozen

Cameron Yick 2023-06-20 02:45:35

To the OP question, I think of this as design goal for a tool to encourage “good behavior” by making those paths pleasant, rather than forbidding bad behavior. So doing the “right thing” becomes the pragmatic choice, and not just principled.

There are many examples of this in data visualization tools and libraries, like vega-lite. For example, you could use a single hue or multi hue color encoding depending on whether color represents a discrete category (like country), or a binned quantitative variable (like temp in range 10-20 degrees). Psych and design heuristics suggest that one of these is more effective, so if you don’t specify a palette, a reasonable selection is made for you. You can override it if someone has a strong visual preference, but it’ll be more work, so most don’t bother.

Cameron Yick 2023-06-20 02:48:52

For the React a11y example - admittedly there’s more to an accessible user experience, than aria tags, but keyboard nav support, reasonable contrast, and basic screen reader usability is selling point for many frontend component libraries.

Andrew F 2023-06-22 01:21:00

I think this is a special case of the balance between safety and expressivity across all programming tools. Much like you can't let a language both be able to generate arbitrary assembly and also be safe, if you try too hard to make your UI framework generate accessible UIs, it will rule out tons of possible UIs, some of which even might have been fine a11y-wise. I tend to lean more towards power, but we'll need a spectrum of different tools forever. Best case the more restrictive ones are built on the more powerful ones in a principled way so it's not too awful if you need to break out.

More specific to a11y, the architecture I'd like to see is that we support completely reskinning our apps, so basically our data models and operations, with UIs designed from the ground up for vision impairment, mobility issues, etc, with their own idioms not tied down to standard GUI stuff. Retrofitting accessibility on a fundamentally visual medium is always going to be kinda meh at best. But you need that common model before this becomes, frankly, commercially feasible.

Kevin Greer 2023-06-22 02:31:38

I think traditional MVC helps with with this. If the View isn't the app, just the View, and the underlying data and operations are in the Model, then you can have multiple kinds of views, possibility at the same time. Just like the classic MVC example where data (from the Model) appears in both a grid and a pie chart (2 Views) at the same time. A model can have a standard GUI View but also a separate text-to-speech UI. We did this with the ChromeOS system calculator by having a separate CalcSpeechView which was invisible from the traditional GUI point of view, but worked with screen readers to provide speech output: github.com/foam-framework/foam/blob/2966cde661ccadbb8b1548fede78f6d67cc53ed5/js/foam/apps/calc/CalcSpeechView.js

Eli Mellen 2023-06-22 02:36:01

Separate UI or UX layers to address accessibility requirements is something I hear proposed a lot in my line of work. I think it is a novel idea, but I caution against it as much more than a curiosity.

It sort of forces a collapsing of what it means to be “disabled” into a set of predetermined categories, which is probably the opposite direction we want to be moving in, for the most part, when creating accessible experiences.

Kevin Greer 2023-06-22 09:27:31

Well, there are some predetermined categories, aren't there? Someone who is red/green colorblind, is a mild form, then someone with poor eyesight, then low-visibility, then blind. Someone who is completely blind is not going to be helped at all by solutions which increase font-sizes, specify tab ordering, change colours and improve contrast.

Eli Mellen 2023-06-22 11:15:25

yes, but those categories ignore the fact that disability isn't necessarily permanent, and that it doesn't always only happen by category -- some folks are blind and have mobility issues, too, for instance.

Kyra 2023-06-22 14:33:14

I have always thought Named Data Networking (a future infrastructure project older than IPFS) is really promising: named-data.net

Think instead of naming locations, naming the data you're requesting, so it can be pulled from any host as efficiently as possible

Ivan Reese 2023-06-22 17:19:22

Ah, neat! I feel like I've never heard of this project before. But then looking at the list of papers, I probably have heard of it, but just missed the fact that "Named Data" is a proper noun in this context, haha.

I'm curious if anyone here has worked with this, or has any ideas for how they might use it.

Duncan Cragg 2023-06-23 09:12:25

I understand it to be under the broader umbrella of "Information-Centric Networking". It's possible to characterise my own Object Network concepts as under that umbrella also, so this is of interest to me 😁👍

Duncan Cragg 2023-06-23 09:17:23

I have a recollection that, like the Web, a fundamental omission of this architecture is not having a mechanism to continue to forward data updates to previously interested consumers, to save constant polling?

Shalabh 2023-06-24 02:42:55

Van Jacobson’s tech talk is one of my favorites: youtu.be/gqGEMQveoqg

It’s about Content Centric Networking but I find it interesting because he talks about about how perspectives that change the frame of discussion (unspoken assumptions etc) can be powerful. The example he talks about first is going from circuit switching to packet switching. Packet switching did indeed “win” even though everyone was at one point trying to make circuit switching fast.

I think CCN didn’t catch on with any open standard the same way as packet switching. However it seems CDNs also use principles similar to “named data”? It’s just implemented as an app layer on top of TCP/IP and seems to provide the same benefits for a subset of use case dealing with immutable media objects.

Duncan Cragg 2023-06-25 09:17:52

Hiya fellow futurists! I've started a Substack for my "Lab Notes". Please consider subscribing!

duncancragg.substack.com/p/welcome-to-the-object-network-research

Ivan Reese 2023-06-25 13:59:53

Subbed via RSS :)

Konrad Hinsen 2023-06-25 15:01:41

Substack has RSS ???

Duncan Cragg 2023-06-25 15:09:58

I subscribe to a few substackers that way.

Konrad Hinsen 2023-06-25 16:13:09

That's my discovery of the day! Mission accomplished: I am subscribed to your substack by RSS :-)

Konrad Hinsen 2023-06-25 16:16:38

First impression: I see a lot of overlap with @Alexander Obenauer's Itemized OS (alexanderobenauer.com/articles/os/1).

📝 The Potential Merits of an Itemized OS

Does an itemized personal computing user environment have the potential to be a new medium in which software could “actually change the thought patterns of an entire civilization” (Kay, 1989)?

Duncan Cragg 2023-06-25 16:21:07

Yes, indeed, and thanks for reading enough to say that! It's good that there's at least one other person exploring a similar space, it can provide a point of comparison and can inspire new perspectives.

Duncan Cragg 2023-06-25 16:21:40

I could create a long list of differences as well as similarities, but I'd probably "lose the audience" if I did that!

Konrad Hinsen 2023-06-25 16:25:55

Indeed, a list is not very helpful. But in individual articles you publish, you could point out similarities and differences related to the article's topic.

Duncan Cragg 2023-06-25 17:18:50

Well there's a lot of stuff to compare with out there, and also I doubt that Alexander would do the same!

Konrad Hinsen 2023-06-26 06:19:38

Then how would you summarize what sets your project apart from the others?