464 Matching Annotations
  1. Last 7 days
  2. Jan 2024
    1. Instance methods Instances of Models are documents. Documents have many of their own built-in instance methods. We may also define our own custom document instance methods. // define a schema const animalSchema = new Schema({ name: String, type: String }, { // Assign a function to the "methods" object of our animalSchema through schema options. // By following this approach, there is no need to create a separate TS type to define the type of the instance functions. methods: { findSimilarTypes(cb) { return mongoose.model('Animal').find({ type: this.type }, cb); } } }); // Or, assign a function to the "methods" object of our animalSchema animalSchema.methods.findSimilarTypes = function(cb) { return mongoose.model('Animal').find({ type: this.type }, cb); }; Now all of our animal instances have a findSimilarTypes method available to them. const Animal = mongoose.model('Animal', animalSchema); const dog = new Animal({ type: 'dog' }); dog.findSimilarTypes((err, dogs) => { console.log(dogs); // woof }); Overwriting a default mongoose document method may lead to unpredictable results. See this for more details. The example above uses the Schema.methods object directly to save an instance method. You can also use the Schema.method() helper as described here. Do not declare methods using ES6 arrow functions (=>). Arrow functions explicitly prevent binding this, so your method will not have access to the document and the above examples will not work.

      Certainly! Let's break down the provided code snippets:

      1. What is it and why is it used?

      In Mongoose, a schema is a blueprint for defining the structure of documents within a collection. When you define a schema, you can also attach methods to it. These methods become instance methods, meaning they are available on the individual documents (instances) created from that schema.

      Instance methods are useful for encapsulating functionality related to a specific document or model instance. They allow you to define custom behavior that can be executed on a specific document. In the given example, the findSimilarTypes method is added to instances of the Animal model, making it easy to find other animals of the same type.

      2. Syntax:

      Using methods object directly in the schema options:

      javascript const animalSchema = new Schema( { name: String, type: String }, { methods: { findSimilarTypes(cb) { return mongoose.model('Animal').find({ type: this.type }, cb); } } } );

      Using methods object directly in the schema:

      javascript animalSchema.methods.findSimilarTypes = function(cb) { return mongoose.model('Animal').find({ type: this.type }, cb); };

      Using Schema.method() helper:

      javascript animalSchema.method('findSimilarTypes', function(cb) { return mongoose.model('Animal').find({ type: this.type }, cb); });

      3. Explanation in Simple Words with Examples:

      Why it's Used:

      Imagine you have a collection of animals in your database, and you want to find other animals of the same type. Instead of writing the same logic repeatedly, you can define a method that can be called on each animal instance to find similar types. This helps in keeping your code DRY (Don't Repeat Yourself) and makes it easier to maintain.

      Example:

      ```javascript const mongoose = require('mongoose'); const { Schema } = mongoose;

      // Define a schema with a custom instance method const animalSchema = new Schema({ name: String, type: String });

      // Add a custom instance method to find similar types animalSchema.methods.findSimilarTypes = function(cb) { return mongoose.model('Animal').find({ type: this.type }, cb); };

      // Create the Animal model using the schema const Animal = mongoose.model('Animal', animalSchema);

      // Create an instance of Animal const dog = new Animal({ type: 'dog', name: 'Buddy' });

      // Use the custom method to find similar types dog.findSimilarTypes((err, similarAnimals) => { console.log(similarAnimals); }); ```

      In this example, findSimilarTypes is a custom instance method added to the Animal schema. When you create an instance of the Animal model (e.g., a dog), you can then call findSimilarTypes on that instance to find other animals with the same type. The method uses the this.type property, which refers to the type of the current animal instance. This allows you to easily reuse the logic for finding similar types across different instances of the Animal model.

      Certainly! Let's go through each part and explain it in simple terms: ### 1. `this` in Mongoose: - **What is `this`?** In JavaScript, `this` refers to the current context or object. In Mongoose, particularly within methods and middleware functions, `this` represents the instance (document) the function is currently operating on. - **Why is it used?** `this` is used to access and modify the properties of the current document. For example, in a Mongoose method, `this` allows you to refer to the fields of the specific document the method is called on. ### 2. Example: Let's use the `userSchema.pre("save", ...)`, which is a Mongoose middleware, as an example: ```javascript userSchema.pre("save", async function (next) { if (!this.isModified("password")) { next(); } else { this.password = await bcrypt.hash(this.password, 10); next(); } }); ``` - **Explanation in Simple Words:** - Imagine you have a system where users can sign up and set their password. - Before saving a new user to the database, you want to ensure that the password is securely encrypted (hashed) using a library like `bcrypt`. - The `userSchema.pre("save", ...)` is a special function that runs automatically before saving a user to the database. - In this function: - `this.isModified("password")`: Checks if the password field of the current user has been changed. - If the password is not modified, it means the user is not updating their password, so it just moves on to the next operation (saving the user). - If the password is modified, it means a new password is set or the existing one is changed. In this case, it uses `bcrypt.hash` to encrypt (hash) the password before saving it to the database. - The use of `this` here is crucial because it allows you to refer to the specific user document that's being saved. It ensures that the correct password is hashed for the current user being processed. In summary, `this` in Mongoose is a way to refer to the current document or instance, and it's commonly used to access and modify the properties of that document, especially in middleware functions like the one demonstrated here for password encryption before saving to the database.

    Tags

    Annotators

    URL

    1. You can see how the constant jumping between these two tools in the first scenario is super annoying, and also very risky as none of the changes you make in Figma are also automatically being updated in the same GitLab designs.
    2. As a positive example of where this works well: Our VS Code GitLab Workflow extension allows users to not only see comments that were written inside the GitLab UI, but also allows these users to respond to these comments right from the IDE, the tool where they actually have to make these changes.
    1. Getting the EPP/Auth code of your own domain should be instantaneous. I know of no other registrar, besides Network Solutions, that makes the process so painful. It's a multi-step process to make the request, during which they wave both carrot and stick at you to try and stop you going ahead… and when you do forge ahead, they make you wait 3 days for the code, as if to punish you for daring to ask for the right to transfer your own domain name. What are these guys smoking if they think that's how you keep customers?!
    2. Network Solutions basically does not want to provide EPP code. On website it says requesting EPP would take 3 days to get approved (which doesn't make any sense), and in fact they never send out any EPP code. Instead, you will have to call them and ask for EPP code in person. They claimed that their system had some problems sending those emails, however do you really believe that? I don't think it is indeed a "problem" if it's been there for over one year.
    3. Network solutions is awful. They behave like mobsters. If you make changes on your account such as changing the e-mail, they very conveniently lock your domain so it cannot be transfered for 60 days. They say that block it's for 'your security'.
    1. Looking at the screen captures, one thing I like about HIEW is that it groups octets into sets of 32 bits in the hex view (by interspersing hyphens (-) throughout). Nice.

    1. What’s worse, their login process is infuriating. It took me 10 minutes just to get into my account.
    2. 4) Don’t make people log in to unsubscribe.Your subscriber is already overwhelmed by his inbox. He probably spends about 28% of his workday just managing email, according to a McKinsey Global Institute report. So don’t make it any harder by forcing him to log into an account he probably doesn’t remember creating before he can unsubscribe.
  3. Dec 2023
    1. I've noticed that sometime in December 2023, Hypothes.is has updated their public software to include the page number of the pdf annotations are made in into their user interface.

    Tags

    Annotators

    1. I think librarians, like all users of web-based information systems, should be unpleasantly surprised when they find that their systems haven't been engineered in the common sense ways that make them friendly to ad hoc integration.
    1. A User access token is used if your app takes actions in real time, based on input from the user. This kind of access token is needed any time the app calls an API to read, modify or write a specific person's Facebook data on their behalf. A User access tokens is generally obtained via a login dialog and requires a person to permit your app to obtain one.
  4. Nov 2023
    1. // oftentimes once we have a proper e2e test around logging in
      // there is NO more reason to actually use our UI to log in users
      // doing so wastes a huge amount of time, as our entire page has to load
      // all associated resources have to load, we have to wait to fill the
      // form and for the form submission and redirection process
      
    1. Improved blank slate experiences: After a user signs in using a social media account, site owners have the ability to auto-suggest or auto-populate their settings with information held in their social account. This lets organizations create a first impression of convenience and encourage further use of their apps and site.
    1. The default user profile is based on the System for Cross-domain Identity Management: Core Schema (opens new window) and has following standard properties
    1. Besides the security concerns related to potential XSS vulnerabilities, keeping the token in memory has a big downside regarding user experience as the token gets dropped on page reloads. The application must then obtain a new token, which may trigger a new user authentication. A secure design should take user experience into account.
    1. posted reply:

      I appreciate that you're centering some of the Cornell notes workflow into a linked note taking system. I don't think many (any?) of the note taking platforms have made it easy for students to quickly or easily create questions from their Cornell notes and build them into a spaced repetition practice. I've seen a handful transfer their work into other platforms like Anki, Mnemosyne, etc. for this purpose, but it would be interesting to see Protolyst and others offer this as out of the box functionality for following up on Cornell notes workflows. I've not seen it mentioned in any parts of the note taking space, but Cornell notes are essentially a Bibliography note/card (where the source is typically a lecture) + fleeting notes which stem from it (in a Niklas Luhmann-artig zettelkasten framing) out of which one would build their permanent notes as well as create questions for spaced repetition and review. User interfaces like that of Protolyst could potentially leverage these common workflows to great advantage.

    2. Next Step for your Cornell Notes? by Dr Maddy<br /> https://www.youtube.com/watch?v=QZFrR-u9Ovk

      Like that someone in the space is thinking about taking Cornell notes and placing them into the linked note taking framing.

      She doesn't focus enough on the questions or the spaced repetitions pieces within Cornell. How might this be better built into a UI like Protolyst, Obsidian, etc.? Where is this in people's note taking workflows?

    1. SIMPLER First Zettelkasten from Scratch by Dr Maddy https://www.youtube.com/watch?v=TRrKO6TNN6w

      Protolyst has an "atom" functionality for short quick notes.

      The UI of Protolyst looks nice, but I wonder how well it holds up when one is at 10,000 notes? Is it still as simple?

  5. Oct 2023
    1. What is it with index cards ? .t3_17ck5la._2FCtq-QzlfuN-SwVMUZMM3 { --postTitle-VisitedLinkColor: #9b9b9b; --postTitleLink-VisitedLinkColor: #9b9b9b; --postBodyLink-VisitedLinkColor: #989898; } So I posted a while ago about my journey into the zettlekasten and I have to admit I still enjoy using this system for notes.I must say, I am an avid note taker for a long time. I write ideas, notes from books, novels, poems and so much more. I mainly used to use notebooks, struggle a while with note taking apps and now I mainly use two kind of things : index cards (A6) and an e-ink tablet (the supernote) for different purpose of course, the index cards for the zettelkasten and the e-ink tablet for organization and my work. To be honest I used to consider myself more a notebooks kind of person than an index cards one (and I am from France we don't use index cards but "fiche bristol" which are bigger than A6 notecards, closer to an A5 format)Still, there is something about index cards, I cannot tell what it is, but it feels something else to write on this, like my mind is at ease and I could write about ideas, life and so many stuff covering dozens of cards. I realize that after not touching my zettelkasten for a few week (lack of time) and coming back to it. It feels so much easier to write on notecards than on notebooks (or any other place) and I can't explain it.Anyone feeling the same thing ?

      reply to u/Sensitive-Binding at https://www.reddit.com/r/antinet/comments/17ck5la/what_is_it_with_index_cards/

      Some of it may involve the difference in available space versus other forms of writing on larger pages of paper. Similarly, many find that there is less pressure to write something short on Twitter or similar social media platforms because there is less space in the user interface that your mind feels the need to fill up. One can become paralyzed by looking at the larger open space on a platform like WordPress with the need to feel like they should write more.

      With index cards you fill one up easily enough, and if there's more, you just grab another card and repeat.


      cross reference with Fermat's Last Theorem being easier to suggest in a margin than actually writing it out in full.

  6. Sep 2023
    1. In other words, when a recipient clicks the “unsubscribe” link in your email, the recipient’s mail client will send an email to this address. It is your responsibility to receive and process these generated emails.
    1. Agency is the satisfying power to take meaningful action and see the results of our decisions and choices.

      Great definition of "agency." I think though that it leaves it up to us to determine what meaningful action is and what constitutes satisfying results.

    1. Which note taking app for a Luhmann Zettlekasten

      I've not tried it myself or seen an example, but given the structure, it would seem like Reveal.js might give you the the sort of functionality you're looking for while having many other affordances one might look for in a digital and/or online zettelkasten.

      inspired by question by u/Plastic-Lettuce-7150 at https://www.reddit.com/r/Zettelkasten/comments/168cmca/which_note_taking_app_for_a_luhmann_zettlekasten/

  7. Jul 2023
    1. ```js // Log the full user-agent data navigator .userAgentData.getHighEntropyValues( ["architecture", "model", "bitness", "platformVersion", "fullVersionList"]) .then(ua => { console.log(ua) });

      // output { "architecture":"x86", "bitness":"64", "brands":[ { "brand":" Not A;Brand", "version":"99" }, { "brand":"Chromium", "version":"98" }, { "brand":"Google Chrome", "version":"98" } ], "fullVersionList":[ { "brand":" Not A;Brand", "version":"99.0.0.0" }, { "brand":"Chromium", "version":"98.0.4738.0" }, { "brand":"Google Chrome", "version":"98.0.4738.0" } ], "mobile":false, "model":"", "platformVersion":"12.0.1" } ```

    1. ```idl dictionary NavigatorUABrandVersion { DOMString brand; DOMString version; };

      dictionary UADataValues { DOMString architecture; DOMString bitness; sequence<NavigatorUABrandVersion> brands; DOMString formFactor; sequence<NavigatorUABrandVersion> fullVersionList; DOMString model; boolean mobile; DOMString platform; DOMString platformVersion; DOMString uaFullVersion; // deprecated in favor of fullVersionList boolean wow64; };

      dictionary UALowEntropyJSON { sequence<NavigatorUABrandVersion> brands; boolean mobile; DOMString platform; };

      [Exposed=(Window,Worker)] interface NavigatorUAData { readonly attribute FrozenArray<NavigatorUABrandVersion> brands; readonly attribute boolean mobile; readonly attribute DOMString platform; Promise<UADataValues> getHighEntropyValues (sequence<DOMString> hints ); UALowEntropyJSON toJSON (); };

      interface mixin NavigatorUA { [SecureContext] readonly attribute NavigatorUAData userAgentData ; };

      Navigator includes NavigatorUA; WorkerNavigator includes NavigatorUA; ```

    1. https://erinflotodesigns.com/collections/metal-stencils/products/bullet-journal-monthly-circle-tracker-stencil-habit-tracker-stencil-unique-design-stencil-cleaning-tracker-stencil

      Erin Floto has a metal stencil for a chronodex circular design for use in bullet journals. It's a form of circular calendar with the inner circle containing space for daily, bi-weekly, weekly, monthly and longer time horizons with succeeding rings of the circle containing space for data related to the inner categories. Some of the exterior rings also include numbered squares representing days of the month or week on which a task should be done or for which a habit on an interior part of the circle might be tracked.

      The chronodex, a portmanteau of chrono (time) and index, idea is fairly simple, but can be quite complex. For actual use, one may need to be able to spin the visualization around to read and understand it.

      Other stencils with habit trackers, etc: https://erinflotodesigns.com/collections/metal-stencils

  8. Jun 2023
    1. Examples include press releases, short reports, and analysis plans — documents that were reported as realistic for the type of writing these professionals engaged in as part of their work.

      Have in mind the genres tested.

      Looking from a perspective of "how might we use such tools in UX" we're better served by looking at documents that UX generates through the lens of identifying parallels to the study's findings for business documents.

      To use AI to generate drafts, we'll want to look at AI tools built into design tools UXers use to create drafts. Those tools are under development but still developing.

  9. May 2023
    1. Gmail does something similar. You can register an email address with a . in it and Gmail just ignores that for its internal email address. So you can get Firstname.Surname@gmail.com and that's effectively the same email address as FirstnameSurname@gmail.com. Back in 2004 when Gmail launched, I found this to be an especially user friendly feature of their email service
    1. Tagging and linking with AI (Napkin.one) by Nicole van der Hoeven

      https://www.youtube.com/watch?v=p2E3gRXiLYY

      Nicole underlines the value of a good user interface for traversing one's notes. She'd had issues with tagging things in Obsidian using their #tag functionality, but never with their [[WikiLink]] functionality. Something about the autotagging done by Napkin's artificial intelligence makes the process easier for her. Some of this may be down to how their user interface makes it easier/more intuitive as well as how it changes and presents related notes in succession.

      Most interesting however is the visual presentation of notes and tags in conjunction with an outliner for taking one's notes and composing a draft using drag and drop.

      Napkin as a visual layer over tooling like Obsidian, Logseq, et. al. would be a much more compelling choice for me in terms of taking my pre-existing data and doing something useful with it rather than just creating yet another digital copy of all my things (and potentially needing sync to keep them up to date).

      What is Napkin doing with all of their user's data?

    1. Circling back around to this after a mention by Tim Bushell at Dan Allosso's Book Club this morning. Nicole van der Hoeven has been using it for a while now and has several videos.

      Though called Napkin, which conjures the idea of (wastebook) notes scribbled on a napkin, is a card-based UI which has both manual and AI generated tags in a constellation-like UI. It allows creating "stacks" of notes which are savable and archivable in an outline-esque form (though the outline doesn't appear collapsible) as a means of composition.

      It's got a lot of web clipper tooling for saving and some dovetails for bringing in material from Readwise, but doesn't have great data export (JSON, CSV) at the moment. (Not great here means that one probably needs to do some reasonably heavy lifting to do the back and forth with other tools and may require programming skills.)

      At present, it looks like just another tool in the space but could be richer with better data dovetailing with other services.

  10. Apr 2023
    1. In Notes, writers will be able to post short-form content and share ideas with each other and their readers. Like our Recommendations feature, Notes is designed to drive discovery across Substack. But while Recommendations lets writers promote publications, Notes will give them the ability to recommend almost anything—including posts, quotes, comments, images, and links.

      Substack slowly adding features and functionality to make them a full stack blogging/social platform... first long form, then short note features...

      Also pushing in on Twitter's lunch as Twitter is having issues.

  11. Mar 2023
    1. Impersonation is a security concept implemented in Windows NT that allows a server application to temporarily "be" the client in terms of access to secure objects.
    1. User Experience The user experience will be familiar and consistent across many of the user’s devices – a simple verification of their fingerprint or face, or a device PIN, the same simple action that consumers take multiple times each day to unlock their devices.
    1. I found the format of these Hypothes.is notes to be much more readable than the notes on the same topic in Evernote.

      https://forum.zettelkasten.de/discussion/comment/17617#Comment_17617

      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.

    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)

  12. 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. 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

  13. Jan 2023
    1. Software should be a malleable medium, where anyone can edit their tools to better fit their personal needs. The laws of physics aren’t relevant here; all we need is to find ways to architect systems in such a way that they can be tweaked at runtime, and give everyone the tools to do so.

      It's clear that gklitt is referring to the ability of extensions to augment the browser, but: * it's not clear that he has applied the same thought process to the extension itself (which is also software, after all) * the conception of in-browser content as software tooling is likely a large reason why the perspective he endorses here is not more widespread—that content is fundamentally a copy of a particular work, in the parlance of US copyright law (which isn't terribly domain-appropriate here so much as its terminology is useful)

    1. در زمان کم بودن باطری خودمان متوقف کنیم خیلی چیزها رو ولی قبلش اطلاع بدیم به فرد ذی نفع

    2. Can see can choose can set can enable/disable

    1. If parent disabled one child notification, then notification related to that child shouldn't be sent to parent.

      notification push notification

    1. Create User Stories CollaborativelyWith the collaboration of all the development team, the epics are broken into several smaller user stories that will be used in the sprint.

      Create User Stories Collaboratively With the collaboration of all the development team, the epics are broken into several smaller user stories that will be used in the sprint.

  14. Dec 2022
    1. https://borretti.me/article/unbundling-tools-for-thought

      He covers much of what I observe in the zettelkasten overreach article.

      Missing is any discussion of exactly what problem he's trying to solve other than perhaps, I want to solve them all and have a personal log of everything I've ever done.

      Perhaps worth reviewing again to pull out specifics, but I just don't have the bandwidth today.

    1. It feels weird to say this in 2020, when the idea was presented as fait accompli in 1997, but an enabling open source software movement would operate more like a bazaar than a cathedral. There wouldn’t be an “upstream”, there would be different people who all had the version of the software that worked best for them. It would be easy to evaluate, compare, combine and modify versions, so that the version you end up with is the one that works best for you, too.
    1. This is a terrible idea. At least if there's no way to opt out of it! And esp. if it doesn't auto log out the original user after some timeout.

      Why? Because I may no longer remember which device/connection I used originally or may no longer have access to that device or connection.

      What if that computer dies? I can't use my new computer to connect to admin UI without doing a factory reset of router?? Or I have to clone MAC address?

      In my case, I originally set up via ethernet cable, but after I disconnected and connected to wifi, the same device could not log in, getting this error instead! (because different interface has different mac address)

    1. I'd love it to be normal and everyday to not assume that when you post a message on your social network, every person is reading it in a similar UI, either to the one you posted from, or to the one everyone else is reading it in.

      🤗

    2. Thinking about the circular relationship between UX and human behaviour - how they shape each other. The affordances of the system determine certain usage patterns, but people subvert those affordances, turn them to unexpected ends, and the system is often changed (if not directly by the designers, then indirectly through reinterpretation by the users) as a result.

      We shape our tools and thereafter they shape us....

    1. I came here after reading a couple articles (one on Super User & one on MS's help forums) recommending X-Mouse Button Control as a general way to disable back buttons on mice.

      Note: this doesn't seem to work on Windows 11 for Microsoft USB IntelliMouse Optical.

    1. If a contact ever reaches out and is no longer receiving messages because they accidentally marked one of your campaigns as spam, you can reach out to Product Support. We can remove them from the suppression list for you. 

      why not allow user to do it directly instead of force to contact support? If they'll remove it for you because you said the user asked you to... why not just let you remove the suppression yourself? Mailgun lets you directly delete suppressions via their API.

  15. Nov 2022
    1. In Potluck, we encourage people to write data in freeform text, and define searches to parse structure from the text.

      From a gradual enrichment standpoint I understand but from a data entry standpoint this seems like more work.

    1. Some of the sensitive data collection analyzed by The Markup appears linked to default behaviors of the Meta Pixel, while some appears to arise from customizations made by the tax filing services, someone acting on their behalf, or other software installed on the site. Report Deeply and Fix Things Because it turns out moving fast and breaking things broke some super important things. Give Now For example, Meta Pixel collected health savings account and college expense information from H&R Block’s site because the information appeared in webpage titles and the standard configuration of the Meta Pixel automatically collects the title of a page the user is viewing, along with the web address of the page and other data. It was able to collect income information from Ramsey Solutions because the information appeared in a summary that expanded when clicked. The summary was detected by the pixel as a button, and in its default configuration the pixel collects text from inside a clicked button.  The pixels embedded by TaxSlayer and TaxAct used a feature called “automatic advanced matching.” That feature scans forms looking for fields it thinks contain personally identifiable information like a phone number, first name, last name, or email address, then sends detected information to Meta. On TaxSlayer’s site this feature collected phone numbers and the names of filers and their dependents. On TaxAct it collected the names of dependents.

      Meta Pixel default behavior is to parse and send sensitive data

      Wait, wait, wait... the software has a feature that scans for privately identifiable information and sends that detected info to Meta? And in other cases, the users of the Meta Pixel decided to send private information ot Meta?

    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>

  16. Oct 2022
    1. Often these conversations uncover uncertainty or complexity, which leads us to split features into smaller chunks. In Scrum, a User Story needs to be small enough to deliver in a single sprint. If a feature will take more than one sprint to build, it is good practices to split a it into several stories that can be delivered incrementally over several sprints. This way, the team can get feedback earlier and more often, which in turn reduces the risk of error.

      This is talked about in the user story book

    1. It's really not always a better user experience to keep things in one browser... What if they are in a sign-up or check-out flow in your SPA, and at the last step they need to agree to some conditions in an external page? Unless you use a modal, opening in a new window would really be preferable to the user completely losing context and having to go through the whole process again.
    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. And what what I like to do in the show and in the book is have people notice those things so that they are aware of all the design decisions that are made around them to make their life a little bit better because it is really easy to not see these things and really think that you're on your own in the world, but you're not, you know, there's a bunch of people that thought about a problem that you've never even thought about and solved it before. You even had to encounter it. And it makes the world more clearly reflect that we are like interconnected group of people that are trying to create a place where we can all live and thrive. And those breakaway bolts are a great example of this.

      Unnoticed design

      The intention of design can go unnoticed, and people may not think of the factors and the expertise that went into making that conscious design choice.

    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.

  17. Sep 2022
    1. It felt like we had finally made it to the very top of human knowledge and it felt like not a constrained experience. It felt like, oh that's done, that's fixed. It works. In fact the google search bar with all of its millions of data points is so good. It changed our expectations of what search is and today that's part of the problem. We were all trained very well to think well now search bars are just like the google search bar everywhere and everywhere. I see a search bar, it's going to be just as good as a google search bar is and then you try that on amazon. For many of us when we type a query into an e commerce website, we expect that the results will be ranked for us by relevance to our search but that is not how it works. So a place that's trying to sell something is trying to sell. Like if it has more of one thing in its warehouses than another, it'll try to push that onto you. If it has something that's on sale, it might show you that first. If it has a product where the people who make it have a pay for play deal with the e commerce site, it'll show you that stuff first. The result is that the thing you search for that you're trying to buy will be buried by results for stuff that the company wants you to buy.

      Applying the Google search experience to other services

      Google's Page Rank algorithm might be good for searching information, but Amazon's search service has different priorities: selling you something that it wants to sell you. This is just one example of how translating the Google search experience to other domains is problematic. Another example is when there is lack of relevance context, like searching email; emails are not inter-linked with each other.

    1. The server possibly can send back a 406 (Not Acceptable) error code when unable to serve content in a matching language. However, such a behavior is rarely implemented for a better user experience, and servers often ignore the Accept-Language header in such cases.
    1. If we ever moved a file to a different location or renamed it, all its previous history is lost in git log, unless we specifically use git log --follow. I think usually, the expected behavior is that we'd like to see the past history too, not "cut off" after the rename or move, so is there a reason why git log doesn't default to using the --follow flag?
  18. Aug 2022
    1. Editorial: The real reason I wanted Cmm to succeed: to democratize programming. It wouldn’t belong in any business plan, and I seldom mentioned to anyone, but the real reason I wanted Cmm to succeed was not about making money (although paying the mortgage was always important). The real reason was because of the feeling I had when I programmed a computer to perform work for me
    1. Roughly stated, my overarching career mission is to design, build, and deploy software platforms that put end users in control of their computing and data, in part by making it easy and natural for programmers to create software that honors user desire.
    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"?

  19. Jul 2022
    1. People only really contribute when they get something out of it. When someone is first beginning to contribute, they especially need to see some kind of payback, some kind of positive reinforcement, right away. For example, if someone were running a web browser, then stopped, added a simple new command to the source, recompiled, and had that same web browser plus their addition, they would be motivated to do this again, and possibly to tackle even larger projects.
    1. The see-and-point principle states that users interact with the computer by pointing at the objects they can see on the screen. It's as if we have thrown away a million years of evolution, lost our facility with expressive language, and been reduced to pointing at objects in the immediate environment. Mouse buttons and modifier keys give us a vocabulary equivalent to a few different grunts. We have lost all the power of language, and can no longer talk about objects that are not immediately visible (all files more than one week old), objects that don't exist yet (future messages from my boss), or unknown objects (any guides to restaurants in Boston).
    2. The critical research question is, "How can we capture many of the advantages of natural language input without having to solve the "AI-Complete" problem of natural language understanding?" Command-line interfaces have some of the advantages of language, such as the large number of commands always available to the user and the rich syntactic structures that can be used to form complex commands. But command-line interfaces have two major problems. First, although the user can type anything, the computer can understand only a limited number of commands and there is no easy way for the user to discover which commands will be understood. Second, the command-line interface is very rigid and cannot tolerate synonyms, misspellings, or imperfect grammar. We believe that both these deficiencies can be dealt with through a process of negotiation.
    3. The basic principles of the Anti-Mac interface are: The central role of language A richer internal representation of objects A more expressive interface Expert users Shared control
    4. If the user is required to be in control of all the details of an action, then the user needs detailed feedback. But if a sequence of activities can be delegated to an agent or encapsulated in a script, then there is no longer a need for detailed and continuous feedback. The user doesn't have to be bothered unless the system encounters a problem that it cannot handle.
    5. The problem with WYSIWYG is that it is usually equivalent to WYSIATI (What You See Is All There Is). A document has a rich semantic structure that is often poorly captured by its appearance on a screen or printed page. For example, a word may be printed in italic font for emphasis, as part of a book title, or as part of a quotation, but the specific meaning is lost if it is represented only by the fact that the characters are italicized. A WYSIWYG document shows only the final printed representation; it does not capture the user's intentions.
    6. The Anti-Mac principles outlined here are optimized for the category of users and data that we believe will be dominant in the future: people with extensive computer experience who want to manipulate huge numbers of complex information objects while being connected to a network shared by immense numbers of other users and computers. These new user interface principles also reinforce each other, just as the Mac principles did. The richer internal representation of objects naturally leads to a more expressive external representation and to increased possibilities for using language to refer to objects in sophisticated ways. Expert users will be more capable of expressing themselves to the computer using a language-based interface and will feel more comfortable with shared control of the interface because they will be capable of understanding what is happening, and the expressive interface will lead to better explanations.
    1. The One Hypertext done right, I think, is a proto-Metaverse. If we build a Web that feels like a place designed for life, the services and sites on the Web can stretch into the horizons of this hypertext Metaverse. We could meet people on the Web, find entertainment, connect with partners, and build a living online. But aren’t we already building pieces of this Metaverse today? To propel this trend into the Metaverse of 90’s science fiction, I think we need someone thinking more intentionally about building a Web experience from the perspective of an architect, rather than a user interface designer. The Web is increasingly a home more than it is a tool, and our design needs should change to reflect it. I think this work of building a Metaverse requires something different from the iterative engineering the Web industry has engaged in for the last decade. We need more first-principles design, more imagination in what kinds of places the hypertext Metaverse could contain in the future, the way an architect might dream of their next stadium or skyscraper.
    1. Twitter’s main user interface, the algorithmic timeline, is bad for using Twitter as a learning tool. It feels like sticking a straw into a firehouse and hoping you’ll suck out enough interesting insights to be worth the effort.
    1. What if curating things for your audience was radically easier? A company like Pocket or Instapaper, who already have a substantial user base clipping and collecting reading material they like, may be in a good place to launch an experiment in this space. But those most avid readers and curators may also already have started newsletters, and may not want something lower maintenance. Another minimal viable product may be a kind of a filter for Twitter that aggregates just the links and good reads that people you follow have shared. People are already curating and sharing – a good first step may be to simply slide into where people are already curating, and make the processes of curation and discover easier and higher-reach.
    1. If we were to build a medium for better thinking on top of the web browser, it’s reckless to expect the average user to manually connect, organize, and annotate the information they come across. Just as the early World Wide Web started out manually-curated and eventually became curated by algorithms and communities, I think we’ll see a shift in how individual personal landscapes of information are curated, from manual organization to mostly machine-driven organization. Humans will leave connections and highlights as a trail of their thinking, rather than as their primary way of exploring their knowledge and memory.
    2. However, to build an enabling medium that’s more than a single-purpose tool, it isn’t simply enough to look at existing workflows and build tools around them. To design a good creative medium, we can’t solve for a particular use case. The best mediums are instead collections of generic, multi-purpose components that mesh together well to let the user construct their own solutions.
  20. bafybeibbaxootewsjtggkv7vpuu5yluatzsk6l7x5yzmko6rivxzh6qna4.ipfs.dweb.link bafybeibbaxootewsjtggkv7vpuu5yluatzsk6l7x5yzmko6rivxzh6qna4.ipfs.dweb.link
    1. While the term “mobilization system” is new, the underlying ICT techniques have beenexplored for at least a decade or two, under labels such as “persuasive technology”, “collaborativetechnology”, “user experience”, and “gamification”. This paper will first review a number of suchexisting approaches and then try to distill their common core in the form of a list of mobilizationprinciples. Finally, we will sketch both potential benefits and dangers of a more systematic andwidespread application of mobilization systems.

      Examples of existing types of mobilization systems: 1. Persuasive technology 2. collaborative technology 3. user experience 4. gamification

    1. Free as in ...? Points out that freedoms afforded by foss software to the average computer user are effectively the same as proprietary software, because it's too difficult to even find the source and build it, let alone make any changes. Advocates the foss developers should not think only about the things that users are not legally prevented from doing, but about what things they are realistically empowered and supported in doing.
    1. In terms of this analogy, a lot of objections to end-user programming sound to me like arguing that Home Depot is a waste of time because their customers will never be able to build their own skyscrapers. And then on the other side are the people arguing that people will be able to build their own skyscrapers and it will change the world. I just think it would be nice if people had the tools to put up their own shelves if they wanted to.
  21. 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:

      https://www.youtube.com/watch?v=pQHX-SjgQvQ

    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.

  22. 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. as if the only option we had to eat was factory-farmed fast food, and we didn’t have any way to make home-cooked meals

      See also An app can be a home-cooked meal along with this comment containing RMS's remarks with his code-as-recipe metaphor in the HN thread about Sloan's post:

      some of you may not ever write computer programs, but perhaps you cook. And if you cook, unless you're really great, you probably use recipes. And, if you use recipes, you've probably had the experience of getting a copy of a recipe from a friend who's sharing it. And you've probably also had the experience — unless you're a total neophyte — of changing a recipe. You know, it says certain things, but you don't have to do exactly that. You can leave out some ingredients. Add some mushrooms, 'cause you like mushrooms. Put in less salt because your doctor said you should cut down on salt — whatever. You can even make bigger changes according to your skill. And if you've made changes in a recipe, and you cook it for your friends, and they like it, one of your friends might say, “Hey, could I have the recipe?” And then, what do you do? You could write down your modified version of the recipe and make a copy for your friend. These are the natural things to do with functionally useful recipes of any kind.

      Now a recipe is a lot like a computer program. A computer program's a lot like a recipe: a series of steps to be carried out to get some result that you want. So it's just as natural to do those same things with computer programs — hand a copy to your friend. Make changes in it because the job it was written to do isn't exactly what you want. It did a great job for somebody else, but your job is a different job. And after you've changed it, that's likely to be useful for other people. Maybe they have a job to do that's like the job you do. So they ask, “Hey, can I have a copy?” Of course, if you're a nice person, you're going to give a copy. That's the way to be a decent person.

  23. www.mindprod.com www.mindprod.com
    1. Show me a switch statement as if it had been handled with a set of subclasses. There is underlying deep structure here. I should be able to view the code as if it had been done with switch or as if it had been done with polymorphism. Sometimes you are interested in all the facts about Dalmatians. Sometimes you are interested in comparing all the different ways different breeds of dogs bury their bones. Why should you have to pre-decide on a representation that lets you see only one point of view?

      similar to my strawman for language skins

  24. hamamoozfiles.s3.ir-thr-at1.arvanstorage.com hamamoozfiles.s3.ir-thr-at1.arvanstorage.com
    1. هدف باید مشخص باشه و ریز (برای یک قسمت کار) مثل : ساخت حساب کاربری رابطه باید یک طرفه باشه باید هر مرحله رو زیرش توضیح بدیم تیک ضربدر میشه به فلوهای مجزا تقسیم کرد

    2. Flow شبیه به الگوریتم و فلوچارت هست

      فلوی کاربری

    3. مراحل نوشتن یوزر فلو: شناسایی هدف کاربر (ریز اهداف ) نوشتن قدم های لازم برای رسیدن به هدف کشیدن فلوی کاربر

    4. مراحی که کاربر برای رسیدن به هدفش انجام میدهد باید طوری طراحی شود که کاربرد به بنبست نرسد و به مشکل نخورد.

      overflow.io flowmapp. analytics google

  25. hamamoozfiles.s3.ir-thr-at1.arvanstorage.com hamamoozfiles.s3.ir-thr-at1.arvanstorage.com
    1. user story mapping شخص مشخص قدم ها در طول زمان هم مشخص

      Release slice

      از بالا به پایین ، کلیات به جزیییات تقسیم میشه

      نقطه چین ها :تتوی کدوم ورژن میخوام باشه

      user activities (backbone) user tasks (walking skeleton) user stories

      WIP (work in progress)

    2. user story writing workshop

    3. OUTPU کمکه

      OUCOME که چی؟ IMPACT تاثیر نهایی رو که میخواد

      روایت عالی باید همه این سه تا رو داشته باشه

    4. INVEST Independent negotiable valuable estimable small testable

  26. www.dreamsongs.com www.dreamsongs.com
    1. the very existence of a master plan means, by definition, that the members of the community can have little impact on the future shape of their community,
    1. If you can acquire the youngest users, retain them as they get older, and continue to attract the new cohorts of young users, you will win over time. 

      Kids are the biggest and most expansive demographic to acquire users from.

    1. let timer; // Timer identifier const waitTime = 500; // Wait time in milliseconds // Search function const search = (text) => { // TODO: Make HTTP Request HERE }; // Listen for `keyup` event const input = document.querySelector('#input-text'); input.addEventListener('keyup', (e) => { const text = e.currentTarget.value; // Clear timer clearTimeout(timer); // Wait for X ms and then process the request timer = setTimeout(() => { search(text); }, waitTime); });

      let timer; // timer identifier const waitTime = 500; // Wait time in milliseconds

      // search function const search = (text) => { // to do: make http request here }

      // Listen for keyup event const input = document.querySelector('#input-text'); input.addEventListener('keyup', (e) => { const text = e.currentTarget.value; // clear timer clearTimeout(timer);

      // Wait for X ms and then process the request timer = setTimeout(() => { search(text); }, waitTime); });

    1. In order to execute an event listener (or any function for that matter) after the user stops typing, we need to know about the two built-in JavaScript methods setTimeout(callback, milliseconds) and clearTimeout(timeout): setTimeout is a JavaScript method that executes a provided function after a specified amount of time (in milliseconds). clearTimeout is a related method that can be used to cancel a timeout that has been queued.

      Step 1. Listen for User Input

      <input type="text" id="my-input" />

      let input = document.querySelector('#my-input'); input.addEventListener('keyup', function (e) { console.log('Value:', input.value); })

      Step2: Debounce Event Handler Function

      let input = document.getElementById('my-input'); let timeout = null;

      input.addEventListener('keyup', function(e) { clearTimeout(timeout);

      timeout = setTimeout(function() { console.llog('Input Value:', textInput.value); }, 1000); })

  27. Apr 2022
    1. https://winnielim.org/library/collections/personal-websites-with-a-notes-section/

      Winnie has some excellent examples of people's websites with notes, similar to that of https://indieweb.org/note. But it feels a bit like she's approaching it from the perspective of deeper ideas and thoughts than one might post to Twitter or other social media. It would be worthwhile looking at examples of people's practices in this space that are more akin to note taking and idea building, perhaps in the vein of creating digital gardens or the use of annotation tools like Hypothes.is?

    1. Most content is typically displayed in these formats:


      What other forms/shapes might it take?

    2. We have to endlessly scroll and parse a ton of images and headlines before we can find something interesting to read.

      The randomness of interesting tidbits in a social media scroll help to put us in a state of flow. We get small hits of dopamine from finding interesting posts to fill in the gaps of the boring bits in between and suddenly find we've lost the day. As a result an endless scroll of varying quality might have the effect of making one feel productive when in fact a reasonably large proportion of your time is spent on useless and uninteresting content.

      This effect may be put even further out when it's done algorithmically and the dopamine hits become more frequent. Potentially worse than this, the depth of the insight found in most social feeds is very shallow and rarely ever deep. One is almost never invited to delve further to find new insights.


      How might a social media stream of content be leveraged to help people read more interesting and complex content? Could putting Jacques Derrida's texts into a social media-like framing create this? Then one could reply to the text by sentence or paragraph with their own notes. This is similar to the user interface of Hypothes.is, but Hypothes.is has a more traditional reading interface compared to the social media space. What if one interspersed multiple authors in short threads? What other methods might work to "trick" the human mind into having more fun and finding flow in their deeper and more engaged reading states?

      Link this to the idea of fun in Sönke Ahrens' How to Take Smart Notes.

    1. Notes from Underground

      Standard Ebooks's search needs to incorporate alternate titles. I tried searching first for "the underground man" (my fault) but then I tried "notes from the underground", which turned up nothing. i then began to try searching for Dostoyevsky, but stopped myself when I realized the fruitlessness, because even being unsure if search worked across author names, I knew that I had no idea which transliteration Standard Ebooks was using.

    2. Why is Standard Ebooks sending content-security-policy: default-src 'self';? This is not an appropriate use. (And it keeps things like the Hypothesis sidebar from loading.)

    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. There are different types of requirements. In this article we divide the requirements into a number of categories that help us with the software selection.

      Types of requirements in a SaaS selection

      There are different types of requirements. In this article we divide the requirements into a number of categories that help us with the software selection.

    1. except its codebase is completely incomprehensible to anyone except the original maintainer. Or maybe no one can seem to get it to build, not for lack of trying but just due to sheer esotericism. It meets the definition of free software, but how useful is it to the user if it doesn't already do what they want it to, and they have no way to make it do so?

      Kartik made a similar remark in an older version of his mission page:

      Open source would more fully deliver on its promise; are the sources truly open if they take too long to grok, so nobody makes the effort?

      https://web.archive.org/web/20140903010656/http://akkartik.name/about

    1. A big cause of complex software is compatibility and the requirement to support old features forever.

      I don't think so. I think it's rather the opposite. Churn is one of the biggest causes for what makes modifying software difficult. I agree, however, with the later remarks about making it easy to delete code where it's no longer useful.

  28. www.research-collection.ethz.ch www.research-collection.ethz.ch
    1. Ihavelearnttoabandonsuchattemptsofadaptationfairlyquickly,andtostartthedesignofanewprogramaccordingtomyownideasandstandards

      I have learnt to abandon such attempts of adaptation fairly quickly, and to start the design of a new program according to my own ideas and standards

    1. Feature request (implement something that allows the following): 1. From any page containing a bookmarklet, invoke the user-stored bookmarklet בB 2. Click the bookmarklet on the page that you wish to be able to edit in the Bookmarklet Creator 3. From the window that opens up, navigate to a stored version of the Bookmarklet Creator 4. Invoke bookmarklet בB a second time from within the Bookmarklet Creator

      Expected results:

      The bookmarklet from step #2 is decoded and populates the Bookmarklet Creator's input.

      To discriminate between invocation type II (from step #2) and invocation type IV (from step #4), the Bookmarklet Creator can use an appropriate class (e.g. https://w3id.example.org/bookmarklets/protocol/#code-input) or a meta-based pragma or link relation.

    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.
    1. work-around

      Bookmarklets and the JS console seem to be the workaround.

      For very large customizations, you may run into browser limits on the effective length of the bookmarklet URI. For a subset of well-formed programs, there is a way to store program parts in multiple bookmarklets, possibly loaded with the assistance of a separate bookmarklet "bootloader", although this would be tedious. The alternative is to use the JS console.

      In FIrefox, you can open a given script that you've stored on your computer by pressing Ctrl+O/Cmd+O, selecting the file as you would in any other program, and then pressing Enter. (Note that this means you might need to press Enter twice, since opening the file in question merely puts its contents into the console input and does not automatically execute it—sort of a hybrid clipboard thing.) I have not tested the limits of the console input for e.g. input size.

      As far as I know, you can also use the JS console to get around the design of the dubious WebExtensions APIs—by ignoring them completely and going back to the old days and using XPCOM/Gecko "private" APIs. The way you do is is to open about:addons by pressing Ctrl+Shift+A (or whatever), opening or pasting the code you want to run, and then pressing Enter. This should I think give you access to all the old familiar Mozilla internals. Note, though, that all bookmarklet functionality is disabled on about:addons (not just affecting bookmarklets that would otherwise violate CSP by loading e.g. an external script or dumping an inline one on the page`).

    2. CSP is taking away too much of the user's power and control over their browser use
    3. Apparently there is a CSP ability to stop inline scripts from executing. I have not come across any sites that use that feature and/or the browser I am using does not support it.

      There're lots.

  29. 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. The reason for the new name is that the "dist-upgrade" name was itself extremely confusing for many users: while it was named that because it was something you needed when upgrading between distribution releases, it sounded too much as though it was only for use in that circumstance, whereas in fact it's much more broadly applicable.
    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.

    1. pratik This may be too late to be a Micro Camp topic but does anyone knows if any UX research exists on the ideal post length for a timeline view? Twitter has 280 chars (a remnant from SMS). I think FB truncates after 400 chars. But academic abstracts are 150-300 words (not chars).

      @pratik Mastodon caps at 500 as a default. The information density of the particular language/character set is certainly part of the calculus.

      Here's a few to start (and see their related references): - https://www.semanticscholar.org/paper/How-Constraints-Affect-Content%3A-The-Case-of-Switch-Gligoric-Anderson/de77e2b6abae20a728d472744557d722499efef5 - https://www.nature.com/articles/s41599-019-0280-3

    1. To realize this potential, we must provide a medium that can be mastered by a single individual. Any barrier that exists between the user and some part of the system will eventually be a barrier to creative expression. Any part of the system that cannot be changed or that is not sufficiently general is a likely source of impediment.
    1. And it’s easier to share a personal story when you’re composing it 280 characters at a time and publishing it as you go, without thinking about or knowing where the end may be. It’s at least easier than staring down a blank text editor with no limit and having to decide later how much of a 2,500 word rant is worth sharing, anyway.

      Ideas fill their spaces.

      When writing it can be daunting to see a long blank screen and feel like you've got to fill it up with ideas de novo.

      From the other perspective if you're starting with a smaller space like a Twitter input box or index card you may find that you write too much and require the ability to edit things down to fit the sparse space.


      I do quite like the small space provided by Hypothes.is which has the ability to expand and scroll as you write so that it has the Goldilocks feel of not too small, not too big, but "just right".


      Micro.blog has a feature that starts with a box that can grow with the content. Once going past 280 characters it also adds an optional input box to give the post a title if one wants it to be an article rather than a simple note.


      Link to idea of Occamy from the movie Fantastic Beasts and Where to Find Them that can grow or shrink to fit the available space: https://harrypotter.fandom.com/wiki/Occamy

    1. Whether to inject behavior into a Web page is my choice. How I do so is nobody's business. If a need that can be met with a bookmarklet instead requires a set of browser-specific extensions, that's a tax on developers.
  30. Feb 2022
    1. https://every.to/superorganizers/the-fall-of-roam

      A user talks about why they've stopped using Roam Research.

      I suspect that a lot of people have many of the same issues and to a great extent, it's a result of them not understanding the underlying use cases of the problems they're trying to solve.

      This user is focusing on it solving the problem of where one is placing their data in hopes that it will fix all their problems, but without defining the reason why they're using the tool and what problems they hope for it to solve.

      Note taking is a much broader idea space than many suppose.

  31. www.geoffreylitt.com www.geoffreylitt.com
    1. browser extension

      I've spent a lot of time in frustrated conversations arguing the case for browser extensions being treated as a first class concern by browser makers (well, one browser maker). But more and more, I've come to settle on the conclusion that any browser extension of the sort that Wildcard is should also come with the option of using it (or possibly a stripped down version) as a bookmarklet, or a separate tool that can process offline data—no special permissions needed.

      (This isn't because I was wrong about browser extensions; it's precisely because extension APIs were drastically limited that this becomes a rational approach.)

  32. Jan 2022
    1. What is End User Computing (EUC)? Thanks to the progressive introduction of DevOps, attention to the role of the end user in software development and testing has increased significantly. It is now important to think like an end user when we develop and test software. After all, that's what we're all doing it for.

      What is End User Computing (EUC)? Thanks to the progressive introduction of DevOps, attention to the role of the end user in software development and testing has increased significantly. It is now important to think like an end user when we develop and test software. After all, that's what we're all doing it for.

    1. Make simple changes to (some carefully chosen fork of) any project in an afternoon, no matter how large it is. Gain an hour’s worth of understanding for an hour’s worth of effort, rather than a quantum leap in understanding after a week or month of effort.

      Accessibility is more important, after all, than Kartik says it is (elsewhere; cf recent Mastodon posts).

    1. <a href="https://web.hypothes.is/help/" class="hyp-u-horizontal-spacing--2 hyp-u-layout-row--center HelpPanel-tabs__link" target="_blank" rel="noopener noreferrer"><span>Help topics</span>

      How to get remote control over the Hypothesis sidebar (one way, at least):

      1. Use the bookmarklet to open the sidebar
      2. Click the sidebar's "Help" icon in the top right
      3. Right click the "Help topics" link and select "Inspect" in the context menu to open the element in the browser devtools
      4. Remove "noopener" from the link (easiest way is to just delete the element's "rel" attribute)
      5. Change the link target to something other than "_blank" (e.g. "foobar")
      6. In the sidebar, click the now-modified "Help topics" link
      7. For good measure, in the new tab that opens, navigate to the same URL loaded in the sidebar (should be something like https://hypothes.is/app.html with a site-specific URL fragment; you can get the actual URL from the devtools JS console with document.documentURI, or right-clicking the sidebar and selecting "View Frame Info")

      From the secondary tab ("foobar" opened by click in step #6) you should now have unrestricted, scriptable access to the DOM of the original sidebar iframe, using e.g. the JS console in devtools instance or a bookmarklet applied to the secondary tab—access it as window.opener.

    Tags

    Annotators

    1. The internet is for end users: any change made to the web platform has the potential to affect vast numbers of people, and may have a profound impact on any person’s life. [RFC8890]
    1. Users are shown four animated GIFs, each correspondingto modifying an attribute for a given image.
    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.

  33. Dec 2021
    1. For a long time, I believed that my only hope of becoming a professional writer was to find the perfect tool.

      What exactly would be the ideal group of features in a writer's perfect tool? There are many out there for a variety of axes of production, but does anything cover it all?

      Functionality potentially for:

      • taking notes
      • collecting examples
      • memory
        • search or other means of pulling things up at their moment of need
      • outlining functionality
      • arranging and rearranging material
      • spellcheckers
      • grammar checkers
      • other?

      With

      • easy of use
      • efficiency
      • productivity
    2. https://www.newyorker.com/magazine/2021/12/20/can-distraction-free-devices-change-the-way-we-write

      <small><cite class='h-cite via'> <span class='p-author h-card'>Aaron Davis </span> in 📑 Can “Distraction-Free” Devices Change the Way We Write? | Read Write Collect (<time class='dt-published'>12/27/2021 14:09:33</time>)</cite></small>

    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.

  34. 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>

  35. Nov 2021
    1. This is actively being worked on - for those interested you can follow the progress in https://github.com/snapcore/snapd/pull/10836
    2. After 5 years there's still no fix. This is so annoying. I'm now getting rid of all snap packages and installing deb variants instead. Finally I'll purge snap and if these weird decisions keep on going I'll also move to another distro. Common Canonical. Seriously?
  36. Oct 2021
    1. Disable features that inhibit control and transparency, and add or modify features that promote them (these changes will almost always require manual activation or enabling).
    2. In addition, Google designed Chromium to be easy and intuitive for users, which means they compromise on transparency and control of internal operations.