Hacker News new | ask | show | jobs
by saosebastiao 3891 days ago
I'm definitely guilty of holding onto a philosophy and thinking it applies universally, so I can't blame people that hold onto the Unix philosophy extremely strongly. But I can't help but think that the world requires a hell of a lot more pragmatism than the Unix philosophy can provide.

The 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?

4 comments

> but its not because it did more than one thing, it is because it didn't do them well.

In general I agree with your line of thinking, but I will nitpick on this particular sentence (or the way it's phrased) and say: the whole idea of doing only one thing is that if you try to do more than one thing, you will definitely not do them all well.

I do agree with you though. The "many things" that postgresql does are all actually just one thing: database system.

Yea some people could argue that under the cover it's many different things, but the whole idea is about focus, not about counting features. There are always multiple aspects to the "one thing" (whatever your one thing happens to be). Doing the one thing well means tackling all of these aspects.

The reason you can't do multiple things well is that each one of the multiple things you want to do will in itself have many aspects, and your focus will be fragmented trying to tackle too many things with very limited resources.

What if something if really good at being a website?
Or really good at being a platform.
> 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.?

That's one thing I don't get. Dropbox could have made a decent markdown or (please, pretty please) org-mode editor and would have blown everyone out the water. Editor over Dropbox is a perfect thing - unlike every other butt solution out there, including Google Drive, it doesn't limit you to your butt provider. Files on Dropbox are still your files, in your own filesystem, and you can do whatever the fuck you want with them. A simple editor for people who don't like (or don't want to, on a particular device) playing with file juggling, and it would be a perfect note taking solution.

I've actually asked Dropbox to do exactly this, but no dice. Their mobile app allows you to edit text files fairly easily, but no web client.

It would be amazing if they would just let me use this on their website:

http://coolwanglu.github.io/vim.js/streamlinejs/vim.html

Your comment describes my thoughts, as well. It also strikes me that there have been tools (like Yahoo Pipes) that did more than what IFTT did. Also, if you want to beat IFTT, and feel there's a market, then do it, right?

I also felt like there was a lack of imagination in some of the comments. Poo-pooing images in notes as related selfies is nice hyperbole, but I used it all of the time for System Diagrams and other bits that are so much easier to draw on a large white board than to transcribe or even draw on a digital canvas.

I DO wish there was a easier way to donors than just 1 thing with IFTT, though. Perhaps that is in the cards someday.

Ironically the Unix philosophy doesn't even really apply to Unix itself - it mainly just applies to GNU tools. Unix is a general purpose operating system for computers of all shapes and sizes. You can't get much more generic than that.
It's still built on a simple kernel that doesn't do much and a user land of many independent processes. The philosophy doesn't forbid generality, it just encourages a "federalist" organization of cooperating programs communicating through simple kernel institutions (files, sockets).