For 2 larger projects I'm on, I'm both the developer and a user: on a regular basis I use the software myself. And not just for one-off tests. I really use it the way other users use it.
This has provided rather deep and interesting insights in software development for these particular products and in general. Or in OP's lingo: not a lot of potential for insanity at all. Because any new idea immediately gets regarded on 2 fronts: what does it take to implement and what does it really do for the user.
I find that if people don't dogfood their software the software just ends up being shit.
As engineers we need to be a little grumpy. Frustrating with our software provide directions to improve it. If we're not grumpy, we don't know what to fix.
But some of this also comes from top down. Engineers also need the freedom to fix things. They're the experts. Management Also shouldn't interpret that frustration in quality as the engineer being a thorn in their side. It means the engineer cares and is willing to remove the thorns in their side. But I think there's a strong natural tendency in any organization to surround yourself with yes men. They're sneaky, telling you no when you ask them to. Maybe a reason management loves LLMs so much
At very large $companyIUsedToWorkFor, the accessibility features got a lot better once we hired a blind developer. Once it went from "we have to pass this test" as our only feedback to "Bob did this because it confused his text-to-speech program when he was looking for another bug" we got such a great success flywheel going. Very quick feedback cycles really is required for successful software development.
At my friend's org, they like it to suck bc that reminds them they are doing the very sophisticated work of dogfooding. No one told them they're allowed/supposed to feel good making/using the sw...
"We want to feel the same pain the customer feels" is shortened to "we want to feel pain." Instead of "neither we nor the customer feel pain."
In my experience, this is the only kind of software that ends up not sucking. If development is not driven by users in a very intimate way -- like being one and the same person -- then you routinely end up with necessary features only half working or splitting essential information across multiple screens or dialogs. Eating your own dog food is essential to rising above that, because only that reality will overwhelm the developers sense of the "proper" way to do things.
I believe it's the major reason that industry specific information systems are universally shitty. The user can't articulate what they need to accomplish and the developer doesn't really understand the purpose or importance of the work. Result is bad functioning or bad interface.
It's why only software like text editors and web browsers gets to be really good. Huge user base. Lots of developers involved.
Git kinda proves that it's not infallible, though.
> It's why only software like text editors and web browsers gets to be really good. Huge user base. Lots of developers involved.
There's lots of great software out there that you interact with every day that was written by a small number of developers to clear requirements. Your car ABS brakes. Your coffee maker. Your brushless drill. Your TV remote. Think of the fact that majority of the microprocessors and microcontrollers that you interact with every day have software that you never think about, because it just works and gets out of the way. (And think of the cases -- maybe your dishwasher, your smoke detector, whatever -- where that's not the case! It really drives home how incredibly pleasant just-works-without-thought really is.) It's only these big, large team, overly complex systems where the expectations are so low that even the crap that is a current web browser is considered acceptable, let along "not sucking."
You're mistaking shitty software for software that doesn't work. Shitty software is 100% functional. You just hate it.
By intentionally picking the software that eliminates the UI, when the whole benefit of computers as a tool is that the UI is infinitely flexible, you're picking shitty software that doesn't appear that shitty. But it still is.
I mean, I hate the way my TV remote works and have wanted to change it. But I can't. It has buttons that open NetFlix or Apple TV that I can't change, and I don't have any ability to reprogram them because the companies paid for it to be a permanent advertisement I can't get rid of. That sucks.
But also, I think we only have to look far for what shitty appliance software looks like. VCRs and microwaves are notorious for having shitty software. As soon as we introduce a network, suddenly the software sucking is an immediate problem: witness the nightmare stories of Jeep updates, Tesla lockouts, and paywall feature locks when the hardware is present. Or we can look at the spying done by LG that you can't turn off. Or the forced advertising that Samsung showed they can do to your fridge.
Or how automobiles need an OBD reader even thought they ship with a built-in tablet. Or how the OBD codes are something you have to pay for. Or how you might not be able to disable the stupid "shut the car off" feature when you stop at a red light.
Shitty software on microcontrollers is some of the most tyrannical shitty software there is.
> when the whole benefit of computers as a tool is that the UI is infinitely flexible
I think this statement is insane. The benefit of computers is that they allow complex behaviors to be defined and implemented. The benefit of software is that it’s the lowest-NRE way of defining those complex behaviors. UI doesn’t come into it, except in a few edge cases like desktop computers, phones, appliances, etc. A climate model’s “benefit” comes from its output, not the form in which it generates output or takes input.
Okay, I don't really feel like your going for a good faith interpretation of the points I'm trying to make. You're taking things hyper literally and out of context. I don't feel like you're really trying to understand what I'm saying at all.
> It's why only software like [...] web browsers gets to be really good.
Huh? Web browsers are still laughably bad even after all these years. They are engineering marvels, certainly, but using them leaves a lot to be desired. I cannot imagine anyone would voluntarily use them if the ultimate function was equally available another way.
You mean installing the Reddit, X and Instagram apps on my phone? I use them in the browser because the browser is so terrible they don't spy on me as much.
That's absolutely splendid. In the user role, I get very irritated when programs do stupid things or interface elements don't do what they're supposed to do. Muttering to myself I'm asking a question: have the developers ever actually used this program? I'm convinced had they used it for real, there would be far less idiocy users have to deal with.
Your approach to developing software goes a long way to producing software that users appreciate. OTOH users may have no opinion about software sufficiently intuitive to use that it fails to bring attention to itself. Such transparency is an outcome developers should be proud to achieve.
Dogfooding is useful certainly but it can also be a trap, as someone who is technical and knows how the software works both sides you can fall into the trap of avoiding triggering the exact kind of issues a regular user can walk into.
Your conceptual model of how things work is going to be different to that persons and it is a very hard trap not to fall into.
Indeed. Some of the worst software interfaces I've ever dealt with were fully "dogfooded" and that was the cause; the people writing the software did use it every day but (a) in a very idiosyncratic way and (b) in a specific, very constrained environment.
The devs did use the software, but used it in such a different way from everyone else that when the devs optimized for their own case, it made the software actively worse for everyone else.
Indeed, it's a lesson I learnt the hard way and is much like proofreading something you wrote, you don't see the errors as easily as someone else you asked to proofread it usually does (well until you hit Send then you usually see all of them instantly).
This is something I've asked repeatedly at my job. Current team builds services for other developers to use, okay, do we also use it so we can go th ough all the same pain points as them? Why not?!
3rd sentence: It is a fully electric car with the security blanket of a gas-powered generator to charge the battery. So not your average hybrid whos gas-powered motor directly drives the wheels.
> running generator to charge battery to drive the wheels is somehow better than just driving wheels directly
In some ways it is, yes. The engine design is not the same, it doesn't need gearbox, variable power output etc to charge battery. In some ways it can be more efficient.
I always wonder if it's worth it. Like: is it actually convenient, or is it 'solving' inconveniences which actually do not exist or didn't exist before using the service? I have never used Prime or AliExpress but also don't consider our typical shopping very inconvenient. And the most inconvenient parts are actually the ones which seem necessary to to get the proper goods (from past weeks: vegetables/fruits/shoes - it's not really possible to order that online and get exactly what we want). And everything else is available from other webshops.
you realize that the only way to not get served ads on Facebook -- and thereby not benefit the company itself -- is to get rid of it completely
You're probably right when it comes to benefiting the company, but technically - at least for me - using only https://www.facebook.com/?sk=h_chr means no ads/sponsored/whatever. Only the posts I actually want to see, and chronologically so easy to continue where you left off. I don't understand why this isn't more common knowledge but have been using this for years and it makes the whole platform usable exactly for what I want to use it for: tracking things which haven't moved on from it yet without being forced to consume anything else.
Not that I know of. It is a bit weird that for me it shows the same posts in my normal container with uBO enabled, and in a new container with uBO disabled: no sponsored ones. But when visiting facebook.com straight away I do get ads/sponsored posts. Probably I did go over all FB settings once to disable everything possible. Perhaps it's that.
I dont know what they changed but they kept forcing obvious bot troll political posts on my feed and that’s when I finally deleted my account. They were blatantly trying to enrage me with things I don’t follow. Up to that point I wasn’t bothered and could block whatever and just see friends posts.
But taking comfort in activities that deliver small drips of dopamine slowly instead of a truckload of it instantly is helping me a lot, I think
Would be pretty interesting to figure out if the amount of dopamine really is smaller. I'm not convinced.
But anyway: the bigger picture I've been wondering a lot about lately is whether this dopamine addiction is ok to begin with. I've never had much issues with the 'truckloads' OP names but all things considered my life is basically a journey from one dopamine shot (coffee ritual, sport, problem solving, sex, music, drugs) to the next and everything in between feels not too interesting. And I'm fearful for what's going to happen when I can't do some of those anymore when getting older.
I know right. Even makes me feel like the person doing it doesn't respect my personal space by making a sound whereas they could also just be quiet. Qualifies as misphonia probably; I feel like the strength of my reaction is unwarranted by something others seem to barely register or at least simply ignore.
does anybody relate to this grown interest to plants and bird distinction with age?
I do, and I've seen it in others, but from the limited data points I've seen there's no causal relationship with age. I.e. what I've seen is people largely oblivious of nature/ecosystems/flora/fauna sudenly becoming very invested in it, for various reasons, but this doesn't happen at or only beyond a certain age. For me it was around 30 but that's simply because of a series of coincidences (new house, large garden, needed solution for mowing, happened to see a 2nd hand scythe, looked into grassland ecology, etc). But I know people whos obsession started at 16 and at 60 and like everything in between.
I think it's one of those things that for whichever reason you happen to get switched on to, and once you're attentive to it, you'll constantly be noticing and learning more - once that positive feedback loop of rewarded attention is going, you're off to the races.
It's deeply rewarding to find the world around becoming deeper and more intricately connected. And you get to see more of it every day!
Feedback loop is right. I think there are parallels to the Blank Check podcast playing "The Box Office Game", where those cinephiles try to determine the Box Office Top 5 on the week a particular film was released (even though the players may have been in diapers or not even born on that particular week).
I have also seen this obsessive focus in sports fans: What was the half-season where Pat Maroon played on the New Jersey Devils as a rental? Well they made the playoffs that year which must have been Taylor Hall's MVP Award Season and ah yes! that had to be 2017-18!
if you guys like this kinda stuff i can recommend the latest dump of buckminster fuller institute on his life work (series of transcribed lectures). The guy is fascinated by similar things and has potentially a lot of interesting insights about this if you are unfamiliar.
cool! thanks for sharing, that's my usual fallback reason too.
meaning that i feel it was a change also triggered by other factors and life conditions, or even a reaction to those, but at the same time I realize that my brain started receiving and analyzing and appreciating those signal, not me completely voluntary.
one thing that comes always to my mind is the possible reason of reaction to shitty work and work related stress that makes us crave for nature and nature contact, like a story of a friend stopping the car just to touch grass with the feet.
I relate to an approximate after 30 thing too. But in my case nature contact was reduced compare to initial life part, and I got a garden after that.
But again, it feels like an over semplifcation or easy shortcut, and I believe there is maybe just something innate that blooms at a certain point.
how can we get more datapoints for this? I was trying to crowdsource here :)
one thing that comes always to my mind is the possible reason of reaction to shitty work and work related stress that makes us crave for nature and nature contact
I'm sure that's a thing for some people. And there's research to back that up IIRC. Even seemingly silly things like the smell of a wet forest being beneficial.
One aspect which stood out for me is 'awareness'. I find it deeply fascinating how many people, as I used to be one, can just stroll through everyday locations without even knowing the names of the most common plants let alone think about their connection to the surroundings. Once I started to realize how unaware I was of this I started forzing myself to be more aware and it's fascinating how much there can be going on in like even 1 square meter of nature. And of which I only know a fraction.
And for me this is really meditative - even though it's somewhat counterintuitive. Meditation is usually about clearing the mind, but for me being in nature and filling my mind with thoughts about the whole interconnection of individuals in ecosystems can bring peace and relaxation. Well, as long as I do not think about how we're collectively destroying a lot of it.
If your goal is eating mostly tofu, sure. But one could also eat 'normal' meals (think food pyramid) from a varied diet including tofu and there'd be no need for nutrient-infused tofu and it would have a richer taste from more ingredients etc. And for most people, who don't even need to count proteins to begin with, supplies sufficient protein. Does take a bit more time to prepare though.
Note there are various species who're oligolectic meaning they only collect pollen and nectar - and hence pollinate only - a single family or sometimes even single species of plants. Moreover they are usually also better at pollinating than more generalistic species especially honeybees.
This has provided rather deep and interesting insights in software development for these particular products and in general. Or in OP's lingo: not a lot of potential for insanity at all. Because any new idea immediately gets regarded on 2 fronts: what does it take to implement and what does it really do for the user.
reply