Most active commenters
  • Alupis(5)
  • munk-a(5)
  • (4)
  • JohnTHaller(4)
  • derefr(4)
  • root_axis(4)
  • thaumasiotes(4)
  • mrlala(3)
  • Wowfunhappy(3)
  • simonh(3)

←back to thread

669 points danso | 108 comments | | HN request time: 1.461s | source | bottom
Show context
coffeefirst ◴[] No.23261776[source]
"Our system broke, you're screwed now, sorry" is never an acceptable answer. Do they really not have anyone who knows how to get stuff done?

1. Take the files and figure out what to do with them so they can be read. This isn't a hard problem.

2. Ask everyone affected to email you the photo or a new photo of the documents. We'll just take it on trust that you do so honestly because there's no way you would've seen this coming.

replies(9): >>23262323 #>>23262343 #>>23262428 #>>23262479 #>>23262627 #>>23262802 #>>23263229 #>>23263339 #>>23263882 #
1. xienyc ◴[] No.23262428[source]
>"Our system broke, you're screwed now, sorry" is never an acceptable answer.

That's not what happened at all. The college board admitted their fault and are letting students take the test again. Even without that, they mentioned in their FAQ that JPEGs and PNGs are the only file types acceptable and even sent out a tweet (which should have been an email) a week before especially for iPhone users to let them know how to take pictures as JPEGs.

I agree with the people blaming the board for not having a standard image input field that lets the OS know when to convert images to JPEG but that is their only fault and I wouldn't have thought of that as a bug deal if not for this issue. While I'm all for open source media formats replacing what we have, HEIC certainly isn't big enough to be considered as among standard input options. Also, isn't Apple themselves infamous for not supporting certain formats throughout their devices?

replies(13): >>23262512 #>>23262557 #>>23262647 #>>23262683 #>>23262686 #>>23262913 #>>23263022 #>>23263295 #>>23264032 #>>23267061 #>>23267152 #>>23267311 #>>23268141 #
2. pwthornton ◴[] No.23262512[source]
If they had enough time to warn people ahead of time, they had plenty of time to push a fix to their system for this. We are literally talking about adding support for one more image format.

Emails, tweets, texts are no excuse for broken products. The iPhone is the best selling model in the United States. It is on College Board to support its default image format.

Good product design is owning your users' success. It is not sending people workaround emails.

The bare minimum would have to be to do a warning before every single AP test about this and giving students a few minutes to change their default image format. Sending a tweet (!!!) out does not count as doing any work.

This is a failure. An abysmal failure.

replies(14): >>23262634 #>>23262713 #>>23262885 #>>23262935 #>>23263736 #>>23263796 #>>23263816 #>>23263831 #>>23263848 #>>23263933 #>>23264038 #>>23264438 #>>23265745 #>>23265965 #
3. MattGaiser ◴[] No.23262557[source]
> even sent out a tweet (which should have been an email) a week before

This problem seems like it could easily have been fixed in under a week.

4. mrlala ◴[] No.23262634[source]
Have to agree with this guy here.. if you are doing Q/A testing and you notice that an iphone doesn't work by default, you have a problem.
replies(2): >>23262897 #>>23262905 #
5. ◴[] No.23262647[source]
6. genocidicbunny ◴[] No.23262683[source]
These tests take a not insignificant amount of time and stress to do, especially on top of this SiP situation. Not to mention they cost the students money.

Communicating these issues only over twitter is also not at all acceptable. Plenty of people don't use or rarely use twitter, such that it should not be considered the primary communication channel.

So while yes, College Board is allowing students to retake the tests, anyone affected should be refunded at least partially, if not fully, for having their time wasted. College Board should have had their backend reject invalid formats, not just hang. The result of attempting to upload an invalid format image should have been a 'whoops, please use a different format', but that's not what happened.

replies(1): >>23264537 #
7. oefrha ◴[] No.23262686[source]
> letting students take the test again.

Yeah, that still fits "our system broke, you're screwed now, sorry".

They have the submissions, the submissions can be easily converted to their target format. That's what they should do instead of asking students to take the test again.

Or maybe they simply delete any accepted[1] submission that they deem corrupted, in which case I have nothing more to say.

[1] Quote:

> Spencer used the same process on the real exam and thought it went through, but he received an email the next day saying the files were corrupted and that he needed to retake the test.

replies(1): >>23264128 #
8. hn_throwaway_99 ◴[] No.23262713[source]
While I kind of agree with the sentiment, I'm also totally done with the notion of "Apple decides to have their own unique format every 2 years, and makes the change in a backwards incompatible way, so now the world needs to kowtow to them, despite Apple dragging their feet in many areas of standardization."

Seriously, fuck Apple. It took legal changes in the EU to force them to the "Just f'ing support USB-C like the rest of the world instead of making half your money selling dongles".

replies(3): >>23262887 #>>23263268 #>>23263395 #
9. Alupis ◴[] No.23262885[source]
HEIC isn't supported in a lot of places. It's mainly (only?) Apple that uses it with iOS devices.

