Archive for the 'Graphics' Category

Page 2 of 10

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 :)

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.

The more the better

As an appendix to the recent rant, the hilarious “Creative Suite for Linux” thread on omgubuntu brought this gem a couple of days ago:

“It [migration from Windows to Linux] will solve many issues. In free software community more users = more contributors. More contributors = better software. Better software = more users.”

Sounds like a dream, eh? Surely at least some of those people using free software want to contribute?

Let’s have look at download stats of Windows build of GIMP. The SourceForge page defaults to a week, and for the current timeframe (Dec 13 2010 to Dec 20 2010) it shows 379,681 downloads. That’s 380K downloads a week, boys and girls.

How about a year? 15,902,245.

So, how many new committed developers appeared in that timeframe? I mean, out of those very nearly 16 millions? 10? 20? 50? Um, no. It’s actually zero. Oh wait, I’m wrong! It’s actually -1, ’cause Martin is rather busy since last spring. The usual amount of people who occasionally do something hasn’t changed.

Now you might argue this is because typical Windows users are this and that, but seriously, there is no direct connection between amount of users and amount of contributors. You can have a very small, yet very focused community like the amazing gis-lab.info guys (sorry, it’s mostly in Russian) who work their ass off to make free GIS tools Just Work™ (and they use different OSes). And you can have a large project that doesn’t gain committed contributors at all despite of being well-known, popular, yadda-yadda… Amount of user base simply doesn’t affect anything directly.

NLE on Linux and more

I’ve been diving into screencasting and video editing lately. Sadly none of currently existing tools quite worked for me.

PiTiVi. Simple and almost all I wanted (I really am not into effects, just fades would do), but latest stable version doesn’t properly render videos that have still images. You need version from Git and most recent GStreamer.

OpenShot. Doesn’t read OGV files from recordMyDesktop, snapping is broken, overall sluggish feeling.

Kdenlive. That’s where my hope was. Doesn’t read OGV as well, but xvidcap sort of worked. Unfortunately the version I have renders heavily unsynced audio and video. In fact, depending on a codec it will render different incorrect versions of original clip.

I’ve seen some other editors and I was genuinely unimpressed.

The solution? Blender’s video sequencer. Even now I can’t believe I’m saying that. I’ve been neglecting Blender as a production tool for quite a long time. I used to say that all this soon-blender-will-do-it-all is just childish. But hey, this morning it took me about 20 minutes to twist my head around some basics concepts and then I just sat down and compiled a short clip and it all rendered like a charm.

The video in question? Oh, it’s just an early experiment :)

This page has more info on the tool, and here is wiki page on the GSoC project.

Scratching your itches

Initially the re-lab project was going to work on reverse-engineering of Microsoft Publisher file format for the Scribus team. The thing is that the files generator/inspector (that is, me) is on Linux and doesn’t feel justified to install Windows and use it. And MSP knowingly doesn’t run under WINE reliably (I haven’t managed to run InDesign either). While we are looking for a workaround, there could be some other similar projects to do.
Continue reading ‘Scratching your itches’

In need of viable free HDR solution

Back in June I expressed some doubts regarding viability of Luminance HDR (neé Qtpfsgui) in the review of v2.0.0. Unfortunately it looks like the doubts turn out to be true. A couple of weeks ago all project’s admins (for some reason I’m still among them) were contacted by SourceForge regarding breach of contract (selling software from SF pages is prohibited). The last official project’s maintainer never replied, the problem was resolved by previous maintainer.

Do we have to care, if Luminance HDR compiles and runs? Yes and no. Here is why.
Continue reading ‘In need of viable free HDR solution’

Private vs. dead projects

Oh well, the thread in OpenICC mailing list about Elektra is growing into articulating all sorts of amusing misconceptions about public, private and dead projects.

You know, I’ve been spending an awful lot of time exploring various projects in the past years and I’ve got something to say about common mistakes developers do. So here comes the first post on the topic. The whole series is going to be harsh; at some point you might find yourself swearing in presence of kids. Be careful about that — they might point out grammar and spelling mistakes :)

The way to start this posting would be definition of terminology. Unfortunately this is possible only for “private project”, because definition of a dead project is oh so much controversial. So let’s go with “private” first.

Some likely definitions for a private project would be:

  • a project whose developers do not intend to gain public interest
  • a project that exists to satisfy one’s urge to experiment or to solve a private task
  • an in-house project

With these definitions in mind, you can visit a website of a private project only by coincidence. Even so, you are not supposed to discover any bold statements, right? Whereas with Elektra you see an attempt at unification of UNIX configuration systems. That’s rather bold for a private project, no? And what you see next is total absence of visible activity.

There is one very popular mistake a lot of free software developers do. They release source code and think it’s enough to get the ball rolling. Well, it’s not and I’m not sorry to tell you that. When your goal is to create a successful project, you have to think of many more things:

  • documentation for both developers and users
  • regularly posting updates on the state of things
  • building a strong community

That’s at the very least. And guess what — very few developers want to do that and/or are good at that. What developers really want to do is to actually work on their project, because this is what they are good at.

In my opinion everyone should be spending time mostly on things that are fun to do. So it’s pointless to criticize a software developer for not being strong community leader or a top class journalist, but it is right to criticize him/her for not attempting to build a team that covers all angles.

You’d be amazed how many important free software projects have websites that barely get updated and what kind of rumors are given life because of lack of information on the subject.

How much of that relates to small projects? A lot.

Tell me, what is the point of a private open source project, be it small or large? You apply GPL or a GPL-like license, because you want modifications go back to you to improve your mainstream code. Free open source software is really rather pragmatical. So if you are not even making an effort of telling people, if the project is alive, you might as well change license to proprietary or put a big lock on the website and tell everyone to stay out.

In the next postings I’m going to further treacherously bully smalls projects cover things like writing news and working with communities. Watch out :)