Consider these two examples involving Flickr, that occurred within just one day of each other.
Nice gal Amanda
I submitted the following feedback, not really expecting much of it. In fact, I fully expected some useless, boilerplate response that completely ignored the point and directed me to the upload requirements page (despite it being the very first thing I myself pointed to) or was nothing but mail-merge platitudes.
And in retrospect I could have phrased this more respectfully, too. So I wasn’t even going in as a great customer.
Per https://www.flickrhelp.com/hc/en-us/articles/4404079649300-Flickr-upload-requirements, Flickr still doesn’t support modern, more efficient formats like HEIF, WebP, and AVIF (for images).
It’s also unclear what video codecs are actually supported, since they’re not specified – merely container formats. e.g. does AV1 work? Or even just HEVC?
Being relegated to JPEG makes my files way larger and therefore uploads take a lot longer, and also precludes use of high-quality images featuring e.g. greater than 8-bit depths and HDR support.
(I realise TIFF is nominally supported and does at least offer 16-bit support, but the article notes that it’s degraded to JPEG anyway on the server, plus even compressed TIFFs are still huge and particularly slow to upload)
On your end, you’d save a lot of storage space if you supported and prioritised modern, more efficient formats – not to mention bandwidth costs (every browser of note supports WebP & AVIF at the very least, so you could even transcode from older formats).
What I got surprised me greatly, in the best way:
Hi Wade,
Thank you for reaching out to us! My name is Amanda and I’m happy to help you.
I understand you would like to see more photo formats accepted on Flickr (namely: HEIF/HEIC, WebP, AVIF). I’ve passed a feature suggestion along to our product development team for review regarding this. Hopefully, being able to offer support for these newer file formats is something we can address in a future site update.
While I do not have a timeframe for if/when this would be put into effect, they are aware that this is something that members of Flickr would like to see as an option.
You also mentioned some specific video codecs. As these aren’t listed in that Help Center article you linked, I’m double checking with our team to see if these are supported or not. As soon as I hear back from them, I’ll follow up and let you know here.
In the meantime, please let me know if you have any other questions or suggestions. I’ll keep an eye out for your response!
Warmly,
Amanda
Flickr Support
Holy shit. A humane response from a real human. Better yet, a couple of hours later that was followed by (unprompted by me):
Hi Wade,
Thank you for your patience! I checked with our team and it appears AV1 and HEVC are not currently supported. I have added these along to the other formats you had already asked about in our feedback to the Product Development team.
If there is anything else I can help with, please do feel free to reach out!
Warmly,
Amanda
Flickr Support
Even though these responses made no conclusive promises (regarding support for these file formats), I was thrilled. Beyond the pleasant tone and clear demonstration that Amanda actually read and comprehended my feedback, just knowing that my feedback actually got to the intended recipients (the dev team) is heartening; it made me feel good about choosing to use Flickr for all these years.
But then…
Bad guy Marc
Coincidentally, while Amanda was getting back to me I ran into a bug in Flickr’s file upload API. It was apparent from the logs that Flickr was the cause of the issue, but nonetheless I took the time to first confirm that with the Photo Upload plug-in’s author. Then, I submitted the bug report to Flickr:
When trying to upload some (but not all) files, the upload ostensibly fails – it hangs for a while after the transfer is complete before finally concluding with a 504 error from CloudFront. e.g.:
Log
HTTP/1.1 504 Gateway Time-out Content-Type: text/html Content-Length: 1033 Connection: keep-alive Server: CloudFront Date: Thu, 18 Jul 2024 01:42:43 GMT X-Cache: Error from cloudfront Via: 1.1 CENSORED.cloudfront.net (CloudFront) X-Amz-Cf-Pop: CENSORED X-Amz-Cf-Id: CENSORED <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1"> <TITLE>ERROR: The request could not be satisfied</TITLE> </HEAD><BODY> <H1>504 ERROR</H1> <H2>The request could not be satisfied.</H2> <HR noshade size="1px"> CloudFront attempted to establish a connection with the origin, but either the attempt failed or the origin closed the connection. We can't connect to the server for this app or website at this time. There might be too much traffic or a configuration error. Try again later, or contact the app or website owner. <BR clear="all"> If you provide content to customers through CloudFront, you can find steps to troubleshoot and help prevent this error by reviewing the CloudFront documentation. <BR clear="all"> <HR noshade size="1px"> <PRE> Generated by cloudfront (CloudFront) Request ID: CENSORED </PRE> <ADDRESS> </ADDRESS> </BODY></HTML>
This happens every time.
Log from curl
* Host up.flickr.com:443 was resolved.
* IPv6: (none)
* IPv4: 13.227.78.140
* Trying 13.227.78.140:443...
* Connected to up.flickr.com (13.227.78.140) port 443
* ALPN: curl offers http/1.1
* (304) (OUT), TLS handshake, Client hello (1):
} [315 bytes data]
* (304) (IN), TLS handshake, Server hello (2):
{ [122 bytes data]
* (304) (IN), TLS handshake, Unknown (8):
{ [25 bytes data]
* (304) (IN), TLS handshake, Certificate (11):
{ [4967 bytes data]
* (304) (IN), TLS handshake, CERT verify (15):
{ [264 bytes data]
* (304) (IN), TLS handshake, Finished (20):
{ [36 bytes data]
* (304) (OUT), TLS handshake, Finished (20):
} [36 bytes data]
* SSL connection using TLSv1.3 / AEAD-AES128-GCM-SHA256 / [blank] / UNDEF
* ALPN: server accepted http/1.1
* Server certificate:
* subject: CN=flickr.com
* start date: Feb 5 00:00:00 2024 GMT
* expire date: Mar 4 23:59:59 2025 GMT
* issuer: C=US; O=Amazon; CN=Amazon RSA 2048 M02
* SSL certificate verify ok.
* using HTTP/1.x
> POST /services/upload/ HTTP/1.1
> Host: up.flickr.com
> User-Agent: curl/8.6.0
> Accept: */*
> Authorization: OAuth oauth_signature="CENSORED",oauth_token="CENSORED",oauth_version="1.0",oauth_nonce="CENSORED",oauth_timestamp="CENSORED",oauth_signature_method="HMAC-SHA1",oauth_consumer_key="CENSORED"
> Content-Length: 123113221
> Content-Type: multipart/form-data; boundary=------------------------cbLPLbBocYE2oLsFDbSmbX
>
} [233 bytes data]
0 117M 0 0 0 128k 0 453k 0:04:25 --:--:-- 0:04:25 452k
5 117M 0 0 5 6848k 0 5670k 0:00:21 0:00:01 0:00:20 5669k
6 117M 0 0 6 7360k 0 3068k 0:00:39 0:00:02 0:00:37 3068k
6 117M 0 0 6 7360k 0 2165k 0:00:55 0:00:03 0:00:52 2165k
6 117M 0 0 6 7488k 0 1780k 0:01:07 0:00:04 0:01:03 1780k
7 117M 0 0 7 9280k 0 1773k 0:01:07 0:00:05 0:01:02 1848k
9 117M 0 0 9 11.5M 0 1906k 0:01:03 0:00:06 0:00:57 997k
12 117M 0 0 12 14.3M 0 2025k 0:00:59 0:00:07 0:00:52 1508k
14 117M 0 0 14 17.4M 0 2175k 0:00:55 0:00:08 0:00:47 2182k
17 117M 0 0 17 20.4M 0 2270k 0:00:52 0:00:09 0:00:43 2682k
19 117M 0 0 19 22.8M 0 2295k 0:00:52 0:00:10 0:00:42 2843k
21 117M 0 0 21 24.9M 0 2274k 0:00:52 0:00:11 0:00:41 2730k
23 117M 0 0 23 27.1M 0 2279k 0:00:52 0:00:12 0:00:40 2648k
25 117M 0 0 25 30.0M 0 2324k 0:00:51 0:00:13 0:00:38 2567k
27 117M 0 0 27 32.6M 0 2342k 0:00:51 0:00:14 0:00:37 2472k
29 117M 0 0 29 34.9M 0 2350k 0:00:51 0:00:15 0:00:36 2462k
32 117M 0 0 32 38.0M 0 2399k 0:00:50 0:00:16 0:00:34 2679k
34 117M 0 0 34 40.5M 0 2403k 0:00:50 0:00:17 0:00:33 2705k
36 117M 0 0 36 42.6M 0 2400k 0:00:50 0:00:18 0:00:32 2601k
38 117M 0 0 38 45.6M 0 2432k 0:00:49 0:00:19 0:00:30 2691k
41 117M 0 0 41 48.5M 0 2456k 0:00:48 0:00:20 0:00:28 2780k
43 117M 0 0 43 51.5M 0 2487k 0:00:48 0:00:21 0:00:27 2772k
46 117M 0 0 46 54.2M 0 2499k 0:00:48 0:00:22 0:00:26 2830k
48 117M 0 0 48 56.5M 0 2489k 0:00:48 0:00:23 0:00:25 2810k
50 117M 0 0 50 59.2M 0 2504k 0:00:48 0:00:24 0:00:24 2782k
52 117M 0 0 52 62.1M 0 2526k 0:00:47 0:00:25 0:00:22 2811k
55 117M 0 0 55 65.1M 0 2547k 0:00:47 0:00:26 0:00:21 2803k
58 117M 0 0 58 68.8M 0 2589k 0:00:46 0:00:27 0:00:19 2990k
61 117M 0 0 61 72.1M 0 2617k 0:00:45 0:00:28 0:00:17 3221k
62 117M 0 0 62 73.8M 0 2556k 0:00:47 0:00:29 0:00:18 2791k
65 117M 0 0 65 77.3M 0 2620k 0:00:45 0:00:30 0:00:15 3091k
67 117M 0 0 67 79.5M 0 2600k 0:00:46 0:00:31 0:00:15 2873k
71 117M 0 0 71 83.3M 0 2651k 0:00:45 0:00:32 0:00:13 2987k
72 117M 0 0 72 85.5M 0 2638k 0:00:45 0:00:33 0:00:12 2753k
73 117M 0 0 73 85.7M 0 2557k 0:00:47 0:00:34 0:00:13 2565k
73 117M 0 0 73 85.8M 0 2494k 0:00:48 0:00:35 0:00:13 1728k
76 117M 0 0 76 89.3M 0 2506k 0:00:47 0:00:36 0:00:11 1934k
76 117M 0 0 76 89.3M 0 2439k 0:00:49 0:00:37 0:00:12 1150k
76 117M 0 0 76 89.3M 0 2375k 0:00:50 0:00:38 0:00:12 726k
76 117M 0 0 76 89.3M 0 2315k 0:00:51 0:00:39 0:00:12 705k
76 117M 0 0 76 89.3M 0 2258k 0:00:53 0:00:40 0:00:13 680k
76 117M 0 0 76 89.3M 0 2203k 0:00:54 0:00:41 0:00:13 0
76 117M 0 0 76 89.3M 0 2151k 0:00:55 0:00:42 0:00:13 0
76 117M 0 0 76 89.3M 0 2102k 0:00:57 0:00:43 0:00:14 0
76 117M 0 0 76 89.3M 0 2054k 0:00:58 0:00:44 0:00:14 0
76 117M 0 0 76 89.3M 0 2009k 0:00:59 0:00:45 0:00:14 0
76 117M 0 0 76 89.3M 0 1966k 0:01:01 0:00:46 0:00:15 0
76 117M 0 0 76 89.3M 0 1924k 0:01:02 0:00:47 0:00:15 0
76 117M 0 0 76 89.3M 0 1885k 0:01:03 0:00:48 0:00:15 0
76 117M 0 0 76 89.3M 0 1846k 0:01:05 0:00:49 0:00:16 0
76 117M 0 0 76 89.3M 0 1810k 0:01:06 0:00:50 0:00:16 0
76 117M 0 0 76 89.3M 0 1775k 0:01:07 0:00:51 0:00:16 0
76 117M 0 0 76 89.3M 0 1741k 0:01:09 0:00:52 0:00:17 0
76 117M 0 0 76 90.3M 0 1739k 0:01:09 0:00:53 0:00:16 231k
77 117M 0 0 77 91.3M 0 1724k 0:01:09 0:00:54 0:00:15 436k
78 117M 0 0 78 92.3M 0 1711k 0:01:10 0:00:55 0:00:15 652k
79 117M 0 0 79 93.3M 0 1700k 0:01:10 0:00:56 0:00:14 886k
80 117M 0 0 80 94.7M 0 1695k 0:01:10 0:00:57 0:00:13 1186k
81 117M 0 0 81 96.0M 0 1689k 0:01:11 0:00:58 0:00:13 1166k
83 117M 0 0 83 97.7M 0 1690k 0:01:11 0:00:59 0:00:12 1319k
84 117M 0 0 84 99.5M 0 1692k 0:01:11 0:01:00 0:00:11 1478k
87 117M 0 0 87 102M 0 1714k 0:01:10 0:01:01 0:00:09 1870k
89 117M 0 0 89 104M 0 1719k 0:01:09 0:01:02 0:00:07 1995k
90 117M 0 0 90 106M 0 1725k 0:01:09 0:01:03 0:00:06 2137k
91 117M 0 0 91 107M 0 1718k 0:01:09 0:01:04 0:00:05 2042k
92 117M 0 0 92 108M 0 1705k 0:01:10 0:01:05 0:00:05 1861k
93 117M 0 0 93 109M 0 1700k 0:01:10 0:01:06 0:00:04 1521k
94 117M 0 0 94 110M 0 1683k 0:01:11 0:01:07 0:00:04 1237k
94 117M 0 0 94 110M 0 1664k 0:01:12 0:01:08 0:00:04 896k
95 117M 0 0 95 111M 0 1651k 0:01:12 0:01:09 0:00:03 803k
95 117M 0 0 95 112M 0 1621k 0:01:14 0:01:10 0:00:04 633k
95 117M 0 0 95 112M 0 1615k 0:01:14 0:01:11 0:00:03 497k
95 117M 0 0 95 112M 0 1595k 0:01:15 0:01:12 0:00:03 419k
96 117M 0 0 96 113M 0 1585k 0:01:15 0:01:13 0:00:02 510k
97 117M 0 0 97 114M 0 1574k 0:01:16 0:01:14 0:00:02 498k
97 117M 0 0 97 114M 0 1541k 0:01:18 0:01:16 0:00:02 462k
97 117M 0 0 97 114M 0 1536k 0:01:18 0:01:16 0:00:02 419k
98 117M 0 0 98 115M 0 1530k 0:01:18 0:01:17 0:00:01 581k
98 117M 0 0 98 116M 0 1520k 0:01:19 0:01:18 0:00:01 564k
99 117M 0 0 99 117M 0 1513k 0:01:19 0:01:19 --:--:-- 614k
* We are completely uploaded and fine
100 117M 0 0 100 117M 0 1495k 0:01:20 0:01:20 --:--:-- 695k
100 117M 0 0 100 117M 0 1476k 0:01:21 0:01:21 --:--:-- 589k
100 117M 0 0 100 117M 0 1458k 0:01:22 0:01:22 --:--:-- 388k
100 117M 0 0 100 117M 0 1441k 0:01:23 0:01:23 --:--:-- 252k
100 117M 0 0 100 117M 0 1424k 0:01:24 0:01:24 --:--:-- 57489
100 117M 0 0 100 117M 0 1407k 0:01:25 0:01:25 --:--:-- 0
100 117M 0 0 100 117M 0 1391k 0:01:26 0:01:26 --:--:-- 0
100 117M 0 0 100 117M 0 1375k 0:01:27 0:01:27 --:--:-- 0
100 117M 0 0 100 117M 0 1359k 0:01:28 0:01:28 --:--:-- 0
100 117M 0 0 100 117M 0 1344k 0:01:29 0:01:29 --:--:-- 0
100 117M 0 0 100 117M 0 1329k 0:01:30 0:01:30 --:--:-- 0
100 117M 0 0 100 117M 0 1314k 0:01:31 0:01:31 --:--:-- 0
100 117M 0 0 100 117M 0 1300k 0:01:32 0:01:32 --:--:-- 0
100 117M 0 0 100 117M 0 1286k 0:01:33 0:01:33 --:--:-- 0
100 117M 0 0 100 117M 0 1273k 0:01:34 0:01:34 --:--:-- 0
100 117M 0 0 100 117M 0 1259k 0:01:35 0:01:35 --:--:-- 0
100 117M 0 0 100 117M 0 1246k 0:01:36 0:01:36 --:--:-- 0
100 117M 0 0 100 117M 0 1233k 0:01:37 0:01:37 --:--:-- 0
100 117M 0 0 100 117M 0 1221k 0:01:38 0:01:38 --:--:-- 0
100 117M 0 0 100 117M 0 1209k 0:01:39 0:01:39 --:--:-- 0
100 117M 0 0 100 117M 0 1196k 0:01:40 0:01:40 --:--:-- 0
100 117M 0 0 100 117M 0 1185k 0:01:41 0:01:41 --:--:-- 0
100 117M 0 0 100 117M 0 1173k 0:01:42 0:01:42 --:--:-- 0
100 117M 0 0 100 117M 0 1162k 0:01:43 0:01:43 --:--:-- 0
100 117M 0 0 100 117M 0 1151k 0:01:44 0:01:44 --:--:-- 0
100 117M 0 0 100 117M 0 1140k 0:01:45 0:01:45 --:--:-- 0
100 117M 0 0 100 117M 0 1129k 0:01:46 0:01:46 --:--:-- 0
100 117M 0 0 100 117M 0 1118k 0:01:47 0:01:47 --:--:-- 0
100 117M 0 0 100 117M 0 1108k 0:01:48 0:01:48 --:--:-- 0
100 117M 0 0 100 117M 0 1098k 0:01:49 0:01:49 --:--:-- 0
100 117M 0 0 100 117M 0 1088k 0:01:50 0:01:50 --:--:-- 0
100 117M 0 0 100 117M 0 1078k 0:01:51 0:01:51 --:--:-- 0
100 117M 0 0 100 117M 0 1069k 0:01:52 0:01:52 --:--:-- 0
100 117M 0 0 100 117M 0 1059k 0:01:53 0:01:53 --:--:-- 0
100 117M 0 0 100 117M 0 1050k 0:01:54 0:01:54 --:--:-- 0
100 117M 0 0 100 117M 0 1041k 0:01:55 0:01:55 --:--:-- 0
100 117M 0 0 100 117M 0 1032k 0:01:56 0:01:56 --:--:-- 0
100 117M 0 0 100 117M 0 1023k 0:01:57 0:01:57 --:--:-- 0
100 117M 0 0 100 117M 0 1014k 0:01:58 0:01:58 --:--:-- 0
100 117M 0 0 100 117M 0 1006k 0:01:59 0:01:59 --:--:-- 0
100 117M 0 0 100 117M 0 997k 0:02:00 0:02:00 --:--:-- 0
100 117M 0 0 100 117M 0 989k 0:02:01 0:02:01 --:--:-- 0
100 117M 0 0 100 117M 0 981k 0:02:02 0:02:02 --:--:-- 0
100 117M 0 0 100 117M 0 973k 0:02:03 0:02:03 --:--:-- 0
100 117M 0 0 100 117M 0 965k 0:02:04 0:02:04 --:--:-- 0
100 117M 0 0 100 117M 0 958k 0:02:05 0:02:05 --:--:-- 0
100 117M 0 0 100 117M 0 950k 0:02:06 0:02:06 --:--:-- 0
100 117M 0 0 100 117M 0 943k 0:02:07 0:02:07 --:--:-- 0
100 117M 0 0 100 117M 0 935k 0:02:08 0:02:08 --:--:-- 0
100 117M 0 0 100 117M 0 928k 0:02:09 0:02:09 --:--:-- 0
100 117M 0 0 100 117M 0 921k 0:02:10 0:02:10 --:--:-- 0
100 117M 0 0 100 117M 0 914k 0:02:11 0:02:11 --:--:-- 0
100 117M 0 0 100 117M 0 907k 0:02:12 0:02:12 --:--:-- 0
100 117M 0 0 100 117M 0 900k 0:02:13 0:02:13 --:--:-- 0
100 117M 0 0 100 117M 0 893k 0:02:14 0:02:14 --:--:-- 0
100 117M 0 0 100 117M 0 887k 0:02:15 0:02:15 --:--:-- 0
100 117M 0 0 100 117M 0 880k 0:02:16 0:02:16 --:--:-- 0
100 117M 0 0 100 117M 0 874k 0:02:17 0:02:17 --:--:-- 0
100 117M 0 0 100 117M 0 868k 0:02:18 0:02:18 --:--:-- 0
100 117M 0 0 100 117M 0 861k 0:02:19 0:02:19 --:--:-- 0
100 117M 0 0 100 117M 0 855k 0:02:20 0:02:20 --:--:-- 0
< HTTP/1.1 504 Gateway Time-out
< Content-Type: text/html
< Content-Length: 1033
< Connection: keep-alive
< Server: CloudFront
< Date: Thu, 18 Jul 2024 01:42:43 GMT
< X-Cache: Error from cloudfront
< Via: 1.1 CENSORED.cloudfront.net (CloudFront)
< X-Amz-Cf-Pop: CENSORED
< X-Amz-Cf-Id: CENSORED
<
{ [1033 bytes data]
100 117M 100 1033 100 117M 7 855k 0:02:27 0:02:20 0:00:07 253
* Connection #0 to host up.flickr.com left intact
Worse, the image is actually uploaded, and appears in the photostream etc. So uploaders that retry on failure (e.g. Photo Upload for Lightroom) produce endless duplicate uploads.
According to the author of Photo Upload, Rob, this is a commonly reported problem with Flickr specifically (Photo Upload supports seventeen other destinations). He said it seems to come and go randomly, presumably due to miscellaneous changes on the server side (whether CloudFront or Flickr).
This is preventing me from uploading any photos to Flickr, since it’s stuck on the one photo and the rest of my enqueued uploads are behind that.
And the response was:
Hi Wade,
Thanks for reaching out to Flickr Support.
Unfortunately the product you are experiencing issues with was developed by a third-party & therefore we’re unable to offer specialized support in this area.
We realize the frustration this causes , but we’re are limited to providing support for the Flickr website and official mobile applications.
In this case, we recommend reaching out with this third-party developer or help team for better assistance.
Appreciatively,
Marc J.
What the fuck happened? You were doing so well, Flickr. Here I am going out of my way to diagnose and report – with all pertinent details available to me – a bug in your API servers, and I get a robotic, bullshit response that’s purely about refusing to accept responsibility. This is the kind of response which makes me think your support staff are paid based solely on how fast they close tickets.
And what the hell is Marc ‘appreciating’ here? Amanda’s “Warmly” valediction actually feels genuine, in context (and is human even out of context). “Appreciatively” feels like corporate innuendo.
We humans are weird
Admittedly I started writing this out of catharsis, but it really got me thinking.
Why should I care that Flickr delivered miserable customer support in this second case? Shouldn’t I just quietly move on, like I would if it were from most other companies? Shouldn’t I be thrilled it’s at least not a bug in Lightroom itself, since Adobe’s customer support is a hundred times worse in every case; among the most aggressively evasive and pre-emptively hostile I’ve ever encountered?
I think we’re all pretty conditioned to expect terrible experiences with so-called customer support from large software companies, like Adobe, or Google. We expect it and tolerate it, against all justice and our own interests.
Instead, it’s often inconsistency in a single company’s behaviour that’s the most infuriating and raises our ire. This makes no logical nor rational sense – and is very bad from a game theory perspective, as it encourages companies to be consistently dumb and evil.
It seems akin to how most folks pay little attention to e.g. Facebook doing yet another horrible thing – the headlines might as well all be “Facebook acts like Facebook yet again” – but if e.g. Apple does something a bit clueless, the world gets up in arms.
I guess it boils down to hope, ironically. If we see a company – or a person – demonstrate that they can do better, then we raise the bar for them. And are then ripe to be disappointed if they merely behave like most of their peers, subsequently.
Which is stupid, really.