Live data from Hacker News

How to Design Software Good

haiku-os.org

21–30 of 191 posts

Re: How to Design Software Good

#21
> depend only on the formats installed by default in the system.

Funny fact I've actually "invented" this philosophy (drivers for every file format being installed, managed and exposed to applications and scripts by an OS) when I was a child. I was amazed to see somebody has actually went implementing this idea (as far as I understand it works approximately this way in Haiku)

> As an aside, MP3 is a format which requires licensing for decoding and encoding to be legal,so depending on the MP3 format is not a good idea unless your program deals specifically with it.

This is not true, the patent has expired AFAIK and every desktop Linux distribution can play it out-of-the box for quite a long time already (and even if it would not have, people living in countries that don't have software patenting should be let to make use of their advantage). In fact MP3 is a great format to depend on as this is the only lossy audio compression format that really plays everywhere. AAC is better and can be played on the majority of modern devices and OSes but still not really everywhere, OPUS is the best but there still are so many devices and apps that don't support it unfortunately.

Re: How to Design Software Good

#22
post #4

Wow, this is more like a master class on GUI application design than the usual guidelines you see. I don't see a byline but someone poured a lot of love and wisdom into this.

Seems the DocBook XML styler broke; there is a byline in the original source: https://github.com/haiku/haiku/blob/master/docs/interface_gu...

DarkWyrm hasn't been active on Haiku for some years now (though I think he has an occasionally-updated Twitter account?), so it's a community-maintained document at this point.

Re: How to Design Software Good

#23
post #11

...You can also make Tracker show a window for a particular folder in order to show the user where a particular file has been stored and give him access to it directly.... ...By removing unneeded items from the file navigation window, you are reducing the number of choices the user must pick from and also preventing him from opening the wrong kinds of files... ...Good feedback just means making sure that the user kno…

This document was mostly written almost a decade ago, and by someone who I think went to a prestigious institution. So the "rules of style" back then aren't what they are today.

You're right, we should update it, though.

Re: How to Design Software Good

#24

> depend only on the formats installed by default in the system. Funny fact I've actually "invented" this philosophy (drivers for every file format being installed, managed and exposed to applications and scripts by an OS) when I was a child. I was amazed to see somebody has actually went implementing this idea (as far as I understand it works approximately this way in Haiku) > As an aside, MP3 is a format which requ…

This page is from 2006.

Re: How to Design Software Good

#25
post #8

> Haiku is an operating system which is known for its speed and being easy for anyone to use. That's a fairly bold claim. Haiku is an OS that basically no one uses for any purpose. Why should I take any sort of design advice from them?

Being "known for its speed and ease of use" and "very low user base" are ... not mutually exclusive in the slightest, so I fail to see how your comment has relevance?

By your logic, since macOS has ~1/10 the install base of Windows, clearly this means that "very few" people use it and we should not take Apple's advice on anything design-related.

Re: How to Design Software Good

#26
post #24

> depend only on the formats installed by default in the system. Funny fact I've actually "invented" this philosophy (drivers for every file format being installed, managed and exposed to applications and scripts by an OS) when I was a child. I was amazed to see somebody has actually went implementing this idea (as far as I understand it works approximately this way in Haiku) > As an aside, MP3 is a format which requ…

This page is from 2006.

[deleted]

Re: How to Design Software Good

#27

> Good Software Does Not Expose Its Implementation Excellent goal but way harder than people think. I would say it is not possible in the fullest.

Indeed. Software is just like a person: what you see is an "interface," but what you are actually dealing with is the "implementation."

Re: How to Design Software Good

#28

> depend only on the formats installed by default in the system. Funny fact I've actually "invented" this philosophy (drivers for every file format being installed, managed and exposed to applications and scripts by an OS) when I was a child. I was amazed to see somebody has actually went implementing this idea (as far as I understand it works approximately this way in Haiku) > As an aside, MP3 is a format which requ…

> as far as I understand it works approximately this way in Haiku

Yep, it is indeed. You can of course write your own translators for custom file formats and install them along with your application; but then anything which already handled whatever representation they produced (e.g. PNG/JPG/etc. images -> BBitmap, Haiku's image buffer class) could then handle those filetypes also.

> This is not true, the patent has expired AFAIK

Only last year, and this document was mostly written a decade ago :)

Haiku can now play MP3 out of the box also (and since the servers and buildbots are mostly in Germany, we don't really pay much attention to U.S. patents anyway at this point.)

Re: How to Design Software Good

#29
post #8

> Haiku is an operating system which is known for its speed and being easy for anyone to use. That's a fairly bold claim. Haiku is an OS that basically no one uses for any purpose. Why should I take any sort of design advice from them?

Haha no one using it means they can go ham on trying good designs as they are unbound by legacy reasons.

Actually, looks like Haiku is a compatible reimplementation of a "legacy" OS.

Re: How to Design Software Good

#30
post #29

Earlier quoted context omitted.

Haha no one using it means they can go ham on trying good designs as they are unbound by legacy reasons.

Actually, looks like Haiku is a compatible reimplementation of a "legacy" OS.

Depends what you mean by "compatible." We preserve binary compatibility on 32-bit x86 with BeOS, indeed. But it hasn't stopped us from re-arranging parts of the GUI, or adding new APIs, or experimenting with the kernel, or ... etc.
Post reply on HN