10 ms·
I have a meta question to ask, in threads like these where big products announce new features or big funding I always see commentors lamenting bloated software
by adhoc_slime 5y ago
I have a meta question to ask, in threads like these where big products announce new features or big funding I always see commentors lamenting bloated software or it having too many features, not doing the one simple thing you want it to do, etc.
To me it seems the only trajectory of developers building products is to add new features, its how we justify keeping ourselves around most of the time. So what my question is is how do you actually expect products to just stop active feature development? Or would you rather a second standalone app to install?
I'm a relatively young developer so I'm hoping to gain some insight from this mindset I see all too often.
- tluyben2 5y agoI definitely rather would have had a second (and third and further,...) app. But I guess most people do not.
- robofanatic 5y agoI always wonder we have usable version numbers for API's or packages but why not for UIs. It would be nice to have the ability to switch the app to a specific version in the past.
- chrisdhal 5y agoI agree with you. It seems funny to me in a lot of these threads about new features that people complain about them, then when somebody recommends program "XYZ" they complain "but there hasn't been any updates in 2 years, it's obviously not good or not used and I don't want to get stuck using an obsolete package". Can't win I guess.
- matsemann 5y agoYou can't win. Most features added is because someone wants them. One person's bloat is another person's long sought feature. Like a quote about Microsoft Office: A user only ever uses about 10 percent of the features. The problem is that all users use different 10 percents.
- CSMastermind 5y agoThis is solved in food products by differentiation. Someone likes the no pulp orange juice so they buy that and someone else likes the stuff with pulp in it so they buy that. Why not do the same thing with software? Release 10 different flavors of Microsoft Word and let people choose the one they want.
- jen20 5y agoBecause the cost of production does not scale in a reasonable manner, nor would it be good for users. What happens when you need feature X that is only available in 6th edition, or need to open a document prepared in the 8th edition by someone else?
- Mindstormy 5y agoThis sounds like a really bad idea. With orange juice it takes less than 30 seconds to differentiate the versions. If this was done with something like Microsoft Word you would probably have to spend the better part of a day teasing out exactly which features you needed or wanted. I think a semi relevant modern example would be how the release of hitman 3 worked out. They had to make a flow chart of how to buy the right copy of the game with the features you wanted. https://i.redd.it/cfnqsnldc1d81.png https://i.redd.it/cfnqsnldc1d81.png
- capableweb 5y ago> They had to make a flow chart of how to buy the right copy of the game with the features you wanted "They" makes it sound like IO Interactive (developers and publisher of Hitman) made that flow chart for people to use, but in reality it's community made by someone from Reddit. And to be honest, it doesn't seem that complicated, seems like a joke flow chart to make it more complicated than what it is. These editions seems to exists (for the record, I have neither and first time I hear about them): - Trilogy Premium Add-ons Bundle - Trilogy Edition - Standard Edition - Deluxe Edition - A DLC Trilogy obviously is about the full series (1 to 3), and Deluxe edition contains "Deluxe Pack". Which one you want? Ok, want the DLC too? Ok. It's really not that complicated.
- woofcat 5y agoThings can be feature complete, and they often are at many businesses. You need to build a solution to problem x. You do that and then the project is over. Outside of maintenance work it's a stable code base and you the developer move onto a new problem. Examples of this in my mind are things like uBlock Origin. I'm not getting bombarded with updates on that project. It does the job it sets out to do, and it does it well.
- adhoc_slime 5y agoThis would be what I ideally think should happen, a product hits a happy place and is finished. It seems, though, that when working in a business that you'll have many users with many use cases, you'll be competing with other software companies, the temptation is there to add the one feature more to please the user or compete a little better. this becomes a very specific problem each group of developers / business must answer and maybe the ideal case becomes less realistic to achieve or at least have a general answer for.
- nexuist 5y agoThis is because you hired developers on payroll and it would be a dumb strategic move to fire everyone once the product is "finished." You have to keep building things in order to justify having people on payroll (otherwise you're paying them to do nothing every day). If you take VC funding you're in for another world of pain, which is that your company may be perfectly profitable but if it isn't growing at a rate your investors want you'll get kicked out and replaced by someone who will take "product growth" seriously. In other words, Postman needs more paying customers so it needs to become more of a "one size fits all" tool. One might think that the solution is to simply work on another product after Postman was declared "done," but it seems like nobody seriously attempts this anymore because the SaaS model is so much more profitable.
- franga2000 5y agoI really like how GitLab allows you to disable the container registry, issue tracker, CI and every other module if you don't use/need it. IMO this should be the way to introduce new features where at all possible.
- BowBun 5y agoSame with Github, you can disable issues or projects or whatever other features they have at a repo level. I agree that this and feature flags are a great way to toggle things, but unfortunately for apps like Postman you still feel the load in the download and load times for the app. Usually those fancier features are also more code/data which results in straight increases in memory/disk regardless of whether you use something or not. In IDEs like Jetbrains and VisualStudio, a lot of features are built like plugins which are a separate download and installation and allow you to disable them. I wonder if apps could take that approach to to keep more people happy.
- throwaway984393 5y agoYou've heard of the Unix philosophy? Small programs that do one thing well. Composeability, so you can combine programs to make new functionality. Rather than build one console app that has 50 features, you build 10 console apps with 10 features each. The complexity of each component stays small while your capabilities as a user grow and grow. This worked originally as the Unix designers were free to organize their code however made sense according to their philosophy. But Conway's Law comes into play in organizations, where there is always a hierarchy centred around one or two main products. Rather than one or two people making 10 different apps, it's multiple teams making a couple apps each. They don't communicate between each other well or understand the other components, and it all has to fit inside one program.
- capableweb 5y ago> You've heard of the Unix philosophy? Small programs that do one thing well. Composeability, so you can combine programs to make new functionality. That makes sense in terms of CLI utilities where text/files is the standard input/output, or APIs where json/xml/format-of-today is the standard input/output, but how would you do this with GUI tools? I'd love it if there was a solution, but I'm not aware of one. Many suites of software use a standard format for things (like .obj/.fbx for graphic object/animation, or .wav for music production), but there is usually not a pipeline as in "pipe this output from this software into that input to that software" like we do with CLI utilities, and if there is, that pipeline is not standarized nor open for extension. Will it ever be possible? I hope so, but I don't see how it can be right now.
- throwaway984393 5y agoLinux GUI apps use DBUS to communicate between each other. (I'm not a fan of it but it's better than nothing)
- capableweb 5y agoAs a comparison against traditional unix pipes (or even sockets), how does DBUS handle sending/receiving a lot of data? I always got the impression DBUS is more for notification style message passing, not actually for sending data, so you'd send a message saying "fetch the data from this socket" rather than "here's a bunch of data for you".
- johncena33 5y agoIt's also the demogrpahic of the internet. Internet is abundant with, for a lack of a better term, toxic people. Which makes sense if you think about it, since on the internet you can be toxic with very very little to no consequences. Lot of toxicity comes out in the form of criticisms. On a moderated forum like HN it's not easy to criticize a person, so you go for the next good thing - a company or a new area. If one just reads the HN solely, they might get the impression that Google is the most evil company on the earth since the beginning of time. In reality very few people actually have that kind of view. It's mostly toxic people need to find a target to unleash their toxicity; on HN it's Google. Since you are young, I'd advise to be very cautious on internet. Never take internet crowd as a proper sample of real world population. It's very skewed and almost always not in a good way.
- lugu 5y agoThere might be two types of features: those designed for the existing user base, and those to extend this user base.
- robofanatic 5y agoif you want to survive in silicon valley you need to show growth in terms of revenue or at-least the number of users on your platform. Thats a slippery slope for products like postman.
- pm90 5y agoThis is an excellent question. What I’ve noticed is that developers are incredibly annoyed when their tools don’t work well. Developers use their tools a lot, and when a tool starts “misbehaving” (resource hungry, sporadic failure, non ergonomic design etc) they are exposed to that failure constantly. This constant exposure can create intense feelings (either love or hatred) and nowhere to express them, so it will spill out on slack and on HN threads (eg count yourself lucky if you’ve worked somewhere that nobody has ranted about terraform). So take these criticisms with a grain of salt. The creators of tools and the users aren’t always aligned on the most important thing to do next and you only have so much money and time to execute on as a company so you have to make trade offs.
- viro 5y agoman, terraform errors are VERY vague. at least when I was using it.
- jen20 5y agoTerraform's error messages for things it has control over are incredibly precise. It does not have control over the content of errors are returned by provider APIs, and they are often very vague.
- viro 5y agoIt also probably didn't help that I was doing on prim VMWare which wasn't a super common use case at the time.
- cannonpalms 5y agoCompanies must show revenue improvements or they die. A vanilla REST client is pretty damn hard to monetize. That makes the Postman team's decisions perfectly rational. It's simply the way the world works.
- croes 5y agoPlugins or extension are the way to go. So if you need a feature you can install it. VS Code gained its success mainly because of it's extensibility through extension
- dgudkov 5y agoPostman raised $433M so far. Feature bloat is inevitable.