4 ms·
Instead of the GIMP limping along behind PhotoShop, both dragging their decades-old legacy baggage, monolithic architectures, 1990s pricing models, etc., into t
by SiVal 13y ago
Instead of the GIMP limping along behind PhotoShop, both dragging their decades-old legacy baggage, monolithic architectures, 1990s pricing models, etc., into the foreseeable future, I wish we had something more like Octave, SQLite, or Python: a powerful, faceless dev platform on which to build graphics-processing apps.
Basically, a runtime that holds a GPU-optimal image model (raster layers, vector layers, non-destructive edit management, multi-session undo, etc.), a set of APIs for sending memory-protected commands to the model, and a growing standard library of routines that have proven useful (network comms for offloading some processes or results to "the cloud", input/output codecs, CSS3, whatever). It would have a relatively easy to use scripting language with some built-in data types such as layer, region, vectorPolygon, gradient, font, etc., plus the usual lists, dicts, first-class functions, etc. Scripts that get a lot of use could be reimplemented in C, etc.
Developers could wrap whatever GUIs they wanted around this engine, creating easy consumer apps such as a slideshow or a camera-to-computer file importer with a magnifying glass and a keep/delete shortcut, all the way up to building clones of PhotoShop, Illustrator, resurrecting Fireworks, and so on.
Maybe someone would build a GUI builder for it that let you drag image rectangles and buttons into a window and script the whole thing, so non-programmers could create lens comparison apps, blink comparators for comet hunting....
I'd so much rather have a platform like this, where the hardest part--the image engine--would be done by experts, and the apps themselves, the feature sets, the UIs, could then be built by hordes of amateurs.
- oblio 13y ago> I'd so much rather have a platform like this, where the hardest part--the image engine--would be done by experts, and the apps themselves, the feature sets, the UIs, could then be built by hordes of amateurs. The naïveté of a budding hacker. Great UIs are done by experts too, young padawan.
- Silhouette 13y agoGreat UIs are done by experts too, young padawan. Yes, they are, but that doesn't preclude building the underlying data model and functionality as a common platform with shared tools. It also doesn't mean that building that platform and implementing a comprehensive range of functionality isn't a much more demanding task than building a UI on top if you've already got a good foundation. No doubt there is plenty of hard work to go around, but I think the idea of building more software with this kind of strategy has a lot of potential. It could save on the donkey work for everyone, leaving different developers to focus on the interesting/useful/distinctive aspects for different projects, while retaining some degree of compatibility and robust basic functionality.
- oblio 13y agoI wasn't disagreeing with your vision, but rather with your dismissal of UIs as "amateur work". And I'm not even a experience designer :)
- SiVal 13y agoIt will make more sense if you know that, by "amateur", I mean someone who knows something about image processing, but not enough to build an image processor--someone whose expertise is in something else: photography, public presentation, UI design, etc. I should have worded my final sentence differently, but in the sense that someone who knows enough about database engines to be able to use one but is an "amateur" at creating them can still use SQLite to build an app incorporating a database engine, my "vision" would let developers whose expertise is not in image processing engine implementation to write apps that incorporated a sophisticated image processor.
- Silhouette 13y agoPlease note that I wasn't the person who you replied to before. In fact, part of what I do professionally involves UI work, so clearly I don't regard UI design as merely work for amateurs. On the other hand, I also find that 90% of the skill in building a good UI has very little to do with knowing how to make dialog boxes and toolbars appear. The functionality behind those UI elements, how that functionality is organised, and presenting everything as clearly and ideally as simply as possible is often far more important, IMHO.
- Theodores 13y agoI am quite a user of imagemagick, or imagick in php. This is far more useful than Photoshop or Gimp when it comes to cropping images and applying basic filters such as a sharpen on thumbnail images. I also use Gd2. You would be surprised at what can be done in code. You would also be surprised at how much of the stuff that can be done in code is done the time consuming way by people with expensive Photoshop rigs. So, to a certain extend a lot of what you desire can already be done with code. However there is not one single 'graphic artist' degree where such possibilities could be entertained, plus programmers are not allowed to touch images under any circumstances whatsoever. There is a rift valley between programmers and graphic artists, a deep cultural one.
- gcr 13y agoSomething like a programming language for composing graphics? Racket comes awfully close to that ideal. http://docs.racket-lang.org/quick/index.html http://docs.racket-lang.org/quick/index.html I laid out a conference poster this way. The poster: http://temp.sneakygcr.net/cvpr2012-mughunt-demo-poster.pdf http://temp.sneakygcr.net/cvpr2012-mughunt-demo-poster.pdf The source: https://gist.github.com/gcr/9854495#file-poster-rkt-L227 https://gist.github.com/gcr/9854495#file-poster-rkt-L227 Unfortunately I gave in and made the center figure in Inkscape.