Integrating OSS Graphics Apps 333
erikharrison writes "Newsforge had an article recently which proposed an interesting way to make an integrated OSS graphics "suite" - namely, get existing apps to standardize their look and feel. Now, in a short and insightful article, Bryce Harrington (of Inkscape fame) responds with specifics on the advantages and problems with this approach, and where development should go next in the pursuit of a complete OSS stack for graphic artists."
cut and paste (Score:0, Insightful)
Re:What I think should be focused on first (Score:1, Insightful)
What I'm waiting for someone to figure out (Score:4, Insightful)
The community isn't who needs to hear this. The community already uses these OSS graphics apps.
The people who a suite like this would appeal to are people outside of the community-- people who shop at wal-mart.
The people who need to hear this are businesses.
If some company could have the foresight to gather together the OSS graphics apps, clean them up, tie them together make their interfaces consistent with Mac OS X and Windows UI guidelines, put this all in a nice pretty box, and sell it for $30 at Wal-mart, there's a decent chunk of cash to be had in this. The fact the OSS community has already done all the hard work in developing these applications means you'd be able to offer a very attractive package for a discount-rack price. And the people who would buy something like this wouldn't know how to download and compile software themselves if they wanted to, so they won't mind they're paying for GPLed software.
Just a thought.
Re:Where not-sucking == like photoshop? (Score:3, Insightful)
Re:What I think should be focused on first (Score:5, Insightful)
That's not to say that friendly and discoverable interfaces are unattainable, just that making an interface without _any_
learning curve might be unrealistic.
If anybody has achieved this for a featureful graphics-editing application, I haven't seen it yet... Photoshop is
incredibly non-intuitive in my limited experience with it, Paint Shop Pro only slightly less so... but then, I'm just
"used to" the Gimp.
How about... reading the article (Score:3, Insightful)
He even addresses the issue you are berating him for. From the article (titled "Achieving higher consistency between OSS graphics applications"):
Re:How about... (Score:4, Insightful)
You have to make the decision of whether to give them 2-4 disparate applications, each with its own learning curve and quite distinct UIs, or to just give them a handful of Adobe products they already know and use, which are all fairly similar UI-wise.
At some point $1000 worth of software really is cheaper.
Re:What I think should be focused on first (Score:3, Insightful)
Become part of the project.
Whining all the time will get people down on a project they have spent lto of time on.
So how about you go to them and say, "This program is great, be here are a couple things that I think should change and this is how I can help."
Open Source "Community"
Re:What I think should be focused on first (Score:3, Insightful)
Gimp is one of the applications discussed in both articles
Yes, it is hard to use. Figuring it out is not the problem. The biggest problem for me is that I like to edit the images maximized. All those tool windows and dialogs disappear the instant you click on the image, or you can set them always on top and they get in the way of your image. Also, the icons are fixed-size and low contrast (dark grey on light grey). On a high resolution monitor, they're REALLY hard to see.
Standards and IPC (Score:4, Insightful)
Ummmm how far is this likely to go? (Score:3, Insightful)
It's worth doing, but no one should get their hopes up that Adobe or Macromedia will be phased by this. They are simply too good at what they do to be caught up in the same software vietnam that Microsoft has found itself in with Linux, Apache, OpenOffice and Mozilla.
Standards Conflicting with Egos (Score:4, Insightful)
A lot of people like doing things their way, and that's fine! But when we see such fragmentation, forks, redundancy, etc. in OSS projects, we can't be surprised when interoperability is next to impossible.
So if you need to make your project work in a way that only you want it to work, don't be surprised when nobody else uses it.
Re:What I think should be focused on first (Score:1, Insightful)
Having bought her a new computer, I decided give her the choice - Linux or Windows. I showed both to her - she wanted KDE because it was prettier. No joke - my sister the future graphics designer believes KDE looks better than WinXP's nasty blue. So, I showed her both the GIMP and Photoshop - she's barely used photoshop, so she didn't have preconceptions about what a UI's supposed to be. She was immediatly hooked on The Gimp. Yes, it took her a little bit to learn to use the Gimp - just like it took her a little while to learn to use Linux. But you know what? She loves it. Now, in her Digital Imaging class at high school, she's using Photoshop - and she can't stand it's interface - she claims it's counterintuitive! For what she does (simple photomanipulation, cropping, photo editing, drawing, etc.) the Gimp works perfectly.
So, I find it very funny that something that "sucks" would work better for someone not already indoctrinated into the photoshop way of doing things.
Proper GUI Design (Score:5, Insightful)
Use the proper control for the task, and don't clutter your windows. Example: Don't use 2 radio buttons when one checkbox would suffice, don't use more than 5 radio buttons when a combobox would work better.
Also - for God's sake - LINE UP YOUR CONTROLS. If you're a Windows Developer, whether it's VB/C/C++/C#, it's just a matter of laziness to not align your controls. If you're using Java - use a layout manager or a number of layout managers. If you're using GLADE or QtDesigner, take the extra 3 seconds to line up your controls.
Also, tab order should be logical. Focus should go left to right, top to bottom (Arabic and Hebrew - see above). You should also support keystroke shortcut keys that make sense, in fact, if you can make them user definable - do it. Not everyone uses a Qwerty keyboard, and not everyone uses the US character map. Don't make the user move his or her hands unless necessary. Also, right click (or Ctrl-Click) context menus are great - use them.
Finally, some people prefer SDI style apps (OpenOffice.org, IE), others prefer dockable MDI style apps (Visual Studio), and some prefer a collection of floating windows (GIMP). Internally, it's all the same, just each window has a different parent - provide the option to your user. Organize your code properly to handle this from the beginning..
Also - don't pick a color scheme - let the system color it. Same for fonts - that red and green text might look pretty nifty, but to a colorblind person there's no discernable difference. In fact - don't use specific colors at all to convey status. Here in the States, Red means Stop, but this is not true in all cultures. Plus... some people are colorblind. Changing an indicator from green to red is meaningless to them.
This really should be common sense, but I can't tell you how much GUI stupidity I've fixed in my career. Most of it can be attributed to 2 things: laziness, and the GUI done as an afterthought. This is a problem, because while your code may kick all kinds of ass under the hood, if your GUI looks like it was done during amateur hour at the YMCA, the user will think the rest of your app is just as bad.
Also, don't be afraid to consult a graphic designer about your user interface, especially when it comes to icon selection. They excel at conveying that kind of information. Chances are, you have at least one in your marketing department.
Re:Project Management (Score:3, Insightful)
Stop right there.
Since when was the purpose of Linux to 'supercede' Microsoft? Isn't it enough that Linux already provides a free, open alternative to an inferior operating system?
Re:What I think should be focused on first (Score:1, Insightful)
Re:What I think should be focused on first (Score:2, Insightful)
In case anyone is skeptical, I'll just point out two minor ways that The GIMP's UI sucks:
The "Open File" dialog box has no text-input field. That's right, there's no place for you to type in the file you want. A knowledgable person could pop up a separate mini-window to type in a filename (which will then be lacking a scrollable list of files & folders), or do a type-ahead search, but neither of those options justifies removing the simple text field. Taking out that field was doubly bad: once for the actual functionality lost, and again for the fact that it's very different from every other Open File dialog out there, which will confuse users.
I could also go into the Save File dialog, and now that's wrong. Basically, it has the reverse problem: you can type in filenames, but can't see a list of what's already there. (Files or directories)
And of course, those two specific problems (recently introduced in version 2.x) were on top of the longstanding GIMP interface complaint: the inability to dock toolbars onto the edge of the image window makes the overall interface too dependent on the WM.
Re:What I think should be focused on first (Score:3, Insightful)
Maybe he's not a programmer. Maybe the most he has to offer the community is the voice of someone who's displeased with the application. Maybe he's not a UI expert and can't even explain how to make the UI good, and all he can do is explain why he thinks it's bad. Maybe that's the most he can offer a project.
You think the GIMP project is going to be really receptive to that help? If he goes to them and says, "This program is great, but here are a couple of things that I think should change and I can help only by telling you this," is that going to hold a lot of sway with the community? I'd guess not, since these sorts of complaints have been around for quite a long time and the improvements that I've seen to GIMP seem more aimed at those who already have a high opinion of the app.
IMHO, one weakness of many open-source projects has been that they aren't active enough in gathering feedback from people with no association to the project. This lack of feedback keeps software in the state of "scratching a personal itch" rather than good generalized solutions fit for public consumption. Feedback from general users should be treated as participation in the community, rather than being treated as nonsense from ignorant outsiders.
(BTW, this isn't not a complaint about OSS as a whole, but only a rebuttal of the "You don't like it, fix it" attitude expressed by some.)
Re:What I think should be focused on first (Score:2, Insightful)
Particularly when there's absolutely no possibility of making a profit from your work. Thanks a lot, Gnu. Ask me again why people aren't tripping over themselves rushing to contribute to your projects?
Not enough (Score:3, Insightful)
The core of a really good application is goal oriented software design (also called user oriented design). Before thinking about widgets and gadgets and frame layout, you should start by defining what the application must do and how to do it - and the key to this is to build a prototype and observing real users using it.
That's it, interface design must be an iterative process in which real user problems are observed in real use, and then fixing it with a new design for the real task that the user is trying to accomplish.
Integrate copy-paste first (Score:4, Insightful)
First, make them all handle the same file-formats - i.e. make them handle PNG and SVG. Not just pixmap formats, and not just a buggy SVG-model that can't handle fonts properly, but a fucking working import/export.
Secondly, make copy/paste of non-text data work. Implement something like OLE and make it work in _all_ apps.
An example of a scenario that does not work, but _must_ work: Start out to create a diagram in dia. Export to svg. Import i inkscape. Change some details. Save. Import in kpresenter or OO Impress.
For additional complexity, add some pixmap picture made in GIMP (with variable transparency) to the picture in Inkscape. Perheaps use eps in some steps instaed of svg. Also, you could import the vector-graphics picture as a path in GIMP somewhere in the middle too. Be sure to check that foints work all the way through, even with non-USASCII-characters (We non USAians don't like it when our Ås, Äs and Ös gets mangled to Ãås or =4711 or some other garbage).
When done with this, _then_ I think it would be apropriate to hack on the UI:s to get the a bit more streamlined. But until then, I'd much rather have it just work and look uggly, than not work bu t look great.
Re:Proper GUI Design (Score:3, Insightful)
just a nit pick on this one. you should always provide a way to access something using a context menu without having to right click (such as in the top menu like in mac os).
Re:What I think should be focused on first (Score:3, Insightful)
But, once you know the interface, it's rock solid. The layout makes sense, the buttons make sense, the general operation of it totally makes sense and you realize that it wasn't as big a problem as initially made out. No, it's not easy, but once you condition yourself to think the way it was designed, you're aces.
FWIW, Blender is in the middle of a ground-up UI redesign that's trying to be a bit more no0b friendly; try to brush off some of that initial learning curve shock.
One of the problems with Gimp is that it does have all of these UI things that people are used to, but either they don't operate in a manner that is expected given that UI element, or it produces a result (or next step) that doesn't make sense given that elements task. Basically, common ideas doing uncommon things, against what you would commonly expect.
The second major problem is no real concrete UI design/guidelines (though it's better in v2) so there's an overall inconsistency throughout the program - which largely goes back to the first point. If common UI elements were consistently used in uncommon ways, it's not that difficult to get used to. But the inconsistency makes it that much more frustrating when you can't figure it out (but think you should be able to).
$.02
Re:Proper GUI Design (Score:2, Insightful)
Proper creative writing, at it's core, is really a matter of word selection and placement.
Proper bio-engineering, at it's core, is really a matter of molecule selection and placement.
Why, THANK YOU for that tremendous insight!
Re:What I'm waiting for someone to figure out (Score:3, Insightful)
Re:What I think should be focused on first (Score:2, Insightful)
That's no valid as either an excuse or an explanation. The authors of The Gimp knew how X11 WMs worked 10 years ago, and they know they haven't changed too much in the meantime.
So if I go into business and start selling hydrogen cars, it's not my fault or responsibility that customers have noplace to refuel.
I use the "maximise to available area" feature in the window manager I use to maximise the image window to be as large as possible without overlapping any of the palettes.
So you can't have any windows from other applications onscreen at all. Not a great solution. And what do you do when you'd like to minimize The Gimp and look at something else? Minimize 6 different palettes individually?
Both those problems can be worked-around by assigning a desktop space that's for The Gimp only- but the existence of workarounds doesn't absolve the designer.
Re:What I think should be focused on first (Score:3, Insightful)
And yet it is exactly what the user will be presented with when they deal with Photoshop on a Macintosh: multiple windows, even for a single document. The main difference is that window management on Macs are designed to treat such a situation elegantly (there are suitable window types to allow the palettes and toolbox to be grouped with the image windows). No one complains that Photoshop is fundamentally broken on the Mac.
In the end I am not so much apologising for GIMP as I am criticising the poor state of window management in X. There are very good window managers for X that can handle such things, but the popular mainstream WMs simply fail to even come close to addressing these issues. I am baffled that so many people have an issue with to poor quality of WMs on X (just witness all the complaints about GIMPs window handling on every single thread that mentions GIMP), yet so few people are actually demanding improvements in the places where it is important.
Jedidiah.
Re:What I think should be focused on first (Score:4, Insightful)
That "you don't like it, don't use it!" thing tends to be pretty silly as well. First of all, it's stupidly obvious. If someone's complaining, and when the ask-for-help/offer-criticism, the response they get is rude and insulting, they certainly won't be using that software for very long.
Plus, it usually appears side-by-side with some statement about, "You're so stupid, I bet you don't even use it, so why are you complaining?!" So... if you use it and you don't like it, stop using it. If you don't use because you don't like it, then you're stupid, so shut up. And all of this comes from the same group who preaches that we all have a moral responsibility to support "FREE (as in speech)" software.
Listen, user feedback is a valuable way to make your software better. If you don't want to do what it takes to make your software good, then don't try to promote your software, and don't get upset when no one wants to use it. Don't sit back, shooting down user feedback because the users aren't elite enough, and then complain that stupid users aren't using your software.
Again, this ISN'T a complaint about OSS in general, but only a minority in the community. There is a lot of OSS that is quite good. However, those pieces of software usually come out of a community that is open to user complaints and receptive to input. They clearly were not employing the "If you don't like it, go f$#% yourself," method of customer service.
Isn't the main complaint about WIndows and many products that run on it that they pander to the lowest common denomonator while simutaneously trying to pack in every concevable bell and whistle?
"Pandering to the lowest common denominator" and "being responsive to the needs of your users" are two different things.
Isn't it good enough to say that The GIMP is very powerful and works really well fo the people who use it?
Well, it's true enough the GIMP is good enough at doing what the people who use it use it to do... but that isn't a very meaningful statement. Are the GIMP developers happy with their small user-base, or would they like to see their program used more widely? Do they want it to be considered a PITA to use by graphic designers, or would they prefer that a Photoshop user sits down in front of the GIMP and says, "Wow, this is nice."
The GIMP is just an example of something larger that we're talking about, though. The real question is, is OSS just supposed to be something that a small number of geeks tinker with, or is it supposed to be something my mom can use too? If you want my mom to use your software, than you should address the issues my mom will have with your software. If you don't want to do that, then don't be surprised if my mom start talking smack about how your software sucks for what she wants to do. Either way, the whole "holier than thou" attitude isn't impressing her.
Re:cut and paste (Score:3, Insightful)
Interface for Artists IS Inconsistent (Score:3, Insightful)
Warnock's Postscript was an amazing technical creation; I think it deserves its success over its page description competitors. Adobe also kept the Type 1 font hinting as their special technical secret about creating great fonts.
You'd expect Adobe's font creation tools, and vector graphic tools to monopolize their marketplaces. They don't.
Macromeida's Typographer dominates the "hinted font" market. And Corel Draw and Macromedia Freehand are solid competitors for Adobe's Illustrator almost solely distinguished by the look and feel of their user interfaces.
Page layout tools are a different area where Adobe has tried to buy its way into the market (Buying Aldus PageMaker) and use its weight to change the standards (PDF and FrameMaker). The suprise is that they haven't been more successful than they have been so far. While there are all sorts of legacy issues in this area, the extreme stinkiness of FrameMaker 1.0's user interface turned a lot of people off to their toolset.
And then the big suprise was the fantastic success of Adobe's Photoshop. There was nothing particularly spectactular technically about the bitmap files they were producing. But the amazing look and feel the Knolls' imbued in the user interface is what made this tool the success it was. The filter specs didn't offer anything much better than Pixel Paint or most other bitmap tools, but the sub-pixel look and feel of the tools gave Photoshop its anti-aliasing edge.
Personally, I think this standards war may already be too far lost. I'd look into something else. Suites of tools for school teachers or librarians. Something where there's a definite technical aspect, but where the personal touch can go a LONG way toward distinguishing and defining what people demand in their tools. I think artists may have already had these battles fought. While I'm not arguing about giving up, other areas might be more open toward wooing.
A possible solution to make everyone happy... (Score:3, Insightful)
Remember in 80s/90s you could not get a decent DOS text editor which would not have switchable "Wordstar mode" or "Norton mode", and so on, making customers who come from your competitor make right at home. Yes, Emacs CAN emulate VI (see M-x viper-mode)!
It looks like now commercial SW vendors stopped that practice (I'm moving our CAD group from Mentor to Cadence and I'd REALLY like for Cadence to provide Mentor-like keybindings), but why can not GIMP can not give people a way to load "Photoshop Emulation" is beyond my understanding...
Paul B.
Re:What I think should be focused on first (Score:3, Insightful)
No. None of the WMs handle The GIMP elegantly. Some of them provide systems that allow for tolerable workarounds, but none are elegant.
You keep passing the blame off to the WM, but that's not the right place to put it: the X11 specification doesn't describe windows in enough detail for the WM to handle it as intelligently as (for example) Photoshop handles its internally-managed floating palettes. A window which displays 2d document data has different grouping/moving needs from one that contains tool buttons or a time-series indicator, but to X11, they're all just drawable surfaces.
Re:What I think should be focused on first (Score:3, Insightful)
As far as the X11 protocol is concerned that's all it needs to know. If applications were capable of passing a window hint to the WM telling it "this is a palette window not a document data window", and the WM were capable of understanding this and handling it sensibly then all would be fine. The EWMH spec has some material on this, but that mostly relates to whether a window is considered a transient or not. All that has to be done is include sme concepts of window grouping in the EWMH spec and things could move along. No changes need to be made to X11. X11 is just there to draw windows to the screen - what those windows do, whether they behave in groups, understand application hints as to what type of window it is, and how it should be handled, is entirely the responsibility of the WM. Blaming X11 for this is like blaming Windows GDI for the fact that sub windows in an MDI interface behave weirdly.
Jedidiah.