Now we have various organizations - governmental and otherwise - hastily setting up online versions of essential services and it seems like every single one of them breaks on arrival.
We need some sort of standard for software engineering quality. I don't think this is an academic question anymore. Real people's lives are being impacted every day now by shoddy software, and with the current crisis they often have no alternative. Software that you or I could probably have executed better, but that the people who were hired to do it either a) couldn't, or b) didn't bother. It's nearly impossible for non-technical decision makers in these orgs to evaluate the quality of the systems they've hired people to build. We need quality assurance at an institutional level.
If not governmental, maybe an organization around this could be made by developers themselves. Not the "certified for $technology" certifications we have now, but a certification of fundamental software engineering skills and principles. A certification you can lose if you do something colossally irresponsible. At the end of the day, this dilution of quality is having a negative impact on our job field, so it concerns all of us. It leads to technical debt, micro-management, excessively rigid deadlines and requirements, which we all have to deal with. All of these are either symptoms of or coping mechanisms for management's inability to evaluate engineering quality.
> iPhones convert HEICs to JPEGs automatically when they’re attached to emails in the Mail app
I'm just curious technically why the same didn't happen with the testing portal? If you have a webpage that accepts image uploads, is iOS Safari not smart enough to do the same conversion?
Or was the portal programmed badly or in a non-standard way that that couldn't happen? Or is there a way to do it that the developers ignored?
Just curious for the technical details of who's more to blame here -- Apple not providing enough backwards compatibility, or the testing portal being designed poorly.
Because blaming students for not following obscure instructions to change their phone's overall configuration is not the right path. A national testing portal ought to support the default image format taken by the world's most popular phone, period.
Crazy there wasn’t an email to reach out teachers before. Any exam I passed with a computer or online component always had a way to contact the prof in case something goes wrong.
Or c) told the decision makers that it would take longer than a few hours to do and were told not to "waste" any time on it.
Know what would be better than the ten goddamn apps and the iPad and shit they're using for our kid's school? Mailed (or emailed) worksheet packets with guidance, recorded lessons on Youtube. Mail back the worksheets, have the food-delivering schoolbuses pick them up, drop them off at the school every week or so, or just do photos-to-PDF on a phone and email them. Or they could just give each kid workbooks and textbooks like they did when I was in school but that's out of fashion now for no reason. eyeroll
Several logins to manage. Apps that erase your work if you hit the wrong thing. Weird interfaces. Jank galore. Just use the fucking basics. You don't need a custom app for every single thing. Email exists. Use it.
<input type="file" accept="image/jpeg,image/png" />
Selected a HEIC file from Photos in Safari, the selected image was automatically converted to JPEG.Ten bucks says College Board programmer(s) failed to do the most basic and standard filtering.
Edit: Like a sibling comment said, the accept attribute actually isn't necessary; even PNG images (e.g. screenshots) from Photos are converted to JPEG automatically. This is true on both macOS and iOS Safari (latest). To be clear, on macOS you need to select from Photos instead of the filesystem for this to take effect.
In case anyone's interested, source code you can use to test for yourself (a Flask app):
app.py:
import flask
app = flask.Flask(__name__)
@app.route("/", methods=["GET", "POST"])
def index():
if flask.request.method == "POST":
image = flask.request.files["image"]
return f"uploaded {image.filename!r} ({image.mimetype})"
return flask.render_template("index.html")
templates/index.html: <html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
</head>
<body>
<form method="post" enctype="multipart/form-data">
<input name="image" type="file" required />
<input type="submit" />
</form>
</body>
</html>
AIUI, Mobile Safari always re-encodes the image. However, if you transfer the image to a device that supports HEIC (e.g., recent macOS) then you'll find out that (desktop) Safari never re-encodes an image when uploading a file.
What if it can't because the format is proprietary and Apple wants to charge for its use? As I understand it, MS and Google have to pay licensing fees to enable support for it in Windows 10 and Android.
Also you don't need an external tool -- Preview will convert HEIC to JPEG for you relatively instantly, even in batch. (Though I really do wish the phone would ask first if you want to convert, when Airdropping.)
Even if you were to put this in place today (which I don't necessarily agree with) you would still need bean-counters to sign off on paying for replacement services for their sweat, tears and duct tape solution. A good half of the electorate and the politicians, give or take, whip up into a frenzy if a bureaucrat so much as looks at a dollar bill the wrong way, so I doubt this would gain any traction.
This seems unlikely. What is the largest possible size phone photo coupled with the slowest reasonable Windows computer and Internet connection? There's just not that much data or processing involved in converting a 12 megapixel image.
HEIC (image encoding) is available without royalties: https://en.wikipedia.org/wiki/High_Efficiency_Image_File_For...
Regardless, in this case, as others noted, iOS would have just converted to jpg if College Board was using a standard image upload form.
On Ubuntu, you can:
sudo apt-get install libheif-examples
heif-convert infile.heif outfile.jpg
Based on the article, it sounds like the College Board did actually receive the test files from these students. The students were emailed that the files were "corrupted". So in all honesty, this is just a matter of them actually just converting the files they've received then (or using an image viewer that can handled HEIC.)In what situations does the file format auto convert when you change the extension?
I agree the HEIC thing is very confusing (having set up my parents' phones recently), but I can't see how Apple is to blame. For starters, the College Board could've done a much better job emphasizing this step for iOS users in its instructions page. But for me, the overriding factor that places blame squarely on the College Board is this from the article:
> Senior Dave Spencer took a demo test before his Calculus AB exam to make sure he understood the process for uploading photos. He Airdropped an iPhone image of his responses to his Mac and tried to convert it by renaming the HEIC file to PNG. Changing a file’s extension does not guarantee that it will be converted, but Spencer was still able to submit the demo test with no problem.
> 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.
So it seems that students had access to a demo before test day. If I'm reading the story right:
- During the demo, Dave's phone produced a HEIC file
- The demo upload initially failed. So Dave renamed the file extension to PNG.
- Dave uploaded the PNG (in name only), and the demo did not return an error.
- Dave assumed, quite understandably, that the renaming trick would work on test day too.
So the onus in the College Board here: they provided a demo in which the photo upload function appears to have been stubbed (e.g. "if 'PNG|JPG|JPEG' is filename, print "Success"), giving students and teachers false assurance that photo uploads would work on test day.
<input
type="file"
ref={inputRef}
name="fileupload"
disabled={disabled}
accept={EXTENSIONS[type]}
data-cb-element="no-cb"
onChange={async e => {
const [file] = Object.keys(e.target.files).map(key => e.target.files[key])
const fileSizeInMb = file.size/(CONVERSION_BASE*CONVERSION_BASE)
const fileSizeInKb = file.size/CONVERSION_BASE
const split = file.name.split('.')
const fileType = split[split.length-1].toLowerCase()
const extensions = EXTENSIONS[type].split(', ')
const isAllowedExtension = extensions.includes(`.${fileType}`)
const alreadyExists = files.find(f => f.name === file.name && f.size === file.size && f.lastModified === file.lastModified)
let error
if (alreadyExists)
error = { title: 'You have already uploaded a file with the same name.', details: 'Please attach a different file.' }
else if (!isAllowedExtension)
error = { title: 'This file type is not acceptable.', details: 'Please check the requirements, save your file in one of the accepted formats, and resubmit.' }
else if (fileSizeInKb <= minSize)
error = { title: 'Your file is too small.', details: 'Please check the file-size requirements, save a larger version, and resubmit.' }
else if (fileSizeInMb > maxSize)
error = { title: 'Your file is too big.', details: 'Please check the file-size requirements, save a smaller version, and resubmit. ' }
if (error)
await setError(<><strong>{error.title}</strong> {error.details}</>)
else {
await updateFiles(file)
setError(null)
}
inputRef.current.value = null
}}
/>
The EXTENSIONS variable is defined here: export const EXTENSIONS = {
[TYPE_DOC]: '.txt, .doc, .docx, .pdf, .odt',
[TYPE_PHOTO]: '.png, .jpg, .jpeg',
[TYPE_AUDIO]: '.m4a, .mp3, .wav, .ogg'
}
Well, I always told my students that even if you didn't do well on the spring AP exam at least you got credit for the course (AP students got a gpa bump at my school), learned a lot of wonderful chemistry, and you got a good taste of what a college course is like.
Yeah, but if you do that, how will you funnel money from the school system into private companies?
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Ac...
"Reliable" and "Can survive a sudden shift in usage patterns" are extremely different things.
I think you have the causality backward. Engineering is about trade-offs. No quality guild will be able to wave those away. As long as the primary pressure is "get something that is functional enough at minimum time and cost" you're gonna have this.
(Software is particularly complicated because engineers, not just managers, have poor understanding of system quality and of each other's contribution quality. There's a combination of "it's not that complicated" complexity-blindness to business requirements and trade-offs that have to be traced through deep call stacks and across networks. We build things like chaos monkey - to prove resilience by seeing how hard it is to break the thing - because we don't have cost-effect techniques for actually understanding the system well enough short of operating it.)
Not really: https://news.ycombinator.com/item?id=23261216
Images are converted if you select from Photos (instead of the filesystem).
Sounds to be like the college board contracted this out to the lowest bidder.
As soon as I stray from golden path - text using anything but Apple MEssages, email using anything but apple mail, post using anything but safari, use/process with anything but Apple Photos - HEIC has been an absolute positive pain in my keister ;-(
Other people may have more luck; note that my work iPhone is an isolated island - my other devices are either Android, or Windows/Linux - which probably explains my troubles to a large degree. Apple's selling point has always been the well-integrated ecosystem so I understand I'm an outlier.
So you need to do some little dance to get around it. You can probably run full blown postscript programs on their server if you simply name it .jpg.
College board is a $1 billion/year "not for profit" with a million dollar CEO, there's no excuse for this.
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.
EDIT: the comment about "most compatible" was based upon information from the article, rather than access to an iPhone. I have since looked it up, and JPEG is mentioned underneat the option.
I am saying this because people need to have a degree of understanding of technology in order to have some control over it, even though I recognize that some people will construe such statements as being elitist. That depth of knowledge does not even have to be particularly deep. In this case, understanding that photos may be represented in different ways by the computer and that you have to ensure that the recipient can accept that representation is important. After all, this is not the only case where they will run into this issue. It is a big part of the reason why businesses settle upon some form of standard for the exchange of data, may that be through common business practices or a standardization body.
Thats not the fault of the engineer(s). A surge in traffic in the 80s or whenever it was initially created very well may have been able to be handled as designed and its normal traffic in modern pre-COVID times was the equivalent of a constant "surge" when initially designed. It was already on life support and needed a rewrite 10 years ago. Some software engineering certification/quality board wouldn't account for 30 year old systems design and population. Those are political and budget/prioritization issues. It would be a near equivalent of a bridge that was built then ignored for 50 years collapsing when a modern 18 wheeler drives over it.
All the new systems getting spun up ASAP are just quick hacks to try and get some way of addressing the problem. They are bound to be full of failures by the nature of the rapid development cycle and current crisis. In a situation like this, a quality board like proposed would be granting exceptions left and right because theoretically, something is better than nothing.
The settings do explicitly mention JPEG though:
> Most Compatible will always use JPEG/H.264...
And what if that government body established a policy that all contractors had to be certified engineers who hadn't lost their certification due to past negligence? Suddenly there's a much higher floor for "lowest bidder".
These exist. The ACM and IEEE CS are best-known, but there are also various national bodies (ACS in Australia, BCS in the UK etc).
> Not the "certified for $technology" certifications we have now, but a certification of fundamental software engineering skills and principles.
The IEEE Computer Society has such a thing, maintained in various forms since about 2002[0]. The ACM and IEEE CS also publish a software engineering curriculum that they are prepared to recognise[1]. They also have a jointly-published Code of Ethics[2].
I sincerely agree with you that our profession is mostly a disaster area. But one thing other professions have that we lack is (1) fairly worked-out fundamental theoretical bases, or at least long experience to draw on, and (2) legal enforcement of standards.
[0] https://www.computer.org/education/certifications
[1] https://www.acm.org/education/curricula-recommendations
[2] https://ethics.acm.org/code-of-ethics/software-engineering-c...
I hope the world will never get to a point, where each phone brand stores photos in their own format, and you need a special software from the phone manufacturer to view the photos (that is what we have now with raw photography formats, and what we used to have in the past with phone chargers).
Unemployment systems typically don't see spikes like this, it's not terribly surprising that some didn't handle demand well outside of the expected range.
However to me the more interesting point is why anyone would want to submit a handwritten script when they could type it. Not to sound like an old foggey, but in my day the only people who got to type were dyslexic and it gave them a huge advantage (no doubt why so many parents were having their children tested). Even if you could write fast, why take the chance that your exam efforts could be rejected based on a marker not being able to read your writing. Add to that the ability to compose text far more easily when typing and for those with a modest amount of practice the dramatically faster rate of output and it seems really strange that everyone doesn't type them and they just avoid this problem entirely.
This is the key part. Many in the software industry still believes that the start-up mindset of break things move fast applies to us. The economy depends on software, governments depend on software, education depends on software, lives depend on software ... but we treat software as a toy where a new fancy image format is a reasonable change to make because our platform gets a little more fancy and for sure a little less compatible to lock-in users.
I am all for regulation, and it is coming, as the software industry has shown to be an immature risk-taking mess. But, it can be a more bearable amount of regulation if we exercise some level of self-constraint on how we break each new release of software.
If we keep blaming traditional business (education, accounting, grocery stores, etc.) for not "updating fast enough" to new trends, they are going to justly react to our demands on their thin margin profits and ask the government to stop us. When you do not know if your business will survive another month, to have to invest non-stop in new software without any tangible benefit is an unreasonable demand.
Software has become too important the past twenty years. It is time that as a industry we realize that and act accordingly.
My guess is that the JavaScript manually checking the filename's extension is screwing up the automatic conversion.
Why is it a failure of the college board to put "accept="image/jpeg"", instead of iOS which failed to default to the more standardized jpeg format when HEIC was not specified?
HEIC is a newer format which fewer systems support. iOS / Safari should default to JPEG in this case.
> But the testing portal doesn’t support the default format on iOS devices and some newer Android phones, HEIC files.
A file explorer or website may filter by extensions, preventing to submit formats that are actually supported. A workaround is to rename the extension and hope it is supposed anyway.
Didn't work in this case. They tried and the picture was corrupted. It doesn't support the new apple encoding.
Apps are becoming so streamlined and gesture intuitive that children and young adults might actually be regressing in their tech competence while increasing their reliance on it. This is akin to cars packed with electronics, easing use while decreasing DIY repairs and understanding. This decreases our right to repair as a consequence of ease.
Many children will not navigate the antiquated forums and php sites that taught me problem-solving and a degree of independence. I'm not sure what will replace this lost experience for them.
I guess I joined the tech admin / helpdesk fields as a way of putting my money where my mouth is, like buying calls on these services' growing necessity.
But even if it did send HEIC, if you're going to fail to handle "any" format, then you better specify the one you can handle. By the same token, why shouldn't my computer convert every .docx to PDF, or some other "more universal" format?
Instead of specifying the requirement programmatically, they spent their time sending out tweets and writing help docs.
2. Please try to read the entire comment. iOS does default to JPEG when uploading, the accept attribute isn't needed.
Why shouldn't that work? I think it would be pretty great if changing the file extension popped up a helper that asked me if I wanted to convert from HEIC to JPG?
Really, no-one should have to think about file formats when they're trying to do something that has nothing intrinsically to do with file formats.
Seems more like a failure of software engineering, to me.
A world with (2) without (1) would be pretty miserable.
Trying to do this today wouldn't be enforcement of standards, it would be "pray you got it right."
We could build standards for building more-robust software, but every piece of software would become vastly more expensive. We would need massive improvements in tools to avoid that.
And then there's the whole security angle... Is it a failing to have your software be impervious to attackers? To what degree? You wouldn't expect most bridges to withstand a determined attacker...
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?
"Senior Dave Spencer took a demo test before his Calculus AB exam to make sure he understood the process for uploading photos. He Airdropped an iPhone image of his responses to his Mac and tried to convert it by renaming the HEIC file to PNG. Changing a file’s extension does not guarantee that it will be converted, but Spencer was still able to submit the demo test with no problem.
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."
1. Correctly label their expected stream types. 2. Test all of the most popular devices before having something this broken in production.
What about a kid that's using a cheap android tablet from aliexpress? Are you arguing that the company nobody's ever heard of is at fault for not programming their tablet to use the correct image format? I agree that they should probably be using JPEG but that doesn't mean College Board is off the hook for making it easy for a user to not be able to use their product for something this important.
I did not take the AP chemistry exam and did not take any college level chemistry. I did take two years worth of AP English and earned college credits taking those exams. I also minored in English in college.
Overall, I found my college level English classes to be significantly less challenging than my high school AP classes. The AP classes were grueling but also worthwhile. Each week we wrote one to two essays in class following old AP prompts. Leading up to the exam we were writing three essays a week. In addition, we covered about three times the amount of literature that regular English classes at the same grade level covered while also having required summer reading and book reports due at the beginning of the school year.
The classes killed my interest in reading fiction and I have probably read less fiction in the last 15 years than I did during those two classes. On the other hand, I was surprised by how poor some of my peer's writing skills were when I started taking 300 and 400 level English classes in college. I was thankful for the AP classes when I saw how far behind some were.
I'm not the greatest writer. However, those classes, and the excellent teachers who taught them, gave me the ability to write. Before those classes I struggled to write the very few essays I was required to write. Afterwards, I churned out essays with ease while my peers struggled to meet the minimum essay length. The experience was one of my most important educational experiences.
You mean "I don't want 'you"re screwed, sorry' to be an acceptable answer" and I get that, but I'm committed to using honest language about this because thats we you train ourselves to be wary and give these situations the respect they deserve.
I'm a college teacher and my wife is a high school teacher. Education is much more complicated than eyeroll suggests.
For one thing, teachers would not accept physical papers in the present state of the disease. Even if a district says papers are OK after they have sat for three days (or whatever), that means that (1) they get picked up delivered to some repository (2) they would sit there for days (3) the teachers come and get them (delivering to the teachers would mean more decontamination time) (4) they take a day or two to grade. So assignments on Monday might be ready the following Monday? Then the teacher writes an email, "John you did the wrong page. Please resubmit." It is just not workable. (On my assignments there was something like a 10% confusion rate, for instance where someone did 1-10 odd instead of 1-10. I sympathise. It is a confusing time.)
I did photos to PDF. After two or three weeks of back and forth with my students we got so that most of them would reliably send legible one-PDF-per-assignments. Again, life is more complicated than, "Any moron can do this."
Finally, email is not a panacea. Having a hundred students emailing their assignments is an invitation for disaster. I was able to go through the college's system (we use Canvas) so it kept track of who sent what and when they sent it. As this article points out any large system has issues, but these systems exist for a reason. I and my students had issues and just had to work around them. With patience and good will we figured it out.
That's what happens a lot in education. People have all kinds of life situations, there are all kinds of tech and comfort with tech, etc. It is complicated.
Folks who are not teachers but are interested in some of the issues could check out the last dozen or so epsidoes of Mr Barton's Maths Podcast http://www.mrbartonmaths.com/podcast/ which are about teaching from home for primary and secondary teachers. Really good stuff.
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.
I'm also wondering how many iPhone users have that .heic setting at its default value, as opposed to having switched to .jpg.
I contend we need defined SLAs because ultimately that's what matters.
Create the software in Visual Basic or Rust, I don't care. But it needs to work. Define SLAs with consequenses and the rest will sort itself out.
These AP tests, which are already probably one of the few objective competence-based exams, are going to be not trustworthy given all these issues. While probably not being grossly cheated on under this new format by huge numbers of students, it just is not believable that they're producing results fairly comparable with controlled testing environments.
Add to that the asinine notion to move everyone to Pass/Fail (or even "all-As", ala Berkeley) out of equity reasons, and this year is just an exercise in social promotion -- it's for sure not an exercise in effective education. I'm sure this will just add to the calls to toss out all tests (SAT, ACT, AP, etc), and just move to having your own teachers assess you on whether you're ready for college (no unintended consequences there, I'm sure!).
This problem seems like it could easily have been fixed in under a week.
It really bothers me when programmers make excuses for laziness or shoddy work that results in user's being harmed. Start caring about your users.
The iPhone is the most popular phone model in the United States. This is on the College Board. It takes very little work to make this work properly, which ANY BASIC QA PROCESS WOULD HAVE CAUGHT.
The three years or so that they've been using the format by default is not enough time to catch up. I know this is the first I've heard of HEIC, and I'm sure I'm not the only one.
Apple should default to sending a jpeg in situations where it cannot confirm support of newer formats. Maybe this means jpegs remain the default interchange format indefinitely, but so what? They are Good Enough for most cases.
This is truer than you might imagine.
I recently had to explain to a 16-year-old intern that their phone is a computer. And that "apps" are recipes for that "computer". And that humans made all those recipes sitting on the phone.
This was clearly a quite shocking revelation. It wasn't a hard conceptual leap, but the "app abstraction" is so total that it completely cognitively blocked the idea that their desktop computer and their phone are effectively the exact same thing.
Of course, at that point, the obvious questions started: "So, I could run <desktop program> on my phone? Why can't I do <deskptop action> on my phone?" etc. Eventually heading to the inevitable "Why do the phone manufacturers prevent you from doing something you want to do that the phone is perfectly capable of?"
What do you mean by recently? I am not a .net user, but this seems quite basic.
The failure of engineering was clearly with the test authors - they should have been validating their inputs.
It's honestly one of the biggest conundrums facing academia.
Year by year, incoming students generally have a higher base level of digital literacy than their instructors, because academic institutions did not prioritize developing those skills 10-20 years ago and the proof is showing in the pandemic pudding.
The codec “war” and Apple’s decision going with HEIC over opened source WebP is also to be questioned if portability of media is expected.
Here is the relevant FAQ: <quote> Can student submit an HEIC file of a photo of their handwritten work? Recent iPhones and iPads save photos as HEIC files. HEIC photo files can’t be submitted “as is” in the online exam. They must be converted to an accepted file format. Here are two ways students can do that: Update their Apple device settings before the exam so that their photos will be saved as .jpeg files: Settings > Camera > Formats > Select “Most Compatible” OR Resave the HEIC file as an accepted file format: the easiest way to convert an HEIC file is for students to email it to themselves using the iPhone or iPad Mail app. The attached image will automatically be converted to a JPEG. </quote>
I guess we think it is too hard for an AP student to actually read and follow instructions.
I don't think the failure is with the accept type. I think the failure is with the bespoke JavaScript checking the filenames. That puts the failure on the College Board, not Apple.
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.
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.
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".
Not to mention HEIF/HEIC images take up a fraction of the space of equivalent quality JPEGs, which is significant if you're a shutterbug who fills up their phone with photos.
Plot twist: There is. It's a standard clause in software procurement contracts, especially for government.
"The application must be supported and tested on browsers with at least 10% market share, as defined by the yearly Gartner report"
Replace browser with device or what is relevant for the project.
I can’t really blame the college board for this kind of mistake. Like would he assume that taking a .docx and renaming it to .pdf converts it?
If you build a service that can’t support one of the most commonly used platforms in the world, that’s on you the developer, not me the user. This is software engineering 101 right here, and was completely avoidable on the part of the developers.
It works for building regulations, for electric regulations, for food safety regulations, for all the rest of industries actually. If anything we see people dying because that regulations are not enforced or are removed after lobbying.
So, software is not going to be "better" but more reliable and a less costly foundation for the rest of business and industries. So, software is going to be better for the end users even if it is worse for us to develop.
Do you think that all the students that are now worried of failing are thinking "at least I got HEIC images in my phone". They do not care, and why should they?
Regulations are a trade off. How deep and or even intrusive future regulation are going to be depends on how much misalignment there is between Apple/Google/Facebook business models and everyone else needs and wants. Each time that the Internet is broken and costs people time and money, the fingers are going to point to our industry.
Many people who are very knowledgable in technology (the SV bubble is rather an exception) are very conservative in terms of it. Don't confuse good programmers with "technology hipsters".
I don't think this is a fair statement. Image file formats are something that very few people need to think about these days. As another commenter pointed out, why wouldn't changing the extension trigger the OS to convert the file? It was worth a try.
Not everyone needs to be an expert in everything.
The test portal "not responding" when receiving an unexpected file format is a quality issue. Not making it clear to the user that the upload has failed before it is too late is another quality issue.
Software is critical to the function of society. And society can't afford to keep up with the rate of emerging technological trends, it's just not possible. Technology companies have to continue to support interoperability with the lowest common denominator systems.
This is significantly worse than Apple ending Flash support. At least that was announced well ahead of time and was major, major news. This migration to a new default image format is a blindsiding. Three years is not really an appropriate time window for such a transition.
The layman's version is: "Be conservative in what you send, be liberal in what you accept."
The AP exam is taken by high school kids. This very likely is the first time they have run into this issue. Blaming them for not knowing how to deal with it isn't "elitist", it just lacks empathy.
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.
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.
If by "recently", you mean more than a decade ago...Unless you are specifically referring to the web portion of .net (i.e., core or asp.net) and not the framework as a whole.
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.
> Not everything needs to be tested on mobile
It does when it requires taking and uploading a photo in the year 2020. Especially when its target users are high school kids. What adult is going to use anything other than their phone to take an off-handed photo to upload somewhere these days? Much less a child who probably almost never uses a traditional computer.
However the full framework has had a different JSON serialiser (DataContractJsonSerialiser) since v3.5 in 2007.
Regulate software and you will kill it.
In any case, sounds like absolutely horrid QA and communications of what's accepted (and of course, very bad idea not supporting the format in the first place when half your test takers are taking pictures in that format).
(A bit more context on my original comment: I thought they had some working system where test takers could upload photos directly from their phones — e.g., scan a QR code to open a page with a unique ID with an image upload form. Turns out that's too much to ask; their process is "get the image from your camera to your test-taking device whichever way you can think of, not our problem." Not surprisingly that's not a very foolproof process.)
I ask my students to send my texts by email. This minimizes any kind of crapload of shit that can happen with any app. And size is irrelevant: just send several mails if (should not happen) your photos take more than 20mb.
Wife's a middle school teacher and ~40-50% of the other people in my social circle (not via her & her colleagues, oddly enough) are teachers, too. What they've done here (this state, post NCLB) is get rid of comprehensive curriculums with prepared material (workbooks, sheet packets, textbooks) and now districts and teachers all come up with this stuff themselves, which is clearly wasteful—why have a committee at the state-level do this once when every goddamn district can hire a couple new people to handle curriculum and rope teachers into those same committees, because they don't already have so many friggin' meetings they're starting to overlap?—so yes, hard eyeroll at the trend away from textbook + workbook as a foundation for (middle grade and lower, at least) classes. The state could have made their own such resources several times over for the waste the current system has produced, if they didn't trust a company to provide it (as was usually the case in the past). The whiplash-inducing pointless policy shifts in education, usually implemented by what sure appear to be given their observed behavior certifiable morons, is tiresome and harmful to educators and families alike (we have both perspectives).
Now there are CDC suggestions that kids should have their own resources next year, but gee, we just switched away from textbooks + workbooks, which would have been great, to a mess of shared "learning centers" and junk like that (oh and got rid of all the indoor-recess toys in the kindergarten classrooms statewide to make room for those). It's pure fad-chasing, well-intentioned at best and the school admin version of résumé-driven-development at worst (and it's often the latter). When they accidentally stumble on an idea that might be good they fail to implement it correctly (i.e. they can't even follow simple directions or understand how games or human systems work, these highly-paid jokes of PhDs that run the schools). Very frustrating.
Maybe your schools are doing a better job than ours but there's no possible way the tech support load & assignment screw-up rate here isn't a bigger hassle here than if it were on regular ol' paper, including the effort of shuffling that around and disinfecting it, and I think they've actually done a decent job given the tools they're being told to use (webshit and apps) and the time they had to prepare. Hell they could probably buy some kind of UV disinfectant chamber for submitted papers for what they spend on all these stupid apps every year, stick a drop-box just inside the door of the meal-delivery schoolbuses and outside the school, and call it good.
What I know for sure: the only part of this where it felt like my kid was almost getting the kind of education they would in the classroom without a ton of extra effort on our parts, and it felt like we understood what they needed and what needed to be done about 100% of the time, was the first couple weeks when we did have organized packets of paper instructions and assignments they sent home before spring break just in case there were closures (they didn't yet know it'd be the whole rest of the school year, of course). And with the paper we didn't have to deal with "this login isn't working" and "I hit the wrong thing and now my work I just did is gone" and "what the fuck, I, the adult and a software professional, can't even find this thing they say is at the other end of this link (or where in the app this thing is supposed to be, or whatever)", and so on, and so on.
That's for the younger kids. For the older ones, drop-off rates have been... high. Many of those kids weren't even attempting the majority of assigned work, if they were doing any of it, by a week or two into this. Very high levels of effort by some teachers had noticeable but still low effects on keeping kids engaged. We're talking north of half the kids in my wife's school essentially just skipping 4th quarter this year, and a good chunk of the rest getting maybe 10% as much out of it as they would have in school—it's that bad. I think some assignments missed due to logistics or scanning errors or whatever are nothing next to those effects.
Last year Microsoft introduced a new and more efficient way to allocate memory natively into .NET Core 2.0 (Span<T>). Since JSON.NET is still used by .NET Framework that doesn't support the new API, Microsoft created System.Text.Json that includes a new JSON parser that utilizes it. The first Microsoft project to use the new parser by default was ASP.NET Core 3.0.
If you change the extension on any operating system and then open it in the image viewer, it does appear to work. It doesn't as image viewers do not trust the file extension and ignore it, but there is no indication of that to the average user.
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”
If the latter this is a roaring success.
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.
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.
And knowing that these big companies do stupid stuff around standards is part of building software. This isn't any different from the browser wars. It's completely unrealistic to expect developers to not have to deal with these kinds of issues.
I think the anger around Apple's hostility towards standards is valid, but completely out of scope for this kind of issue.
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.
My background includes software dev in and around online education for almost 20y in both industry and academic.
Totally outside bubbles and following groupthink :)
The conservatism from technologists that you speak of.. in part comes from the politics at post secondaries and the resistance towards adopting technology.
There's no shortage of understanding in most institutions of the problems and how to solve them, only the political will, and leadership who cares.
I doubt things are much better today. This was probably the "low-tech" solution to a decade+ of dealing with the above problem.
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...
Of course, you can argue that not everyone is familiar with the technicalities of image formats. But then again, let's not forget that today's students are "digital natives", so I assume they both now about JPEG and PNG and also about their phones.
However, if I now hear that this point was explicitly addressed in relevant FAQ's, all of the above really becomes irrelevant in my opinion, because it really doesn't leave much in terms of excuses.
At college, every test came with certain rules. For this exam, you're allowed to use any auxiliaries except computers. And stuff like that. You must write in permanent ink. etc. Images must be in one of the following format: ... IMO is just along the same lines.
There is an old principle in jurisdiction: ignorantia juris non excusat - basically stating that it's your responsibility to know the rules.
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.
That said, come on College Board. Fix your crap. What a stupid bug.
I had already taught myself the basic TeX for math formulas before I took any AP test that could have used it, I even set up a PHP portal to do simple chemical equation balancing that would use LaTeX behind the scenes and spit out PNGs. There are nice JS libraries to do everything client-side now, so in any online portal it could be seamlessly mixed in with a reference and live-preview right next to it. All I'm saying is it's really not hard -- you can learn what you need in under an hour -- and if you step back and think about the type of student taking these tests they're also the type of student likely to pursue these subjects in college, so they're likely going to have to learn much more of LaTeX eventually anyway.
Where neither plain text nor LaTeX help much is when you really need to draw something out. I'd say mouse drawings are better than nothing, but you can also just remove questions/scoring that rely on display of such. Nothing stops a student from drawing privately on their own paper -- indeed as I recall a lot of the questions from some of those AP tests were exactly like that: do your work on paper you throw out after, because the answer is multiple choice.
It's really most surprising that they didn't go with a fully online test (which means no manual submission of purely offline artifacts) and haven't been preparing for such at all over the years...
I do have some mixed sympathy for having to set up a whole new online testing scheme for the tests due to Covid, but their approach was so odd. Students were also instructed to compose text answers outside the test pages, and copy and paste them into answer boxes. An odd & ugly solution, but it points to at least some thought about trying to mitigate unreliabilities.
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.
Sounds like you're putting blame on the students in this situation.
Engineering is all about working within constraints. Too many people in software just want to do everything their way, oftentimes what they see as the easiest and quickest way, without worrying about how it affects other people.
I understand the pros of complex formats, but then we end with things like browsers that are many million lines long. It might not seem too bad, but in my opinion that detracts not just from open source, but also making computing accessible, universal and usable for everyone.
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.
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.
Another user here claims their daughter was informed repeatedly before the test that HEIC was not supported and given instructions on how to change their phone settings to ensure comparability. This is confirmed in the article:
> though it does link to the College Board’s website, which instructs students with iPhones to change their camera settings so that photos save as JPEGs rather than HEICs.
And if they really needed to control the file formats this much, they should have written this functionality into an app (for iOS and Android) and handled taking the picture themselves.
They really screwed things up for a bunch of kids here.
This line of thinking only really makes sense if you presuppose that every person taking a computer science course in high school has an understanding of file types. Many don't have this knowledge. I don't see why students should need to have additional knowledge that is outside the scope of a course, just to pass the clase.
There's a reason these things are taught in a CS program, often at higher levels. And that's because they're not common knowledge.
I want to push back on this point a little bit. People die as a result of regulations too, it's just less visible. Here's a very recent example. FDA regulations prevent other labs from creating their own COVID-19 tests, but the CDC tests didn't work. This delay probably lead to people not being diagnosed (and thus not receiving appropriate care), as well as much more spread throughout the US.
Another example would be the FDA approval process for drugs. A drug not being approved probably leads to some people dying, since it may have worked well for them. Zoning regulations in SF probably fall on the definitively net-negative side.
Now, my point here is not that we should remove all regulations. A bad drug being approved would lead to deaths too. Rather, I'm trying to make the point that restricting something has a cost, just like not restricting will have a cost.
>He Airdropped an iPhone image of his responses to his Mac and tried to convert it by renaming the HEIC file to PNG.
Everly Kai had the same problem with Computer Science A last week — she attempted to rename the file to JPEG and received the same email a few hours after submitting her test.
> Sean S. used OneDrive to port a photo to his Windows desktop from his iPhone, then attempted to convert the file with Windows Photo. Due to the photo’s size, the conversion took over five minutes.
The AP testing website has instructions for changing iPhone settings to the appropriate format and a user here confirms that their daughter was repeatedly informed of this matter before the AP test.
https://apcoronavirusupdates.collegeboard.org/students/takin...
However, taking a step back, you should have enough representative test cases (QA snaps a photo with iPhones, tries to upload) that whether assumptions are reasonable doesn't enter into it because you aren't making them.
First off, they do a good job of converting it to a JPG when necessary. They've thought about backwards compatibility.
Secondly, if we didn't move forward, we'd never see any innovation. HEIF is smaller and allows for cool features like Live Photo.
Lastly, iOS is the second most popular phone operating system on the planet, and evidently they're asking students to take a picture of their answers with their phone. Is it not reasonable to expect the College Board to test it?
The real problem is a lack of technologically competent leadership. Many of the skills required to excel at technology do not overlap with the skills required to be a good leader. Then, both technology and leadership are difficult skills to train and develop individually. And lastly, the few people who are competent technological leaders would rather work for big tech where they will get paid so much more and would not have to fight with technologically incompetent leadership to set up good standards.
One can moan about the test site not being more robust/careful but it is Apple/Samsung that are using the new, non-standard format and expecting others to accomodate in short order.
Arguably, the user has been trained to think that renaming between image format converts between the two because of the image processing program correctly parsing and displaying the image, rather than displaying a message that the user opened a .jpg file but it was really a .png.
(but for something like school app/site passwords, though best practice it may not be, "written on a sheet of paper, kept in a drawer" is in fact totally fine)
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.
But how are experienced engineers treated? Like shit. As soon as we get older and have families to support, we get leetcoded out of positions since we can't keep up with months of studying for basically a mental twitch reflex test. That's what it's become, interviewers will consider you a lesser engineer if you fail to vomit out the rote memorized solution a few minutes slower than another candidate. After all, time to write the solution is an "objective" measure right? So the interview process is now "objective", what a joke.
And if an experienced engineer dares to recommend that hey maybe we shouldn't use the latest fad tech that just got announced on a HN post? They will be ridiculed and laughed as lazy, not "keeping up with technology", called a bunch of COBOL dinosaurs holding everyone back. For simply daring to say, hey maybe this latest new technology has tradeoffs that don't fit for us and we should stick to what we have since it has a better balance of tradeoffs. Nope, nobody cares about that, stupid dumb old engineer, stop getting in our way, need to make our resumes look good.
And the industry itself? Encourages constant job hopping, so nobody even gets experience maintaining a system for a long time. All those shitty decisions made? Don't care, off to another company.
And within a company? Constant indirect and direct pressure to go to management. Why aren't you a engineering manager? Oh you want to be a principal? Well here's the ridiculous requirements for that, still want it? What's the difference between a principal and senior anyways? Actually why do we even need seniors, let's just get more juniors. Management doesn't know the value of experience, they just want lower costs. And the engineers themselves seem to be saying experience is worthless, so everyone's in agreement right?
We are failing to build good software systems because it requires experience to know how to do it. And this industry does not value experience.
To clarify: It has the best selling model, but it is not the most used mobile OS among US mobile phone users.
Edit: See the reply below about iPhone SEs using HEIC. A point that I missed.
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?
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.
Besides, I don’t know what it’s like in the US nowadays, but back in my time (late 1990s, IB) the computer science curriculum took file formats and so forth as granted, and concentrated on the theoretical constructs such as Turing machines, lambda calculus, decidability, computability, and the theory of recursive functions. I remember my exam required proving the identity between a particular integral and the Euler (not Riemann) zeta function and whether it could be evaluated in polynomial time to an arbitrary degree of approximation. We had to sketch out the algorithm that would do this in terms of pseudocode.
Trying to transcode a file by changing the extension... I dunno... it seems kind of meek.
I see where you're going here, and I want to agree, but you aren't reckoning with the incentives for cheating on the AP.
My kid is taking the "AP World" test today. One of her classmates was asked to sit by a different student to coach them at their computer during the test, because the test is done remotely this year rather than in person.
I'm afraid that if you give N people an option like this, a fraction will exploit it.
"Innovation" is about the last thing you want in an interchange format. Old and boring works every time.
(Opinion of someone who maintains legacy software and has suffered from far too many breaking changes.)
x = (-b +- sqrt(b^2 - 4ac)) / (2a)
This, however is somewhat readable. Requiring me to use TeX or Mathematica is what I would consider difficult. Whenever I actually need to write math they won't be available. I'd have more luck using custom emojis as math symbols in most cases.
[1] https://gs.statcounter.com/os-market-share/mobile/united-sta...
> though best practice it may not be, "written on a sheet of paper, kept in a drawer" is in fact totally fine
This works, until you have to bring the paper to school where your kids friends will inevitably find the paper and login and mess with their stuff (source: I was that friend)
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)
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.
Also, you can switch your camera settings in the iOS to save a JPG instead.
Never trust user input!
Frontend validation can never be trusted. It’s only good for giving faster feedback for a nicer user experience. You should always have backend validation.
I’ve seen people do some weird stuff before because the majority of users don’t really understand much about file types. Users rename file extension all of the time thinking it’ll magically convert a file into something that can be opened by their program of choice.
This is just poor QA by the College Board.
I would argue this falls under the equally old jurisdictional principle of estoppel or detrimental reliance.
College board owns this process, and it’s their job to make sure the setup works correctly for all students, including those who might not all be technically inclined.
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.
If you don't care for apps to remember their previous windows and ui state, you can disable this mechanism in the settings app: https://support.apple.com/en-ca/HT204005#appresume
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.
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.
This matches my prediction. Typing Japanese isn't hard either (and I'm just a beginning learner) -- typing ha in JP mode gives は, or if you're only in JP mode the typical layout assigns that to qwerty 'f'. Like Chinese, IME drop-down selection works well for kanji.
Given how large refactors tend to go in general, this also doesn't necessarily lead to good outcomes; even with a relatively technocratic administration led by Mike Bloomberg (relative to comparable mayors, at least), upgrading NYC's 911 system massively spun out of control: https://www.nydailynews.com/new-york/911-overhaul-2b-disaste...
[1] https://developer.mozilla.org/en-US/docs/Web/HTML/Element/in...
[1] - Source: I currently go to high school.
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.
Ask me how I know.
[1] https://forums.developer.apple.com/thread/97036 [2] https://news.ycombinator.com/item?id=17587923
[2] http://www.hackerfactor.com/blog/index.php?/archives/833-HEI...
You can also write that in Mathematica, and it will look nice + understand that sqrt() is the square root function, though I think it will interpret the "+-" as "-".
Under what conditions are you writing math on a computer where you don't have proper tools to do it? (Mathematica isn't the only one, and even if you're using a programming language like Python you can write almost exactly what you wrote by adjusting/clarifying the operators.) Where possibly the most math-written-with-computer happens is MathOverflow, and hey, they use TeX extensively. And when you ask a question, they show a preview below so you can make sure your math is formatted in a readable way too and not just in the easiest way to type.
As stated by that Wikipedia article, HEIF is the royalty-free container. HEIC means the content is encoded with HEVC, which makes it not free.
A regulatory regime for this space would have been focused on protecting the livelihoods of 24-hour photo labs.
It's also not clear to me that this patent license is actually an issue in terms of decoding and converting file formats on the backend. Even if that were the case, I'm certain there is some commercial license software they could purchase to do that for them. This isn't an open-source endeavor, and they charge each student to take the exam.
Besides, math is already pseudo language on top of pseudo language. Learning notation is part of math, I'll concede learning to type an expression on a computer is a different notation than writing it with pen, but if you can't learn that, why learn math? Each domain does its own thing too and isn't even necessarily consistent. Guy Steele gave a great talk a few years ago on "Computer Science Metanotation", and that's just one area of math: https://www.youtube.com/watch?v=dCuZkaaou0Q (Edit: And to conclude here, learning to read and write with some notation tends to be easy, it's learning what the math actually means that is the hard part.)
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?
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”)
I struggle with writing quickly, so I made the (rather poor) decision to continue writing up until about 20 seconds remained. I pasted my response and clicked submit with about 10 seconds left. The timer continued to count down and I was panicked because the submission was still loading. It finally went through with only 3 seconds remaining.
Which, in turn, means that the form isn't putting any constraint on what's being uploaded at all, and so there's no reason to think that the form is asking for an image in the first place. At that point, it's asking for a file. Any file. And so it has the semantics of taking whatever file you provide it as-is, with no transformation necessary. Just like when a client requests `Cache-Control: no-transform` from a server. It wants the thing on the other side sent to it as-is.
And, it's important to support those semantics (and that particular implicit meaning for leaving out the `accept` attribute), because such "as-is" uploads have many use-cases. The form might be e.g. a computer-forensics or antivirus-signature portal, that wants an evidence file; or the interface to a hex editor or decompiler, that expects a raw binary with arbitrary extension in unknown format; or the SCP component of an old web SSH terminal emulator. All these existed on the web, and used <input type="form">, before the `accept` attribute was introduced. So "not using the `accept` attribute" has to retain semantics that are backward-compatible with that legacy.
Point of order: separate people, with separate/independent/concurrent job responsibilities. It very likely wasn't the programmers tweeting and writing docs. (Heck, I expect that the College Board doesn't even retain any full-time programmers, only contracts with firms for projects.)
I don't think it was exactly that it was stubbed out, per se; I would guess it was that the whole "backend" process involved either a human or an async batch process opening the file; and so in both the demo and prod environments, the upload of a file can succeed while the parsing of said file can fail (much later on, after the test is completed, during the grading phase.)
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.
The testing system for not using the <input> tag appropiately and Apple for using a closed, patent encumbered format as the default when most of their users don't know about software patents.
> It's also not clear to me that this patent license is actually an issue in terms of decoding and converting file formats on the backend.
It's reasonable to assume that it is.
2. Sure, the college could pay, but looking at the broader problem here, saying that colleges should accept closed formats would make it really hard for open source online testing systems to proliferate, and all colleges around the world would have to pay royalties to the HEIC patent holders.
Even if they were to implement an open source decoder, unless you have plenty of lawyers, the legal uncertainty of the situation could be unacceptable to many individuals/institutions.
3. If the format was open in the first place, maybe we would have lots of open source decoders and maybe the library that the testing system developer used would have support for it, and would have transparently worked without the developer knowing about the format.
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.
2. I think you don't understand what the College Board is. It's a single organization that administers test. This isn't something each university needs to deal with. They make and administer the test to all college-bound students in the US each year.
3. There are plenty of existing open source decoders, and all major open source graphics programs already accept the format (GraphicConverter, ImageMagick, GIMP), in addition to all the major OSes (Windows, Mac, iOS, Android).
Fun fact: iOS users generally do more browsing, so this has a tendency to skew stats like StatCounter.
Not all of them; for instance, if I rename a .jpg to a .png exension and try to open it with Gnome's EOG, it presents an error saying "Not a PNG file", instead of showing the image.
Examples:
https://www.counterpointresearch.com/us-market-smartphone-sh...
https://www.statista.com/statistics/266572/market-share-held...
Historically Apple has implemented what they want to out of various standards, protocols, etc, it shouldn't be a surprise.
Of course, it's not my preference when we're waiting for different operating systems or browsers to behave the same way, but that lack of compatibility has been going on for decades.
Perhaps the demo did something dumb, like check the file extension but not whether the file could actually be opened.
But also think about independent educational institutions (primary, secondary, higher, etc), think about all schools and colleges in other countries (we're all in a similar situation). All of them would have to find a way to license HEIC, just because Apple decided that they wanted HEIC as their default format.
3. I'd guess that companies that implement HEIC pay for their license.
The legal situation of using open source programs to decode licensed and patent encumbered formats is uncertain to me, and I guess it is to most people, including software engineers and managers.
https://html.spec.whatwg.org/multipage/input.html#attr-input...
> Authors are encouraged to specify both any MIME types and any corresponding extensions when looking for data in a specific format.
> User agents should prevent the user from selecting files that are not accepted by one (or more) of these tokens.
The biggest joke here is that this wouldn't have helped the students either. I don't think any of them will pass the "there is a minute left on the timer and the website tells you your picture isn't JPEG or PNG" challenge.
"This kind of file is for a [computer-aided design system]. It is not an [MP3 music] file and so it cannot be used by [music playing software]. Would you still like to rename the file?"
If someone wants to make an account to register for a test, ask them to upload a picture of anything. A signature. The wall. Their face. A cat. Use the same framework for finishing the test that you used for this interaction. So if for instance you've broken the submit button on mobile Safari, that gets sorted out before the Big Day.
TLDR there is lots of things wrong with It in academia, but academics making the decisions is not one of them. Also, generally most universities I know about were reasonably well prepared for online courses and it worked largely seemlessly.
Technically HEIF is a good format — it's half the size of WebP. WebP is based on a much weaker codec that is two generations older. AVIF is a freely-licensed HEIF alternative.
New formats are a good thing, and fast adoption of them is good for users.
Apple did a good job abstracting away the file system.
This should really say that changing a file's extension will (almost) never mean that the file is converted.
Anyway, it seems like today's students have missed out on the arcane knowledge of renaming a jpg/mp3/whatever to .docx, submitting it, pretending that it got mysteriously corrupted, and getting an extension until whenever the professor realizes the issue. (I've never done it, but I've heard legend.)
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...
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?
And now that I reread the passage about Dave, I realize it's not necessarily true that Dave tried to upload HEIC, then got an error message, which led him to then rename the file. But he may have actually read the instructions about PNG/JPG being required, then thought he could just rename his file, then uploaded it as his first and only upload to the demo app. And whether the demo app actually did the upload, it apparently didn't do the parsing (I still think that was stubbed out; I can imagine an engineer thinking it'd save a headache if they disabled the parsing module for the demo server)
I believe the onus should be on the trillion dollar company that chose to use a non-standard file format.
From what I've heard in articles and other sources, uploading directly from the iPhone works fine. The issue is only when students try to upload an HEIF file from a computer, instead of directly from an iPhone, which requires:
1. The student has an iPhone, which they use to take a picture of their work.
2. The student chooses not to upload directly from their iPhone, and instead wants to use their computer (presumably they're already logged in there).
3. The student's computer is a Mac, and they choose to use AirDrop (or another method that doesn't do conversion) to transfer the file instead of email (or another method that does convert to JPG).
4. The student is using Chrome/Firefox or another browser that doesn't do automatic conversion to JPG.
I would argue that this qualifies as an edge case. Presumably, CollegeBoard did their due diligence testing the basic single-device flows, but didn't cover multi-device flows, or just missed possibilities like AirDrop instead of email for transferring images.
I agree that they should have done a better job informing students; there probably should be more info on the upload page itself.
Edit: https://en.wikipedia.org/wiki/High_Efficiency_Image_File_For...
Clearly they knew this would be an issue, and could have done multiple mitigations to handle this, including just accepting HEIC files themselves.
[0]: https://github.com/nokiatech/heif/blob/master/LICENSE.TXT
[1]: https://www.mpegla.com/wp-content/uploads/hevc-att1.pdf
But if I got this right the upload page stated the accepted file formats, why should they accept anything else? Sure, there are workarounds to handle uploading .heic files and automatic conversion works in certain cases but why should they care? The onus is on the user to ensure his submission is correct.
EDIT: I just tried .heic files on my Surface and had to install an MS store app to actually be able to open .heic files in full resolution.
https://www.microsoft.com/de-de/p/heif-bilderweiterungen/9pm...
EDIT2: I guess for me it boils down to, why should we coddle the applicants? Being able to understand the conditions of a test is not an unreasonable hardship. From that I gathered the website stated the accepted file formats. The uploader source suggests it did refuse certain file formats. There are technical solutions for this/these problem(s) and of course it would be nice if every system would be perfect. But it would also be nice if people would just work within the given constraints of a system.
So is COBOL[0]; that doesn't mean you should ever use or support it.
Rather I think what is acceptable is HEIC is not accepted by the system, and if a student attempts to submit this format they receive an error saying that only JPG images are allowed.
Yes, being able to understand the conditions should maybe be part of passing the test. Like I said, could the upload form have handled this better? Sure, although I have not read enough to understand if this was actually the upload form failing. The OP article claims "Spencer ... tried to convert it by renaming the HEIC file to PNG" which is not how you convert files. Maybe students learning that early on is not a bad thing?
Knowing a file type is an "esoteric technical requirement" ?
Yes, this comment is for real. I'm the head of IT for a university and we do online applications. We actually accept everything within a given size requirement (which people are unable to respect). I have a bunch of scripts that run over all applications in the end to put them in the right formats, to do OCR for the photos of a printed PDF form that has been filled out by hand in pencil, I even run a script to scrape annotations in PDF portfolios to scrape video links and pass them to youtube-dl, to ensure everything submitted gets picked up and is provided for evaluation.
This is why I think it would be nice if there was at least some responsibility on the part of the student.
I agree, when It's part of the subject in test. I don't see any reasonable cause for a student to have to know about file types to submit a test, if that test isn't about file types. I don't, for example, expect my doctor to know how to convert an image file because that's not his job.
> The OP article claims "Spencer ... tried to convert it by renaming the HEIC file to PNG" which is not how you convert files.
This highlights the level of knowledge the users of this application have in this area. The developers should have made it Painfully Clear that uploading directly from an iPhone isn't supported.
> Maybe students learning that early on is not a bad thing?
I agree they should learn this stuff, but don't think it should cost them their grade to do so.
Now, I'm not saying that we shouldn't increase public understanding of these "slightly-technical" topics but I think we're a long way off and we can't expect that understanding just yet.
Chat applications. From IRCs and MSNs to Skypes, Telegrams and Discords. Other places would be comment sections such as these. They're never going to have built in TeX or any other such support.
Does the compose key work on different keyboard layouts?
Yes, when it is outside of the scope of the test. Unless they're testing the students on their knowledge of data storage, or similar, this is out of scope.
> Senior Dave Spencer took a demo test before his Calculus AB exam to make sure he understood the process for uploading photos. He Airdropped an iPhone image of his responses to his Mac and tried to convert it by renaming the HEIC file to PNG. Changing a file’s extension does not guarantee that it will be converted, but Spencer was still able to submit the demo test with no problem.
> 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. The College Board’s tweet went out just a few hours before Spencer’s scheduled exam; he doesn’t have a Twitter account and didn’t see it.
Obviously changing the file extension just bypassed the filtering that allows the demo test to be submitted. It's just checking that the extension is in a whitelist. There's no "does not guarantee that it will be converted" about this and The Verge's reporting is misleading on that score, IMO. Changing the extension simply does not affect the problem, it just means you're lying to the website about the format of the image.
You can say this, but you won't like the response. The response is probably "okay" and they just won't learn math. I don't think the world is better off when that happens. It's not a question of whether people are capable of doing this, it's a question of whether this is worthwhile.
If you stay in the "regular" apple workflow everything is fine: iphone camera -> icloud/photos (airdrop/photos) -> safari. If you deviate at certain points though the workflow breaks down. Whose fault is that?
Not disputing anything else in your comment, but where is this true? I go to (and work at) a fairly prestigious university, and even here it's at best a status symbol, not a "need" of any kind. One of my friends uses a flip phone.
> Nick Bryner, a high school senior in Los Angeles, had just completed his AP English Literature and Composition test last week. But when he snapped a photo of a written answer with his iPhone and attempted to upload it to the testing portal, it stopped responding.
> The website got stuck on the loading screen until Bryner’s time ran out. Bryner failed the test. He’s retaking it in a few weeks.
In this case it seems unlikely that the issue is correctable after the fact by the College Board.
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.
Understanding the conditions of your test is part of the test. And your doctor doesn't have to know. His toolchain forces him to use certain programs and settings. If anything is set up wrong, your MRI image is just a worthless CD-R.
>This highlights the level of knowledge the users of this application have in this area. The developers should have made it Painfully Clear that uploading directly from an iPhone isn't supported.
They did. The supported file formats were clearly stated. Your issue here is with apple.
>I agree they should learn this stuff, but don't think it should cost them their grade to do so.
It doesn't. They can retake the test without punishment.
>Now, I'm not saying that we shouldn't increase public understanding of these "slightly-technical" topics but I think we're a long way off and we can't expect that understanding just yet.
I disagree. The sooner people learn that renaming a file does not constitute conversion the better. When I was a student 15 years ago it was painfully clear you could not upload the 50MB .tif file your scanner spat out (silly websites at the time would just not take 50MB uploads most of the time...). I think this "slightly-technical" knowledge is something akin to correct spelling and grammar. It's fine if you disagree but, in my opinion (even if that was not the intent of the college board), this is not a bad lesson to teach.
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.
Either Apple or College Board is at fault here but it isn't the user.
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.
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.
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.
Just how when you take your drivers test you should actually be able to operate your vehicle and know the laws around operating a motor vehicle aside from the explicit knowledge required from you in the test. But I understand how this might be a foreign concept for someone from the US.
You can shift responsibility for that knowledge wherever you want but I would say that at the age between 16 and 19 (which google tells me is the average age for AP classes) I would expect that knowledge from someone applying for AP credit. And if someone didn't know what the accepted file types (as stated in the FAQ) meant at that age I'd expect them to figure it out for themselves.
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.
What? In the US, knowing how to operate your vehicle and the laws around operating a motor vehicle IS the drivers test.
Your argument is not reasonable. Knowing the nuances of file formats is irrelevant to AP exams in US History, Calculus, Physics, etc. This is a failure of the administrators to make a proper test. The College Board specializes in tests- that's what they do, and they screwed up.
It's certainly not a well engineered user experience. Passing a physics test should require physics knowledge, not knowledge of image formats. I think understanding of image formats is actually fairly obscure outside of technical circles.
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?
You seriously over-estimate the "tech-savviness" of the average student and that really is part of the issue I'm pointing out here.
It's the same as if Apple shipped me an empty box instead of my iPad Pro. Of course I can't blame the customer support person who takes my call, and I shouldn't be rude to them. But I would still blame Apple the corporation for such a thing, had it happened.
Someone didn't bother doing basic testing. This is ironic because the system itself is a test submission system.
Personally I'd be wanting a full inquiry into this.
But the blame is still squarely on the College Board. They are a organisation that has actually failed in their core mission.
Apple etc shouldn't be the target of any anger. Some random website doesn't support image uploads. Thats the issue. The website should be more resilient. The College Board didn't do their homework. Perhaps they need to study harder and be more diligent? Attention to detail has consequences.
The demo is still up and you can still look at it
The blame is 99% in the CollegeBoard’s hand. It is completely unacceptable for them to fail in this manner. If you are an institution that holds so much power over students’ lives, failures like these must be punished severely, but instead, the Board is getting off with just making the students re-take the exam when they are coming off of their most prepared state.
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.
File extensions are an implementation detail that, ideally, end users should never be forced to think about. There are graceful solutions to this problem; the College Board just didn’t do their due diligence.
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.
Source: I work in tech for higher ed.
<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).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.
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
Yup, switching to Dvorak and the sequence is the same (. then [ on qwerty). There also seems to be an ibus mode for it in ibus-table-others, along with a mode that tries to map LaTeX to unicode symbols, but I haven't tried either.
As for your other remark, I remember back in the day using the Gaim-LaTeX plugin to communicate LaTeX with people over MSN/AIM/IRC/etc... If you had the plugin, it would auto-render LaTeX for you. I also think there may have been a plugin that would send the other party an image instead so you could still share if they didn't have it. I haven't used anything like it in a long time as my need to communicate or have communicated formatted math to people over IM is pretty much 0 these days, but perhaps https://sourceforge.net/projects/pidgin-latex/ still works. But also on IRC, many rooms have bots that accept programs to eval and print, typically used for math calculations, and then you just use the syntax of the language instead of LaTeX.
For Skype, Telegram, Discord, comment hosts like HN or Discus or blog software, that's a failing on them for not implementing a very well-known standard (TeX)...
But you can still share raw TeX strings, especially since almost everyone at least implements some sort of blockquote or monotext formatting system where it's possible to bypass markdown et al. rules turning 345 into nonsense. And while you may have found it difficult to read the equation I posted earlier, I'd be really surprised if it took you a long time to get comfortable enough to read it and other arbitrary equations around whatever level of math you have in their raw TeX form (especially if the poster bothered to format it a bit more nicely with whitespace, which I didn't do). It's kind of like getting used to reading regexes, but even easier.
I guess maybe you could try to convince me it's more difficult to pick up (even for a high schooler) than I think, perhaps since I've just been used to it for so long and the last time I saw someone pick it up was in college? And of course this is only talking about writing math with the purpose of displaying it nicely in the end, actually calculating will tend to involve another syntax yet again but I don't think those are typically bad either... Perhaps raw Python can be terrible if you're trying to do symbolic math, but then why wouldn't you be using a system explicitly for that or even in Python use SymPy (and I'm just now remembering there's that whole Jupyter ecosystem that I'm sure has support for SymPy and rendering nice looking math with LaTeX). I've enjoyed Maxima, which even in a terminal does a good job with ASCII graphics http://maxima.sourceforge.net/i/maximacl.png but of course there's a graphical front end.
I got a bit off topic but as a last resort to communicating math over such channels, you can go to sites like https://www.codecogs.com/latex/eqneditor.php?lang=en-en and write out your math (it even has some buttons to help if you don't yet know the TeX-isms) and share a link to the output like https://latex.codecogs.com/png.download?%5Cdpi%7B120%7D%20%5... Slack even downloads and displays it for you in-chat.
(It's also worth pointing out that Discord has an ok-ish Pidgin connector... and even my ghetto home-grown blog has had LaTeX support for posts and comments through a JS library that I haven't bothered to update since 2012. It even lets you right-click to view the TeX source too, example near the bottom here https://www.thejach.com/view/2011/9/playing_with_morton_numb... So never say never!)
else if (!isAllowedExtension)
error = { title: 'This file type is not acceptable.', details: 'Please check the requirements, save your file in one of the accepted
formats, and resubmit.' }
Or, maybe theverge is just lying or relying on the misconception. If you think renaming your file is the same as converting your file, maybe you are misplaced in the advanced placement program...I suspect most teenagers (and that's what we're talking about here - 17, 18 years olds finishing secondary school) would have a notion that jpg and gif are image formats, and pdf and dcx are a document formats. I suspect few would know much beyond that, and most would not have had much reason to worry about converting between formats. [I work in higher ed tech, my gut feeling here is based on performing usability testing of other software]
Add in an unexpected file format glitch during the most important test of their life? Yeah, I'm not at all surprised that some/many screwed up.
This is 100% on College Board for failing to handle the situation gracefully. They didn't need to accept heif files. They did need to provide detailed instructions ahead of time, including possible issues with unsupported formats.
But going a bit bigger picture, the problem is that we still use file extensions to denote file type.
Ok, first of, why should I (as an institution) care about the people unable to fulfil the conditions of my test? Maybe I only want people with a basic understanding of file formats because chances are they will have less issues with future applications?
> They did need to provide detailed instructions ahead of time, including possible issues with unsupported formats.
They send out a message a week before the tests. The website only accepted the allowed formats. You could complain about them using Twitter to send out that message but you are not.
> They didn't need to accept heif files. They did need to provide detailed instructions ahead of time, including possible issues with unsupported formats.
They did not accept .heic files (see the source from the upload js file). They did provide a list of supported files. Maybe the handholding should stop at some point?
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.
Maybe university IT departments are staffed by people. Maybe even at the college board it's just some IT guys trying to keep a shitty platform working. Maybe they did the best they could working within their constraints and they expected the same from students who have a vested interest in getting their results submitted. Maybe this is just much ado about nothing.
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.
Ever fill out a government form that must be done in non erasable black or blue ink. A pencil is unacceptable. A red pen, green pen, purple pen is unacceptable. An erasable pen is also unacceptable.
Not saying users should have to know what a .JPG from an .HEIC but just saying there is plenty of precedent of technical requirements for things in real life. I've had forms rejected at the immigration office for using the wrong type of pen an I've been in classes where students didn't have the correct type of pencil and caused issues.
> The HEIC holds the HEIF data that is compressed using HEVC by MPEG
Wrapping a HEVC file in a container does not automatically void any patents of the contained file. Otherwise, anyone can shove any patent encumbered file format in a ".zip" container (or any container/wrapper) and avoid any patent or licensing issues.
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.
"Enterprise software" also frequently implies it was supplied by the lowest bidder, and that means it was poorly-designed, poorly-implemented, and poorly-tested by inexperienced programmers.
And hundreds of students are at its mercy. This is probably actionable.
If you're taking a CompSci test and you think that renaming a file changes it from one image codec to another, you probably don't have a bright future in CompSci. just sayin'
If an exception is thrown and not caught, the software should stop doing anything.
The college board should have had a list of accepted formats, should have included instructions that they put in the tweet in the upload UI, and should have had an uploaded document verification process. This is solely the responsibility of the CB, and is deceitful at some level, by leading students to believe they were complying when they were not.
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 !!!
Maybe you (as an institution) care about all your students?
Can you say the same about a photo and identifying the file format?
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.
The at-home test format is new. It's usually given in a test center (either private or at the secondary school) with a proctor. Students usually prep for years for this exam, but all that prep would be for the on-site proctored exam. This was new for everybody, and appears to be poorly executed by the company that profits handsomely from these exams.
Based on the article linked, the message went out the day of the exam, after some students were already mid-test. That's not helpful.
Untrue.
They go and found their own companies.
Silicon valley literally started off with a engineer-manager who left Shockley Semiconductor Laboratory in 1957 to found Fairchild Semiconductor, because William Shockley, while a brilliant academic, was authoritarian and just sucked at managing people.
On the other hand, if the point you are making, is that the software industry simply has to respect experience because a lot of blood, sweat, tears and divorces were weathered by these engineers as they got manipulated and brainwashed - no.
Yes, it sucks that these engineers got manipulated and brainwashed but now they have the experience to detect manipulation and brainwashing and the divorces and health issues were the price they paid to gain this experience.
In summary - the best way to get the value you deserve is to start your own thing. Otherwise, complain all one wants but they will get the minimum someone else can get away with giving.
Everyone wants what is best for them, even your manager and the company they work for, which includes paying as little as possible for the labor they get.
The difference is called profit.
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.
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?
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.
"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.)
Murphy's Law I suppose. The spot at which you stop testing is the spot where it will break. But do you learn not to listen to that voice in your head that is telling you this part doesn't need to be tested?
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.