Perhaps Apple should make it easier or automatic to convert into a format that's universally usable.

Bet the same thing would have happened with webp images too.

JPG and PNG are like the FAT32 format of images. Always accepted, everywhere.

replies(2): >>23263019 #>>23263720 #
10. mfarris ◴[] No.23262887{3}[source]
HEIC was developed by the Moving Picture Experts Group as an open standard.

Apple was early in supporting the standard. Windows, Android, others have followed. More to come.

When venting one's spleen, it's best to be at least a tiny bit correct.

replies(2): >>23263054 #>>23264491 #
11. vb6sp6 ◴[] No.23262897{3}[source]
People used to say the same thing about Internet Explorer
replies(2): >>23263174 #>>23263405 #
12. Alupis ◴[] No.23262905{3}[source]
Perhaps it's the iPhone that's broken then.

HEIC isn't exactly a commonly used, or widely accepted image format outside of Apple's world.

replies(2): >>23263025 #>>23263036 #
13. zzyzxd ◴[] No.23262913[source]
> The website got stuck on the loading screen until Bryner’s time ran out.

If I am to write a system that accepts user uploads, verifying the uploaded file and giving proper error message on failure would've been the first thing come to mind. In this case, per the article, the system was stuck. This is simply unacceptable.

14. dylancop ◴[] No.23262935[source]
I disagree. Bowing down to the whims and fancies of corporations is how we got into this situation (in terms of media formats) in the first place. According to wikipedia, HEIC isn't even supported in any browser natively, clearly rolling it out this soon was a bad idea.
replies(2): >>23263016 #>>23263050 #
15. flatline ◴[] No.23263016{3}[source]
Open competition among standards is the way adoption has mostly happened at least since the VHS/Betamax days. Otherwise it’s decision by committee and/or fiat which can sometimes be a net benefit but more often than not standardizes on a cumbersome standard that is not a good fit for any one application.
16. lostlogin ◴[] No.23263019{3}[source]
> Perhaps Apple should make it easier or automatic to convert into a format that's universally usable.

Further down this thread you’ll see that the board have messed up and they aren’t accepting images they should due to poor implementation.

“ oefrha 1 hour ago [–]

Tried a standard input tag with the proper accept attribute <input type="file" accept="image/jpeg,image/png" /> Selected a HEIC file from Photos in Safari, the selected image was automatically converted to JPEG”

replies(2): >>23263273 #>>23263569 #
17. tomc1985 ◴[] No.23263022[source]
Is it really so tough to shove an HEIC-to-JPEG converter in their pipeline?
replies(2): >>23263272 #>>23263480 #
18. willcipriano ◴[] No.23263025{4}[source]
The question is, is it the exam developers task to produce software that works in the world as it is or the world as they would like it to be?

If the latter this is a roaring success.

19. mrlala ◴[] No.23263036{4}[source]
Just a guess, but it seems like you work in theoretical lala land and never have to deliver something that works.

I'm not saying you are wrong- sure you can argue that it's the iPhone that is broken, from a non-standard format. However, if you are designing an app that needs pictures to be taken and about 45% of your customers (the students) can't just take a picture without going through some conversion while on a time sensitive test- then you majorly fucked up.

End of the day this is on the AP designers for not adding a format which 45% of their base will use by default.

replies(2): >>23263340 #>>23265252 #
20. realityking ◴[] No.23263050{3}[source]
Media format support will always be a chicken and egg problem. You got to start somewhere.

Apple's approach of automatically converting images at the edges is the right way to go. It does require your software to be explicit about what media formats it understands. This is where the College Board failed.

replies(1): >>23263162 #
21. hn_throwaway_99 ◴[] No.23263054{4}[source]
You're correct, I shouldn't have said their own unique format.

Still, what matters is the reality of the situation. They could have easily made it so that uploading or transferring images, especially to websites, uses a standard format that 99.9% of websites support, instead of one that virtually noone supports (yet).

And at the same time that Apple rushes to support this new standard without providing a good backwards compatible experience, they've been dragging their feet for YEARS on Safari support for progressive web app features that would let devs build truly feature-comparable web apps without being beholden to the App Store walled garden.

replies(1): >>23263364 #
22. dylancop ◴[] No.23263162{4}[source]
>Media format support will always be a chicken and egg problem. You got to start somewhere.

Funny thing to say in support of Apple. Maybe they should support WEBPs/WEBMs instead?

replies(1): >>23264077 #
23. mrlala ◴[] No.23263174{4}[source]
What's your point?

If you are developing an application/website and it doesn't work with 50% of your market share- then you are a dumbass for not implementing it.

ESPECIALLY for an AP EXAM with consequences.

This isn't like "oh no, 50% can't reach our site about cat videos". This is an EXAM.

Honestly cannot believe people on here defending them not adding simple image support for 50% of the testers...

replies(2): >>23263456 #>>23263492 #
24. rgovostes ◴[] No.23263268{3}[source]
It's funny because the Lighting connector has been around since 2012, when Android phones were largely using Micro USB, with an awkward flirtation with the wide USB3 connector. Now they're standardizing on USB-C, so if you were upgrading frequently you may have needed 3 cables in the past 8 years.

