Sixth sense gets to you

Since several years we [Audacity team] have a feedback email. People write to it to tell us that Audacity rocks or, equally common, that it sucks. Several mails a week tell us Audacity was rebranded and sold under a different name at eBay (we stopped worrying about that ever since the Luxuriosity thing all them years ago). Some people ask if Audacity could be redone as a web app (it can’t). Well, since today we also have our little share of pranksters. As pranks go, however, this one is a little disturbing:

have you considered developing a ghost phone with your software to alow the dead to call the living with voice dialing, i’ve done a little bit of research into it and its acheiveable, thomas dolby discovered that there are certian places on the earth where the dead can be heard with a tape recorder and with modern psionics it is posible to recreate these energy feilds to alow cross dimensional communication dead to living, are you down for a little occult scientist network administration, like honestly i live in the same house as my dead grandpa and it would be great if he could call his living relatives up, maybe you could throw the ideal around the office or something maybe even come up with a skype plugin or something

Now, the only thing I really hope is that it’s nothing but a prank. Otherwise someone is bound to have his/her head examined.

Why GIMP and Inkscape are not funded by Linux vendors

Martin wrote few days ago about why GIMP 2.8 is delayed. Apart from some annoying yet predictable mini-hatefests an interesting comment was provided by Alexander Hunziker:

One thing I wonder about is why none of the big Linux distributors steps forward and funds development. Both Gimp and also Inkscape I feel are very close to being useful also for professional designers, so just a handful of full-time developers could make a big difference. Surely, this would be an interesting market to enter into?

It’s a very valid question, and it is actually easy to answer. There are, in short, several reasons why it hasn’t happened yet.

1. Canonical already tried that back in 2004. The full story is here. TL;DR: money doesn’t magically solve everything.

2. The Linux vendors that have commercial interests (i.e. RedHat, Novell) make money on enterprise clients and governments, and their few attempts at non-enterprise desktop software (Banshee for Novell, GNOME Color Manager for RedHat) are rather personal hobbies of developers than paid projects. Entering a market means doing business with people. I’d love to see a business model around GIMP that would work for someone like RedHat.

The rest? Mandriva recently had a very instable finanical situation, followed by separation of the core team into a new project. As for Canonical, they still have problems making money and anyway they are now more focused on cloud computing which doesn’t have much place for heavy desktop apps such as GIMP and Inkscape. (As a matter of fact, three of the former active Inkscape developers work for Canonical.)

3. The teams themselves have diverse opinions on paid development. Inkscape committee is 3/4 (or 4/5?) dead against it. The GIMP team doesn’t seem to be sure: a year ago they didn’t mind, fairly recently they did mind (or so it seemed to me).

The way I see it, the future of these projects is in the hands of people who care about it so much that they are willing to work on it come hell or high water. So unless you can come up with a business model that doesn’t rely on donations, and the teams suddenly stop minding paid development, the state of affairs won’t change drastically.

Is it waving goodbye to GIMP and Inkscape? Not really. Relying on volunteers is what these projects have been doing for years, and despite the will of some people they are still around and about. A great many thanks for some of the new stuff (up to 50% in case of Inkscape) we see in the new releases of both of them goes to Google for its Google Summer of Code program.

Finally, can we get Linux vendors do at least something for the projects? Sure. They already do something actually: both RedHat and Novell are rather open about how their designers use free software: Mairin does Inkscape classes, and the whole Fedora design team uses both GIMP and Inkscape all around; Jimmac used almost complete free toolbox (GIMP, Inkscape, Blender, Fontforge) in Novell which he now does for RedHat, and now Andy Fitzsimon is in his place at Novell doing the same. It’s much less so in case of Canonical for some reason or another. Also, both RedHat (Fedora) and Novell used to publish short tutorials on using free design tools, both don’t do it much these days, so maybe they could give the initiative another go.

The important thing to understand here is that since we do eat our own dog food, we shouldn’t be shy about it. After all, not using Adobe products isn’t a mortal sin. If we don’t share excitement of using free tools, then who will?

What’s up with darktable

In case you’ve been living under a rock for last several days, darktable 0.8 is out with some important changes. There’s quite a bit of work done on the next version already, including blending modes + opacity for every darkroom mode (currently in blendops branch) and an on-canvas vignetting editor:

On-canvas vignetting editing

It’s the second darkroom mode that goes on-canvas, the first one being crop/rotation. The next one hopefully will be graduated filter.

In other words, darktable development continues in its best traditions: providing a working UI for a new feature first to get people something to use, then improving it at the next stage.

Inkscape FAQ taken to extremes

The first FAQ-like article on Inkscape I did was back in May last year and explained how to create layer effects. It looks like I missed the demand for them all this time. This is now changing. Most recent two ones published within last two weeks explain in details:

Some GIMP related things are coming too. If you feel like you want some particular stuff explained, be it GIMP, Inkscape or Scribus related, just say the word :)

Contributing to free software projects

If you keep an eye on this blog, you definitely noticed that I’m quite concerned about community involvement into free software projects. Having circled around the monster I started working on in January long enough I’m so sick of polishing it here and there that it’s finally out: “Contributing to free software projects”.

The ultimate goal is to both answer the question “How can I help a free software project, if I don’t code” I keep seeing asked, and help teams to understand how to improve their work with communities. Yes, it’s also a shameless plug for several major projects. If you like to yell — I’m all ears :)

Now that it’s out, I’m unpausing other projects I had to put on hold. The GSoC guide is likely to be next. Stay tuned :)

Listening to users and drawing conclusions

This posting somehow complements the previous one where I quoted a couple of Audacity’s users both having diametrically opposed opninions on the tool’s usability.

