In the interests of fitting in with design guidelines and not wanting to endlessly push icon pixels, I try and use Android's1 built-in icons as much as possible. Occasionally, that means combining two together to make a whole new one. Mostly, it means trying to give an existing icon a new meaning2.
On one hand, this makes sense, as the icon will completely fit in with the look and feel of the OS. On the other hand, this is potentially very confusing for users, as the icon may not do what they thought it would based on its use in other apps.
Android's most recent icon sets are simple and beautiful; I want that simplicity and beauty in my app. They generally have a clear meaning; I want my icons to have a clear meaning.
If an app has many steps completed in a row, someone might make a mistake and desire Undo. A backwards pointing arrow will make sense, regardless of if there's one at the bottom of the screen.
If an app has a pane of information floating over the main content window, #4 below seems like a logical "Collapse" icon in that context.
The latter two examples below are actually instances of Android changing an icon's meaning, but I'm not taking that as validation.
- 1: "Back" or "Undo"?
- 2: Officially "View as List", but could easily be "View Document"
- 3: "Download", when rotated, could be (4) "Close Pane"
- 5: Commonly used as "Lock Pane" on desktops, it's "Make Available Offline" in Android
- 6: Commonly used as "Open", it indicates pictures are in a folder in the Gallery app.
So, what is the ideal course of action when reusing OS icons in an application? Will context win out? What other things do I need to consider when reusing existing icons?
1. Examples all from Android, but this surely applies to many/all OSes.
2. Shamelessly stolen from Rahul's comment since it was a fantastic idea and an issue that I face almost every time we add a new feature.