I'm looking for examples of UX/interface design where:

* users started using a feature in a way that wasn't intended (can be for good or for ill)
* the product team responded by removing the feature entirely

Also very interested in interfaces where there is an obvious feature that users would want/need that's not provided, and that feature is obviously not provided because it's against the interests of the company who makes the software.

Can anyone think of examples which fit?

@shauna Not sure this is a perfect example of the later, but evernote is adamantly against having tables that can do any math. They insist it's strictly for presentation and therefore just a formatting tool and not a table/worksheet like you'd have in excel. There is a huge thread of users who have been asking for this feature for literally years. Not sure it's strictly "against their interests", but it's weird how they dug in their heels about it.
@shauna Re last, I think the biggest example is imessage lack of RCS. I think there have been emails revealed in court proceedings from Apple to the effect that they see the imessage lock-in as a competative advantage.
Apple says iMessage on Android ‘will hurt us more than help us’

Apple knows that iMessage’s blue bubbles are a big barrier to people switching to Android, which is why the service has never appeared on Google’s mobile operating system. That’s according to a court filing from Epic Games.

The Verge
@shauna In a broad sense, there is one obvious feature that is often avoided these days, across many industries, that is allowing access via without an app. It seems every company wants to force you into an app when a standard interface will do, from streaming, to social media, to content, to electric car charging.
@oldgeeksguide @shauna And this seems like a development of the prior shift from having a customer service telephone number to forcing customers to contact the company only via email. I know older folks who didn't want a computer at all for whom life got steadily more difficult as things "progressed".
@ninahatfield @shauna That and trying to lock people in to their walled garden
@ninahatfield @oldgeeksguide Or the reverse, where apps will *make* you call to cancel a subscription, rather than allowing you to do it in the app.
@oldgeeksguide @shauna of course everyone wants you to use an app because you can't hit it with ublock origin. gotta maintain that adrev at all costs

@shauna Apple Podcasts app has removed: the ability to mix mp3 (music) files with mp3 (podcast) files. You used to be able to make playlists mixing music and podcasts. Apple removed this ability entirely and then split iTunes into music and podcasts eliminating any option.

With that they then removed entirely the ability to make playlists of Podcasts at all. All you can now do is have a queue of upcoming podcasts - that can’t save and can easily get overwritten if you play anything

@shauna old example: the Amstrad PCW was a cheap word processor box from the 1980s. It had a slow cpu, floppies and little memory, so its spell check scrolled the document text through display memory. Some users used this scrolling display to proof read.

Later, the word processor software (LocoScript) was ported to the PC. It was faster and had enough memory that it got rid of the slow-scroll spell check. This disappointed users, despite being many times faster.

@scruss @shauna That reminds me of when I replaced a 300 baud modem with a 1200 baud modem (or was it 2400?) and found that text scrolled by too fast to read.

@shauna
Browse YouTube in chrome.
Right click the playing video and choose "save to disk". Oh, wait

@Cassandra

@shauna
Another not-provided feature:

Open twitter/fb/insta/whatev
Go to my account -> settings -> move instance
@Cassandra

@shauna OSX Preview had a checkbox to disable image smoothing on scaling up. Was very useful when I was working in image processing because could get a pixel accurate super high zoom. Checkbox was removed in an OSX update and Preview would always smooth the image. I had to switch to Xee https://theunarchiver.com/xee or Photoshop.
Xee | Image Viewer for macOS

Xee lets you easily browse and manage images on your Mac. Browse images within folders and archives, move and copy them right in the app.

