On 05/28/2015 11:58 PM, Jude Nelson wrote:
Hi Jonathan,

    Shell-based command access to software like Powerpoint would
    indeed be great.  But I wonder if we can raise the bar a bit
and consider an approach that could serve the largest audience. Especially users who themselves aren't developers or
    programmers.

    It seems to me such a system must be characterized by the
    following two properties:
    * basic - the language itself should be simple enough that the
    user doesn't have to spend too much time on boilerplate and
    learning eccentricities of the language.  (And the environment
    should be able to generate as much of the boilerplate on its own,
    especially for common patterns.)


What language would you propose? If I create shui, I'd make it language-agnostic so users can select whatever language(s) they want. My example with shell scripts was just to illustrate the possibility :)

    * visual - we know the user is already interacting with a
    graphical system.  So it makes sense that the command-based
    system should include graphical modes of interaction and visualize
    as much as it can.  (For example, letting the user choose
    from a set of familiar widgets rather than making them memorize a
    baroque naming system.)  It should look as familiar as it
    can without sacrificing power, letting the user see as much of the
    data flow without having to create the entire mental model
    on their own.


Yeah, a RAD tool would be a natural extension of the idea!


    Just imagine the possibilities if Powerpoint gave you access to an
    environment like that!


It didn't occur to me when I wrote my original email, but it turns out Powerpoint can be scripted with VBA. So can Libreoffice (it supports Javascript and Python as well as Libreoffice Basic). There are others, like Blender, GIMP, KDE (i.e. SuperKaramba, Plasma, Kross), GNOME 3, the NetBSD kernel (Lua), the Linux kernel (ePBF), and so on, that I had forgotten to list.

Yes I know, I was trolling. But it was a friendly troll. See, I included a hash at the end of my email. Here is my Proof-of-Troll(tm) that matches that hash:

echo "Sorry but I couldn't resist trolling you here. :) Still intrigued by your file-system based widget idea, though." | sha256sum

In retrospect I should have been more detailed that the troll was playing dumb about Visual Basic, but if you switch the order
of my two categories you can see the strong evidence. :)


If anything, I think it validates the case for a system like shui. The fact that different applications in different problem domains independently gain built-in support for scripting suggests that there's a naturally-occurring need to be able to interact with applications programmatically as well as interactively. So, why not design applications with this need in mind from the get-go?

I think because you would need to have all the applications use the same language.

For example, if I use the 'lg' console in Gnome Shell (which is essentially just a poor man's HTML5 devtools) I can get access to javascript objects that represent the various elements of the DE. But when I say 'element' I only mean the x11 windows and the pre-fabbed Gnome widgets and stuff. For example, I can't inspect the "Save" button in Thunderbird and change its attribute "display" to "none". That makes 'lg' so limited that I can safely say I've never used it in all the time I've used Gnome.

I use the devtools in Chrome and Firefox all the time, however. I do this because most of the time I can inspect every element that makes up the web page or app I happen to be viewing. (I can also get FPS, profile, and all kinds of other invaluable instant feedback.) Exceptions are of course webgl and HTML5 canvas (because those contents are just pixels), but I don't run into those so often in my normal browsing.

This is already slow with all apps on the web (well, most) using the same language (and being optimized on the fly on modern browsers). Seems like for this to be workable on the desktop you'd need wrappers for various languages which would add even more overhead.

But it's quite possible I've misunderstood the upshot of the system you're describing.

-Jonathan


-Jude

PS Not sure why, but your email hit my (Gmail's) spam filter. Just thought you should know :)

_______________________________________________
Dng mailing list
Dng@lists.dyne.org
https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng

Reply via email to