Hacker News new | ask | show | jobs
by dahjelle 5313 days ago
I had a sudden hypothesis after reading this thread last night. (No proof, mind you, just an idea.) I wonder if HyperCard's success was for the same reason as UNIX's success: a well-chosen, small set of interoperable tools that allowed the user to do far more than the sum of their parts. And, as computing and interfaces have become more complex, we've just tacked on complexity to them rather than reinventing them to adapt.

For instance, UNIX's treatment of everything as a file is a great tool, but I think there was a time where that simplified a much greater percentage of computing than it would today. Similarly, I suspect HyperCard died because the abstractions it was using had to be reimagined to stay competitive.

Spreadsheets (as mentioned elsewhere) are an example of a product that has managed to stay focused on the simple set of tools, and, when features were tacked on, they often stay out of the way instead of adding complexity to day-to-day operations. However, I'm not sure they've aged well, but I guess they are the best we have at the moment.

1 comments

IMHO, the Linux programming environment is a mess precisely because not everything is a file handler - not even sockets, as even though sockets can behave like files, there are differences. Plan9 was supposed to be the reinvention of Unix and a lot of useful stuff was ported from Plan9 to modern-day Linux, including the /proc filesystem which is really, really useful.

Unfortunately the UNIX philosophy is so powerful that you don't understand it until you live and breathe UNIX. And it also doesn't scale for some use-cases, but this philosophy is the reason why UNIX is not only alive, but the dominant platform.

Also, HyperCard is NOT a "small set of interoperable tools". And neither is Excel.

Though I haven't done any Linux programming, I can definitely see your point. A abstraction seems only as useful as it is consistent.

You're right: HyperCard and Excel aren't a small set of interoperable tools like UNIX is. I would argue, though, that they are close: a walled garden of interoperable tools. Rather than guide you through steps to a specific end (the extreme example is a wizard for, say, a mail merge), they present you with tools you can use to get to that end. Obviously, they don't work particularly well outside their garden, and the great advantage of adding tools to your toolset is cumbersome at best.

I do wish I understood the UNIX philosophy better. Perhaps I'll learn more over time.