90 percent of everything : Usability Blog
Written by Harry Brignull

Mobile Safari’s misleadingly greyed out “file upload” control

May 27th, 2010 by 14 comments

The way Mobile Safari handles <input type="file" /> is something that really winds me up:

File upload isn’t possible from Mobile Safari. My beef today isn’t with this fact – it’s with the UI design. To show the ‘choose file’ button greyed out like this is inherently confusing. To grey something out is to say that “in some circumstances, this control will be active”. On today’s iPhones, this button will never be active. Tapping the button does nothing to clarify this. Nowhere is an explanation given that “Actually, you can’t upload files from Mobile Safari. ”

I’ve got an idea of a solution in my head – but I’d love to know what you think. Suggestions in the comments please…


Related posts:

14 comments so far | Leave a comment
  1. Anon Coward

    When the user clicks ‘choose file’, a photo of an android handset should appear, with a message stating ‘YOU SHOULD HAVE BOUGHT ONE OF THESE’ :-)

  2. Duhmcah

    Lots of websites can tell if you are browsing from an iPhone surely the best option is to remove the entire option with an iPhone version of the site, or change it to a friendly message saying “this option is not available on the current platform”

  3. Alex G

    I’d say “In some circumstances, this control will be active” is actually accurate, those circumstances being in the distant future versions :-)

  4. Brandon Corbin

    Why they don’t just open the Photo Gallery is beyond me.

  5. Harry Brignull

    @Duhmcah – True, but this involves you, the web designer, doing extra work, rather than Apple fixing up Mobile Safari to be less confusing.

    @Brandon – That’s a start, but what if you want to upload other file-types?

    @Alex – Yes, perhaps in one possible future, this message will be accurate, but that’s a bit Star Trek isn’t it?

  6. Elthar

    @Anon Coward

    Yeah, they totally should put it like this:

    Select a file: … oh, wait, you can’t do that. Go get yourself an Android, loser.

  7. hanford

    Apple loves to hedge their bets like this. Having the button say “you can’t upload at this time” is admitting a flaw in their design. So they don’t admit it (just like Jobs stalling for *years* about talking about the lack of Flash and the reasoning behind it)

    My first idea would be to enable uploading. Heh. But other than that, I’d say … keep the button ghosted out, but clicking it opens up a dialog that explains that file uploading isn’t possible in mobile safari.

    BUT! Apple are geniuses, so, let me take a different approach:

    Perhaps Apple tested it in its current form and discovered that it only really bothered UX designers like us, and so didn’t rev it to be better.

    I don’t think Apple does user testing, though.

  8. Harry Brignull

    I was thinking the same thing – keep the button greyed out, then have an alert dialog that appears, but this does seem distinctly un-Appley. Initially I’d thought about showing a message on the page, but of course this would screw up the layout of most web pages.

    Lack of a general purpose “file manager” on the iPhone is a real problem for certain kinds of webapps. I spend a lot of my time working on a job board platform – where the user normally has to upload their resume (.doc/.pdf/etc) as part of a job application. I’m currently looking at a solution that involves redirecting users to use a desktop/laptop computer to upload a CV into their account if they haven’t already got one in there. I’d prefer not to have to do this.

  9. David Millar

    My first instinct is to have it open the photo gallery. My second one is a multiple option dialog like when you hold your finger over links, and give options like “Photo Gallery” and “Attach a File from URL” and “Cancel” or something of that nature.

  10. Shirley Man

    I would simply replace the button with an error message saying this feature is not supported currently on mobile Safari.

  11. Rob Fletcher

    What if your web apps purpose to upload files? What do you do then?

    Is there a way with HTML/CSS/JS to role your own file upload link?

    Yep this is really easy on Android to use HTML input field to locate an image from the gallery.

    Not so easy on ipod touch.

    I think they create these shortcomings on purpose so developers have to learn Obective-C and build native apps instead of being able to easily role a web app.

    Do you have any suggestions for making a file uploader in js?

  12. surinder

    see these:
    http://picupapp.com
    http://www.cliqcliq.com

  13. Ultrafly

    “Yep this is really easy on Android to use HTML input field to locate an image from the gallery.”

    I would really like to know how to easily do this! I need a working image upload field for the Android browser.

  14. Hennes Media

    Here is one way of doing it. It may need some work, but it is on the right track.
    http://picupapp.com/index.html


(required)

(required)

(optional)