Before then iPhones used the 30-pin connector, backwards compatible with 5-year-old iPod accessories. At that time other manufactures seemed to be shipping different barrel-plug chargers and proprietary cables for every model.

So that's 2 connectors introduced over a span of 18 years supported by dozens of product models that sold billions of units. Cables have been available from third parties for most of that time. The only dongles that might apply are 30-pin to Lightning or USB-A to USB-C.

The 30-pin's raison d'être was to provide features you couldn't get out of USB, like analog audio and video out. And Lightning was a much better designed connector than Micro USB due to being reversible, which informed the design of the Type C connector.

I'd agree that the Mac now has a dongle problem, but it's precisely _because_ it switched to USB-C, as you suggested.

replies(1): >>23267321 #
25. moron4hire ◴[] No.23263272[source]
Seriously, it's not. It's an attribute setting on the file input field. The iPhone will do the conversion itself, it just needs to actually be told what to convert to, rather than having to guess.
26. Wowfunhappy ◴[] No.23263273{4}[source]
I'd posit that Apple ought to assume the worst (ie nothing but JPEG and PNG is supported) if no format is specified. That's how we've built most of the web, to ensure backwards compatibility and avoid these kinds of problems.

That said, come on College Board. Fix your crap. What a stupid bug.

replies(2): >>23264060 #>>23268942 #
27. jaybeeayyy ◴[] No.23263295[source]
Taking the test again is a horrible solution. How is that ok?
replies(1): >>23271362 #
28. Alupis ◴[] No.23263340{5}[source]
Scanners almost universally output in TIFF, and need to be converted to JPG or something more universally accepted. Nobody complains.

Some scanners even will do the conversion to JPG for you, because they know nobody accepts TIFF files.

If Apple does it, then everyone has to accept it?

And why? Because images are large and Apple's trying to reduce the size on the phone? How about giving everyone more than 5GB of iCloud storage in 2020? Google gives you 10-15GB for free, and costs half as much for more storage.

For premium-priced devices, this is absurd.

29. oefrha ◴[] No.23263364{5}[source]
> They could have easily made it so that uploading or transferring images, especially to websites, uses a standard format that 99.9% of websites support

They do.

30. kedean ◴[] No.23263405{4}[source]
And they were correct. If more than 10% of the population is using it, it should be supported, particularly if you are providing a service that can affect people heavily (like AP test submission).
31. vb6sp6 ◴[] No.23263456{5}[source]
The point is that we have all seen what happens when we start letting a single company dictate formats. Because the next step is "i can't believe those lazy fucking programmers can't support heic2" or whatever magical bullshit they come up with after abandoning heic1.

And it you want to talk about incompetence, I'd say pushing a format that is almost guaranteed to be incompatible with the millions of existing backends out there is profoundly stupid.

replies(1): >>23264147 #
32. ◴[] No.23263480[source]
33. Alupis ◴[] No.23263492{5}[source]
HEIC isn't simple, and isn't common.

Apple should convert to JPG or PNG when exporting the image to anywhere anytime.

The same problem happens with webp images too - totally unusable almost everywhere, even in photoshop.

Apple wants to reduce storage space photos take up. Fine - but they should convert back to a standard format when exporting the image to be used on some other system.

With that said, it seems the issue is from students that didn't upload the image from their phone (where Apple correctly converts to JPG), but rather transferred the image to their computer, then uploaded into the AP Exam.

If that's true, then this is absolutely on Apple. Why would they export in a format that literally nobody else supports. What are these people supposed to do with a folder full of HEIC formatted photos, that can't be uploaded anywhere else, edited with any program, or opened even opened on some Operating Systems?

Apple should assume nobody else uses HEIC because... well, nobody else uses HEIC.

replies(1): >>23264170 #
34. Slartie ◴[] No.23263569{4}[source]
As I understood the article, the problem did not arise when uploading the picture directly from the phone, but in cases in which the picture was first transferred to a computer (via Airdrop was explicitly mentioned, but could probably also have been a cable connection) and then uploaded from the computer. Whatever conversion the browser on the iPhone (or Safari on macOS, because there are other browsers on computers as well) does or does not do is irrelevant in such a situation.
replies(1): >>23263779 #
35. cozzyd ◴[] No.23263720{3}[source]
You know, I thought that about FAT32. But apparently neither Windows nor Mac OS X can see a FAT32 partition on an SD card if it's not the primary partition (at, least, not in an obvious way).
replies(2): >>23264040 #>>23264121 #
36. bryanrasmussen ◴[] No.23263736[source]
The parent comment said they sent a tweet a week before, and they had something in their faq but it doesn't say how long before that was done.

Generally, when I've worked at places that were not startups a week to get something pushed in to fix something was not reliably enough time.

I didn't see in the article anything about how long they have been aware of the problem, perhaps they became aware of the problem just before the testing was scheduled to start. I guess that is a problem with their QA system, but at any rate I can think of lots of ways that they could have a problem for a week (or even longer really), not be able to fix it in their particular system, and have to notify people.