@linuxlizard What was the benefit to OSX of always smoothing and not letting users opt-out?
@shauna At the time, Apple was removing many features in order to make OSX more like iOS. PDF signatures and form fill also disappeared around this time.
@linuxlizard @shauna and that’s nuts because iOS has PDF signatures and form fill. Another thing I noticed that macOS can no longer do with PDFs is delete pages; this confused me greatly because it’s another thing where I can do that on my iPad …
@joXn @shauna My hypothesis on the form fill thing is Adobe rattled a patent sabre at Apple (???). Sadly, I haven't used macOS née OSX since I moved away from the image processing work. 😞
@linuxlizard @shauna PDF signatures are still around. Preview can even do hand-off to an iOS device so you can sign using a stylus.
@jamesgecko @shauna Hand-off to iOS is perfect! I think the last OSX I used was 2016 so I'm quite out of date.
@shauna
Pretty much any app: Flick this switch, and we will only collect the data we really need to do the job, and we'll only send it elsewhere to do the job
@shauna
Samsung phone/ms windows/pc OEMs:
This crappy app is in my way.
Settings -> apps -> uninstall
Oh wait
@Cassandra
@shauna Reminds me of a vending machine guy where I worked who stopped putting Snickers in because it emptied too quickly and made him visit too often.

@shauna for the second category:

Interoperability and data export are two major features withheld from users by monopolistic companies, such as FB and MS. Withholding data export in particular is used to trap users on a platform. MS has done this from the beginning.

FB still doesn't provide "most recent first" ordering for many users, or a "friends-only" feed. I happen to have those available in my FB app, but many don't, as features vary from user to user.

FB doesn't provide a non-changing UI, making it stressful in many small ways. I don't mean lack of new features-- new features are fine-- I mean a UI that is not constantly changing in order to run continual A/B testing on the user. I have heard from a former employee that this is an integral part of their business model, and so they couldn't really change this.

@shauna I wonder whether car cigarette lighters might qualify. Although their use as power outlets persisted for a very long time, they were generally replaced as soon as there was a viable alternative (USB-A)...

@wcbdata @shauna Wait ... no. This can't be real. A 0.5 amp 5 V USB A is not a viable alternative to a 10 amp 12 V cigarette lighter outlet.

I know my car is 12 years old but I refuse to believe that cars could drop something so useful.

