[Jack-Devel] Client-Server models are just fine. Please?

PrevNext  Index
DateMon, 01 Feb 2016 12:52:47 +0100
From Jörn Nettingsmeier <[hidden] at stackingdwarves dot net>
ToJack devel <[hidden] at lists dot jackaudio dot org>
Follow-UpJörn Nettingsmeier Re: [Jack-Devel] Client-Server models are just fine. Please?
Follow-UpJohn Rigg Re: [Jack-Devel] Client-Server models are just fine. Please?
Hi *!


Funny to see the recent activity prompted by Paul's step-down notice. 
I'm a bit worried to see this flurry of fundamental design discussions 
about putting everything into some magical lib and whatnot.

Client-server thinking is a fundamental prerequisite for keeping one's 
sanity when using UNIX (and Mac OS X, for that matter), and it even 
benefits Windows users. Client-server architecture is good. It works.

Nothing against automating things, but if your user-friendly application 
feels it must spawn a jack server for me, it needs to do all of the 
following:

* pop open a notice to the effect that no jack server has been found and 
does the user want you to do that for her/him? together with a checkbox 
to not ask again and a notice on how to undo the "don't ask again".

* spawn a jackd server and explain to the user how it guessed what 
configuration to use and how to change that. also point out to the user 
how to see/modify jack connections with jack_lsp/jack_connect (because 
they will always be present on any system that has jack) and of course 
point to user-friendly tools such as JackPilot, qjackctl, or patchage.
also tell the user how to access jackd error messages.

no votes for implicit magic without being obvious about what's being done.

good example of how not to do magic (no systemd bashing here, plz, it's 
just an example!): i use cd ripping tool "asunder" and tell it to log to 
/var/log/asunder.log because i suspect hardware failure of a dvdrw 
drive. no log ever appears. days later, i look through the system 
journal and see that it has incorporated the asunder log messages. 
either asunder logs to syslog anyways and hasn't updated its gui to 
reflect it (then i don't have a case here), or journald has some magic 
to catch any attempt to start a log in /var/log and reroutes it to the 
global log. if the latter, then the user-friendly way to do it is to 
write a stub /var/log/asunder.log that contains a note as to what has 
happened to the log and where the information is to be found. again: no 
implicitism without making it obvious what is happening for old people 
who still think everything is a file.

i still think the best way to make jack user-friendly is to quickly 
educate users how to start a graphical jack config and patching tool, 
and then start their app. this is the free software community. unless we 
want to make all our hangouts on IRC, mailing lists, and forums 
uninhabitable, we MUST NOT DUMB DOWN OUR NEW USERS, and what's worse, 
annoy old and experienced ones!
be friendly, yes, by all means. hide the underlying workings from users 
and prevent them from understanding them, never.


just my few cents,


Jörn



-- 
Jörn Nettingsmeier
Lortzingstr. 11, 45128 Essen, Tel. +49 177 7937487

Meister für Veranstaltungstechnik (Bühne/Studio)
Tonmeister VDT

http://stackingdwarves.net
PrevNext  Index

1454327575.2358_0.ltw:2, <56AF470F.1030708 at stackingdwarves dot net>