Live data from Hacker News

Speak English to me: The secret world of programmers

github.com

281–290 of 334 posts

Re: Speak English to me: The secret world of programmers

#281
post #272
post #226

Earlier quoted context omitted.

> except, it IS easy to learn actually. it's visual, you can click around and find out. That's not easy at all. I am an actual Excel 2007+ virgin. I switched to OpenOffice (there was no Libreoffice yet; Oracle had not yet bought Sun) before high school. Before I finished university, I abandoned all traditional office tools in favor of open-source tools that use entirely different paradigms from Microsoft Office, e.g.…

Complicated tools are hard to learn. There's no general fix to this. The only way to make complicated tools easier to learn is to watch a bunch of different people try to learn them and tweak little details based on what you see. In Excel 2003, Microsoft had 20 years of doing this. When they moved to the "ribbon" in 2007, they threw a lot of that learning away. So you're right that the ribbon makes Excel harder to le…

> Think of the difference between walking into a restaurant and having the waiter hand you a big menu with lots of pictures.

The useful part of the menu is the text! Especially if I'm somewhere with novel or unfamiliar food, there's no way I can guess what actually went into a cooked dish or what its texture is like by looking at pictures of it. But all of that I can infer from a reasonable description of the dish given in terms of its ingredients and how it is cooked.

But if the waiter asks 'what do you want', that is indeed an offer for them to search on my behalf much more efficiently than I could do visually through a menu! I'm free to say 'something savory and salty' and see what they offer me, or ask 'what chicken dishes do you have?', or 'I need something light, because I'm not very hungry'.

Even in the example you chose, visually scanning a menu is less efficient and more restrictive!

> how it feels for new users to be presented with "> _".

Of course a shell prompt is not self-explanatory, because you have to learn the commands for asking about other commands.

But there's also no reason that accessing the command line for the very first time has to mean being dropped at a blank prompt with no instructions. That's completely inessential to the paradigm, and it's unfortunate that this is such a common default.

> Typing which words!? You're already assuming the user has a pretty strong understanding of the software if they know which words to search for. This is not a fair comparison with opening a brand new GUI for the first time.

Sure it is. I do this with commands I've never used or use very rarely all the time. In the worst case you try a few synonyms and words for related concepts and find what you're looking that way.

You're also not making a 1:1 comparison here. One may need some basic instruction on the command line environment itself, e.g., how to search for and open documentation at the command line. But that is not part of the process of learning to use a new command line application. You're comparing the cost of learning a single application to the cost of learning an entire paradigm and environment.

> But I reject the idea that visual GUIs are inherently more difficult to learn than non-visual interfaces; everything we've ever seen in the history of software suggests the opposite.

What volume of research has ever even investigated command line usability and how it can be improved? Where has that research been applied? How much of it focuses on applications/domains which are comparable in complexity to an absolute behemoth like Excel?

Consider the part of this discussion that has focused on developers who are hesitant to use the command line. Is there seriously any reason that a text-driven environment navigated non-spatially, through search/filtering, should be any harder to use than an IDE, like those same developers use every day?

----

I also wanna be clear that I'm not saying that Excel's non-obviousness is a fatal flaw, or that people who are effective with it should switch to something else. Excel is actually an impressive, capable piece of software.

I'm also not saying that most command line environments as they exist do a good job of being easy to jump into. They generally don't! I think the command line has long been largely neglected in terms of UX, and it shows.

But the way CLI environments lend themselves to searching, filtering, composition, and reusing old actions but slightly modifying them also make searching for, picking up, and using new command line programs really smooth and fast in a way that I think most of us don't give enough credit.

Re: Speak English to me: The secret world of programmers

#282

Earlier quoted context omitted.

One additional point: since Excel packages the code with the data, when somebody sends me a spreadsheet with functionality I've never seen before it's extremely easy to figure out what they did and learn on the job. This is also why Jupyter notebooks are so powerful. If instead of Excel they run a bunch of scripts and just send me the output, I am left much less empowered.

> when somebody sends me a spreadsheet with functionality I've never seen before it's extremely easy to figure out what they did a You must have encountered only very simple spreadsheets. I've had to reverse engineer a number of technical spreadsheets that took days of full time sweated effort to merely understand the principles and more days again to extract the methods accurately enough so that they could be reimpl…

When you've done that, is it all of a sudden super-simple? You've had to incorporate all the same complexity into your model. If you sent it back to a spreadsheet user, don't you think they would say the same thing, just backwards?: "I had to reverse engineer a number of technical data processes in R that took days merely to understand the principles..."

Re: Speak English to me: The secret world of programmers

#283

Earlier quoted context omitted.

> That's one of the first principles of UX. And yet, in the world of GUIs, discoverability is getting increasingly rare. I don't think it's prioritized at all anymore.

I've always used Android phones, but my company recently stopped supporting them and told me they have to issue me a new phone - this time an iPhone. And I'm utterly lost. At one time, Apple was said to be the high priests of user experience, with intuitive interactions that would just work the way you expect. This seems to have fallen by the wayside, pushed out by making it more sophisticated I suppose. Because thin…

Double tap the home button and it brings up the app selection screen. Took me an embarrassingly long time to figure that out some years back.

Re: Speak English to me: The secret world of programmers

#284

Earlier quoted context omitted.

