Like other commenters point out, automatic OCR on Apple platforms is a godsend, and it's such a great use of our modern AI capabilities that it should be a standard feature in every document viewer on every platform.
Another thing I wish was more common is metadata in screenshots, especially on phones. Eg if I take a screenshot of a picture in Instagram, I wish a URL of the picture was embedded (eg instagram.com/p/ABCD1234/). If I take a screenshot in the browser, include the URL that's being viewed (+ path to the DOM element in the viewport). If I take a screenshot in a maps app, include the bounding coordinates. If I take a screenshot in a PDF viewer, include a SHA1 hash of the document being viewed + offset in the document so that if I send the screenshot to someone else with the same document, it can seamlessly link to it. Etc etc.
There are probably privacy concerns to solve here, but no idea is new in computer science and I'm pretty sure some grad student somewhere has already explored the topic in depth (it just never made it to mainstream computing platforms).
It feels like screenshots have become the de facto common denominator in our mobile computing era, since platforms have abstracted files away from us. Lots of people who have only ever used phones as their main computing devices are confused when it comes to files, but everyone seems to understand screenshots.
OCR is a godsend, 100% agree. Not a fan of the metadata idea personally, 'screenshotting' is done by the operating system, and exposing ways to allow apps to know that they were 'in' the screenshot plus expose some metadata of their choosing (like your examples of GPS coordinates for a maps app, url for browser) sounds like a privacy nightmare, and like something that will make a very reliable core feature much harder to use.
There are companies like Evernote/Zight/CloudApp that at one point tried some things like this, but they never really caught - I think because it's pretty easy to add annotations yourself or some note of your own - and a screenshot not "trying to do everything" is part of what makes them useful & ubiquitous.
But apps (most notably Snapchat comes to mind) have been doing exactly that analysis though. Theoretically they could then [offer to] edit the photo immediately afterwards to add context, since they had access to the photo roll or files
https://android.stackexchange.com/a/119767
OP here. You raised a point that I should have mentioned in the article: screenshots of web pages that don't include the URL. I'm perfectly fine with screenshots of browser windows, since the context is almost always relevant. The system I work on right now puts a lot of useful context into the URL, but it's almost never included in the initial screenshot, so I have to ask for that. Of course, I generally ask for it as text so that I don't have to try to type the whole thing without making a mistake.
I was content to write the original off as "to each his own", but this one I feel you on.
Maybe the problem is sharing without caring and/or without being aware.
Case in point, folks capture large blocks of text as you mentioned and paste it into slack which converts certain characters unless included in a code block. This can be much worse than sharing a screenshot.
Please know the best way to share what you are sharing when you share. I've had to come to expect this request will not be honored.
I also might be guilty of not honoring sharing with caring myself. For example, I didn't read this entire thread before posting; others may have made this exact point already.
> It feels like screenshots have become the de facto common denominator in our mobile computing era,
Google/Apple have taken notice. Both have recently redone their full-screen post-screenshot UI to include AI insights / automatic product searches / direct chat with Gemini/LLM / etc.
Its true everyone uses screenshots to save things they are interested in or want to look up / search more of / save for reason and this UI is the perfect place to insert themselves.
Why? Either it's public content, and it can be traced back manually anyways (screenshots from social media posts typically include the username), or it's private content and knowing the URL slug doesn't change anything (the fact that you're sharing a screenshot of private content is the privacy breach, not the fact that some UUID is embedded).
All OCR is untrustworthy. But sometimes, OCR is useful. (And I've heard it said that all LLM output is a hallucination; the good outputs are just hallucinations that fit.)
A few months ago a warehouse manager sent us a list of serial numbers and the model numbers of some gear they were using -- with both fields being alphanumeric.
This list was hand-written on notebook paper, in pencil. It was photographed with a digital camera under bad lighting, and that photograph was then emailed.
The writing was barely legible. It was hard to parse. It was awful. It made my boss's brain hurt trying to work with it, and then he gave it to me and it made my brain hurt too.
If I had to read this person's writing every day I would have gotten used to it eventually, but in all likelihood I'll never read something this person has written ever again. I didn't want to train myself for that and I didn't have enough of a sampleset to train with, anyway.
And if it were part of a high-school assignment it would have been sent back with a note at the top that said "Unreadable -- try again."
But it wasn't a high school student, and I wasn't their teacher. They were a paying customer and this list was worth real money to us.
I shoved it into ChatGPT and it produced output that was neatly formatted into a table just as I specified with my minimal instruction ("Read this. Make a table.").
The quality was sufficient to allow us to fairly quickly compare the original scribbles to the OCR output, make some manual corrections that we humans knew how to do (like "6" was sometimes transposed with "G"), and get a result that worked for what we needed to accomplish without additional pain.
0/10. I'm glad it worked and I hope I never have to do that again, but will repeat if I must.
Why spend electricity and time to read the text in a screenshot, and then more time making sure there are no mistakes. When the sender could have just copied the original text?
Interesting idea, but I think this understates how often screenshots are "slightly adversarial". I'm taking a screenshot because the app or webpage has deliberately made it hard to select text for some reason. Or the UI is just annoying about selection (e.g. trying to select the text from a link anchor without being considered as having clicked on it, which is fiddly on Android).
Then there's the question of fully adversarial screenshots. I can definitely see why people want "I want to send this to someone and discourage them from seamlessly resharing it", but at the same time: it's my screen. Not generally a problem on desktops unless you're dealing with video content.
I disagree. I use screenshots all the time, because it:
- Preserves the full 80 character width without line-wrapping, which destroys readability
- Guarantees monospace, so tabular data doesn't get all misaligned
- Preserves a good coding font, so it doesn't come out as some hairline-width Courier on the other end
- Preserves syntax highlighting, very helpful
Obviously if somebody needs a whole file or whole log, then send the whole thing as an attachment. But very often I'll still include a screenshot of the relevant part. With line numbers, it's not difficult to jump to the right part of the attached file.
Screenshots are incredibly useful for keeping code and terminal output looking like code and terminal output, and not getting completely mangled in an e-mail or chat message being read on a mobile device or in a narrow column.
Key things required for posting to the chat: people reading can read it, people reading can copy and paste it, and people searching can actually find it. It doesn't need to exactly match what you might see in a text editor. Anybody wanting to look at the actual text in context won't be doing it in the chat, but will rather be opening the file of interest in the appropriate tool, and examining it that way; anybody stuck reading the text only in the chat is probably on their phone or something and will be best served by being able to easily see all of it.
For reading purposes, the question of screen width is best left to the reader. They will have the window set to their preferred width, possibly limited by screen size. If the text has to wrap, so be it. It's better that than having to try to squint at your 3713x211 screen grab on an iPhone (portrait orientation). Also bear in mind that even the most basic of font and colour choices (large/small font, dark/light mode) can cause accessibility issues for some readers.
For copying and pasting purposes, images suck. Yes, macOS can do it, sort of, and I expect Windows 11 can do it too, probably to about the same extent. But it's not as easy as having the text right there in copyable form.
For searching purposes, ditto - only worse, because at least when you copy and paste and it comes out wrong, you'll notice. When you search: you just won't find the thing. You'll never know.
Which is why screenshots help, for the reasons I gave
> people reading can copy and paste it
Why? If there's something like a user ID or error code that the person needs as text, I'll paste that separately. Stuff I include in a screenshot is for understanding, not copying and pasting.
> and people searching can actually find it.
Which is what the message text around the screenshot is for. Which actually includes the relevant keywords, not random tabular data or lines of code which just add noise to search.
> Anybody wanting to look at the actual text in context won't be doing it in the chat, but will rather be opening the file of interest in the appropriate tool, and examining it that way;
Except when they aren't/can't. The whole point of screenshots is for when they can't access something easily that way, which happens for a million different reasons.
> anybody stuck reading the text only in the chat is probably on their phone or something and will be best served by being able to easily see all of it.
Which is what images make far easier to read without being messed up.
> For reading purposes, the question of screen width is best left to the reader. They will have the window set to their preferred width, possibly limited by screen size. If the text has to wrap, so be it.
No it's not. Wrapping destroys indentation and alignment. It's not "so be it", it goes from readable to literally unreadable. I can't change the width of my phone or a lot of viewing areas. I can always scroll an image horizontally though.
> It's better that than having to try to squint at your 3713x211 screen grab on an iPhone (portrait orientation).
Which is why zooming and panning exist. I don't know where you're getting something silly like 3713 pixels though. But if that's the width of some massive table whose layout needs to be preserved, then so be it.
Which loses fidelity in your raster format screenshot world. Alternatively, when text is presented as text, a user can scale it independently for readability. Or as another commenter pointed out, use a screen reader.
You focus on a kind of permissions or network limitation technical access, between the computers in the system, but don't seem to appreciate another very real type of technical access between the user and the leaf computer in the system.
You keep trying to frame that photo is superior, when, sure... The image is superior in your argument only when it's accompanied with text. So is it the image that is important then? No to mention, that is contingent. If that is your point, then, sure, I don't mind, add a screenshot next to the text but, please, give the text.
It's completely obtuse. "I'll include the important bits in a separate text as well, because I already know everything that the other person is going to find important."
All of the points are mostly personal and thus should never be forced on anyone else via a screenshot (as a general rule, though depends on the content)
- no line wrapping destroys readability more since you can't toggle it in a screenshot. Imagine that url on the screenshot taking 3 lines instead of 1 and pushing useful text off screen. Also, forcing 80 on a user of a wider monitor is barbaric.
- And if there is no tabular data (and autoformatted code doesn't do tabular code) you've just lost nice proportional text for nothing
- Syntax highlighting as is commonly used (and as is shown in the blog screenshot) is useless, and is anyway unlikely to match reader's convention
> being read on a mobile device or in a narrow column.
So it can't even be read properly, you have to scroll the screenshot left and right... instead of just reading
> - Preserves the full 80-character width without line-wrapping, which destroys readability
Readability is on the eyes of the final user, they are free to use whatever narrow column width they prefer.
> - Guarantees monospace, so tabular data doesn't get all misaligned
When was the last time a computer shipped without a monospace font? This points at the rare occasion where there's a problem with the setup, but you could also argue that maybe there's a system with a broken image decompressor.
> Screenshots are incredibly useful for keeping code and terminal output looking like code and terminal output, and not getting completely mangled in an e-mail or chat message being read on a mobile device or in a narrow column.
Are you complaining about GMail's rendering maybe? Its awful[^0], but that's more of a GMail problem that could be solved if they wanted.
[^0]: Column width unbounded even on 4k monitors. Weird and inconsistent font sizes across different fonts (monospace is smaller). Reads poorly on phones too.
> Readability is on the eyes of the final user, they are free to use whatever narrow column width they prefer.
For plaintext sure. Not for code or tabular data. It destroys indentation and destroys column alignment and interleaves parts of rows. It's a horrid mess.
> When was the last time a computer shipped without a monospace font?
When was the last time I have to read something in a font I can't control that is forced to be proportional? Oh, constantly. Literally all the time.
> Are you complaining about GMail's rendering maybe?
Yes, and messaging clients, and chat clients, and everything unless it has actual dedicated code blocks that render with a horizontal scroll bar. Which are the exception as opposed to the rule.
> > Readability is on the eyes of the final user, they are free to use whatever narrow column width they prefer.
> For plaintext sure. Not for code or tabular data. It destroys indentation and destroys column alignment and interleaves parts of rows. It's a horrid mess.
I don't think I have seen unaligned html tables, nor unaligned spreadsheets made from CSV/TSV/etc. Images are worse than PDF, so I guess it's 0-stars in the 5-star data tier.
I'm not really sure what you're talking about. PDF...?
I'm talking about tables output in the terminal, in ASCII by SQL or something. By Python's tabulate. Output from a script. Or yes, even HTML tables or spreadsheet cells that get pasted into the message client as plaintext and lose their table formatting.
This isn't about a standard for publicly distributed open datasets, what are you on about? This is about quick messages in a chat or e-mail.
> even HTML tables or spreadsheet cells that get pasted into the message client as plaintext and lose their table formatting.
Sounds like a message client problem to me. You are switching to a worse data exchange format just to get around a very basic implementation of the paste API.
Pictures are a worse exchange format than the data even a PDF or CSV, which is why I mentioned the RDF data exchange tier list, not because I'm on hard drugs.
Is it convenient to send Images on whatever message client you use? Sure, but as a receiver of the data in a picture you can do nothing but type the data yourself (yeah, you can ask for the source too, but on async comm channels that may not arrive in the same day).
More often than not, you have no control over your client thanks to proprietary protocols and interop-hostile apps. So yes, it's a message client problem, but that fact doesn't change anything.
100% this. I fully disagree with the post - screenshots show context/colour/formatting etc that often doesn't even translate properly if you DO try to paste it into some IM or other "text swapping" application.
Sure, if you want someone to reproduce the text of course you'd send them actual text. But to show a problem, a picture is, as they say, worth 1000 words.
Most of the time if someone is sending me code as text (which is by far preferable to a screenshot) I'm copying it out and pasting it into my own editor.
That way I get a width appropriate for my screen (which may be different from yours), text that's still aligned correctly, and uses the font of my choosing (which may differ from yours), and still has syntax highlighting (using the sizes/colors/styles that I'm accustomed to).
Sending the whole file (or a link to it) works well too but screenshots are absolutely likely to be some level of annoying for anyone who isn't you no matter how helpful you think you're being.
Forcing someone else to view code the way you like seeing it isn't always going to be completely obnoxious for them (although you might be surprised by what some people find acceptable) but it does make it difficult/impossible to view it the way I like seeing it (in addition to losing the ability to search/edit)
This isn't about sending 300 lines of code in a screenshot or something.
This is about, "hey, look at these 6 lines which is where I think the problem might be". It's not for pasting in a separate editor, why would you do that? It's about providing quick context even if you're on your phone.
If you want to go inspect that spot in the file once you're back at your computer then go do that. The screenshot is to save you time because often you can answer just based on it.
On my phone is exactly when I do want it, because that's where text linewraps and jumbles and becomes totally unreadable.
You understand you can just screenshot the code part that is 80 characters wide? You don't have to screenshot the entire full-screen window?
But even if someone does include extra width, it takes me about a tenth of a second to pinch-zoom. Which is way quicker than trying to decipher line-wrapped spaghetti.
> But even if someone does include extra width, it takes me about a tenth of a second to pinch-zoom. Which is way quicker than trying to decipher line-wrapped spaghetti.
Strong disagree there. It's far easier to read the line wrapped code than to pinch to zoom. I think you have your answer: you have different preferences than others do, and no amount of explaining is going to make their "I like cats" make sense to your "I like dogs" sensibilities.
> You understand you can just screenshot the code part that is 80 characters wide? You don't have to screenshot the entire full-screen window?
Why are you telling me, the recipient of the crappy text screenshot, how to do it better?
Line-wrapping is also agitating, I'll give you that. Or worse yet, if the sender doesn't know how to use monospaced fonts in whatever app. I prefer a scrolling text box, which is basically a "pre-pinch-to-zoom'ed" screenshot. But with copy and paste and select. Which is even more useful on the phone, because of its limited symbols, so I can pull the relevant part, modify it, and reply.
So do I. But most clients and message mediums don't have support for that. Many don't even have support for monospace at all. Hence, screenshots to get around those limitations.
I think slack and other mail/chat clients rescale the image and apply aggressive compression on it. Sometimes they even crop the image or make it so that you need to scroll left and right. Also your syntax highlighting might be annoying to others and might make legibility worse for the receiver, and as other people pointed out most chat/mail clients support monospace code blocks. Plus I agree with all the things that the blog post author pointed out.
> or make it so that you need to scroll left and right
That's the point.
If have an ASCII table that is 150 character columns wide, I'm sending you a screenshot so that you can scroll left and right, rather than have everything end up in a jumble of interleaved overflowing lines that turn into unreadable spaghetti.
This is a feature, not a bug. Not everyone is opening the message on a full-width monitor.
My only use of code screenshot is to emulate the "take a look at my screen workflow". It's only meant for the other person to take a quick glance at. Anything further than that is transmitted as a code block or text file.
Yeah. OP has an egocentric bias - it’s not the norm in the world of work sharing that you can faithfully reproduce the live/contextual environment of the sender given the raw string.
(OP’s blog purports to be pertinent to freelance software development).
What about it? There simply isn't any information format that's both perfectly accessible and reproduces what you're seeing with perfect fidelity. In the happy path you can make the important parts match, but almost by definition, when someone's reporting an issue it's because what they "should" see and what they are seeing don't align.
There are many accessibility issues with using a screenshot of text instead of text directly:
- displaying a white background image of text when I'm using dark mode;
- using a small font to a user with a visual imparement or on a high DPI display;
- using a colour scheme with low contrast, or colours that are indistinguishable for people with a form of colour blindness;
- using a font that is difficult to read for someone with dislexia;
- etc.
And others have mentioned not being able to search for the text within the image, or select/highlight the text (useful for copying a function name, link, or term in the text, or for keeping track of where you are when reading).
Well, that's not the scenario relevant to the article and not a scenario I encounter much these days. I'm not a designer or a front end dev anymore so I rarely encounter a situation where "perfect fidelity" is relevant to me.
I'm biased, but I can't help but feel like chances are, if the screenshot is text, the content of the text is important, not the visual aspects.
99% of the time I get a screenshot these days, it's people sending me screenshots of text logs or code, and almost always cropped in a way that eliminates any context anyway. Give me plain text or give me death.
In some cases visuals are important, and in other cases, they're not. Hence why I said "chances are" and declared my bias rather than using absolutist language. However, somewhat ironically, you chopped off that part of my reply. I find it odd you chose to respond the way you did, but I digress.
I also carefully indicated my every day interactions with screenshots do not align with those requirements.
Of course there are situations where visual aspects are critical. I'm not disputing that. I'm stating my _preferences_ and my _opinion_ that situation is exceptional.
> Preserves the full 80 character width without line-wrapping, which destroys readability
How line wrapping interacts with readability is for the reader software to worry about, not the control-freak author. Line length higher than the device width can handle can be even worse for readability than lines wrapped in the wrong places. It's one of the reasons I loathe PDFs.
> Preserves a good coding font, so it doesn't come out as some hairline-width Courier on the other end
If the reader wants to have their code in hairline-width Courier, that's their right. It's not for the control-freak with awful taste in fonts to decide.
> Preserves syntax highlighting, very helpful
Forces a particular style of syntax highlighting upon the reader without giving them an easy recourse to change it. No thanks.
> Guarantees monospace, so tabular data doesn't get all misaligned
The closest thing to a decent argument. Except pretty much any text input that accepts embedded images will usually also provide a monospace formatting option, so there is no need to screenshot text here either.
It also allows drawing on top. I find it convenient to screenshot / take picture of some code / error log / terminal output then circle some bit, draw some arrows, or do other types of drawings to draw attention to things.
Emphasizing bits on code-formatted text is not as straightforward and would typically be ambiguous (was this punctuation meant for emphasis or was it part of the original text?).
Pictures are also quick to make and grasp, which is a plus when having to quickly diagnose something with others.
The main complaint in the article about having to type into a search bar instead of copying and pasting doesn't make sense. It's like a word or two at most which you'd have to search. It might even be faster to type than to copy and paste (moving cursor around, etc.).
The error log complaint would also be valid had it been text instead of a screenshot. That was a problem of not sharing enough context, not the format of the message.
It's not widely supported. It's not in e-mail or SMS or Gmail or Docs or Word or a hundred other pieces of software where I communicate.
Yes, I use that wherever it exists. It's great, and you're lucky when it's there. I wish it was everywhere. But as long as it's not, for everything else, there's screenshots.
SMS does not support images either, and email supports HTML. I'm not all that familiar with Word, but I believe it supports some formatting options too.
In my experience copying from some programs preserves long lines. Copying from other programs breaks them at the wrap point. Once the text is cut into lines, pasting can't fix it. I'm not at my computer now so I can't give factual examples. I guess that copying from the output of cat file on a terminal is one of those unfortunate cases.
I feel like I've seen good solutions to both problems before, aren't there vscode extensions that let you just select the code and create a sharable link with all the view type options to appear everyone?
Except it doesn't use my preferred font, not my don't size, not my colors and I can't copy parts of it as easily and then the stupid chat app scales the image for some reason ot another.
The ability to highlight/copy/etc text on Macs/iOS these days is such a killer feature. I use it almost every day, both for copying/translating text in screenshots or taking photos of text to then copy it into my notes later (eg school notice boards or event posters etc).
Yup - I recall when this feature was released, maybe a dozen years ago, with KDEConnect. Real QoL improvement. Glad to hear some other OS's are catching up.
Part of what makes it so good is that it's everywhere. Preview, QuickLook, QuickTime Player (yes, videos get OCR'd too!), any app that uses the system frameworks for displaying media.
This includes Safari, where not only do images (inline or otherwise) have selectable text, but the built in translator leverages that text and uses it to translate images, too! This is super useful for translating Japanese webpages in particular, which tend to have tons of text baked into images.
I have Shottr keyboard shortcut (cmd+opt+control+o) setup to allow me to OCR from whatever is on the screen and copy the text to clipboard.
So whether someone shares code or error log as screenshot on slack, it’s 3 steps: 1. cmd+opt+control+o 2. select the area to OCR 3. cmd+v in vscode or google
Spotlight, notes, and Photos also look at photos and return them in search result. Even going further where you can give a description and find it as well.
Screenshots of text! Luxury! In my day, the screenshots were embedded in a Word document too.
But I can't be the only one appalled at the suggestion to use an LLM to parse the text. The sheer, prodigious waste of computing power, just to round-trip text to an image and back to text, when what's really missing is a computer user interface that makes it as simple to send text or other snippets as it is to send screenshots.
I knew an enterprise where Word documents were used as "folders" for Word documents. The "top" document would have a collection of files pasted in to them (the actual file objects, not just the file content).
It can get worse. People use their phones to send a literal photo of their screen. This happens almost daily in one of the programming discords I'm member of and it drives me crazy, these are supposed to be (future) programmers and they don't even know how to make a proper screenshot??
My preference -- Link or attachment to the full document or code in context (if needed) ... along with screenshot of a relevant portion. (Many times the former is optional because there is enough context already.)
It is extra work to do both but I like to be through even when asking for help. Even if the other side doesn't need it -- because I myself might not remember all the nuances when I refer to that conversation later.
Also screenshot preserves (before any fixes) the exact way things looked when I confronted a certain situation. The visual of the screenshot serves as a much stronger reminder of that situation and my thinking ...way better than mere copy pasted text.
Pretty much every new programmer I’ve ever hired has done this in their first few weeks. Every time I have to tell them why it’s so unhelpful to share screenshots of text instead of just pasting the text. Usually they learn. When they don’t I usually end up firing them, not for that reason but for others.
The reason I personally hate it is I am often working from my phone. And it’s much easier to read text rendered properly than pinch zooming text in an image. What’s worse is slack will downgrade images for mobile and you can’t even pinch zoom in fully.
Thing is, screenshots are fast, and the same technique works across every app. If you work in a field where you might be filing trouble reports from web app A, native app B, website C,... its just easier to use the same technique across the board. Win+S or CMD Shift 4, and move on with your life.
Not nice for the recipient maybe, but hella efficient for everyone else, and there are many more people in the latter camp than the former.
OP here. My current team uses MS Teams. I've been teaching my colleagues how to create code blocks in Teams (basically, teaching them Markdown). It's there, but it's not readily discoverable.
Teams has really poor code block compared to slack or any other tool. You can feel the arrogance of the Microsoft PM each time you paste code or paste text that randomly render as html. Somehow, slack still has a better text input compared to teams.
I find the argument a bit weak. The actual problem is not the screenshot but the lack of information. Even if you got the "C:\Users\Paul\whatever\whatever" text pasted in your inbox, what would you do with it? Also, are you manipulating these text? If I'm asked to find a bug in some code, looking at it is all I can really do. (Okay maybe you want to compile it or run it, that's fair)
Don’t even get me started. A colleague of mine made me screenshot a .env on a video call “for security” and I spent 30 min correcting OCR on it until it worked
This article is a specific case of a more general piece of advice: ask questions well (provide context like clickable links, trim down your query to the minimal reproducible case, pose high-precision questions, etc.).
Qwen3-VL-8B is quite amazing and has made translating screenshots of text so much easier via LM Studio. Does have some issues and edge cases, but being able to take a screenshot of text or some website doesn't have copyable text, thats a solvable issue for less than 16GBs of VRAM or unified memory.
Agreed. Sometimes context comes from more screen, not less. I receive a lot of cropped screenshots that show the “problem” but hide the surrounding context, and they often exclude things that would make a solution immediately clear from a shot of the full application window.
Definitely true although my motive is more based on a principle of “don’t let people send me on a fishing trip”. I’m glad to help but people need to learn the proper way of asking without completely inconveniencing the other person
> I receive a lot of screenshots like this from well-meaning colleagues:
That says all you need to know. The reason they send those screenshots is they believe the full context is more helpful. Code formatting, indentation etc.
Personally I agree with that sentiment. There is a lot of context in the full visual of the original text in situ.
I’m have a growing collection of photos of handwritten notes that are texted to me to address. As irritating as that is, it’s better than the thing that happens in universities, where people email you PowerPoint files with the content being the text that should have been in the email.
Maybe I should put the photos of notes into a PowerPoint?
I just want to offer a counter ti the comments that, I really don't mind!
If it's some new greenfield project, I definitely want a script rather than a screenshot, but if you're saying "i think this line is the issue", "here's my error stack" or "what if we added something here?" then I'll happily recieve screenshots if it's easier for you!
(just please, please, semd me something and not just "there's am issue with x because it is throwing me an error")
Agreed! The one that I really don't like is that social platforms promote / prefer screenshots of text. Search engines promote sites that link to themselves. All the good parts of URLs are missing. How often I see something interesting, just to realize it's a screenshot and I have to go dig around myself figuring out where it came from.
This is essentially a solved problem. Whenever someone sends me a screenshot that contains any text information (tables, etc), I pass it to an LLM and it correctly interprets the content of it. On modern versions of macOS you can just select text in images relatively painlessly, too.
Or just ask people not to send you data in useless formats. That way you don't have to burn an acre of trees to power it and you help someone be less difficult.
As described in the article, it isn't just text being image but that, usually, the image is only a subset of the entire text. Yes, OCR can help find the file containing a code segment in your local codebase but issues such as, mentioned in the article, sending a random error line rather the entire log remain.
Claude on Linux does it fine, so does cursor, codex, claude code, ollama etc. Not that I would use any of these for this; if someone sends me screenshot, it is relevant for me so I know where to find what is in it quite readily if needed at all.
Screenshots preserve exactly what the user sees, and for this reason i believe they are the best format for evidence. They also preserve their look when your messaging software starts doing funny things with it. They are immune to accidental edits. They are reliable in the sense that if the original source ever changed, no one would argue that you didnt see what you saw with a screenshot. They wont degrade when the content of a url changes.
We do use screenshots extensively, but alongside links and copied text when necessary
We use Slack and GitHub, so it's trivial to send formatted text or a file/line link and I basically never have to deal with screenshots of text. I guess this is just a nice reminder for me to be grateful.
OMG me too. I know we aren't supposed to add low quality comments like that, but I have actually been waiting my whole life for someone else to say this!
I agree that screenshots of text that are cut off from essential context are enough to make me pull my hair out, it creates so much extra work— but the modern feature of automatic text recognition in screenshots and images that allows for copy and paste has been incredible. Along with indexing that allows it to be searched, regular screenshots have become one of the most robust and future proof ways for me to preserve context from my workspace. When I look back into archived screenshots it helps me to recapture all kinds of things that I wouldn’t have thought to explicitly record.
Just use something like NormCap ( https://dynobo.github.io/normcap/ ), an "OCR-powered screenshot tool to capture text instead of images".
Often, the screenshot of the code is exactly what I need, because it shows code syntax highlighted and I don't need to copy and paste it in the editor.
When I get these, there's usually enough context that I can find the actual text.
That being said, I've had to twist some arms in a previous job for new employees attaching screenshots of a log viewer instead of the whole logs. The big problem was training: Once I made it very clear to the entire team that unedited logs were critical to solving problems, management made sure that all newcomers knew how to attach unedited logs.
It seems there's great OCR available on Apple platforms, but to me it seems that we are giving ourselves a problem by properly attaching metadata where necessary.
I honestly thought this was going to be solved in the 2010s with the rise of comic-like memes, but we just kept sharing images with ever increasing compression artifacts as things were shared around and used to create new memes.
What I usually do to share code, is send a link to GitHub or whatever VCS portal we are using. Of course, this doesn't work with local, new code, but that's why we also use liberally draft pull requests to share unfinished code.
I’m one of the people sending these screenshots, and glad to receive them. It helps jog my memory to see a screenshot from the original context, with syntax highlighting or especially log output from our besoke logging system for firmware. It’s very hard to read without the colors!
Many up-to-date messaging environments allow you to copy & paste text directly from your coding environment with indentation and syntax coloring intact. This is something the sender can establish before hitting "Send".
Also, the sender has the option to attaching the source file, which if entered into a coding environment will recreate the syntax colors.
Why though? This is a common problem which only requires one thing: empathy/politeness from the screenshot sender. They ask your for your help and attention, but they can't be bothered to not to waste your time. I think it's fair to point out that this is bad workplace behavior
Except as I pointed out in another comment, there are many reasons why screenshots are superior and don't get messed up the way plain text does.
I'm shocked to discover so many people hate screenshots, because I hate getting misaligned line-wrapped text that destroys readability. But now I can understand people have different preferences.
It's not bad workplace behavior, and it's not a lack of empathy or politeness. It just seems to be different preferences is all.
It's not always easy to copy text out of tmux or a VM. Screenshots are easy to create and it's not as hard as you make it sound to type a name into the search bar in the IDE...
what we need is a "rich text box" file format, classed as an image for embedding purposes and supported everywhere images are, but formattable and selectable text internally. would solve the issue of people using images of text on various social media sites too.
This is a lost cause, one of many that modern GUIs are responsible for. Just suck it up and deal with it because users are not going to stop sending you screenshots.
I think that Slack may be partially responsible for that.
If I copy code from PyCharm or VS Code and paste it into fucking Microsoft Word, even spawn-of-Satan-MS-Word-for-Mac respects most of my formatting. Plenty of web text editors are also able to do that.
But Slack, "The King of Useless Features Nobody Asked For", can't bother themselves to implement such a useful feature for their primary market.
Preview on Mac does automatic OCR. I'm sure other tools exist that are similarly friction-free on other platforms, but it took me under 5 seconds (drag the image from the webpage into my downloads folder, click on it, and then select the relevant snippet and CMD+C to copy it).
I imagine I'd have similar frustrations if I couldn't copy-paste the text easily though!
> or (these days) get my coding agent to find the relevant module for me
????? Just OCR a line and paste it into the IDE’s search field???? Or, if for some baffling reason you don’t have the ability to OCR, just pick out a function declaration in the screenshot and search for that? We’re so doomed as a profession.
gtk-vector-screenshot (<https://github.com/nomeata/gtk-vector-screenshot>) will do this, but for GTK apps only. It relies on a custom protocol layered on top of X Window, and I think traverses the tree of GTK widgets to create a vector representation. For a general screenshot program to work, I imagine it would need some sort of hook into every GUI framework used on your system.
Please send screenshots. Also include links to the actual source where you got it, or if you can't sure, also share the text. But a screenshot is a perfect starting point as I may not always be in a position to follow a URL or deal with text that some chat program is having difficulty formating properly, and a screnshot can go a long way if I see what I need to see.
Screenshots are fine. Just don't ONLY send screenshots.
I personally hate screenshots of kernel panics. Or anything else where you might be dealing with 64-bit hex addresses like "0xffffffff81b7ed80"
Typing that from a picture is infinitely more error prone than just cut/paste.
the whole post is entirely missing the point. screenshots do have its merit for reasons already mentioned here. beyond that the optimal method would be a link to the line or section into the respective source control system.
> I have to either very carefully type some of the code into a search box or (these days) get my coding agent to find the relevant module for me.
Your coding agent is not very smart if it can't deal with something as simple as OCR'ing an image and processing all the references in it, or letting you just select text from an image and searching or copying to the clipboard.
Only among people who don't code. A non-coder doesn't know the difference between a block of code, and a picture of a block of code.
A woman visits the studio of a famous artist. She says, "That woman is all distorted!" The artist replies, "Madam, that is not a woman, that is a picture of a woman."
This is astonishing. A screenshot is not only the least useful representation of a subject under discussion, it also requires more bandwidth than text.
I see two possible reasons for this -- the sender has no technical experience, or they're focused on making things more difficult for the recipient.
But when trying to decide between these two, I'm reminded of the saying, "Never attribute to malice that which can be adequately explained by stupidity."
This actually happened. A client wrote me, saying, "First, don't treat me like an idiot -- I have years of computer experience."
"Okay, I promise," I replied. "What's the problem?"
"Your program doesn't work."
"Can you be more specific?"
"I followed your instructions to the letter, but I see an error message."
"Okay, what is the error message?"
"It says, 'User [Enter your name here] is not found'."
I always thought a screenshot of code was just an iPeople flex. Like, "look at my code, framed in this glassy macOS window with a $29.99 drop shadow." Kinda like how Nix or Arch users can't resist mentioning they use Nix or Arch. (btw i use arch)
Like other commenters point out, automatic OCR on Apple platforms is a godsend, and it's such a great use of our modern AI capabilities that it should be a standard feature in every document viewer on every platform.
Another thing I wish was more common is metadata in screenshots, especially on phones. Eg if I take a screenshot of a picture in Instagram, I wish a URL of the picture was embedded (eg instagram.com/p/ABCD1234/). If I take a screenshot in the browser, include the URL that's being viewed (+ path to the DOM element in the viewport). If I take a screenshot in a maps app, include the bounding coordinates. If I take a screenshot in a PDF viewer, include a SHA1 hash of the document being viewed + offset in the document so that if I send the screenshot to someone else with the same document, it can seamlessly link to it. Etc etc.
There are probably privacy concerns to solve here, but no idea is new in computer science and I'm pretty sure some grad student somewhere has already explored the topic in depth (it just never made it to mainstream computing platforms).
It feels like screenshots have become the de facto common denominator in our mobile computing era, since platforms have abstracted files away from us. Lots of people who have only ever used phones as their main computing devices are confused when it comes to files, but everyone seems to understand screenshots.
Also, necessary shout out to Screenshot Conf! https://screenshot.arquipelago.org
OCR is a godsend, 100% agree. Not a fan of the metadata idea personally, 'screenshotting' is done by the operating system, and exposing ways to allow apps to know that they were 'in' the screenshot plus expose some metadata of their choosing (like your examples of GPS coordinates for a maps app, url for browser) sounds like a privacy nightmare, and like something that will make a very reliable core feature much harder to use.
There are companies like Evernote/Zight/CloudApp that at one point tried some things like this, but they never really caught - I think because it's pretty easy to add annotations yourself or some note of your own - and a screenshot not "trying to do everything" is part of what makes them useful & ubiquitous.
But apps (most notably Snapchat comes to mind) have been doing exactly that analysis though. Theoretically they could then [offer to] edit the photo immediately afterwards to add context, since they had access to the photo roll or files https://android.stackexchange.com/a/119767
OP here. You raised a point that I should have mentioned in the article: screenshots of web pages that don't include the URL. I'm perfectly fine with screenshots of browser windows, since the context is almost always relevant. The system I work on right now puts a lot of useful context into the URL, but it's almost never included in the initial screenshot, so I have to ask for that. Of course, I generally ask for it as text so that I don't have to try to type the whole thing without making a mistake.
I was content to write the original off as "to each his own", but this one I feel you on.
Maybe the problem is sharing without caring and/or without being aware.
Case in point, folks capture large blocks of text as you mentioned and paste it into slack which converts certain characters unless included in a code block. This can be much worse than sharing a screenshot.
Please know the best way to share what you are sharing when you share. I've had to come to expect this request will not be honored.
I also might be guilty of not honoring sharing with caring myself. For example, I didn't read this entire thread before posting; others may have made this exact point already.
> It feels like screenshots have become the de facto common denominator in our mobile computing era,
Google/Apple have taken notice. Both have recently redone their full-screen post-screenshot UI to include AI insights / automatic product searches / direct chat with Gemini/LLM / etc.
Its true everyone uses screenshots to save things they are interested in or want to look up / search more of / save for reason and this UI is the perfect place to insert themselves.
> Eg if I take a screenshot of a picture in Instagram, I wish a URL of the picture was embedded
bloody hell of all privacy concerns
Why? Either it's public content, and it can be traced back manually anyways (screenshots from social media posts typically include the username), or it's private content and knowing the URL slug doesn't change anything (the fact that you're sharing a screenshot of private content is the privacy breach, not the fact that some UUID is embedded).
OCR is not AI
But AI can OCR
They do so by running the image through an OCR tool call
No they don't, they natively "see" images.
That's a thing I always marvel about - how LLMs are so versatile and do so much stuff so good that was out of reach just some years ago
On apple platforms it definitely is an AI. Apple intelligence!
Yes but they're quite good at it. Reliable OCR is font dependent, whereas I think a lot of models just kind of figure it out regardless.
One reason I don't quite trust AI for OCR is that it will, on occasion, hallucinate the output.
All OCR is untrustworthy. But sometimes, OCR is useful. (And I've heard it said that all LLM output is a hallucination; the good outputs are just hallucinations that fit.)
A few months ago a warehouse manager sent us a list of serial numbers and the model numbers of some gear they were using -- with both fields being alphanumeric.
This list was hand-written on notebook paper, in pencil. It was photographed with a digital camera under bad lighting, and that photograph was then emailed.
The writing was barely legible. It was hard to parse. It was awful. It made my boss's brain hurt trying to work with it, and then he gave it to me and it made my brain hurt too.
If I had to read this person's writing every day I would have gotten used to it eventually, but in all likelihood I'll never read something this person has written ever again. I didn't want to train myself for that and I didn't have enough of a sampleset to train with, anyway.
And if it were part of a high-school assignment it would have been sent back with a note at the top that said "Unreadable -- try again."
But it wasn't a high school student, and I wasn't their teacher. They were a paying customer and this list was worth real money to us.
I shoved it into ChatGPT and it produced output that was neatly formatted into a table just as I specified with my minimal instruction ("Read this. Make a table.").
The quality was sufficient to allow us to fairly quickly compare the original scribbles to the OCR output, make some manual corrections that we humans knew how to do (like "6" was sometimes transposed with "G"), and get a result that worked for what we needed to accomplish without additional pain.
0/10. I'm glad it worked and I hope I never have to do that again, but will repeat if I must.
There was a good talk some years ago at some of the CCC events where some guy found out that scanners sometimes change numbers on forms.
It's David Kriesel's infamous talk about the even more infamous Xerox bug.
Talk: https://media.ccc.de/v/31c3_-_6558_-_de_-_saal_g_-_201412282...
Bug: https://en.wikipedia.org/wiki/Xerox#Character_substitution_b...
AI says that OCR is AI.
God of the gaps
Fun side-fact: The original MacPaint, while in development, had an "ocr" copy feature, albeit much simpler of course.
It didn't make it in the release version out of fear that people would use MacPaint as a Word Processor.
Why spend electricity and time to read the text in a screenshot, and then more time making sure there are no mistakes. When the sender could have just copied the original text?
Honestly, why are you developing software if you are "confused when it comes to files"?
Your OCR isn't going to help you for the missing off-screenshot clipped parts.
> metadata in screenshots
Interesting idea, but I think this understates how often screenshots are "slightly adversarial". I'm taking a screenshot because the app or webpage has deliberately made it hard to select text for some reason. Or the UI is just annoying about selection (e.g. trying to select the text from a link anchor without being considered as having clicked on it, which is fiddly on Android).
Then there's the question of fully adversarial screenshots. I can definitely see why people want "I want to send this to someone and discourage them from seamlessly resharing it", but at the same time: it's my screen. Not generally a problem on desktops unless you're dealing with video content.
"Hey, got a second for a question about this code?" Sends screenshot with no context.
Don't ask to ask, just ask; and post a link and a line number.
I disagree. I use screenshots all the time, because it:
- Preserves the full 80 character width without line-wrapping, which destroys readability
- Guarantees monospace, so tabular data doesn't get all misaligned
- Preserves a good coding font, so it doesn't come out as some hairline-width Courier on the other end
- Preserves syntax highlighting, very helpful
Obviously if somebody needs a whole file or whole log, then send the whole thing as an attachment. But very often I'll still include a screenshot of the relevant part. With line numbers, it's not difficult to jump to the right part of the attached file.
Screenshots are incredibly useful for keeping code and terminal output looking like code and terminal output, and not getting completely mangled in an e-mail or chat message being read on a mobile device or in a narrow column.
Key things required for posting to the chat: people reading can read it, people reading can copy and paste it, and people searching can actually find it. It doesn't need to exactly match what you might see in a text editor. Anybody wanting to look at the actual text in context won't be doing it in the chat, but will rather be opening the file of interest in the appropriate tool, and examining it that way; anybody stuck reading the text only in the chat is probably on their phone or something and will be best served by being able to easily see all of it.
For reading purposes, the question of screen width is best left to the reader. They will have the window set to their preferred width, possibly limited by screen size. If the text has to wrap, so be it. It's better that than having to try to squint at your 3713x211 screen grab on an iPhone (portrait orientation). Also bear in mind that even the most basic of font and colour choices (large/small font, dark/light mode) can cause accessibility issues for some readers.
For copying and pasting purposes, images suck. Yes, macOS can do it, sort of, and I expect Windows 11 can do it too, probably to about the same extent. But it's not as easy as having the text right there in copyable form.
For searching purposes, ditto - only worse, because at least when you copy and paste and it comes out wrong, you'll notice. When you search: you just won't find the thing. You'll never know.
> people reading can read it
Which is why screenshots help, for the reasons I gave
> people reading can copy and paste it
Why? If there's something like a user ID or error code that the person needs as text, I'll paste that separately. Stuff I include in a screenshot is for understanding, not copying and pasting.
> and people searching can actually find it.
Which is what the message text around the screenshot is for. Which actually includes the relevant keywords, not random tabular data or lines of code which just add noise to search.
> Anybody wanting to look at the actual text in context won't be doing it in the chat, but will rather be opening the file of interest in the appropriate tool, and examining it that way;
Except when they aren't/can't. The whole point of screenshots is for when they can't access something easily that way, which happens for a million different reasons.
> anybody stuck reading the text only in the chat is probably on their phone or something and will be best served by being able to easily see all of it.
Which is what images make far easier to read without being messed up.
> For reading purposes, the question of screen width is best left to the reader. They will have the window set to their preferred width, possibly limited by screen size. If the text has to wrap, so be it.
No it's not. Wrapping destroys indentation and alignment. It's not "so be it", it goes from readable to literally unreadable. I can't change the width of my phone or a lot of viewing areas. I can always scroll an image horizontally though.
> It's better that than having to try to squint at your 3713x211 screen grab on an iPhone (portrait orientation).
Which is why zooming and panning exist. I don't know where you're getting something silly like 3713 pixels though. But if that's the width of some massive table whose layout needs to be preserved, then so be it.
> Which is why zooming and panning exist.
Which loses fidelity in your raster format screenshot world. Alternatively, when text is presented as text, a user can scale it independently for readability. Or as another commenter pointed out, use a screen reader.
You focus on a kind of permissions or network limitation technical access, between the computers in the system, but don't seem to appreciate another very real type of technical access between the user and the leaf computer in the system.
I feel your argument unnecessarily obtuse.
You keep trying to frame that photo is superior, when, sure... The image is superior in your argument only when it's accompanied with text. So is it the image that is important then? No to mention, that is contingent. If that is your point, then, sure, I don't mind, add a screenshot next to the text but, please, give the text.
The main reason the argument doesn't stand up is that some people use screen readers.
Unless you know the person/people you're sending something to can read screenshots, it's only right to at least accompany them with the text.
It's completely obtuse. "I'll include the important bits in a separate text as well, because I already know everything that the other person is going to find important."
All of the points are mostly personal and thus should never be forced on anyone else via a screenshot (as a general rule, though depends on the content)
- no line wrapping destroys readability more since you can't toggle it in a screenshot. Imagine that url on the screenshot taking 3 lines instead of 1 and pushing useful text off screen. Also, forcing 80 on a user of a wider monitor is barbaric.
- And if there is no tabular data (and autoformatted code doesn't do tabular code) you've just lost nice proportional text for nothing
- Syntax highlighting as is commonly used (and as is shown in the blog screenshot) is useless, and is anyway unlikely to match reader's convention
> being read on a mobile device or in a narrow column.
So it can't even be read properly, you have to scroll the screenshot left and right... instead of just reading
> - Preserves the full 80-character width without line-wrapping, which destroys readability
Readability is on the eyes of the final user, they are free to use whatever narrow column width they prefer.
> - Guarantees monospace, so tabular data doesn't get all misaligned
When was the last time a computer shipped without a monospace font? This points at the rare occasion where there's a problem with the setup, but you could also argue that maybe there's a system with a broken image decompressor.
> Screenshots are incredibly useful for keeping code and terminal output looking like code and terminal output, and not getting completely mangled in an e-mail or chat message being read on a mobile device or in a narrow column.
Are you complaining about GMail's rendering maybe? Its awful[^0], but that's more of a GMail problem that could be solved if they wanted.
[^0]: Column width unbounded even on 4k monitors. Weird and inconsistent font sizes across different fonts (monospace is smaller). Reads poorly on phones too.
> Readability is on the eyes of the final user, they are free to use whatever narrow column width they prefer.
For plaintext sure. Not for code or tabular data. It destroys indentation and destroys column alignment and interleaves parts of rows. It's a horrid mess.
> When was the last time a computer shipped without a monospace font?
When was the last time I have to read something in a font I can't control that is forced to be proportional? Oh, constantly. Literally all the time.
> Are you complaining about GMail's rendering maybe?
Yes, and messaging clients, and chat clients, and everything unless it has actual dedicated code blocks that render with a horizontal scroll bar. Which are the exception as opposed to the rule.
> > Readability is on the eyes of the final user, they are free to use whatever narrow column width they prefer.
> For plaintext sure. Not for code or tabular data. It destroys indentation and destroys column alignment and interleaves parts of rows. It's a horrid mess.
I don't think I have seen unaligned html tables, nor unaligned spreadsheets made from CSV/TSV/etc. Images are worse than PDF, so I guess it's 0-stars in the 5-star data tier.
https://5stardata.info/en/
I'm not really sure what you're talking about. PDF...?
I'm talking about tables output in the terminal, in ASCII by SQL or something. By Python's tabulate. Output from a script. Or yes, even HTML tables or spreadsheet cells that get pasted into the message client as plaintext and lose their table formatting.
This isn't about a standard for publicly distributed open datasets, what are you on about? This is about quick messages in a chat or e-mail.
> even HTML tables or spreadsheet cells that get pasted into the message client as plaintext and lose their table formatting.
Sounds like a message client problem to me. You are switching to a worse data exchange format just to get around a very basic implementation of the paste API.
Pictures are a worse exchange format than the data even a PDF or CSV, which is why I mentioned the RDF data exchange tier list, not because I'm on hard drugs.
Is it convenient to send Images on whatever message client you use? Sure, but as a receiver of the data in a picture you can do nothing but type the data yourself (yeah, you can ask for the source too, but on async comm channels that may not arrive in the same day).
> Sounds like a message client problem to me.
Yes, of course it is. That's the entire point.
It's a very needed workaround for most massage clients, since most message clients don't support code blocks with horizontal scroll.
> Sounds like a message client problem to me.
More often than not, you have no control over your client thanks to proprietary protocols and interop-hostile apps. So yes, it's a message client problem, but that fact doesn't change anything.
100% this. I fully disagree with the post - screenshots show context/colour/formatting etc that often doesn't even translate properly if you DO try to paste it into some IM or other "text swapping" application.
Sure, if you want someone to reproduce the text of course you'd send them actual text. But to show a problem, a picture is, as they say, worth 1000 words.
Most of the time if someone is sending me code as text (which is by far preferable to a screenshot) I'm copying it out and pasting it into my own editor.
That way I get a width appropriate for my screen (which may be different from yours), text that's still aligned correctly, and uses the font of my choosing (which may differ from yours), and still has syntax highlighting (using the sizes/colors/styles that I'm accustomed to).
Sending the whole file (or a link to it) works well too but screenshots are absolutely likely to be some level of annoying for anyone who isn't you no matter how helpful you think you're being.
Forcing someone else to view code the way you like seeing it isn't always going to be completely obnoxious for them (although you might be surprised by what some people find acceptable) but it does make it difficult/impossible to view it the way I like seeing it (in addition to losing the ability to search/edit)
This isn't about sending 300 lines of code in a screenshot or something.
This is about, "hey, look at these 6 lines which is where I think the problem might be". It's not for pasting in a separate editor, why would you do that? It's about providing quick context even if you're on your phone.
If you want to go inspect that spot in the file once you're back at your computer then go do that. The screenshot is to save you time because often you can answer just based on it.
On my phone is a great example of why I don't want your screenshot of a desktop-wide code editor.
On my phone is exactly when I do want it, because that's where text linewraps and jumbles and becomes totally unreadable.
You understand you can just screenshot the code part that is 80 characters wide? You don't have to screenshot the entire full-screen window?
But even if someone does include extra width, it takes me about a tenth of a second to pinch-zoom. Which is way quicker than trying to decipher line-wrapped spaghetti.
> But even if someone does include extra width, it takes me about a tenth of a second to pinch-zoom. Which is way quicker than trying to decipher line-wrapped spaghetti.
Strong disagree there. It's far easier to read the line wrapped code than to pinch to zoom. I think you have your answer: you have different preferences than others do, and no amount of explaining is going to make their "I like cats" make sense to your "I like dogs" sensibilities.
> You understand you can just screenshot the code part that is 80 characters wide? You don't have to screenshot the entire full-screen window?
Why are you telling me, the recipient of the crappy text screenshot, how to do it better?
Line-wrapping is also agitating, I'll give you that. Or worse yet, if the sender doesn't know how to use monospaced fonts in whatever app. I prefer a scrolling text box, which is basically a "pre-pinch-to-zoom'ed" screenshot. But with copy and paste and select. Which is even more useful on the phone, because of its limited symbols, so I can pull the relevant part, modify it, and reply.
> I prefer a scrolling text box
So do I. But most clients and message mediums don't have support for that. Many don't even have support for monospace at all. Hence, screenshots to get around those limitations.
I think slack and other mail/chat clients rescale the image and apply aggressive compression on it. Sometimes they even crop the image or make it so that you need to scroll left and right. Also your syntax highlighting might be annoying to others and might make legibility worse for the receiver, and as other people pointed out most chat/mail clients support monospace code blocks. Plus I agree with all the things that the blog post author pointed out.
> or make it so that you need to scroll left and right
That's the point.
If have an ASCII table that is 150 character columns wide, I'm sending you a screenshot so that you can scroll left and right, rather than have everything end up in a jumble of interleaved overflowing lines that turn into unreadable spaghetti.
This is a feature, not a bug. Not everyone is opening the message on a full-width monitor.
My only use of code screenshot is to emulate the "take a look at my screen workflow". It's only meant for the other person to take a quick glance at. Anything further than that is transmitted as a code block or text file.
Yeah. OP has an egocentric bias - it’s not the norm in the world of work sharing that you can faithfully reproduce the live/contextual environment of the sender given the raw string.
(OP’s blog purports to be pertinent to freelance software development).
What about accessibility?
What about it? There simply isn't any information format that's both perfectly accessible and reproduces what you're seeing with perfect fidelity. In the happy path you can make the important parts match, but almost by definition, when someone's reporting an issue it's because what they "should" see and what they are seeing don't align.
There are many accessibility issues with using a screenshot of text instead of text directly:
- displaying a white background image of text when I'm using dark mode;
- using a small font to a user with a visual imparement or on a high DPI display;
- using a colour scheme with low contrast, or colours that are indistinguishable for people with a form of colour blindness;
- using a font that is difficult to read for someone with dislexia;
- etc.
And others have mentioned not being able to search for the text within the image, or select/highlight the text (useful for copying a function name, link, or term in the text, or for keeping track of where you are when reading).
Well, that's not the scenario relevant to the article and not a scenario I encounter much these days. I'm not a designer or a front end dev anymore so I rarely encounter a situation where "perfect fidelity" is relevant to me.
I'm biased, but I can't help but feel like chances are, if the screenshot is text, the content of the text is important, not the visual aspects.
99% of the time I get a screenshot these days, it's people sending me screenshots of text logs or code, and almost always cropped in a way that eliminates any context anyway. Give me plain text or give me death.
> the content of the text is important, not the visual aspects.
Columns actually aligning in columns? Indentation being preserved? Lines not getting interrupted with overflowing previous lines?
When I send a screenshot, it's precisely because the visual aspects do matter. (Obviously, when they don't, then I just send the text.)
It sounds like we agree.
In some cases visuals are important, and in other cases, they're not. Hence why I said "chances are" and declared my bias rather than using absolutist language. However, somewhat ironically, you chopped off that part of my reply. I find it odd you chose to respond the way you did, but I digress.
I also carefully indicated my every day interactions with screenshots do not align with those requirements.
Of course there are situations where visual aspects are critical. I'm not disputing that. I'm stating my _preferences_ and my _opinion_ that situation is exceptional.
> Preserves the full 80 character width without line-wrapping, which destroys readability
How line wrapping interacts with readability is for the reader software to worry about, not the control-freak author. Line length higher than the device width can handle can be even worse for readability than lines wrapped in the wrong places. It's one of the reasons I loathe PDFs.
> Preserves a good coding font, so it doesn't come out as some hairline-width Courier on the other end
If the reader wants to have their code in hairline-width Courier, that's their right. It's not for the control-freak with awful taste in fonts to decide.
> Preserves syntax highlighting, very helpful
Forces a particular style of syntax highlighting upon the reader without giving them an easy recourse to change it. No thanks.
> Guarantees monospace, so tabular data doesn't get all misaligned
The closest thing to a decent argument. Except pretty much any text input that accepts embedded images will usually also provide a monospace formatting option, so there is no need to screenshot text here either.
It also allows drawing on top. I find it convenient to screenshot / take picture of some code / error log / terminal output then circle some bit, draw some arrows, or do other types of drawings to draw attention to things.
Emphasizing bits on code-formatted text is not as straightforward and would typically be ambiguous (was this punctuation meant for emphasis or was it part of the original text?).
Pictures are also quick to make and grasp, which is a plus when having to quickly diagnose something with others.
The main complaint in the article about having to type into a search bar instead of copying and pasting doesn't make sense. It's like a word or two at most which you'd have to search. It might even be faster to type than to copy and paste (moving cursor around, etc.).
The error log complaint would also be valid had it been text instead of a screenshot. That was a problem of not sharing enough context, not the format of the message.
I genuinely thought this was a satire until I read `Preserves syntax highlighting, very helpful`.
```
Is widely supported to add code. E.g. in Slack, Confluence...
Both examples you gave have pretty rough or nonexistent syntax highlighting support.
Who cares? If I really really really need that (I probably won't), I can open up vim, type `:set filetype=whatever`, and paste it in.
Many people care. Hence, the screenshots.
If it is that essential do both.
Uh oh, even Discord has syntax highlighting support with "```".
It's not widely supported. It's not in e-mail or SMS or Gmail or Docs or Word or a hundred other pieces of software where I communicate.
Yes, I use that wherever it exists. It's great, and you're lucky when it's there. I wish it was everywhere. But as long as it's not, for everything else, there's screenshots.
SMS does not support images either, and email supports HTML. I'm not all that familiar with Word, but I believe it supports some formatting options too.
But all of the software you mention has a monospace option.
It's so bad in teams and they put a rather small character limit on it....
Even Google chat can do it.
Slack seems to always wrap code blocks. It makes python particularly shit to read.
In my experience copying from some programs preserves long lines. Copying from other programs breaks them at the wrap point. Once the text is cut into lines, pasting can't fix it. I'm not at my computer now so I can't give factual examples. I guess that copying from the output of cat file on a terminal is one of those unfortunate cases.
If it is that much code attach a file or github link to gist or PR.
I feel like I've seen good solutions to both problems before, aren't there vscode extensions that let you just select the code and create a sharable link with all the view type options to appear everyone?
e.g. https://snippetshare.dev/
I do not care about any of those criteria you mention. I want something I can copy and paste myself. Send me text. Just the text.
Many greatly appreciate receiving an accurate image instead of garbled text.
Except it doesn't use my preferred font, not my don't size, not my colors and I can't copy parts of it as easily and then the stupid chat app scales the image for some reason ot another.
> Preserves a good coding font, so it doesn't come out as some hairline-width Courier on the other end
Let me introduce you to Putty users who never change the default font...
See, imo this is why having a good embedding for code is so important. The best of both worlds is available.
The ability to highlight/copy/etc text on Macs/iOS these days is such a killer feature. I use it almost every day, both for copying/translating text in screenshots or taking photos of text to then copy it into my notes later (eg school notice boards or event posters etc).
Windows built-in snipping tool (shortcut Win + Shift + S) also has a text actions button to extract text.
Or Powertoys does that even better: https://learn.microsoft.com/en-us/windows/powertoys/text-ext...
I am using this tool all the time and I did not know this! Thanks!
I have to say, the ability to quickly copy and paste between macbook and iphone is such a great flow
Totally agree. It’s one of those features that feels like magic. So handy for those digital purchase codes you get with blu-rays.
Yup - I recall when this feature was released, maybe a dozen years ago, with KDEConnect. Real QoL improvement. Glad to hear some other OS's are catching up.
Apple's had Universal Clipboard since 2016 (so 9 years) with macOS Sierra and iOS 10.
Part of what makes it so good is that it's everywhere. Preview, QuickLook, QuickTime Player (yes, videos get OCR'd too!), any app that uses the system frameworks for displaying media.
This includes Safari, where not only do images (inline or otherwise) have selectable text, but the built in translator leverages that text and uses it to translate images, too! This is super useful for translating Japanese webpages in particular, which tend to have tons of text baked into images.
I use Shottr, I take a screenshot of a screenshot and hit “O” immediately after. Saves me from first saving the file to open it in the native viewer
I have Shottr keyboard shortcut (cmd+opt+control+o) setup to allow me to OCR from whatever is on the screen and copy the text to clipboard. So whether someone shares code or error log as screenshot on slack, it’s 3 steps: 1. cmd+opt+control+o 2. select the area to OCR 3. cmd+v in vscode or google
this. makes me wish more image viewers would ocr->png special field->have location-attached selectable text like a pdf
OneNote had this for a long time.
Aside from copying text from images, OneNote can also make text in images searchable.
Spotlight, notes, and Photos also look at photos and return them in search result. Even going further where you can give a description and find it as well.
Screenshots of text! Luxury! In my day, the screenshots were embedded in a Word document too.
But I can't be the only one appalled at the suggestion to use an LLM to parse the text. The sheer, prodigious waste of computing power, just to round-trip text to an image and back to text, when what's really missing is a computer user interface that makes it as simple to send text or other snippets as it is to send screenshots.
I knew an enterprise where Word documents were used as "folders" for Word documents. The "top" document would have a collection of files pasted in to them (the actual file objects, not just the file content).
It can get worse. People use their phones to send a literal photo of their screen. This happens almost daily in one of the programming discords I'm member of and it drives me crazy, these are supposed to be (future) programmers and they don't even know how to make a proper screenshot??
Obligatory XKCD:
https://xkcd.com/2116/
This is rule 7 of 10 in my post 'How to Ask for help in Slack'[1]
1. I have ‘rubber duck debugged’ my own question.
2. I checked that this question hasn’t been asked before.
3. I have noted in my message what I’ve tried.
4. I have avoided the ‘XY problem’ by clearly detailing the core problem, X.
5. I have provided specifics of my issue, not vague references or descriptions.
6. I have provided URL links to relevant content, and where possible the URL links are immutable.
7. I have not included screenshots of text in my message.
8. I have not used obscure acronyms or abbreviations.
9. I have formatted my message well, particularly paying attention to code formatting and headings.
10. I have not just said “hi” and waited for a reply.
Like other posters, I don't think Apple OCR is sufficient to make up for screenshotting. The biggest problem is search.
1. https://thundergolfer.com/communication/slack/2021/02/24/how...
> Like other posters, I don't think Apple OCR is sufficient to make up for screenshotting. The biggest problem is search.
Both Spotlight and Photos will find text in screenshots.
I don't think Slack does, nor Github, which is where I most find screenshotting being a problem.
My preference -- Link or attachment to the full document or code in context (if needed) ... along with screenshot of a relevant portion. (Many times the former is optional because there is enough context already.)
It is extra work to do both but I like to be through even when asking for help. Even if the other side doesn't need it -- because I myself might not remember all the nuances when I refer to that conversation later.
Also screenshot preserves (before any fixes) the exact way things looked when I confronted a certain situation. The visual of the screenshot serves as a much stronger reminder of that situation and my thinking ...way better than mere copy pasted text.
Pretty much every new programmer I’ve ever hired has done this in their first few weeks. Every time I have to tell them why it’s so unhelpful to share screenshots of text instead of just pasting the text. Usually they learn. When they don’t I usually end up firing them, not for that reason but for others.
The reason I personally hate it is I am often working from my phone. And it’s much easier to read text rendered properly than pinch zooming text in an image. What’s worse is slack will downgrade images for mobile and you can’t even pinch zoom in fully.
Thing is, screenshots are fast, and the same technique works across every app. If you work in a field where you might be filing trouble reports from web app A, native app B, website C,... its just easier to use the same technique across the board. Win+S or CMD Shift 4, and move on with your life.
Not nice for the recipient maybe, but hella efficient for everyone else, and there are many more people in the latter camp than the former.
I mostly see this in Teams, and I can't really blame the sender because Teams' support for code blocks is so horrible.
OP here. My current team uses MS Teams. I've been teaching my colleagues how to create code blocks in Teams (basically, teaching them Markdown). It's there, but it's not readily discoverable.
Teams has really poor code block compared to slack or any other tool. You can feel the arrogance of the Microsoft PM each time you paste code or paste text that randomly render as html. Somehow, slack still has a better text input compared to teams.
When I see a text screenshot in Teams, it's typically a snippet of a conversation in a different Teams chat.
On my Linux system, I hooked up xfce4-screenshooter's "custom action" to a shell script (ocr.sh %f) with tesseract like so:
It works great most of the time along with the xfce4-screenshooter's ability to select a rectangle.When the text is especially difficult for tesseract, I can use Gemma3-4B via llama.cpp's llama-mtmd-cli, but that takes a minute.
https://0x0.st/K9hq.png
I find the argument a bit weak. The actual problem is not the screenshot but the lack of information. Even if you got the "C:\Users\Paul\whatever\whatever" text pasted in your inbox, what would you do with it? Also, are you manipulating these text? If I'm asked to find a bug in some code, looking at it is all I can really do. (Okay maybe you want to compile it or run it, that's fair)
Saving this for later: https://imgur.com/a/4sLznnY
OP here... this is priceless! True performance art. Well done.
Don’t even get me started. A colleague of mine made me screenshot a .env on a video call “for security” and I spent 30 min correcting OCR on it until it worked
This article is a specific case of a more general piece of advice: ask questions well (provide context like clickable links, trim down your query to the minimal reproducible case, pose high-precision questions, etc.).
Qwen3-VL-8B is quite amazing and has made translating screenshots of text so much easier via LM Studio. Does have some issues and edge cases, but being able to take a screenshot of text or some website doesn't have copyable text, thats a solvable issue for less than 16GBs of VRAM or unified memory.
For those of you running Windows, OneNote will allow you to text from images pretty easily.
My response is usually “need context”. No shame in making them fill in the gaps they created in the first place
Nothing against screenshots unless they are lacking context
Agreed. Sometimes context comes from more screen, not less. I receive a lot of cropped screenshots that show the “problem” but hide the surrounding context, and they often exclude things that would make a solution immediately clear from a shot of the full application window.
Definitely true although my motive is more based on a principle of “don’t let people send me on a fishing trip”. I’m glad to help but people need to learn the proper way of asking without completely inconveniencing the other person
Couldn't agree more, if posting on coding sites/forums, they usually have code highlighting.
However, a screenshot acts like a print-out / pdf, and very handy for sharing in other platforms e.g social media, mobile devices.
Like many others I like the use of ai for OCR in imagery. Won't be long before ai tool can copy the style + content from an image, or video.
> I receive a lot of screenshots like this from well-meaning colleagues:
That says all you need to know. The reason they send those screenshots is they believe the full context is more helpful. Code formatting, indentation etc.
Personally I agree with that sentiment. There is a lot of context in the full visual of the original text in situ.
I’m have a growing collection of photos of handwritten notes that are texted to me to address. As irritating as that is, it’s better than the thing that happens in universities, where people email you PowerPoint files with the content being the text that should have been in the email.
Maybe I should put the photos of notes into a PowerPoint?
Note that Mathpix Snip can quickly convert such screen shots to markdown code via keyboard shortcut. Disclaimer: I’m the founder.
I just want to offer a counter ti the comments that, I really don't mind!
If it's some new greenfield project, I definitely want a script rather than a screenshot, but if you're saying "i think this line is the issue", "here's my error stack" or "what if we added something here?" then I'll happily recieve screenshots if it's easier for you!
(just please, please, semd me something and not just "there's am issue with x because it is throwing me an error")
Agreed! The one that I really don't like is that social platforms promote / prefer screenshots of text. Search engines promote sites that link to themselves. All the good parts of URLs are missing. How often I see something interesting, just to realize it's a screenshot and I have to go dig around myself figuring out where it came from.
This is essentially a solved problem. Whenever someone sends me a screenshot that contains any text information (tables, etc), I pass it to an LLM and it correctly interprets the content of it. On modern versions of macOS you can just select text in images relatively painlessly, too.
Linux desktop users will get there one day.
Or just ask people not to send you data in useless formats. That way you don't have to burn an acre of trees to power it and you help someone be less difficult.
I'm sure they will send you well written, accurate documentation if you ask, too...
I'm absolutely sure they won't if you don't.
As described in the article, it isn't just text being image but that, usually, the image is only a subset of the entire text. Yes, OCR can help find the file containing a code segment in your local codebase but issues such as, mentioned in the article, sending a random error line rather the entire log remain.
Claude on Linux does it fine, so does cursor, codex, claude code, ollama etc. Not that I would use any of these for this; if someone sends me screenshot, it is relevant for me so I know where to find what is in it quite readily if needed at all.
Another way it's solved is that clipboards work on text too.
This poor man is in a losing battle with modern computing.
Screenshots preserve exactly what the user sees, and for this reason i believe they are the best format for evidence. They also preserve their look when your messaging software starts doing funny things with it. They are immune to accidental edits. They are reliable in the sense that if the original source ever changed, no one would argue that you didnt see what you saw with a screenshot. They wont degrade when the content of a url changes.
We do use screenshots extensively, but alongside links and copied text when necessary
I don't know if it has been mentioned already, but powertoys for windows has a text extraction tool/shortcut. It also supports multiple languages.
https://learn.microsoft.com/en-us/windows/powertoys/
https://learn.microsoft.com/en-us/windows/powertoys/text-ext...
We use Slack and GitHub, so it's trivial to send formatted text or a file/line link and I basically never have to deal with screenshots of text. I guess this is just a nice reminder for me to be grateful.
OMG me too. I know we aren't supposed to add low quality comments like that, but I have actually been waiting my whole life for someone else to say this!
I agree that screenshots of text that are cut off from essential context are enough to make me pull my hair out, it creates so much extra work— but the modern feature of automatic text recognition in screenshots and images that allows for copy and paste has been incredible. Along with indexing that allows it to be searched, regular screenshots have become one of the most robust and future proof ways for me to preserve context from my workspace. When I look back into archived screenshots it helps me to recapture all kinds of things that I wouldn’t have thought to explicitly record.
Just use something like NormCap ( https://dynobo.github.io/normcap/ ), an "OCR-powered screenshot tool to capture text instead of images".
Often, the screenshot of the code is exactly what I need, because it shows code syntax highlighted and I don't need to copy and paste it in the editor.
When I get these, there's usually enough context that I can find the actual text.
That being said, I've had to twist some arms in a previous job for new employees attaching screenshots of a log viewer instead of the whole logs. The big problem was training: Once I made it very clear to the entire team that unedited logs were critical to solving problems, management made sure that all newcomers knew how to attach unedited logs.
It seems there's great OCR available on Apple platforms, but to me it seems that we are giving ourselves a problem by properly attaching metadata where necessary.
I honestly thought this was going to be solved in the 2010s with the rise of comic-like memes, but we just kept sharing images with ever increasing compression artifacts as things were shared around and used to create new memes.
I see so many people struggle with providing context of what they're asking. It's easy to forget that other person is not sitting in your head.
What I usually do to share code, is send a link to GitHub or whatever VCS portal we are using. Of course, this doesn't work with local, new code, but that's why we also use liberally draft pull requests to share unfinished code.
This is why I send both a screenshot for easy conveyance of syntax highlighting and such, and a link to the code.
Some people are too proud for their own good about their aesthetic choices in editor colors, typography and fonts.
I do enjoy seeing what themes others are using.
I’m one of the people sending these screenshots, and glad to receive them. It helps jog my memory to see a screenshot from the original context, with syntax highlighting or especially log output from our besoke logging system for firmware. It’s very hard to read without the colors!
> It’s very hard to read without the colors!
Many up-to-date messaging environments allow you to copy & paste text directly from your coding environment with indentation and syntax coloring intact. This is something the sender can establish before hitting "Send".
Also, the sender has the option to attaching the source file, which if entered into a coding environment will recreate the syntax colors.
If you don't want screenshots of text, say: "hey, could you send me that as text instead?"
I secretly enjoyed the lectures out people would get on StackOverflow when they did this.
OP needs to relax
Why though? This is a common problem which only requires one thing: empathy/politeness from the screenshot sender. They ask your for your help and attention, but they can't be bothered to not to waste your time. I think it's fair to point out that this is bad workplace behavior
Except as I pointed out in another comment, there are many reasons why screenshots are superior and don't get messed up the way plain text does.
I'm shocked to discover so many people hate screenshots, because I hate getting misaligned line-wrapped text that destroys readability. But now I can understand people have different preferences.
It's not bad workplace behavior, and it's not a lack of empathy or politeness. It just seems to be different preferences is all.
They don't care about your problems. They care about their problems.
OP needs to stop helping people who send screenshots until they don't
It's not always easy to copy text out of tmux or a VM. Screenshots are easy to create and it's not as hard as you make it sound to type a name into the search bar in the IDE...
I had a guy send me a screenshot instead of code snippet because our company slack was rejecting the message due to sensitive information...
what we need is a "rich text box" file format, classed as an image for embedding purposes and supported everywhere images are, but formattable and selectable text internally. would solve the issue of people using images of text on various social media sites too.
This is a lost cause, one of many that modern GUIs are responsible for. Just suck it up and deal with it because users are not going to stop sending you screenshots.
I think that Slack may be partially responsible for that.
If I copy code from PyCharm or VS Code and paste it into fucking Microsoft Word, even spawn-of-Satan-MS-Word-for-Mac respects most of my formatting. Plenty of web text editors are also able to do that.
But Slack, "The King of Useless Features Nobody Asked For", can't bother themselves to implement such a useful feature for their primary market.
Code block is easy enough to create with ```. I've never have any issue with that.
Not the same, it is not just paste and forget, if you want syntax highlighting need to add a snippet.
On Microsoft Teams, I will use alt-prtscn to share an image of a terminal.
I am hyper-sensitive to emailing terminal screenshots in MS Outlook, as they cannot be searched.
> I have to either very carefully type some of the code into a search box or (these days) get my coding agent to find the relevant module for me.
What about just asking them what file that is?
This made me chuckle multiple times. Strong agree, Paul.
This has happened to me so many times...
Preview on Mac does automatic OCR. I'm sure other tools exist that are similarly friction-free on other platforms, but it took me under 5 seconds (drag the image from the webpage into my downloads folder, click on it, and then select the relevant snippet and CMD+C to copy it).
I imagine I'd have similar frustrations if I couldn't copy-paste the text easily though!
> or (these days) get my coding agent to find the relevant module for me
????? Just OCR a line and paste it into the IDE’s search field???? Or, if for some baffling reason you don’t have the ability to OCR, just pick out a function declaration in the screenshot and search for that? We’re so doomed as a profession.
Tell that to my father! he seems obsessed with taking screenshots.
we need a way to make screenshot while make text copy-pastable.
SVG maybe?
gtk-vector-screenshot (<https://github.com/nomeata/gtk-vector-screenshot>) will do this, but for GTK apps only. It relies on a custom protocol layered on top of X Window, and I think traverses the tree of GTK widgets to create a vector representation. For a general screenshot program to work, I imagine it would need some sort of hook into every GUI framework used on your system.
Please send screenshots. Also include links to the actual source where you got it, or if you can't sure, also share the text. But a screenshot is a perfect starting point as I may not always be in a position to follow a URL or deal with text that some chat program is having difficulty formating properly, and a screnshot can go a long way if I see what I need to see.
Screenshots are fine. Just don't ONLY send screenshots.
Stack trace or GTFO
Worse still, I loathe screenshots of text on a website. Please make text is text so it works with a screen reader, can cut and paste etc.
Less of it about now but used for multilingual websites for the secondary language, particularly if non-latin alphabet. Will no-one think of Unicode!
I personally hate screenshots of kernel panics. Or anything else where you might be dealing with 64-bit hex addresses like "0xffffffff81b7ed80" Typing that from a picture is infinitely more error prone than just cut/paste.
What if the kernel panic happens at boot time so you never get to access its dump?
the whole post is entirely missing the point. screenshots do have its merit for reasons already mentioned here. beyond that the optimal method would be a link to the line or section into the respective source control system.
> I have to either very carefully type some of the code into a search box or (these days) get my coding agent to find the relevant module for me.
Your coding agent is not very smart if it can't deal with something as simple as OCR'ing an image and processing all the references in it, or letting you just select text from an image and searching or copying to the clipboard.
"what did you do to make this appear, and what were you expecting to happen?"
just a dumb sales guy - but I assumed when people were asking about code they would always copy paste it.
... Is this really common?
> ... Is this really common?
Only among people who don't code. A non-coder doesn't know the difference between a block of code, and a picture of a block of code.
A woman visits the studio of a famous artist. She says, "That woman is all distorted!" The artist replies, "Madam, that is not a woman, that is a picture of a woman."
Sadly, I wrote this article about people who are coders, whom I would expect to know that I would prefer the text rather than a screenshot.
> ...I wrote this article about people who are coders ...
Maybe vibe coders. :) People who have never been in the opposite predicament.
This is astonishing. A screenshot is not only the least useful representation of a subject under discussion, it also requires more bandwidth than text.
I see two possible reasons for this -- the sender has no technical experience, or they're focused on making things more difficult for the recipient.
But when trying to decide between these two, I'm reminded of the saying, "Never attribute to malice that which can be adequately explained by stupidity."
This actually happened. A client wrote me, saying, "First, don't treat me like an idiot -- I have years of computer experience."
"Okay, I promise," I replied. "What's the problem?"
"Your program doesn't work."
"Can you be more specific?"
"I followed your instructions to the letter, but I see an error message."
"Okay, what is the error message?"
"It says, 'User [Enter your name here] is not found'."
I always thought a screenshot of code was just an iPeople flex. Like, "look at my code, framed in this glassy macOS window with a $29.99 drop shadow." Kinda like how Nix or Arch users can't resist mentioning they use Nix or Arch. (btw i use arch)