Hacker News new | past | comments | ask | show | jobs | submit login

Android is such a drag sometimes. Between mystery quirks like this, where I'm sure someone who has been making Android apps for 6 years will be able to explain it, and things like the absolute inability to override the order of items in the sharing panel[1], such that Android will routinely topline sharing to a contact you got one text message from three years ago.

"F.U., that's why" is the simplest conclusion I can draw. "Unpaid concept testing" is the next simplest.

1. https://cdn57.androidauthority.net/wp-content/uploads/2019/0...

> the absolute inability to override the order of items in the sharing panel

As an extra F.U., it also changes the list of contacts after a second. So I try to tap on my wife, only to have it substituted with the plumber who came once half a year ago... and this of course gets logged by the AI, ensuring the plumber continues to hold pride of place in my contacts.

This is quite literally my least favorite UI feature that Android has ever released.

It's slow. It encourages mis-taps. I have intentionally tapped it literally <10 times ever despite using the share dialog thousands of times, since it almost never shows me the desired contacts, and even then I've tapped the wrong contact half the time.

It's incomprehensibly awful, wantonly violates even the most basic user-interaction guidelines of the past few decades, and there's no way to turn it off. What in the world are they thinking / drinking.

I don't even understand what this feature is supposed to be. All I know is that the share screen _used to_ work really well! It used to show my most frequently contacted friends / family across applications (eg. Whatsapp vs Hangouts vs email) and it was a breeze to share content. Now... It shows the correct contacts for ~1 second, enough time for my brain to think oh maybe I should try and oh nevermind it's gone.

iOS actually isn’t much better here. Occasionally I’ll see something on Apple News that I want to share with friends who don’t use Apple News. I just want a web link. But despite Safari being literally the only icon I’ve ever tapped on to share something from Apple News, I have to hit the “...” and then scroll to find Safari buried in the list. I have to scroll past Strava despite (as far as I’m aware) Strava not even being able to open the link and me never having used it to open the link.

You can change the order of share items.

When you are in the “...” screen, tap on “edit” at the top right.

This is what OP complained about is not possible on Android out of the box.

iPhone has the same issue in something simple as recent contacts / phone dialer screen. I end up clicking the last dialed number that gets replaced on top of last-but-one by the time my finger moves to tap what appears as last-number, which was really the last-but-one, but the history wasn’t updated then.

My least favorite android UI feature is the "clear all" option on the list of notifications. Every time I use it, they randomly show up again hours or even days later.

That's a bug/feature of the application(s) offering the event. They get an intent informing then that the notification was dismissed. Well-behaved apps should not repeat the same notification later on, but many seem to do when an additional notification comes in. :-(

Thanks, that makes sense, but also makes it even more annoying when default Android apps behave that way. :|

Is there an agreed upon name for this, where a website or app loads elements piecemeal so we click the wrong thing by mistake?

