Slashdot Mirror


Major Step Forward For SVG in the Desktop

Ur@eus writes "SVG the w3c format for Scalable Vector Graphics is seen as many as the future of desktop icons as it allows for scaling icons etc. without loss of quality. Dominic Lachowicz has been working hard on fixing bugs in librsvg over the last few days. The result is that librsvg now renders all available SVG icons perfectly. Not only do it render them, but it renders them faster than libpng renders the same images in png format. Together with the gdkpixbuf plugin librsvg offer it means GNOME 2.2 will be able to use SVG images not only for icons or desktop backgrounds, but also for the GUI widgets themselves and the graphics of the window manager. Dom's announcement can be found on the librsvg mailinglist. The librsvg site also offer a GNOME 2.2 metatheme using mostly SVG icons including a nice screenshot."

86 of 363 comments (clear)

  1. odd by pummer · · Score: 2, Insightful

    Now, what is the problem with icons today??? They're ICONS. It's not like they're actual programs that matter! They're ICONS! C'mon!

    1. Re:odd by jordan_a · · Score: 5, Insightful

      Icons are only a small part of what SVG Graphics are about. However being the most common images used on the desktop it is a logical starting point for SVG graphics.

    2. Re:odd by olethrosdc · · Score: 2, Insightful

      The SVGs would be most useful for widgets I guess. Now that I think of it, they would be extremely useful for widgets and buttons.

      On the other hand, the SVG would have to be yet another library to have installed on your system, with all the problems associated with having yet another library :/

      --

      I miss my rubber keyboard.(Homepage)

    3. Re:odd by Proc6 · · Score: 5, Interesting
      Well dummy, its like this. The higher resolution the display you get, the finer detail images and video (some day) can get. Buuuut... the harder it is to see windows elements of fixed size. (icons) I run 1920x1200 on a flat panel, and when my father sits down in front of it, he has to squint to read the text and see the icons on the desktop. Ever seen 1600x1200 on a Dell Latitude notebook? Go find the IBM QUXGA 22" LCD panel that does something like 5000x3000 and tell me how big the icons on the desktop are. Its like clicking on dust.

      SGI's Indigo Magic desktop has done scalable vector icons forever, and its beautiful. Not only can you set the standard icon size but they put a handy thumbwheel in the "explorer" window to let you zoom in and out of your files.

      Don't knock it till you've tried it. :)

      --

      I'm Rick James with mod points biatch!

    4. Re:odd by Lucas+Membrane · · Score: 4, Insightful

      I'm a little ahead of the baby boom, so my eyes are a little worse than those of most people, but they are catching up. This is something that is long overdue and will be most valuable or just about essential as the demographic bulge moves into its later years. We can't go on creating every UI like it was designed by a 22-year-old with no idea that vision doesn't deteriorate for some of us. It's just about criminal that if you are having trouble reading the screen and go out and buy a better, higher-resolution monitor, everything gets harder to read.

  2. Just more OSX themes. by Sh0t · · Score: 2, Insightful

    This will pave the way for bigger and better OSX clones! Honestly, do we really need SVG icons on the desktop ? All i do is click my icons, i don't need them to enlarge to 200% when I mouse over them or shrink to nothing when I click them. I understand the need for eye candy, which is cool, but SVG icons aren't on the top of my list. Eye candy ? www.sh0t.com/gnome.jpg Anyhow, it's an advancement nonetheless

    1. Re:Just more OSX themes. by rseuhs · · Score: 5, Insightful
      Unlike most eye candy, this makes the desktop faster, so I don't see anything wrong about it.

      Also, the more it will be used, the faster it will hopefully become available in browsers out of the box so we can finally ditch flash...

    2. Re:Just more OSX themes. by Anonymous Coward · · Score: 4, Funny

      You should look at the possibilities BEYOND icons...

      cat pr0n.gz | gunzip | svgviewer

      "mmmmm, scalable porn...."

    3. Re:Just more OSX themes. by Greedo · · Score: 2, Informative

      Except OSX uses bitmap images for their icons (TIF, PNG), not vector graphics (SVG).

      Default icons are 128x128 pixels, but are usually displayed at 32x32. OSX just has a very good scaling algorithm.

      --
      Tuus crepidae innexilis sunt.
    4. Re:Just more OSX themes. by DataPath · · Score: 2, Insightful

      This has nothing to do with pimping GNOME. If SVG really does render faster than equivalent pngs, plus is fully scalable, it will probably make its way into KDE also, and anything that a) makes the UI faster, and b) makes nicer UIs less intensive is good for every non-proprietary OS. The nice thing about SVG for UI elements is that it would mean no longer including different sizes of wallpaper - one would work fine, without lossy resizing. The implications on the desktop are endless. This is a Good Thing(tm) for everyone.

      --
      Inconceivable!
  3. Re:Not needed for desktop by e8johan · · Score: 4, Interesting

    IF SVG supports raster (pixelbased) graphics, together with the vector graphics (as textures or something), this could be really useful. An ultimate graphics format, the holy grail...

    As for not being needed on the desktop. Optimizations are *always* needed and useful. Also, this can finally mean truly resolution independent graphics. Simply know the dpi of your screen and all will always be the same size, independent of grannys old 640x480 and mine 1280x1024...

  4. This is a great thing!!! by md17 · · Score: 4, Insightful

    Great work librsvg team!!! I look forward to the day when there is no more Flash because SVG is so well supported. SVG: XML based, open standard, w3c backed, blah, blah. I love it! SVG is the ISH!

    1. Re:This is a great thing!!! by BigJimSlade · · Score: 2, Interesting

      I look forward to the day when there is no more Flash

      You may be waiting for something else then. While SVG supports animated vector graphics, there isn't anything in the spec for syncing audio to the graphics. I believe Adobe's plug-in has extensions for adding a sound clip, but still no way of syncing this up with what's happening in the animation.

  5. Re:Not needed for desktop by msgmonkey · · Score: 4, Informative

    Why not? The scalable aspect means you would only have to supply one icon file for different resolutions. You could have applications where the proportions where exactly the same regardless of if the resolution was 800x600 or 1280x1024.

  6. Re:Not needed for desktop by gmuslera · · Score: 2, Insightful

    What about replacing flash animations in web sites with something really standard?

  7. Stateful Icons? by Masem · · Score: 5, Interesting
    Could this also be used to build 'icons' with stateful representations of the objects they are supposed to represent? For example, instead of just 'empty' and 'full' for Trash/Recycle, could you have folders icons that have 'empty', 'sparse', 'full', and 'stuffed'? Or icons that reflect the read/write nature of the folder with respect to the user? Or even more down the road, icons that aren't pointing directly to files/folders but as system objects (as say down the /dev tree), such as a clock, a CPU meter, etc...? Yes, we have that functionality through many means, such as WM's dockapps, or by using shaped windows to simulate that. But if you look at the Mac OS X Dock, or the various things you can do with ObjectDesktop by StarDock systems on the Windows side, they reflect the ideas that I'm thining about here. Sure, it's nice to have, in WM , the status of my system along the right side easy to see, but I'd like it better if I could have a better control over how those are appearing on my desktop, and if I could make them true icons, draggable and placable whereever I want, that would be great.

    Even more so, using XML and SVG, it would be very easy to create additional icons without a lot of programming behind it. You may need to a SAX reader to take the stateful information into some form, but after that, it's just XSLT transformations into SVG, and voila, you have an easy way to make cool meters/icons.

    --
    "Pinky, you've left the lens cap of your mind on again." - P&TB
    "I can see my house from here!" - ST:
    1. Re: Stateful Icons? by Anonymous Coward · · Score: 5, Informative

      This functionality is already in Nautilus. They're called emblems. You have read-only emblems, Music Folder emblems, etc. It supports both PNG and SVG emblems.

      Maybe Konq has this too, but i haven't used it in i-dont-know-how-many years, so i dunno if it does.

    2. Re: Stateful Icons? by Textbook+Error · · Score: 3, Interesting

      Same idea in Mac OS X - which calls them "badges". The API lets you composite one icon reference on top of another and draw it as a single entity (or to find out if an icon reference is actually a composite).

      Personally I suspect there's not a great deal of point in making icons vector: 128x128x32 with a decent scaling algorithm (and an optional set of pre-scaled images at smaller sizes) seems to cover pretty much everything. At least for the tasks icons are typically used for. Anything larger than 128x128 is turning into a picture rather than an icon (yeah, you could use the same format for both, but why bother - 99% of the time an icon is just blitted to the screen or used for hit testing, both of which an 32-bit pixmap is ideal for).

      --

      Nae bother
    3. Re:Stateful Icons? by jonr · · Score: 2, Insightful

      BeOS did something close to this. Although vector-based icons are more suited to this.
      I could start ftp download and then just keep an eye on the file's icon in the Tracker for progress... Very useful.
      J.

    4. Re: Stateful Icons? by IamTheRealMike · · Score: 5, Insightful
      Personally I suspect there's not a great deal of point in making icons vector: 128x128x32 with a decent scaling algorithm (and an optional set of pre-scaled images at smaller sizes) seems to cover pretty much everything.

      Covers everything at this time. Max resolutions have gone up year on year, but most people don't use the full capabilities of their card/monitor because the screen elements become too small. So having a resolution independant desktop would be a good way of solving that issue (though obviously you still get these issues with the web).

    5. Re: Stateful Icons? by Ed+Avis · · Score: 5, Insightful

      It's a step towards what we should have had long ago: a desktop where you don't need to know what resolution it's running at, things are just scaled to the correct size. It's crazy that changing to a higher resolution display (eg from 800x600 to 1024x768 on the same monitor) makes all the window decorations and icons smaller. Fonts are supposed to remain the same size, but often they don't.

      Obviously for really low resolutions the scale might need to be increased to keep things readable, but a 3200x2400 desktop should look identical to 800x600 except for increased sharpness and detail. (You can still choose really tiny icons if you want them, of course.)

      --
      -- Ed Avis ed@membled.com
    6. Re: Stateful Icons? by ajs · · Score: 4, Interesting

      The main reason to do this is rendering speed. Storage size is also smaller, but really you care about the rendering speed of having 5 apps open, all of which use dozens of icons (I'm running galeon, and I count 16 icons in it alone... galeon tends to be light-weight when it comes to baubles compared to say, a spreadsheet).

      People complain that GNOME and KDE are memory-hogs and slow, but realistically, most of the overhead is in things like pixmap storage (not going to go away with SVG or PNG, since both have to be rendered down to an X Pixmap). Beyond that, you have to start hacking away at every bit of performance and memory use you can find. This is one such.

      I assume that KDE already has or is working on SVG too. It's a logical step. Heck, they *could* just use this lib if they don't already have one.

    7. Re: Stateful Icons? by Quazion · · Score: 2, Interesting

      But when i switch to a difrent resolution i hope to get more room, i dont buy a bigger screen for more detail, i want more work space.... but then i have multiple monitors, but still i dont think your point goes up always. But rescaling like i want would be nice :)

    8. Re: Stateful Icons? by Fastolfe · · Score: 4, Informative

      The reason you get more room isn't because you've changed resolutions, it's because at higher resolutions, your display elements (GUI, fonts, etc.) shrink in size, thus making room for more stuff.

      In a vector world, if you wanted more space on your desktop, you wouldn't change resolutions (ideally, you'd already be at the highest resolution your hardware supported), you would explicitly shrink your display elements (GUI, fonts, etc.) so they consumed less space. (Or get another monitor.)

      And who knows, once everything's done with vectors, your GUI might grow and shrink the size of active/active windows ("zoom") to give you all the room you need. MacOS X already does something similar with its task bar.

    9. Re: Stateful Icons? by Fastolfe · · Score: 2, Insightful

      ...is going to be big enough for a while.

      What you're basically advocating is changing the "standard icon size" every few years, as display resolutions go up. You also suggest that for print, vector graphics are better. What happens when display resolutions catch up to today's printer resolutions? Will you only advocate a switch to vector graphics when that day arrives? Or by that time will we be using 1024x1024 icons?

    10. Re: Stateful Icons? by Speare · · Score: 2, Interesting

      They're called emblems.

      While emblems affixed to icons are nice, that's not what the parent post was talking about.

      With stateful alternative artwork, a folder icon could appear open or closed or locked or zipped. A trashcan could appear lidded, unlidded, bulging or empty. Emblems don't do that.

      With stateful procedural rendering, a folder icon could appear tinted or shadowed or translucent or scaled to highlight different ownership or age or some other user-defined categorical criteria. Emblems don't do that.

      With stateful procedural animation, a folder icon could glint, shudder, bulge, wave or otherwise animate when the mouse floats over the icon, or when objects change status in some way.

      Further, emblems should be able to do all of these things independently from the icons themselves: the icon itself may glint and bulge while the emblems blush or twist.

      Sure, bad themes would be a distraction, but good themes could provide a lot richer interface to a very dense data space. This is true of Flash, of Skinnable applications, and of GUIs in general.

      --
      [ .sig file not found ]
  8. Re:Not needed for desktop by jrq · · Score: 4, Informative
    Except, the raster parts of the image will exhibit the same scaling artifacts that are present when scaling PNG images.

    It would still be an improvement though.

    --
    My UID is prime!
  9. Re:Not needed for desktop by e8johan · · Score: 3, Informative

    Yupp, that's a problem. But if only small parts were textured (i.e. the parts that require it), you could use a higher resolution and still save space and performance.

  10. great lib name by RobertTaylor · · Score: 5, Funny

    gdkpixbuf

    That looks like someone headbutted the keyboard...

    1. Re:great lib name by Anonymous Coward · · Score: 2, Funny

      Well, it's the obvious choice.

      How else would you abbreviate "GNU's not UNIX Image Manipulation Program ToolKit DrawingKit Picture Element Buffer"?

    2. Re:great lib name by Anonvmous+Coward · · Score: 5, Funny

      "gdkpixbuf
      That looks like someone headbutted the keyboard..."


      He had his cat name it.

  11. Re:OS X by scrutty · · Score: 4, Insightful
    No, it has nice pretty icons and lots of scalable effects, but the icons are just scaleable pixmaps.

    However the entire quartz graphics subsystem supports all sorts of vector based operations and translations. Its a lot of fun to play with. Look at all of the shrunken window effects.

    --
    -- Oh Well
  12. Once again... /.'ers rally against the cause... by Anonymous Coward · · Score: 5, Interesting

    Jeeeze, just reading a few of the first posts on here you'd think that SVG icons were the end of the world. Nothing could be farther from the truth...

    One of the big reasons I like OSX (and I do not own a Mac, FYI) are the scalable vector icons. We've had vector based fonts for quite some time and you'd be hard pressed to find anybody out there who would rally against the scourge of vector fonts. For crying out loud... I believe it's KDE that has font anti-aliasing. I am sure we all have seen WindowsXP's "clear type" font smoothing. Anti-aliased fonts work pretty damn well and look absolutely super!

    Having the same capability with something as lowly as desktop icon is amazing! The next logical step is UI widgets and other elements of the desktop.

    As more and more LCD and other high-quality displays become the norm (many laptops feature 1400x1050 or 1600x1200 displays these days), not only are scalable fonts and UI widgets neccessary, there is an inherent human aspect to having a computer interface with the same perceived clarity of the real world.

    I think this is a fantastic implementation of vector graphics. I only hope that we can soon have entire UI's based around scalable graphics as well.

    1. Re:Once again... /.'ers rally against the cause... by IamTheRealMike · · Score: 4, Informative
      One of the big reasons I like OSX (and I do not own a Mac, FYI) are the scalable vector icons

      Bzzt, wrong. MacOS does not have any SVG or vector icon capability. It uses scalable bitmaps, which is nice, but they can't go any bigger than 256x256. That means, no resolution independance for you - ie in a true res independant desktop doubling the resolution just makes things sharper, as opposed to smaller.

      Note that this implementation probably won't do MacOS style fast zooming (not that it's all that useful anyway). For that I think we have to wait for XSVG, which actually integrates with the X server and can offer hardware accelerated SVG rendering (note that librsvg is faster than libpng in some cases).

      Having the same capability with something as lowly as desktop icon is amazing! The next logical step is UI widgets and other elements of the desktop.

      GTK already supports SVG themes, but I think a bit more work is required to make them really usable and realistic.

    2. Re:Once again... /.'ers rally against the cause... by Textbook+Error · · Score: 2, Informative

      It uses scalable bitmaps, which is nice, but they can't go any bigger than 256x256

      They're 128x128 actually.

      --

      Nae bother
    3. Re:Once again... /.'ers rally against the cause... by abe+ferlman · · Score: 2, Funny

      nice, but they can't go any bigger than 256x256

      And I've been trying like mad to get them to change this. All I want is a single 1024x768 icon for Emacs on my desktop.

      --
      microsoftword.mp3 - it doesn't care that they're not words...
    4. Re:Once again... /.'ers rally against the cause... by thatguywhoiam · · Score: 2, Insightful
      (on 'the cause' - no kidding, eh?)

      Note that this implementation probably won't do MacOS style fast zooming (not that it's all that useful anyway).

      I think zooming may play a much more important role in future GUIs. While the Dock's little parlour trick has limited functionality - apart from being a nifty demo - in its current form, I can see all sorts of situations where you could impart a huge amount of information through a 'zoom-up'.

      For example, those icon badges mentioned before. I find myself wishing for both more informational icons, and a keyboard-activated zoom focus. The Mail icon shows you how much mail you've got, that's nice... but I want more info. It would be great to mouse over the icon and have the connections/progress listed. Or, roll over the clock and have a calendar zoom out at you like a springloaded folder... putting itself away when you roll away. This gives you a really high amount of information density in a small amount of screen space. The SVG icons are great, the only problem I can see with them is for photographic material. Postscript-type files are fantastic and small for line art/gradients, but if you tried to vectorize a photo of Linus' head it would be a very large icon data-wise... much larger than a standard bitmap would be. I suspect this is why the OS X team went with the vector-transformed large bitmaps (someone else pointed out - or was it you RealMike? - that 256x256 icons are good for now, I'd respectfully point out that the 32x32 icons are still appropriate for most modern resolutions... 256 pixels will carry us well into the next 8 years barring otherworldly jumps in display resolution.)

      --
      If Jesus wants me it knows where to find me.
  13. A better way to clone the OSX look and feel? by image · · Score: 4, Interesting

    Right after OSX came out, I remember downloading a GTK and Gnome theme for my Linux box that copied the look, if not feel, of OSX. If I recall correctly, that theme was yanked by Apple's lawyers.

    Since then I've started running a OSX box as well, and have to admit that I like the look.

    Now I wonder -- would it be copyright infringement to write a script that extracted all of the SVG icons from a MacOSX box, copy them to a GTK theme directory, and run them on Linux? Thus the distributed theme itself wouldn't have any of the Apple look -- it would simply have the skeleton. The actual artwork would be copied by the end user in the privacy of their own home or office directly off a OSX box.

    The second possibility for this is to be able to run, with almost the exact same look, GTK/Gnome apps on directly on OSX (Apple's release of X11 really is amazingly well done, btw). The X11 integration still wouldn't be perfect of course (apps still have a hard time mimizing to the Dock), but it would be a visual improvement. Or even integrate the ability to search a file's resources to get the SVG icon and display it in Nautilus by default.

    In any case, librsvg sounds very promising. I'm impressed.

    1. Re:A better way to clone the OSX look and feel? by GauteL · · Score: 5, Insightful

      You seem to be under the impression that the OSX-icons are SVG. This is not true. They are just resource forks containing several different sized icons so that they seem to scale "magically".

      They might be drawn with Vector based drawing, but they ARE converted before used as icons. KDE does the same thing. The excellent Crystal Icons are SVG-based, but they are converted to PNG for KDE, hence the incorrect assumption that KDE supports SVG. KDE is supposed to get SVG-support in KDE 3.2.

  14. the end of diferences? by protomala · · Score: 2, Informative

    XML is a great thing. It could lead to the end of diferences in the look between toolkis and desktops. Most people complain about choise when desktops are made to look the same way, but acctually, this is choise. Today you can't make a gnome app use the file open dialog from kde. If QT-Designet can load glade files, why trolltech and gtk team work on a kind of wrapper for the call of signals, so if the programer want, he choose to load a XML file that contains the visual choosing what widget will take it? This would be not mandatory of couse, if people don't want, just don't use this, and keep working qt and gtk apps as now. But it would be very cool if I could load gimp saying to it: use qt instead of gtk today, thanks. :)

  15. Finally, great news for users :) by CheeseCow · · Score: 5, Interesting

    This is excellent news. After getting a new monitor that does 1600x1200, I found those tiny icons a bit hard to click at times. But now, I can run whatever resolution I want, and the icons will just look better & better.

    Heck, now the word "resolution" will start to have meaning! Instead of getting more small icons on your screen when going from 800x600 --> 1600x1200, you could get more detailed ones. And if it renders faster than PNG images, then we can have both great looks & high speed. Way to go! :D

    1. Re:Finally, great news for users :) by DrSkwid · · Score: 2, Insightful

      amen to that

      I'm running 2048x1536 on a 22" & I'm very happy that for the first time in my computing career instead of using the space to display somewhere near a useful amount of workspace I can actually keep the workspace the same size and turn up the font size.

      Running a term where the chars are 1cm high but I can still get 100+ columns is a godsend.

      Big fonts rule and all the better that I have a dual head system and I dont have to squint at IRC to read the text. I can have it at 22pt and read it from anywhere in the room.

      --
      There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter
    2. Re:Finally, great news for users :) by tempfile · · Score: 3, Insightful

      In a perfect world, you wouldn't have to increase the font size when your resolution grows. Instead, you'd tell the computer about the resolution and it would adjust the font rendering accordingly. Remember that pt is an absolute measure (1/72 inch), as in "Computer, make that font 22pt tall and I don't care how many pixels you will use".

      It has been a problem for a long time that fonts would scale up with increased rendering resolution, but icons wouldn't, destroying the visual composition. SVG can definitely make that better.

  16. Re:Expanding Complexity by gmuslera · · Score: 3, Insightful

    Suppose you want your desktop to look in some specific way, without worrying about resolution. If you have a big monitor and/or an extra-high resolution maybe your standard sized icons will look very small, and, in the other hand, they could look pixelated if they are "standard" icons magnified.

    With this you have icons that looks good and in the same aparent size in any resolution

  17. Re:I just don't care! by realnowhereman · · Score: 5, Insightful

    And I want mine to be the same size regardless of my screen resolution. So I'll be happy and you can still use bitmaps.

    Bloody hell - there is "the glass is half empty" and then there's "I hate glasses and really don't see what use they are to me or the rest of the planet".

    --
    Carpe Daemon
  18. Re:Too late by protomala · · Score: 2, Insightful

    First, Gnome have SVG in real time, you can choose a .svg as icon file. KDE should had this for 3.1, but as their lib wasn't very good, they now target it for 3.2. Second, they aren't saying gnome just got it, it's been there since 2.0, it's just better now. PS: I'm a KDE user, but I'm fair, SVG in KDE still sucks.

  19. Mindblowing by CoderByBirth · · Score: 5, Interesting

    I really think that scaleable icons are gonna be THE killer application of tomorrows operating systems.

    Seriously, why not go all the way and question the whole concept of icons?
    They could be allowed more degrees of freedom in their representation of a complex data object. Consider a 3D spinning folder icon, which somehow gives you an idea of how much data/what type of data is contained in the folder.
    Now THAT would be neat.

  20. Corresponding Browser support? by brianjcain · · Score: 4, Interesting

    So can we expect similar native SVG support from our favorite gratis and libre browsers (Mozilla, Opera, et al) soon? I think it's only been available via a plugin before.

  21. Re:I just don't care! by Sayjack · · Score: 4, Interesting

    Yes, but wouldn't it be nice to have more scaling choices than large/medium/small? There's more to SVG than just scaling graphics anyhow. Serialization is another goal of svg, hence you may be seeing the beginnings of webservices dedicated to serving up icons, animations, etc... XML and it's cooperative technologies are evolving rapidly.
    SVG puts powerful non-proprietary (bye bye gif) graphics capabilities in the hands of the xml architect. It fills a necessary gap in the XML arsenal. As the other technologies evolve, it's benefits will become more readily apparent. Imagine an XSL transform capable of transforming an XML document containing data into a graphical representation of itself...

    Programmable content can be embedded as well in the form of applets and XHTML objects. Apache's Batik project is a good example of what you can achieve. Batik can be found here.

    --

    -- Good judgement comes with experience. -- Experience comes with bad judgement.

  22. Svg Developpement by Sepper · · Score: 2, Interesting

    Nice to see progress being made in this direction...

    For thos who do not understand the value of making Svg work on the desktop, it's because you never worked with SVG before.

    I've worked all summer long on a job where i had to make a (sacled down and very acurate) map available via web... and it had to be interactively linked to a database...

    Now with fixed image this could have been a real pain, but once the map had been transfered from autocad, it was a simple matter: the text in tha map was clickable!

    (well, i did have to write a script to build the Svg from a DXF file and it really needs to be cleaned before i post it)

    The biggest problem i had to face was the fact that not a single svg viewer passed the W3c Test. The best one i had at the time (The Adobe SVG viewer) was not capable of anchor viewport (ie, using wahtever.svg#viewportdef to automagicaly load the viewport 'viewportdef')

    I just wish the format could be more popular... it could the next flash...

    --
    I live in Soviet Canuckistan you insensitive clod!
  23. Re:Expanding Complexity by tjwhaynes · · Score: 4, Interesting

    I don't see that it makes much sense. after all 16x16 or 32x33 icons have been around fr a long time. they're even-byte things and easy to handle. and they're quick

    And so are SVG icons - a lot of the current SVG icons are quick to load (requiring considerably less memory to describe the icon than PNG) and quick to draw with this fast renderer. But that is ignoring the most useful part of describing your screen using vectors, splines, etc. - rescalability. We're all used to being able to switch monitors with different DPI and still have the same physical size font on the screen (so that 10 pt is 10/72 inch high regardless of screen dpi) and it's useful to be able to have icons which behave in the same way.

    isn''t a desktop all about making a useful user experience? if I wanted gigantic icons I'd have gigantic icons, and I don't. It seems like extra complexity just for a coding exercise.

    For people with normal eyesight, standard 16x16 or 32x32 icons are going to be fine. If you suffer from poor eyesight, being able to have fonts and icons at say 4x magnification is extremely useful. And a big part of the GNOME2 architecture is strongly accessibility orientated so this is a useful part of the puzzle.

    Cheers,
    Toby Haynes

    --
    Anything I post is strictly my own thoughts and doesn't necessarily have anything to do with the opinions of IBM.
  24. Re:Too late by tackat · · Score: 4, Informative

    KDE in it's CVS version for KDE 3.0 was able to render .svgz (gzip-compressed svg's) in realtime as well (to be more exact: all crystal icons that existed up to that time) the feature has been disabled mostly due to maintainance issues and due to the fact that it was meant to be used for the default icon set. As the stuff hadn't been tested thoroughly until then and as it was only finished right for the last beta we postponed it for 3.2. Another reason was that the icon set wasn't in a final state.

    So although almost all icons in kdelibs are rendered using svgz files you have to invoke kde2png explicetly to create larger pixmaps from svgz's.

  25. Re:Not needed for desktop by msgmonkey · · Score: 2, Informative

    But that's the point, you don't get 4 or 5 icons. If you're lucky you'ill get one "Small" and one "Large" icon.

    Plus inside applications you tend to only get one size of icon regardless of screen resolution.

  26. Re:Not needed for desktop by mrjb · · Score: 4, Informative

    It is not only what you need on the desktop but also what people want. On a similar note, who *needs* flash on a webpage, or even GUI interfaces?

    Personally I wouldn't mind seeing a truly open specification as the standard for scalable vector graphics, and this seems to be *the* candidate for it. From the w3c webpage on SVG:

    SVG is a language for describing two-dimensional graphics in XML. SVG allows for three types of graphic objects: vector graphic shapes (e.g., paths consisting of straight lines and curves), images and text. Graphical objects can be grouped, styled, transformed and composited into previously rendered objects. Text can be in any XML namespace suitable to the appplication, which enhances searchability and accessibility of the SVG graphics. The feature set includes nested transformations, clipping paths, alpha masks, filter effects, template objects and extensibility.

    SVG drawings can be dynamic and interactive. The Document Object Model (DOM) for SVG, which includes the full XML DOM, allows for straightforward and efficient vector graphics animation via scripting. A rich set of event handlers such as onmouseover and onclick can be assigned to any SVG graphical object. Because of its compatibility and leveraging of other Web standards, features like scripting can be done on SVG elements and other XML elements from different namespaces simultaneously within the same Web page.

    --
    Visit http://ringbreak.dnd.utwente.nl/~mrjb/growingbettersoftware to download your free copy of the book
  27. Good news, but it would be much better... by ubiquitin · · Score: 3, Informative

    ...to have a really good SVG editing tool. GIMP 1.3.1 shows that some GNOME developers have put some serious thought into Bezier editing tools, but nothing that has been released as a standalone vector editing app. killustrator, sodipodi and similar apps just aren't ready for prime time. If you're willing to spend the time to use it, the GIMP is really about as powerful as photoshop. Unfortunately, there is nothing in the open source world which is anywhere near as close to Adobe Illustrator functionatlity.

    Worth noting that NeXT had display Postscript robustly implemented and SGI's window manager also had scalable fonts, but neither of these OS or GUIs are around today. If there's a lesson to be learned here, it is that the UI isn't significantly improved by scalable vector graphics. SVG is an improvement but not one which will make any competitive difference. Fortunately or unfortunately, the 25 year history of user interface points us in a different direction.

    --
    http://tinyurl.com/4ny52
  28. And GNOME significantly predates that by 0x0d0a · · Score: 5, Informative

    GNOME's been doing SVG icons for a long time -- this is an evolutionary improvement. This is another area in which it took quite a while for KDE to catch up, not GNOME.

    I wonder if KDE is using libsrvg to render the icons, as opposed to some Qt stuff. If so, both environments will immediately benefit.

  29. Mozilla by Anonymous Coward · · Score: 4, Interesting

    Mozilla has a native SVG project that's been around for awhile.

    I've always thought this would be the coolest thing ever: native SVG in a browser. I've thought of all sorts of great applications of this idea--I do mostly statistical analysis and to be able to put all the output, graphics and everything, into one file in a open, standard format that's read by a browser sounds wonderful.

    The problem as I understand it is that the SVG library Mozilla currently uses has a license that's incompatible with the Mozilla license. Mozilla native SVG is available in a separate download and has some functionality, but not anywhere near all of it. I've always thought it seemed a bit strange that someone couldn't find a Mozilla-capable SVG library, or that it would be that difficult to build one (I would help, but I just don't have anywhere near the expertise necessary).

    So, this stuff about Mozilla native SVG may seem offtopic, but it's really not, in a way: does anyone know if the library used for the SVG icons has any utility for Mozilla SVG or other open source browser-native SVG projects?

    1. Re:Mozilla by IamTheRealMike · · Score: 3, Informative
      So, this stuff about Mozilla native SVG may seem offtopic, but it's really not, in a way: does anyone know if the library used for the SVG icons has any utility for Mozilla SVG or other open source browser-native SVG projects?

      Not really. A better fit would be Xr - librsvg does the rendering but Mozilla needs to do it itself for good integration. Using Xr however in place of libart would provide a better backend.

  30. Re:How can they say it's faster? by FooBarWidget · · Score: 2, Informative

    librsvg is faster *under certain circumstances*. Yes, if you create 2 milion vectors then it will be much slower. But most icons aren't made of 2 milion vectors, that's why they're faster.

  31. Try Sodipodi by Ur@eus · · Score: 2, Informative

    I suggest you try out Sodipodi while it would be crazy to claim that it can do everything Illustrator can it is getting nice and usefull.

  32. try running @ quad XGA with 48 pixel icons by DrSkwid · · Score: 3, Informative

    run your desktop at 2048x1536 and you'll get a harsh lesson in how poor the computing world deals with different resolutions.

    If it wasn't for Mozilla's ability to have a minimum point size for fonts 75% of websites are too small to read (including my own).

    Making a website that renders properly at all sorts of font sizes is a challenge.

    A challenge made worse by I.E. & Mozilla's disagreement on what to change when you change the browser's font size. [View .. Text Zoom] on mozilla & [View ... Text Size] on I.E.

    I.e. doesn't change any font specified in pt, px em or en whereas moz changes soe of them but not others.

    frikking n'mare

    --
    There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter
  33. Re:Can Mozilla use this by Jack+William+Bell · · Score: 4, Informative

    Mozilla has an active SVG project. The renderer is not yet included in the main build, mostly for licensing reasons. But you can build it in yourself and there is someone that maintains a Windows build. See the link for more info.

    --
    - -
    Are you an SF Fan? Are you a Tru-Fan?
  34. Re:I just don't care! by Atzanteol · · Score: 5, Insightful
    Bloody hell - there is "the glass is half empty" and then there's "I hate glasses and really don't see what use they are to me or the rest of the planet".
    I couldn't have put it better myself. Have you noticed the massive influx of people with a "New technology? Bah!" attitude? Every time someone develops something new there's one idiot with a "My aunt Tilly doesn't use it, so I don't see how it could be of use for anybody." attitude.

    I am not your aunt Tilly people!
    --
    "Ignorance more frequently begets confidence than does knowledge"

    - Charles Darwin
  35. 'half-blind' by Big+Sean+O · · Score: 4, Interesting

    Funny how you mention half-blind.

    SVG is one of the few 'imaging technologies' that has very good support for accessibility. Each drawn object can have a title and a description, so whereas you see a "stuffed garbage can", the braille user-agent would output the desc text: "Garbage Can containing more than 1 MB of trash".

    SVG could also be used for an org charts, and instead of having a long 'alt' tag would probably be out of sync with the 'gif', the blind user would be able to read the contents of each box, and depending on how the SVG is structured (with groups and defs), even get an idea of how the boxes are related.

    Also, SVG supports CSS, so you can have different stylesheets for different media (screen, printer, cell-phone-screen, and even braille and audio).

    As far as an imaging technology goes, since it's just another XML format, you can grab an XML document (say in the Weather Observation Markup Format) and use XSLT to output a nice SVG graphic showing the weather. (In fact, that's one of the example used in O'Reilly's SVG Essentials).

    I've just started using SVG (with Python) as a way to transform map data from the US Govt and make nice little SVG maps for my browser (kind of like a hand-rolled Mapquest).

    Programmers familiar with XML will be able to make some neat (albeit very ugly) stuff. Designers who know the fancier drawing tools will be able to make some pretty nice-looking stuff. Put 'em together and you can have some nice smart graphics. Will it replace flash? Who knows.

    --
    My father is a blogger.
  36. What's going on? by Tyreth · · Score: 4, Interesting
    Why are there so many people complaining about "what's the point of SVG" or "what a waste of time" kind of arguments. What's the issue here?

    I can't believe people here have so little imagination. It's almost like they are posting just to get modded up for having a 'radical' opinion. I mean, come on, what's the problem with SVG? It's not like the time spent coding on it is going to mean KDE3.2 will be delayed a month, or that Gnome will have more bugs. This is just one of the many enhancements that make Linux, and software in general, nicer. We should be talking about the fun things we can do with SVG, or the improvements that could be made, or any encouraging notes on it. Not about whether it has a point at all.

    Let me illustrate some points for the creatively challenged:

    • Prettyness - this is the most obvious. Most people like something that looks good! Sure, it may not have an obvious practical advantage, but humans are naturally attracted to things that look good, as opposed to a website with black background, red/yellow flashing text with images with white backgrounds. There may be something deeper to this - when something looks professional /pretty, it feels easier to understand. The less attractive it is, the more complex it feels. Quite simply, the more something feels like sphagetti the less our mind will be able to comprehend it and move on to newer things. The neater something is and the more we comprehend it, the easier we will find to move on to something new.
    • Resolution - been mentioned earlier. Different resolutions require different font sizes. This means that the artist can make an icon that will be useful from now until the time computers go primarily 3d. They don't need to anticipate resolutions of the future, their work will scale seamlessly.
    • Speed - this is a speed improvement. The more our code is improved and sped up, the more integrated it can be. This is just one of many enhancements to Linux that make community software that bit better.

    So, onto something more positive: what's the state of SVG in KDE? I really enjoyed it in Gnome 2 for the time I used it, but it was a bit slower when they got large. These speed improvements are certainly good news.

  37. Deformable matching for scalable graphics by more · · Score: 3, Interesting
    It is nice to have the sharp features aligned with the pixel boundaries while still maintaining approximately the geometric relations. Perhaps a deformable match of the high frequency features with the pixel boundaries could be a solution for showing glyphs most accurately on pixelized displays?

    Deformable matches are used in advanced medical applications between 3d volumetric images: CT, MRI, PET, etc.

    --

    -- Imperial units must die --

  38. Excellent... by Anonymous Coward · · Score: 3, Insightful

    I seem to be alone here as the only person who actually thinks this is a fantastic idea...

    The whole point about SVG is that they will render nicely whatever the screen size... This isn't only relevant for big screens. This means that my iPAQ's tiny little 320x240 screen won't have to be eaten up by huge bitmap icons.

    The SVG stuff should tie in beautifully with the sub-pixel rendering in X.

    Congratulations to the author(s) for their great work..

    Looks like linux just gained yet another feature that windows is lacking.

    Well Done :)

  39. Display SVG by DrXym · · Score: 4, Interesting
    Screw the icons, how about a complete display SVG engine akin to Display Postscript / Aqua?


    If this lib as fast as it claims (at rendering though I doubt parsing), then why not? Windows and other elements in the display would break-down into SVG commands that would be rendered as required. Perhaps it would prove a very efficient way of presenting a remote desktop too rather than sending down bitmaps like VNC does at present.

  40. Icon scaling != usability by HelbaSluice · · Score: 2, Insightful

    Thing is, frequently you want a loss of quality when you scale an icon. Who cares about all the pretty brown crinkles in the Gnome foot icon when it's at 12 x 12? They won't read like crinkles, they'll read like a muddy mess. A simple outline is probably best at that size.

    Now, a format that defines a priority heirarchy among the vectors on the image, and a scaling factor at which size various low priorities of vectors are not rendered... That might be very, very useful for icons.

  41. Session Migration by msobkow · · Score: 4, Insightful

    I'm surprised no one has mentioned a key benefit of SVG desktops: session migration.

    Ever notice how primitive systems like WinXX have some serious layout problems with a network login user moving from their "usual" 1280x1024 desktop to a temporary workstation that is set for 800x600? The icons get repositioned to be visible, destroying any custom layout the user had -- and that is assuming they were all in the upper/left of the screen. Heaven forbid the user had bothered with placing any of them on the right hand edge of their screen!

    Deploying a "thin client" desktop is even worse, as you need to be able to scale the virtual desktop to fit the physical screen being used at the time. As PCs become more innocuous (think payphones), it will be natural for people to expect to have an identical session no matter what they are using to link with their home server session.

    Sure we're still 5-10 years from the point where those facilities are "needed", but without a solid foundation in place we can't even think about deploying those kind of systems efficiently.

    --
    I do not fail; I succeed at finding out what does not work.
  42. Re:One quick question by tjansen · · Score: 3, Informative

    AFAIK it is more compliant at the moment because it supports more SVG features. But librsvg is just a static renderer, whereas KSVG aims to offer a complete DOM model to KJS, KDE's JavaScript engine. This allows Macromedia Flash-like interactive animations using SVG+JavaScript.

  43. Patent issues all resolved? It _appears_ so... by dwheeler · · Score: 3, Interesting
    At one time, I recall that there were some serious patent issues with SVG. Basically, SVG wasn't really an open standard, because it was patent royalty encumbered - giving an automatic disadvantage to those who weren't patent holders, making it impossible to implement using open source software / free software, and discouraging implementation in any place where expenses have to be kept down (including some small businesses and mass market devices).

    According to http://www.w3.org/2001/07/SVG10-IPR-statements.htm l and http://www.w3.org/Graphics/SVG/Disclosures, this appears to have been resolved to permit royalty-free use.

    If this is true, that's a real victory for the new W3C policy (and for the world in general). Thanks to all. Please let me know if I'm misinterpreting something.

    --
    - David A. Wheeler (see my Secure Programming HOWTO)
  44. Dependency hell by marmoset · · Score: 2, Funny

    This is cool and all, but is anyone else shuddering at the idea of a Gnome build with even more library dependencies than it has now? Screw getting a cup of coffee while Gnome builds, it's more like grow your own beans, roast them, age them, grind them...

  45. Comparison of SVG and display PDF? by sir99 · · Score: 2, Insightful
    Scaled icons would be sweet. A nice step towards resolution independence. But how does SVG compare with other vector drawing systems, like display PDF? What are advantages and disadvantages of each?

    For a program I'm writing, I use Ghostscript to render some postscript in one of my windows, but I wouldn't dream of using it to render my GUI widgets. :-)

    --
    The ocean parts and the meteors come down
    Laid out in amber, baby.
  46. Re:Linux Vector Tools by tackat · · Score: 2, Informative

    Crystal SVG was developed using Adobe Illustrator 9.

  47. The best demo i found. by Jeedo · · Score: 3, Informative
    Adobe has made some nice Demos of the capabilities of SVG especially things that would previously have been only possible with Flash

    Although, being a windows user i could only view it using the Adobe SVG Viewer which only works in IE, any of you have an idea of how to make it work under opera7 drop me a line:)

  48. Re:I just don't care! by doubleyewdee · · Score: 2, Funny
    SVG is Good Stuff(tm).

    How about "SVG's Very Good"?
    --


    you can take the road that takes you to the stars...
  49. Remember the NeXT... by kahei · · Score: 2, Interesting


    Remember how the NeXT boxes had postscript displays? Whatever needed to be drawn on the screen was expressed as postscript, and the display was a postscript renderer. It worked beautifully.

    SVG is much more powerful (for desktop things, not necessarily for printing/typesetting things) than postscript. I think this is an excellent step.

    --
    Whence? Hence. Whither? Thither.
  50. Re:SVG trade-off .. by Knobby · · Score: 4, Interesting

    I'm not so sure why it would be faster to render the SVG and display the PNG (which needs to be decompressed), but keep in mind that it may depend on the test platform. Under Mac OS X 10.1, a lot of people were using a little command line hack that compressed the frame buffer. The memory bus was a bottle neck, and it was faster to compress and decompress the frame buffer than it was to move the uncompressed frame across the bus.. Just a thought.. CPU cycles are cheap, improve the memory system is not..

  51. Re:I just don't care! by bwt · · Score: 2, Insightful


    I don't want my icons to be huge!

    You just don't get it. Size should be a property of the rendering, not of the icon. SVG allows this, bitmaps don't.

    You can make an icon out of any SVG file by telling your desktop to render it. Not only that, but it looks good whether you are on 1920*1200 or 640*480.

  52. Speed vs. Quality by someguyintoronto · · Score: 2, Insightful

    You would think with everyones rant that this was really new technology. Vector image formats are not new.

    In fact there is an age old debate, of bitmap (pixel-based) and vector. Pixel based has it's drawbacks of not being scalable, and being bigger in file size. Vector, on the otherhand is scaleable and smaller in file size.

    We should, however, remember the big tradeoff for vector, and that is what is gained in scalable quality is lost in rendering processor time. I could imagine some extremely complex icons being created really grinding GNOME on the rendering. Additionally, add XML as the native format, while useful in many applications, processing/parsing XML is not the ideal...

    I'll be impressed when I see it and run it on my old beater box that I currently can run GNOME on...

    Although, I guess if it really " renders them faster than libpng renders the same images in png format." maybe it'll be the holy gail afterall.

  53. SVG vs. PNG by daVinci1980 · · Score: 4, Interesting

    I read this claim again and again, and it still doesn't sit well with me. I worked on a vector-based rendering engine for awhile (in fact, the fastest vector-based rendering engine [begins with an f, ends with a lash]), and there are certain limitations that cannot be overcome.

    When it ultimately gets down to it, a PNG file is a compressed bitmap. There is a fixed cost to rendering it, which can be expressed as an amortization of the dimensions of the image. Its just like fill-rate on a 3-D card.

    When rendering any vector format, there are many dependencies. Is AA enabled? Which AA algorithm was used? Are they using a scanline renderer, or actually rasterizing each vector regardless of its impact?

    The same reason which allows SVG to be faster than PNG rendering is the same reason that other cases will be radically slower: rendering each vector disregards the size of the image being rendered. How can this make it slower? Imagine an image filled dozens or hundreds of times with the same vectors that fill the image completely. Suddenly, we're not having to fill a rectangle, we're having to fill it multiple times in comparison to the png drawing in the same space. And the problem gets worse the larger the destination size.

    Using a scanline renderer for vector based graphics has a much better cost comparison to png format, but it will always be slower as ultimately bitmaps can be embedded within vector formats.

    As a simpler analogy; the vector graphics are to the transformation pipeline or a graphics card what bitmaps (and pngs) are to the rasterization on the video card. Transformation without rasterization is meaningless, and therefore always going to be slower.

    --
    I currently have no clever signature witicism to add here.
    1. Re:SVG vs. PNG by scrytch · · Score: 2, Interesting

      As a simpler analogy; the vector graphics are to the transformation pipeline or a graphics card what bitmaps (and pngs) are to the rasterization on the video card. Transformation without rasterization is meaningless, and therefore always going to be slower.

      Except that most 3d cards will rasterize them internally and not have to a) use main memory, b) transfer main memory across the bus, or c) involve the CPU in a meaningful way. If a good SVG to OGL or D3D mapping can be found, you most certainly can render it faster than a PNG.

      --
      I've finally had it: until slashdot gets article moderation, I am not coming back.
  54. Sorry, but you are wrong by sorotokin · · Score: 3, Informative

    You are wrong on two counts: 1. There is a full syncronization between animation and graphics in Adobe SVG Viewer. Adobe audio element works just like SMIL audio element with all synchronization stuff available for it. 2. There is already an agreement that it should be perfectly legal to embed SMIL audio element in and SVG document and it should work just the way Adobe audio element does now.

  55. Re:Not needed for desktop by Twirlip+of+the+Mists · · Score: 2, Insightful

    I used to fall into this trap from time to time myself. See, whenever somebody on Slashdot says "standard," they mean one of very specific thing: a specification entangled in draconian license terms that make commercial use impossible. No standard created and promoted by a company can be a "standard" in the Slashdot sense. So Flash is not a "standard" for the same reason that the QuickTime file format is not a "standard:" because, despite the fact that they are fully documented and readily available for any to use, both of those formats were developed by companies. And companies, of course, are inherently bad, according to Slashdot collectivist groupthink.

    It's an easy mistake to make, misunderstanding the common usage of the word "standard" on Slashdot. The same problem arises with the word "open," and don't even get me started on the word "free."

    --

    I write in my journal
  56. Check out Fresco by kentyman · · Score: 2, Informative

    You may want to check out Fresco, which would allow exactly that. In particular, the Fresco vs. X page might be interesting to you.

    --
    You know where you are? You're in the $PATH, baby. You're gonna get executed!