user story mapping شخص مشخص قدم ها در طول زمان هم مشخص
Release slice
از بالا به پایین ، کلیات به جزیییات تقسیم میشه
نقطه چین ها :تتوی کدوم ورژن میخوام باشه
user activities (backbone) user tasks (walking skeleton) user stories
WIP (work in progress)
user story mapping شخص مشخص قدم ها در طول زمان هم مشخص
Release slice
از بالا به پایین ، کلیات به جزیییات تقسیم میشه
نقطه چین ها :تتوی کدوم ورژن میخوام باشه
user activities (backbone) user tasks (walking skeleton) user stories
WIP (work in progress)
user story writing workshop
OUTPU کمکه
OUCOME که چی؟ IMPACT تاثیر نهایی رو که میخواد
روایت عالی باید همه این سه تا رو داشته باشه
INVEST Independent negotiable valuable estimable small testable
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,
V$A*$*=0"$1&$10+'('+,Y$0)#1+'&2$1&4$=*'&2$1$&-+#7--@$0-&*+'+=+#4$1$C-4#$-.$)#18+'C#$'&+#).10#V
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.
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); });
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); })
I'm sure I read this ages ago, but it's not in my notebook yet. Perhaps worth another pass for notes.
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?
Most content is typically displayed in these formats:

What other forms/shapes might it take?
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.
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.
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.)
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.
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.