I know it exists as an intentional dark pattern (so we just think that's what happened). But it also seems so common now across computing and it pisses me off every time.

Laggy loading of items into a tappable target area is begging to be called the “slow poke” pattern

In my opinion, Windows search is the absolute most infuriating example of this, compounded by how slow it is. Let's name it so we can shame it

Just yesterday I tried to type "Network and sharing center". Apparently it does not exist in the index which is quite annoying, I have to click through the control panel (after accidentally ending up on a web search). Windows 10 is an odd beast with multiple generations of UIs all nestled away.

My only explanation is that the Windows 10 search rewrite metadata was outsourced to a team that didn't actually know how Windows works.

It seems like they stripped all metadata, including visual names of items themselves, and instead substituted random words.

The result is like playing a text-based adventure game without a list of the verbs the game supports.

Per memory, 7 and even 98 had a perfectly reasonable and accurate search.

Yes! For example, opening Visual Studio Code:

If I type VS... Visual Studio Code! Cool. (wonder why it did not suggest Visual Studio itself which I also have installed, buy hey I got what I wanted)

If I type VSC... ??? config files and some random XMLs from the deep realms of AppData

If I type vscode... No results, try a web search!

If I type Visual Studio... THE Visual Studio shows, but no Code in sight

If I type Visual Studio Code... There it is again!


The whole rigmarole is just... Huh?! How does one even reach that point? I can't think about any naive buggy way that could reasonably cause such discrepancy of results. Just search by Filename and Display Name! Or whatever criteria, but be consistent!

When I start typing "solidworks" it alternates (with lag) between the Solidworks core software and Solidworks Explorer. I only get the right one ~half the time, since it seems like it will open the one that would have loaded rather than the one that is at the top of the list when you hit enter.

I definitely feel there's some poor-UX lazy loading of results.

But literally mystified why there isn't a prebuilt index table that instantly loads the top results.

All Windows apps / panels + last 250 files opened shouldn't be hard.

Trying to get to the network devies page is equally infuriating- it's under network adapters and options in Control Panel, and may or may not actually be accessible from the new Settings app- I don't remember.

Even better, try setting the dead zones on an XInput game pad. Off the top of my head, it goes something like: “Settings” > “Bluetooth and other devices” > “Printers and other devices“ > Right click your game pad > “Gamepad Settings” > select your gamepad > “Ok” > “Deadzones”

The really sad thing is that Windows has multiple accessibility layers for every visual control (e.g. Active Accessibility).

So there is literally already a textual, and usually interpretable, path to any window.

Apparently tying search into that made too much sense though, and so instead we get a reinvented (slightly square) wheel.

Win+R -> ncpa.cpl

How could I have forgotten?

Runs fine for me. Are you using a SSD or a hard drive?

I want to know this too. Another example is Google search. If you search, click on a search result and then go back then a panel slowly appears below that link. So if you are going to click the next link, it interferes with that.

Someone once told me this is called being "matador-ed" because it's just like pulling the cape away from the charging bull.

I love that term and the Android share dialog has always been my top example.

"reflow" or "layout jank" are ones I've seen a fair number of times (not sure if "jank" was intended as "stuttering" or "unreliable", but both work if you go for the feeling)

I've heard "jank" in speedrunning used to mean "badly-implemented interaction logic that makes the timing for a reflex action non-deterministic / non-learnable", which fits perfectly here.

A dark pattern is intentional, most of the stuff I'm talking about seems to be from ignorance or indifference.

Asynchronous element loading saves time overall but it costs time when key UI elements rearrange. It's probably difficult to pull off but linear/blocked/sequential loading for the current viewport and offscreen asynchronous loading is probably what we need to avoid this (or ugly placeholders).

Google prioritizes time to first draw. Do they prioritize time before the page is completely loaded? I don’t know the answer but if they’re going to stay in the business of ranking pages on speed, they should be putting that as a higher priority for their rankings. Too many times I’m reading the content and yet the browser is still loading... something. What? I have no idea.

Three Card Monte?

I find this happens with computer game UIs a lot, too, especially for dynamic UI elements that float above static UI elements. Especially when there is a lag due to animations.

"Progressive enhancement" came to mind with an /s subtext on the side.

But then I thought of: "Percusssive enhancement". Maybe not semantically 100%, but... not 0%.

This happens with Google Chrome address bar suggestions on Android too. Drives me nuts every time.

The Chrome reload gesture also gets in the way sometimes. It's especially infuriating when there's a link you want to click on the page (that's still loading), but additional content causes the content to scroll down as you're tapping the screen so Chrome misinterprets this as you wanting a page reload.

Google recently started doing this. I literally never click google ads, and today about four times I've click on ads because the thing I want is result #1 but just as I'm about to click three ads load in and I click the first ad.

Wild guess: it's a bug but it looked good in A/B testing. The change was supposed to increase ad click rates and it did. Job well done, ship it!

I swear I've had images and videos switch places as I'm clicking on the search results tab.

Or maybe I have 15 years of expectation that images is going to be the second tab.

Edit: nope, just did a search, it started web images videos then right when the page finished loading it switched to web videos images

So only does search not work anymore, it's unnavigable

Edit 2: it's not just video, it rearranges the tabs based on relevance. "John wick" will move videos to the second spot. "San Francisco" will move news second and maps 3rd.

I get it, but I also don't.


A product manager somewhere in Google is excited for their quarterly bonus.

I just clicked on google ads 3 times in 2 minutes because it keeps showing image search results. Then juuuuust as you're about to click the row of ads shows up and you click on an ad.

The AI then congratulates itself on serving such relevant ads.

Not only does it enable mistaps, the speed each time is inconsistent. The order each time is inconsistent. I never know what app or person will be high up on the list

> and this of course gets logged by the AI

@9nGQluzmnq3M don't mean to mock you. It more that it sparked a general observation that seems to be the case now dasy . It is how 'funny' it is that now days we tend to all a lot of stuff AI. Back in the days pre-internet days, this is just some kind of preferences we stored per user bases. I can see that the IT industry is a lot of what is in fashion.

I don't think the two are the same thing. I can't speak for everyone, but when I talk about AI in the context I'm talking about opaque systems with no obvious connection between my action and its response.

The sorts of things phones used to remember I'd never refer to as AI. A list of contacts sorted by the frequency with which I use them isn't AI. A list of contacts sorted in an order I don't understand, with a slight preference for frequent contacts, is.

The latter have proliferated recently, hence the shift.

The real difference is where it gets stored.

Clearly, you want your list of "frequently searched terms" stored locally on your device in a very small and efficient history file.

However, if you store this file on the server, you can hide from the user what actually gets stored in it, it takes longer so it seems like it's doing harder work, and for some reason gets it wrong occasionally which means -- AI.

Google Maps is like this. It completely refuses to remember your recently searched addresses if you disable Location History (which includes remembering and storing, let's call it a little bit more info than just my recent search terms).

This would be such a prime candidate for storing securely, privately on your device, for any type of map service, that I can only conclude this is deliberate hostile anti-user programming.

Also I bet there's code out there that just returns most-recently-searched with a few deliberate mistakes to seem more opaque and thus more AIey.

No, the difference I'm drawing is between straightforward and opaque responses to input.

I'm sure there are companies which play the various games you're suggesting, but I think positing that it's the rule verges into the conspiracy theoretical.

> when I talk about AI in the context I'm talking about opaque systems with no obvious connection between my action and its response.

For sure, with all the type of Neural Structured Learning, seems like we are just trying things out by training models. Would be good to have a way to actually explain to us developers how decisions are actually made. I know it is based on some kind of statistics.

If anyone can point in the direction that would be greatly appreciated.

Just because the preferences have got worse because of the AI doesn't mean they are no longer "preferences".

I actually don't call either of them preferences. Preferences are something I set, not something the phone decides for me.

It's an "AI" in the sense that it's an uncontrollable, unknowable black box that's clearly trying to be "smart" (artificially intelligent).

It's definitely not sorted by contact frequency or anything close to it, because many of the people I share with all the time never show up. As I type, three of my "top" 4 (including that plumber) are SMS, which is doubly weird since I almost exclusively use WhatsApp.

It's doing something else than the most logical deterministic assumption, so clearly it must be trying to be "smart" ?

How often does a badly implemented algorithm that should in theory just work, get labeled AI because in practice it returns opaque results occasionally?

I just fucked this up today. I didn't do anything bad, but apparently some apps share by default when selected?

This has been bugging me as well for years. Only found an app called Sharedr recently which replaces the sharing dialog. It's not perfect and has a limitation with sharing files, but it's a million times better than the default option.

Not sure if the same issue, but Android 9 takes a second to load your contacts from apps. Want to send a link through SMS? Tap Share, and Messaging is at the top row. But if you hesitate for a second, your Whatsapp contacts will load in and suddenly you're sending a link to someone that shouldn't get it.

This is so weird. I don't use messaging, just Whatsapp. My experience is the polar opposite--it shows my Whatsapp contacts whom I actually want to share with for a second, and then replaces them with messaging contacts.

It's like they know what our intent is, and intentionally replace what we want with what we don't want.

> the absolute inability to override the order of items in the sharing panel[1]

that's funny because on iOS you seemingly can override the order, but the behavior of that between different apps (and/or content types?) is so undeterministic that people just give up.

I swear there's some AI going on here. I've noticed that suggestions in my share panel differ depending on content, location, and other things.

Or maybe it's just really undeterministic. :)

Any sufficiently unadvanced AI is indistinguishable from a random number generator.

...that uses a seed randomly pulled from a list of four seeds based on something that doesn’t have an even distribution.

We really should use a clever term like AAI,

artificial ... artificial intelligence.

(not to be confused with humans)

If you're thinking of the inconsistency of the suggested contacts, it is based on content, source app, etc. For pictures, there's even analysis of picture contents. All on device. Unfortunately, there's no way to remove someone from being suggested, except to delete your message thread with them.

> Or maybe it's just really undeterministic. :)

Never attribute to AI that which is adequately explained by stupidity.

There is

Thank you for pointing that out. I often share things with my girlfriend and never share things with my landlord, but android share deems it necessary to show my landlord as the top level person to share with and my girlfriend nowhere to be found.

For some reason, one of my top contacts on my iPhone is always this one awful customer I had sometime last year. Forget that I've talked to dozens of other people since, apparently a couple of emails to this insufferable dbag means I want to send him pictures of kittens and memes all the time.

The one thing iOS does get right is being able to order my apps in the share dialog however I want and it always respects that. I fucking hate using my android phone because I'm 100% sure it's meant to torture you.

I think the share menu uses concurrency to query available share targets (querying their names and icons), so whichever target responds first, gets put in the list first. Which is indeed very dumb, because the user gets a randomized list everytime s/he wants to share something.

I'm using Fliktu https://play.google.com/store/apps/details?id=com.oakstar.fl... to override the share menu, it works in most apps (some apps use an internal share menu), and you can also trigger it by shaking the phone after copying something into the clipboard. AFAIK it sorts the share targets by "last used".

Another option is Sharedr https://play.google.com/store/apps/details?id=com.rejh.share...

Personally, until something open source is available, I'll stick with NeoLinker on my unrooted (no firewall) phone. It uses the built-in share share menu, but has the advantage of being able to share to itself to rotate between share, open with, search for, etc. If you're interested, it's available on Fdroid (and probably the play store as well?)

I confess I switch to Android from iPhone as a single issue voter - I just wanted to put files on and off it without the OS getting in the way.

These days though I think iPhone is a little better at that, and Android gets in the way all the time ("Camera has crashed, please restart your phone" - somehow, restarting all apps that may have interacted with the camera works too Android, why don't you clean up after yourself so I don't miss nice photo opportunities).

“Camera has crashed” is very likely model/manufacturer dependant.

That said, having to evaluate different models to get something reliable is a pain (currently I would only buy either Pixel or Nokia).

Yeah I figured as much. Moto G5 Plus if anyone cares.

However, if it carries the Android brand I think it's fair to put some of the blame on Google. Atari learned that lesson in the early 1980s.

Yeah, I'm also a single-issue Android user (have used Dvorak for nearly 20 years now, no interest in using/learning the iOS QWERTY keyboard), and if anyone asks me, I'm hard-pressed to recommend an Android device over an iOS device.

You can use Dvorak on iOS. One example (but not the only example): https://apps.apple.com/us/app/dvorak-colemak-keyboards/id940...

Yeah, I've tried, but third-party keyboard apps on iOS definitely feel second-tier, and iOS will revert to the stock keyboard app for certain things, and it's just too jarring to get punted to QWERTY whenever I need to enter my phone password.

With face-id and password vaults, I never need to enter passwords :D

"Passwords" in general aren't a problem, they don't revert the keyboard to the "wrong" layout - it's only the iOS system password that does this. It's not a daily occurrence, but you still need to enter the device password with the "wrong" layout every time you restart your device, when you go 48 hours without unlocking your device, when you have too many unsuccessful Face ID/Touch ID attempts.

It's not a big issue normally, but how would you feel, if, as a QWERTY user, you were punted to a Dvorak keyboard to enter your password every time you restarted/updated your phone?

My wife and I both use DVORAK, but so many computers are QWERTY that I can use both now without thinking.

I knew I had them both down when I could tell people verbally how to enter text on our DVORAK machine by telling them the QWERTY equivalent without looking.

I've never been cool with people using my keyboard or with using other people's keyboards. One of my personal silver linings from COVID is that this should generally no longer be acceptable outside of family units.

It will be interesting if this type of previously acceptable behavior will be driven away by fear, even if the fear turns out to be unwarranted and potentially counter productive.

I.e. assume the trends continue, and COVID spread is confirmed to happen 99% of the time by respiratory droplets (touch being an ineffective transfer mechanism). Also, data on ultra-clean environments point to harmful effects on the human immune system.

Story from colleague: New intern doesn’t shake hands on introduction, but subsequently continues to work shoulder to shoulder in doors for hours learning equipment.

I’m indifferent to the handshaking, but it will be humorous to me if it has absolutely nothing to do with covid and it goes away. (kind of like rental car companies, some airlines, air bnb etc. that may all be destroyed by fear).

This is a bug in the app, I don't see how it is Android's fault.

This is a Play Store curation failure _as well as_ a bug in the app.

This sort of fault shouldn't have been allowed to pass.

It's funny how the chrome store has skewed so far the opposite direction (kicking out extensions that claim they need http://*), but any Android app can claim they're a http:// handler.

well it is a pretty transparent use case : the app declares it can respond to any http intent.

The user has to agree to use that app to open http links.

Sure Google could kick this dev butt and ask them to use a more focused intent filter but that's way less of an issue than an extension siphoning all your web browsing.

The Play Store is a disasterous shit show; I don't trust apps on it at all.

tl;dr: what bug, or even what kind of bug?

"The app" does not provide the share intent panel functionality, the framework does, and even if there was some way in which an app could be thought to be to blame, with what permission would it be inserting its resources in a particular spot in the panel?

The app declared itself to be a web browser so the OS asked the user if they wanted to use this new browser.

Yeah, the top suggestion for me to share content with is my boss's boss, whom I've directly emailed about three times in the 1.5 years I've worked at this place.

Android’s complete user hostility is the best argument against GNU/Linux not being a popular desktop OS because it’s not “user friendly” enough.

Android is polished but user hostile. Linux is just unpolished.

While we are piling on, Android's autocorrect is absolute shite. It won't suggest or correct for misspelled words that are obviously one letter off, and then replace correctly spelled words like "the" because it knows better than you. It's not smart enough to get that you typed.period instead of space and correct it. It's as if the devs that work on it don't even use it.

IOS Autocorrect does all of the same shit. It's always been baffling to me that no autocorrect seems to be designed around the type of errors you're likely to actually make on a phone keyboard. Mistype the first letter? Nope, never gonna catch that. Being able to recognize simple prefix and suffix constructions on the fly would be nice too. If I put "re" or "pre" before any valid word, it should recognize what I'm going for.


It's part of the keyboard. Just use another.

Recommendation for one that doesn't slurp your data and has great autocomplete?

Fleksy has an amazing algorithm and is gratis nowadays. I'm not user what the developers are doing because the thing is feature complete and they keep on announcing weird additions, bit those are always opt optional so not all bad. Here's their official page where they advertise their app to government officials due to their privacy standards: https://www.fleksy.com/government

I'm not sure about the former, but SwiftKey is great. Owned by microsoft though so might still be slurping your data.

I dunno what's going on with you and some of the other child commenter's phones but my share panel is only people I text every day and always has been.

Also, the share panel is configurable:


Can confirm this works, I just tried it.

I run stock Android on a Pixel phone and the default people in my share area are people I haven't communicated with in years. I hate it so much. They're in my contacts in case they ever reach out, but by no means is it the last people I texted or anything close to that.

You can pins apps (second row), but not contacts (first row).

This Trick Works With:

Android 7.0 through Android 9

I run Android 10 on a (Google) Pixel 3a.

It's back on Android 11 I believe.

More examples here:


I have now switched to a iPhone XR, and while it has its own issues it manages to get its suggestions right some times at least (no, I don't need directions home from the store 1000 m away, but at least it isn't completely out of touch like Android.

"things like the absolute inability to override the order of items in the sharing panel"

You can replace the share provider app with something else like https://play.google.com/store/apps/details?id=com.rejh.share....

Sure, but why does the default share menu shuffle everything every time I open it?

Yes Google cannot be not doing that on purpose. The worst part for me is that it never shows a contact that I text daily and instead shows me contacts that I only contacted once a long time ago....

Android share is pretty sad.

It used to be miles ahead of iOS but it has been pretty stagnant and for a while has shipped with an implementation that would ask at share time which apps can respond (Which explains why populating the share menu was pretty slow for several android versions)

that's not why

> "Unpaid concept testing" is the next simplest.

Shutup and eat your dogfood like a good consumer ; )

Oh, it's not just me.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact