Archive for January, 2005

Airbus Linux 1.0

Monday, January 31st, 2005

When I flew to Boston, I was surprised NWA would be flying an Airbus instead of a Boeing. I believe it was an A330 and had a funky DVD-quality playback multimedia system “built by” Panasonic. I was wondering how they manage having cca 300 seats control movie playback (rewind and such), network games etc.

On the way back my seat revealed the magic showing the bootup process. I still wonder what kind of hardware they’re running it on.

Airbus MM System powered by Linux

Unfortunately just like on the desktop, the system needs a bit of a polish.
The navigation required too many controller buttons and wasn’t very
consistent. And, well, your seat probably doesn’t want to get rebooted when the
captain wants to speak to you ;) .

Museum of Fine Arts, Boston

Wednesday, January 26th, 2005

#

Why SVG is not the best can opener

Monday, January 24th, 2005

Everybody’s raving about scalable icons. I know, I know, I was one of the first to put together an SVG icon theme when the Eazel guys added the functionality to Nautilus.

Scalable icons are great because they can save the artist a lot of work. In theory you should only have to do the icon once and let the application ask for the resolution it needs for the renderer to provide the pixmap. Also it’s easier to re-use parts of artwork (I’m finding a lot of Gorilla elements in other themes). In some cases it’s even faster than rendering a PNG. It’s great for simple style like Gorilla or. Once you add complexity, overlaid semi-opaque objects, objects with effects, the rendering speed drops.

But it’s not only the speed advantage that’s going away. As an example, look at the vectorized icons we have in Industrial. If rendered in the resolution for which it was designed, it looks just as sexy as the bitmap original, but if you scale it up, the strokes scale up as well and the icon loses it’s appeal. The icon style shifts. What’s worse, if you scale it down, it starts to look unreadable.

When you design a bitmap 16x16px icon, you have to simplify the artwork a lot. Not only by limiting the number of detail, but also by sticking to the grid more. The objects’ sides are orthogonal and if you do diagonals, they are usually 45°. Such strong perspective distortion, however only works for these tiny icons. There’s no need to do this at higher resolution and the icon would look odd in a higher resolution such as 48x48px.

#

Even if rendering an SVG icon at 16x16px will look crisper than scaling down a 48×48 bitmap down to 16×16, it’s never going to look as good as creating a special small icon. Even if some artists use the scaled down hi-res version as a starting point, they “tweak” it to make it fit the raster and make it readable.

It looks like Apple realised this for their latest applications. When OSX 10.0 came out, they had the small icons scaled down from a large resolution bitmap at application runtime. The high resolution is becoming a necessity with all these high resolution screens.

But in addition, in their following release, you see them creating special versions for the smaller resolutions (Althought it appears they mostly cheat with applying an unsharp mask). With Keynote and Pages toolbar icons you can see these being pixel-grid optimised.

#
© Apple Computer.

So if you’re doing simple, comic-like style, which can be observed on Gorilla or Gartoon icon themes, you may truly save some work. The artwork is simple enough to survive being rendered at 16×16 or 24×24. The fact the outline is scaled along with artwork isn’t a defect, but a feature.

For a more realistically looking art you are left with no choice but creating special versions for most commonly used sizes. Yes, you could do the simplified orthogonal icon in vectors, doing pixel-precise work at the target output resolution, but what’s the point? If you scale it up, it may not be as blocky as scaled up bitmap icons (or fuzzy in most cases, when using interpolation), but it will look odd because of the perspective and wide stroke.

Bitmaps are not going to die. For toolbar and menu icons (16×16 px and 24×24 px), they are faster to produce and simply look better. There are more reasons why SVG icons are great, such as the posibility to make them accessible or easily recolor them on the fly. Having bitmap icons in the toolbars and menus isn’t just a relic of the past though. It’s a design decision. You can’t beat bitmaps at 16×16.

# # # # # # # # # # # # # #

If you’re not familiar with SVG icons, Christian has written a nice overview of SVG support in GNOME in an OS News article while back.

Blizzard?

Sunday, January 23rd, 2005

What
blizzard
?

Inkscape Evaluation

Friday, January 21st, 2005

I thought that if I have to do the icons in SVG ever again, I may as well
revisit the river. Since I just upgraded to Ubuntu Hoary (Gnome 2.10 is slick!), I
gave Inkscape a try again.

Since I’m an old Illustrator junkie, I knew it’s going to be tough getting
used to especially since I’ve tried and failed before. I expected being
disappointed, I was surprised in many areas though. Looks like a lot of good
stuff happened while I wasn’t watching :) I’m actually confident that it’s
usable to create less complex artwork.

