I’ve been writing code for 20 years. I’ve made websites, native apps, embedded, web services, IoT, agents, basically the lot.
People are always surprised when they hear me say I hate tech. I don’t want your app, I don’t want to scan your QR code, yes I really do just want to speak to a person and no I don’t want to automate or make “smart” anything in my home.
It’s not really that I hate tech. It’s that I hate what most tech products are.
The promised land never came and I highly doubt the AI era is going to make it magically better.
I will however keep doing my best to improve the systems I work on and pushing product and engineering do better.
Making stuff good (fast, performant, non-addictive, etc) are directly opposite the KPIs that most businesses are going to measure.
IMO, something like home assistant is a good example of what tech can be. No nagware, open ecosystem, no subscription, self-hosted (with optional hosting/support if you want it), etc.
That is user-centric design, but the are not exactly be rewarded commercially for it. Until we can better align commercial incentives and technical excellence, you're going to keep having the same shit experience with a lot of tech products.
Work on changing the incentives, it is the only thing that matters in the long run and is, to steal a phrase, "scalable".
"Commercial" implies to extract the most out of every potential customer. That's a direct logical contradiction to "serving the customer's wishes in every way".
In other words, there can't be any commercial incentives that "align" with providing a perfect user experience.
The weird thing in my opinion: why is open source software such a pain to use? They don't have commercial interests?
> The weird thing in my opinion: why is open source software such a pain to use? They don't have commercial interests?
My guess is its a combination of 1) lack of resources and 2) being developed for the developers themselves (who are weird users).
Most of the best open source software (e.g. Linux) is that way because commercial interests have incentive to pour some of their vast resources into it (and if copyright was ever abolished, expect it to start sucking, because the main reason we get to seee the commercially-funded improvements is the genius of the GPL).
You're certainly right about 1), but why 2) needs to be the end of things, I don't know.
Clearly, open source software with a good interface becomes more popular. I suspect, being popular isn't really a good experience for the developer, who then gets inundated with unreasonable requests etc.
>"Commercial" implies to extract the most out of every potential customer
Disagree, this is an unreasonable framing. We just need to exchange goods/services for money, not optimize every transaction on a curve by some measure of "extract everything"
There are many incentives apart from $ -- general fame, specific, niche credibility, love of the thing, internal projects (eg a phd/masters/capstone project), etc. Looking at everything from a $-incentive only will lead you to actions and incentives that don't make any sense. Look at the linux kernel or something like sqlite -- more deployed than almost any piece of "commercial" closed-source software, huge community, signifigant resources, but tiny, tiny slice of revenue by any metric of popularity.
That's not an unreasonable "framing", it's an unreasonable expectation to believe a "market" to optimize for the interests of those exploited for profit.
In other words, you want the market to restrain itself, which of course never works.
You then observe people to have other motivations beyond greed. Yes! I emphatically agree. Only, those aren't subject to market logic other than being potential subjects of exploitation.
I love Home Assistant for all of the reasons you list but I wouldn't say it "just works". It's the kind of thing that requires a lot of research and tinkering to get right. AI does actually help a lot here though, if you tell your agent "setup the new smart lightbulbs I just bought in Home Assistant and add them to my Living Room area", it just does it.
Same. About 35 years for me. A recurring bad dream I have is trying to do something on my phone and it Just. Doesn't. Work. Ending with me smashing the phone on a rock or something.
With retirement nearing the horizon, I plan to minimize the amount of technology in my life after that to the greatest extent that I can. I sometimes wonder if people in other professions grow to hate the products they produce in the same way.
I feel the same. I have, however, discovered joy in running my own personal cloud with Tailscale, some Raspberry Pi's, Mac desktops, Jellyfin / Plex, and lots of personal mini web apps.
While, to me this feels like edging towards IoT, it's not something the layman home automation enthusiast understands (their eyes gloss over when I talk about it).
> People are always surprised when they hear me say I hate tech. I don’t want your app, I don’t want to scan your QR code, yes I really do just want to speak to a person and no I don’t want to automate or make “smart” anything in my home.
> It’s not really that I hate tech. It’s that I hate what most tech products are.
I'm the same way. I think there a couple of different reasons for it:
1. Many "tech products" aren't there to serve you, the user. They're there to serve someone else (usually a group of investors). Customer support chatbots are a great example. You're "subjected" to this tech, and it exists deliberately to make your life worse.
2. The internet, specifically, is a technology that removed a lot of the constraints that held some lazy and malign aspects of human psychology in check. Constraints (aka friction) are not bad things. For instance:
The friction of shipping updates on floppy disks (or not at all), meant people actually needed to QA the heck out of their shit. Now you can cut that QA because you can "just push a patch later" (or some other buggy feature, or intentionally cripple the software, etc.).
The friction of two-way communication being expensive gave you privacy, now your computer, car, and TV can spy on you to provide monetization opportunities to the manufacturer.
And, in general, it's made it practically impossible for everyone, even really savvy consumers, to evaluate the products they're buying. Do I have any way to figure out if this car will spy on me? Do I know if it will have this feature I like next year, after the annual unnecessary UI redesign? No, I do not. It's all out of my control.
For a while now, "tech" has been solving problems that don't really exist. Having to scan a QRcode to read a restaurant menu, having to use a kiosk to order your fast food while the employee is standing right there but can't take your order, connecting your fridge to the cloud, etc. Why do I need an app on my phone to control my sprinklers instead of just a panel in my garage?
Of course it helps reduce costs and increase profit for corporations, but it solves nothing for end users. Every new "tech thing" also feels like a stupid charade for a manufactured "need".
Everyone I know thinks I'm weird when I get mad that a restaurant doesn't have a physical menu. I don't want to scan a QR code and scroll a menu on my phone, it's a worse experience than reading a paper menu in every single way
I hate the whole concept of QR code for a menu. I have no idea who came up with the idea and why restaurants thought that is a good idea. Yes, physical menus cost a little money to print, but last forever. Unless the restaurant has a new menu every day, it just doesn’t make sense.
Maybe next time I’ll just walk out and let the restaurant know why I’m walking out.
I have a theory that people in tech tend to hate or not care about other people’s clever tech solutions/products, but love their own little custom projects. So AI era probably will make it better if everyone building their own stuff becomes the norm.
> I highly doubt the AI era is going to make it magically better.
Yeah, handing control of the entire tech industry over to a couple of proprietary, black box products built & owned by like four hyper-capitalist sociopaths is definitely not going to go well.
> People are always surprised when they hear me say I hate tech.
Same. But it's not really that I hate tech: I hate that inferior, mediocre, device that the smartphone is. It's a spying device. It's got a minuscule pathetic screen (I rock an ultra-wide monitor at home).
I drive more than most: I was finding my way across Europe before smartphones and I can still find my way without constantly needing a smartphone. My car's navi system (from 2013) does the job totally fine: just a map and GPS receiver and that's it.
I very often don't take my phone with me: when I see people glued on their phone, endlessly doom-scrolling and taking selfies I just pitty them.
But I'm not luddite: I've got a "homelab" which I uses daily (it serves family pictures, movies, files/backups, it hosts VMs, I use it to isolate AI agents etc.).
A smartphone is not "tech": it's a mediocre piece of crap that spies on people. Worse: many have a smartphone but aren't comfortable speaking on the phone.
It'd be a tragedy if it wasn't pathetically funny.
And at home I keep hammering to my kid that smartphone are poison: opium for the unsuspecting masses.
And as she sees me doing just fine without my smartphone, the point is getting across.
Screw smartphones: just screw those mediocre turds.
I feel it. As a developer, I think the best I can do is to stand up for the user when I see dark patterns being developed. As friend and family member, I think the best I can do is to encourage people trying it offline/analog first. It almost never changes anything, but it shows you still give a shit.
My 86 year old dad broke his leg a few weeks ago. The tech involved with the hospitals, nursing homes, insurance, etc. is another level of this :( There's this "hilarious" situation I'm in now, where I have a nursing home admissions person nagging me to fill out some contract. But the contract is like 38 pages long, and not delivered through docusign or a pdf. its some custom website app. and the app is broken 5 different ways. one section was 503ing, So i have to message the admissions person. she finds a way to send me just that section as a pdf. but then the login session expired. and there's no way for me to automatically request a new login myself. the admissions person has to generate it each time. guys, i'm like 10 new manual login requests in :) every time i try and even review a thing I'm signing, bam, timed out session, manual messages to get new login. and the app starts most of the process of filling it out over again.
sorry. only you guys can understand.
if chatgpt is so good at breaking into hugging face, i wonder if astra can just break into this place and sign these documents for me :) (fbi: i'm joking!!!!)
Abstraction stacks hiding complexity all the way down. Maybe the kernel touch driver sometimes reports duplicate events due to a race condition, so the user mode library drops events it thinks are duplicates... Maybe the application changes some shadow DOM state when you touch and the framework ignores events while the real DOM is out of sync and thinks it's also being clever by deferring the DOM sync... Maybe it's just polling every 200ms for a current touch.
Once I tried writing an app in early windows style: inside the mouse down handler redraw the button as pressed, etc. Not setting the button state to pressed and triggering a redraw, but actually changing the pixels inside the handler. It's a huge layering violation but it's actually refreshing to cut through all the BS and make the computer just do the right thing, and it actually worked better most of the time than a modern framework app.
Like Digi-D, the authentication app for all government services. It’s a confusing Byzantine mess for elderly people. For a first-world country with gazillions of rules to protect every minority you can think of, they should be deeply ashamed of the barely beta quality turd they’ve unleashed on the elderly. You’d think some kind of geriatric/cognitive/UX specialist could have been consulted.
God I hate Uw Zorg Online. The app recently had a 500 issue with retrieving my medical history, and looking into the API it's because it can't retrieve my (completely unrelated) allergies history. Of which I have none.
If you ever want to experience what the worst of tech has to offer, try renting a UHaul vehicle in a rush over the weekend using their virtual check-in feature. It's SO BAD that it makes one immediately want to quit tech and live in the woods.
I tried renting a uhaul very last second a couple years back at the rental location. I was standing in the office, just me and the one single employee working that day.
As part of the rental process I had to give my phone number. At some point the employee says something like "You should get a text message with a link in a couple seconds, click the link and fill out the form and you'll be good to go."
To which I responded 'I don't have a smartphone, I can't click a link. How else can I fill out the form?'
Apparently there was no other way. He thought about it for a minute, then just took a picture of my license and handed me the keys. It's been 3 years and I never heard anything about it, so I figure I got lucky. I just know that if I ever find myself in that situation again karma will catch up with me and it will be a big issue.
What happened to the days of signing some papers on a clipboard?
I recently spent 10 days trying to move my WhatsApp chats from Android to iOS. Tried probably 40 different times, dozens of different ways. Even down to having Claude pull the encrypted chat backups via ADB, decrypt them and go through the database row-by-row looking for issues.
Gave up. Just left the old phone plugged in and added the iPhone as a companion device.
40 years of software development, this is the worst piece of dogshit software I've ever encountered.
I have been trying to register the warranty on a vacuum cleaner for over a week now. Every day I fill out the long-ass form and submit, but the “service is unavailable; try back later”.
I had fun with one warranty system. Including stupid steps of like taking photo of it not being on when reason I send it for warranty was it not turning on... And then weird login system that needed postcode or something else. Just that customer rep had not put my postcode in originally...
Oh not to mention UPS and inability to enter entry code to their system as they did not pass my phone number or email to them. I did have tracking number, but that clearly is not enough when you can no clearly contact customer. So only option to give the code to them that was to call them...
Like utterly broken flows. Often it feels that no one considers the extremely common corner cases.
I'm so curious about this; it is nearly universal that software engineers threaten this. I constantly tell my colleagues that I am quitting to start woodworking in a cabin in British Columbia.
My theory is that we are comprised of people who love building and making things, yet at the end of the day we don't have anything tangible to show. Like, my parents (nearing 80 years old) barely understand what I do or how software engineering works, though they are computer-literate. Going back 2 generations and it is incomprehensible magic. But, if I built a cabin or a cabinet or a wooden spoon, I could have a meaningful conversation about it with someone from the last Ice Age (language barriers aside). Maybe it is just staring at a screen 8 hours+ per day leaves the ancient part of the brain wanting.
The world we work with is entirely artificial and ephemeral. Anything is redoable, ctrl-z-able. You can "create" and explore a luscious forest, but there's no smell, no permanence. It's a simulation we create for ourselves, created for self-satisfaction.
Software engineers get lost and subsumed into the virtual world, so I don't think it's surprising we look for and pine for ways to exit.
I make this very same joke; I think a lot of it is that the bearded old man hermit in the rugged forests idea has a lot of precedence in fiction and expresses a bunch of concepts very succinctly. Not just the rejection of modern technology, but also the bitterness felt toward it, the distance to be sought from fellow humans and their artifice, the peace found in the new life, independence, and so on. There's also an appealing masculinity to it, for those of us of that persuasion.
One of these days I'll do it! I'll never open another JIRA ticket again!
The "leave tech and find some pastoral life" is a very tempting dream.
I know a lot of technologists who do something physical with their hobby time. Woodworking is top of the list... I know a blacksmith. There are quite a few who do painting (and the entire subset of spending that excess disposable income on plastic to paint).
Its to have something that has permanence when the lights are turned off.
I think also it is the mythos of the individual hacker. You never see anyone threatening to quit and join a furniture factory. And most dissatisfaction comes from the compromises you have to make for business reasons; everyone has the tech debt they don’t like that they were forced to walk away from.
Man I couldn't even log in to my Amtrak account for like a week. Not during a rush period, just the basic login flow did not work. I don't understand how websites can be this broken.
> I don't understand how websites can be this broken.
Wait. What? There are dozens of threads posted here daily about the new AI model, laying off huge swaths of junior engineering roles, and vibe coding as engineering, dev-ops, and quality control.
Amtrak is a perfect example too. An American monopoly, an established near-ancient technology, and tech bolted on that make something simple worse and complicated. Trains have been figured out for 150 years, welcome to the age of AI.
I agree. The tech industry prides itself on "easy UX" but in reality they make it easy to do the actions they want you as the user to do, not the actions you really want to do. They optimize for revenue, not for user happiness.
It's actually not really difficult (in theory) to engineer good UX, you simply have to look at the decision tree representing the application's state space and re-balance it according to actual usage intents.
Meaning, you make the most frequent goals need fewest clicks.
IDK though - this is how Office ended up with its ribbon. They realised Paste was the most common action so they gave it a big button right at the left side, and then cut and copy got smaller buttons next to it. And similarly they reordered all the buttons according to frequency of action.
Result? When you have an intent in mind, it's hard to find the right button! In office 2003, you could click on the "insert" menu and every item there was something that would go into your document. If you're thinking "I want to add a picture" you can click on "insert" and scan through for picture-related items. (Blender does this too). In the 2007 ribbon model it would - well that one would probably be on the default visible ribbon because it's a frequent action - but what if you want to insert a table of contents? Who knows where that button is.
:-)) Yes, Microsoft Office is actually a perfect example for how not to do it and why:
What they do wrong is, how they partition the "state space" in the first place. They employ utterly absurd abstractions that fly in the face of rational usage. Then that "ribbon" nonsense observes the user stumbling though that mess and changes the arrangement on the fly, maximizing the confusion.
In other words, they have never conceptualized what it is their users actually want to do and why. Now they're "stuck" with "what users are habituated to" and each "optimization" makes things even more worse in other places.
To get a "fluid" interface right, you need to know that it makes sense only when there are distinct use cases. You then have to detect (or perhaps better: let the user decide) what use case you're in and shape the interface according to that. Making the user chase buttons certainly isn't the right way.
I agree, but also to be fair, I think it's always been like this. Was there ever a time when technology "just worked" for non-technical people (or technical people!)? Bad coding, bad platforms, predatory platforms, whacked out design, crappy hardware...
There may have been pockets of quality, but in general I'd say that the tech industry has produced pretty low quality user experiences if viewed holistically. I think the main causes are speed of innovation (on the positive) and unrelenting capitalistic need for profit (on the negative), maybe a lot of hubris and incompetency thrown in too.
"Innovation" ? You mean the term that was created because "invention" was too obvious of a stretch?
Exactly how much of what has been billed as "innovation" couldn't simply have been done on a mainframe with 3270 terminals? I'd say the entirely of the "web 2.0" and "mobile app" trends could have fit into that.
The actual hard tech problems that have been solved consist of like virtual machines, miniaturized computers, search engines, and LLMs. Which are great, for sure. But the majority of the user-facing software on top has been noise, outright trash even.
While command prompts and programming languages have always been generally poor (ie obtusely machine focused), I'd say they were at least honest. As if you put in the effort to learn something, you would actually get something out of it - not just the ground shifting under your feet. Otherwise you could just not engage, not put in the effort, and that was fine, too
Now you're basically forced to engage, and when you do end up engaging it's always the lowest common denominator surveillance industry entitled-to-your-data tripe. And while you can engage a little harder to run up the hill of self-actualization, the industry is even working on plugging that "hole" with remote attestation and its ilk.
> Was there ever a time when technology "just worked" for non-technical people (or technical people!)?
I know you weren’t being quite so literal but it is worth mentioning Google until 2019 or so did, even as SEO and ad considerations nibbled at it for years. Eventually it broke though so here we are
I think Google search back then was ok, but the larger problem is that your OS was probably breaking while your Comcast was going up and down and your browser was an absolute POS during the time of those Google searchs. Holistically, it's always been a mess.
My mental list of things like VLC, uBlock Origins, and Kagi are what keep computers usable for me, while also detaching me from the typical experience of non-savvy tech users. We live in software elysium.
A friend had been trying for two weeks to upload some documents on the IRS website. Every time the error message reads “Sorry, the upload function is temporarily disabled. Please try again later.”
Then I told her to try a different browser instead of Safari and it worked immediately. So the function isn’t temporary disabled, it’s just their generic something went wrong error message. Tell me that’s not insanely user hostile.
This feels timely. Without going into specifics, I built an automation for a non-tech colleague 6 months ago. This morning I heard that he "can no longer see the results of the automation". I have no clue what that means, but I'll be meeting with him in 4 hours so he can share his screen.
I have suspicions about what could be the cause - shifts in privileges, user-amnesia, or maybe the automation had no events in the last 2 weeks and I just need to provide some reassurance that everything is working as expected. Odds are I'll have to reconfigure his dashboard or "shudder" add an email to the process. Whatever, he'll probably message me in another 3 months with a new observation.
Somewhat unrelated to this most recent feedback, I think tech has built great frameworks and underlying technology, but few people are mindful of the "final mile" that puts things in front of people's faces. Tailor-made AI solutions feel like the antithesis of this challenge to me; what has worked is withered technology like the interfaces that people trust.
I get it. But there is a lot of nuance. The other day I was helping someone pay their cellphone bill but needed to do it through their bank. Credit and debit cards were locked on the bank side, but needed to follow a process of unlocking them, waiting for 2FA with delays, special codes, lockouts, etc.
That's the nuance.
We can't just one click do something anymore in a simple easy way, because bad humans ruined it for the rest of us. Every time something comes along as a disruptor to do things without friction, bad actors find a way to exploit it. Soon, it becomes this multi step flow to accomplish your task. So then of course, blog posts like this pop up and hit the front page about how it all sucks. Nah, it doesn't suck, what sucks is bad humans ruining things for the rest of us, and it's prevalent everywhere in society, not just tech.
Fix the root cause of people behaving badly, and we fix these issues.
I have not recently got lost when navigating (mobile maps), had to wait for my bank to open the following day to move money (online banking), or had to phone or visit a travel agent to arrange an international trip (OTA).
I feel the klunkiness of bad design as much as the next grumpy gen-Xer, but you don't really notice all the rough edges that disappeared in the last 30 years.
Now, why the hell can I not conveniently disable autoplay video in Firefox or Chrome here a quarter of the way into the 21st Century!? (Sound of angry muttering fades away...)
> why the hell can I not conveniently disable autoplay video in Firefox or Chrome
Because Google doesn't want you to since they make money from autoplay, and they control both Chrome and Firefox (the former directly, the latter indirectly).
I'm embarrassed that every site is now AI generated and carries the same exact visuals/aesthetics/smells of vibe coding. Such a disgrace to creativity.
Not that is the only issue here, but every single time I have become proficient on a UI and/or enjoyed the provided UX, they come back with another version, one that is supposed to be all the rave, and make everything better, and it's always worse... You want an example macOS. Another one? Affinity software which was perfectly fine as individual products.
I get that someone has to justify their wage, but design people are absolutely guilty of turning perfectly functional software into unusable, convoluted, Rube-Goldbergesque abominations.
You ad that to all the dark patterns we keep allowing airlines and social media companies and you have an internet that is barely functional to the normal human being.
Tech has always been like this. On the building side, it has been Cargo Culting for years. If it's not AI, it was microservices, or NoSQL, or the newest front-end framework. The nature of tech meant that we always had to keep up with this stuff, because it helped you land another potential future job.
On the business side it has always been a series of perverse incentives that go counter to needs of the customer.
i dont like a lot of stuff going on in tech. but it is not healthy to feel personally embarrassed about stuff i had literally no input and no control over, and receive no benefit from.
I don't know I feel it is healthy to just scream out loud and be embarrassed about whole tech industry. Specially when obscene loud mouth cheerleaders of industry leave no chance to tell everyone how special they are , how much more profit sharing, salaries, perks they deserve because of their splendid work and how world would be worse if they don't keep creating endless apps, frameworks, micro services, messaging, streaming and what not.
I have a model year 2025 car and it's astounding to switch the media system over to FM and flip between the stations. Instantaneous. We never get that feeling any more.
This is not even a joke. For years I've been dodging the "what are you doing for a living" kind of question. Not that I feel particularly guilty myself, mind you, but I'm afraid a day will come when a random IT guy could be lynched out of frustration for all the hopelessly broken things pushed at us.
Most of the problems are a result of 2 things: the US economic regulation regime and the weaknesses of human nature.
1. The US economic regulation regime allows one or a few companies to hold an amount/quality of power, beyond which the FTC is supposed to get involved and break up the companies so that power isn't concentrated. This exists because pure capitalism quickly results in one winner, which makes for zero incentive for it to compete/improve/lower prices/increase quality. The fear of anti-monopolistic action by the FTC is low enough and actual action is rare enough that lots of power is unchecked.
2. Humans like bright lights/shiny objects (gambling), feeling tribal/us-vs-them (rage bait wins, negativity drives engagement), are easily exhausted by or ignore options (overwhelming acceptance of defaults), etc.
The above, either in combination or separately, combine to drive low quality computer experiences. Marketing/advertising alone drives an incredible multiple profit compared to actual quality of product/service.
I don't know how my elderly mom would have dealt with having to get a code from a TOTP app where there is a tiny countdown timer and just as you think you have the number memorized to type in it suddenly flashes to a new number and the timer starts again.
"Civilians" don't care about our ultra-performant native app, ultra cached SPA, or minimalist UX. They just want something done and they have to (sometimes begrudgingly) use an electronic device to do it.
Maybe AI and voice interaction a la Star Trek's computer is the end for most computer interactions in the future.
Where does this idea that people don't care about performance come from? They don't care _why_ or _how_ it is important, but people very much care whether an app is slow or fast.
Modern tech needs to stop changing user interfaces every 2-3 years.
Imagine if every few months when go to your faucet, someone decides to switch which side cold and hot are. Or perhaps the acceleration and brake pedals in a car get swapped because "our testing showed x".
Software is a tool for people and they build up muscle and spatial memory, so changing the interface can be a user hostile act.
That's not to say there shouldn't be improvements, but we should be scrutinizing these changes instead of frivolously treating the interface as this year's latest fashion.
We can talk to computers now, and they can both understand is and take actions. I expected things to move much faster to the point where 99% of what people use tech for is handled by speaking natural language to pretty much any device and an agent does what you want. Maybe it's coming but it's very slow, or maybe I am way off.
Man, I’ve felt this way for decades now. It’s a constant fight just to accomplish basic utility without divulging everything short of your genetic code to hundreds of “partners” in the process. It’s at the point that I spend more time trying to get relatives off tech entirely instead of helping them utilize it to improve their lives, for the simple reason tech doesn’t improve life right now, at least not for a lot of folks in my circles.
We built tools of mass communication, art, creativity, passion, and sharing, and then allowed the pursuit of advertising revenue to pervert them all into toxic cesspools of vitriol and incomprehensible UI/UX rife with dark patterns for maximum extraction of resources and rent.
You know what I still love about tech? The IRC server daemon chugging along without complaint and enabling pseudonymous communication without signups. The Jellyfin server hosting media to friends and family on Docker. The Caddy container handling certificates and reverse proxies for everything.
I love the things I build that just work, frozen how I like them, patched only when vulnerabilities become an issue or new features are something I find value in. The way tech was meant to be, I believe.
IRC has a completely separate problem - it hasn't evolved to deal with the modern world. The online/offline model with persistent connection while online is a total anachronism. And you can't send a screenshot through it - even email can do that.
I hosted a party for some friends and their families yesterday and this also came up, particularly in regards to Roblox. It is possible to tune Roblox and make it safe for your kid, but is is a lot of work.
Fundamentally, tech companies are user-hostile because their growth, revenue, stock price, (and for some of them now, political power) depend on a shitty experience. Every tech company wants to automate other companies's products, but will use every tool available (including legal ones) to stop you, the user, from automating and controlling their product.
The examples are endless: Roblox creates a kids casino, but if you as the parent want a safer, saner experience for your kid you have to navigate endless settings and there's still tons of shit that falls through the cracks, so you have to manually oversee what they do and manually ban bad games. However, if you try to use automate this process for yourself, there's no API, or you'll get banned for screen scraping or atypical behaviour that triggers some automated system. Facebook aggregates other websites, becomes a centre of social life, then they'll shove endless slop at you, but if you try to use your own app or agent to create your own experience so you're not exposed to that, you get banned.
A while back I vibe-coded a little parental control for my kid's YouTube because I wanted to give him autonomy to choose his own stuff, but also make sure he's not watching crap. I took his YouTube history then had Gemini automatically watch, rank, categorize and flag things for me (https://github.com/drashkov/slopstopper), and the analysis was pretty great. But taking actual action (banning channels, automated runs) is a major pain, because YouTube fundamentally does not want me to be in control of my kids's experience, they guard their turf jealously.
IMHO, the tech arms race is doomed, things will keep getting worse until enough people are pissed off to demand political changes.
People are always surprised when they hear me say I hate tech. I don’t want your app, I don’t want to scan your QR code, yes I really do just want to speak to a person and no I don’t want to automate or make “smart” anything in my home.
It’s not really that I hate tech. It’s that I hate what most tech products are.
The promised land never came and I highly doubt the AI era is going to make it magically better.
I will however keep doing my best to improve the systems I work on and pushing product and engineering do better.
IMO, something like home assistant is a good example of what tech can be. No nagware, open ecosystem, no subscription, self-hosted (with optional hosting/support if you want it), etc.
That is user-centric design, but the are not exactly be rewarded commercially for it. Until we can better align commercial incentives and technical excellence, you're going to keep having the same shit experience with a lot of tech products.
Work on changing the incentives, it is the only thing that matters in the long run and is, to steal a phrase, "scalable".
In other words, there can't be any commercial incentives that "align" with providing a perfect user experience.
The weird thing in my opinion: why is open source software such a pain to use? They don't have commercial interests?
My guess is its a combination of 1) lack of resources and 2) being developed for the developers themselves (who are weird users).
Most of the best open source software (e.g. Linux) is that way because commercial interests have incentive to pour some of their vast resources into it (and if copyright was ever abolished, expect it to start sucking, because the main reason we get to seee the commercially-funded improvements is the genius of the GPL).
Clearly, open source software with a good interface becomes more popular. I suspect, being popular isn't really a good experience for the developer, who then gets inundated with unreasonable requests etc.
Disagree, this is an unreasonable framing. We just need to exchange goods/services for money, not optimize every transaction on a curve by some measure of "extract everything"
There are many incentives apart from $ -- general fame, specific, niche credibility, love of the thing, internal projects (eg a phd/masters/capstone project), etc. Looking at everything from a $-incentive only will lead you to actions and incentives that don't make any sense. Look at the linux kernel or something like sqlite -- more deployed than almost any piece of "commercial" closed-source software, huge community, signifigant resources, but tiny, tiny slice of revenue by any metric of popularity.
In other words, you want the market to restrain itself, which of course never works.
You then observe people to have other motivations beyond greed. Yes! I emphatically agree. Only, those aren't subject to market logic other than being potential subjects of exploitation.
Usability and simplicity have been cornerstones of my work, since the early 1980s.
Simple is hard. Like, really hard. People think that it's just about removing UI elements. In my experience, it's about adding the right ones.
most products aren't made for every one of us; i think i've only ever truly made things for myself when i was not being paid
With retirement nearing the horizon, I plan to minimize the amount of technology in my life after that to the greatest extent that I can. I sometimes wonder if people in other professions grow to hate the products they produce in the same way.
While, to me this feels like edging towards IoT, it's not something the layman home automation enthusiast understands (their eyes gloss over when I talk about it).
> It’s not really that I hate tech. It’s that I hate what most tech products are.
I'm the same way. I think there a couple of different reasons for it:
1. Many "tech products" aren't there to serve you, the user. They're there to serve someone else (usually a group of investors). Customer support chatbots are a great example. You're "subjected" to this tech, and it exists deliberately to make your life worse.
2. The internet, specifically, is a technology that removed a lot of the constraints that held some lazy and malign aspects of human psychology in check. Constraints (aka friction) are not bad things. For instance:
The friction of shipping updates on floppy disks (or not at all), meant people actually needed to QA the heck out of their shit. Now you can cut that QA because you can "just push a patch later" (or some other buggy feature, or intentionally cripple the software, etc.).
The friction of two-way communication being expensive gave you privacy, now your computer, car, and TV can spy on you to provide monetization opportunities to the manufacturer.
And, in general, it's made it practically impossible for everyone, even really savvy consumers, to evaluate the products they're buying. Do I have any way to figure out if this car will spy on me? Do I know if it will have this feature I like next year, after the annual unnecessary UI redesign? No, I do not. It's all out of my control.
Of course it helps reduce costs and increase profit for corporations, but it solves nothing for end users. Every new "tech thing" also feels like a stupid charade for a manufactured "need".
Everyone I know thinks I'm weird when I get mad that a restaurant doesn't have a physical menu. I don't want to scan a QR code and scroll a menu on my phone, it's a worse experience than reading a paper menu in every single way
Maybe next time I’ll just walk out and let the restaurant know why I’m walking out.
Yeah, handing control of the entire tech industry over to a couple of proprietary, black box products built & owned by like four hyper-capitalist sociopaths is definitely not going to go well.
Same. But it's not really that I hate tech: I hate that inferior, mediocre, device that the smartphone is. It's a spying device. It's got a minuscule pathetic screen (I rock an ultra-wide monitor at home).
I drive more than most: I was finding my way across Europe before smartphones and I can still find my way without constantly needing a smartphone. My car's navi system (from 2013) does the job totally fine: just a map and GPS receiver and that's it.
I very often don't take my phone with me: when I see people glued on their phone, endlessly doom-scrolling and taking selfies I just pitty them.
But I'm not luddite: I've got a "homelab" which I uses daily (it serves family pictures, movies, files/backups, it hosts VMs, I use it to isolate AI agents etc.).
A smartphone is not "tech": it's a mediocre piece of crap that spies on people. Worse: many have a smartphone but aren't comfortable speaking on the phone.
It'd be a tragedy if it wasn't pathetically funny.
And at home I keep hammering to my kid that smartphone are poison: opium for the unsuspecting masses.
And as she sees me doing just fine without my smartphone, the point is getting across.
Screw smartphones: just screw those mediocre turds.
sorry. only you guys can understand.
if chatgpt is so good at breaking into hugging face, i wonder if astra can just break into this place and sign these documents for me :) (fbi: i'm joking!!!!)
it is hard to type in your pin code because it misses touch events, I always get my pin wrong
every time I use it I contemplate how did we end up here, how can we have software running on supercomputers in our hands missing touch events
the sad truth is vibe coded programs are better than most programs I use
Once I tried writing an app in early windows style: inside the mouse down handler redraw the button as pressed, etc. Not setting the button state to pressed and triggering a redraw, but actually changing the pixels inside the handler. It's a huge layering violation but it's actually refreshing to cut through all the BS and make the computer just do the right thing, and it actually worked better most of the time than a modern framework app.
Bad for tech, but good for equity.
Dislike of ai is because of societal reasons. we should embrace it in our products.
As part of the rental process I had to give my phone number. At some point the employee says something like "You should get a text message with a link in a couple seconds, click the link and fill out the form and you'll be good to go."
To which I responded 'I don't have a smartphone, I can't click a link. How else can I fill out the form?'
Apparently there was no other way. He thought about it for a minute, then just took a picture of my license and handed me the keys. It's been 3 years and I never heard anything about it, so I figure I got lucky. I just know that if I ever find myself in that situation again karma will catch up with me and it will be a big issue.
What happened to the days of signing some papers on a clipboard?
Gave up. Just left the old phone plugged in and added the iPhone as a companion device.
40 years of software development, this is the worst piece of dogshit software I've ever encountered.
Oh not to mention UPS and inability to enter entry code to their system as they did not pass my phone number or email to them. I did have tracking number, but that clearly is not enough when you can no clearly contact customer. So only option to give the code to them that was to call them...
Like utterly broken flows. Often it feels that no one considers the extremely common corner cases.
I'm so curious about this; it is nearly universal that software engineers threaten this. I constantly tell my colleagues that I am quitting to start woodworking in a cabin in British Columbia.
My theory is that we are comprised of people who love building and making things, yet at the end of the day we don't have anything tangible to show. Like, my parents (nearing 80 years old) barely understand what I do or how software engineering works, though they are computer-literate. Going back 2 generations and it is incomprehensible magic. But, if I built a cabin or a cabinet or a wooden spoon, I could have a meaningful conversation about it with someone from the last Ice Age (language barriers aside). Maybe it is just staring at a screen 8 hours+ per day leaves the ancient part of the brain wanting.
Software engineers get lost and subsumed into the virtual world, so I don't think it's surprising we look for and pine for ways to exit.
One of these days I'll do it! I'll never open another JIRA ticket again!
The "leave tech and find some pastoral life" is a very tempting dream.
I know a lot of technologists who do something physical with their hobby time. Woodworking is top of the list... I know a blacksmith. There are quite a few who do painting (and the entire subset of spending that excess disposable income on plastic to paint).
Its to have something that has permanence when the lights are turned off.
Wait. What? There are dozens of threads posted here daily about the new AI model, laying off huge swaths of junior engineering roles, and vibe coding as engineering, dev-ops, and quality control.
Amtrak is a perfect example too. An American monopoly, an established near-ancient technology, and tech bolted on that make something simple worse and complicated. Trains have been figured out for 150 years, welcome to the age of AI.
It's actually not really difficult (in theory) to engineer good UX, you simply have to look at the decision tree representing the application's state space and re-balance it according to actual usage intents.
Meaning, you make the most frequent goals need fewest clicks.
Clearly, practically nobody does that. Why?
Result? When you have an intent in mind, it's hard to find the right button! In office 2003, you could click on the "insert" menu and every item there was something that would go into your document. If you're thinking "I want to add a picture" you can click on "insert" and scan through for picture-related items. (Blender does this too). In the 2007 ribbon model it would - well that one would probably be on the default visible ribbon because it's a frequent action - but what if you want to insert a table of contents? Who knows where that button is.
What they do wrong is, how they partition the "state space" in the first place. They employ utterly absurd abstractions that fly in the face of rational usage. Then that "ribbon" nonsense observes the user stumbling though that mess and changes the arrangement on the fly, maximizing the confusion.
In other words, they have never conceptualized what it is their users actually want to do and why. Now they're "stuck" with "what users are habituated to" and each "optimization" makes things even more worse in other places.
To get a "fluid" interface right, you need to know that it makes sense only when there are distinct use cases. You then have to detect (or perhaps better: let the user decide) what use case you're in and shape the interface according to that. Making the user chase buttons certainly isn't the right way.
There may have been pockets of quality, but in general I'd say that the tech industry has produced pretty low quality user experiences if viewed holistically. I think the main causes are speed of innovation (on the positive) and unrelenting capitalistic need for profit (on the negative), maybe a lot of hubris and incompetency thrown in too.
Exactly how much of what has been billed as "innovation" couldn't simply have been done on a mainframe with 3270 terminals? I'd say the entirely of the "web 2.0" and "mobile app" trends could have fit into that.
The actual hard tech problems that have been solved consist of like virtual machines, miniaturized computers, search engines, and LLMs. Which are great, for sure. But the majority of the user-facing software on top has been noise, outright trash even.
While command prompts and programming languages have always been generally poor (ie obtusely machine focused), I'd say they were at least honest. As if you put in the effort to learn something, you would actually get something out of it - not just the ground shifting under your feet. Otherwise you could just not engage, not put in the effort, and that was fine, too
Now you're basically forced to engage, and when you do end up engaging it's always the lowest common denominator surveillance industry entitled-to-your-data tripe. And while you can engage a little harder to run up the hill of self-actualization, the industry is even working on plugging that "hole" with remote attestation and its ilk.
I know you weren’t being quite so literal but it is worth mentioning Google until 2019 or so did, even as SEO and ad considerations nibbled at it for years. Eventually it broke though so here we are
Then I told her to try a different browser instead of Safari and it worked immediately. So the function isn’t temporary disabled, it’s just their generic something went wrong error message. Tell me that’s not insanely user hostile.
I have suspicions about what could be the cause - shifts in privileges, user-amnesia, or maybe the automation had no events in the last 2 weeks and I just need to provide some reassurance that everything is working as expected. Odds are I'll have to reconfigure his dashboard or "shudder" add an email to the process. Whatever, he'll probably message me in another 3 months with a new observation.
Somewhat unrelated to this most recent feedback, I think tech has built great frameworks and underlying technology, but few people are mindful of the "final mile" that puts things in front of people's faces. Tailor-made AI solutions feel like the antithesis of this challenge to me; what has worked is withered technology like the interfaces that people trust.
That's the nuance.
We can't just one click do something anymore in a simple easy way, because bad humans ruined it for the rest of us. Every time something comes along as a disruptor to do things without friction, bad actors find a way to exploit it. Soon, it becomes this multi step flow to accomplish your task. So then of course, blog posts like this pop up and hit the front page about how it all sucks. Nah, it doesn't suck, what sucks is bad humans ruining things for the rest of us, and it's prevalent everywhere in society, not just tech.
Fix the root cause of people behaving badly, and we fix these issues.
I feel the klunkiness of bad design as much as the next grumpy gen-Xer, but you don't really notice all the rough edges that disappeared in the last 30 years.
Now, why the hell can I not conveniently disable autoplay video in Firefox or Chrome here a quarter of the way into the 21st Century!? (Sound of angry muttering fades away...)
Because Google doesn't want you to since they make money from autoplay, and they control both Chrome and Firefox (the former directly, the latter indirectly).
I get that someone has to justify their wage, but design people are absolutely guilty of turning perfectly functional software into unusable, convoluted, Rube-Goldbergesque abominations.
You ad that to all the dark patterns we keep allowing airlines and social media companies and you have an internet that is barely functional to the normal human being.
On the business side it has always been a series of perverse incentives that go counter to needs of the customer.
we all can only do so much. do the best you can and be proud of that. there's no need to take on the embarrassment or shame of a whole industry.
i dont like a lot of stuff going on in tech. but it is not healthy to feel personally embarrassed about stuff i had literally no input and no control over, and receive no benefit from.
but i think taking on personal embarrassment for things you had zero involvement and get zero benefit from is not good.
1. The US economic regulation regime allows one or a few companies to hold an amount/quality of power, beyond which the FTC is supposed to get involved and break up the companies so that power isn't concentrated. This exists because pure capitalism quickly results in one winner, which makes for zero incentive for it to compete/improve/lower prices/increase quality. The fear of anti-monopolistic action by the FTC is low enough and actual action is rare enough that lots of power is unchecked.
2. Humans like bright lights/shiny objects (gambling), feeling tribal/us-vs-them (rage bait wins, negativity drives engagement), are easily exhausted by or ignore options (overwhelming acceptance of defaults), etc.
The above, either in combination or separately, combine to drive low quality computer experiences. Marketing/advertising alone drives an incredible multiple profit compared to actual quality of product/service.
Maybe AI and voice interaction a la Star Trek's computer is the end for most computer interactions in the future.
Imagine if every few months when go to your faucet, someone decides to switch which side cold and hot are. Or perhaps the acceleration and brake pedals in a car get swapped because "our testing showed x".
Software is a tool for people and they build up muscle and spatial memory, so changing the interface can be a user hostile act.
That's not to say there shouldn't be improvements, but we should be scrutinizing these changes instead of frivolously treating the interface as this year's latest fashion.
We built tools of mass communication, art, creativity, passion, and sharing, and then allowed the pursuit of advertising revenue to pervert them all into toxic cesspools of vitriol and incomprehensible UI/UX rife with dark patterns for maximum extraction of resources and rent.
You know what I still love about tech? The IRC server daemon chugging along without complaint and enabling pseudonymous communication without signups. The Jellyfin server hosting media to friends and family on Docker. The Caddy container handling certificates and reverse proxies for everything.
I love the things I build that just work, frozen how I like them, patched only when vulnerabilities become an issue or new features are something I find value in. The way tech was meant to be, I believe.
Fundamentally, tech companies are user-hostile because their growth, revenue, stock price, (and for some of them now, political power) depend on a shitty experience. Every tech company wants to automate other companies's products, but will use every tool available (including legal ones) to stop you, the user, from automating and controlling their product.
The examples are endless: Roblox creates a kids casino, but if you as the parent want a safer, saner experience for your kid you have to navigate endless settings and there's still tons of shit that falls through the cracks, so you have to manually oversee what they do and manually ban bad games. However, if you try to use automate this process for yourself, there's no API, or you'll get banned for screen scraping or atypical behaviour that triggers some automated system. Facebook aggregates other websites, becomes a centre of social life, then they'll shove endless slop at you, but if you try to use your own app or agent to create your own experience so you're not exposed to that, you get banned.
A while back I vibe-coded a little parental control for my kid's YouTube because I wanted to give him autonomy to choose his own stuff, but also make sure he's not watching crap. I took his YouTube history then had Gemini automatically watch, rank, categorize and flag things for me (https://github.com/drashkov/slopstopper), and the analysis was pretty great. But taking actual action (banning channels, automated runs) is a major pain, because YouTube fundamentally does not want me to be in control of my kids's experience, they guard their turf jealously.
IMHO, the tech arms race is doomed, things will keep getting worse until enough people are pissed off to demand political changes.
Today I have a lot of options and things work well enough. I have Reddit where I post comments on my local things. I have LinkedIn, WhatsApp.
I can get almost anything I want and understand how to do anything.