I agree on the face of things, but what the web is missing from the unix philosophy is an equivalent to |. Without the ability to string multiple, focused tools together even tools that did one thing well(i.e., Evernote) will continue to add features until it does a bunch of things meh.
Do One Thing
11–20 of 136 posts
Re: Do One Thing
#12People mean a lot of things when they say "one thing". "Do one thing" can mean "replace all occurrences of one string with another". Or it could mean "browse the web", which of course isn't really one thing but a thousand things.
Re: Do One Thing
#13I had two thoughts while reading this. 1 - The need for the web to be profitable in some way makes 'single tools' hard to build. You have to grow users, add features, etc, etc. So even if you have an API or something useful it likely won't scale economically. Unless it's government supported or behind a foundation of some sort. The Twitter API comes to mind here. 2 - This is tricky because for the web to meet the UNI…
And creates everything fun.
Re: Do One Thing
#14I agree on the face of things, but what the web is missing from the unix philosophy is an equivalent to |. Without the ability to string multiple, focused tools together even tools that did one thing well(i.e., Evernote) will continue to add features until it does a bunch of things meh.
Re: Do One Thing
#15I would like to propose a "cloud" addendum to Zawinski's law, which states that "Every program attempts to expand until it can read mail. Those programs which cannot so expand are replaced by ones which can". My addendum is: "Every cloud app expands to the point where it can host group chat. Those apps which cannot so expand are replaced by ones which can." I think it's also possible that I may have to augment the ad…
http://ben-evans.com/benedictevans/2015/3/24/the-state-of-me...
Re: Do One Thing
#16 1. suitability of a tool to multiple tasks
2. number of features a tool has
This makes for sort of a field with four quadrants: 1. simple but flexible tools
2. complex and featureful tools
3. specialized but simple tools,
4. highly specialized and highly featureful tools
So take a tool like grep and it clearly belongs in the first quadrant. You can do a lot with it, but it's pretty simple to learn and use. Emacs (or Eclipse) belongs in the second quadrant as it can basically be used for anything and is complicated to learn. Something like MyPaint belongs in the third category and there are numerous domain specific tools that belong in the fourth.So the question that remains when one is asking for a tool that 'does one thing well' is, do you mean for it to be specialized, or simple, or both?
Re: Do One Thing
#17I agree on the face of things, but what the web is missing from the unix philosophy is an equivalent to |. Without the ability to string multiple, focused tools together even tools that did one thing well(i.e., Evernote) will continue to add features until it does a bunch of things meh.
Re: Do One Thing
#18Earlier quoted context omitted.
What does your comment have to do with interoperability between web services?
Part of my comment was about his statement that the Unix philosophy is something of the past, which is false. Parts of the rest of my comment dealt with what he said about the plethora of "one size fits all" tools people are using now instead of the simple tools. Can you not make the connection?
Re: Do One Thing
#19I agree on the face of things, but what the web is missing from the unix philosophy is an equivalent to |. Without the ability to string multiple, focused tools together even tools that did one thing well(i.e., Evernote) will continue to add features until it does a bunch of things meh.
Re: Do One Thing
#20The first problem I see is that "One Thing" is really subjective. Some people might see Postgres as doing one thing really well (It is, after all, an incredible Relational Database). But others might look at Postgres entirely differently: It is a client and a server. It is a data protection and credential management system. It is an in memory caching layer. It is a NoSQL key value engine. It is a SQL database. It is a data retrieval operation optimization system. It is a storage format. Hell, it does a million SQL things that other SQL databases don't...databases that probably also qualify as doing "One Thing" in other people's eyes.
The second problem is that the world is really fucking complex, and sometimes doing one thing well is impossible unless you also do one other thing well. Rich's big example in this article is Evernote, and his claim was that Evernote did one thing well, which was note synchronization. But notes are almost always more than just text...which was why they added photos and tables and web clippings. Who would ever want just the text aspect of their notes synchronized across devices, but not their photos that they took of powerpoint slides, their data tables, their diagrams, their emails, etc.? If Evernote wanted to do "Note Taking" well, they couldn't just stop at text synchronization across devices. So they should have stopped trying to do "Note Taking" well, because someone only used them for the text synchronization that they already did? Evernote is dying, that's for sure...but its not because it did more than one thing, it is because it didn't do them well.
I get it. People like simplicity. But the world is complex, everybody's view of the world is different, and that means that sometimes you just end up not being the target market. And I also get that some things actually do do one thing and do it extremely well. But trying to extrapolate that out infinitely across all things (or even just across all software things) just doesn't pan out in reality. And what does that mean for the philosophy? It should probably just be extended to "Do things well". But that is no longer a distinctive philosophy, is it?