So let’s start with the good things.

  • Nice shortcut overview. It could have been setup on a landscape A4 to get
    printed easily though.
  • A few introductory tutorials. Just what I needed. It’s actually better
    for me than a full featured documentation which is usually too boring to chew
    through ;) . What’s even more fun is these tutorials are in fact SVG images,
    so it features examples you can try right on canvas while reading.
    Ingenious.
  • Easy numerical entry of object properties (toolbar) with advanced
    properties in a floating dialog.
  • Keyboard navigation not only for object and canvas movement, but rotation
    and scaling as well (now finally the Alt
    modifier starts making sense). Moving in pixel units with Alt of the current zoom level is a lot better than
    the absolute units in Adobe Illustrator. This absolutely rocks.
  • Layers with visibility toggle and layer locking! Oh man, I can’t
    stress enough how this is useful. Also individual objects can be locked, but
    unlocking them is hard, I could only do this with the XML editor.
  • F12 toggles the visible floating docks.
    Very handy in fullscreen (although the layout dock seems to be
    visible all the time).
  • While function keys are still mapped to tools, there’s also shortcuts
    that are easily memorizable — T for Text,
    S for Object select etc. # for grid toggle got me :) .
  • Color Dropper. I prefer to call it picker instead since it’s not
    applying color on the clicked objects, it’s picking it up and
    applies on the selected objects. Unfortunately the tool isn’t as useful as
    it could be. It only takes the color property while it could be used to pick
    more properties such as stroke, fill (gradient, pattern, bitmap), effects,
    etc. (configurable as tool options just like in GIMP). Inkscape does provide
    this functionality with Edit>Paste Style, but doesn’t allow
    individual style properties to be selected (only fill, only stroke…).
  • Helpful status bar. It tells you what a modifier key will do. It doesn’t
    list all functionality, but mostly the important one. Absolutely cool for
    when you’re learning the tool. I found Alt+Click like that. It’s used to “select under” with
    the selection tool active and it’s very handy when I’m left without a nice
    layer stack overview.
  • Boolean Operations. Creating complex shapes out of primitives is a lot
    easier with these tools.
  • Cloning. Instead of duplicating, you can create an instance of an object.
    Gotta get used to the fact that even transformations are inherited.
  • The 0.40 aboutbox is sexy as hell :)
  • Metadata. Not oly cool for copyright info, but for icon
    accessibility too
    .
  • Object stamping. You drag an object around and where you press spacebar it creates a copy.
  • Text tool. I wish we had a mature text tool like this in GIMP. Letter
    spacing (Alt+<, Alt+>), kerning, (Alt+Left, Alt+Right),
    vertical text, shaped block of text (kinda hacky, but working).
  • Didn’t crash on me ;) While some of us take it for granted, some projects don’t consider stability a
    priority…

#

So as you can see, in many areas I’ve been very pleasantly surprised. You
can see Inkscape developers did listen to their artists, err users. There’s
some inconsistencies with the GIMP that I personally find confusing:

  • Path tool. I mean come on guys, the GIMP path tool rocks. The modifiers
    rock, you can work with both nodes and segments and it’s just unnice
    to have something out of this planet when users like me, that are used to
    GIMP could be making paths in Inkscape in a nano. /me makes a sad, sad
    face.

    I’m used to tracing objects by creating a polygon first and then
    converting the particular nodes to curvy. I just found the trick is not to
    try to convert a node, but a segment to a curve. Maybe if I try hard enough,
    I can live with this. Also I’d love the handles to be controllable with a
    keyboard, not only the nodes alone.
  • Redo is Ctrl+Shift+Z while GIMP’s is Ctrl+Y.
  • Ctrl locks aspect while Shift centers the pivot point. GIMP’s exactly the
    other way around.
  • I miss the thumbnail navigator that GIMP has in the lower right
    corner. Also zoom-on-resize locking that’s in GIMP 2.2 (upper right corner)
    would be useful here too. Update: I’ve been pointed out that I’m just
    blind, it’s right there! ;)
  • The gradient editor is even worse than GIMP’s. When I’m bitching about
    it, I guess I should provide a spec. But more annoying than defining the
    gradient is not being able to specify direction and length on canvas.

#

