592 Matching Annotations
  1. Dec 2022
    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.

  2. Nov 2022
    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?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  6. 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. 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.
    4. 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.
    5. 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.
  7. 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.

      Previously: Open Source Is Not Enough and Free software is not enough: on practical user freedom.

      See also: "Even GNU's philosophy has a few puzzle pieces missing from the box."

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

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

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

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

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

  13. www.dreamsongs.com www.dreamsongs.com
    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); })

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

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

  15. www.research-collection.ethz.ch www.research-collection.ethz.ch
    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. 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`).

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

    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

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

  18. 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.)

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

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

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

  22. Nov 2021
  23. Oct 2021
    1. Ungar, around @1:00:00:

      I try to explain to people that the notion of compiler is broken. Of course I learned this from Smalltalk, but what we want to build is experiences--artificial realities that convince you that your source code is real. It's directly executed. There's no lag between editing and running[...] The environment stresses things in your program, not tools--which is another rant I have. It's this whole idea that we want to put you in an artificial reality--I got that from Randy [Smith]--in which it's easy and natural and low-cognitive-burden to get the computer to do what you want it to do, rather than running language translators that turn weird strings of text into bits the machine can run

    1. user n. When referring to the reader, use "you" instead of "user." For example, "The user must..." is incorrect. Use "You must..." instead. If referring to more than one user, calling the collection "users" is acceptable, such as "Other users may want to access your database."
    1. There is a close relation between the conceptual knowledge on which a narrative relies and the notation that it employs. Domain-specific vocabulary directly names relevant concepts. Shorthand notation replaces frequently used words and lengthy sentences that involve these concepts. For example, Newton's laws of motion are commonly written as F=m⋅a

      This part resonates strongly with Victor's enunciation on "how Writing made thought visible". (Previous video at 10'33") and "Mathematical notation made mathematical structure visible" (11'33'") and how the invention of modern mathematics was not because of a particular idea, but because of the equations notation "user interface" (~12'30")

  24. Sep 2021
  25. Aug 2021
    1. It's still pretty far away from catching up -- in fact, I think that now, in 2020, it's farther than it was in 2010.

      Let's fucking hope so.

      This article keeps measuring Linux by the classic Desktop measures of success. This article represents l-users. And ignores other forms of users.

    2. The FOSS community has been trying to emulate the best parts of Windows' GUI for about twenty years now.

      oh sure, some Freedesktop elements are trying to out-Desktop the Desktop. but most of the interesting folk are attracted to other ends & playing other games. ion3 or xmonad or other folk are doing very very little to "emulate the best parts of Windows."

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

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

  26. Jul 2021
    1. The world could benefit from a curated set of bookmarklets in the style of Smalltalk ("doIt", "printIt", etc buttons) that you can place in your bookmarks bar (or copy into a bookmarks document and open in it in your browser), where the purpose would be to allow you to:

      1. access a new scratch area (about:blank) for experimentation
      2. make it editable, or make any given element on a page editable
      3. let you evaluate any code written into the scratch space

      scratch.js aims for something something similar, and though laudable it falls short of what I actually crave (and what I imagine would be be most beneficial/appreciated by the public).

  27. Jun 2021
  28. May 2021
  29. Apr 2021
    1. With Stack Overflow for Teams being a flexible platform, we’ve seen customers use it for a wide variety of use cases: A platform to help onboard new employees A self-serve help center to reduce support tickets Collaboration and documentation to drive innersource initiatives Breaking down silos and driving org wide transformation like cloud migration efforts A direct customer support platform Enable people who are working towards a common goal, whether a startup or a side project, to develop a collective knowledge base
  30. Mar 2021
    1. Yes I fully understood that this was going to be a cryptic puzzle game and that it required research outside of the game. I expected this to have ARG elements and require abstract thinking. However, I also expected it to be longer than 2 minutes of content. You are given 10 pages to read in-game, they might as well have just been screenshots posted somewhere on the internet. And you have no way to input your solutions in game.
    1. Second, I don't agree that there are too many small modules. In fact, I wish every common function existed as its own module. Even the maintainers of utility libraries like Underscore and Lodash have realized the benefits of modularity and allowed you to install individual utilities from their library as separate modules. From where I sit that seems like a smart move. Why should I import the entirety of Underscore just to use one function? Instead I'd rather see more "function suites" where a bunch of utilities are all published separately but under a namespace or some kind of common name prefix to make them easier to find. The way Underscore and Lodash have approached this issue is perfect. It gives consumers of their packages options and flexibility while still letting people like Dave import the whole entire library if that's what they really want to do.
  31. Feb 2021
    1. I think one thing would have been a solution to basically everything here: Player created maps. As Im involved in many modding communities, I know for a fact that player created content can be vital in making games last so much longer, and the quality can shoot for the stars, Player created maps would have been fantastic for this game.
    1. While Trailblazer offers you abstraction layers for all aspects of Ruby On Rails, it does not missionize you. Wherever you want, you may fall back to the "Rails Way" with fat models, monolithic controllers, global helpers, etc. This is not a bad thing, but allows you to step-wise introduce Trailblazer's encapsulation in your app without having to rewrite it.
    1. Couldn't find on Steam. https://steamdb.info/app/793300/ claims that it is there, but https://store.steampowered.com/app/793300/?curator_clanid=4777282&utm_source=SteamDB just redirects to home page.

      Don't redirect to a different URL, esp. without a message explaining why it did so instead of keeping me on the page that I request. That's just incorrect behavior, and a poor UX. Respond with a 404 if the page doesn't exist.!

      That way (among other things), I could use Wayback Machine extension to see if I can find a cached version there.

      But even that (http://web.archive.org/web/*/https://store.steampowered.com/app/793300) is saying "huh?" so I'm confused.

      Where did it go and why?

      I guess it's no longer available, because this page says:

      section_type    ownersonly
      ReleaseState    unavailable
      

      ... but why?

    1. In Nix, different users can have different “views” on the set of installed applications. That is, there might be lots of applications present on the system (possibly in many different versions), but users can have a specific selection of those active — where “active” just means that it appears in a directory in the user’s PATH. Such a view on the set of installed applications is called a user environment, which is just a directory tree consisting of symlinks to the files of the active applications.
    1. Have you ever been emailed something from a company and tried to reply only to be frustrated with a failed-to-send message response? A no-reply email frustrates your customers.Instead, use a dedicated email to send out your messages and to keep business emails in a central location so you can answer customer concerns quickly and decisively. This level of customer service will help develop your reputation as a company that cares about its customers.
    1. Then recently I was shopping at the John Lewis website, and they brought up the Verified By Visa page in an iframe - wonderful! I'm still looking at the John Lewis site, and all that's happening is I'm being asked for my Verified By Visa password - no problem. Although as a web developer I know that there's no technical difference between that and a plain old redirect-there-redirect-back, the user experience is so much better!
  32. Jan 2021
    1. WhatsApp rose by trapping previously-free beings in their corral and changing their habits to create dependence on masters. Over time, this made it difficult or impossible to return to their previous lifestyle. That process should sound familiar: it’s eerily similar to the domestication of animals. I call this type of vendor lock-in user domestication: the removal of user autonomy to trap users into serving vendors.

      This is a good definition of "user domestication". Such an apt metaphor.

    1. Group Rules from the Admins1NO POSTING LINKS INSIDE OF POST - FOR ANY REASONWe've seen way too many groups become a glorified classified ad & members don't like that. We don't want the quality of our group negatively impacted because of endless links everywhere. NO LINKS2NO POST FROM FAN PAGES / ARTICLES / VIDEO LINKSOur mission is to cultivate the highest quality content inside the group. If we allowed videos, fan page shares, & outside websites, our group would turn into spam fest. Original written content only3NO SELF PROMOTION, RECRUITING, OR DM SPAMMINGMembers love our group because it's SAFE. We are very strict on banning members who blatantly self promote their product or services in the group OR secretly private message members to recruit them.4NO POSTING OR UPLOADING VIDEOS OF ANY KINDTo protect the quality of our group & prevent members from being solicited products & services - we don't allow any videos because we can't monitor what's being said word for word. Written post only.

      Wow, that's strict.

    1. There's a lot of advice online showing how to get rid of snap. (e.g.: https://cialu.net/how-to-disable-and-remove-completely-snaps-in-ubuntu-linux/ worked for me) so the only result (so far, a few months later) is that Chromium has lost a user, and having upgraded Ubuntu since the original Warty, if snap becomes obligatory I'll have to take a look at Mint, or Devuan.
    1. We talked, for example, about how stores and governments were adding new rules and social distancing guidelines, often communicated through purely visual means, like stickers on the floor and printed signs. Mr. Johnston acknowledged that it was a tough new time for businesses, but shared that he faces new types of exclusion as a result.

      this just makes me wonder how society in general will cope with this. Companies nay be more sensitive to all these challenges COVID has pushed in fast forward mode.

      This is not only about designers being in the front seat of the business development plan, is about we as users setting-up these expectations!

    1. In addition, PPAs are awful for software discovery. Average users have no idea what a PPA is, nor how to configure or install software from it. Part of the point of snap is to make software discovery easier. We can put new software in the “Editor’s Picks” in Ubuntu Software then people will discover and install it. Having software in a random PPA somewhere online is only usable by experts. Normal users have no visibility to it.