KDE To Adopt SVG: Take A Glance 286
Karma Sucks writes "According to the KSVG website, KDE 3.2 will be adopting SVG in a very real way. A special preview of KSVG is available, showing everything from font rendering to a snowfall simulation using ECMAScript and DOM. KSVG is fully integrated into the KDE framework and can be used as a KPart -- e.g., by applications such as Atlantik."
Thats not good enough! We need an SVG interface! (Score:4, Interesting)
Re:Thats not good enough! We need an SVG interface (Score:2)
Who said that they aren't doing this? The story links to Atlantik, which is being rewritten to use SVG for it's UI. The preview shows icons being rendered with SVG. KSVG also makes making Qt widget styles using SVG possible.
Please read the article before commenting. =)
don't be a dick. (Score:2)
You don't have to do anything about it, bu if enough people say the same thaing, the people that are developing it can see whether ot not there efforts will be wasted because no one will use what they are developing.
I wonder if you complain about politics?
Re:Thats not good enough! We need an SVG interface (Score:2)
Whoohoo! (Score:4, Funny)
Re:Whoohoo! (Score:2)
Everything beside the Atari 2600 version is pathetic and simply untolerable!
I learned everything I know about flying a spaceship from this game.
So don't make fun of it, only because the pixels were kind of extensive.
And Mozilla? (Score:3, Interesting)
So Konqueror will have decent SVG support now.
When are we going to get decent working SVG support for Mozilla (and Phoenix) in X then? Last I checked, we're still stuck with libart (which can't be officially included in Mozilla thanks to the lack of a tri-license) and the infamous Bug 111152 [mozilla.org] was still open...
Re:And Mozilla? (Score:2)
Another question: if Mozilla faces such a license problem, why KDE won't? And if KSVG will be based on another SVG library, why cannot Mozilla use that alternative SVG library?
P.S. At some point GNOME/GTK has been burn just beacuse license issues of KDE/QT. I guess not it may (and actually should!) happen with libart/SVG.
Re:And Mozilla? (Score:2)
But, KDE *could* use libart because libart is LGPL. KDE is GPL, and GPL'd code can import LGPL libraries, no problem. But Mozilla is licenced under GPL, LGPL, *and* the Mozilla Public License, which is not GPL/LGPL compatible. (Correct me if I'm wrong; that's a possibility.)
If KDE uses its own, it would probably also be either GPL or LGPL, so it wouldn't have any advantages over libart.
Really it's not th
Re:And Mozilla? (Score:2)
Re:And Mozilla? (Score:2)
>>>>>>>
About 10,000 lines last time I checked (a few years ago). But its some rather excellent and sharply written code. Rewriting it to its current level of quality would be non-trivial.
Re:And Mozilla? (Score:2)
I guess that option never worked with the libart's author. To bad for him to have so closed mind.
Re:And Mozilla? (Score:2)
He already relicensed it once (GPL->LGPL)
Mozilla already has drawing classes that are more complex than libart anyways.
Re:And Mozilla? (Score:2)
And his limit is what? one relicensing per 10 years?
Can he try to do it (to relicense it) a bit more often?
Mozilla already has drawing classes that are more complex than libart anyways.
So, you are saying: Libart is not good for Mozilla's SVG anyway, and as for today there is no other reliable SVG library. So, now what? No SVG in Mozilla whatsover?
Re:And Mozilla? (Score:2)
Do you the logistics of relicensing? Often, you have to track down contributors that have contributed to the project and ask them to relicense their contributions. The other option is to just rewrite the piece of code in question.
Mozilla had a horribly tough time doing this when they switched to the tri-license scheme. Other projects have also (parts of KDE even, like kmail)
> Libart is not good for Mozilla's SVG anyway, and as for today there
Re:And Mozilla? (Score:2)
Adobe has a new SVG viewer plugin in beta. [adobe.com] Currently, only Win32 versions are available, but the lead developer said on the SVG-dev list that they build and test for OSX and Linux. Unlike ASV3, this works fine with current Mozilla/Firebird, but its scripting can't talk to the browser or to the other documents the browser displays.
For my work with SVG, this doesn't matter, but if you want, e.g. your javascripted html
Re:And Mozilla? (Score:2)
Safari (Score:2)
Somehow, this came to mind ... (Score:3, Funny)
it leaks to the VC, he could end up an MIA, and then we'd all be put on KP.
Wicked cool! (Score:4, Insightful)
1) It means that KSVG, which was stalled for a long time, is now stable enough to be considered part of the base system. That is good news for SVG adoption in general, as it means that Konqueror 3.2 will likely have native SVG-with-animation support. Finally, an out-of-the-box fully-SVG-enabled browser other than IE-with-Adobe.
2) SVG should not be used for the entire UI, that's overkill, but for many areas it makes life a lot easier. For instance, icons in SVG make them infinitely scalable, so that people can resize their screens or their icons to whatever they find comfortable with no loss of quality. (Think handicapped.) Also, no more need for Small and Large versions of icons. Just have one icon, and the system scales it to whatever size is needed.
3) Hopefully, this will mean better support for SVG creation. KDE's SVG editing tools are still not the best. What I really want is to be able to use SVG as an editing format natively, not have to use a program-specific format (Illustrator, Kontour, Karbon14, anything) and then export to SVG. I want to work natively in SVG. With luck, this will let us do that.
There are some potential downsides, of course. Most notably, the risk that KDE will become like Mozilla. An all-XML UI, which while flexible also makes it considerably slower than just using compiled widgets. KSVG will have to be very very fast to avoid that problem, unless things are precompiled in memory cleanly.
Still, I can't wait.
Re:Wicked cool! (Score:2, Interesting)
Re:Wicked cool! (Score:3, Informative)
a) SVG has nothing to do with text quality --- current fonts are scalable, but they are rendered by highly optimzed renderers like Freetype to apply font-specific hinting.
b) OS X doesn't use vectors. Most things (widgets, etc) are still bitmaps. The graphics system supports vector graphics (and some apps like Quicktime use them) but most of the eye-candy in OS X is just the result of good UI designers. Hell, it doesn't e
Re:Wicked cool! (Score:2)
Re:Wicked cool! (Score:2)
>>>>>>>>>
No. Fonts are very complex beasts. You can't get good on-screen output by just rendering the font outline. You just don't have enough pixels for that. The TTF and Postscript formats have hinting systems that are used by the renderer to optimize output for on-screen display. TTF's hinting format is actually a complete bytecode interpreter for a specialized language that subtly manipulates
Re:Wicked cool! (Score:2)
> Why should a theme creator have to create 30 different versions of their theme for different resolutions?
They don't. Almost all Qt widget styles are already pretty much vector based (using the qpainter API)
SVG allows other things though. Easier theme creation for one.
Re:Wicked cool! (Score:2)
>>>>>>>
There is no hardware that accelerates Cairo.
and software based hacks which I'm assuming you are talking about done via the CPU.
>>>>>>>
Software-rendered vector graphics aren't hacks. They have to potential to be slower, but often they aren't. If you're doing a minimal amount drawing (and most themes do), they can be faster because you don't have the setup overhead of maki
Re:Wicked cool! (Score:2)
>>>>>>
WTF are you talking about? Fonts need to be anti-aliased because we have limited resolution. With *just* anti-aliasing, fonts still don't look good. You need complex hinting systems to make them look good. SVG doesn't have those.
Why should a theme creator have to create 30 different versions of their theme for different resolutions?
>>>>>>>>>
Learn to read. I said that Plastik's widgets wer
Re:Wicked cool! (Score:2)
Re:Wicked cool! (Score:2)
I wonder how long it will be before we have KSodipodi...
Re:Wicked cool! (Score:2)
So sodipodi is probably the best vector drawing app right n
Re:Wicked cool! (Score:2)
2) SVG should not be used for the entire UI, that's overkill, but for many areas it makes life a lot easier. For instance, icons in SVG make them infinitely scalable, so that people can resize their screens or their icons to whatever they find comfortable with no loss of quality. (Think handicapped.) Also, no more need for Small and Large versions of icons. Just have one icon, and the system scales it to whatever size is needed.
Ummmm, yeah, if we're gonna go for infinitely resizable screens, let's go all
Re:Wicked cool! (Score:2)
I disagree emphatically. Having the UI stored as vectors means that I can scale up everything - buttons, icons, widgets, everything - if I want, but Mr Only-has-640x480 doesn't have to suffer the obscenity of 40% of screen space going to widgets.
I recall some testing going on with the GNOME crew a while back where it showed that SVG rendering was actually faster than PNG rendering for some obscene reason (I'm too lazy to care, search back if yo
Re:Wicked cool! (Score:2)
Why is SVG important to the desktop? (Score:5, Interesting)
Objects can be clearly rendered in SVG regardless of the output device resolution.
We are seeing small 15" laptop screens with resolutions of 1920x1200. Soon we will have desktop monitors with higher and higher resolutions. This is because the profit margin in low resolution LCD monitors is quickly becoming very thin. Manufacturers are going to try and differentiate their products by touting the clarity and color rendition of better, higher resolution screens.
So the operating system designer doesn't have to
The smaller reasons include much less data - if a graphics card rendered SVG, then the connection between the computer and the card could be slow and very long distance. Hard drives space isn't an issue, except in power-conscious embedded areas where smaller graphics files could make a difference.
Lastly, rendering speed improvements could be realized. Aside from dedicated HW doing the rendering, if the OS did it in a trusted manner then it could be faster than many libraries and/or programmer hacks. Programs could as a result be smaller, since they don't have to maintain as much graphics, layout, and UI information.
In short, there are many good reasons to include SVG in the lower system level - mostly looking toward the future of hardware, but when it's here, won't it be nice to be ready?
-Adam
SVG != resolution-independent icons (Score:3, Insightful)
Re:SVG != resolution-independent icons (Score:4, Insightful)
Oh, come on. It's a simple matter to create a icon that is as complex as it needs to be (ie, you don't need a super complex icon for Staroffice) regardless of the output device.
It's then a simple matter of 'culling' the detail. on a 90x90 cellphone display, you simply don't render objects that are smaller than a pixel or two. In that case you end up with only the larger aspects of the icon. Furthermore, the device may avoid rendering gradients, going for a solid color, etc.
The designers ought to be aware of this, however, and make sure there are some larger as well as detailed aspects to every icon.
But the real idea behind an icon is that it is the same angular size relative to the distance to the human eye, regardless of the resolution of the display device. This means that the icon on a monitor 24" from the eye would be about 1" by 1" regardles of the resolution. Since the human eye has an inherent resolution limitation then certian details are not practical in the icon since they would not be resolved by the eye, even though the display may be capable of rendering them.
Similarily, a stadium size display need not render a lot of small details since the eye is more than 10 or 50 feet away, and, again, the eye's resolution wouldn't be able to resolve a detail that is only an inch large on the display.
-Adam
Re:SVG != resolution-independent icons (Score:2)
This means that for really small displays like cell phones, a lot of manual tweaking will still be required for vector-b
Re:SVG != resolution-independent icons (Score:3, Interesting)
Does SVG have any simple means to create a 'hinting' system?
Re:Why is SVG important to the desktop? (Score:2)
I'm ekstatik (Score:5, Funny)
very real way (Score:4, Funny)
--Dateline, October 14th-- GNOME project team announces they will be adopting SVG in a very, VERY real way.
Seriously, people. Thesauruses are your friend, ok? :-)
A (tm) Damn Good Thing. (Score:4, Informative)
Scalability has become increasingly more and more important on the desktop in recent years, and it's nice to see KDE recognize that.. Beyond the savings associated with going vector over raster, it's just a better idea. A better tool for the job. Sure, it's not going to replace traditional rasterized images (i'd imagine it's pretty hard to distill a rasterized image into a decent vector) but it's a step in the right direction. The right tool for the right job.
Cheers,
Funny - for me at least (Score:2)
Pretty neat stuff, nonetheless.
FYI (Score:2)
Holy Freaking Slashdotting batman! (Unixcode.org) (Score:2, Informative)
Re:Holy Freaking Slashdotting batman! (Unixcode.or (Score:2)
Will adjust the stylesheet not to load the marble background images, that should help a bit.
Everything old is new again. (Score:2)
Great now how about SVG everywhere else? (Score:2)
Having worked with the spec, it hasn't seemed to take over the web, probably due to the lack of editors for it that let you take full advantage.
Flash killer it is not. We need Windows apps that aren't half-assed that do NATIVE SVG support. Exporting and importing just won't cut it.
I won't be impressed until Adobe soups up the plug in and we can play a port of Half-Life with it.
Re:Great now how about SVG everywhere else? (Score:2)
Already is in the upcoming KDE 3.2. Used widely in GNOME for a while too.
> a Linux window manager to me is a bit trivial.
Yes, someone can do that with ksvg.
Why XML?? Just why? (Score:3, Interesting)
What ever happened to compact binary image formats?
Re:Why XML?? Just why? (Score:2)
And it's really not a space problem, since you can gzip an SVG (and svgz is becoming a fairly standard format) and make it just as compact as a binary image format.
So you get a nice, open format that makes a lot of sense, and that can be compacted where necessary. Magic.
Re:Why XML?? Just why? (Score:2)
Now I've got to use a rather complex decompression library and a rather complex XML parsing library just to get back to where I could have started?
All I see is overhead.
Re:Why XML?? Just why? (Score:2)
And I would have thought that most developers would rather learn a new XML DTD than have to learn an entirely new way of encoding data. If you don't, and you don't like XML, then there's no point in trying to convince you
Re:Why XML?? Just why? (Score:2)
gzip is trivial? How many lines of code are in a typical gzip implementation? What is the memory profile during execution and typical speed of operation based on file size? Have you written gzip compressors and d
Re:Why XML?? Just why? (Score:2)
Re:Why XML?? Just why? (Score:2)
The important thing to remember here is that both XML and gzip are complex to some degree, so they should only be added if they provide some important benefit.
Also, proper requirements analysis and design, performed seperate from any coding, cannot be obsoleted by a "silver bullet" like XML. If you don't take pains to create useful, flexible, modularized software, at all stages, then the pains will fin
Re:Why XML?? Just why? (Score:2)
Re:Why XML?? Just why? (Score:2)
Re:Why XML?? Just why? (Score:2)
Re:Why XML?? Just why? (Score:2)
Re:Why XML?? Just why? (Score:2)
In fact, JPEG, GIF and all the other image formats are "binary" and don't seem to suffer any bad side effects from being so. Ergo byte-order and machine compatability don't seem like good reasons.
Re:Why XML?? Just why? (Score:2, Interesting)
The main reason it is XML is so it integrates well with other W3C standards: SMIL, XHTML, XSLT, XSL:FO and CSS. Actually SVG itself relies a lot on these formats. For instance, styling is done with CSS, SVG can easily be generated with XSLT, a lot of SVG text layout attributes came from FO and SVG animation is basically an integration with the SMIL animation module. SVG is not supposed to do everything by itself, and, for instance in Adobe SVG Viewer v6 preview you can embed a pieces of XHTML in SVG and SVG
Re:Why XML?? Just why? (Score:2)
As to verbose... Well, gzip certainly helps, but I keep hoping for a compression format tailored to handle XML, or a translated XML format designed for compactness and easy machine manipulation. (Hadn't there been some effort on this in the embedded space?)
SVG going the way of PNG & VRML? (Score:2)
History has shown folks are loathe to download plugins to view content, and without a market for content there's little for content creation tools, leading to little content etc. Thus
The Croczilla demos: Mozilla vs. Konqueror (Score:2)
Most of you have probably seen the SVG demos at Croczilla [croczilla.com].
I once had a Mozilla 1.3 Alpha with SVG build, and it rendered these files perfectly. I was using Red Hat at the time.
Now I'm using Gentoo, and I emerge Mozilla with mozsvg in my USE flags, which of course builds an SVG enabled Mozilla. Cool.
Except that the croczilla files look like crap. They are rendered B&W, all color is gone. AND the image gets corrupte
Anyone remember RIP from the BBS days? (Score:2)
It makes me wonder: why it took so long for it to be incorporated in some fashion as a web standard?
Scalable vectors are nice but... (Score:2)
Re:Scalable vectors are nice but... (Score:2)
Scalable Vector Graphics. (Score:3, Informative)
In longhorn (Score:2)
Scaling will be even supported in old non-vectorized "compatibility mode", but of course you'll see pixelation in this case.
Re:Scalable Vector Graphics. (Score:2)
...on new systems that insist on having 2ghz processors with only 128mb ram.
Vector graphics aren't really new; they're just really hard to do right. Along with Macromedia Flash, Corel Draw and Adobe Illustrator are native vector drawing programs.
Re:Scalable Vector Graphics. (Score:4, Informative)
What you were trying to say, I think, is that SVG generates vector graphics as opposed to bitmapped graphics. Bitmapped graphics are basically lists of pixels, saying "First row: pixel 1 is red, pixel 2 is red, pixel 3 is green. Second row: pixel 1 is red, pixel 2 is green, pixel 3 is red. Third row: pixel 1 is green, pixel 2 is red, pixel 3 is red." This generates a three-by-three graphic like this:
RRG
RGR
GRR
In other words, a red square with a green slash extending diagonally upwards from the bottom left to the top right. You can save some disk space by compressing the file -- for example, the file might say "Green pixels: Row 1, pixel 3; Row 2, pixel 2; Row 3, pixel 1; all others Red." Other compression schemes use different approaches, but that's one way. At base, though, it's still just a list of pixels. Examples of bitmapped graphics include BMP, JPG, PNG, and GIF graphics.
Vector graphics are different. They specify a set of mathematical descriptions of shapes. Like plotting out the algebraic formulas for lines and squares and stuff on a graph in high school. Instead of describing the picture, vector graphics describe how to draw the picture. The advantage to this is that the picture can be drawn at any size. You could take a vector graphic and draw it at 3x3 pixels or 3000x3000 pixels, and the end result would be true to its description. You can enlarge something indefinitely without it getting all pixellated and blocky. You can also reduce it indefinitely. Of course, at one point or another it gets too big or too small to be useful, but in between those points it gives you a lot of flexibility. Sick of those miniscule icons in the toolbar of your word processor? If they were SVG, you could twiddle their size until they felt comfortable. Some of the better-known examples of vector graphics are TrueType fonts and Macromedia's Flash graphics.
SVG [w3.org], which is short for Scalable Vector Graphics, is an open, XML-based standard for vector graphics, similar to Flash. You use XML tags (vaguely like HTML) to describe your shapes and such. Then you need an interpreter that takes those instructions, figures out the math, and draws the shapes for you. You can animate them with ECMAscript (read: JavaScript). The standard is fairly new, but has a lot of backing. [w3.org]
In KDE, icons are the most obvious use for SVG. There is a definite performance hit -- all that math means a lot of CPU overhead. For this reason, I don't think SVG is likely to be used to generate the whole interface. But there's an excellent compromise: once the SVG has been sized and drawn, you could then take that and save it as a bitmapped graphic. So you could size your interface once, then save to plain old bitmapped files, using compression if you like. That way you get your UI sized the way you want it, and you don't have to keep re-calculating all the vectors.
It's a spiffy new technology, and has a lot of potential applications. Neaaat.
Re:Scalable Vector Graphics. (Score:2)
Children of the 80's might be more familiar with Asteroids, Tempest, Battle Zone and Star Wars though
I suppose the term 'vector graphics' is a little ambiguous and could refer to both image formats and display hardware.
Re:Scalable Vector Graphics. (Score:2)
Only for sufficently large pictures with little complexity.
For complex 32x32 icons, such as the Mozilla dinosaur head, I doubt an SVG would yield a smaller memory footprint than a rasterised one.
Don't get me wrong, I think SVG is a great and necessary step, but I wouldn't tout its memory usage as a benefit.
Re:Scalable Vector Graphics. (Score:4, Informative)
Re:Scalable Vector Graphics. (Score:2)
Re:what is SVG? (Score:2)
Re:Why ECMAScript? Choose Python! (Score:2, Insightful)
Re:Why ECMAScript? Choose Python! (Score:2)
in there, when we could instead use
python.
Feel free to do it yourself, with Python. I'm sure you know whats better.
Re:Why ECMAScript? Choose Python! (Score:3, Funny)
Kids, what's up with you - fighting over what's the best language is stupid!
Love is stronger than hate.
So let's invent a new language together!
Re:Why ECMAScript? Choose Python! (Score:2)
ECMAScript has nothing to do with XML (Score:2)
Wow! That's kind of new worth to be published on the frontpage of /. ! Where did you get that fact? Any link to share with us?
Last time I've checked XML had nothing in common with HTML aside of the braket shape.
For object-oriented nature of XML with strong namespacing I would definitely prefer to use a real language with strong typing rather than that mockup, which was Javascript.
Re:ECMAScript has nothing to do with XML (Score:2)
Besides, SVG has nothing to do with XHTML.
Last time I checked XML a derivative of SGML, wich is hierarchical based. Though XML based data loads well into an object it is not object-oriented in and of itself.
It's true about hierachy, it's true about SGML, it's not true anymore about O
Re:ECMAScript has nothing to do with XML (Score:2)
Yes it does. It's part of the w3c's complete suite of XML related technologies. Technologies that will form the future of the web.
ECMAScript is one of these technologies. It's tied into SVG more than any other language is. It'll be a part of pretty much all implementations of SVG.
Re:They have no common sense! (Score:2)
You could implement a SVG backend with Cairo, and people are already doing that. However, KHTML would likely never use that. Why? Because SVG can read/write/access things in the DOM. You need integration that something like xsvg would not provide.
Mozilla also would likely also never use xsvg, for similiar reasons.
What would you rather it look like? (Score:2)
begin my_ph4t_backgrd.sVg
hey computar plz draw a box enuf to fit 3 peoples heads
then on top of dat google for "sum41 group photo" an
put tat on top. oh yah and center it please.
engage!!1
EOF
I don't really see the problem. SVG is probably the easiest way to describe a picture structurally behind, I don't know, AppleScript or forth.
Re:Could be great (Score:2)
Re:Could be great (Score:2)
Re:Could be great (Score:2)
Re:Could be great (Score:2)
Re:Answer to Apple's Quartz (Score:3, Informative)
Re:Answer to Apple's Quartz (Score:2)
Re:Answer to Apple's Quartz (Score:2)
Re:Answer to Apple's Quartz (Score:2)
Re:Answer to Apple's Quartz (Score:2)
Yes, it is just you (Score:2)
Re:screenshots (Score:3, Informative)
You can set up little "docks" in any side of the screen. KDE is my favorite desktop (on a fast computer) on slower I like a mix of fluxbox and enlightenment.
Re:Mod parent UP! (Score:2)
Using SVG could have the benefit of having copy+paste matching gtk and qt styles however.
Re:Mod parent UP! (Score:2)
Most Qt/KDE widget styles use the QPainter API [trolltech.com] for this. On X11, these functions mostly just call the related Xlib functions (s/draw/XDraw) If you want to see the source code to the styles included in KDE, see here [kde.org] and here [kde.org]
KD
Re:Why not use librsvg? (Score:2)