Several days ago Harrison Consoles released new version of Mixbus — their Ardour-based digital audio workstation. The thread at Create Digital Music progressed quite a bit since I looked at it first, and I’ve just discovered that Paul Davis, Ardour’s lead developer, joined in and, probably not realizing it, provided the best explanation why software projects need design architects who listen to all opinions, but think about big picture first:

“Background: in the 10 years I’ve worked on Ardour, it has been my experience that listening too carefully to any one person’s experience with a given piece of technology always tends to be misleading. We have heard from people who tried Ardour and found it mostly unusable. We have others who have had years of experience with Logic or PT who find Ardour much more functional for them. Both these points of view are right, and its taken me a long time to realize that once a tool becomes even remotely complex (possibly at the point where there is any user choice at all), there’s no way to make that tool be the choice of all possible users. So these days, while I try to listen very carefully to the reports I get from people who have issues when using the software, I’ve learnt to not take anyone’s verdict (e.g. “its much harder to use than Logic”, “its ugly”, “its not mature yet”) as a comment about their specific working style and the way that Ardour fits into it rather than anything more general.”

If you take any big free software project, especially one that you bend your production workflow around, you’ll immediately stumble into X vs. Y battles. This is inevitable, but one needs to understand that any software developer who tries to please everyone usually ends up pleasing nobody, because complex software is always about vision, and visions are never shared by all of the human race, HIG or no HIG.

On intuition and habits

One of the most amusing misconceptions about software is that it can be intuitive or non-intutitive, with gradations between them. Being part of Audacity team, I’ve been receiving all sorts of feedback to our feedback email adress that we share for years. The nonsense of intuition as a notion regarding software can be easily illustrated with these two mails received with a gap of just an hour:

“Forward: Audacity is AWESOME! Absolutely love how intuitive it is and the price tag!”

“I tried the program and need to say that it is very un-intuitive. So I do not use it. Even simple tasks, like splitting a large file into several small ones (with lost cue sheet) is impossible to figure.”

C’mon people, software isn’t about intuition, software is about habits :) And speaking of habits here is another (translated) quote I can share:

“I use Inkscape. The migration from Corel [DRAW] was long and painful, I sat at nights and yelled. A month later I was thinking “OK, I think it’s usable after all, but Corel is still much better”. Two months after that I was thinking in the lines of “Yeah, it’s usable, but Corel is still better”. Then half a year later: “Well, Corel is a good vector graphics editor too.”

Parsing and viewing OLE containers

Our new reverse-engineering project, started end of last year, is progressing. We already know quite a bit about Microsoft Publisher file format, and to make this useful for Scribus team to get cracking with PUB importer, we’ll start writing the spec soon.

For ransacking .pub files Valek wrote a small tool called oletoy which is, simply put, a specialized HEX viewer with tabbed UI that reads OLE container based files and simplifies browsing chunks:

OLE toy 0.5

I’ve just pushed to Git an update from Valek that merges bits of his old(er) vsdviewer app. So oletoy is now a more universal reader of the OLE container. Right now we are not planning to work on reverse-egnineering VSD and VSS much, possible improvements are currently a middle-term goal. OTOH we do see a way to make oletoy a generalized parsing and visualization tool suited not just for OLE containers.

If you happen to have .pub files of any version (2000, 2003 and 2007 preferably) that have really crazy use of various eldritch features, we’d love to have them. Send them to alexandre.prokoudine-WE-LOVE-SPAMMERS-gmail.com.

Catching up on reading

Packt Publishing released three libre graphics related books in a row in December: “Inkscape 0.48 Essentials for Web Designers” by Bethany Hiitola, “Scribus 1.3.5 beginner’s guide” by Cedric Gemy and “Blender 2.5 Lighting and Rendering” by Aaron W. Powell. I had the first one almost immediately after release (but utterly lacked time to read) and got the second just now. Since all Cedric’s previous books were in French which I don’t speak, I’m really curious what Cedric came up with, so the Scribus book gets priority :)

Scribus 1.3.5 beginner's guide

Now, one question is how many GIMP books we’ll see this year. I know just one so far.

Speaking of GIMP

The GIMP 2.8 story apparently made it big and reached as far as OMG!Ubuntu, Phoronix and OSNews, not counting few dozens of smaller websites. However, whereas some people got things right, other people took it as a signal to hatefest towards GIMP team. Which was, to be honest, only to be expected. The reason?

It’s all about pressure.

Yes, I’m a talking physics now. It’s about time some people were reminded what pressure really is. Quoting Wikipedia, pressure is the force per unit area applied in a direction perpendicular to the surface of an object. In terms of GIMP it’s millions of people per mere 2.5 people. In terms of human language, it’s like being on the bottom of Mariana Trench without any sort of protection. Gentlemenly behaviour round the clock 7 miles below surface? Right. I can see that.

Anybody with basic understanding of equations can easily figure out that there are only two ways to lower the pressure and make GIMP folks the friendlier ones: make less users (as if you had a different general purpose open source editor like GIMP) or make more contributors. And yet we keep running into people who think that it’s such a smart idea to blame the small overworked team for being arrogant instead of listening for one minute and taking a little of the load.

The problem, however, is bigger than GIMP. Let me state it once again: many major projects utterly suffer from lack of contributors. So what I think really happened is that we simply banged our head against a major milestone: projects growing too large and teams growing backwards with major issues still unresolved.

The real problem we deal with is that the community doesn’t know how to help itself and in some particular cases doesn’t even want to, and dev teams often do not know how to handle this situation. So I’m putting a couple of ongoing publications on hold to do some good there. Expect an update soon.