I'm building an app where the user needs to enter input on form fields.One of the inputs is to attach a file, it can be any file or it can a photo from a gallery.

I placed inside the form itself a button which links to the photo gallery and beneath it another button for attaching general files.

I attached an example

attaching buttons on a form

Do you think I should follow the convention for attaching files (like Facebook, Gmail, etc...) where attaching is done through a menu ? Or does this method seem acceptable and can be understood ?

3 Answers 3


imao, adding two buttons is confusing for user.

when user click-on the single "clip" button for attaching, it should then show differentiated options for file, or image.

if user select "image", then head to gallery or something. else, in case of "file", it should head to some file browser.

  • True you don't need two, but maybe the 'Add a Photo' is a good option, to 'assure' older or inexperienced users that they will be doing the right thing/what they expect. Dec 22, 2012 at 22:27

I think you are close enough to convention to proceed with your design and implementation. What I’ve learned user attach only one file per message, and when that is the case – users attach files the other way around starting with the medium. They start in the photo gallery and chose “share” from there and select how to share afterwards. But still – your mockups so far look good, and I see no reason why it shouldn’t work. Just be sure to implement the reverse attachment process on your target mobile phone as well.


Based on your example screenshot, I think there is an inconsitency with using the document type (image) for photos, yet the type of action metaphor (the clip) for the other.

How about using a clip + photo for adding photos and clip + document (a sheet with lines of text, for example) for adding documents?

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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