Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Somewhere between 2010 and 2012 when doing small business IT support, for a client, I spent some time installing 1-2-3 on an old, mostly disused machine in a corner of their office, then connecting to the machine via LogMeIn on an iPad (I think DosBOX because it better supported something on LogMeIn, I honestly don't remember why not CMD.EXE) so that this customer, a medium sized construction sub-contractor, could continue to use the 1-2-3 based estimation spreadsheet that had been developed in the early (yes, early, it might have been converted from visicalc) 80s. I offered to instead convert it to Excel since it wasn't really that complicated, but the response was basically "That's probably better, but I've been doing this since the 70s and I'm going to retire soon, I don't want to learn more new things that I don't care about instead of getting jobs done as fast as possible."

It's not that 1-2-3 or a TUI was better, but that if you know it and you don't care about it, you care about it.

Worse is better.

And so it goes with apologies to Mr. Richard Gabriel, but that experience helped me more deeply understand what software should do is do important things for people, not do things better.



This just reminds me something I bring up to my development team. The point of software is to serve humans, to make their lives better. You should avoid spending time solving problems created by yourself, the programmer.

I think about this a lot when I see UI redesigns that "look fresh" or "updated" while actually reducing productivity and degrading the life of the humans who need computers to get stuff done. All for some vague concept from the head of a "visionary" who often doesn't use the system to solve the problems it is meant to solve.


Facebook flew me over from Australia to interview a decade or so ago, back when they seemed untouchable as a product. I told one of my housemates that I was interviewing with them and she fired up, angrily telling me that I needed to go over there and tell them to stop changing things. Her experience of using Facebook was basically that she’d just figure out where the button for something was, and then they would redesign it for seemingly no reason and she couldn’t find anything again. I asked her a bunch of questions (since this is great stuff to talk about in interviews). I hadn’t appreciated how upsetting redesigns are to people who just want to use the software.

But you also need to make your software good for you as a programmer too. As programmers we’re like builders. What we build today becomes our workspace tomorrow. Leaving a codebase neat and tidy makes it easier to spot bugs and make changes down the road. You can overdo it, but spending 20 minutes adding unit tests today could save you a week of debugging 6 months down the line.


The tech industry seems to have a very severe, very deep, very wide disconnect with common men about what exactly computers and the software that run on them are.

Ask a techie and they'll probably say it's something to be maintained and updated, to be replaced on a given lifecycle because new things demand it, that it's an achievement of technology or something. A computer to the tech industry is the end to a means.

Ask a common man and they'll probably say it's a tool to get stuff done. That 'puter in the corner working happily for the past 50 years? It's great, gets the work done and puts food on the table at night like any other tool (also 50 years old) on their 50 years old workbench. A computer to common men is a means to an end.

I hope some day the tech industry comes to terms with this disconnect. The users would absolutely be better off for it.


Microsoft seems suicidally determined to ruin the office experience for users especially Outlook with the fisher price toy design that is popular now.


This isn't just a tech thing. People redo their kitchens and bathrooms every so often because they start looking dated.


Kitchen and bathroom are physical things and do deteriorate with time and use. Software not so much


Even brand new kitchens get replaced if new owners don't like the style. Just like perfectly painted walls get repainted in different colors all the time or like some people move around furniture to get a "new room feeling".

Also I would say software may not deteriorate on its own, but in the context of other software/technologies moving forward it does deteriorate. For example many old games kind of have deteriorated because they don't easily run on modern OS any more.


I think the point here is that nobody puts their kitchen sink inside a cupboard and installs their oven-stove upside down in the name of innovation and challenge during a remodeling.


Tech debt isn't real. It can't hurt you. /s


My biggest frustration with a lot of modern software is this habit of presenting model feedback requests, “how likely are you to recommend to a friend?”, new feature tours, etc. If I’m using the product it’s because I need to get crap done, and this stuff just gets in the way of work. Leave me alone and let me work. I’ve been the guy who submits feedback of “stop asking me for feedback”, but evidently it’s not valuable feedback.


I alternate between "I don't go around recommending X to people. I'm not a weirdo" and "My feedback is that asking for feedback will generate bad feedback (and also stop asking)."


> I think about this a lot when I see UI redesigns that "look fresh" or "updated" while actually reducing productivity and degrading the life of the humans

This ^^^ it totally annoys me having to relearn programs when I'm faster with 16bit versions from the early 00's.


I’m not sure that’s the best takeaway, but maybe. It resonates with my experience with folks who near retirement and are on a glide path out - they know what they know, understand it will get them over the finish line, and aren’t interested in learning new tooling.

It has nothing to do with software design decisions and everything to do with a cost/benefit equation in the mind of someone with one foot out the door. I’ve seen this with senior DBA’s and CEOs alike. They are not objectively good judges of “what works” for anyone except themselves because of this huge conflict of interest.

I sincerely believe you see the same thing with the elderly at a certain point - I’ve known a few people that after like 85 have zero interest and feel zero compulsion to “stay on top of” new ways of doing things, whether it’s software, vehicles, whatever. They’ve got enough skills to make it out and why trouble yourself with stuff that doesn’t matter?

I understand it, but am not sure it’s wise for a retiree. For instance, Excel may come in handy for that guy doing budget planning or contracting gigs later.

Add to that, the further behind you slide with technology, the harder it is to catch back up. You miss out on integrating the models, paradigms, and affordances, and a couple gens of compounding evolution happen without you and the learning curve becomes much steeper than it needs to be. It’s like keeping your house clean by doing little bits frequently rather than massive efforts rarely.


If that is the takeaway you got from my comment, I am sorry for bad phrasing on my side. I was trying to short, pith, koan-like. Can I try again?

Almost no one want to use the tool. They want to use the tool to do the thing they want to do. For example, it is rare that someone would buy a piece of wood just so they could cut with their new saw. They might decide to make a table so they can cut with their new saw, but they are not going to use a tool to use a tool, it has to provide clear value to them. In this case, for this person, they were willing to learn new technologies (as I think evidenced by using DosBOX on an iPad in 2012, though I didn’t say that in the original comment, this was a very very clunky system then. I think they didn’t use an external keyboard) but not for the thing that was on their critical path, if there was not a clear improvement in outcome.

I didn’t provide a clear improvement in outcome, I just provided a better tool. After this person had been doing their job for as long as they had, using the tool they had, investing in a better tool for that job didn’t make sense. They also knew whoever came after them would probably not want to use their tool there, so why change it?

Put yet another way (since I didn’t do a great job the first time, I’ll try again), nobody wants to use business software. I have written line-of-business, not consumer, software most of my career. Even now, where I work and we have a solidly engineered, designed, custom CRM/glue software that was been improving since the late 90s that really fits the business well, no one goes into work in the morning thinking, ‘yay, I get to use our CRM today!’ And definitely no one thinks, ‘yay, I get to use JIRA and SAP today!’ They may think, if they even think about our software at all, ‘hey, this doesn’t stink’ but a recently I found out someone was exporting a table of data to Excel and then spending 4-8 hours a week creating a report, and I was able to turn that into the press of a couple buttons and picking a few values in a day, and now they get to do more of the things that bring our company value and make their job more interesting and they love that they get to use my software to do it. They don’t care that I used a mini Vue app with an AJAX call to create the interface instead of our older form/POST paradigm, they care about what the tool let them do.

That’s the value that I see computer systems, when thought about and executed well, providing to users everywhere. Not doing tasks better, but doing the right tasks, for the right people, at the right time.

To extend this yet another way, and hopefully establish my point firmly, I was thinking of the above situation as a win-win. I got to say just use Excel, they got to use a modern piece of software, what would be better? In the same way, the guys in my company’s IT Operations group see saying that the new hotel desks in the office are all double 24 in monitor setups. I do not really like using double monitors, I prefer one large monitor, like the 32in that is still kicking at the office from the pre-COVID times. I asked them to just give me one flex desk that had the large monitor, that I could use when I came in, we already have the monitor, please! But they feel like it would generate more tickets, and they are already overworked(and they are!) so no single monitor for me. They see it as win-win, they reduce their ticket burden, have more time for other things our manufacturing conglomerate needs, most people like dual monitors, so overall win-win. But I don’t like it and now my weekly trip into the office is a little less comfortable because my ergonomics are wrong, my muscle memory for where my windows are is wrong, and yes I can learn new things but the tools are made for man, not man for the tools.

I know that was long, hopefully that helped clarify my comments.


I once spent a summer upgrading my company's flagship app from VB6 to VB.Net. The performance of the .Net version was so bad we ended up throwing it away. I learned the hard way newer is not automatically better.


Curious. Do you know if it was because of the .NET overhead, or because the fresh implementation didn't have all the edge case optimisations of the previous one?


The app was analyzing all the pixels in a live image and overlaying data on it. Accessing the data from the camera was slower with .Net, I think more mem copies working with buffers and by arrays. This was long before any span<> memory<> functionality. Iterating the pixels was way slower, don't remember why but you have to remember vb6 has no garbage collector, and no VM/byte code. It was pretty fast surprisingly. So when we updated, our FPS took a major hit and we could never get the performance back to what it was.


That brings back some good memories. I started using Lotus 123 in the early eighties. I discovered macros and wrote templates that automated our fertilizer company. Stuff like inventory and blending fertilizer.

I was at a farmers once and got talking to his wife about Lotus and she showed me what she had built. She had a few boxes of software and books above her desk. The Lotus 123 box looked different than mine and found out she had version 1, not version 1A like the overwhelming majority that were sold.

I told her to never throw away that box and disks because sometime in the distant future she had a relatively rare collectors item. She laughed and said with my luck a competitor will come along and no one will ever want a rare copy. She may have been right.


> "That's probably better, but I've been doing this since the 70s and I'm going to retire soon, I don't want to learn more new things that I don't care about instead of getting jobs done as fast as possible."

My maternal grandfather-in-law recounts that he said the same thing when he was close to retirement, but regrets it badly today. The skills someone was trying to teach him, it turns out, would have been very valuable skills also in retirement.


If I were the customer, I’d reject your proposal too. The old software has been working fine for 40 years, why would I want to find someone to rewrite it?


In this case it would be to prepare for the inevitable death of the last machine in the office that can actually run it.


With emulation, it can run forever.


And faster, safer and future proof. I wouldn't be surprised at all if most 30+ years old software ran better on modern machines under a VM than say on 15 years old hardware without emulation.


Faster, yes. But not all of the things modern software does is pointless overhead. For anything networked, modern crypto is a must have if you’re going to interoperate with other devices. And I wouldn’t trust a windows 95 virtual machine connected directly to my corporate network.


I didn't try, but firewalling the VM shouldn't be hard since it talks through a virtual dedicated interface. Also, one can isolate it from the network and use only shared directories with the host so it can read and write files without going online.


The death of the user is more likely than the death of the ability to run the spreadsheet; updating can wait until that time if necessary.


I think I can tell you why not CMD.exe, it's because you could run x86 MSDOS programs.

I know this because my dad ran Quattro Pro, a Lotus 1-2-3 competitor up until around 2020 (he finally retired but still might use it for other reasons) and we had to keep figuring out how to keep it working over the years.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: