If you are making an app, that in some way allows customers to interact with a physical business, i.e. ordering things for pickup, scheduling appointments, rewards programs, season tickets, etc., GIVE THE PHYSICAL LOCATIONS VERY BROAD OVERRIDE CONTROLS. Make sure that the business can turn off features when something goes wrong and they can’t handle it. That they can just allow customers through either with a log to be sorted through later or not even bothering with that. That they can functionally operate their location without the app that’s supposed to make things easier making things worse.
Some examples:
I have a pass for Regal Unlimited, so at regal theaters I can see as many movies as I want. It’s an app on my phone with a QR code that can be scanned at the theater in exchange for a ticket, or I can get tickets on the app for a small fee. Yesterday at my local theater, their internet went down, which took their rewards, unlimited, and online ticketing systems down. Okay, override the system to allow it through anyway. The unlimited accounts have unique IDs you can log and charge later. You could have a button on the PoS machine that gives an unlimited ticket without the confirmation check. But they had no ability to do any of that. They could’ve (and should’ve) just said “just go pick a seat” but I think corporate pays the individual locations based on unlimited tickets, so it’s not super surprising they won’t do that even though they should.
My partner recently had to rent a car from Hertz while hers was getting fixed, and on their website it had the option to have Hertz meet you at the mechanic shop with the car. Awesome and convenient! She schedules it, shows up 2 days later, no one’s there. She calls them. They only have 2 employees working so can’t do drop offs, and have no way to disable that feature or even warn people it’s broken.
Last one. I worked at a large pizza chain for a while, where you could order online or in the app. But there was no way to tell the system that we were out of anything, so people would constantly order and pay and we’d have to call back and be like “I know you bought a 2 liter of Coke for like $4, but we’re out of every soda except Fanta, is that okay?” “So you ordered a veggie sandwich, but we’re out of sandwich bread, how about a salad or a cheesy bread?” which people often rightfully didn’t take very well. Their system also had no way to give partial refunds because all it could do is completely cancel a credit card charge and obviously money isn’t fungible.
TLDR: When you work in the physical world, things go wrong sometimes and you have to adapt. That’s normal. It happens every day. So when building digital things that interact with the physical world FUCKING ACCOUNT FOR THAT :monke-rage:
Unfortunately, every time I have a proposal for something along these lines, it'll get added to a backlog that will not get done. It's classic Marxist alienation from my labor.
When I've proposed similar things (like this would be way more convenient for customers), it's generally met with "yeah, it's just not a money making thing, but you could take it on as a side project". The business partners drive what I develop. It's not based on what customers want or what I want to build, just what makes money.
Yeah I was working on one project where I wasn't allowed to suggest the worker should be able to press a button indicating that the customer paid in cash
They do this on purpose to force you to use search bars for everything, because they can influence what shows up in those search bars.
Ngl I usually prefer last updated order, but just give options god damnit
Sounds like a problem with the physical world. Changing all the apps would be too much work, just migrate everything to the metaverse and that should clear everything up 👍
The flaw you're describing is by design, not mistake. By cutting out entirely their employee's ability to improvise or use their discretion and making them into a glorified automaton they are reducing their ability to leverage their labor against the company and making every employee as replaceable as possible.
It's a neat feature of modern technology!
But it cuts into their profits! Those fuckups mean me not buying the nachos I was gonna buy for like $8 when I saw Jaws 3D (jaws still sucks btw) or cancelling my whole dominos order leaving them to deal with the credit card fees, or avoiding Hertz from now on because I know they’ll fuck up.
Why are capitalists so bad at capitalism i don’t understand it’s so frustrating if we have to live under this hellish system can you at least please do it well???
:this: these kinds of observations broke me out of my long ago brief, icky flirtation with libertarian "capitalism efficiency" BS
I know this, but I don’t understand it. We’ve somehow managed to end up with a version of capitalism that is even worse than in theory. Why are capitalists so stupid they can’t even do capitalism well?? If we’re gonna have this stupid evil system can we at least do it well?
If labour has time, it can look for other jobs, it can panic less over living conditions. Things start being demanded.
Also, Bosses love their fiefdom, far more than money. They'll gladly hand over money and profit for the ability to force a single mother to come in at 2am on a sunday with a single phone call.
ihatecapitalistsihatecapitalismihatecapitalistsihatecapitalismihatecapitalistsihatecapitalismihatecapitalistsihatecapitalism
:monke-rage:
But more than the cost of doing it well! These people are supposed to want profit above all else right?
Most people have insanely bad understanding of opportunity cost, including a lot of capitalists.
and the cost of making software that never broke down would cut into their profits too.
I love your it's a feature not a bug mindset but this however it worked out probably did come about by accident
this is why i like working for the city. if there's a problem on our end it's not the customer's fault so we just serve them anyway.
Related: Build those kinds of systems into your company policies as well. Grocery store with an ATM, part of the service you provide to the community is an ATM. If your ATM is broken, you shouldn’t be enforcing your normal cash back limits, and you shouldn’t be requiring purchases to get cash back. Your priority is to return that service to functioning, which in this case means allowing cashiers or at least customer service to give people cash like an ATM.
There's the two types of business owners, the ones who know this is going to fuck things up for customers and employees but it doesn't matter because it won't hurt the bottom line enough to matter and you've gotta do what everybody else is doing and then those who think apps are like Harry Potter magic shit.
Both are wrong but only one is wronger.
True, but in their defense they had a line out the door when we got there because they overbooked for said staffing shortage, and neither of the people working were even managers. Defense of the two poor souls inside for not calling, definitely not of Hertz for causing this situation in the first place.
But at the core my point is yeah fuck all of these companies.
Probably part of the problem is the quality of the requirements provided (and the quality of the consultant). Developers are usually not in-house but developing according to requirements provided to them. So it should be a mutual process of the business deciding what the requirements are, and the developers providing feedback and suggestions based on their experience.
For example if you have a network based service, a developer SHOULD ask the question, what contingencies do you want in place if this service becomes unavailable? But developers also don't work for free, they aren't going to build an extra offline process if they aren't paid for it.
Long story short it's probably cost cutting in both directions.
Things going wrong is accounted for if you're building an aircraft control system, a fire alarm or a nuclear power plant.
the time and effort in accounting for issues like that is unfeasible unless something going wrong would kill someone. It takes longer it's harder and is therefore more expensive.