Of course I agree they did a lousy job of notifying people.

replies(1): >>23264287 #
37. Wowfunhappy ◴[] No.23263779{5}[source]
My understanding from the article was that both types of problems happened.
38. JohnTHaller ◴[] No.23263796[source]
> The iPhone is the best selling model in the United States.

To clarify: It has the best selling model, but it is not the most used mobile OS among US mobile phone users.

replies(2): >>23264002 #>>23264839 #
39. lisper ◴[] No.23263816[source]
> If they had enough time to warn people ahead of time, they had plenty of time to push a fix to their system for this

At the very least, a message that appeared at the time that one attempted to upload the image with instructions on how to fix the problem on the spot. How hard could that have possibly been?

replies(1): >>23264021 #
40. dmitrygr ◴[] No.23263831[source]
> adding support for one more image format

I seem to remember that HEIC is quite patent-encumbered. Could this possibly cost them a lot or be more complicated than you seem to imply?

41. strictnein ◴[] No.23263848[source]
> If they had enough time to warn people ahead of time, they had plenty of time to push a fix to their system for this

Yeah, no. Absolutely not. All of the testing for their platform would have to be redone, and if a bug is found, then what?

You can argue that they should have done a better job notifying users, but to argue that "of course they had time to push a fix in the week before the most important testing period" is just nonsensical.

42. sh-run ◴[] No.23263933[source]
ImageMagick supports HEIC to JPG conversion. It would take at most a few hours to hack together an interim solution.
replies(5): >>23264312 #>>23265824 #>>23266234 #>>23267487 #>>23269030 #
43. tpush ◴[] No.23264002{3}[source]
iOS's market share in the US is 61.25% according to [1].

[1] https://gs.statcounter.com/os-market-share/mobile/united-sta...

replies(1): >>23264931 #
44. munk-a ◴[] No.23264021{3}[source]
Quite hard? I mean shame on them for letting this bug through in the first place but I'd be pretty horrified if someone at CB tried to hot-fix this problem out.

This isn't a small agile organization, it's enormous and may not have any route to get a patch out in less than a week due to QA requirements. (That isn't to say such slow deployment processes are good, but they do exist and may be contractually required)

replies(1): >>23264124 #
45. pmichaud ◴[] No.23264032[source]
> letting the students take the test again

Maybe you're not aware of how much time, energy, stress, etc go into taking these tests.

Imagine if your university lost its records of your undergraduate degree and offered to fix the problem by letting you earn your 4 year degree over again. I think you'd agree that wasn't an acceptable solution.

This situation is not that order of magnitude, but it's similar perhaps to taking an entire college course. My wife works with high school kids and they are losing their minds over this, and I think they are justified.

46. xupybd ◴[] No.23264038[source]
I don't think it would have been possible to push a fix that quickly. Verification and sign off on these sorts of systems would require weeks or months to push changes.
47. nucleardog ◴[] No.23264040{4}[source]
Don't think that's exclusive to FAT32. For quite a while Windows just straight up ignored anything but the first partition on removeable media.
48. derefr ◴[] No.23264060{5}[source]
If no format is specified, then the presumption would be that the website wants a raw octet stream, and that adulterating it would be the last thing a client device should do, because it knows nothing about what the website's going to do to the result.
replies(2): >>23264154 #>>23268459 #
49. munk-a ◴[] No.23264077{5}[source]
Their approach to supporting the new formats is actually quite easy to work with and properly defined input tags will just automagically trigger file conversions on the iOS side.

I also really dislike Apple's usual "my way or the highway approach" (it's causing my nephews serious issues since some of their remote learning tools use flash which Apple refuses to support) but in this case they are using the right approach to make it a smooth transition.

replies(1): >>23264748 #
50. derefr ◴[] No.23264121{4}[source]
Windows and macOS do that in order to hide EFI system partitions, I believe. (Not that they should have to; MBR and GPT both define a specific tag to mark a partition as being an EFI partition. But so many partitioning tools don't bother to use that tag—or to adhere to any other standard that could be used to identify an EFI partition—that OSes are stuck with a very bad/loose heuristic.)

They may also get some other benefits from this bad/loose heuristic, e.g. hiding Linux's common FAT32 /boot partition; OEMs' "backup" and "BIOS update" partitions; OS Recovery partitions from unknown (and therefore unpredictable-in-approach) OSes; etc.

What the consumer OSes really need is a bit in each MBR/GPT partition's bitflags, that has a meaning equivalent to one of those "no user-serviceable parts inside" stickers. I think it's too late to fit that bit into either standard, sadly.

51. lisper ◴[] No.23264124{4}[source]
Who said anything about a hot fix? They knew about the problem well ahead of time.
replies(1): >>23264336 #
52. munk-a ◴[] No.23264128[source]
Spencer's file might be on the server but it sounds like their servers flat out refused to accept any files that looked like HEICs - so they never even got them on the server.

That's a stupid decision, especially when the submission window is timed - fiddling with file formats should never be a task you need to do inside of the testing window.

53. simonh ◴[] No.23264147{6}[source]
>...a single company dictate formats.

It's an ISO standard. Samsung phones use it as well.

54. btilly ◴[] No.23264154{6}[source]
Do you have any idea what that approach would do to bandwidth and latency?
replies(1): >>23264223 #
55. simonh ◴[] No.23264170{6}[source]
Nothing starts common, you have to start somewhere, and it is an ISO standard format.
replies(2): >>23264953 #>>23266242 #
56. derefr ◴[] No.23264223{7}[source]
Er... what?

By "raw octet stream", I meant that the client should upload a file named X made of opaque bytes 0xABCD, as a file named X made of opaque bytes 0xABCD; rather than assuming a higher-level intent on the server's part to acquire some abstract document, where the client would be able to better serve that request by transforming its file to a different file-format.

I didn't mean that e.g. the client should avoid using Transfer-Encoding compression during the HTTP POST request, or anything like that. (That is, after all, a fact about the wire representation of the request; it doesn't affect the file received on the server end.)

