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.
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.
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?
Scalable Vector Graphics -- since it uses formulas (XML entities, really) for specifying where lines and shapes go instead of specifying location per-pixel, filesize will be small. Don't worry about XML verbosity preventing this, as SVG-files often are compressed.
The availability of libraries as Batik makes SVG-generation flexible and easy. One example: One project I was on concentrated on pulling numbers out of a database and visualising them as a graph. Filling a XML-document with values and applying XSLT we had instant SVG. Upside: Very scalable and interactive (our customer was very fond of "hotspots" on the graph). Downside: Lack of plugins. Fortunately, it was for their intranet.
As to impact, I do hope this catches on. I much prefer coding Java + SVG than Flash, if just for the fact that not having the Flash-plugin doesn't prevent my regular development with SVG.
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.
Lets start with disadvantages. Not many browsers support SVG in it's current form. Somehow the plugin is tied to Adobe, which the call the "recommended viewer". (Read: No rock-solid native browser support in IE, or in Mozilla/Phoenix)
.swf with Flash, and that's not the case. Now that you can import SWF into major Presentation titles, there is no reason why SVG could be of any use.
No widespread use. (Yes, I don't give a fuck if W3C is their mothers collectively endorse SVG, it was even dead before it got invented). Macromedia Swiff (.sfw) format is NOT closed source, and you have a better chance reaching your audience with it. Some people confuse
As for advantages, it's based on XML spec, but then again, not everything that carries the name XML is something to go nuts over.
In conclusion, I've been hearing how SVG was going to EXPLODE onto the web and portables in the next few years, and it never happened. That's what people were saying back in late 90's.
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.
I'm a .NET programmer so I personally used the component from this page, which includes a brief introduction on SVGs, however in general SVGs represent the benefits of vector graphics over raster/bitmapped graphics (smaller size, print better, and scale better). It's unfortunate that everyone can only see SVGs as competition to Flash (I see SVGs as competitions to GIFs and PNGs personally), however it should be noted that it is a virtual certainty that Microsoft will include native SVG support in the next Internet Explorer. Overnight SVG will become the premiere vector format despite all the Flash kiddies ranting on about how "open" Flash is (these must be the same people who call Java open).
In other words, if you're looking to create a cartoon on the web with nice tools and full multimedia synchronization then take a look at Flash and its tools today, but if you want to add vector graphics to a corporate intranet and so, definitely look at SVGs. One of the biggest features of SVGs that got me interested in the first place was the ability to completely embed the graphic in the webpage: While this goes against the spirt of HTML, this composite page was a godsend for a site which allowed users to email or download single file (i.e. non-zipped) reports.
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
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!
Other posts in this thread have listed some disadvantages of SVG, but omitted that a browser plug-in fully implementing the spec weighs in at several megs. This is in contrast to the Flash player, which is still under 500K in the latest version. Not an issue for broadband users, but they are still a minority in the Web world.
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.
Yes and no. Sure, it'll work fine for the majority of the web browsing public. But once browsers start shipping with SVG plugins (or just native support) by default, then so will SVG. No one is arguing that SWF is the more mature, and more widespread format at the moment. But what about the content itself? If it's all in SWF, then it won't appear on search engines, so you're far less likely to have visitors driven to your site in the first place. SVG content, on the other hand, will be picked up so that Auntie Millie will find her cookie recipe in Google, even if the site in question uses an animated cookie chef to convey it's information. Furthermore, she'll be able to get at the content even if she's blind and using a braille terminal, or if she's using her mobile phone. The same can't be said of SWF. I agree that Flash is a pretty good product, but it suffers from three critical flaws, which have prevented me from using it to date. Firstly, it doesn't degrade if you browser isn't able to support it. Secondly, it changes the usage pattern of a browser. You want to go to the previous page? Click the back button. You want to open a new tab? Press Ctrl-T. You want to search for a given string? Ctrl-F. But not in Flash. Admittedly, Flash MX has made some progress in that area, but it's still got a long way to go. Finally, search engines won't index Flash content. SVG remedies all of those deficiences, which is why I hope to see it succeed.
"The invisible and the non-existent look very much alike." -- Delos B. McKown
One issue is the only viewer that actually implements all the spec is the Adobe one, which revs infrequently and doesn't work in Mozilla. For development I ended up needing to run IE with the plugin under Wine so I could work on Linux. Performance is also a concern.
So - this time around I'm using the Moz native support, which is pretty good. SVG may never replace Flash (and so what if it doesn't) but there are a whole host of uses for vector graphics outside animations on the web.
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.
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.
No, because Flash is the program necessary to read that SWF file.
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.
the current main svg players are closed source.
there is nothing stopping you from writing your own flash player. The flash 6 file format specification is avaliable at:
http://www.macromedia.com/software/flash/open/lice nsing/fileformat/
the issues you have seme to do with the implimentation of the technology, and not the technology itseld.
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?
Every time Flash comes up in a Slashdot thread, there's always some poster who hasn't heard of Flash MX saying "It doesn't support search engines, Unicode, accessibility, or the back button." The MX version has been out about a year now -- isn't it time to update your talking points?
"It doesn't degrade if you browser isn't able to support it." And that browser would be -- what, Lynx? Which also lacks SVG support, and always will.
As for "the majority of the Web browsing public," that's a very mild way of saying that the Flash plug-in is (according to Macromedia) the most pervasive software in the world, with over half a billion users. Given that Flash MX has strong XML support, and that it's now targeting "rich Internet applications" instead of ordinary vector animation, SVG has a long uphill battle ahead.
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?
Last time I built Amaya it only weighed in at several megs itself -- and it's a browser, WYSIWYHYGOOB (What You See Is What You Hope You Get On Other Browsers) XHTML editor, and to the best of my knowledge, fully supports SVG and MathML (which although unrelated, is nice if you don't have LaTeX2HTML or HeVeA handy).
unixkb.com -- articles on practical Unix issues.
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).