📚 node [[2023 06 09]]
  • Friday, 06/09/2023 ** 13:03 I just rejected a website because I didn't feel 'immersed' by it. This website feels the same way now. Demanding focus from other tools is difficult - your tool should be more expressive than others, feel better, or at least on par with them. If the MacOS notification animation is so much more interesting than your landing page, the user's clicking on that instead - regardless of your site's content. Animations matter. ** 19:40 Continuing to appreciate the Macbook's design, particularly from the perspective of non-technical users. I have a few problems with global settings and configuration, but for the most part Apple does things right! Aside from the initial configuration issue - no support for both American and Swedish information because I don't yet have Swedish bank information - the defaults 'just work' most of the time. Apps are in the Applications folder, and most users of computers know how the structure of folders work, so it is intuitive for anyone to put programs there; the settings menu isn't the best, but at least it's searchable and indexed by Finder; all of the apps you might want for basic computing, like email and a web browser, are preinstalled and ready to use.

Even the development tools are straightforward. I know that with Nix I am taking on some responsibility up-front when maintaining my system by making sure that everything is pinned, but a stateful homebrew configuration is so easy - it just works most of the time, and when I have a problem, I can check the version of a package, then update it. Nix might be overkill for a lot of personal computing use cases like web development or Rust where all of the dependencies are so stable - unless you're dependent on a complex web of system APIs and libraries, most technologies 'just work' with the stable libraries you have available on a Unix system. This is true for dev tools, too; git's preinstalled along with a bunch of other good utilities.

I particularly enjoyed the integration of app installation with web browser plugins. Adding 1password was seamless - an installation took a single click and suddenly I could use the tool everywhere. I wish applications had a hook for this - detecting installation and searching their systems for plugins that they could install. That could make software feel more fluid.

The platform isn't configurable enough, though; I don't think that good defaults really provide the expressive configuration that people who use software should deserve. An application isn't a monolith - it's part of an ecosystem of tools on the computer - and it really is a shame that ** 13:08 Tightly coupling too many tools - using them 'cleverly' - can be really dangerous. This was the status quo for me - trying to craft or discover the simplest and most elegant functional pearl from software, administering lots of rules to do so.

Unfortunately, tightly coupling tools creates rules and semantics - semantics that the tools, individually, don't model. If I add a row to the table, that row shouldn't have unforseen consequences in executable code, for example, unless the row is ill-formed - but if what is ill-formed is not defined by the executable, the user has no way to determine what is correct without assembling all of the infrastructure.

📖 stoas
⥱ context