Some minor nitpicks and suggestions.

  • Layer support is fairly primitive and unfinished. Apart from the spartan
    XML editor, I found no way to get a graphical representation of the layer
    stack. Moving objects across layers also seems only possible in XML editor
    which is very hard, since the stack is reversed and the layers aren’t easily
    identifiable (UI shows comments, while XML edito shows ids). Also I’m not
    sure about the behaviour of the root node.
  • While it may sound like a good idea to use vector icons in a vector
    editor, it doesn’t work in my opinion. The small resolution icons need detail
    and crispness the vectors cannot give. Having a nice gnomish icon set would
    surely help.
  • I miss tootips for the toobar icons.
  • Tool options are implemented as global preferences. While there is a
    shortcut to get to these by double-clicking on the toolbar, you’re presented
    with a horror of two rows of tabs. Yikes!
  • Some sort of library is required. Just like GIMP stores brushes and
    gradients, Inkscape should have some global repository of gradients and
    patterns.
  • There’s XY properties floating window depending on what type
    of object is selected. These should go into the object properties float. If
    the number of widgets would grow, solve either by using tabs or disclosure
    triangles.
  • Something completely subjective — I prefer the rubberband selection
    to work objects even partially selected, not only the ones completely
    enclosed in the selection rectangle.
  • Ctrl+A actually select all object
    within a layer not on the document as the tutorial suggests. Not
    saying it makes less sense, just that the docs are out of sync.
  • One cannot group objects from different layers. Especially painful when
    moving objects around layers manually is tough.
  • I coulnd’t figure out how to scale a pattern. In fact it should be
    possible to not scale pattern along with object. Similarly, it should be
    possible to scale an object but not scale the stroke width along.
  • Deleting objects with Backspace. While
    Del works, my powerbook doesn’t have the del
    key ;) .
  • Cloning is cool, but it would be super cool to be able to create such
    object clones (links) within an external file. You could create mime type
    icons by linking the document template from an external file and have a quick
    way to alter the whole set.

#

And I few features I’m still missing an alternative for:

  • Object blending. Select two objects and pick how many inbetween states
    you want or optionally a path along which to do the morph. Essential time
    saviour when duplicating objects. Inkscape does have a mean that’s a bit less
    straight forward (subjective again). You can either use stamping and then
    distribute objects using the align dock or do the same with clones or
    duplicates (just need to pick one from the duplicated stack and reposition to
    the other extreme).
  • Converting stroke into objects. Sometimes you want to have more control
    about the dotted outline.
  • I may have just missed it, but there’s no outline draw mode. Sometimes
    it’s easier to find an object like that. Also perhaps when tweaking shapes
    with the node tool, the fill could go away to speed things up. The more
    complex the artwork is, the slower the thing gets. And sometimes way way
    slower than bearable.
  • Pixel preview. If we had the same renderer in GNOME & Inkscape, it would
    help tweaking the shapes pixel-precise, so it’s sharp (aligns to the render
    grid) at the 1:1 size.
  • Node edit only works within selected object. I like to rubber-band select
    nodes from a number of objects and move them to “stretch” an drawing in that
    particular area. Doing one by one is close to impossible and stretching the
    whole object is not what I want either.

This One’s Heading for the Trash

Wednesday, January 19th, 2005

Not really ;) . While fixing bug #163848 I thought I’d fix the palette and the perspective too. Likink?

#
#
#
#
#
#
#
#

Comment Spam Revisited

Wednesday, January 19th, 2005

Google is helping
out
with the nasty comment spam
phenomenon
. Looks like Original 0.11 will have
links in comments enabled again.

Original 0.10

Monday, January 17th, 2005

I released Original
0.10
even if it’s way too late to do that (Don’t get fooled by Peabody’s
timezone). Hopefully nothing nasty is going to happen ;)

Enjoy and let me know if I’m still improving, or heading towards bloat.

Large Thumbnails

Sunday, January 16th, 2005

While I was temporarily on GPRS, I realised browsing my galleries was
extremely painful. Looked at the thumbnail filesizes and they were in tens of
k!

This was due to the EXIF header which aparently also had a thumbnail image
in it ;) . While this will be fixed in 0.10, consider saving some user bandwith
doing:

jimmac@aeneas:~ $ cd public_html/galleries/
jimmac@aeneas:~/public_html/galleries $ mogrify -strip */thumbs/*jpg

Sorry for that ;)

Comment Spam

Friday, January 14th, 2005

Hmm. So yesterday I wrote comment support to original
and today I have some comment spam in my galleries already. I guess I need to
do some simple image checking with gd before I can release this.

Don’t expect 0.10 on Monday as I’ve promissed :(