Earlier quoted context omitted.
Okay, I was being annoying, but I would actually like to know what the difference between "monotonically worse" and "worse" is.
"monotonically worse" means it never gets better. "worse" without "monotonically" means it may get better for a bit, but overall it will be worse. https://en.wikipedia.org/wiki/Monotonic_function
The Decline of Usability
631–640 of 719 posts
Re: The Decline of Usability
#632Earlier quoted context omitted.
The problems with reliance on a giant framework are many. Yes, a noticeable decay of performance is one of those. The biggest problem I see though is lost imagination. Usability concerns seem all but completely and generally forgotten unless a given framework deliberately provides a dedicated convention for a specific usability concern. Worse still is that many developers reliant upon a giant framework absolutely can…
Bad UI design has nothing to do with your coding framework of choice, it has everything to do with the design. Most programmers are not good designers. I cringed a bit at the background color of the OP's blog. There's a reason that most people are unimaginative, because just like coding, design is hard. Design for multiple platforms (the whole point of using UI frameworks is easier multiplatform development) and mult…
https://news.ycombinator.com/item?id=22470179
I wish I were making that up.
There are many aspects of design that are at first challenging. I just watched this video about inventing a new basketball backboard and it took a lot of work: https://news.ycombinator.com/item?id=22898653 There will always be some minimal thought work to creating and testing any creative or original concept, but with practice the effort involved reduces considerably. Even though some minimal effort is required (as with any task) is not an excuse to avoid effort in the entirety. At some point it is just mental laziness.
Re: The Decline of Usability
#633Earlier quoted context omitted.
"What's crazy is Gimp has always felt user-hostile to me." You're not wrong, I wish you were but you're not. By any measure GIMP is a dog of a program. I wish it weren't so as I stopped upgrading my various Adobe products some years ago, but alas it is. It would take me as long as this 'The Decline of Usability' essay to give an authoritative explanation but I'll attempt to illustrate with a few examples: 1. The way…
it’s almost as if good design is not free
As I see it, there are great swathes of poor and substandard software on the market that shouldn't be there except for the fact that there's either no suitable alternative, or if reasonably good alternatives do exist then they're just too expensive for ordinary people to use (i.e.: such software isn't in widespread use). I base this (a) on my own long experience where I encounter serious bugs and limitations in both commercial and open source software as day-to-day occurrences; and (b), data I've gathered from a multitude of other reports of users' similar experiences.
(Note: I cannot possibly cover this huge subject or do it reasonable justice here as just too involved, even if I gave a précised list of headings/topics it wouldn't be very helpful so I can only make a few general points.)
1. The software profession has been in a chronic crisis or decades. This isn't just my opinion, many believe it fact. For starters, I'd suggest you read the report in September 1994 edition of Scientific American titled Software's Chronic Crisis, Wayt Gibbs, pp 86-95: https://www.researchgate.net/publication/247573088_Software'... [PDF]. (If this link doesn't work, then a search will find many more references to it.)
1.1 In short, this article is now nearly 26 years old but it's still essentially the quintessential summary on problems with software and the software industry generally (right, not much has changed in the high-level sense since then, that's the relevant point here). In essence, it says or strongly implies:
(a) 'Software engineering' really isn't yet a true engineering profession such as chemical, civil and electrical engineering are and the reasons for this are:
(b) As a profession,'Software engineering' is immature, it 'equates' [my word] to where the chemical profession was ca 1800 [article's ref.], (unlike most other engineering professions, at best it's only existed about a third to a quarter the time of the others).
(c) As such, it hasn't yet developed mandatory standards and consistent procedures and methodologies for doing things—even basic things, which by now, ought to be procedural. For instance, all qualified civil engineers would be able to calculate/analyze static loadings on trusses and specify the correct grades of steel, etc. for any given job or circumstance. Essentially, such calculations would be consistent across the profession due to a multitude of country and international legally-mandated standards which, to ensure safety, are enforceable at law. Such standards have been in place for many decades. Whilst the 'Software Profession' does have standards, essentially none are legally enforceable. Can you imagine Microsoft being fined for, say, not following the W3C HTML standard in Windows/Internet Explorer to the letter? Right, in this regard, software standards and regulations are an almighty joke!
(d) Unlike other engineering professions, software engineers aren't required by law to be qualified to a certain educational standard [that their employers may require it is irrelevant], nor are they actually licensed to practice as such. When 'Software engineering' eventually becomes a true profession then these requirements will almost certainly be prerequisites for all practitioners.
(e) With no agreed work procedures or mandated work methodologies across the profession 'software engineers' are essentially 'undisciplined'. As such, the SciAm article posits that software programmers work more akin the way of artists than that of professional engineers.
(As a person who has worked in both IT/software and in an engineering profession for years, I have to agree with Wayt Gibbs' assessment. There are practices that are generally acceptable in software engineering, which if I attempted to equate them to an equivalent circumstance with my engineering hat on, then I'd likely end up in court (even if no one was killed or injured by what I'd done. Here, the rules, the structure—the whole ethos is different, and both ethics and law play much stronger roles than they do in software-land).
2. You may well argue that even though Computing Science is not as old as the other engineering professions, it, nevertheless, is based on solid mathematics and engineering foundations. I fully agree with this statement. However, without enforceable standards and licensed/qualified software practitioners, the industry is nothing other than just 'Wild West' engineering—as we've already seen, in software just about anything goes—thus the quality or standard of software at best is only that of the programmer or his/her employer.
3. As a result, the quality of product across the industry is hugely variable. For example take bloatware: compare the biggest bloatware O/S program ever written, MS Windows, with that of tiny, fast and highly efficient Kolibrios OS, built on Assembler https://kolibrios.org/en/ (here I'm referring to methodology rather than functions — we can debate this later).
4. The commercial software industry hides behind the fact that its software is compiled, thus its source code is hidden from public view and external scrutiny. Its argument is that this is necessary to protect its so-called intellectual property. Others would argue that in the past loss of IP was never really the main issue, as manufacturing processes were essentially open—even up until very recent times. Sure, it could be argued that some manufacturing had secrets [such as Coca Cola's formula, which really is only secret from the public, not its competitors], but rather industrial secrets are normally concerned with (and applied to) the actual manufacturing process rather than the content or parts of the finished product. That's why up until the very recent past most manufacturers were only too happy to provide users with detailed handbooks and schematics; for protection from copies they always relied on copyright and patent law as protection (and for many, many decades this protection process worked just fine). It's a farce to say that commercial 'open source' isn't viable if it's open. Tragically, this is one of the biggest con job the software industry has gotten away with—it's conned millions into believing this nonsense. More the true reason is that the industry couldn't believe it's luck when it found that compilers hid code well — a fact that it then used opportunistically to its advantage. (Likely the only real damage that would be done by opening its source is the embarrassment it'd suffer when others saw the terrible standard of its lousy, buggy code.)
4.1 'Software engineering' won't become a true profession until this 'hiding under compilation' nexus is broken. There are too many things that can go wrong with closed software—at one end we've unintentional bugs that cannot be checked by third parties, at the other we've security, spyware and privacy issues that can be and which are regularly abused; and there's also the easy possibility of major corruption—for instance, the Volkswagen scandal.
5. Back to your comment about 'good design not being free'. I'm very cognizant of the major resource problems that free and open source software developers face. That said, we shouldn't pretend that they don't exist, nor should we deliberately hide them. I accept that what we do about it is an extremely difficult problem to solve. My own suggestion to up the standard of open software is a sort of halfway house where cooperatives of programmers would be paid reasonably acceptable remuneration for their contribution to these major open projects. In turn, there would be a small nominal free (say $5 to $20) levied on large scale open software programs such as GIMP, LibreOffice, ReactOS etc. to ensure that development could go ahead at a reasonable pace (the projects otherwise would be revenue neutral—there would be no profits given to third parties).
Let me finish by saying that whilst commercial software has the edge over much free/open software (for example MS Office still has the Edge over LibreOffice), that edge is small and I believe the latter can catch up if the 'funding/resource' paradigm is changed just marginally. Much commercial software such as MS Office is really in a horrible bloated spaghetti-code-like mess and with better funding it wouldn't take a huge effort for dedicated open software programmers to beat their sloppy secretive counterparts at their own game. After all, for many commercial programmers, programming is just a job, on the other hand open software aficionados are usually doing it for the love of it—and that's a true strategic advantage.
I firmly believe that for open software to really take off it has to be as good as and preferably better than its commercial equivalent. Moreover, I believe this is both possible and necessary. We never want a repeat of what happened in Munich where Microsoft was able to oust Linux and LibreOffice. With Munich, had it been possible to actually demonstrate that the open code was substantially and technically superior to that of Microsoft's products, then in any ensuing legal battle Microsoft would have had to lose. Unfortunately that was not possible, so the political decision held.
One thing is for certain, we urgently need to raise the standard of software generally and it seems highly unlikely that we can do so with the way the industry is currently structured.
Re: The Decline of Usability
#634Earlier quoted context omitted.
Yea if a framework makes breaking changes to the point where you can't upgrade your app, that seems like it could be a recurring problem so after the first rewrite you might as well learn native code and write it there.
This is a lesson that consistently gets lost in the salivation over the latest SPA framework sexiness.
Re: The Decline of Usability
#635Earlier quoted context omitted.
Most, not all; if you have the right skills, you can find a comfortable job maintaining legacy code and (actually) improving it. Then again, most developers seem more interested in chasing new and shiny rather than polishing a stable system.
" comfortable job maintaining legacy code " That's a very dangerous career path though. If that legacy system gets replaced you are usually out of a job and job search is hard with outdated skills.
Also, problem solving and creative thinking are never outdated skills. ;-)
Re: The Decline of Usability
#636Earlier quoted context omitted.
Let’s hear them out in the spirit of debate. I’m curious how this hypothetical VCR is programmed, what the remote and interface might look like. I might even like it, or at least want parts of it as concepts to integrate with other things that already exist. Could shake loose some ideas. Honestly I don’t know why VCRs are so hard to program but all of the buttons can’t help. I might be getting old but the Roku remote…
I remember what setting the time on a VCR was like and it's interesting to think of all the assumed knowledge you actually need in order to have it seem intuitive. Two things off the top of my head that I can think of: 1) knowing that a blinking number is indicating some kind of selection and more generally 2) seeing the UI as a glimpse into a larger abstract space that can be navigated. Or in other words, having use…
The biggest “what were they thinking” part for me is why they cram a whole GUI with config options and menus into a clock when almost every use case for a VCR is already connected to a perfectly workable display which is much better suited to a GUI in the form of the TV. Later VCRs had onscreen rather than on-device GUIs but by then institutional momentum was too far along to redesign the remote when they moved the GUI out of the device and onscreen. Truly a missed opportunity.
I don’t know anyone involved in any VCR product. If I did I’d be asking them a lot of questions. But I have a hard time thinking they meant to make it so hard. They probably were clapping each other on the back and congratulating each other. They were inventing future ways of using content and for that they deserve praise. They just sucked at understanding how hard it is for non experts to put themselves in the mind of experts, someone whose inner mental world has jarringly different contours and whose mental model of reality may have little to no correspondence whatsoever with their own.
Re: The Decline of Usability
#637Earlier quoted context omitted.
"What's crazy is Gimp has always felt user-hostile to me." You're not wrong, I wish you were but you're not. By any measure GIMP is a dog of a program. I wish it weren't so as I stopped upgrading my various Adobe products some years ago, but alas it is. It would take me as long as this 'The Decline of Usability' essay to give an authoritative explanation but I'll attempt to illustrate with a few examples: 1. The way…
I've only hacked on GIMP a small bit, so I'm no means an authority, but the sad truth is that GIMP is an extremely small project driven mostly by volunteers. There is a desire to correct these issues but there are many, many other issues to prioritize them against. It's been a very infrequent occurrence for them to have the resources to work with UI/UX designers. I'm not trying to dismiss your complaints, but I think…
Users, show precious little allegiance to any app when it balks them or they cannot find an easy way to do what they want to (run a help desk for a week and you'll get that message loud and clear).
Re: The Decline of Usability
#638Earlier quoted context omitted.
Yea if a framework makes breaking changes to the point where you can't upgrade your app, that seems like it could be a recurring problem so after the first rewrite you might as well learn native code and write it there.
This is a lesson that consistently gets lost in the salivation over the latest SPA framework sexiness.
Re: The Decline of Usability
#639Earlier quoted context omitted.
Bad UI design has nothing to do with your coding framework of choice, it has everything to do with the design. Most programmers are not good designers. I cringed a bit at the background color of the OP's blog. There's a reason that most people are unimaginative, because just like coding, design is hard. Design for multiple platforms (the whole point of using UI frameworks is easier multiplatform development) and mult…
Creativity and originality have tremendous amounts to do with solving UI problems. Here is an example of developers literally lost without a framework to tell them what to build: https://news.ycombinator.com/item?id=22470179 I wish I were making that up. There are many aspects of design that are at first challenging. I just watched this video about inventing a new basketball backboard and it took a lot of work: https…
Re: The Decline of Usability
#640Earlier quoted context omitted.
Krita matured nicely over the years and last time I found it quite easy to use. UI is hard. It got replaced by "UX", but nobody agrees what that really is. So it boils down to whatever impracticality designers dream up. When UI was easy, there were real research, data backing up claims of improvements and laid down rules to enforce some consistency. This became "unfashionable" and was removed.
It was a hard structured science, hicks law, conservation of complexity, goms analysis, fitts law ... we've tossed these decades of hard work in the garbage can because somebody in marketing didn't like the colors. It was like during the VCR wars of the 80s when consumers wanted the most features but yet the fewest buttons. Then they complained how you had to basically play rachmaninoff on their sleek minimal interfa…
Correct, that's the 2000+ year old axiom of ignoring the lowest common denominator and seeking the best advice available.
That said, if you're designing software for use by users who are 'lowest common denominator' then, a priori, you have to make it to their measure. If they cannot understand what you've done then you've wasted your time.