> That's one of the first principles of UX. And yet, in the world of GUIs, discoverability is getting increasingly rare. I don't think it's prioritized at all anymore.

I've always used Android phones, but my company recently stopped supporting them and told me they have to issue me a new phone - this time an iPhone. And I'm utterly lost. At one time, Apple was said to be the high priests of user experience, with intuitive interactions that would just work the way you expect. This seems to have fallen by the wayside, pushed out by making it more sophisticated I suppose. Because thin…

Yeah, I had to use an iPhone for a while, and found it incredibly frustrating to figure out how to do pretty much anything. Everything I wanted to do involved a whole bunch of blind searching.

I don't think it's the iPhone's fault. I think it's because I am used to Android.

Both Android and iPhone are very unintuitive and lack discoverability. You learn how to use them with experience.

Re: Speak English to me: The secret world of programmers

#285

Earlier quoted context omitted.

I feel like there's a fundamental understanding of man-pages that we are just missing. I find myself in the same boat quite often.

man pages started out as a problem. If you don't already know a lot of foundational stuff, it's very difficult to bootstrap yourself with it. There are so many things that say something like "see man fizzlewizzle (3)" or something. I've been a developer for nearly 40 years (mostly in Windows, barely dabbling in linux) and I've yet to figure out what the heck that number means, or how I might predict what the correct…

"man man" explains the section numbers.

Re: Speak English to me: The secret world of programmers

#286

I wrote an essay once that was nominally about using Pysimplegui to get folks to use your software, but is really about understanding ways to make your software accessible to people without your level of coding ability: https://cushychicken.github.io/python-guis-for-heretics/ Might find it interesting.

Hey thanks, this is great. I have a simple py script I am trying to deploy to small team that does some web scraping and slicing/dicing of data from internal repositories. I had been starting to learn PyQT but it was really overkill for what I needed to do, which was a simple menu of options and input/output file selection. A lot of HN devs don't realize this truth about working in industries that have not historical…

Can't recommend PysimpleGUI highly enough for this use case.

Hope it suits your needs!

Re: Speak English to me: The secret world of programmers

#287
The one thing I wish people would get over is their fear of the terminal. This isn't to suggest that they should use it, never mind embrace it, but they should not have an adverse reaction when someone gives them specific insructions to type in a command then copy+paste the results while providing technical support. Such insructions tend to be much more accurate than sending people on a GUI scavenger hunt, particularly when you consider that GUIs tend to vary in time.

Alas, as the article states, it is as though you are speaking a different and very intimidating language to non-technical users so the end result is nowhere near as positive as it should be.

Re: Speak English to me: The secret world of programmers

#288

I find a version of this even with fresh out of college programmers. They just know how to type Java on an IDE, maybe some SQL (using some graphical front end), some HTML/CSS. They can't operate in a Linux dev environment at all, can't use the command line or exit vi or perform any kind of simple shell based automation or use git without a plugin for their IDE. And they also are reluctant to learn because they are se…

I know plenty of fresh out of college developers that absolutely DO NOT FIT that profile. They are very proficient with shell and linux, hate IDE, are curious about all sorts of technology because they are always finding better ways to do things and aren't dogmatic when it comes to language paradigm.

Your problem might be where you get your fresh out of college developers, you may get them from prestigious universities, but it says absolutely nothing about whether they actually love programming or not, or they are just in programming because of the promise of a fat paycheck.

Re: Speak English to me: The secret world of programmers

#289
post #124

Earlier quoted context omitted.

Windows does that, and its regular users barely visit Control Panel, not to mention .msc-s and other system menus, e.g. Security or Sharing tab. When something breaks or they have an idea that isn’t in a nearby menu, they call a nearby programmer for help. Your sentiment is agreeable, but we are still unable make interfaces you want. There probably even is a button or a sequence of ui actions in your system for half…

> When something breaks or they have an idea that isn’t in a nearby menu, they call a nearby programmer for help. No they don't. Normal people don't have programmers on call. They google the error message and do whatever the classiest-looking page they find tells them to do, which usually starts with opening the Control Panel. Honestly, the same thing that programmers do when they hit something they don't understand,…

For a loose definition of "programmers", sure they do. Maybe it's a sysadmin, maybe it's a teen who writes/ builds game mods, but IME most normal folks have someone at work or someone in their family they can ask/ harass, and they'll do this before they'll start typing error messages into a web search.

Folks will come and ask for help but then you have to tease out of them what the problem was. The entire idea of "I got this error; I will look up this error" is _foreign_ to most normal folks. It is grand when they came with an error message in hand.

But even when someone has an error message, they often turn their brain off: I worked with a developer who would send screenshots of a text error rather than just copy and paste it, which would force one of us to retype what he wrote into a web search.

Re: Speak English to me: The secret world of programmers

#290

> "First off," I reply, "No. And second off, This is a super condescending thing to say. Let's say you're a lawyer telling a client why you can't do something. The language you're using is pretty harsh. > Maybe I just need to have a little more empathy (or is it sympathy?) for normal people. You are also a "normal person" I don't understand why developers sometimes think they are gods or something. > Can you help wit…

This was literally my whole point.

If you think my attitude is condescending in the scenarios presented, then you properly understood what I was trying to express in the last section.

I didn't want to write it in a way that's specifically attacking the (likely technical) reader, so I put the focus on "me"

Post reply on HN