5 ms·
"Expression" as the author defines it seems to be very narrow. Users of Photoshop or InDesign or Illustrator or Maya or Logic or Premiere Pro most definitly do
by ugh 15y ago
"Expression" as the author defines it seems to be very narrow. Users of Photoshop or InDesign or Illustrator or Maya or Logic or Premiere Pro most definitly do express themselves, even though they are operating a GUI. GUIs are widely used for expression. Does the author want to suggest that CLIs would better serve the needs of all who want to express themselves?
- 4ad 15y agoCars vs. musical instruments to GUIs vs CLIs is an analogy, it won't work in all scenarios, but I think it's a pretty good analogy for explaining how CLIs work for people that have never used them or think they are antiquated.
- ugh 15y agoIt's a bad anology if it excludes the majority of expression, though, isn't it? I'm not talking about some corner case here. Software seem too malleable to me to characterize it in such broad strokes.
- super_mario 15y agoYou are taking the "expression" too far. We are talking about expression at the time of doing, not at the by-product of doing. GUI constrains you, it limits your expressive ability to tell the computer what to do. CLI is extremely expressive, it allows you to tell the computer what to do in very elaborate way, not only by having more options available for each command, but also by allowing you to combine things in ways GUIs simply can't allow for. We are not talking about end products of this communication between computer and person, its output which could be images or software you created with the computer and which also allow you to express yourself in the more broader sense.
- CJefferson 15y agoAre you suggesting that there could be a CLI for creating and altering graphics, which was even 1% as effective as photoshop?
- keenerd 15y agoSure. Check out the Lisp repl that is built into AutoCAD.
- JoachimSchipper 15y agoI'm not the grandparent, but I use TikZ to "programmatically" create graphics in LaTeX. It is much faster and looks much better than what I produce in the GIMP. (See e.g. http://www.texample.net/tikz/examples/. http://www.texample.net/tikz/examples/.) Of course, I'm drawing graphs and geometric objects, not trying to do "photo work" - but CLIs can be an excellent interface to some kinds of graphics.
- super_mario 15y agoNo, I'm not. If you read carefully you will note that I'm talking about your expressive ability to tell the computer what you want it to do. Not about your ability to express yourself through a medium like video or images. By the way, there are some great CLI tools (like ImageMagic) to manipulate images from the CLI and these are indispensable for batch editing large collection of images and other applications (image analysis), but I was not referring to that.
- stonemetal 15y agoOk so I want to select the pretty green color from a photo for future use. In MS paint it would be two actions select the color selection tool and select the color. How do you do that from the CLI in more expressive way?
- recoiledsnake 15y ago>man paint Zillion lines of text scroll by swear >man paint | less go through 10 pages of text before finding the /pickcolour command >paint /pickcolor /x 123 /y 843 how the pixel position was found is left as an exercise for the reader option pickcolor not found curse and rerun the man and scroll through all the pages again realize it's /pickcolour and not /pickcolor >paint /pickcolor /x 123 /y 843 red gets selected after more furious rtfm'ing and Bing'ing(on Lynx of course), realize pickcolor uses coordinate calculation from the bottom right and not top left When you need to do this again in a month, forget the command and the spelling and repeat all of the above again.
- ugh 15y agoI don’t understand what you are trying to tell me. I really don’t.
- rmc 15y agoUsers of Photoshop or InDesign or Illustrator or Maya or Logic or Premiere Pro most definitly do express themselves But in those programmes, the GUI is more like a keyboard of a CLI than the actual programme. The GUI controls are used as tools to use on the main area, the drawing area. A graphical programme like photoshop presents you with a massive empty whitespace for you to draw in. It doesn't tell you where to draw, or what colour to draw. It allows you choose any colour you want. Once you paint some red, you can then paint any other colour. In this way the programmes you list confirm the "unbounded, "lack of constrains" and "newbie unfriendlyness" of the CLI. A newbie doesn't know what commands to type into bash, and they don't know what colours to put down first in photoshop.
- ugh 15y agoI don’t understand. You also seem to think that the author picked a horrible analogy?
- rmc 15y agoNo, I think the analogy is apt. I think you're looking too shallowly and only looking at GUI/CLI, and thinking that Photoshop, being a GUI, fits into that world. Whereas Photoshop has more in common with CLI tools than many GUI programmes.
- ugh 15y agoWow. Just wow. What a completely absurd redefinition of what is a CLI and what is a GUI. No true Scotsman, anyone? It is just not an apt analogy if it requires you to claim that Photoshop is more CLI than GUI. That’s so freaking absurd. Well, I guess I should have picked up on that when reading your last paragraph where you imply that everything that’s hard to use is also a CLI.
- burgerbrain 15y agoHave you ever seen a professional autocad user? How would you define that? A blurred line between the terms CLI and GUI is not a True Scottsman. It's an observable reality.
- agumonkey 15y agoIn the case of Maya (and his cousins like Houdini, [ex]Shake...) every gui action is a word in an embedded DSL/bindings api (mel script, hscript, python). Maybe Adobe products too, but the javascript parts aren't a cultural feature of the application. Maya is as macro-capable as Emacs, you operate buttons, open the console log, copy the last instructions and drag it into a toolbar to have a new operation. Plus the underlying reactive dataflow model is like a limited mathematical language. The gap between GUI and CLI is short here. So even without relying on text, you still can build operators (Houdini does this to a great extent, even the skeletal system is build out of user-level geometric primitives) Some software that took the growable GUI a step forward is Luxologic Modo, here GUI tools are combinators that you sequence in a `toolpipe` to suit your needs, kinda like building a function out of lower level ones. I agree with jpalomaki (http://news.ycombinator.com/item?id=3154076 http://news.ycombinator.com/item?id=3154076) there's room for different and more linguistic GUI. To finish on a blurry note : text doesn't exist, bytes lead to intepretation/action aka a function of the application model, I see no real reason that visual interactions can't be made 'linguistic'
- ugh 15y agoYou are talking about possibility. I have no doubt that it’s possible to manipulate images, sound and videos with CLIs. The question is whether that would be the optimal way.
- gbog 15y agoWhen I worked with Photoshop, after a while most of the time was spent in a shitty point and click batch instructions editor, it should have been a text file in Vim.
- marshray 15y agoSure, a Graphical User Interface is likely the best interface for doing by-hand manipulation of graphics. But is a Photoshop-like GUI the best UI for anything else? Furthermore, don't some of those high-end packages you listed include a CLI component too?
- ugh 15y ago“But is a Photoshop-like GUI the best UI for anything else?” It isn’t. Why should it? Is a hammer the best tool for anything but hammering? “Furthermore, don't some of those high-end packages you listed include a CLI component too?” I’m not sure how that’s relevant. I have no issue with CLIs or the way the author characterizes them. CLIs can be wonderful tools.
- marshray 15y agoAll this suggests that Photoshop/by-hand image editing is a special case where the GUI is at its best. It'd probably be useful to pick some other examples to discuss.
- ugh 15y agoAlright then. Is it possible to be somewhat systematic about this? Things that humans create with software: – Text – Images – Sound – Video – Algorithms† All those elements can be glued together in different ways. Images and text, for example, can be glued together to create a magazine or newspaper layout. Text, images, sound, video and algorithms can be glued together to create a video game. Separate software for gluing stuff together is quite common. (You don’t really write and edit texts or edit images with InDesign but you bring texts and images together.) Maybe I’m wrong about this but it doesn’t seem to me as though GUIs are the exception or a special case. They seem to be quite common. — † I’m not sure about this one. I think it deserves an extra category even though most people use text to create them. It seems wrong to me to put novels and algorithms in one category, it would be a disservice to both. There are different ways of looking at this. In some way video and images are one and the same – you get video from glueing images together. It seems, however different enough to deserve its own category. Algorithms seem similar to me.