My web app, like most, is trying to utilize as much space as possible by trying to use an icon as a button to perform specific tasks. I have quite a few that would make for a pretty obscure button, such as "mark as hidden". I can come up with icons that make sense if already know what you're looking at/for.
I have two problems with this approach:
To figure out what a button is, the user either has to:
- [Mobile Devices]: Click the button and hope it have any adverse effects.
- [Desktop]: Hover over the element which is acceptable, but doesn't allow for quick recognition of features. (This is on the lower end of my focus)
It forces users to become intimately familiar with your app. I realize any complex application will force users to do some learning to take full advantage of every feature, but it's my experience that users want to be able to play around with the basic functionality right off the bat.