Take the 2-minute tour ×
User Experience Stack Exchange is a question and answer site for user experience researchers and experts. It's 100% free, no registration required.

So I'm designing an Android app - there's a ListView section adding and removing accounts. I came across a problem where there are several solutions, but was curious on how the community thought.

What's a good solution for removing an account in that list, without already showing a delete button.

I thought of having a onlongClick event to then prompt the user with a delete icon to delete the icon. Alternatively, a long click could result in the item sliding right and showing a red rectangle with delete icon inside of it.

The problem with both is how do you inform the user that that is the necessary steps to do such task?

share|improve this question
add comment

10 Answers 10

You have to assume that most if not all Android users are familiar with the long click - from having to previously do things like remove or relocate apps and such.

If you were to implement a long click to delete items, the most consistent and therefore usable things to do would be one of the following:

  • Show a confirm delete dialog with OK and cancel - simple and usable.
  • Show a remove icon to drag the list item to (similar to how you remove apps) which would provide ultimate consistency, but would be more challenging.

Depending on the current function of a regular click, you could consider having it open a dialog with a list menu (which looks just like a context menu) with delete as one of the list menu items along with whatever other functions a regular click has. For example:

Options

  • Open
  • Delete
share|improve this answer
add comment

What you want is this:

  • Not hidden
  • Not obstrctive

This Does both: Just show a little grey colored cross on the right side that isn't too bright to attract the deletion but isn't hard to find either.

enter image description here

Ask for a confirmation when the user clicks the cross.

share|improve this answer
    
this was my first thought as well. My hesitation came from the accidental click and the annoyance of a dialog box coming up everytime. But the likelihood of that actually happening? - I'm not sure, but this is a good thought. –  PhDeOliveira Jan 17 at 14:47
    
the ideal is to delete and show an "undo" bar - similar to a toast in that it's transient and doesn't block the UI like a dialog would, but is clickable so you can undo the action performed if it was an accident. –  ataulm Feb 25 at 21:26
add comment

Methinks the swipe action is pretty intuitive in itself for seasoned smart phone users. But, if you still wish inform the user that a particular action triggers 'delete', consider showing an overlay over the first record, once the list is loaded, that plays out like an animating 'gif' and says 'swipe to delete'.

share|improve this answer
add comment

I have only ever owned Android phones since the original Droid came out (and I upgrade once a year) - so to me it's pretty intuitive that if there is no menu button to delete something, that an onLongClick should do the trick.

This is the basic functionality of your home screen on android, which enables you to delete and move icons and such, so I think you would be well off using that function.

You could always do a quick tutorial upon the first use of the app to get the user familiar with how it works too.

share|improve this answer
    
Do you think the user needs a TOAST notification every time they reach that activity? Something that notifies them that "Long Click to Delete"? Or is that even necessary? –  PhDeOliveira Jan 17 at 14:48
1  
I don't find it necessary. The only time you really would want to do a TOAST is when an action has happened - this confirms that the actions was completed. As @Mike says as well - you could do a longclick for one option, and then a delete all function that uses checkboxes down the line. –  quesoflorecido Jan 17 at 20:35
    
-1 in practice of modern Android apps; long click is now typically used to enable contextual mode in lists. This may include delete (long click initiates multi-select mode on the list, with batch actions appearing in the action bar). +1 for toast as confirmation rather than a reminder. –  ataulm Feb 25 at 21:29
add comment

This answer assumed the user is already in 'Edit' mode

You've mentioned that this list view is used by the user to add and delete accounts.

In this scenario deleting should be a primary action which means you can forego hiding the delete action behind the long press.

If the user needs to receive feedback for account deletion, then make the delete button available for each account. You can then provide feedback as each account is removed.

In cases where the items do not require individual feedback, you can make available check boxes and allow for a bulk delete action. Using the action bar for this scenario makes sense.

See http://developer.android.com/design/patterns/actionbar.html for more info

Edited answer based on additional info

A typical function of a list item is allowing the user to drill down into the detail view of a selected list item.

I rarely come across a reason to allow the user to perform destructive actions alongside non-destructive ones. Users should feel comfortable navigating a list of item without the fear of doing something wrong. Therefore I'd hesitate to add the stress of avoiding delete buttons if the user is drilling down on account items.

Its with this mindset that we only activate the destructive interactions at the users' instigation such as:

  • Swipe to delete (iOS pattern)
  • Long press to present contextual actions (android pattern)
  • Tap a checkbox on a smaller target within the list item
  • Tap 'Edit' to enter editing mode

You can adopt any of these designs options by weighing up user's intent when they enter your page. Are they intent on 'editing' their accounts list or are they browsing their list.

share|improve this answer
    
I didn't specify this, but I would say the primary action would be, if clicked, it would take them to their account. Do you think that changes your thought or justifies even more? –  PhDeOliveira Jan 17 at 14:52
    
@PhDeOliveira of course this does - which is fine since UX design is about refining your solution as you get feedback from your users and stakeholders. –  micap Jan 19 at 12:00
add comment

IMO, this isn't the best way to accomplish this.

I'm not sure of the existing protocols for Android users, but for iOS the precedent has been set that you can swipe either left or right on a cell to reveal a 'delete' button. I can't imagine that Android has strayed far from this.

mockup

download bmml source – Wireframes created with Balsamiq Mockups

share|improve this answer
add comment

As far as normal apps are considered, most common "delete" options are:

  1. Directly providing a menu or delete icon(usually a garbage bin, may be red in color) in action bar.
  2. Providing options for sharing, opening , deleting etc onlongclick
  3. Swiping towards right or left followed by a confirmation box.

Option 1 has the easiest to locate delete option, your users will not have to search for it. Option 2, easy and known by almost all android users. Option 3, easy although but a little rare in android users.

If you are looking for a conventional way, and don't want your user to search for delete option, Use ACTION BAR.

share|improve this answer
add comment

I think this is covered exceptionally well by Nick Butcher from google in this video from the YouTube series.

http://www.youtube.com/watch?v=jes1iXRFRw0#t=10m

You should use a contextual Action Bar mode, that responds bearing in mind what mode you are in. You can cancel via the back button or you can complete the process by selecting some rows and using a button in the Action bar to control the following process.

share|improve this answer
add comment

The problem with having a single button on each row is that the user will only be able to delete one at a time. Almost every forum and blog software allows mods/admins to mass edit/delete by using checkboxes.

mockup

download bmml source – Wireframes created with Balsamiq Mockups

This type of thing is used a lot, especially for web masters or any scripts for web use. It's pretty straight-forward and fairly common.

share|improve this answer
add comment

Before I start, note that I've not developed for Android, nor have I ever used Android. That said, as such things go, I just went through a few days of working on a list that works as I wanted it to. The result is this:

Create, read, update and delete on a phone

I don't know if this sort of experience is possible on Android but if it gives you ideas then that's good. A more detailed description of how this works, and a high-res image is available on my blog

share|improve this answer
1  
Sorry, but I don't understand how this flow works. Can you describe the process? –  JonW Jan 17 at 16:51
    
@JonW It's not a flow so much as cause/effect. There are only two pages (or forms) - the list (screenshot 2), and the item (screenshot 1). The orange circles/ovals indicate a tap gusture, which changes the display to look like the screenshot at the end of the arrow. The blog post I linked to in that post describes each orange number in a little more detail. –  Fourth Protocol Jan 17 at 17:14
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.