3 ms·
What's wrong with intents now?
by saturn_vk 10y ago
What's wrong with intents now?
- Aaargh20318 10y agoIntents don't work because they were designed to be too flexible. Say I want to be able to share something on social media from my app, seems like the exact use-case Intents were made for. So I create an intent of type ACTION_SEND because that's the only one that sorta does what I need and now my user gets a HUGE list of options, half of which are irrelevant and/or don't work at all. I cannot limit the Intent to 'share on social media' because it has no such category. You cannot filter the list yourself because that would mean having to know the package name of every possible social media app. Worse, even the well known social media apps do not work. No one agrees on what fields should mean what and how to interpret them. For example: you can create an intent that prefills the text and attaches a photo and it will work when you use it to open Twitter but not Facebook, facebook ignores the pre-filled text. Another app will ignore the photo, etc. you can't test every possible target app so the whole mechanism is unusable if you want to deliver a good UX. In the end you give up and just add the Facebook and Twitter SDK's to your app. Another example: we have an app that deals with privacy-sensitive information. We want the user to be able to e-mail this to him/herself but nothing else. Or rather: we don't want our users to accidentally share this information on social media. You cannot create an Intent that will only open the users preferred email client and excludes everything else. Intents are pretty much worthless if you care about a good UX at all.
- curt15 10y agoFrom a user's perspective, I consider Intents the strongest feature of Android as it let the system make no assumptions about my preferred apps. If it is important to closely control the user's flow, as in your second example, then you're probably better off hardcoding a list of other apps that your app can interact with using explicit intents like how sharing works on iOS. General intents like ACTION_SEND are designed to be intercepted by any app that declares itself capable of servicing the request, regardless of how well the app can actually do so.
- Aaargh20318 10y ago> From a user's perspective, I consider Intents the strongest feature of Android as it let the system make no assumptions about my preferred apps. Half of the time the apps listed make no sense for an intent. There needs to be a mechanism for more fine-grained categories. For example, it should be possible to create a 'social media' intent for sharing on social media. It makes no sense to include Dropbox or Google Drive in that list. And while it may be a nice feature for power-users, it's a horrible feature for the average user. Why would the user want to be presented options that don't even work ?
- eric-hu 10y agoJust wanted to chime in as a former six year Android user that I miss intents the most. I'm using my phone much less for certain activities. For instance, I share to instagram less because it's not in thr iOS share drawer for some reason. I think the arguments leveled against Android elsewhere in this thread are solid...maybe even the UX one against intents. I certainly don't suggest an Android to anyone in my parents' generation, except my former-programmer uncle.
- gagege 10y agoInstagram seems to have decided to implement their own sharing system that ignores everything but the most popular apps and websites.
- st3v3r 10y agoIntents are a great idea for communicating between apps. They are complete and utter garbage for communication within the app between screens.