Most active commenters

    ←back to thread

    669 points danso | 20 comments | | HN request time: 0.814s | source | bottom
    Show context
    braythwayt ◴[] No.23267590[source]
    A lot of comments are arguing about whether the software should have been modified to accept the HEIC format.

    Let's go with "no" for the sake of argument. They probably can't accept an mp3 of me singing my answers, either. But!

    If I upload an HEIC, an mp3, a keynote file, or anything else unacceptable... Why doesn't the site provide an immediate "File format not accepted, please upload .gif, .jpg, or .png" message?

    According to the article, the software would actually just hang. I think there's room to argue about whether they need to support the default format of an extremely significant platform for students. I think there's room to argue whether they should know enough about INPUT tags to let the browser help with this.

    But while we're arguing about those questions, can't we all agree that simply hanging without providing a useful error message, and without giving the student an opportunity to re-upload their image... Is unacceptably poor software design for an institution that holds people's future in their hands?

    I don't know about you, but if I were an American college student, I'd now be wondering what else they have kind of slapped together without thinking through graceful error handling?

    replies(5): >>23267911 #>>23268087 #>>23268156 #>>23269685 #>>23270629 #
    1. treesprite82 ◴[] No.23267911[source]
    It does have pretty much exactly that message. The corruption problems came from students seeing that only PNGs/JPGs were allowed, then trying to "convert" the file just by renaming it.

    What they're doing is the same as 99% of other sites that expect images. But it's probably fair to expect it to be even more streamlined (i.e: clear conversion instructions) given the circumstances of a time-limited exam.

    replies(5): >>23268095 #>>23268124 #>>23271075 #>>23274264 #>>23275188 #
    2. Polylactic_acid ◴[] No.23268095[source]
    Most other sites would accept the upload, try to parse it and then return an error message. Its always the sites fault if it just gets stuck
    replies(1): >>23268131 #
    3. LeifCarrotson ◴[] No.23268124[source]
    No, what 99% of sites are doing is

        <input type="file" accept="image/png, image/jpg, image/jpeg" />
    
    If you do that, Safari will convert the HEIC image to a JPEG automatically when you try to upload it.

    What they did instead was to poorly reinvent the accept header in Javascript as follows:

        <input
          type="file"
          ...
          onChange={async e => {
            const split = file.name.split('.')
            const fileType = split[split.length-1].toLowerCase()
            const isAllowedExtension = extensions.includes(`.${fileType}`)
          }}
        />
    (per https://news.ycombinator.com/item?id=23261598).
    replies(3): >>23268189 #>>23268244 #>>23269342 #
    4. httpsterio ◴[] No.23268131[source]
    Eh that's not often a good idea. The service should only look at the file header for the mime type and decide based on that if it should even begin to upload.

    Mime types can be spoofed and if you read the data blob's mime from its' type, then just an extension rename will fool it. But if you look at the magic numbers you're saving your server's resources and the uploader's time as it doesn't even try to move the file if the mime is not acceptable. No reason not to do it on the client-side first.

    5. zaroth ◴[] No.23268189[source]
    > If you do that, Safari will convert the HEIC image to a JPEG automatically when you try to upload it.

    That’s quite impressive actually and much more than I would expect from a browser’s <input type=“file”> control.

    replies(1): >>23268588 #
    6. askvictor ◴[] No.23268244[source]
    That might be part of the problem, though other comments also point out that students were copying file to a computer, then changing file extension, then uploading. Possibly this was as a result of the iOS browser rejecting the file in the first place due to the shoddy input filtering mentioned.

    But going a bit bigger picture, the problem is that we still use file extensions to denote file type.

    replies(1): >>23268346 #
    7. Wowfunhappy ◴[] No.23268346{3}[source]
    This keeps getting brought up because there was one anecdote in the Verge story about a student who renamed the file on their computer. (Which still shouldn't have caused the test to keel over, but it's at least slightly more understandable.)

    However, there were many other reports of students going the more "normal" route of just uploading through their iPhones, which caused the website to outright hang.

    8. smt88 ◴[] No.23268588{3}[source]
    It's also not what a browser should do.

    JPEG conversions will vary in quality and size. On some sites (e.g. a CMS), quality can be sacrified to stay within file size limits.

    On other sites, like photo printing services, quality is much more important.

    These may be unusual cases, but silent browser assumptions are still an overstep.

    replies(1): >>23268967 #
    9. zaroth ◴[] No.23268967{4}[source]
    There's nothing stopping the user from doing a conversion themselves if they want to (and know how, which is asking a lot).

    The server is saying it can't read the other file type, so the alternative is to fail.

    replies(1): >>23269052 #
    10. Thorrez ◴[] No.23269052{5}[source]
    There's a medium option: have an alert popup saying

        Convert the image to a format the site accepts (jpg)?
    
        [ ] Don't show this message again
    
        [OK] [Cancel]
    replies(1): >>23269910 #
    11. technion ◴[] No.23269342[source]
    Just to give credit where it's due here, I don't think I've ever seen a client side form check upload sizes before. I've had many frustrations going through a form upload then refreshing to a page that says "your file was too big".
    12. lightgreen ◴[] No.23269910{6}[source]
    Anecdotally, yesterday I accidentally learned that my relative clicks OK in any dialog window within 200ms without even attempt to read the message. So the alert you suggest would slightly help 1% of geeks and will annoy 99% of the users.
    replies(1): >>23278827 #
    13. tomtomtom1 ◴[] No.23271075[source]
    I don't understand why no one is blaming the education system?

    How is it possible that students that are being considered for "advanced placement" are not familiar with file formats?

    how horrible and backward your education system must be? This belongs to basic literacy in the modern world.

    Note we're not speaking about old people who were exposed to files for the first time while they had to balance a family life and other responsibilities.

    We're speaking about people that were forced to spend more than half of their lives learning !!!

    replies(2): >>23271771 #>>23273920 #
    14. smileysteve ◴[] No.23271771[source]
    Because in a world where apps do everything for you and 80% of your use is on a phone and the remaining 20% is either for a once a year use case, you don't need to worry about image formats.

    Even as a software engineer, I haven't used a desktop or windows in 5 years. I haven't used TheGimp (or any other non web/app image manipulation software) in 3 years.

    replies(1): >>23276853 #
    15. ficklepickle ◴[] No.23273920[source]
    They don't learn any critical thinking skills. Memorization != learning.
    16. shrimpx ◴[] No.23274264[source]
    File extensions have terrible usability. People changing the extension expecting something to be fixed is a classic misunderstanding. Many people do this every day, decades into personal computing.
    17. tripzilch ◴[] No.23275188[source]
    > The corruption problems came from students seeing that only PNGs/JPGs were allowed, then trying to "convert" the file just by renaming it.

    I mean ... isn't that kind of a classic trick when handing in homework you didn't make? Just rename some file to .doc and claim it got corrupted?

    18. tomtomtom1 ◴[] No.23276853{3}[source]
    that's interesting, so you use an iPad for your day to day programming?

    from my experience converting ppt/word to pdf is a common enough use case that I would've assumed the majority of non-tech people run into it.

    Latex is also a common case where you run into file extensions.

    note I'm not expecting them to understand the difference between extensions, just what they mean and how to google how to convert between them.

    19. Thorrez ◴[] No.23278827{7}[source]
    Compared to the option of not converting, it would help everyone, reducing annoyance.

    Also I'm not sure if you can generalize from your one relative to 99% of users.

    replies(1): >>23281247 #
    20. LordDragonfang ◴[] No.23281247{8}[source]
    While it may not be 99%, /r/talesfromtechsupport on reddit has enough instances of this to suggest it is extremely common user behavior.