4 ms·
Developer efficiency often gets prioritized over user experience because that's the only way the software would even get to exist. I take my own software that
by jasode 7y ago
Developer efficiency often gets prioritized over user experience because that's the only way the software would even get to exist.
I take my own software that I write solely for personal use as examples. In those cases, I play both roles of the developer and the end user. Most of my utilities are console command line utilities instead of full GUI. As a result, I have a bunch of command-line utilities that are very cumbersome to use. That's because I prioritized the dev experience over the UX.
Console apps are 10 times faster to code. I can bang out printf() or Console.WriteLine() statements 10x faster than placing GUI textboxes on a form. Yes, GUI wizards and templates accelerate the layouts but it's still not as fast as console apps for quick & dirty utilities. As an end user, I'd prefer easier-to-use GUI apps but I don't have the extra time to code them. I complained to the developer (that's me) to make a GUI app with better UX instead but the dev ignored me.
With my limited time, I'd rather have 20 utilities with bad UX that exist rather than just 5 apps with good UX at the expense of not having the other 15 at all. It's an unavoidable tradeoff of finite time.
Likewise, I as an end user don't like Electron apps but I know that lecturing developers on using something lighter weight like C++ & Qt or C#/Winforms means they wouldn't bother writing the app at all. It was the ease (and/or familiarity) of Javascript that allowed them to write the app in the first place.
[REVISED above text to clear up the misunderstanding in the reply.]
- cml 7y agoIs it possible you are agreeing with the author? > Most of my utilities are console command line utilities instead of full GUI and they are very cumbersome to use. That's because I prioritized the dev experience over the UX. As the user you prefer command line utilities, and so I interpret your building command line utilities as prioritizing the user's experience. On the other hand, if you needed a program that could exist very efficiently as a command line utility but, desiring to learn how to use some new GUI toolkit you built a GUI instead, I might interpret your action as prioritizing the developer experience (in which you are focused on the details of the implementation) over the user experience (in which you are focused on the results).
- intarga 7y agoYou misunderstood that line, they're saying the command line utilities are cumbersome
- a1369209993 7y ago> the command line utilities are cumbersome Except this is obviously untrue? I can't pipe a window through grep or sed.
- onemoresoop 7y agoWhen you need to. Other times when you need to pass lots of params and havent decided which ones are staying so scripts are a bit extra time which is not there and when you need to explore in a different way the domain area, GUIs or TUIs may be more suitable. I love what one can do out of simple tools like that and how nicely they compose but if the experience is draining, my brain is going to notice and start avoiding it next time
- redisman 7y agoI've build GUI tools for projects like game editors before and since they're mainly for developers it'll just end up as a huge mismash grid of buttons anyway. Not really any better usability than a console app, just there is usually a requirement to show some image on the screen at the same time.
- buckminster 7y agoCommand lines! That's some fancy UI. For utilities I won't use very often I just hard code the parameters. If I want different parameters I edit the code.
- spiffytech 7y agoI think this is the key point -- JavaScript is eating the world because it allows a single team to support a single codebase built in a single technology across all target platforms with minimal platform-specific integration. Indie software gets to exist _at all_, and businesses don't have to pick and choose which OSes are worth the investment, and which simply won't get the product. As was common 10-15 years ago, when most software was either Windows or Mac, often not both, and Linux considered itself lucky that Flash was only a _little_ behind instead of a _lot_ behind.
- yepguy 7y ago> Most of my utilities are console command line utilities instead of full GUI. As a result, I have a bunch of command-line utilities that are very cumbersome to use. That's because I prioritized the dev experience over the UX. Same here, although lately I don't even bother writing a full CLI utility. Instead I just write a few functions to call from a REPL. (On a side note, why is the REPL experience so bad in JavaScript? How can Clojure have a better REPL to the JavaScript ecosystem than JavaScript itself?)