Or, to put that another way, an <input type="file"> with no `accept`, is to the client, as `Cache-Control: no-transform` is to the server: an expressed desire to get some specific data that exists the other end sent over "as it is", rather than to get something customized to the peer's needs.

replies(1): >>23264752 #
57. PascLeRasc ◴[] No.23264287{3}[source]
Yeah, I'm not surprised, since corporations like this are more concerned with making sure the Business Impact Assessment was routed in compliance with Standard Operating Procedures, establishing the Quality Verification Steering Committee to discuss possible impact to critical systems, and getting sign-offs from Validation Specialists and Risk Analysts.

Ask me how I know.

58. ◴[] No.23264312{3}[source]
59. PascLeRasc ◴[] No.23264336{5}[source]
Anything less than 2 fiscal quarters is a hot fix for these people.
60. CoolGuySteve ◴[] No.23264438[source]
Even more strange is that when the file failed to parse after uploading, they just threw out the files instead of keeping them to analyze later.

If they still had the uploads they could go back and convert them properly and apologize for the delay.

It's just bad engineering all around. Even if there was a less glaringly obvious bug that caused parsing to fail, how would they debug that parsing bug without a sample file?

replies(1): >>23265229 #
61. alasdair_ ◴[] No.23264491{4}[source]
>HEIC was developed by the Moving Picture Experts Group as an open standard.

It’s hard to call something an “open standard” if anyone who wishes to use it needs to license patents from nokia.

