4 ms·
You've just summed up the gui/command line dichotomy. It's something we could do better at bridging the gap between. Tbh things like this, a gui front end for
by benj111 7y ago
You've just summed up the gui/command line dichotomy.
It's something we could do better at bridging the gap between.
Tbh things like this, a gui front end for a terminal app seem the best way forward. I don't know why they aren't used a lot more in open source, it just seems to match up so much better to the open source model of a random person developing a project and no one taking over when that person loses interest. The front ends are the sexy bits where you get more churn but also more interest. The boring back end doesn't attract, but also doesn't need so much attention.
I suppose you could argue we do it at the library level, I still think there's room to do it at this level also.
- Fnoord 7y agoYou can't script this GUI. You can't use Cron with an interactive GUI. You can't parse stdin/out/err. Each have their pros and cons. I'd say what makes most sense is a library with frontends (CLI, TUI, GUI, (web)socket, etc) In this case I wouldn't need a GUI with Electron. All I would need is a Firefox extension for youtube-dl (or the hypothetical library). Why keep reinventing wheel? Hence library. One annoying thing with CLI is defaults. You might wanna set defaults (in CLI often used in an alias). So I end up managing a large alias list but what if I use more than 1 shell depending on machine? What if the machine does not use Git to sync such files?
- benj111 7y ago"You can't script this GUI. You can't use Cron with an interactive GUI. You can't parse stdin/out/err" No but you can script the underlying youtube-dl so with the gui front end you get the best of both worlds. Re defaults, that isn't an inherent shortcoming of terminal apps. Theres no reason why 'youtube-dl url' shouldn't just do the 'right thing'. I agree it's a common problem though.
- majewsky 7y ago> Theres no reason why 'youtube-dl url' shouldn't just do the 'right thing'. The error in your reasoning is that you assume the existence of a singular right thing. Software that attempts to just do the right thing tends to suffer from what I call Overly Clever Syndrome. I hate waiters or store clerks that second-guess my motivations. Why should I like software that does the same? That said, `youtube-dl $url` will download the pointed-to video in the best available quality, so that's a pretty decent default.
- benj111 7y agoI put 'right thing' in inverted commas because I know how slippery it can be. Gui apps have defaults too, this isn't a problem unique to terminal apps. I'll go further and say GUI apps suffer more because they tend to design around a default and have many fewer non default options, in the name of being easy to use. Terminal apps on the other hand 'suffer' because they don't make enough assumptions about how it is to be used. Suffer is very much in inverted commas though, sometimes you want to do that niche thing, and having something that makes no assumptions about how it will be used is great. On the other hand having to read a manpage for the simplest of things is not so great.
- dahfizz 7y ago> the front ends are the sexy bits For a lot of people this isn't true. I think for web developers, making guis is fun (why this is done in electron). For a lot of non web developers, making the actual tool is the fun part. Having to then fiddle around with some gui feels less like programming and more like a chore.
- benj111 7y agoOk, can we agree that back end and front end appeal to different kinds of people, and the lifespans of front end and backend are different.
- mayeaux 7y agoActually I hate doing frontends way prefer to work with serverside code than play with the DOM, but I recognize that a good frontend is super important to the app to allow people to reason about how it works and to help them through the process, but for my 2c I would way prefer to tinker with backend code all day :)
- AnIdiotOnTheNet 7y ago> Tbh things like this, a gui front end for a terminal app seem the best way forward. I don't know why they aren't used a lot more in open source Elitism. A lot of people in tech have gigantic egos and believe they are better than everyone else because of their arcane knowledge, so they have no desire to see anything become more discoverable or easier to use.
- TeMPOraL 7y agoWhereas non-tech people would run around like headless chicken if asked to build anything. Forget discoverability. It's not an ego issue - I doubt any tech worker is happy when dealing with non-discoverable software as a user. But connecting this experience to building your own software, and learning to design things to be discoverable by default (because in a typical job, if you don't do something right the first time, it probably won't ever be done right), is hard.
- benj111 7y agoI think its more: A) power users having different priorities to light users. That tool you use every day, you probably use keyboard short cuts, know all the flags. The tool you use once every 6 months, you probably scan the menus and check the man page. Open source tends to be focused more on the power users, mainly because its probably power users that made the thing to start with. B) open source tends not to be a 'product'. There aren't focus groups and usability testers, the first releases are Alphas and Betas so tend to attract technically minded people that find their way around less discoverable interfaces.
- Gracana 7y agoI liked the "Commando" GUI in the Macintosh Programmer's Workshop: http://school.anhb.uwa.edu.au/personalpages/kwessen/web/software/mac/mpw.gif http://school.anhb.uwa.edu.au/personalpages/kwessen/web/soft... Using it is like pulling up the manpage while typing out a command, but interactive. Once you're done formulating your command, it runs in your worksheet and you can modify it and re-run it if necessary, just like any other command.
- mayeaux 7y agoEven being someone who uses the CLI, now that I have this app I will probably rarely use the CLI, it's just nicer to see things visually as to be able to reason about them. Also selecting the directory etc is something way more easily done via a GUI than the command line. There's a reason why operating system manufacturers created a GUI and we all use them today, they fit with our brains much more than just using a terminal.
- fock 7y agoI guess for the ever changing sea (more like the lakes of Google and Vimeo) of video-sites, the backend actually matters a lot... And (this GUI being a prime example- while not really even featureful): most CLI (instead of library...)-wrappers show it. They're a bunch of dialogs for selecting options - wow. I wouldn't care if you propose developing the GUI separately (basically for wrapping any CLI, you could develop a generic wrapper, reading in declarative configs...), but the kind of execution demonstrated here is probably necessiting the installation of 1 GB of electron-crap (say hello to the reusing world of require('shebang-regex'))