@shauna
Plase don't overlook that @signalapp removed SMS/MMS interoperability from their Android app against the vociferous objections of their user community.
@prmam What was their ostensible reason? And why do you think they did it? (If you don't mind my asking; I can always do a web search)
@shauna
There was surface lip service of moving away from phone number as base identity. This has yet to be realized. For privacy reasons, the change was for the better. But until the same change is made to iOS, it will be very difficult. The change may also allow reduction in the amount of code to maintain. I'm not an app developer. But I think that this is going to be an uphill climb. I have found it more difficult to evangelize #e2ee messaging since @signalapp stopped supporting #SMS / #MMS.
@shauna @prmam IIRC they discovered that despite labels and warnings about SMS in-app, some users assumed that ANY message sent from Signal was encrypted. So they removed all possibility of confusion.
@shauna More re: the second than re: the first, `gcc` has always been asked to have a "--xml" output that would spew something useful (the abstract syntax tree or some common internal representation) to standard output. RMS has objected, because people could use gcc to spew XML and then use non-free tools to compile the XML to machine code, thus avoiding the need to contribute the backend back to gcc.
@shauna Not exactly what you asked for, and in some ways this is more about a change in the underlying web tech than the user behavior, but there is the end of this story… https://cohost.org/mcc/post/325362-a-one-person-oral-hi
A one-person oral history of Geocities HTML Chat

Geocities HTML Chat has been forgotten by the world. It is possible I am the only one who remembers it. I only half remember it. It was my first Internet community. Here is what I remember. Background 1. Geocities was a formative website for the older millennials who are just barely old enough to remember when the "web browser" was introduced, but not old enough to be adults when it happened. It wasn't a very good site. Geocities was the first, or at least biggest, of the "free web hosts" of the early Internet. Anyone could sign up for a pittance-small (5 megabytes? 10 megabytes?) web directory, and FTP up their HTML and GIF files and Geocities would host it raw and unaltered. Geocities sites had the ugliest URLs on the Internet. Each URL consisted of the user's "city", followed by a four-digit number Geocities assigned. The "cities" were broad categories indicating the type of content your site would contain, like "SiliconValley" for computers, "WestHollywood" for LGBT topics, or… "Tokyo"¹. The categories seemed ill-thought-out and lumpy. The existence of "NapaValley" seemed to indicate they believed there would be roughly as many sites about wine as about all computer-related subjects combined. These "cities" seem to have been part of a very vague desire to conceptualize Geocities' very basic service (HTTP file hosting) as in fact a collection of communities. The people who made Geocities had some kind of sense the social web would, or could, someday exist. They could smell it, they could feel the heat of the thing in the room with them. They just had no idea what it would look like. Leaping from flat file hosting to something that looks like "social" "media" requires interactivity, and that was just not really available in webtech at that early point. Cross-page communities were things stitched in by hand (like the "webrings" the Mastodon crowd loves so much; these littered Geocities and invariably consisted of 50% dead links). "CGI-BIN" existed, on some sites (not Geocities), but all it could do was generate new flat files, so people largely only used CGI for the most basic purposes: "Guestbooks" where you could leave your name and a bit of text which would be appended to the HTML of the guestbook page; mindlessly simple "counters" which would generate on each load a GIF containing a number one higher than the last one loaded, showing how many people had visited that page. If you're old enough to remember this time, you're kind of nodding off at this point in the post. You know all this. But you probably did not know about Geocities HTML Chat, and if you knew it existed and what it was you probably would be actually shocked. I'm not sure you're even going to believe me this was a real thing that existed. ---------------------------------------- The thing itself 2. Geocities HTML Chat was the only "community" feature I remember Geocities ever attempting other than the mere fact of the "city" names. Most Geocities users didn't seem to know the chat was there. The concept was simplicity itself. Geocities HTML Chat was, from a technical perspective, a guestbook with a small twist. There was a chat for each of the "cities" (my home was SiliconValley, I think?). Each chat used (of course) frames to display two smaller webpages. One frame above (I don't actually remember, but let's say it was above) was a thin band containing a CGI input form. The lower frame was larger, and scrolled freely. This frame used a server-side trick; the server would tell your web browser it was sending it an infinitely long web page (or maybe it just claimed it was some impossibly large size, a gigabyte or something). It would send it the opening <html>, and then it would hang. It would keep the socket open. When a user in the chat room submitted a line to their CGI box, every user would simultaneously receive a new line on the bottom-frame open socket (which their web browser sincerely believed an ordinary webpage was actually really loading into, just very slowly): > <br><br>Nickname: Chat Text And so, a chat room. Any user hits "submit", what they submitted appears on all our screens at once. Cute trick, you're thinking. They've just faked a dynamically loading chatroom without using any dynamic HTML features at all. But you've missed the important part. When a user submits text, it is forwarded to everyone's chatscroll frame unchanged. There was no input sanitization at all. 3. Think like a Cohost user. Imagine the most extreme way you could use, or abuse, a chat room in which anything you say may contain unsanitized HTML. Whatever you're thinking, we did it. On GeoCities HTML chat you could use raw HTML in your chat posts. You could use raw HTML in your nickname. Most people did. Most users' nicknames contained images. You could do anything. 4. goodmorning.gif [https://staging.cohostcdn.org/attachment/58e576ee-a104-40b0-8172-667de264db95/goodmorningX2.png] [https://staging.cohostcdn.org/attachment/e86a080e-777b-44d5-bb2c-92bc256e3b44/Dodongo.png]I had a particular trick I liked. I'd figured out I could align=right an <img> and it would "float" right and text would flow around it. So I had a little html block I'd occasionally begin my chats with that would float right a GIF I liked (hosted, of course, off my personal website; it was the System 7 "Finder icon" of a one-piece Macintosh, on a green hill, with a mushroom cloud erupting behind it) and that GIF would link to my personal webpage. It was normal (and acceptable) for people to post recurring, banner-like HTML adverts of their announcements and websites; Geocities HTML Chat had no history, there were no logs, so repetition was the only way to make something seen. This was my version of that, but it was subtle, and could fit right into whatever else I was saying at the time. I could have put the float-right GIF in my nickname, of course, if I'd wanted, but that would be overbearing. 5. Because inputs were unsanitized and HTML was allowed, a semi-common problem was that people would open HTML tags and forget to close them. A stray < would be no problem, that would only result in the rest of that person's chat being deleted up to the next <br>, but if someone said <i> but forgot to (or typoed) their </i> then the chat would simply be in italics, everyone's chats, until someone posted a </i>. Flubbing tag closure was seen as an embarrassing faux pas, no worse, and moderators and experienced users simply saw it as one of their community duties to notice left-open tags and post a corresponding close tag. This did, obviously, leave room for griefing, but less than you'd think, because this was the HTML 2.0 era and there simply wasn't enough in the HTML standard yet to allow for truly major abuses. CSS didn't exist yet. About the worst someone could do would be to use an "obscure" tag, <abbr> or something, which would result in a visible formatting difference but leave the high level users confused as they spammed various close tags without guessing the right one. I think occasionally it would occur to someone to post a <!-- comment open, which would entirely silence the chat until someone figured out what had happened. But such abuses were always easily identified and quickly dealt with, the user would be banned and that would be that. In a worst case scenario you could always just reload the page, erasing the history and any stray formatting, and in the normal case, you just got used to the idea that sometimes, the chat would simply be purple for a bit. 6. I was a regular on the chat for what I remember being years, and I made any number of friends there, but I actually only remember one specific user from that entire time, and that was "MC Skat Kat". MC Skat Kat, as you may know, was Paula Abdul's cartoon boyfriend from the music video for "Opposites Attract", not one of my favorite Paula Abdul songs. Animated GIF [https://staging.cohostcdn.org/attachment/170df98b-aeb7-4a2b-8dbc-34323840b5d2/500173_600.gif] MC Skat Kat (left) and Paula Abdul (right). Note that this animated GIF is modern, and could never possibly have existed in the Geocities HTML Chat era; it's simply too large. At 280 pixels tall it is over half the height of a 640x480 monitor, and the file itself clocks in at a simply unmanageable 995 kilobytes(!). MC Skat Kat is a literal cat, and also a rapper. Our MC Skat Kat posted from the persona of this fictional MC Skat Kat, regularly referring to Paula Abdul as his girlfriend. Everyone simply accepted this. I don't think this was a furry thing, or rather, the human behind MC Skat Kat probably didn't at that time have the language of "furry" or the "furry community" available to him. He had simply decided that he was MC Skat Kat, and everyone went along with it. His nickname contained, if my memory can be trusted, two images of MC Skat Kat, to the left and right of his specially-formatted name, taking up maybe a third of an average screen. MC Skat Kat was a community pillar, and the most active among the volunteer moderators. 7. I'm only just remembering this as I'm typing, and the memory is so vague I'm not entirely certain this part is real, but this is what my neurons are telling me: When a moderator kicked someone from the room I remember there being a big <h3> USER "NICKNAME" HAS BEEN KICKED FROM THE CHAT. announcement. There was of course nothing stopping you from simply, at any point, saying "User 'nickname' has been kicked from the chat." in h3 text. It wouldn't have any effect, but you could do it. I don't even think the mods cared. 8. Geocities HTML Chat puttered along in its gleeful, endless, rainbow-colored utter chaos until one day, all at once, the end came for it, without warning and very rapidly over a 48-hour period. You've probably already guessed the reason why. JavaScript. When Geocities HTML Chat was created, JavaScript did not exist. But then there came a time JavaScript existed, and then inevitably, there came a day that for the first time someone thought to use JavaScript in the chat room. My memories get a little fuzzy about exactly when this happened. What I think I remember was that there was a period that JavaScript had been introduced but lay dormant, and people only started to pay attention and learn it once Netscape 4 landed and "Dynamic HTML" got introduced. DHTML is now such a basic concept of the Internet you have to specifically explain there was a time it didn't exist; the concept of the DOM, and JavaScript being able to alter and rearrange a document structure after it has already been rendered as opposed to appending all at once as brutal one-off document.write()s. What I think I remember was that when the event happened I had some awareness I was partially immune to the consequences due to me staying for a time on Netscape 3 (due to Netscape 4 being slow and me liking a particular 3.0-exclusive mod I'd installed that transformed the browser into "Xena Navigator [https://xenafan.com/mac/]" and replaced the "loading" icon with a spinning Chakram). (I was literally twelve). DHTML, despite being practically useless in its early incarnation due to Netscape and IE offering mutually incompatible implementations, would have been really dangerous, not just because of its intended capabilities but because in those early DHTML browsers it was incredibly, unbelievably easy to find ways to use DHTML to make the browser crash. And as any modern programmer knows, if you can find a way to remotely crash a program, the chances are good you have a handle on a way to remotely execute code. I'm not sure though if Netscape 4 actually had been released when the event happened; that would have dated the event I'm about to describe to 1997, whereas honestly it might have been closer to 1995. But whether this was 1995 or 1997, and whether I was using Netscape Communicator 4 or Xena Navigator 3 at the time, doesn't really matter to the story. Even Netscape 3.0 supported alert(). And in those days, there was no way to escape a while (1) { alert() } loop except to force quit the browser. What I definitely remember is that one day, sitting in the chat, somebody posted a JavaScript alert(). This appeared once or twice more over the course of an evening. I don't specifically remember if I myself encountered someone putting alert() in a loop, but sometime that evening in one of the "cities" someone must have tried it. Within 24 hours of that first alert() being posted, Geocities HTML Chat was gone. Geocities simply removed it from the Internet. We had no indication what was happening, nowhere to go for news, it wasn't like there was a forum somewhere we could switch over to. The chat was our one way of reaching each other, and it was gone. About 48 hours after the takedown, the Geocities chat URL suddenly went back up, this time hosting a completely different, Java-based chat app that had clearly been set up in an incredible hurry. We were devastated. The Java applet was just not the same. It not only lacked the Godmode formatting capabilities of the old HTML Chat, it had no formatting at all. And it was slow, and clunky, and flickered constantly, because it was a Java applet. But Geocities was indifferent to our complaints. What is clear in retrospect is that Geocities probably literally did not have the ability to fix the HTML chat. Easy as it is to forget today, "internet companies" and websites in 1995-1997 were not by nature software developers. Many companies that ran websites probably had no software developers on staff at all. Whoever originally wrote the obviously tiny UNIX C program that must have powered the HTML chat— take in HTTP POST on socket A, push received bytes directly to sockets B through Q, do nothing else— probably no longer even worked at the company, and if they did, they probably lacked the technical skill to make the program any smarter than it was. Sanitizing HTML input is not trivial, and the best practices for it weren't developed yet then. Geocities did not actively maintain, and probably at an executive level did not even understand, this thing that they were hosting, until one day they suddenly discovered they were hosting a chat app where any griefer could at any time irrecoverably lock up every user's web browser. So they did the only thing they could do, which was to download or license as quickly as possible an off-the-shelf chat solution, which of course was not going to be anything like Geocities HTML Chat because nothing, before or since, has ever been like Geocities HTML Chat. No one would ever create something like Geocities HTML Chat on purpose. It's simply too bad an idea. I don't know how long the Java-based Geocities Chat endured, or what if any community it formed. My community was dead. The very few of us who could get the Java chat to run at all met up in the new SiliconValley room over the day or so after the relaunch, said our tearful goodbyes to each other, and departed. It was over. I took up IRC. 9. What, if anything, to take away from this? Geocities HTML Chat changed my life. I'd used BBS-like communities with message boards before, I had a web page (not on Geocities) before I found the chat. But this was the community I imprinted on. It was my first experience with the Web as something immediate, realtime, where a web page meant being in a place, with other people. It got me used to a mode of being online as an ever-flowing stream you dip in and out of, where you simply lay back and let a world wash over you. But more than that. As a community chat app, it gave me an entirely unrealistic expectation of user freedom that nothing that followed has ever lived up to. On Geocities HTML Chat, every user was a god. The powers an individual user had there were not verbs granted by the app, the power was ours, inherent, we could reach out and reshape the matter of the place itself without limitation. Other than kicking (terminating a connection) there was nothing the site administrators could do that we could not, in that place. There is some very small way that every website, or online community I've used since has been, a little bit, a disappointment. I tasted true freedom, once, and BBCode or even Cohost's security-boxed HTML passthrough, however generous, cannot live up to it. Someone once taught me that the proper form of the Internet is a thing where each individual person can do anything, up to and including eventually destroying the space itself. When I use, or design, online applications, I am dissatisfied with anything other than total scriptability. I dream of Twitter clones with LocalStorage-sandboxed user JavaScript and arbitrary server-side metadata storage that would let you design secondary apps attached to profiles, embed Twine games in individual posts. I look at VRChat or Second Life and all I see is the limitations in the sandboxed scripting, the points where a VRChat employee could write a tiny AI chatbot to follow you around but the end user with their tinkertoy primitives cannot. I develop anything at all for the modern Web and all I can think about is the variety of things a native application can do with ease but Apple denies me in my web-sandboxed jail. Within me rages a tiny, twelve-year-old god, now squashed into human shape, unable to comprehend where its powers have gone, and nothing less than everything is satisfying. ¹ "Tokyo" was the only Asia-related category; either they thought no one would be talking about Asia unless it was to talk about anime, or they assumed everyone talking about Asia-related subjects would be happy condensing under "Tokyo". Note of course there would be absolutely zero websites by actual Japanese users in the Tokyo community, since those users would be using geocities.jp, which had its own twenty "cities" and managed to survive a good nine years longer than geocities dot com, sunsetting in 2018 to .com's 2009.

andi on cohost

@mcc Oh wow! It isn't exactly what I asked for but it is incredible. You're a great storyteller.

I'd say I missed out choosing Angelfire over Geocities but it sounds like that would have been a few years after the end of Geocities HTML Chat, so I never really had a chance to experience HTML godhood.

@mcc

This jarred loose a memory from me, that has nothing to do with Geocities: variable HTML entities!

Early Netscape JavaScript supported an HTML entity syntax for accessing *variables*. I forget the syntax, but you could assign a computed value to a variable, say $foo, in proper js between script tags, then anywhere in the HTML, call "&$foo;" (or wev) and it would evaluate it on render.

Man, I was pissed when they stripped that functionality out. I don't know specifically what trouble people got into with it, or whether they just couldn't be bothered with continuing it, since so few people knew about it.

@shauna

@shauna this one's a little abstract but there used to be so much more personalization and ownership of your page on early social media sites of the early 2000s. each new platform has slowly removed more and more outwardly-facing customizability options, in service of elevating The Platform above any given user. and of course now you've got platforms selling customizability options *back to us* through subscriptions and they aren't even as expansive as what you could do with AIM in the late 90s
@shauna A big example, if perhaps ironically in a sort of "no, wait, we didn't ACTUALLY want you to do what we said you could do!" was the "Other OS" support of the PS3. Sony shipped the PS3 with marketing about it being a supercomputer, and to some degree its late-era PowerPC hardware *was* fairly impressive . . . but especially because, like basically all console manufacturers other than Nintendo, Sony was selling the console hardware at a loss and expecting to make that loss back on peripherals and games.

Fast forward a tad and folks have built honest to goodness supercomputers using clusters of PS3s, and Sony seems to be starting to think this was costing them more than the marketing angle was giving them. First they announced the PS3 Slim wouldn't have the OtherOS option, and then they announced it would be outright removed from existing PS3s in a shortly-coming OS release.

Perhaps the most ironic thing is that the excuse Sony used was that this was necessary for "security reasons". Not only is the veracity of that questionable and the OtherOS support trapped OSes installed that way in a sandbox without access to even some hardware portions of the machine, having yanked away the officially supported method of running arbitrary software on the PS3 spurred hackers into action. Since its release in 2006, the PS3 had remained uncracked; within a year of the announcement of OtherOS support being yanked in spring 2010, the PS3 was jailbroken. If Sony was actually trying to keep it secure, they sure did not succeed.
@shauna pretty much most subscription services that need you to call a phone number instead on unsubscribing on the app/website for the last point.
@shauna Facebook. They had an API which let you access information about the logged in user and their friends. This was a good thing, it made Facebook less competitive, made it easier to start new social networks and kickstart from Facebook’s already existing social graph, allowed for third-party, alternative interfaces to Facebook ((such as for accessibility) and overall let users build tools that augmented Facebook in whatever ways they wanted. Then the Cambridge Analytica PR disaster happened, they basically took the data of consenting and non consenting users alike, mostly by having funny quizzes and such which required you to log in with Facebook, and then (falsely) claimed that they could use this data to influence elections. Facebook had to react and closed all the APIs down, which was a win for privacy, but made Facebook into even more of a monopolist than it already was.
@shauna Accessibility APIs on Android are another example. They let external apps see what’s currently displayed on the screen, click on things and intercept the user’s touches. This is used by software that helps disabled users, for example, screen readers need to see what’s on the screen to describe it to a blind person, intercept touch gestures to provide a more accessible way to choose which item to click, and then make the actual click when the user makes a choice, regardless of whether that choice was made on the actual touchscreen, with a keyboard or with an external Braille display connected over Bluetooth. Voice / eyeball / switch control apps use those same APIs in similar ways. Those APIs are also used by malicious software to spy on your banking activity and click on things in your banking app without your consent or knowledge (to wire all the money out of your account to god knows where). Because of this, some banking apps made themselves inaccessible for screen readers and other such software on purpose, some only enable their accessibility if you use some software that they specifically allow, and if you use a third-party screen reader that isn't on the list, you're out of luck. Even Google is cracking down on this, making it more difficult to install and enable apps utilizing those APIs as well as publish them on Google Play.
@shauna Firefox does not block ads by default, despite the danger to users and this being the main selling point of competitor Brave and the most popular extension by far, because Mozilla is beholden to the advertising industry. Top example in my book.

@shauna I have a story that sort of fits, but I also have some sympathy for the product team here:

Dragon NaturallySpeaking speech recognition has a feature called Select-and-Say, where you can edit what you've already dictated by saying things like "select 'I have a story'". It is invaluable because speech recognition does make mistakes that need editing, and using the arrow keys and delete keys can be just as impossible/hard as typing text for disabled users. 1/n

@shauna The trouble is, this feature requires Dragon to be aware of the text in the editing window. And Dragon only properly supports this for Word, Outlook, and the major browsers.

So in old versions of Dragon, it would just guess. Because it knew what you had dictated with your voice, even if it didn't know what you had typed with your hands. So Select-and-Say worked in all applications as long as you didn't touch the keyboard. 2/n

@shauna But a lot of users didn't understand that. And most Dragon users are not disabled. They do type a little bit with their hands while they're dictating. And every time they typed anything, Dragon's Select-and-Say would be off by more and more. So many helpdesk complaints! 3/n
@shauna I think it was in version 15 that the Dragon team decided to simply disable Select-and-Say in all the apps where it had previously been guessing. This was much less confusing for new users, but it really hung the disabled users out to dry. 4/n
@yingtai Seems like the best thing for the most users would have been to turn it off by default, but let disabled users opt in