(https://en.m.wikipedia.org/wiki/High_Efficiency_Image_File_F... under “licensing”)

replies(3): >>23264937 #>>23266921 #>>23269814 #
62. joezydeco ◴[] No.23264537[source]
This isn't just the College Board. You wouldn't believe how many schools and educators out there now just assume you have a Twitter and Facebook feed and check it regularly. Email and phone calls are completely out of the picture now.
63. duskwuff ◴[] No.23264748{6}[source]
> it's causing my nephews serious issues since some of their remote learning tools use flash which Apple refuses to support

That's really not Apple's problem. Flash Player is dead. Adobe has declared that all support for the plugin will end in December 2020, and every major web browser has indicated that they intend to discontinue support for the plugin in advance of that date. Some desktop browsers (including Chrome and Firefox) have already disabled Flash content by default, and the Flash plugin for Android was discontinued in 2012.

replies(1): >>23266972 #
64. btilly ◴[] No.23264752{8}[source]
My apologies. I misread your intent.

I thought you were suggesting that images should be sent as raw octets for the image, rather than picking a compression format. But that raw data is extremely large, and therefore would have horrible impacts on bandwidth and latency.

That said, you're right. Trying to be clever about what people are sending results in a lot of hidden complexity and bugs of various forms.

65. eyjafjallajokul ◴[] No.23264839{3}[source]
What data are you basing this on?
replies(1): >>23265012 #
66. JohnTHaller ◴[] No.23264931{4}[source]
StatCounter shows the number of folks who visit sites with StatCounter on it.

Fun fact: iOS users generally do more browsing, so this has a tendency to skew stats like StatCounter.

replies(1): >>23266471 #
67. kbenson ◴[] No.23264937{5}[source]
And MPEG (through MPEG-LA) has long been known to be fairly active in litigating (or facilitating litigation) of the patents they administer.
68. Alupis ◴[] No.23264953{7}[source]
A file format, used by one company, isn't going to change the world.

JPG and PNG are here to stay. Love it or hate it... they are the lowest common denominator for image formats.

replies(2): >>23265639 #>>23269666 #
69. JohnTHaller ◴[] No.23265012{4}[source]
Pretty much any mobile industry stat. Most have Android at a bit over 50% in the US and Apple at a bit under. Worldwide, Apple is under 20% market share. Remember, iOS is just Apple whereas Android is Samsung + LG + HTC + Google + Oppo + OnePlus + etc...

Examples:

https://www.counterpointresearch.com/us-market-smartphone-sh...

https://www.statista.com/statistics/266572/market-share-held...

70. root_axis ◴[] No.23265229{3}[source]
I mean it's not that odd when you think about how software is typically written. The parsing logic probably threw an exception that was never handled and just pops everything uploaded off the stack by default.
replies(1): >>23269766 #
71. cycomanic ◴[] No.23265252{5}[source]
Well I could turn that around and say if you develop a phone and the image format it exports to is not accepted by 99% of websites maybe then you majorly fucked up.
replies(1): >>23265847 #
72. lazyjeff ◴[] No.23265639{8}[source]
File formats change fast. It was not too long ago PNG was the newcomer, and people were touting how much better it was than GIF for non-photographs (alpha transparency, better compression, etc.). It has been successful, and now almost all applications support it. Same thing with moving from AVI to the MPEG formats in video.

New formats are a good thing, and fast adoption of them is good for users.

73. kbenson ◴[] No.23265745[source]
> The iPhone is the best selling model in the United States.

That's an interesting (and slightly misleading) way to present that statistic. Apple has the best selling models, but does not have the majority of the market by operating system, which is what matters here. It's close, but Android is still supposed to have over 51% of the US market.[1] (If the graph itself is occluded, see the summary below it).

> It is on College Board to support its default image format.

It's a minority platform. It's only a slight minority, but it is one. If you want to make a case that they should support any default format for a platform over a certain percentage of usage (or "almost half"), that's fine, but you can't rely on the obvious argument that it's the dominant platform and thus should be supported, because it isn't the dominant platform.

Edit: Whoops, forgot to include citation

1: https://www.statista.com/statistics/266572/market-share-held...

74. mohdmasd ◴[] No.23265824{3}[source]
That support depends on installing or building native libraries (mainly libheif I think) which is not trivial or may be that something developers can't do due to security reasons, also it's different for each platform.
75. giantrobot ◴[] No.23265847{6}[source]
But the phone does the right thing when told to do the right thing. If the input tag has a proper accepts attribute set the iPhone will transparently and automatically transcode a HEIC image to JPEG.

A file input tag with no accepts attribute when you're expecting a particular type of file is broken. Would Android phones be "majorly fucked up" if they stored images as WebP by default?

76. megablast ◴[] No.23265965[source]
Oh yes, let’s update our tested and working system, a week before live? Don’t be stupid.

There were probably no dev changes for the entire month before hand.

77. Rebelgecko ◴[] No.23266234{3}[source]
IIRC, you have to use special flags when you compile from source to get HEIC support. And just because it's available doesn't mean you can legally use it. For example, the HEIF container's reference implementation is pretty explicit about not allowing commercial use [0]. The MPEG consortium lists over 7000 patents on their webpage for HEIC[1]. Making sure that you're bit infringing on those patents and/or working out a license deal with the patent cartel is a nontrivial amount of work.

[0]: https://github.com/nokiatech/heif/blob/master/LICENSE.TXT

[1]: https://www.mpegla.com/wp-content/uploads/hevc-att1.pdf

78. a1369209993 ◴[] No.23266242{7}[source]
> it is an ISO standard format.

So is COBOL[0]; that doesn't mean you should ever use or support it.

0: https://www.iso.org/standard/28805.html

79. JohnTHaller ◴[] No.23266471{5}[source]
Similarly NetMarketShare shows Android at over 70%, since they are more business website heavy. This stat is just as flawed as StatCounter's is.
80. whatatita ◴[] No.23266921{5}[source]
> It’s hard to call something an “open standard” if anyone who wishes to use it needs to license patents from nokia.

If something needs a licence, it isn't open. I mean, it literally doesn't meet the definition of open.

What's more, if the standard was open, then that would be great, but adopting it so soon and setting it to be the default is woefully shortsighted.

81. munk-a ◴[] No.23266972{7}[source]
As a developer I'm totally onboard with Flash having died a while back - and these tools educational suites really shouldn't have anything to do with Flash... All that said, when Apple killed Flash they did it unilaterally and really did break a lot of existing systems, if this pandemic was happening a decade ago I'd absolutely be on an Apple hate train since the sudden drop of support forced people to scramble.

At this point though, Flash is known to be dead and buried and folks that haven't migrated off of it have made their own beds[1].

1. ...And unfortunately caused a lot of headache for quite a few parents with multiple children that are trying to let all their children learn concurrently on different devices they have around the house.

replies(1): >>23267038 #
82. duskwuff ◴[] No.23267038{8}[source]
> when Apple killed Flash they did it unilaterally and really did break a lot of existing systems

What are you referring to when you say "when Apple killed Flash"?

The big outcry was back when Apple made it clear that they would never add Flash support to iOS. But that support never existed in the first place -- one can hardly "kill" something which was never alive.

Desktop Safari still supports Flash, for now. It's off by default (with a "click to enable" icon), but that's no different from how it's handled in other browsers. All signs indicate that they intend to remove Flash support with the next major release, but that just puts them on the same track as everyone else.

replies(1): >>23273767 #
83. lopmotr ◴[] No.23267061[source]
The FAQ and tweet are clearly the wrong way to communicate such vital information. Neither are required instructions for students. The FAQ is explicitly labeled as being for educators, not students. Neither explains the consequences of doing it wrong and make it sound like something minor such as having to choose a different option if it doesn't work. If I was serious about something like an exam, I'd read all the actual rules and ignore the "important tips" for a "smooth experience" or other crap that's always excessive and usually useless anyway.

It sounds like either they actually didn't know it would crash so badly or they were too embarrassed to admit having such a serious bug but wanted to quietly steer people away from encountering it without them knowing they dodged a bullet. If the latter, then the College Board was acting maliciously to protect their reputation which is really bad.

84. anigbrowl ◴[] No.23267152[source]
Even without that, they mentioned in their FAQ that JPEGs and PNGs are the only file types acceptable

That's like telling people what brand of pencil they are allowed to use to mark paper. It's not germane to the test and improperly shifts the burden to the student when the technology to automatically screen already exists.

replies(1): >>23267240 #
85. bloodorange ◴[] No.23267240[source]
It might be like saying the students are only allowed to mark their answers in blue ink or black and no other colour rather than saying it's a particular brand.
replies(1): >>23271350 #
86. ◴[] No.23267311[source]
87. dahfizz ◴[] No.23267321{4}[source]
This is misguided. The problem is not how quickly one format or the other iterates. The problem is forcing your users to endure a closed, licensed format.

A USB accessory will work on any device, but a lightning accessory only works on an iPhone, to nobody's benefit but Apple. Apple's hate of standards is anti-consumer, and that's why the EU ruled against them.

What particularly ircs me is that Apple has acknowledged that USB-C is the superior plug by going all in on their laptops. But they can't let go of all the money they make selling licenses for third party cables on iPhones.

replies(1): >>23268033 #
88. loeg ◴[] No.23267487{3}[source]
The software is open source, but (legal) usage requires a patent license from MPEG-LA for the H.265 compression (HEIC is just single-frame HEVC).
89. xvector ◴[] No.23268033{5}[source]
> The problem is forcing your users to endure a closed, licensed format.

Lightning was a huge win for consumers because it was years ahead of the incompetently designed clusterfuck that micro-USB was.

> Apple's hate of standards is anti-consumer, and that's why the EU ruled against them.

Apple’s “hate of standards” is in part the reason the USB-C ecosystem exists today. They contributed quite a bit to its development.

The EU ruled against Apple because the EU is full of bureaucratic idiots that care more about looking good than actually knowing what they’re doing. The circlejerk that the EU is always correct needs to end.

If the EU ruling happened a few years ago we’d never have had Lightning and we’d have been stuck with the piece of shit known as micro-USB. Thankfully, Apple was allowed to innovate independently as any remotely reasonable government would allow, and created a connector that would later inspire USB-C.

> What particularly ircs me is that Apple has acknowledged that USB-C is the superior plug by going all in on their laptops. But they can't let go of all the money they make selling licenses for third party cables on iPhones.

Catch-22; if they change the cable people like you complain that they’re trying to obsolete accessories, and if they don’t change the cable people like you complain that they’re trying to profiteer off of accessories.

90. ian-g ◴[] No.23268141[source]
I'd imagine it's worse now, but I was sweating blood during my AP tests 8 and 9 years ago.

If I were told by College Board that they messed up, they couldn't verify what I did, and that I'd have to take the tests again, I'd be livid. I would feel incredibly screwed.

On top of a pandemic, new test guidelines, classes going remote (and the associated growing pains), studying for the test, and some extra stress-studying because some classes inevitably were taught ineffectively at the start of remote courses, now some people have to take the test all over again? That's a lot for a most people but especially high schoolers

91. Wowfunhappy ◴[] No.23268459{6}[source]
Okay, but the contents of that raw occlet stream will be a file in some format. The iPhone isn't like a traditional computer—the user picks an image from a library of images, and the type of image is abstracted away. Yes, it so happens that modern iPhones store images on disk as HEIC, but since this isn't user-visible it amounts to an implementation detail.

Since the user didn't specify a format, and the website didn't specify a format, the iPhone needs to guess something. Seems to me it should guess the format that's most likely to work, not the one only a tiny number of devices support.

replies(1): >>23275537 #
92. fomine3 ◴[] No.23268942{5}[source]
I agree with it, at least for a few years.
93. mafuy ◴[] No.23269030{3}[source]
I don't think you would be comfortable pushing this few-hours-hack to a system of such high importance. A mistake, be it stupid or complex, could break far more than the issue at hand does. And you would be at fault. Would you like to receive the response of all the students then? Would you really dare to risk this scenario?
94. simonh ◴[] No.23269666{8}[source]
>used by one company

Samsung have started changing over as well, it's the default on their latest phones.

95. thaumasiotes ◴[] No.23269766{4}[source]
I'm not sure how you typically write software, but I don't consider it typical for software that opens a file and encounters unexpected input to throw an exception and then delete the file.

If an exception is thrown and not caught, the software should stop doing anything.

replies(1): >>23271956 #
96. thaumasiotes ◴[] No.23269814{5}[source]
I find it really surreal that this format is named "high efficiency image file format" when it makes no guarantees, no claims, and harbors no aspirations about efficiency. It's an encoding-agnostic container format!
97. CathedralBorrow ◴[] No.23271350{3}[source]
Everyone can look at a pen stroke and identify the color.

Can you say the same about a photo and identifying the file format?

98. CathedralBorrow ◴[] No.23271362[source]
Yeah, what a weird "solution" to be okay with. Wonder if they'd be as okay with repeating a workday because their hours weren't logged due to a system error.
99. root_axis ◴[] No.23271956{5}[source]
As I said, the file data was likely popped off the stack automatically, no need to write any extra code.
replies(1): >>23273688 #
100. thaumasiotes ◴[] No.23273688{6}[source]
In your model, what's happening to the data in the file system?
replies(3): >>23275286 #>>23275366 #>>23281294 #
101. munk-a ◴[] No.23273767{9}[source]
Refusing to support the tech on your platform is killing it. iOS's big selling point, initially, was as a consumption device - a phone with a browser. Deploying your browser without flash was removing some expected support from the norm expected of a browser at that time.

And yea - I agree that flash is dead at this point and I'm quite happy it's gone. Apple actually contributed significantly to the death of flash based advertisements and there is nothing in the world I hated more than those.

102. root_axis ◴[] No.23275286{7}[source]
In the scenario I'm describing nothing is ever written to disk. The uploaded image data is streamed into memory directly from the socket and is processed in situ, when an exception occurs the stack unwinds and deallocates the memory storing the image data.

Writing extra code to delete a file in a catch block doesn't seem like something someone trying to account for failure scenarios would do, it's much more likely that the data was living in memory and no thought was put into failure scenarios in that part of the code.

replies(1): >>23279291 #
103. joe5150 ◴[] No.23275366{7}[source]
Uploads are often initially stored in a temp directory before they are validated and moved to wherever they are meant to be stored, and the default behavior in PHP, for example, is to delete uploads that are not moved or renamed at the end of the request.
104. derefr ◴[] No.23275537{7}[source]
But the website did specify a format. Like I said in my sibling comment, a lack of an `accept` attribute (which is the same as saying `accept="⋆/⋆"`) has a conventional meaning from a plethora of legacy use-cases; and that meaning is:

"Give me the underlying data, just as it is. You may or may not understand what it is, but I'm asking you to pretend that you don't, because I definitely don't understand what it is. I'm acting as a courier on behalf of a recipient who wants whatever you give me. All they told me was to get it from you. Please don't try to guess why they want it, or to prepare it for them in some way. Their motivations are beyond our understanding. They just want it. They want what you have, the way you currently have it. Do as little to it as possible, because anything you do may be counter-productive to their unknowable designs."

This is, for one thing, the use-case of file-sharing websites. If you upload something to e.g. MEGA, or WeTransfer, you're doing that in order for something further to happen to it on the other side. The other side may or may not have wanted the file in its original format, but that question is up to them, not up to the sender. The job of a "dumb pipe" file-transfer service, is to take what it's given, and losslessly pass it on to the recipient, so that further steps can happen. And, as such, it's also a responsibility of a file-transfer service to ask the User-Agent to also send the file on to it losslessly, because in this case the User-Agent is also acting as part of the "dumb pipe" transfer process.

Let me put it this way: if my photos were not saving correctly, and someone at Apple asked me to file a Radar ticket and attach such a mis-encoded photo to the ticket... how would the Radar web-app express the intent of "I want the stupid mis-encoded file that you-the-device are using to store what you think is a Photos photo"? Well, our legacy convention is that it would express that intent through `accept="⋆/⋆"`. (Or a lack of an `accept` header at all.)

Note that this is different from an `accept` attribute like "image/⋆". In that case, we know something—we know that the recipient we're acting as courier has the intent to use the uploaded file as an image—so both the mis-encoded file, and maybe HEIC files, are probably bad candidates. One should be filtered out as an upload candidate; the other should maybe be transcoded (just like a RAW camera file would be.)

105. thaumasiotes ◴[] No.23279291{8}[source]
But it is incredibly unlikely that web uploads are piped directly into custom software rather than just being written as files which are processed later. That would be an extreme amount of extra work for no benefit at all.
replies(2): >>23281317 #>>23284779 #
106. imtringued ◴[] No.23281294{7}[source]
It was never on the file system (kept in RAM) or it was in some temporary folder where files get deleted when an upload request has finished processing the file to prevent DOS attacks. Automatically keeping uploaded files sounds like a really really bad idea.
107. imtringued ◴[] No.23281317{9}[source]
Tomcat gives you a http request object where you can just grab the input stream object and pass it to pretty much every library that processes files because opening a file just gives you a fileinputstream so adding general support for inputstreams is much easier than actually adding support that only works on files.
108. root_axis ◴[] No.23284779{9}[source]
It's not at all unlikely, this is the default behavior for various setups, e.g. nodejs with express which is primarily a streams based system where you'd have to do extra work to write to disk.