143 Matching Annotations
  1. Last 7 days
    1. I found the format of these Hypothes.is notes to be much more readable than the notes on the same topic in Evernote.


      There is definitely something here from a usability (and reusability) perspective when notes are broken down into smaller pieces the way that is encouraged by Hypothes.is or by writing on index cards.

      Compare: - ://www.evernote.com/shard/s170/sh/d69cf793-1f14-48f4-bd48-43f41bd88678/DapavVTQh954eMRGKOVeEPHm7FxEqxBKvaKLfKWaSV1yuOmjREsMkSHvmQ - https://via.hypothes.is/https://www.otherlife.co/pkm/

      The first may be most useful for a note taker who is personally trying to make sense of material, but it becomes a massive wall of text that one is unlikely to re-read or attempt to reuse at a later date. If they do attempt to reuse it at a later date, it's not clear which parts are excerpts of the original and which are the author's own words. (This page also looks like it's the sort of notes, highlighting, and underlining recommended by Tiago Forte's Building a Second Brain text using progressive summarization.)

      The second set, are more concrete, more atomic, more understandable, and also as a result much more usable.

  2. Mar 2023
    1. TheSateliteCombinationCard IndexCabinetandTelephoneStand

      A fascinating combination of office furniture types in 1906!

      The Adjustable Table Company of Grand Rapids, Michigan manufactured a combination table for both telephones and index cards. It was designed as an accessory to be stood next to one's desk to accommodate a telephone at the beginning of the telephone era and also served as storage for one's card index.

      Given the broad business-based use of the card index at the time and the newness of the telephone, this piece of furniture likely was not designed as an early proto-rolodex, though it certainly could have been (and very well may have likely been) used as such in practice.

      I totally want one of these as a side table for my couch/reading chair for both storing index cards and as a temporary writing surface while reading!

      This could also be an early precursor to Twitter!

      Folks have certainly mentioned other incarnations: - annotations in books (person to self), - postcards (person to person), - the telegraph (person to person and possibly to others by personal communication or newspaper distribution)

      but this is the first version of short note user interface for both creation, storage, and distribution by means of electrical transmission (via telephone) with a bigger network (still person to person, but with potential for easy/cheap distribution to more than a single person)

  3. Feb 2023
    1. One of the benefits of journaling on an index card is that the small space is much less intimidating than a large blank sheet, particularly when one isn't in the mood but feels like they ought to write. This is similar to the idea that many people find that microblogs (Twitter, Mastodon, Tumblr) are much easier to maintain than a long form blog.

    1. This seems a beautiful way to take advantage of the qualities of the different approaches.

      It also acknowledges the heuristics of visual manipulation, which “hard-core” command-line enthusiasts sometimes dismiss or forget. Visual manipulation can be powerful in ways that CLIs just can’t allow. And vice-versa: the versatility, fine-grain control of lower-level / text-based interfaces make them easier to manipulate programmatically, or just literally (tweaking a numerical value directly or adding a custom attribute which would require more fastidious work in the GUI).

    1. Wordcraft Writers Workshop by Andy Coenen - PAIR, Daphne Ippolito - Brain Research Ann Yuan - PAIR, Sehmon Burnam - Magenta

      cross reference: ChatGPT

    2. The novel workflows that a technology enables are fundamental to how the technology is used, but these workflows need to be discovered and refined before the underlying technology can be truly useful.

      This is, in part, why the tools for thought space should be looking at intellectual history to see how people have worked in the past.

      Rather than looking at how writers have previously worked and building something specific that supports those methods, they've taken a tool designed for something else and just thrown it into the mix. Perhaps useful creativity stems from it in a new and unique way, but most likely writers are going to continue their old methods.

    3. In addition to specific operations such as rewriting, there are also controls for elaboration and continutation. The user can even ask Wordcraft to perform arbitrary tasks, such as "describe the gold earring" or "tell me why the dog was trying to climb the tree", a control we call freeform prompting. And, because sometimes knowing what to ask is the hardest part, the user can ask Wordcraft to generate these freeform prompts and then use them to generate text. We've also integrated a chatbot feature into the app to enable unstructured conversation about the story being written. This way, Wordcraft becomes both an editor and creative partner for the writer, opening up new and exciting creative workflows.

      The interface of Wordcraft sounds like some of that interface that note takers and thinkers in the tools for thought space would appreciate in their

      Rather than pairing it with artificial intelligence and prompts for specific writing tasks, one might pair tools for though interfaces with specific thinking tasks related to elaboration and continuation. Examples of these might be gleaned from lists like Project Zero's thinking routines: https://pz.harvard.edu/thinking-routines

  4. Jan 2023
  5. Dec 2022
    1. An interface type is defined as a set of method signatures.

      A method is a function with a special receiver argument.

      ``` // interface type Abser intreface { Abs() float64 } // method type Vertex struct { X, Y float }

      func (v Vertex) Abs() float64 { return math.Sqrt(v.X * v.X + v.Y * v.Y) }


    2. An interface type is defined as a set of method signatures.

      An interface type is defined as a set of method signatures.

      A method is a function with a special receiver argument.

      ``` // interface type Abser intreface { Abs() float64 } // method type Vertex struct { X, Y float }

      func (v Vertex) Abs() float64 { return math.Sqrt(v.X * v.X + v.Y * v.Y) }


  6. Nov 2022
    1. https://pinafore.social/

      Pinafore is a web client for Mastodon, designed for speed and simplicity.

      <small><cite class='h-cite via'> <span class='p-author h-card'>Jessica Smith</span> in Small Web - Jayeless.net (<time class='dt-published'>07/03/2021 23:34:42</time>)</cite></small>

  7. Oct 2022
    1. https://www.denizcemonduygu.com/philo/browse/

      History of Philosophy: Summarized & Visualized

      This could be thought of as a form of digital, single-project zettelkasten dedicated to philosophy. It's got people, sources, and ideas which are cross linked in a Luhmann-sense (without numbering) though not in a topical index-sense. Interestingly it has not only a spatial interface and shows spatial relationships between people and ideas over time using a timeline, but it also indicates—using colored links—the ideas of disagreement/contrast/refutation and agreement/similarity/expansion.

      What other (digital) tools of thought provide these sorts of visualization affordances?

    1. https://www.loom.com/share/a05f636661cb41628b9cb7061bd749ae

      Synopsis: Maggie Delano looks at some of the affordances supplied by Tana (compared to Roam Research) in terms of providing better block-based user interface for note type creation, search, and filtering.

      These sorts of tools and programmable note implementations remind me of Beatrice Webb's idea of scientific note taking or using her note cards like a database to sort and search for data to analyze it and create new results and insight.

      It would seem that many of these note taking tools like Roam and Tana are using blocks and sub blocks as a means of defining atomic notes or database-like data in a way in which sub-blocks are linked to or "filed underneath" their parent blocks. In reality it would seem that they're still using a broadly defined index card type system as used in the late 1800s/early 1900s to implement a set up that otherwise would be a traditional database in the Microsoft Excel or MySQL sort of fashion, the major difference being that the user interface is cognitively easier to understand for most people.

      These allow people to take a form of structured textual notes to which might be attached other smaller data or meta data chunks that can be easily searched, sorted, and filtered to allow for quicker or easier use.

      Ostensibly from a mathematical (or set theoretic and even topological) point of view there should be a variety of one-to-one and onto relationships (some might even extend these to "links") between these sorts of notes and database representations such that one should be able to implement their note taking system in Excel or MySQL and do all of these sorts of things.

      Cascading Idea Sheets or Cascading Idea Relationships

      One might analogize these sorts of note taking interfaces to Cascading Style Sheets (CSS). While there is the perennial question about whether or not CSS is a programming language, if we presume that it is (and it is), then we can apply the same sorts of class, id, and inheritance structures to our notes and their meta data. Thus one could have an incredibly atomic word, phrase, or even number(s) which inherits a set of semantic relationships to those ideas which it sits below. These links and relationships then more clearly define and contextualize them with respect to other similar ideas that may be situated outside of or adjacent to them. Once one has done this then there is a variety of Boolean operations which might be applied to various similar sets and classes of ideas.

      If one wanted to go an additional level of abstraction further, then one could apply the ideas of category theory to one's notes to generate new ideas and structures. This may allow using abstractions in one field of academic research to others much further afield.

      The user interface then becomes the key differentiator when bringing these ideas to the masses. Developers and designers should be endeavoring to allow the power of complex searches, sorts, and filtering while minimizing the sorts of advanced search queries that an average person would be expected to execute for themselves while also allowing some reasonable flexibility in the sorts of ways that users might (most easily for them) add data and meta data to their ideas.

      Jupyter programmable notebooks are of this sort, but do they have the same sort of hierarchical "card" type (or atomic note type) implementation?

    1. Posted byu/Kshkn16 hours agoRate my idea for a new product

      One might suggest that the freedom, flexibility, and customization of these systems is actually an unuseful time suck for many users which only encourages shiny object syndrome. From a design perspective, try starting out building a system that works for you before beginning on design for others. Research and looking at the user interfaces offered by the competition will helpful as well. Which are the most popular? fun to use? Why? What actual affordances do those interfaces and functionalities allow? are they truly productive?

      Possibly more productive, what sorts of standards can you leverage to make people's pre-existing notes more useful? Can you take pre-existing stores of .txt or .md files and provide different views or perspectives on them? This will allow people to pick and choose which applications might work with their stores of data to provide different views or perspectives on them. Why reinvent a text editor or tools like Logseq or Obsidian when you can leverage the local stores of data to provide the sorts of services you're not seeing in the broader space? For example, on the "social media" side, there are existing solutions for taking your locally stored notes, putting them into the cloud and displaying them on the web, but the various steps are highly technical and require a relatively large amount of work and admin tax to maintain. A service that allows one to point at their local store of data and automatically host it on a website and keep it synced would be a major boon for the non-technical user.

      Separately, Matuschak did not invent evergreen notes. The first clear cut instantiation I've seen in the literature is from Konrad Gessner in 1548, and honestly even his idea really stems from a longstanding tradition of working with commonplace sententiae preceding his work. (see https://hypothes.is/a/uEboYlOwEeykkotYs594LA) Matuschak simply applied the definition/idea of "evergreen" (meaning easily reusable) articles or content from journalism to describe his notes which could be reused in various contexts. (Example: Why rewrite an article on how to decorate and entertain for the holidays, when you can reuse the same article you've been publishing for years, perhaps along with some updated photos?) "Atomic" notes is another variation on this same theme, but is one which underlies the ability to re-use notes in combination with one or more other notes to generate new ideas.

    1. I love that he closes the pamphlet again with a nod to comfort and ease of use.

      ...what this pamphlet has sought to do is to make it possible for the researcher to develop a way of doing things which will be as productive and as comfortable as possible.

    2. ...the usefulness of a note-taking system has an ultimate limit beyond which it becomes self-defeating. [...] After all, the ultimate purpose of the exercise is not to produce beautiful notes displaying the researcher's technical prowess, but rather usable notes to build the mosaic.<br /> —Jacques Goutor (p33)

    3. Unlike many note taking manuals, Goutor advises that within the small list of rules and standards which he's laid out, one should otherwise default to maximizing the comfort of their note taking system. This may be as small as using one's favorite writing instruments or inks. (p28)

      It's nice to see him centering self-care and small things which contribute to the researchers' mental health within note taking design and user interface.

    1. This search for order pushes one to seek out under-lying patterns and trends, to find relations that may betypical and causal.

      Finding order and relations (and their particular types), is a form of linking ideas found in some of the more complex zettelkasten and knowledge management spaces. It's not as explicit here and he doesn't seem to be focusing on stating or writing explicit links within his notes. He does, however, place some focus on the quality and types of links he's making (or at least thinking about), something which isn't frequently seen in the current PKM space. For example, no one is creating user interfaces that show links between ideas which are opposite (or in opposition or antonym relation) to each other.

  8. Aug 2022
    1. Half the time I begin typing something, I'm not even sure what I'm writing yet. Writing it out is an essential part of thinking it out. Once I've captured it, re-read it, and probably rewritten it, I can then worry about what to label it, what it connects to, and where it should 'live' in my system.

      One of my favorite things about Hypothes.is is that with a quick click, I've got a space to write and type and my thinking is off to the races.

      Sometimes it's tacitly (linked) attached to another idea I've just read (as it is in this case), while other times it's not. Either way, it's coming out and has at least a temporary place to live.

      Later on, my note is transported (via API) from Hypothes.is to my system where I can figure out how to modify it or attach it to something else.

      This one click facility is dramatically important in reducing the friction of the work for me. I hate systems which require me to leave what I'm doing and opening up another app, tool, or interface to begin.

    1. https://www.kevinmarks.com/memex.html

      I got stuck over the weekend, so I totally missed Kevin Marks' memex demo at IndieWebCamp's Create Day, but it is an interesting little UI experiment.

      I'll always maintain that Vannevar Bush really harmed the first few generations of web development by not mentioning the word commonplace book in his conceptualization. Marks heals some of this wound by explicitly tying the idea of memex to that of the zettelkasten however. John Borthwick even mentions the idea of "networked commonplace books". [I suspect a little birdie may have nudged this perspective as catnip to grab my attention—a ruse which is highly effective.]

      Some of Kevin's conceptualization reminds me a bit of Jerry Michalski's use of The Brain which provides a specific visual branching of ideas based on the links and their positions on the page: the main idea in the center, parent ideas above it, sibling ideas to the right/left and child ideas below it. I don't think it's got the idea of incoming or outgoing links, but having a visual location on the page for incoming links (my own site has incoming ones at the bottom as comments or responses) can be valuable.

      I'm also reminded a bit of Kartik Prabhu's experiments with marginalia and webmention on his website which plays around with these ideas as well as their visual placement on the page in different methods.

      MIT MediaLab's Fold site (details) was also an interesting sort of UI experiment in this space.

      It also seems a bit reminiscent of Kevin Mark's experiments with hovercards in the past as well, which might be an interesting way to do the outgoing links part.

      Next up, I'd love to see larger branching visualizations of these sorts of things across multiple sites... Who will show us those "associative trails"?

      Another potential framing for what we're all really doing is building digital versions of Indigenous Australian's songlines across the web. Perhaps this may help realize Margo Neale and Lynne Kelly's dream for a "third archive"?

  9. Jul 2022
  10. Jun 2022
    1. https://docs.google.com/document/d/1N4LYLwa2lSq9BizDaJDimOsWY83UMFqqQc1iL2KEpfY/edit

      P.R.O.B.E. rubric participation (exceeds, meets fails), respectful, open, brave, educational

      Mentioned in the chat at Hypothes.is' SOCIAL LEARNING SUMMIT: Spotlight on Social Reading & Social Annotation

      in the session on Bringing the Margins to Center: Introduction to Social Annotation

      Looking at the idea of rubrication, I feel like I ought to build a Tampermonkey or Greasemonkey script that takes initial capitals on paragraphs and makes them large, red, or even illuminated. Or perhaps something that converts the CSS of Hypothes.is and makes it red instead of yellow?

      What if we had a collection of illuminated initials and some code that would allow for replacing capitals at the start of paragraphs? Maybe a repository like giphy or some of the meme and photo collections for reuse?

    1. "The implicit feel of where you are in a physical book turns out to be more important than we realized," says Abigail Sellen of Microsoft Research Cambridge in England and co-author of The Myth of the Paperless Office. "Only when you get an e-book do you start to miss it. I don't think e-book manufacturers have thought enough about how you might visualize where you are in a book."

      How might we design better digital reading interfaces that take advantage of a wider range of modes of thinking and reading?

      Certainly adding audio to the text helps to bring in benefits of orality, but what other axes are there besides the obvious spatial benefits?

    2. In turn, such navigational difficulties may subtly inhibit reading comprehension.

      If digital user interfaces and navigational difficulties inhibited reading comprehension in the modern age, what did similar interfaces do to early reading practices?

      What methods do we have to tease out data of these sorts of early practices?

      What about changes in modes of reading (reading out loud vs. reading quietly)?

      I'm reminded of this as a hyperbolic answer, but still the root question may be an apt one:


    1. You can use click on the < button in the top-right of your browser window to read and write comments on this post with Hypothesis. You can read more about how I use this software here.

      Spencer's example of user interface below his posts to indicate how readers might comment on his website.

  11. May 2022
    1. However, what if we replace “ human face ” in this decisive quotewith “interface,” that is, the interface between man and apparatus?

      This wording seems quite profound.

      It means that by creating a personification of our tools, we can more easily communicate with them.

      Do people personify their computers? I remember in the late 80s and early 90s computer workstations, especially in university settings, having personified names.

      Link this to the personification of rocks w.r.t. talking rocks and oral traditions.

      link to: https://hypothes.is/a/KosdVt1qEeykU2dTuVZT3Q

    1. suppose when you needed to make a permanent edit to the style sheet on your homepage, you opened up the CSS viewer, made the edit, and the result persists—not just in your browser, but by changing the very style sheet itself
  12. Apr 2022
    1. In an ever-increasing sphere of digital print, why can't publishers provide readers a digitally programmed selection of footnote references in texts?

      This digital version of Annie Murphy Paul's book has endnotes with links from the endnotes back to the original pages, but the opposite links from the reading don't go to the endnotes in an obvious way.

      I'd love to be able to turn on/off a variety of footnote options so that I can see them on the pages they appear, as pop up modals, or browse through them in the end notes after-the-fact as I choose. This would allow me to have more choice and selection from a text based on what I want to get out of it rather than relying on a publisher to make that choice for me.

      Often in publishing a text written for the broad public will "hide" the footnotes at the end of the text in unintuitive ways where as more scholarly presses will place them closer to their appearance within the text. Given the digital nature of texts, it should be possible to allow the reader to choose where these items appear to suit their reading styles.

    1. Another fourteenth- century manuscript of Hautfuney’s index to Vincent of Beauvais’s Speculum historiale. The absence of rubrication and the narrower columns make the entries harder to identify although the two indexes contain the same information.
  13. Mar 2022
    1. Is there a setting (or would it be possible to add one) so I can change the width of the sidebar with the annotations? On my bigger monitor it's ok, but on my normal screen I can barely see the actual PDF and the side bar covers almost half the screen. Also, I had a very hard time getting the plugin to actually find the file. It couldn't find it anywhere aside from the same folder the annotation note is in. (I tried a different folder in the vault, as well as an absolute path on my PC.) Aside from that, love the plugin! Thanks :)

      The ability to resize the Hypothes.is drawer is already built into the Hypothes.is interface natively. In the top left of the drawer there is a ">" tab that you can drag to resize the annotations window to suit your needs. Clicking on it will allow you to open and close the pane as needed. If it's closed (the icon appears as "<"), you can highlight and choose "annotate" or "highlight" and it will automatically re-open the Hypothes.is interface.

    1. Capybara can get us part of the way there. It allows us to work with an API rather than manipulating the HTML directly, but what it provides isn't an application specific API. It gives us low-level API methods like find, fill_in, and click_button, but it doesn't provide us with high-level methods to do things like "sign in to the app" or "click the Dashboard item in the navigation bar".
    1. A major advance in user interfaces that supports creative exploration would the capacity to go back in time, to review and manipulate the history of actions taken during an entire session. Users will be able to see all the steps in designing an engine and change an early design decision. They will be able to extract sections of the history to replay them or to convert into permanent macros that can be applied in similar situations. Extracting and replaying sections of history is a form of direct man ipulation programming. It enables users to explore every alternative in a decision-making situation, and then chose the one with the most favorable outcomes.

      While being able to view the history of a problem space from the perspective of a creation process is interesting, in reverse, it is also an interesting way to view a potential learning experience.

      I can't help but think about the branching tree networks of knowledge in some math texts providing potential alternate paths through the text to allow learners to go from novice to expert in areas in which they're interested. We need more user interfaces like this.

    2. Learning how to learn is often listed as a goal of education, but acquiring the goal-directed discipline, critical thinking skills, and cognitive self-awareness that support collection of knowledge is difficult. Advanced user interfaces may be able to help users better formulate their information needs, identify what information gaps impede them, and fabricate plans to satisfy their needs. Often as information is acquired, the users's knowledge shifts enough to require a reformulation of their plans. Information visualization interfaces and hypertext environments are a first step in supporting incidental learning, exploratory browsing, and then rapid reformulation of plans. As a refined theory of knowledge acquisition emerges, improved tools will f ollow.
    3. Since any powerful tool, such as a genex, can be used for destructive purposes, the cautions are discussed in Section 5.

      Given the propensity for technologists in the late 90s and early 00s to have rose colored glasses with respect to their technologies, it's nice to see at least some nod to potential misuses and bad actors within the design of future tools.

    4. Users who expe rience empowering designs that are comprehensible, predictable, and controllable, may be inspired to pursue quality in their work products.

      This sounds a lot like the management philosophy of W. Edwards Deming who encouraged managers to empower workers to take ownership of their craft and work.

  14. Feb 2022
  15. Jan 2022
    1. As John Palmer points out in his brilliant posts on Spatial Interfaces and Spatial Software, “Humans are spatial creatures [who] experience most of life in relation to space”.

      This truism is certainly much older than John Palmer, but an interesting quote none-the-less.

      It could be useful to meditate on the ideas of "spatial interfaces" and "spatial software" as useful affordances within the application and design spaces.

  16. Dec 2021
    1. Even more important is that all this isn’t about the software. It is about the system you set up. Some software nudges you, sometimes even pushes you, towards system design decisions. Take Wikis as an example. Most of them have two different modes: The reading mode. The editing mode. The reading mode is the default. But most of the time you should create, edit and re-edit the content. This default, this separation of reading and editing, is a small but significant barrier on producing content. You will behave differently. This is one reason I don’t like wikis for knowledge work. They are clumsy and work better for different purposes.

      Most wikis have a user interface problem between their read and edit modes. Switching between the two creates additional and unnecessary friction for placing content and new information into them.

  17. worrydream.com worrydream.com
    1. Bret Victor: email (9/3/04) Interface matters to me more than anything else, and it always has. I just never realized that. I've spent a lot of time over the years desperately trying to think of a "thing" to change the world. I now know why the search was fruitless -- things don't change the world. People change the world by using things. The focus must be on the "using", not the "thing". Now that I'm looking through the right end of the binoculars, I can see a lot more clearly, and there are projects and possibilities that genuinely interest me deeply.

      Specifically highlighting that the "focus must be on the 'using', not the 'thing'".

      This quote is very reminiscent of John M. Culkin's quote (often misattributed to McLuhan) "We shape our tools and thereafter they shape us."

      <small><cite class='h-cite via'> <span class='p-author h-card'>Linus Lee</span> in Towards a research community for better thinking tools | thesephist.com (<time class='dt-published'>12/01/2021 08:23:07</time>)</cite></small>

  18. Nov 2021
    1. So now the question is, why does Session, an interface, not get implicit index signatures while SessionType, an identically-structured typealias, *does*? Surely, you might again think, the compiler does not simply deny implicit index signatures tointerface` types? Surprisingly enough, this is exactly what happens. See microsoft/TypeScript#15300, specifically this comment: Just to fill people in, this behavior is currently by design. Because interfaces can be augmented by additional declarations but type aliases can't, it's "safer" (heavy quotes on that one) to infer an implicit index signature for type aliases than for interfaces. But we'll consider doing it for interfaces as well if that seems to make sense And there you go. You cannot use a Session in place of a WithAdditionalParams<Session> because it's possible that someone might merge properties that conflict with the index signature at some later date. Whether or not that is a compelling reason is up for rather vigorous debate, as you can see if you read through microsoft/TypeScript#15300.
    1. An interface can be re-opened. Whereas a type is sealed. So a solution for microsoft/TypeScript#15300 is to map the interface (which can be defined in many places) to a type.
  19. Oct 2021
  20. Sep 2021
    1. Senseplay is an all-in-one ecosystem of biosensing hardware and software SDK to build anything from brain-computer interfaces, neurogames, biofeedback controlled installations and educational applications.

      Mark Wagnon shared a product that is exploring the integration of humans with machines.

  21. Aug 2021
    1. This is one of the points made in TheMythOfThePaperlessOffice -- that workplaces often shift from more efficient paper-based technologies to less efficient electronic technologies (electronic technologies can be either more or less efficient, of course) because computers symbolize The Future, Progress, and a New Way Of Doing Things. An office on the move, that's what an office that uses cutting-edge technology is. Not an office that is stuck in the past. And the employees are left to cope with the less productive, but shinier, New Way. -- ApoorvaMuralidhara

      New technologies don't always have the user interface to make them better than old methods.

  22. Jun 2021
    1. Hypothesis permet d’annoter et de commenter très simplement une page web, de manière collective

      Cet outil est en effet pratique, bien qu'il nécessite un compte. Je comprends le choix en terme pratique et en terme de référencement du projet. Mais n'aurait-il pas été intéressant de créer un site et un outil par soi-même? En tant que designer éditorial, il me parait primordial de réfléchir et se réapproprier la forme plutôt que de se conformer à des formes standardisées (ici une forme plutôt classique finalement). Une question très contemporaine je pense, quand on voit ce que sont devenues nos interfaces : les Géants laissent peu de place à la personnalisation, à l'appropriation des outils, et l'utilisateur est quelque peu infantilisé.

    1. a principle I use is: If you have an accessor, use the accessor rather than the raw variable or mechanism it's hiding. The raw variable is the implementation, the accessor is the interface. Should I ignore the interface because I'm internal to the instance? I wouldn't if it was an attr_accessor.
    2. Also, Sandi Metz mentions this in POODR. As I recall, she also advocates wrapping bare instance variables in methods, even when they're only used internally. It helps avoid mad refactoring later.
    3. But suddenly I'm using a raw instance variable, which makes me twitch. I mean, if I needed to process has_sauce before setting at a future date, I'd potentially need to do a lot more refactoring than just overriding the accessor.
  23. May 2021
  24. Mar 2021
    1. Here's where I start to have a preference for Svelte; the two are very similar but once I got used to Svelte I found that React felt like jumping through hoops. You can't create a worker instance, it has to go in a useRef, and then you can't easily pull code out into a function without then requiring useCallback so it can be a safe dependency on useEffect. With Svelte I write code that's closer to "plain" JavaScript, whereas in React more of my code is wrapped in a React primitive.
    1. You don’t have to stick to the task interface! The [circuit interface] is a bit more clumsy, but gives you much better control over how ctx and signals are handled.
    2. The circuit interface is a bit more clumsy but it gives you unlimited power over the way the activity will be run.
  25. Feb 2021
    1. In object-oriented programming, information hiding (by way of nesting of types) reduces software development risk by shifting the code's dependency on an uncertain implementation (design decision) onto a well-defined interface. Clients of the interface perform operations purely through it so if the implementation changes, the clients do not have to change.
    1. The more important point comes from a program design perspective. Here, "programming to an interface" means focusing your design on what the code is doing, not how it does it. This is a vital distinction that pushes your design towards correctness and flexibility.
    2. My understanding of "programming to an interface" is different than what the question or the other answers suggest. Which is not to say that my understanding is correct, or that the things in the other answers aren't good ideas, just that they're not what I think of when I hear that term.
    3. Programming to an interface means that when you are presented with some programming interface (be it a class library, a set of functions, a network protocol or anything else) that you keep to using only things guaranteed by the interface. You may have knowledge about the underlying implementation (you may have written it), but you should not ever use that knowledge.
    4. If the program was important enough, Microsoft might actually go ahead and add some hack to their implementation so the the program would continue to work, but the cost of that is increased complexity (with all the ensuing problems) of the Windows code. It also makes life extra-hard for the Wine people, because they try to implement the WinAPI as well, but they can only refer to the documentation for how to do this, which leads to many programs not working as they should because they (accidentally or intentionally) rely on some implementation detail.
    5. Abstract myself from the how it does and get focus on what to do.
    6. Say you have software to keep track of your grocery list. In the 80's, this software would work against a command line and some flat files on floppy disk. Then you got a UI. Then you maybe put the list in the database. Later on it maybe moved to the cloud or mobile phones or facebook integration. If you designed your code specifically around the implementation (floppy disks and command lines) you would be ill-prepared for changes. If you designed your code around the interface (manipulating a grocery list) then the implementation is free to change.
    7. It's more like providing an Employee object rather than the set of linked tables you use to store an Employee record. Or providing an interface to iterate through songs, and not caring if those songs are shuffled, or on a CD, or streaming from the internet. They're just a sequence of songs.
  26. Oct 2020
    1. This assumes that the module has been given a well-defined, stable description (the interface in the sense of information hiding).
  27. Sep 2020
    1. Svelte will not offer a generic way to support style customizing via contextual class overrides (as we'd do it in plain HTML). Instead we'll invent something new that is entirely different. If a child component is provided and does not anticipate some contextual usage scenario (style wise) you'd need to copy it or hack around that via :global hacks.
    2. Explicit interfaces are preferable, even if it places greater demand on library authors to design both their components and their style interfaces with these things in mind.
  28. Jun 2020
  29. May 2020
  30. Apr 2020
    1. This is one possible path to take in that you simply reject the registration and ask the user to create another password. Per NIST's guidance though, do explain why the password has been rejected:
  31. Jan 2020
  32. Dec 2019
    1. TUI

      I assume this means text-based UI?? First time I've seen this term.

  33. plaintext-productivity.net plaintext-productivity.net
    1. Avoiding complicated outlining or mind-mapping software saves a bunch of mouse clicks or dreaming up complicated visualizations (it helps if you are a linear thinker).

      Hmm. I'm not sure I agree with this thought/sentiment (though it's hard to tell since it's an incomplete sentence). I think visualizations and mind-mapping software might be an even better way to go, in terms of efficiency of editing (since they are specialized for the task), enjoyment of use, etc.

      The main thing text files have going for them is flexibility, portability, client-neutrality, the ability to get started right now without researching and evaluating a zillion competing GUI app alternatives.

    1. Might be a little too low-level (even with GUIs) for some teams of users. GPG and Git both require some setup and experience in these tools, or the willingness to learn. Porting a GPG key from machine to machine is not trivial.
  34. Oct 2019
    1. Unfortunately, numerous widely-used tagless-final interfaces (like Sync, Async, LiftIO, Concurrent, Effect, and ConcurrentEffect) encourage you to code to an implementation.


  35. Sep 2019
  36. Aug 2019
  37. Jun 2019
  38. Mar 2019
    1. Shneiderman's eight golden rules of interface design This is a simple page that lists and briefly explains the eight golden rules of interface design. The rules are quite useful when designing interfaces and the explanation provided here is sufficient to enable the visitor to use the principles. Rating 5/5

  39. Feb 2019
    1. with either hand (one pen is positioned for each hand)

      A fully ambidextrous interface, both hands with keys and pens. Where is that done now?

    2. giving the human the minute-by-minute services of a digital computer equipped with computer-driven cathode-ray-tube display

      Sitting there with a smartphone one might smirk at the mention of a CRT display, but remember when this was written-- screens were way way off from being a "normal" interface for computer interaction

  40. Nov 2018
  41. Jun 2018
    1. One consequence of thisposition is a more radical understanding of the sense in whichmateriality is discursive (i.e., material phenomena are inseparable from theapparatuses of bodily production: matteremerges out of and includes as part of itsbeing the ongoing reconfiguring of boundaries), just as discursive practices arealways already material (i.e., they are ongoing material (re)configurings of theworld) (2003: 822).Brought back into the world oftechnology design, this intimate co-constitution ofconfigured materialities with configuring agencies clearly implies a very differentunderstanding of the ‘human-machine interface’.