Figma is modal in many ways: Subtle: selecting the pen tool or rectangle tool changes what happens when you click.
Obvious: Opening the “share” window changes the mode of keyboard input.
Barely modal: Color panel (only some keyboard input changes)
My point here is that modality; for something to be modal, is a broad concept that is widely used in computer UIs and that language is important when communicating with people. When you’re speaking with someone and are unsure about their interpretation of a word, be specific :•)
Some people are getting upset as they have been calling overlay windows “modals.” I’m not here to point you out or correct you, I’m just offering help and insight into the complexities of UI design. Understanding the concept of modality in UIs will make you a better designer :-)
Looking to read more? The Apple HIG, first introduced in 1977 and continuously evolved since then, is a great resource for a systematic model of common computer UI. developer.apple.com/design/human-i…
The most approachable version is IMHO (and surprisingly) the 1987 edition. I picked up my copy for $9 on ebay.
I strongly recommend anyone working with computer UIs to read this, even if you have no interest in Apple or their current OSes. Pretty much all mainstream GUI design of today actually stems from this (Win copied Mac, mainstream Linux copied both, etc.)
Concurrent programming can be hard. After days (over the course of weeks) I was today finally able to make a channel implementation pass my tests. Sometimes the smallest things takes the most time to get right.
Here's a short thread …
The kind of "channel" I've implemented is a form of CSP (see swtch.com/~rsc/thread/) which is used to communicate between threads. It's similar to Go's chan but works with threads rather than a custom coroutine runtime.
This is what large parts of the commercial WWW has become. It really saddens me. It’s like a hundred tortured voices screaming in desperation. How do we fix this?! How did we get here?
What needs to change is culture around value and technology to support it.
Being a journalistic publication in this day and age must be tough with a web culture of “everything is free.” How do you compete with that?! We all need to put bread on the table.
Here’s a practical example how broken the web system is. Okay so a friend told me about a cool DIY instax back for the Mamiya RZ/RB cameras. I do a web search and end up on this film photography website. Looks legit. Looks like work of passion. Good stuff.
Re building tools: I strongly believe that tools — software libraries, utilities, etc. — should only be created to solve an issue which you have a direct relationship to. History has proven this to be an excellent measure of success.
[Thread ...]
Most of us have probably experienced the "CRM system made for other people" that sucks, because the creators of it didn't use it themselves and thus couldn't relate to the problems their thing was solving.
So here's some good terminology:
- "Me ware"
- "Us ware"
- "Them ware"
"Them ware" is the worst possible thing; a "none of the roads taken" kind of compromise. You build something for someone else without a need of yourself. It will be incredibly hard to make something good this way since you will essentially fly blind.
Although this article is a bit too extreme and an overreaction, I must say that as a non-Chrome user it seems more and more websites only work in chrom{e,ium}. At least once a week I have this experience (I use Safari.) Thread →
The contemporary idea of a web browser is an abstraction layer for technology to allow some document or software to be available to anyone using a web browser. If your website only works in Chrome it’s really not different from say only working on macOS.
There’s a cost to everything and with web development a big chunk of cost is in quality (making a UI reliable and behave the way a user expects it to.) An increasing cost area is also writing & testing browser-specific code and that seems really backwards to me.