Live data from Hacker News

Why software sucks?

scottberkun.com

1–10 of 82 posts

Re: Why software sucks?

#2
Software is too complicated. Now that we have a generation growing up with computers software engineers are happily brain-damaging them into expecting hugely complex software that doesn't really work. The browser is the perfect example. Why can the user manually reload a page? Shouldn't it all update automatically? The answer is: it's that way because it was convenient for lazy designers a long time ago and nobody bothered fixing it. And it will be rationalised as a good decision now that people have been damaged into thinking it's a good thing. What's there has blinded people to what is possible. Don't let people fool you into thinking that there are good reasons why we ended up with, say, C instead of Forth. It's all rubbish. We've become a field of charlatans.

Re: Why software sucks?

#3
Software tends to suck when either you build the wrong thing or you bit off more than you could chew and the implementation of a good thing ends in disaster. Or both.

Generally the "lean startup" credo holds true here: Build an MVP fast, get feedback and iterate.

However, there is one technique which doesn't get enough airtime in my view and that is paper prototyping. It gives you a surprising amount of quality feedback with a fraction of the effort of coding something up (and no bugs!), and allows you to iterate there and then.

Re: Why software sucks?

#4

Software is too complicated. Now that we have a generation growing up with computers software engineers are happily brain-damaging them into expecting hugely complex software that doesn't really work. The browser is the perfect example. Why can the user manually reload a page? Shouldn't it all update automatically? The answer is: it's that way because it was convenient for lazy designers a long time ago and nobody bo…

Err, what are you supposed to do when you edit a file on your webserver and want to see how it looks? HTTP is not NFS!

But you are mostly right, software has far, far too many pointless layers of abstraction now, requiring vast resources just to do trivial tasks. There's nothing 99% of people use a wordprocessor or a spreadsheet for that you couldn't do on an 8-bit micro in the 80s. Games these days are just not fun, whereas the 8-bit days were a golden era of creativity. We need to take it back to the old school.

Re: Why software sucks?

#5
post #3

Software tends to suck when either you build the wrong thing or you bit off more than you could chew and the implementation of a good thing ends in disaster. Or both. Generally the "lean startup" credo holds true here: Build an MVP fast, get feedback and iterate. However, there is one technique which doesn't get enough airtime in my view and that is paper prototyping. It gives you a surprising amount of quality feedb…

Very amusing that you think that as that approach is what got us into this mess. MS (not to single anyone out in particular) has always been notorious for rushing a buggy 1.0 to market then iterating it. That's why you need a quad-core 3Ghz PC with 8G RAM to write a single page of A4 now.

Re: Why software sucks?

#6
post #5
post #3

Software tends to suck when either you build the wrong thing or you bit off more than you could chew and the implementation of a good thing ends in disaster. Or both. Generally the "lean startup" credo holds true here: Build an MVP fast, get feedback and iterate. However, there is one technique which doesn't get enough airtime in my view and that is paper prototyping. It gives you a surprising amount of quality feedb…

Very amusing that you think that as that approach is what got us into this mess. MS (not to single anyone out in particular) has always been notorious for rushing a buggy 1.0 to market then iterating it. That's why you need a quad-core 3Ghz PC with 8G RAM to write a single page of A4 now.

I can't agree that a buggy and slow version of a product is an MVP. There are a lot of things that you can cut from a product to make it minimal. I don't believe quality is one of them. However, I also believe that user feedback cannot be the only factor to build something truly great.

Re: Why software sucks?

#7
There is one thing that makes software suck, and that's how far apart its developers and users are. I dream of going to SAP's offices in Germany and seeing how they book their own vacation and submit their own expenses. I can't believe they do it with their own product, or it would be slick...

Re: Why software sucks?

#8
post #6
post #5

Earlier quoted context omitted.

Very amusing that you think that as that approach is what got us into this mess. MS (not to single anyone out in particular) has always been notorious for rushing a buggy 1.0 to market then iterating it. That's why you need a quad-core 3Ghz PC with 8G RAM to write a single page of A4 now.

I can't agree that a buggy and slow version of a product is an MVP. There are a lot of things that you can cut from a product to make it minimal. I don't believe quality is one of them. However, I also believe that user feedback cannot be the only factor to build something truly great.

Windows 1.0 and Word 1.0 were viable by definition, as people did buy them.

Re: Why software sucks?

#9
post #4

Software is too complicated. Now that we have a generation growing up with computers software engineers are happily brain-damaging them into expecting hugely complex software that doesn't really work. The browser is the perfect example. Why can the user manually reload a page? Shouldn't it all update automatically? The answer is: it's that way because it was convenient for lazy designers a long time ago and nobody bo…

Err, what are you supposed to do when you edit a file on your webserver and want to see how it looks? HTTP is not NFS! But you are mostly right, software has far, far too many pointless layers of abstraction now, requiring vast resources just to do trivial tasks. There's nothing 99% of people use a wordprocessor or a spreadsheet for that you couldn't do on an 8-bit micro in the 80s. Games these days are just not fun,…

"HTTP is not NFS" is a technical challenge that is potentially solvable. With single page apps the reload button is becoming increasingly irrelevant anyway though.

Re: Why software sucks?

#10
post #4

Software is too complicated. Now that we have a generation growing up with computers software engineers are happily brain-damaging them into expecting hugely complex software that doesn't really work. The browser is the perfect example. Why can the user manually reload a page? Shouldn't it all update automatically? The answer is: it's that way because it was convenient for lazy designers a long time ago and nobody bo…

Err, what are you supposed to do when you edit a file on your webserver and want to see how it looks? HTTP is not NFS! But you are mostly right, software has far, far too many pointless layers of abstraction now, requiring vast resources just to do trivial tasks. There's nothing 99% of people use a wordprocessor or a spreadsheet for that you couldn't do on an 8-bit micro in the 80s. Games these days are just not fun,…

On automatic website refreshing:

See guidelines 97 and 98 from Jakob Nielsen and Marie Tahir's book 50 Websites Deconstructed [1] for the primary reason why there has been little interest in removing the "refresh" button from browsers.

Technical limitations don't really exist (and if they do exist it'd be fairly easy to solve). Server-sent events[2] and WebSocket[3] are already implemented in the latest versions of popular browsers. Modules or implementations within popular HTTP servers already exist for doing HTTP push (they tend to use older AJAX-like techniques though).

If usability was no concern (or very carefully handled) it'd be fairly easy to write your own nginx module or "WebSocket server"[4] that uses inotify to check for file system changes. For each change that impacts an open WebSocket connection, a "refresh this page" notification can be sent to the browser (which then uses JavaScript to force a page refresh). There is a potential for smarter refresh mechanisms in browsers that maintain the current scroll state, field values, etc but you'd still be frustrating the user with severe usability problems.

[1] http://www.useit.com/homepageusability/guidelines.html

[2] https://en.wikipedia.org/wiki/Server-sent_events

[3] https://en.wikipedia.org/wiki/WebSockets

[4] http://altdevblogaday.com/2012/01/23/writing-your-own-websoc...

Post reply on HN