To some extent this is understandable. We don’t know how to design things in such a way that they are easily customizable by everyone.
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
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.
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
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.
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.
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`).
CSP is taking away too much of the user's power and control over their browser use
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.
software will work only if we provide the tools to fix it when it goes wrong
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.
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.
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.
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.
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.
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.
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
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.
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
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.
StopTheMadness is a web browser extension that stops web sites from making your browser harder to use
"The good news is that you can wrest control of your browser back from these malicious, control-freak sites."
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.
https://x28newblog.wordpress.com/2019/12/11/inspiring-or-distracting/
<small><cite class='h-cite via'>ᔥ <span class='p-author h-card'> Matthias Melcher
<small><cite class='h-cite via'>ᔥ <span class='p-author h-card'> Matthias Melcher </span> in Matthias Melcher on Twitter: "@ChrisAldrich I agree. The simple zettelkasten is a TOOL for thought, but many people want a prosthesis for thought. See https://t.co/N9lDSM7guD" / Twitter (<time class='dt-published'>02/05/2022 15:27:06</time>)</cite></small>
in response to zettelkasten overreach,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.)
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.

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).
<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):
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.
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]
https://annotations.lindylearn.io/
What a great UI for annotations on Hypothes.is and Hacker News.
I wonder if this is pulling data from the public Hypothesis API? What triggers inclusion into the lists?
Users are shown four animated GIFs, each correspondingto modifying an attribute for a given image.
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.
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:
With
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>
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.
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>
This is actively being worked on - for those interested you can follow the progress in https://github.com/snapcore/snapd/pull/10836
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?
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).
In addition, Google designed Chromium to be easy and intuitive for users, which means they compromise on transparency and control of internal operations.
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
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."
Postmodernist Theory. This theory was focus on associated with relativism on ideology in the maintenance of economic and political power. It also generally explain which is claim to be valid for all groups, cultures, traditions, or races.
(file:///C:/Users/User/Downloads/A%20Review%20of%20Employment%20Relations%20Theories.pdf)
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")

BigQuery + UDF = Identifying The Earliest Glimmers Of Covid-19 – The GDELT Project. (n.d.). Retrieved May 14, 2021, from https://blog.gdeltproject.org/bigquery-udf-identifying-the-earliest-glimmers-of-covid-19/
I don’t even minify page assets
Good. Don't. The number of people who think this is a virtue is frightening. The rationale is usually not well-reasoned and whatever values they pretend to hold can almost always be shown to be hollow.
I am being told my Login Keyring Password "no longer matches" my login. I am confused - I provided a password as I was setting this up, and so I don't know what this is about and how I can fix it. Thanks for the help.
my favourite KDE bug
aka "my very strong opinion" that something needs to work this way
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.
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."
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.
education@hypothes.is or support@hypothes.is
Important for further assistance.
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:
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).
While Microsoft is entirely in the right by reminding people of the terms they agreed to, many users are taking issue with the fact that they hadn’t been warned about the limit in the eight years it’s been in place, and many people are now being told they are over the limit after years of being over.
consumer friendly
Including the "consumer" here is a red herring. We're meant to identify as the consumer and so take from this statement that our rights and best interests have been written into these BigTech-crafted laws.
But a "consumer" is different from a "citizen," a "person," we the people.
Moss, A. J., Rosenzweig, C., Jaffe, S. N., Gautam, R., Robinson, J., & Litman, L. (2021). Bots or inattentive humans? Identifying sources of low-quality data in online platforms [Preprint]. PsyArXiv. https://doi.org/10.31234/osf.io/wr8ds
Status Indicator
Stuart, A., Katz, D., Stevenson, C., Gooch, D., Harkin, L., Bennasar, M., Sanderson, L., Liddle, J., Bennaceur, A., Levine, M., Mehta, V., Wijesundara, A., Talbot, C. V., Bandara, A., Price, B., & Nuseibeh, B. (2021). Loneliness in Older People and COVID-19: Applying the Social Identity Approach to Digital Intervention Design [Preprint]. PsyArXiv. https://doi.org/10.31234/osf.io/qk9hb
Garimella, K., Smith, T., Weiss, R., & West, R. (2021). Political Polarization in Online News Consumption. ArXiv:2104.06481 [Cs]. http://arxiv.org/abs/2104.06481
These example are for Rails applications, but there is no dependency on Rails for using this gem. Most of the examples are applicable to any Ruby application.
I don't believe the sprockets and sprockets-rails maintainers (actually it's up to the Rails maintainers, see rails/rails#28430) currently consider it broken. (I am not a committer/maintainer on any of those projects). So there is no point in "waiting for someone else to fix" it; that is not going to happen (unless you can change their minds). You just need to figure out the right way to use sprockets 4 with rails as it is.
This project will be great for instruction and portable reproducible science
This is what I'm aiming for with triplescripts.org. Initially, I'm mostly focused on the reproducibility the build process for software. In principle, it can encompass all kinds of use, and I actually want it to, but for practical reasons I'm trying to go for manageable sized bites instead of very large ones.
(Yes, I realize from a technical, end-user perspective this really doesn't matter.)
The word "technical" in this sentence doesn't seem to belong or to clarify anything. I think it would be clearer without it.
But I think I understand what he's saying, which is that technical details don't matter to the end user. They only know/see/care if it works or not.
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
Many designers strive to create products that are so easy to navigate, their users can flow through them at first glance. To design something with this level of intuitiveness, it’s imperative designers understand affordances—what they are and how to use them.
To improve the usability of text fields and to determine which text field variables to alter, our researchers and designers conducted two studies between November 2016 and February 2017, with actual users.
You might not always notice, but Material Design is constantly evolving and iterating based on research.
We are continuing an overhaul of our default startup editor in order to provide relevant extension-contributed tips and walkthroughs, intended to make both core VS Code features and extension contributions more approachable to new users.
# +devise_for+ is meant to play nicely with other routes methods. For example, # by calling +devise_for+ inside a namespace, it automatically nests your devise # controllers: # # namespace :publisher do # devise_for :account # end
find_field finds by id, name or placeholder text - so find_field('Prefix') should find the element with matching placeholder text rather than needing xpath.
The key point is that this is a feature to improve the experience of our human users.
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.
User stories are a great way of designing features, but when you are designing community features on the web it is also useful to have user stories that start “I am an absolute arsehole and I want to…”
Solid advice.
This isn't really a downside to React; one of React's strengths is that it lets you control so much and slot React into your environment
I would much rather have a "cosine" module than a "trigonometry" module because chances are good I only need a small fraction of the utilities provided by the larger trig module.
Small modules are extremely versatile and easy to compose together in an app with any number of other modules that suit your needs.
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.
Of course user expectations for titles are the most important thing. You don’t want to sell a tiny game at AAA price, because you won’t sell many copies and you’ll make your gamers feel ripped off.
multi-dimensional erector set that we're going forever
"A multi-dimensional erector set that will go on forever..."
No, unfortunately not forever.
We don’t want to invalidate the input if the user removes all text. They may need a moment to think, but the invalidated state sets off an unnecessary alarm.
It can also be included as individual modules, i.e. Hashie::Extensions::MethodReader, Hashie::Extensions::MethodWriter and Hashie::Extensions::MethodQuery.
This is a useful little tip.
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.
Feel free to pick and choose what you need for your applications.
What this means is: I better refrain from writing a new book and we rather focus on more and better docs.
I'm glad. I didn't like that the book (which is essentially a form of documentation/tutorial) was proprietary.
I think it's better to make documentation and tutorials be community-driven free content
The bare bones operation without any Trailblazery is implemented in the trailblazer-operation gem and can be used without our stack.
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.
Only use what you like.
you can pick which layers you want. Trailblazer doesn't impose technical implementations
Anderson, Ian, and Wendy Wood. ‘Habits and the Electronic Herd: The Psychology behind Social Media’s Successes and Failures’. PsyArXiv, 23 November 2020. https://doi.org/10.31234/osf.io/p2yb7.
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?
$ nix-env --switch-profile /nix/var/nix/profiles/my-profile $ nix-env --switch-profile /nix/var/nix/profiles/default These commands switch to the my-profile and default profile, respectively. If the profile doesn’t exist, it will be created automatically.
learn more about profiles; creating new profiles was new info
Chapter 10. ProfilesProfiles and user environments are Nix’s mechanism for implementing the ability to allow different users to have different configurations, and to do atomic upgrades and rollbacks.
user environment
Explain the shit out of this one with tons of examples.
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.
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.
Not to mention 80% of our sales are laptops and desktops running, you guessed it, a Linux desktop. So, unlike Red Hat and Canonical, we live or die based on how good that experience is.
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!
Free software is a necessary but sometimes insufficient requirement to build domestication immunity. Two more measures include simplicity and open platforms.
Ideas for preventing user domestication
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.
a class of businesses models I call “user domestication”. The domestication of users is high on my list of problems plaguing the human race, and is worth a detailed explanation.
This portends to be an interesting concept: user domestication
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.
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.
It should be as simple to use as in the days of jQuery's tooltips.
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!
While the very same software might be in a PPA and a snap, the fact that the snap is shown in Ubuntu Software is the point I’m making. Many people use that to install software. So making software appear there is beneficial for developers - their software is found, and beneficial for users - they discover new software.
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.
The benefits for developers do reflect on benefits for users, with more software delivered faster and more securely.
But now Chromium is no more available as deb, so what to expect ?
We must think of the users more than the technique itself
Good example/application/sub-case of "user-centric".
The download attribute can accept an optional value, allowing the author to create a custom, human-friendly name for the downloaded file.
Now they have what they need to make an informed decision, with a little intentional ambiguity to temper expectations.
For larger files, the wait time can be especially problematic. A standard download is an all-or-nothing affair—interruptions can corrupt them and render them useless. Worse, it can waste valuable data on a metered data plan, an unfortunately all-too-relevant concern.
It took faaaaaaaaaaaaar too long to signup at this site to reply to you. This site rejected the real address I use for amazon, username.place@cocaine.ninja so I created an email address that I'll never check again just to signup here. I have zero tolerance for spam.
no post edit, eh?Fine.
What the #$%@ is UX Design?
Short video about User Experience Design.
The aesthetics of underlying technologies have a way of leaking into the end user experience.
There's a huge area of seemingly obvious user-centric products that don't exist simply because there isn't a working business model to support it.
As was mentioned in the comments above, the material design spec for buttons specifies that the text should be uppercase, but you can easily override its CSS property: paper-button { text-transform: none; }
enables passive event listeners by default for some events (see list below). It basically will set { passive: true } automatically every time you declare a new event listener.
@use "@material/theme" with ( $primary: #FEDBD0, $on-primary: #442C2E);
You could totally just write your own name and not use the name in package.json, this template is made so the users wouldn't need to think about the UMD build.
Include the ability to dismiss or decline the promotion. Remember the user's preference if they do this and only re-prompt if there's a change in the user's relationship with your content such as if they signed in or completed a purchase.
Keep promotions outside of the flow of your user journeys. For example, in a PWA login page, put the call to action below the login form and submit button. Disruptive use of promotional patterns reduces the usability of your PWA and negatively impacts your engagement metrics.
I wonder if it's worth archiving the repository (while leaving the site running) with a message that we're transitioning the content to MDN (so folks don't get the wrong idea and a bad experience when filing issues).
rickrolling
https://www.youtube.com/watch?v=dQw4w9WgXcQ
While Rick Astley's "Never Gonna Give You Up," has existed since the 1980s, it was user-generated-content spawned from 4chan that linked the song to the bait-and-switch practice of surprising unsuspecting internet users with it after being promised something else (Dewey, 2014).
Works Cited:
Official Rick Astley. (2009). Rick Astley - Never Gonna Give You Up (Video) [Video]. YouTube.
Dewey, C. (2014). Absolutely everything you need to know to understand 4chan, the Internet’s own bogeyman. Retrieved 5 November 2020, from https://www.washingtonpost.com/news/the-intersect/wp/2014/09/25/absolutely-everything-you-need-to-know-to-understand-4chan-the-internets-own-bogeyman/
where some of the internet’s worst scandals have been fomented
While 4chan has developed a mostly negative public perception for itself, with the Washington Post's Caitlin Dewey even calling it "the Internet's own bogeyman," it also has brought attention to User-Generated-Content as beloved as Rickrolling and Chocolate Rain (Dewey, 2014). https://www.youtube.com/watch?v=EwTZ2xpQwpA
Works Cited:
Dewey, C. (2014). Absolutely everything you need to know to understand 4chan, the Internet’s own bogeyman. Retrieved 5 November 2020, from https://www.washingtonpost.com/news/the-intersect/wp/2014/09/25/absolutely-everything-you-need-to-know-to-understand-4chan-the-internets-own-bogeyman/
TayZonday. (2007). "Chocolate Rain" Original Song by Tay Zonday [Video]. YouTube.
Just coming here to voice my agreement that these warnings are annoying and exist in other libraries as well. For me this happened with svelma. I didn't write the library code, so I don't have complete control over it even though I agree there is an argument to be had around whether I should be notified anyway. In either case, these warnings should be easily disabled since libraries don't always get updated over night.
Maybe it's also a bug because every warning should be ignorable? Not sure.
I would like the compiler to add a property like canIgnore: false to the warning, if the warning cannot be disabled.
The Web needs to be accessible to everyone who wants to participate, who wants to share their knowledge with the world, who is not satisfied with the status quo and ready to change culture and society. Yet instead, we are currently building a Web of superficial distractions that is becoming less and less accessible to future generations.
i am dead cold afraid that the web that is coming seems like it will not support extensions. the bookmarklet is dead, extensions are only on desktop. websec has won, sites are secure, and alas, secured against the almighty user who we all agreed we served.
what sites do- now that's also been, frankly, not great.
We know children don’t get sick just during office hours. At our evening and weekend Urgent Care Clinic in Bellevue, your child’s minor illness or injury will be treated by our team of pediatric experts
Issue grooming: There appears to be a variety of different failure modes and user error/misconfiguration scenarios (all largely historic) described here.
If you want to implement a form with a superb User Experience, you have to take care of many variables:
Just let the user fill in some fields, submit it to the server and if there are any errors notify them and let the user start over again. Is that a good approach? The answer is no, you don't want users to get frustrated waiting for a server round trip to get some form validation result.
To silence circular dependencies warnings for let's say moment library use: // rollup.config.js import path from 'path' const onwarn = warning => { // Silence circular dependency warning for moment package if ( warning.code === 'CIRCULAR_DEPENDENCY' && !warning.importer.indexOf(path.normalize('node_modules/moment/src/lib/')) ) { return } console.warn(`(!) ${warning.message}`) }
Identify your user agents When deploying software that makes requests to other sites, you should set a custom User-Agent header to identify the software and provide a means to contact its maintainers. Many of the automated requests we receive have generic user-agent headers such as Java/1.6.0 or Python-urllib/2.1 which provide no information on the actual software responsible for making the requests.
Friendly UX
Why didn't they just say user-friendly?
Since this issue seems to pop up periodically, it would be useful to turn this into a warning. It may not be elegant, but it prevents surprise blank screens due to a navigation error.
Not an actual fix.
In '07, safety implied an unacceptable performance hit on slow single-core devices with 128MiB of RAM.
In 2007, safety implied an unacceptable performance hit for hosting extensions, on devices with one core and 128MiB ram. In 2020, the lack of extensions is the ultimate app-ification of the web, the reduction of the web into a useless, powerless medium where users have no control.
In my opinion, because Webpack was one of the first bundlers, is heavily packed with features, and has to support swathes of legacy code and legacy module systems, it can make configuring Webpack cumbersome and challenging to use. Over the years, I’ve written package managers, compilers, and bundlers, and I still find configuring Webpack to be messy and unintuitive.
User experience above all
balancing developer and user experience
What I believe should happen is the Svelte compiler should, when a promise is passed to onMount, realise that a promise has been passed, and await the result of the function to be used as the onDestroy function. i.e, it should behave the exact same way for an async function as it does for a non-async function (if this is possible)
Over the last year, we have gained a better understanding of the performance and correctness characteristics of the various rendering technologies available on the web, and have been experimenting with a second approach that uses CanvasKit. CanvasKit brings Skia to the web using WebAssembly and WebGL, enabling a hardware-accelerated drawing surface that improves our ability to render complex and intensive graphics efficiently.
you are setting dynamite to hypertext & turning the web into a webassembly powered VNC viewer. this is an awful thing for users, for the web in general. please desist. please i beg you stop.
the web is not for pushing pixels into people's faces. the web is a system of interlinking hypertext, a place where structured information can be viewed/enhanced by users, navigators, & extensions.
WebAssembly is pretty great, but should web applications just be rendered to a canvas, and every application brings its own graphics toolkit? Do we really want anti-aliasing differences between web applications? Applications-in-containers is a thing - look at Qubes - but it’s not really something that users should want.
Flutter seems intent on turning applications into mini-VNC sessions into webassembly, with CanvasKit work proceeding full steam ahead. can you please for the love of god NOT, Flutter? abomination.
the web is more than a means to pump pixels at people's faces; it is a system of structured information, that users, their navigators, & extensions have rights & capabilities to traverse.
The idea of a web browser being something we can comprehend, of a web page being something that more people can make, feels exciting to me.
my personal hope is that we can build a more sensible coherent web, that exudes the machines inside of it, by better harkening towards custom elements ("webcomponents"). move the page from being a bunch of machines in javascript, to a bunch of machines in hypertext.
and then build pages that start to expose & let the user play with the dom. start to build experiences that bridge the gap into the machine/page.
and keep going. keep going. build wilder web experiences. build more machines. and keep building battlesuits for the user, out of more componenets, out of more web, to let them wrestle & tangle with & manipulate & experiment & hack on & see & observe & learn about the truthful, honest, direct hypertext that we all navigate.
Thank you, but this answers the question and means I will be unable to use svelte.
Mais il ne songe pas aux causes
C’est ce que font les interfaces dites «user-friendly»: elles nous dispensent de penser, elles nous font oublier de penser.
La transparence de la technologie, sa présence normalisée, voire imperceptible dans la vie quotidienne est aussi une bonne chose – c’est la tâche du design de faire bénéficier une technologie de pointe au plus grand nombre.
Seulement, le numérique dissimule des enjeux de vie privée que nous ne pouvons percevoir directement par les sens: les enjeux sont invisibilisés, et les technologies «user-friendly» étendent leur pouvoir abusent du fait que les mécanismes échappent à notre perception, à notre entendement.
I wonder at what point Svelte would add this feature if, for example, a majority of their users ended up migrating to a fork that added this missing feature (like this one)?
Would they then concede and give in to popular demand in order to avoid a schism of the community?
Kind of like Rails swallowed / consolidated with Merb after they saw how great its ideas were?
TBH It is a bit disheartening to see this issue closed when all proposed solutions do not sufficiently solve the issue at hand, I really like svelte but if this is how feature requests are handled I am probably not going to use it in the future.
Horstmann, K. T., Buecker, S., Krasko, J., Kritzler, S., & Terwiel, S. (2020). Who does or does not use the “Corona-Warn-App” and why? [Preprint]. PsyArXiv. https://doi.org/10.31234/osf.io/e9fu3
So when we ask users to answer questions that deal with the future, we have to keep in mind the context in which they’re answering. They can tell us about a feature they think will make their lives better, but user val-idation will always be necessary to make sure that past user’s beliefs about future user are accurate.
Starominski-Uehara, M. (2020). Powering Social Media Footage: Simple Guide for the Most Vulnerable to Make Emergency Visible [Preprint]. SocArXiv. https://doi.org/10.31235/osf.io/gefhv
In fact, developers often tend to forget a simple, almost elementary fact: if users want to close the application or leave a site, they will — doesn’t matter which obstacles are placed on their path to the exit-button. The more obstacles there are the more negative the user experience will be.
As designers, it is our decision to provide users with a clear, unambiguous choice, but we have no right to decide for users which choice they make.
Any deviations from this convention result in a more design-oriented and less user-oriented design.
Users also don’t like to deal with dozens of opened tabs and some visitors tend to become quickly angry with the disabled back button. Furthermore, some visitors may not even realize that a new window was opened and hit the back-button mercilessly — without any result. That’s not user-friendly, and that’s not a good user experience we, web designers, strive for.
Starominski-Uehara, M. (2020). Powering Social Media Footage: Simple Guide for the Most Vulnerable to Make Emergency Visible [Preprint]. SocArXiv. https://doi.org/10.31235/osf.io/ek6tz
Matamala-Gomez. M., Brivio E., Chirico. A., Malighetti. C., Realdon. O., Serino. S., Dakanalis. A., Corno. G., Polli. N., Cacciatore. C., Riva. Giuseppe., Mantovani. F (2020) User Experience and usability of a new virtual reality set-up to treat eating disorders: a pilot study. PsyArXiv Preprints. Retrieved from: https://psyarxiv.com/b38ym/
Veltri, G. A., Prof, Lupiáñez-Villanueva, F., Folkvord, F., Theben, A., & Gaskell, G. (2020, April 29). The impact of online platform transparency of information on consumer’s choices. https://doi.org/10.31234/osf.io/htja5
Willem, L., Hoang, T. V., Funk, S., Coletti, P., Beutels, P., & Hens, N. (2020). SOCRATES: An online tool leveraging a social contact data sharing initiative to assess mitigation strategies for COVID-19 [Preprint]. Epidemiology. https://doi.org/10.1101/2020.03.03.20030627
Zoom didn't do this to comply with local law.
They did this because they don't want to lose customers in China.
This is just capitalistic greed.
Shutting down activists over a dictatorship is wrong, and it is actually as simple as that.
The EARN IT act turns Section 230 protection into a hypocritical bargaining chip. At a high level, what the bill proposes is a system where companies have to earn Section 230 protection by following a set of designed-by-committee “best practices” that are extraordinarily unlikely to allow end-to-end encryption. Anyone who doesn’t comply with these recommendations will lose their Section 230 protection.
Broadly speaking, Section 230 of the Communications Decency Act protects online platforms in the United States from legal liability for the behavior of their users. In the absence of this protection, many of the apps and services that are critical to the way the internet functions today may have never been created in the first place – or they couldn’t have been created in America.
A year’s worth of cajoling back and forth has ultimately resulted in the EARN-IT bill wending its way through the U.S. system, a bill that, if passed, would see messaging services become legally responsible for the content on their platforms. While not mandating backdoors, per se, without some form of probes into message content, the argument runs that the punitive risks become unsurvivable.
there’s a bill tiptoeing through the U.S. Congress that could inflict the backdoor virus that law enforcement agencies have been trying to inflict on encryption for years... The choice for tech companies comes down to weakening their own encryption and endangering the privacy and security of all their users, or foregoing protections and potentially facing liability in a wave of lawsuits.
Once the platforms introduce backdoors, those arguing against such a move say, bad guys will inevitably steal the keys. Lawmakers have been clever. No mention of backdoors at all in the proposed legislation or the need to break encryption. If you transmit illegal or dangerous content, they argue, you will be held responsible. You decide how to do that. Clearly there are no options to some form of backdoor.
Despite its opposition, EARN-IT is the clearest threat yet to end-to-end encryption, given this clever twist in pushing the onus onto the platforms to avoid transmitting illegal content, rather than mandating a lawful interception approach.
Tiring of the privacy and safety debate, those behind EARN-IT have proposed making the platforms responsible for the content they transmit, encrypted or not. This would mean, as explained by Sophos, that tech companies “either weaken their own encryption and endanger the privacy and security of all their users, or forego protections and potentially face liability in a wave of lawsuits.”
The Digital Millennium Copyright Act (DMCA) has notable safe-harbor provisions which protect Internet service providers from the consequences of their users' actions. (Similarly, the EU directive on electronic commerce provides a similar provision of "mere conduit" which, while not exactly the same, serves much the same function as the DMCA safe harbor in this instance.)
The breach was caused by Facebook’s “View As” feature, which allows users to view their own account as if they were a stranger visiting it.