SVG On the Rise
AShocka writes "The W3C has just released
Scalable Vector Graphics (SVG) 1.1 and
Mobile Scalable Vector Graphics (SVG) 1.1
as W3C Recommendations.
W3C Fellow Dean Jackson has an
article, on O'Reilly Network titled
SVG On the Rise,
in reply to Jacek Artymiak's article SWF Is Not Flash (and Other Vectored Thoughts).
Also check out Dean's SVG answer to Powerpoint presentations at Visualising the Semantic Web in SVG."
That should read:
The W3C has just released Scalable Vector Graphics (SVG) 1.1 and Mobile Scalable Vector Graphics (SVG) 1.1 as W3C Recommendations.
Can anyone summarize this technology with its advantages, disadvantages and impact?
Does anyone know whether Macromedia Flash can export to SVG or - if not - any such features are planned for a future version?
Good kudos to Macromedia if they would.
I'm wondering what tool was specifically used to create that SVG. I have used SVG to some degree, but the idea of writing SVG manually strikes me as a little more difficult than say, html.
SWF - Propietary format, but easy to make via wizards and so forth for the 16 year old web designer in your neighborhood. Flash 5/MX easily warezed which nullifies some cost concerns fro the less scrupulous. Well known.
SVG - Free format, but requires a foreknowledge of XML. Well supported by the mobile industry and some pretty heavy hitters, but not particularily known by the public.
Will both be implemented equally or will one ever edge out the other? Are we really going to have to suffer through Flash for much longer?
It's vector graphics written using XML-ish code and are thus human readable. And plus, the specification is much more "open-source" than Macromedia's SWF file format is. It also has support for mobile devices, and is just so darned pretty.
As all graphics are vector based, SVG also has the potential to provide crystal clear, high resolution print-outs instead of the blurred GIFs (or PNG if anyone cares) we get to today.
SodiPodi is an SVG editor for Linux and (recently) Windows. It's not complete yet, but from the look of it it should be pretty good when it is.
Ho hum for the life of a bear
I took a quick look at SVG for a proposal. It required animation with syncronized audio narration so SVG wasn't a possibility. I still don't see that SVG supports this and can't imagine SVG to be even remotely as useful as SWF in the realm of multi-media presentation. Sure it makes sense in more technical applications like mapping or calculated interactive diagrams, but I don't fear we'll be subjected to a rash of slow-loading SVG page banners any time soon. Bit of a shame, actually.
There is no need to use a SlashDot sig for SEO...
It's amazing how graphics formatting is "advancing". But, SVG is a telling format for the future.
I predict that within the next 5 years W3 will have another new, "better", standard. It will rely on embeding the graphics in the web pages themselves, similar to SVG. But, it will greatly simplify programming with its Reduced Instruction Set Code(RISC). The code syntax will consist only of Peek(x,y) and Poke(x,y). Simple huh?
Flash Player for Linux (Obvious)
Flash Usability (Flazoom!)
SWF Extractor (Windows prgrams that extracts images and mp3 files from a SWF file as separate files)
Unlock SWF (Open up compressed SWF files)
SWiSH (Low cost alternative to Macromedia)
How to Download YouTube Videos
OpenSWF.org has the
documents.
SWF is the file format used by Macromedia Flash to deliver graphics, animation and sound over the Internet. Almost 95% of web users can view SWF content without having to install a new plug-in, and over 300 million people have downloaded the Flash player. Macromedia published the specifications for SWF in April 1998
I'm not sure if SVG sucks yet since it's incredibly new and everything, but no one I know has used it.
In theory, it is a good idea, but it is only "widely accepted" (pronounced: "anticipated") by programmers who have been talking trash about Flash usability and want to play with vector art without losing face.
Stick to Flash until SVG picks up some steam. The World Wide Web Consortium has been very optimistic about it, promoting its native-ness in future browsers, but my money's on Flash until it gets all sorted out.
Reply or e-mail; don't vaguely moderate. Ex-O'Reilly/MIT employee, now a full-time Google employee.
I have several projects at work right now that use SVG and there are cases where it's wonderful to use. For those interested, I would suggest Apache's Batik project.
The biggest problem I've encountered so far is with Mozilla. Unfortunately, Mozilla's SVG capabilities are non-existant and the current Adobe SVG plugin doesn't work with the brower.
Who said Freedom was Fair?
Despite the fact that the internet is already tained by flash and other multimedia rubbish, the W3C creates another graphics standard to increase to rubbishness and slughishness of the internet.
Why not a standard for bloating websites (BDF - bloated document format), unreadable graphics rubbish (BEDL - bleeding eye document language) and web browser incompatibility enforcing documents (HCML - hypercrash markup language) ?
Owner of a Mensa membership card.
all graphics are vector based?
raster graphics?
So when some web site sends me a .SWF file, and pheonix tells me I need to install Flash, its wrong?
Looks like Mozilla has a project to supoort SVG The Mozilla SVG Project.
While we are still a long way away from full SVG support, the subset currently implemented is already pretty useable. We have support for all basic shapes including beziers, stroking and filling with opacity and much of the DOM.
The samples at croczilla.com/svg/ should give you a good idea of the features currently implemented.
Big areas where we're still lacking include text, clipping, filters and declarative animations.
There is a Mozilla project working on SVG support, but it's not yet seriously usable.
...
It also suffers from a licensing problem: it uses libart, which is licensed under the LGPL, which (for some reason) means it can't be included as standard in mozilla builds.
There is also an Adobe plugin, which does claim to work with mozilla, but it crashes more often than not
Macromedia has published the specification.
I have always liked vector imaging, being able to export it as a raster image or keep it as a vector to be resized and manipulated easily.
After all, complex 3D models rendered for video presentations, simulations and movies are just complex vectors and can allow easy and proportional scaling.
Not to mention that most vector data compresses alot more than storing a high resolution raster image.
I am all for an open/portable format thats compatable from CAD programs through rendering/moddeling software and raster paint packages. Postscript can do some of this but I find postscript a little too bloated in alot of cases..
-- If at first you don't succeed, lie!
Basically, Adobe used an "unfrozen" API that changed between version 0.9.9 and the 1.0 release, breaking the plugin around the end of March 2002. The bug report contains an interesting back-and-forth between Mozilla and an Adobe developer, where basically the Mozilla developers admit that they completely fucked Adobe with their plugin interface.
(In order to allow scripting with the SVG plugin, they had to use some unfrozen interfaces. Although the interface that seems to cause the most crashes is the network code (nsHttpChannel), if I'm reading the crash dumps correctly.)
It's now 2003, and it appears that Mozilla has sucessfully gotten Adobe to say "screw this" and stop supporting the Mozilla browser all together. I'm hoping that with the release of the 1.1 SVG spec, Adobe will finally release an SVG plugin that works with newer Mozilla builds. But I think the tech evangelism team has successfully made that highly improbable by completely and totally pissing the developers at Adobe off, and this is highly unlikely.
You are in a maze of twisty little relative jumps, all alike.
I mean:
Below is the reason why SVG is taking off:
[ Insert link to open-source Mozilla/Phoenix SVG plugin here ]
since the release of above, swarms of linux users have finally accepted SVG as a viable standard.
http://www.w3.org/Graphics/SVG/SVG-Implementations .htm8#svgedit
Most vector graphics packages nowadays have the ability to export SVG as well.
Absolutely! Of course you're limited to using the "rectangle" primitive with a minimum size of 1.0, a granularity of 1.0, a snap of 1.0, and a maximum width of 1.0. Beyond that small limitation you are fully open to exploit its feature-rich vector implementation.
The support for SVG in Mozilla isn't very good yet.
I don't see what would stop Mozilla using an LGPL library. Even proprietary software can use LGPL libs so long as any changes to the lib itself are made public. And Mozilla certainly isn't proprietary seeing as it's mostly tri-licenced as MPL/LGPL/GPL itself. As all of the source of Mozilla is available via CVS anyone else can grab changes quite easily.
no, but Adobe LiveMotion does
Keynote is XML based. Am I too assume that SVG is/will be supported?
For instance, if the author creates a fancy animation routine as a Flash library and links it in the SWF, other Flash authors cannot easily copy that library and use it in their own projects. With SVG, however, being a pure-text human-readable format, what's to stop an author from viewing the SVG source and doing a cut-and-paste of the library into his own projects? From what I understand of SVG, there is nothing to stop unethical authors from stealing from the hard work of their more talented peers.
This is the one example where SVG's implementation in XML is actually a bad thing. And in my book, it's a huge disadvantage of SVG that Jacek Artymiak's article failed to address. Perhaps it's even the reason why SVG has failed to overtake SWF on the web.
None. Number of people using SVG, 3. Number of people supporting SVG, Adobe. Adobe would love to hurt Macromedia any way they know how.
"During times of universal deceit, telling the truth becomes a revolutionary act." - George Orwell, 1984
Not mentioned anywhere by anyone so far: should we trust Macromedia's plug-in? One reason I don't allow the Flash plug-in to be installed on my computer is that I don't understand everything that it does, and how an author can mis-use the language to do things they shouldn't. Paranoid? Of course.
So I did a search here on the CERT site to see the kinds of headaches that have been reported with Flash. The returned response shows that the plug-in isn't too awful, but still it is bad enough to tilt the scales in my case to not supporting Flash at all, on any platform. YMMV
The same search of the CERT size for "svg" didn't yield anything, but that just means no one has found the hole yet, if there is one. Separating SVG and the multimedia functions means less opportunity for screwing up, or at least confining the exposure of any screwup. Maybe.
Besides, I have yet to find any good use of Flash as a customer -- but then again, I'm a proponent that Web pages should inform, not entertain or mesmorize. Corporate America won't like my attitude, I'm sure.
I (and thus my company) have found SVG to offer compelling advantages over existing formats. This is in the field of presenting financial data. The main advantages seem to be:
.gif charts and .ps files, and it does very very well in this role.
:)
1 -- It's just XML. Whatever can emit XML can emit SVG, from a perl script to a huge j2ee system. Andthe perl script doesn't take long to write because SVG is a compact format that should be intuitive to anyone who understands scene graphs (and anyone else really).
2 -- It's scriptable and interactive. In fact, SVG has an object model that integrates with that of a web page. This makes it easy to provide interactive charts or SVG graphic elements that participate in navigation -- and they'll do the same thing whether they're hosted in a web page or in an application or whatever.
3 -- SVG is predictable and easy to handle. Bitmaps are horrible for presenting detailed technical data -- you can't zoom, you don't know how they'll print, you can't edit them easily when they're finished, they take up space. SVG is small, predictable, and can be 'fixed' by making changes to the text of the file.
4 -- SVG is accurate. It is easy to generate SVG according to precise algorithms and know that the SVG renderer will draw the resulting lines in a predictable way. You do not have scaling/rasterizing issues (at least not as much).
Overall, we have found SVG to be easy to teach, easy to distribute, and produce very good-looking and interactive results. I think it's a big, serious advance in presenting complex data, especially if you need to present it over the web or interactively. I do not see SVG as a replacement for Flash/other pretty picture formats, I see it as a replacement for
It's also a geek-freindly technology -- lots of cool filter toys, easy to integrate with your silly scripting language of choice. I love it
Whence? Hence. Whither? Thither.
what is "emo"?
It is for vector graphics, not animation, sound, and other crap that I refuse to allow my browser to display. And because the player isn't closed-source, a plugin can be written allowing users to disable annoying features like sound, animation, and ad banner sized displays (if it had such features).
I have to disable flash everytime I update a browser or macromedia program, which is very annoying. I have no problem with SVG, since it doesn't make my computer start playing annoying music when I load a web page.
As a multimedia developer, the availability of an advanced tool to create SVG files, as well as the less-than-widespread adoption of the SVG standard, is stopping me presently from devoting any serious amount of time to this initiative. It won't be awhile before developers will invest in SVG development exclusively when you can easily publish in SWF.
Here's where the SVG developers put most of their stuff:
a ge
http://www.protocol7.com/svg-wiki/ow.asp?FrontP
I can't find it on their website, but according to an email I got, the March '03 issue of Dr. Dobbs Journal is supposed to have an article on SVG if any of you are not content to read about it online.
[o]_O
I'm still waiting for a superior SVG editor/authoring system so I can use all of SVG's competitive features on my website. So far, the only offerings I've seen just aren't so great. I know there's one for KDE, but I don't run Linux as a workstation.
You lost.
One of the most active forums for SVG developers is the SVG Developers Yahoo group.
Convert various stuff to SVG
Bleh!
As someone who is a regular on SVG lists for the past 7 months or so (not very long), I have already come across SVG book authors, W3C members, and Macromedia employees, and good ol' developers all having the very same debate that know the technology much better. And, surprise(!), no side has given up and said "Oh, you're right, lets start developing only with X." If you checked a 2 page SVG vs Flash demo and reposted some generic "SVG doesn't have as many authoring tools", although valid, it's a lot deeper than that. SVG is XML. A real W3C standard. Anyone can make their own client, and hopefully get around cross platform issues like HTML browsers. Which shouldn't be too bad, an SVG plugin is less of a commitment than your whole browser, and bad XML is just that, hopefully no "close enough" rendering. You can create SVG with XSLT or through any server side scripts that can output plaintext.
n t_replay.html
Here are some great places for SVG demos:
Pinkjuice/svg
KevLinDev
Adobe SVG zone
And here are some SVG examples more "in the wild", which are usually mapping or graphing:
http://www.netency.com/netenmap/index.php?p=demos
http://www.oaklandtracks.com/noise/noise_manageme
Anyway, educate yourself and see where SVG can be applied. Good luck.
You might be on to something there. From ldd:
/usr/lib/libgtk-1.2.so.0 (0x40246000)
mozilla/mozilla-bin:
[...]
libgtk-1.2.so.0 =>
GTK is certainly LGPL also!!!! What exactly is the problem here again?
Adobe Illustrator can export SVG.
Actually I would very much like to get into SVG. So what some *good* books on SVG, client and server side? I already have books on the other W3 technologies.
The big deal for me as a web designer is that SVG can be embedded directly in an XHTML document. The graphics eat less bandwidth than raster formats (like JPG and GIF) and can be mixed on-screen with the rest of the XHTML document. SWF files are subject to the usual limitations of anything implemented in a plugin.
Additionally, SVG animations tend to be smaller than SWF animations. It's like the difference between MPEG (which reduces redundant data from frame to frame) and using a separate JPEG image for each frame.
"proprietary
adj : protected by trademark or patent or copyright"
Proprietary doesn't always mean that it's closed to viewing. Just like PDF. But both are still from a legal standpoint "owned" by their respective companies. Patents and everything. So the answer is yes, SWF is a proprietary file format.
Anyone know how the beez::svg project is going? It would be really nice if this app took off one day...
Karbon Pics
Liberty.
Just wanted to make a couple of points about SVG being based on XML... This doesn't really provide much advantage now, but may provide lots in the future when browsers that fully support XML come out:
Imagine if a browser natively supported XHTML, SVG and XFORMS (my invention for a better XML version of HTML form elements). Then you could create a single document that contains well-defined text (XHTML), graphics (static or animated) (SVG) and interactive elements (XFORMS), and have them all interact with each other through DOM. Or you can put each part in a separate file and mix them together with <use> elements or whatever, and still have them interact with each other within the browser.
And the different elements need not be in their own separate boxes within your browser window, you could have an SVG graphics that embeds a chunk of XHTML in one corner, and XFORMS buttons in another corner and text fields somewhere else. Heck maybe even have some XHTML clipped within an SVG-defined oval.
And since it's all XML you can have the document interact more easily with the server through other well-defined protocols supporting XML, e.g. SOAP or XML-RPC.
Why the 'Scalable' in SVG? Isn't it obvious in the 'vector' bit? Or, to put it in another way, are there any Non-scalable Vector Graphics? (NVG - you heard it here first!)
In this interview they talk with the authors of the Conectiva Crystal icons, and about using karbon to make them. They link to this screenshot.
Even though this is my first venture into vector art, I must say I like it - it looks like it could even make an artist out of me!
I think SVG is the technology for the future.
.SWF (Shockwave Flash) and .SVG (Scalable Vector Graphics) file format specifications
Already open source project such as sodipodi is using SVG to store vector graphic format.
Here are some more information about SVG and comparsion with SWF:
Mozilla SVG Project
Comparing
Flash and SVG
Some online demos from SVG Unleashed
In other words, worrying about it is just going to make you seem like a selfish, ignorant jackass because your users are just going to go ahead and figure out how you did things anyway and copy it if they like it. If you're releasing it free to the world to use anyway, why do you care what people do with it? The whole point is for them to derive benefit from it, right? So what if their idea of 'benefit' doesn't match yours?
If you don't want people to see your flash animation, restrict access to it. Make them purchase it first. Package it inside an executable that encrypts it and make the user enter a valid key that just decompresses/decrypts it into memory before playing it. Whatever. Releasing something into the world for FREE (by, for example, publishing it on the web) and then expecting people to not mess with it is stupid and delusional. It just isn't going to happen like that.
If you really hate the idea that anyone might benefit from the work you release to the world in ways that you don't agree with or approve of, don't release it. It is just that simple. I see no need to be an elitist jerkoff about these things. That's the kind of thing high schoolers and skr1pt kidd13z do; not the kind of thing adults do. Grow up.
Actually even better. With XUL plus all the rest you can have more that just a browser. Remember Microsoft's fear of Netscape's browser replacing the OS? Well we just maybe closer than before.
what's to stop an author from viewing the SVG source and doing a cut-and-paste of the library into his own projects?
Title 17, United States Code.
The Berne Convention.
What else do you need?
Will I retire or break 10K?
I feel developers should always try to be as aware as possible about the technologies they use, without bias. Sometimes a client may request something be done in Flash, other clients may require that everything be as XML conformant as possible. Whatever the request, the developer needs to be aware of the pluses and minuses of each, and inform the client where need be. Flash has it's place, especially as Macromedia is putting in effort with MX to get it to address accessibility issues.
There is another possible advantage to SVG, being XML compliant, that I have not seen addressed here, and that is SVG media/documents can be formatted on the fly, using XSLT for various media. CSS addresses media types for (I know the support for all is not there yet, but it is getting there)
I saw Dean Jackson's presentation at the OzeWAI 2002 Conference. From what I could see, he was using Mac OSX, and Python XSLT tools to produce his PowerPoint like SVG slides. In this format, one should be able to configure completely different behaviour, look and feels for any of the desired end media formats. Without a file format based in structured markup, this becomes much more difficult to address. For this purpose, this is far more flexible.
I do feel that as/if SVG is eventually built into browsers natively, there will need to be some user configurability to control the behaviour of the SVG, (and other media) in the browser. If there are animations the user needs to be able to easily turn them off (if they want too), or allow the user to turn them off by default. Users obviously want this type of control as each user is different, some may love animated web pages, others may not. SVG and user-agents need to be easily configurable and controllable. This should be pretty obvious given Mozilla's and Opera's preferences to allow the user to manage the DOM, and the market in Popup blockers for IE that manage the DOM and http refreshes and the like.
As a side note, I really do not think the W3C is trying to box in/out developers. I try to follow most of the discussion groups associated with Web Accessibility Initiative (WAI). I can see how it would be easy to form the mistaken opinion that this bunch of people basically want a web driven by Lynx (or some really bland HTML). I ask those of you here that find the process of the W3C draconian, to just follow any of the active W3C discussion lists. I find a community of people that, for one have taught me a lot about how to work as a collaboration of people with different views and agendas, that are working with everyone to try and find a way to present the web in the most universal and open standards. There is often very healthy debate, and many people trying and working very hard not to limit the standards. The W3C is not the Web Police, it's just a standards body trying to build an equitable, accessible web (Maybe I'm really naive).
Admittedly they do not do such a good job of marketing themselves and educating developers, but it is a democratic process, if you really don't like something and feel you have better solutions, or can improve, or help, join a working group and help improve the web.
If you do follow a discussion list for a few months, and do not find what I stated, well.. you can email me a tell me what a flamin idiot I am (you may not be far wrong).
I'm using the Phoenix 0.5 browser (based on Moz) under Linux, and was thinking this might be The Answer to lengthy image downloads (if SVG vectorizes graphics better than Flash), but page downloads using the SVG plugin don't seem any faster. If developers aren't going to be careful to optimize, it's going to be more trouble than it's worth to have this as a new standard.
BTW, the adobe plugin is installable for phoenix under Linux, and does work sometimes, but I'm not going to say how. It works with the .svg demo file provided by adobe, and that's about it. Ooooh, ahhhh, a picture with scrolling text...
For anything else, the adobe plugin, at least, should be considered to be experimental only. It is too unstable and may crash, taking your browser with it. This is especially annoying if you have several pages in tabs at the time. So, forget it. For now it's just a waste of time.
Patrick Doyle
I mod down every jackass who puts his moderation policy in his sig. Oh, wait a sec....
Mozilla team rejects libart (LGPL) and at the same time includes GTK (also LGPL). Strange, isn't it? But it doesn't look strange if you'll try to read some discussions in their bugzilla, like this one, where they buried out XFORMS b/c Why not just do it all in html and keep extending html. Basically, "we don't need any new standards, we need just some bugs to be fixed".
Look at other Mozilla projects having been promising and now dead. Look at their Roadmap - only version numbers, no info about any planned features (compare it with, for example PostgreSQL TODO list).
Gecko is (or was?) the most promising GUI technology I see today. It allows much more than HTML browsing - it allows to build real applications on the web. And several non-browser projects have been developed (i.e. mail). But tell me the name of any Gecko project newborn in last 6 months? Or old one riched its v1.0 quality in last 12 months? Did I miss something or nobody cares about Gecko anymore?
I think that for a long term Mozilla as project is slowing down and it may eventually die. At least with its current development team.
Less is more !
and modify those images in a way that was never before possible with GIF and JPG.
You've probably never seen a well-done cut-and-paste job. Start at All Your Base Are Belong To Us. Then look at Something Awful's Photoshop Phriday. Then tell me whether or not modifying a photographic image in a convincing manner is "possible with ... JPG".
Will I retire or break 10K?
...and you need to deliver professional-quality on a real business kind of deadline, then you should use Flash.
Otherwise, if you're trying to do something in-house, where you control your own customers' client setup and they have to take whatever features you give them, and you don't have any pressing deadlines to meet so you can use immature tools or just a raw text editor to build your multimedia presentation, then SMIL/SVG might be a good way to make a statement they'll never forget: that political correctness is more important to you than end-user benefits.
"Those who have never entered upon scientific pursuits know not a tithe of the poetry by which they are surrounded."
Not from what I can tell. The page you linked to says nothing about SE's, and a search on Google shows that Flash developers also say "no".
I'm a browser developer. One point I haven't seen others make is that SVG can automatically send platform-independent fonts whenever a client doesn't have a desired font installed. Good SVG-enhansed web browsers will cache SVG fonts to make them available to HTML/CSS code just as if they were system fonts. Although SWF also has an internal font system, HTML/CSS can't access it. IMHO, SVG fonts will be so easy to implement and use that they will become the defacto web font solution in the near future, even if SWF remains the defacto format for webtoons.