Why software sucks?
scottberkun.com
Why software sucks?
1–10 of 82 posts
Re: Why software sucks?
#2Re: Why software sucks?
#3Generally 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?
#4Software 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…
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?
#5Software 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…
Re: Why software sucks?
#6Software 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?
#7Re: Why software sucks?
#8Earlier 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.
Re: Why software sucks?
#9Software 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,…
Re: Why software sucks?
#10Software 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,…
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...