Sp...@controlq.com wrote:
> BINGO!
>
> implement a small CLI with a command protocol, and write a host side app
> in curses, tk, Kivvy, javascript, or whatever!!! Your CLI will
> work/suffice for an expert with a terminal emulator, and for the great
> unwashed, you provide a user interface which they can understand. Voila!
It really depends on what the target environment is.
If it's something where there's always a specific computer about, then fine.
Like a lathe that has a PC next door for driving jobs. Install app on PC
once, forget about it. It's still there 10 years later, no problem.
If it's software that's easy to make ubiquitous, then fine. eg javascript
app that can talk to the local serial port, just point go to
www.example.com
and run the app. But I suspect making enough holes in the Javascript
security model for this to work is going to be awkward. An alternative
would be a single .exe that you can just download and run (though again
security could be an issue)
The middle ground is where installing the app becomes a pain. For example,
we had an instrument on test last week (whose big-name manufacturer will
remain nameless). There was a little screen and 4 buttons by the side of
the screen as the UI. This got very tedious very quickly. But there was a
Windows app.
However, it's only a Windows app. Not a Mac app or a Linux app, which is
what I would want to use. OK, it's only on test, dump it in a Windows VM.
It runs, talks to the instrument, and... segfaults. Repeatedly.
Some googling later I discover that the 32 bit Windows app doesn't work on
64 bit Windows. But there's a 64 bit Windows app (hidden away). That
doesn't segfault. However it randomly goes into hissy fits and refuses to
acknowledge the existence of the instrument, despite that I can telnet into
the instrument from inside the Windows VM so it's definitely alive.
The app itself (a .NET thing) is OK, has a nice GUI but is a bit thin in
that it's just an interface to some GPIB commands: it doesn't do much
clever that I couldn't do by reading the GPIB manual. It basically
duplicates the on-instrument GUI without having to go via those little 4
buttons. I'm sure there are cleverer things that could be done given
there's a PC at its disposal.
And usually what happens is that the app will refuse to work on Windows 9
when that is released and no fixes appear because the manufacturer can't be
bothered any more.
The bottom line is, with a USB serial port you can be sure you're talking to
the thing. It works on any machine that can use a USB serial port. It
doesn't need software beyond the USB CDC driver. It'll work on any machine,
any OS, with no setting up whatsoever. If a menu system, it needs no
manual, it is self-documenting. It is easy to discover the functionality
available. And, most importantly, it's very difficult to mess up the client
side.
Theo