Stories
Slash Boxes
Comments

News for nerds, stuff that matters

dSVG - A New Kind of Programming?

Posted by Cliff on Sat Jul 19, 2003 01:00 PM
from the soliciting-your-thoughts dept.
Gord Bowman writes "For anyone familiar with XML and, specifically, with SVG (Scalable Vector Graphics), you may be aware that SVG is increasingly being used for the creation of data-driven Web applications. But everyone has been doing so by handcoding script and/or XSLT, without the benefit of an IDE to help. Seeing such a need for a tool, my company (Corel) set about creating one." and 'lo, dSVG was born. Gord Bowman is the lead developer of dSVG and would like you to take a look at the dSVG specs (you can find the link, in the full article) and offer your comments.

"It quickly became apparent that while getting a grasp of XSLT is difficult and time-consuming, even more time-consuming was all the scripting it took to create the level of interactivity required on the client via script. Thus we set about creating a library of generic script functions that would assist developers in creating their Web apps. But it didn't take long to realize that this was no good--you can't data-map and transform (via XSLT) functions like you can markup. And, unlike markup, it's much more difficult to auto-generate and customize script via an authoring tool. So I set about designing an XML markup language, implemented with script (so as to work in any SVG viewer), which would describe UI controls and behaviours, so as to facilitate the creation of SVG-based Web applications.

It was a programmer's dream. I was essentially being paid to develop a new kind of programming language. One that, like XSLT, is XML-based but is more procedural in nature and thus easier for the average developer to grasp. It's also easier for non-developers to grasp it, thus bringing SVG and application development to a whole new class of user. A year later, dSVG (Dynamic SVG) was unveiled to the public as part of the Corel Smart Graphics Studio. And as of yesterday, the full dSVG 1.1 Specification and Test Suite became available for download.

The UI controls were designed to allow complete customization of appearance, and to allow for use with forms without being tied to a forms-specific model. The behaviors were designed to be generic and higher level than DOM methods, so as to be more intuitive to non-developers. The resulting markup language allows data-driven Web applications to be created with little or no need for scripting.

While script is very useful and powerful, markup has many advantages:

- markup is more easily understood by non-developers
- markup can be easily data-mapped and transformed using XSLT
- markup can be easily generated via an authoring tool and customized by the author
- markup is semantically meaningful, promoting interoperability on the authoring side
- markup can be standardized, thus helping the adoption of SVG

dSVG was implemented with script so as to work in different SVG Viewers. However, Corel has proposed dSVG to the SVG Working Group in the hopes that through a collaborative effort, dSVG will lead to the eventual creation of standard markup for UI controls and behaviors. These could then be natively implemented, bringing about even more advantages:

- faster
- less data to transfer
- less need for a script engine on small devices (which can take up a significant part of the footprint)

The dSVG 1.1 spec and test suite was posted for download with the goal of allowing the developers and non-developers to experiment with the markup and to provide feedback. This feedback will help me to improve upon dSVG and will also help the SVG Working Group to better assess how the developer community feels about such standard markup being added to the spec for the purpose of developing SVG-based Web applications.

I hope you will take the time to read through the dSVG spec, try out the test suite, and perhaps even create some of your own content. As the creator, I am obviously passionate and excited about dSVG. And having seen how quickly even non-developers can create Web apps, I feel certain that XML-based programming makes sense and is the way of the future. But being a long-time reader of Slashdot, I would love to hear what the Slashdot community thinks. dSVG may not lead to world peace, but I think it has the potential to change the fundamental way in which Web applications are created.

I look forward to hearing your comments.

Sincerely,

Gord Bowman
Lead Developer, Corel Corporation"

This discussion has been archived. No new comments can be posted.
Display Options Threshold:
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
  • Sounds great... (Score:5, Insightful)

    ...now all we need are some browsers with native SVG support. With the Mozilla SVG [mozilla.org] project still seemingly no closer to delivering a shippable release, and no hope whatsoever of MS releasing an SVG enabled IE, looks like we're stuck with the Adobe plugin for now. Until we get past that, I doubt SVG will enter the mainstream (more's the pity).
    • Re:Sounds great... by fryguybob (Score:3) Saturday July 19 2003, @01:16PM
      • Sigh by jefu (Score:2) Saturday July 19 2003, @02:00PM
        • Re:Sigh by Chilliwilli (Score:1) Saturday July 19 2003, @04:58PM
          • Re:Sigh by Chilliwilli (Score:1) Saturday July 19 2003, @05:16PM
            • Re:Sigh by Gord Bowman (Score:2) Saturday July 19 2003, @06:58PM
            • 1 reply beneath your current threshold.
      • Re:Sounds great... by JamesOfTheDesert (Score:1) Sunday July 20 2003, @12:38AM
    • Re:Sounds great...Less filling. by Anonymous Coward (Score:1) Saturday July 19 2003, @01:19PM
    • Re:Sounds great... (Score:4, Interesting)

      by bwt (68845) on Saturday July 19 2003, @01:27PM (#6479388)
      (http://bioinformatics.ucsf.edu/bwtaylor)
      I agree completely that browsers need to support SVG, and until this is more advanced, tools like the one in this article are getting ahead of things (not that that's necessarily bad). People should vote for Mozilla bug 122092: "Enable SVG support". Ultimately, this needs to be done without plugins -- its really just another image format.

      The Konqueror browser seems to have a push to get SVG going too: KSVG [kde.org], but it has a way to go ("Release 0.1 pending").

      There are a good set of SVG resources [protocol7.com] for Linux. The Apache Jakarta projects java SVG viewer, Batik is probably the farthest along.
      [ Parent ]
      • Re:Sounds great... (Score:4, Insightful)

        by Anonymous Coward on Saturday July 19 2003, @02:00PM (#6479558)
        People should vote for Mozilla bug 122092: "Enable SVG support"

        Voting doesn't write code. Writing code writes code. You can vote for it all you want, but if nobody writes it it won't make a difference.

        On the other side, if you write the code for it, and give it to Mozilla, then nobody will need to vote for it.

        [ Parent ]
      • Re:Sounds great... by smallpaul (Score:2) Saturday July 19 2003, @03:36PM
      • Integration! Integration! (Score:4, Interesting)

        by fm6 (162816) on Saturday July 19 2003, @05:37PM (#6480996)
        (http://picknit.com/ | Last Journal: Saturday July 29 2006, @03:58PM)
        I agree. SVG lovers place too much emphasis on interactivity. Maybe someday SVG will challenge JavaScript, but right now that's less important than the fact that graphic support in current web browsers is screwed. Right now, most web graphics uses some kind bitmap. There's either lossless [w3.org] or lossy [jpeg.org] compression, but there's still too many bits, even if you have a fast connection. Nor do web sites like paying for the extra bandwith. SVG deals with this problem very neatly.

        (No, I didn't forget PNG [libpng.org]. It has some technical and ideological advantages, but browser support is still, well, incomplete.)

        So what's wrong with SVG plugins? They don't exploit the full power of SVG. It's not just a graphics format, it's an XML application. In other words, it's a markup language, just like HTML. A good XML-aware browser (something both IE and Mozilla pretend to be) shouldn't isolate SVG from the rest of the document.

        Consider the gif-filled Slashdot page you're looking at right now. They have gotten rid of a lot of bitmaps (though the left hand clickbar looks slightly less cool as a result). But they still use some weird little bitmaps [slashdot.org], plus a lot of weird tables and font kludges that are hard to maintain and tend to be browser dependent.

        There's a simple fix: put SVG support in the browser (it is a W3C invention after all) and allow indiscriminate embedding of XHTML and SVG in each other. (Not to mention any other XML applications the browser happens to support.) The Mozilla people know this [mozilla.org], but still consider SVG support experimental and non-standard. This has been the status quo for quite some time, and given AOL's abandonment of Gecko, is not likely to change.

        Maybe if Mozilla had concentrated on basic technological improvements like this and less on eye-candy and silly features... well, AOL, would probably still have screwed them over. But I might feel bad about it.

        KHTML looks to be the new leader in open-source web browsers. And their does seem to be a lot of interest in using the engine to render SVG [kde.org]. Alas, the KDE people still think of SVG as something you embed in something else.

        [ Parent ]
      • Not an image format by kahei (Score:2) Saturday July 19 2003, @07:06PM
        • 1 reply beneath your current threshold.
    • Corel also has a viewer. by Bill, Shooter of Bul (Score:1) Saturday July 19 2003, @01:55PM
  • Goodbye RFC, hello Slashdot (Score:5, Interesting)

    by Psychic Burrito (611532) on Saturday July 19 2003, @01:11PM (#6479292)
    Shouldn't new standards be introduced using RFCs? I'm not sure if it's a good trend when they are presented first on Slashdot...
    • Re:Goodbye RFC, hello Slashdot by OmniVector (Score:2) Saturday July 19 2003, @01:23PM
    • Re:Goodbye RFC, hello Slashdot (Score:5, Informative)

      by Homology (639438) on Saturday July 19 2003, @01:28PM (#6479389)
      Shouldn't new standards be introduced using RFCs?

      Well, from download [corel.com] page we have :

      This file contains the proposal submitted to the World Wide Web Consortium (W3C) SVG Working Group to enhance SVG's support of enterprise application development for dynamic interfaces

      along with an EULA whose length put even the MS one to shame.

      However, I can't download the proposal without first agreeing to the EULA, so good riddance. If I was sufficiently interested I probably could look it up at W3C site.

      [ Parent ]
    • Re:Goodbye RFC, hello Slashdot (Score:4, Informative)

      by Gord Bowman (689736) on Saturday July 19 2003, @01:29PM (#6479399)
      dSVG is NOT a spec being proposed by the W3C. It's something we came up with ourselves for our product, and then proposed to the SVG Working Group. The concept of having "standard" markup for UI controls has been around a long time, but it hasn't happened yet. Maybe we're not asking enough people if it's what they really want or not. And if we want it, does it belong in SVG or should it be something larger and more generic in its own spec? And the idea of using XML for procedural programming is pretty new, I think. At least I had never found another example of it. Maybe someone else knows of one though. Regardless, I strongly believe in asking communities what they want rather than telling them what they want, and I also strongly believe in getting ideas and constructive feedback from people outside of the SVG-world. I couldn't think of a better forum than Slashdot to solicit that type of feedback.
      [ Parent ]
      • Any patents involved? (Score:4, Insightful)

        by Homology (639438) on Saturday July 19 2003, @01:49PM (#6479506)
        dSVG is NOT a spec being proposed by the W3C. It's something we came up with ourselves for our product, and then proposed to the SVG Working Group.

        Since this appear to be a product by a comercial company, it sort of begs the questions : Is any patents filed relating to this, or is any existing patent involved? This includes any technology necessary to implement dSVG.

        I apologize if I appear impolite, but I'm getting cynical as I age.

        [ Parent ]
      • Re:Goodbye RFC, hello Slashdot by Luguber123 (Score:1) Saturday July 19 2003, @02:02PM
      • Re:Goodbye RFC, hello Slashdot (Score:4, Interesting)

        by russcoon (34224) on Saturday July 19 2003, @03:17PM (#6480183)
        (http://alex.dojotoolkit.org/)
        Gord,

        Using XML for procedural programing isn't new. ANT comes to mind. Unfortunantly it turns out it's a really crappy language to program in (overly verbose, etc...). It does, however, make a decent glue language for putting down the declarative portions of a GUI.

        As for the usage of XML-ish markup to define widgets, that's also not really very new. XUL, GLADE, netWindows (my project) all come to mind. The problem is tying them to data and programatic constructs. It's nice to see you're taking a similar tack with your wiget set as we are, however I tend to think that the minute you start writing standards around your toolkit, you only decrease your room to improve in the future. The community, i hate to say it, really doesn't know what they want which is why innovation is so powerful. It takes independent thought and originality to come up with someone else's old hat, and it seems you have that in spades. The trick is to not imagine that the community at large is imbued with the same qualities. The world at large doesn't care. You have to reach people with a need for what you want to do. The are the only ones that really matter.

        A small dev team of people that grok what you're talking about and are interested in assisting you in making things better is usually going to yeild significantly better results than throwing something to the winding and seeing what takes off. In the worst case, you've satisfied the needs of the people that have needs in the first place, which isn't a bad place to be (although it can surely be obscure).

        Anyway, I'd like to talk with you more about your toolkit. Your email addr isn't in your profile, so you can reach me at alex@netWidows.org.

        Regards.
        [ Parent ]
      • Re:Goodbye RFC, hello Slashdot by lyser_babich (Score:2) Monday July 21 2003, @11:20AM
    • Re:Goodbye RFC, hello Slashdot by Ankh (Score:1) Saturday July 19 2003, @10:23PM
    • 1 reply beneath your current threshold.
  • Windows only? (Score:3, Interesting)

    by Tumbleweed (3706) on Saturday July 19 2003, @01:14PM (#6479307)
    (http://tumbleweed.smugmug.com/)
    Okay, so when are the Mac OS X and Linux versions due out? This is a pretty amusing situation - a development studio/language for something that isn't viewable without a plugin on its only supported OS?
    • Re:Windows only? by Gord Bowman (Score:2) Saturday July 19 2003, @01:40PM
      • Re:Windows only? (Score:4, Insightful)

        by Tumbleweed (3706) on Saturday July 19 2003, @01:51PM (#6479516)
        (http://tumbleweed.smugmug.com/)
        Personally, I would not buy the product no matter what platform it runs on because of the (sad) state of SVG support in the browser market, and the foreseen SVG support in the coming years. With IE not being updated for the next 2 years, only Mozilla, Opera, & KHTML variants will be likely to have any decent SVG support anytime soon, and even that is just a possibility, and hardly a foregone conclusion. Your product may be the greatest thing for SVG that has come along (not that that would be saying much, considering), but SVG support, for all _practical_ considerations, is nearly non-existent in browsers, and as a percentage of the surfing public goes, will remain so for years to come. Your product seems like a solution waiting for a market to develop. I don't think that market is GOING to develop for another 2 years, at the soonest. We'll have to wait and see if Microsoft deigns to include usable SVG support in the Longhorn-generation of IE, or whether they cripple & abandon it like they did PNG support. If the latter is the case, then your product may never be useful enough for Corel to continue to support unless Mozilla/Opera/KHTML-based browsers actually start taking significant browser marketshare away from IE.

        Good luck on what seems like a fun project, though. Some people will certainly find this product useful, but whether it's enough of a customer base to continue development on is a big guess. Risk big, win big, though!
        [ Parent ]
      • Re:Windows only? (Score:4, Interesting)

        by appleLaserWriter (91994) on Saturday July 19 2003, @02:06PM (#6479622)
        Mr Bowman,

        I represent a growing provider of diverse Internet services. We have determined that the Linux platform is by far the most cost effective platform for new projects. Because we have selected Linux as the standard server platform, we find that Apple's Unix-based OS X platform is ideal for desktop use by designers and engineers who produce our new projects. Although we consider tools that require the Windows platform, we are most seriously interested in products that support OS X or Linux. In our experience, many other growing internet ventures hold a similar opinion.
        [ Parent ]
      • 1 reply beneath your current threshold.
    • 2 replies beneath your current threshold.
  • Holy legaleze Batman! (Score:5, Insightful)

    by PDHoss (141657) on Saturday July 19 2003, @01:15PM (#6479313)
    Can someone summarize if I am going to get 20-to-life and a cellblock husband if I download the spec?

    Jeez, how many paragraphs into the legal requirements do you have to be before you realize that ain't reeeeeal conducive to getting people to beta/bug track/improve your product for free?

    PDHoss
  • Future possibilities for improvements (Score:5, Informative)

    by Gord Bowman (689736) on Saturday July 19 2003, @01:17PM (#6479323)
    Wow, this actually got posted. Cool. Let me first say that the dSVG 1.1 spec is still evolving. There's lots of room for improvements. For instance, there's an 'if' element, but no 'elseif' or 'else' elements yet. Those are obviously needed. I originally thought that a DTD could not (or should not) define an element as being dependent upon a sibling, but after talking with some XML experts at the SVG Open conference in Vancouver this past week, I see now that I was wrong. Another needed feature is some kind of a fallThrough="true|false" attribute for the 'case' elements within a 'switch' element--mimicking the 'break' statement but in a more XML-ish way.

    One huge area for improvements is in the design of the skins. It seemed like a good idea at the time, but I now see that it has limitations both for performance and for the creation of custom UI controls. More on that in a separate comment...

    The fact that dSVG is implemented with script is, for now, a good thing because it allows us to make changes to the spec without the viewer, since the implementation gets passed along with the content. And for previously written content, the Corel Smart Graphics Studio (CGSG) IDE will automatically convert from the old version of dSVG to the new version (via XSLT).

    I have a big list of ideas for improvements, but it's back at home and I'm still in Vancouver for a few more days attending meeting (so I apologize in advance if I am not always responding in a prompt manner). I'm really interested to see what other developers think of the spec thus far and how it could be improved.
    • by tmoertel (38456) on Saturday July 19 2003, @01:31PM (#6479411)
      (http://blog.moertel.com/ | Last Journal: Wednesday March 17 2004, @03:34PM)
      I am interested in reviewing the spec, but it's presently tied to the test-suite software, which is locked away behind a long, complicated, and scary-looking license agreement that I'm not comfortable agreeing to. Could you please provide a link to just the spec?

      Since you have already submitted the spec to the W3C SVG WG, it's already public knowledge, and there's no reason to hide it behind legalese, right? Can't you just provide a link straight to it?

      I'm sure a lot of other people are more interested in the spec than anything else. If you want them (and me) to take a look at dSVG, please make the spec available by itself.

      Thanks!

      [ Parent ]
  • There is no way I am going to 'read and understand' all that legal language. I would rather create my own competing specification than do that.

    So, either release it under a license I can understand (one consisting of ten or less paragraphs) or forget it!
  • Useless (Score:1, Insightful)

    by Anonymous Coward on Saturday July 19 2003, @01:24PM (#6479364)
    This sounds like a typical case of cowboy developper meets the garage boys (See Wiki for more details). This new scheme is closed source hence, I categorically refuse to use it for my company. This smells like a lockout. Ontop of that, it feels like only that one developper worked on designing the spec. The last person I want to see design a spec is a developper (even worst if it was ONE developer). They have no clue what the users want or would like to have. Basic marketting non-sense and probably why Corel does so bad. Third thing which I already pointed out is that this software is made by Corel. Corel never made any profit except this one time when they came out with Linux and the .CON was big (Mind you the cash was not generated by Linux but some other app). If the company does not die before this, the product will be dumped exactly like all the other products they have done in the past. There are a few already good editors around; we don't need something to wanne-be better. Dynamic data? It's called Perl!
    • Re:Useless by nostriluu (Score:1) Saturday July 19 2003, @03:17PM
    • Re:Useless by Gord Bowman (Score:1) Saturday July 19 2003, @06:48PM
      • 1 reply beneath your current threshold.
    • 2 replies beneath your current threshold.
  • Adopting SVG (Score:3, Interesting)

    by HisMother (413313) on Saturday July 19 2003, @01:26PM (#6479380)
    SVG is a Good Thing, and it would be fantastic if it had broader browser support. Is anybody sufficiently familiar with the dark corners of the standard to explain why we don't see more implementations? Would it really be so hard for Adobe to update their Linux implementation to work with current browsers? Why isn't Mozilla/SVG farther along?
  • Code examples (Score:2, Informative)

    by AmVidia HQ (572086) <gary@@@isohunt...com> on Saturday July 19 2003, @01:32PM (#6479415)
    (http://isohunt.com/)
    IDE's to make programming a language easier is always a good thing. Vector graphics client is still dominated by Flash, but demand for more widespread SVG clients will occur when there are apps for it.

    HTML pasted from the Spec, judge for yourself how it looks:

    9.6 Example #1

    dSVG sample behavior: focus - with added attributes focusGroup and focus
    Content of file: dsvg:focus, dsvg:setTransform, dsvg:setAttribute, dsvg:setStyle, (added attributes dsvg:focus, dsvg:focusGroup)
    The dsvg:focusGroup attribute adds the ability to store the ID of similar type elements that are assigned to that group.
    Default focus can be given to an element (red circle above) by adding the dsvg:focus attribute to that element.

    The red, blue, green circles are part of the focusGroup. The orange circle is not.
    Click on the red, green and blue circles to set focus.
    Hover over the 'red', 'green' and 'blue' text elements to set focus.

    red
    blue
    green
    orange

    Hovering the mouse over the 'text' element with id="blueText causes the behaviors within the second 'focus' element to be run. When the first 'setStyle' behavior is run, its 'value' attribute, which is equal to:

    %(textGroup@elementID)@cdata%

    resolves to:

    %blueText@cdata%

    which then further resolves to:

    blue

    9.7 Example #2

    Pushing the button will run the 'alert' behavior. Its 'message' attribute, which is equal to:

    message= "%button1@label+ ' button ' + if(button1@selected == 'false' , 'is selected', 'is not selected')

    which resolves to:

    "button1@label + ' button ' + if( false , 'is selected', 'is not selected')

    which further resolves to:

    Evaluate button is selected
  • adverts? (Score:4, Funny)

    by mz001b (122709) on Saturday July 19 2003, @01:33PM (#6479421)
    I think this should have read:

    "Hi, my company just came out with a new product and told me that I get a huge stinkin bonus if I managed to get an advertis^H^H^H^H^H^H^H^Harticle on it posted on /., so please click on this link..."

    • Re:adverts? by Timesprout (Score:1) Saturday July 19 2003, @01:51PM
    • Aw, c'mon... by Gord Bowman (Score:1) Saturday July 19 2003, @02:02PM
      • 1 reply beneath your current threshold.
    • 1 reply beneath your current threshold.
  • by nigels (264332) on Saturday July 19 2003, @01:37PM (#6479444)
    (http://www.nigels.com)
    I didn't have any luck with the Corel
    SVG Viewer and Mozilla 1.4 on W2K.
    I suppose a Linux version is totally
    out of the question... :-(
  • Direct link to the spec (Score:1, Informative)

    by Anonymous Coward on Saturday July 19 2003, @01:46PM (#6479496)
    dSVG11Spec.zip [corel.com]

    Jeeze Corel, don't be wankers. If you want a *public* review of your specification for a _proposed_standard_, don't make people agree to give away their first-born.
  • Can anyone tell me? I've used svg + javascript + DOM. IT works very well and is supported in adobe's pluggin and is the offical w3c recomendation for making svg dynamic. Why confuse the situation? What need is there for dSVG?
  • -1 (Score:2)

    by zephc (225327) on Saturday July 19 2003, @02:00PM (#6479559)
    (http://theunfunnytruth.ytmnd.com/)
    -1, screenshots are too small, resubmit

    oh, wait, this isnt K5...
  • careful what you wish for (Score:2, Funny)

    by Tablizer (95088) on Saturday July 19 2003, @02:07PM (#6479629)
    (http://www.geocities.com/tablizer | Last Journal: Saturday March 15 2003, @01:22PM)
    having seen how quickly even non-developers can create Web apps, I feel certain that XML-based programming makes sense and is the way of the future

    By that criteria, PPOP (Power-point oriented programming) will be the wave of the future.
  • GUI or drawing? (Score:1)

    by Tablizer (95088) on Saturday July 19 2003, @02:23PM (#6479786)
    (http://www.geocities.com/tablizer | Last Journal: Saturday March 15 2003, @01:22PM)
    It seems references to this have one foot in GUI's and one foot in graphics rendering. I think it is best to separate them because one is primitives and the other higher-level form widgets that fit GUI behavior expectations. Candidate remote GUI XML standards include XUL, XWT, and SCGUI (my pet), among others.
  • by r4lv3k (638084) on Saturday July 19 2003, @02:26PM (#6479813)
    How is dSVG any different from SVG + ECMAScript?
    Can it can create content as rich as flash, like see http://homestarrunner.com?

    r4lv3k
  • Waiting for SVG pop-up windows. (Score:3, Insightful)

    by bons (119581) on Saturday July 19 2003, @02:45PM (#6479959)
    (http://www.nozen.com/ | Last Journal: Tuesday August 05 2003, @11:36AM)
    So, someone is creating an OO script/language for vector graphics...

    Now that you've approaching Flash 5, can you please explain what you're hoping to accomplish?
    Since their plug-in is commonly installed, their standards and documentation are apparently about as open and propriatory as yours, and since the number of people who can tell the difference between flash and dhtml is minimal, I'm not sure what the actual goal here is.

    According to the normal timetable, Flash 7 should be released before the year is out and that seems to be your primary competitor. Unfortunately it also offers video, sound, raster graphics, and a good lead on a decent OO scripting langage. Oh wait, that's Flash 6.

    Is there something new you're offering (other than a different set of lawyers) that we should be noticing?
  • Where does it stop? (Score:3, Insightful)

    by Animats (122034) on Saturday July 19 2003, @02:45PM (#6479961)
    (http://www.animats.com)
    It's tough to do this well. Where do you stop? When you have an animation system? A game engine?

    I'd like to see more open-source tools to create Flash format. Flash is a really good implementation of vector graphics - the engine is small, the files are small, and the system is very powerful. It took Macromedia three rounds to get it right (remember Director?) but finally, they did it.

    Flash format is open, and there are a few non-Macromedia tools for it. But not enough. I once looked into doing a Flash tool for stock charts, so you'd get the raw data from the server and could pan, zoom, and do typical stock-chart operations like moving averages locally. It's possible.

  • Using SVG in real world apps ... (Score:2, Interesting)

    by vi-rocks (611108) on Saturday July 19 2003, @02:56PM (#6480035)
    (http://homepage.mac.com/banack)
    .. we are and its fantastic. First of all, all our clients are running either Windows (98 to XP) or Mac OS X .. Adobe's plug-in is working just fine. We made a small modification to the Apache config file and feed our SVG files through the PHP interpreter first -- with PHP code embedded in the SVG file. Much of the data begin display on our clients SVG drawings are dynamic and sourced from a MySQL database. As the database is updated, the SVG drawings and figures change automatically. Saves a ton of work.
    • 1 reply beneath your current threshold.
  • I need screen shots (Score:2, Insightful)

    by omar.sahal (687649) on Saturday July 19 2003, @03:08PM (#6480118)
    (Last Journal: Tuesday April 25 2006, @01:55PM)
    Screen shots screen shots , how'd I know i want it with out screen shots
  • The funny thing is... (Score:1, Informative)

    by supersoftdrink (563614) on Saturday July 19 2003, @03:18PM (#6480187)
    I spent a few hours yesterday redesigning my website to incorporate SVG as a design element. I was pleasantly suprised about how easy it was to get everything working properly and completely W3 compliant. What's more is: all the site resources and the template I'm using boil down to just under 6KB. I'm running all this through Mason, so I'm pretty excited to see what can be done through combining Mason and SVG. I'm thinking database-driven graphs, user layout/color/theme preferences... I know that Flash and SVG aren't direct competitors and each has it's strengths and weaknesses, but SVG's main strength (IMHO) is it's coplete openness and roots in XML. This allows SVG to be as dynamic as you want. The only things I see that Flash has over SVG are: XML sockets, more widely accepted, and it's a somewhat difficult format to reverse engineer / yoink code from. I suppose the last "feature" is both good and bad.

    Just my 2
  • by Wolfier (94144) on Saturday July 19 2003, @03:35PM (#6480320)
    One more tool for the trade.
    Let's go for beer.
  • Example Markup - checkBox and setData (Score:3, Informative)

    by Gord Bowman (689736) on Saturday July 19 2003, @04:21PM (#6480579)
    For anyone scared to death by that EULA (I've been assured it's harmless), here is a couple of checkboxes that change the data of a text element. More examples to come.

    Gord

    <svg xmlns:dsvg="http://www.corel.com/schemas/2002/dSVG 11" xmlns:xlink="http://www.w3.org/1999/xlink" height="410px" width="744px" onload="init(evt)" viewBox="0 0 744 410">
    <script type="text/ecmascript" xlink:href="dsvg11/dSVG.js"/>
    <script type="text/ecmascript" xlink:href="dsvg11/baseUI.js"/>
    <script type="text/ecmascript" xlink:href="dsvg11/constraint.js"/>
    <script type="text/ecmascript" xlink:href="dsvg11/button.js"/>
    <script type="text/ecmascript" xlink:href="dsvg11/setData.js"/>

    <dsvg:checkBox toggle="true" xlink:href="dsvg11/skinCheckBox_Default.svg#skinCh eckBox" autoScale="true" disabled="false" selected="false" height="12" width="12" y="70" x="50" label="Check Box 1" id="checkBox1">
    <dsvg:setData value="Sample of setting data." elementID="checkBoxLabel" id="dsvgUniqueID_8"/>
    </dsvg:checkBox>
    <text y="80" x="150" fill="green" id="checkBoxLabel">label</text>
    <dsvg:checkBox toggle="true" xlink:href="dsvg11/skinCheckBox_Default.svg#skinCh eckBox" autoScale="true" disabled="false" selected="true" height="12" width="12" y="120" x="50" label="Check Box 2" id="checkBox2">
    <dsvg:setData value="Sample of setting data." elementID="checkBoxLabel2" id="dsvgUniqueID_9"/>
    </dsvg:checkBox>
    <text y="130" x="150" fill="green" id="checkBoxLabel2">label</text>
    </svg&g t;
    • 1 reply beneath your current threshold.
  • by jonsmirl (114798) on Saturday July 19 2003, @04:51PM (#6480743)
    http://xpserver.mozdev.org/ xpserver is complicated and not finished, although there is a group in India actively working on it.

    From the web site: mod_PX7 then uses XPCOM to load and run the components. The components can be chained using SAX-like events. For example a database component can do a query. The output from the db component is expected to be in XML. This XML can be sent to the browser or fed into another component. For example, an XSLT style sheet. The output from the stylesheet can then go to the browser or be fed into yet another component such as FOP for PDF generation or xmlch to generate a 3D chart using GDChart.

    You can think of this as starting with an XML file. The XML file is then transformed by various processes into other intermediate XML files. The final transform may be to SVG, XML, PDF, JPEG, etc. In reality the intermediate files don't exist and the stages are chained together via SAX events.

    Transformation stages can be written in XSLT, C or Javascript. Some of the XSLT/Javascript transformation stages were writen to detect browser capabilities, if the browser is capable the stage runs in the browser instead of the server.

    If you think about this to the Nth degree, XHTML can be represented via a giant XSLT transform with SVG as output. It would be neat if the W3C spec'ed CSS as transforms on SVG. This would take a lot of the ambiguity out of it.
  • by Gord Bowman (689736) on Saturday July 19 2003, @05:04PM (#6480815)
    Dunno why that semicolon is appearing before the button element...

    <svg xmlns:dsvg="http://www.corel.com/schemas/2002/dSVG 11" xmlns:xlink="http://www.w3.org/1999/xlink" height="410px" width="744px" onload="init(evt)" viewBox="0 0 744 410">
    <script type="text/ecmascript" xlink:href="dsvg11/dSVG.js"/>
    <script type="text/ecmascript" xlink:href="dsvg11/baseUI.js"/>
    <script type="text/ecmascript" xlink:href="dsvg11/constraint.js"/>
    <script type="text/ecmascript" xlink:href="dsvg11/button.js"/>
    <script type="text/ecmascript" xlink:href="dsvg11/setTransform.js"/>

    <dsvg:button xlink:href="dsvg11/skinButton_Windows.svg#skinButt on" autoScale="true" disabled="false" selected="false" toggle="false" height="18" width="100" y="100" x="50" label="setTransform" id="dsvgUniqueID_0">
    <dsvg:setTransform cy="175" cx="300" rotate="30" vAlign="middle" hAlign="middle" absolute="false" elementID="shape1" id="dsvgUniqueID_1"/>
    </dsvg:button>
    <rect height="50" width="100" y="150" x="250" stroke-width="5" stroke="darkblue" fill="#5f86B1" id="shape1"/>
    </svg>
  • by kahei (466208) on Saturday July 19 2003, @07:15PM (#6481392)
    (http://www.hwacha.net/)

    In terms of constructs like 'if' and 'elst', I'm not convinced that wrapping the SVG object model in a layer of xml tags will do any more good than wrapping stuff in a layer of xml tags usually does.

    However, it's good to see a widget set being produced for SVG. If a powerful, standard widget set evolves that'll be immeasurably useful in promoting SVG and taking advantage of SVGs natural strengths.

  • by mogens (3734) on Saturday July 19 2003, @07:23PM (#6481414)
    (http://pcd.stanford.edu/~mogens/)
    I don't think this simplifies UI coding enough for people to consider switching. I may be confounded by the verbosity of the spec though.

    For example: is it really necessary to specify the skin on every element? All those XLINKs should default to sensible values unless I want the controls all to be purple for some reason, in which case I can understand the need to be verbose.

    CSS is a great tool for tweaking the look of something. Could you not leverage that? stateHover and the like are re-inventing stuff that CSS already does.

    I like the way list and menu elements are defined, although it may be overkill for most uses (having just an ID for each element should be enough).

    My gut feeling is that this is not simple enough. The heuristic is that a new tech has to offer roughly a magnitude in improvement for it to take off. I don't see this as being 10x easier than javascript. Maybe my eyes are clouded. Try asking a novice what he thinks.

    Who is going to use this? People who develop complex apps are going to deal with programming anyway, so they won't use this over XForms or HTML forms or Java applets. People who are throwing together web sites will use HTML forms and canned scripts in Frontpage or DreamWeaver.

    I'm not sure this a middle ground between HTML forms and DHTML that's worth taking.
  • WTF is the point? (Score:2)

    by FFFish (7567) on Saturday July 19 2003, @11:44PM (#6482436)
    (http://slashdot.org/)
    Why bother? That arsehole who is CEO of Corel is going to sell the whole kit and kaboodle for about 1/100th its actual value to some private outfit in California, who is going to kill the company because Microsoft wants them gone.

    It is a complete piss-off. Corel is just about to hit turn-around point now, has an infuckingcredible product lineup -- Painter, XMetal, Ventura, iGrafx stuff, Graphigo, Draw -- and looks like its ready to really start kicking ass.

    But no. Kill it instead. Even Cowpland could not accomplish what Burney is proposing.
  • SVG support? (Score:1)

    by nobodyman (90587) on Sunday July 20 2003, @12:41AM (#6482601)

    Do *any* of the browsers have SVG rendering support by default? Mozilla, IE, and Firebird don't. The adobe plug-in is free, but it'd be nice if it was ready from the get-go.

    The *idea* of SVG is great, but I don't want to invest alot of time learning a spec for something that no one will use.
  • by Cycnus (162186) * on Sunday July 20 2003, @12:54AM (#6482655)
    (http://etc.nkadesign.com/)

    I for one love the idea of being able to develop SVG applications.

    While it's true that SVG currently need a plug-in, that its installation base is quite small compared to Flash (but most people installing Adobe Acrobat install the SVG plug-in without even noticing), the SVG specification is a W3 Standard, and it's easier to integrate with other Open Source tools on the server side.

    I doubt that dSVG will initially appeal to a large public who won't see the point of it over Flash for multimedia applications, but it certain should appeal to people writing applications for the enterprise where it's easier to control what is installed on the users' machines.

    dSVG could be a great cross-platform tool (while the GUI software that build applications runs only under Windows for now, SVG runs on any platform) and could actually be helpful in pushing companies to use SVG as a standard for web applications rather than rely on proprietary formats that are not easy to integrate with Open Source development tools or that will always be a couple of step behind the commercial implementations.

    It must also be recognised that while the technology to build really powerful web application is there in IE, Mozilla, Opera and al, there are very few really interactive applications using those technologies, simply because there is not enough compatibility between the various standard implementations, and to work around those is too costly and difficult to manage well.
    We end up with web sites that use only the lowest common denominator set of technology, with is not enough to build really powerful applicative environments. So in the end, all those powerful technologies are great showcases, but get barely used in the real world.

    While Flash is not going away any time soon (it is likely that it will always remain big in multimedia environments), SVG has more potential for building rich, natural, intuitive and powerful GUIs that easily integrate with existing and well established server technologies, Open Source or not.

    I always liked Corel and their tools. I've been a fan of CorelDraw since version 2, and I really like that they are the first one who understand the role that SVG will play in application building.
    Adobe is surely the major pusher of the technology, but they haven't yet caught up on that idea that SVG can go way beyond chart applications and pretty graphics.

    What was missing was a GUI toolkit, and dSVG is looking good to fill that role, so instead of whining that the tools don't yet work on Linux or that the ULEA is 3km long, let's focus a bit on the question at hand: have a look at the specification and help if we can.
    I know I will try because I need these tools, and I think our community is about supporting and encouraging that kind of attitude from commercial companies.

  • kevlindev (Score:2, Interesting)

    by AnEmbodiedMind (612071) on Sunday July 20 2003, @03:05AM (#6483020)
    This is similar to KevLinDev's SVG GUI [kevlindev.com] code.

    While the Corel guy is using an XML GUI language, this is the Scripting approach that the he has chosen not to use. With the code on the KevLinDev site you can create various SVG widgets, with a call to a javascript function.

    I think I'd prefer to do it this way, rather then use XML if I was doing it by hand, as it is closer to normal GUI API's then some verbose XML language. I guess the XML approach would probably be great for the back-end standard for various IDE's

    The most interesting thing about the KevLinDev stuff is how some of these javascript calls allow you to provide what the guy calls pSVG, (parametric SVG). pSVG is really just a hack to try and address some of the deficiencies of SVG - hopefully some of these ideas get into the official SVG spec at some stage so you don't have to hack around it like this.

  • by schepers (462428) on Sunday July 20 2003, @05:16AM (#6483284)
    First off, let me say that I have toyed around with the Corel SmartGraphics Studio, and I think that it's a very good first pass at simplifying the process of creating SVG for a lot of users. As a big fan of SVG, I appreciate all the effort that Corel has put forth.

    That being said, I think that the Open Source community should know that dSVG is only one of three UI-defining proposals that the SVG Working Group is considering for SVG 1.2 [w3.org]. One of the other two, currently known as RCC, proposes the ability to create a kind of template with a separation of style and functionality, but defined in the document rather than being built in the plug-in. Ultimately, I think that this is a better way to go, since it is far more adaptable. It uses scripting and an XSLT-like syntax to transform semantic content into graphical elements (like form controls, scrollbars, etc.). The last proposal, Live Templates, seems like a generalized case of RCC, and I suspect they could be married together.

    Adobe has released a tech preview of ASV6 [adobe.com], the next version of their plugin (Windows only for now). It implements an early version of RCC (as well as some other cool features like text wrapping, audio, video, and external resources), and looks very promising. At SVG-Open, I saw an RCC forms widget toolkit for SVG, which worked well and weighed in at all of 6KB. I also saw ASV6pr working on a Linux box, and with the latest build of Mozilla. It's still buggy, but it's more conformant to the Spec than ever.

    May the best spec proposal win!

    In other news, the excellent Batik [apache.org] (an OSS SVG toolkit) also released a stable 1.5 last week.

    Basically, SVG is getting really exciting.
  • by Cycnus (162186) * on Sunday July 20 2003, @09:10AM (#6483827)
    (http://etc.nkadesign.com/)

    ...that could be of interest to everyone else too.

    While its a good thing that the specification for dSVG be proposed as a candidate for a standard, it currently clearly isn't one and the only existing implementation relies on DTD and EcmaScripts that have been developed by Corel and are own and copyrighted by Corel.

    It would be many moons before dSVG ever becomes a standard, if ever (I hope it will be though).
    In the meantime, anyone wanting to use dSVG would either have to use Corel's scripts or rewrite the whole language implementation.
    The latter clearly being a potential trouble for a burgeoning new language (everyone could have her own variation, especially as dSVG is far from being complete and stable in features), if Corel is serious about getting people to use dSVG (which I think they are), then they should release their implementation under an Open Source license.
    It doesn't have to be the GLP which is too strict and may probably slow the adoption of dSVG in corporate environments, but something like the Artistic License [perl.com] would certainly ensure that people are free to use Corel's fine work without fear of getting in trouble.

    Another question regarding the performance of dSVG: since it is yet another abstraction layer over what is already a fairly thick pile of interpreters, parsers and renderers, it's not fast.
    By that I mean that long lists and complex interfaces take quite a bit of time to update. This makes me wonder about building complex applications, or even simple ones that display a lot of data in lists for instance
    Do Corel have any plan to incorporate dSVG directly inside their plug-in?
    That would certainly save time (there are a lot of ecmascript files to be loaded and interpreted), and should make the interface more responsive.
    Plus it would give Corel's plug-in and edge over the Adobe's, in the corporate world at least.

    I think the choices that Corel do now are going to affect the adoption of dSVG very significantly, and I'm not talking about just commenting on the Specification itself, as good and promising a start as it may be.

    Cycnus
  • Could be that svg might reap benefits that could really be great for music notation given the right approach. The Recordare musicxml extentions could be used to quickly format music notation through a browser interface using rapid update through svg. Given that then the browser functions could be used along with other parts of the existing interface to speed up the notation gui the possibilities are intriguing. Not that it would replace true music notation software but it could become a very quick way for teachers to send music examples, composers send simple ideas to musicians , and more importantly generaly give those who are musically literate a chance to communicate on the net. There have been several java based designed for this purpose (one out ot the University of Toronto) called JscoreMl. It was not very good because the xml tech at the time was not very advanced. There is no reason why in future advanced xml interfaces won't be able to notate, and send music, right within a browser.
  • Re:Examples, Applications ? (Score:5, Informative)

    by Gord Bowman (689736) on Saturday July 19 2003, @01:19PM (#6479338)
    You can find some demo apps at www.corel.com/smartgraphics/resources. As for apps created by customers, I don't know.
    [ Parent ]
  • Re:435098734912 (Score:1, Insightful)

    by tomstdenis (446163) <tomstdenis@@@gmail...com> on Saturday July 19 2003, @01:27PM (#6479387)
    (http://libtom.org/)
    What I want to know is how do you program in XML. Its a loose markup language with no real keywords other than a few tokens >, <, ", =, digits, etc...

    It's like coding in ASCII or something....What is an ASCII program?

    That and I admitedly missed the XML boat [been busy in college] but what is the big deal? so I can write

    <sucks_level>5</sucks_level>

    Then write a program to scan for tags and their values. Big fucking deal. I could have used the common .ini format

    [stuff_tom_knows]
    sucks_level=5

    etc...

    I've seen XML enabled on numerous products and I can't really fathom why its better. It takes up more room, from recent postings it isn't vary fast to deal with and really doesn't add much to the table.

    The only real benefit is it lets the data to be entered in random order [or missing fields] and still recover. Not really a new feature of properly coded data processing applications. /rant

    Tom
    [ Parent ]
  • Re:435098734912 (Score:1)

    by carlback (46333) on Saturday July 19 2003, @02:00PM (#6479567)
    (http://www.loungetank.com/)
    svg and flash both have there place. i've been building online publishing frameworks using combination of svg (both batik for static output and the ASV, Adobe Svg Viewer for user interaction and fop that could not be created at all using Flash.

    I won't lie it would be alot easier on me if the viewer was more wide spread but i've always figured it was a chicken and the egg thing, and evetually will come around

    Of course for banner ads flash would be better.

    Just like everything ever built use the right tool for the job.

    [ Parent ]
    • 1 reply beneath your current threshold.
  • Flash vs. SVG (Score:4, Interesting)

    by Gord Bowman (689736) on Saturday July 19 2003, @02:16PM (#6479720)
    Some people think SVG and Flash directly compete, and others say no. But let's compare them for the case of creating data-driven applications. If you think that you don't have to code in Flash, then you must not have used it. It uses ActionScript, which is like a stripped-down ECMAScript (I think). But it's script. They have a UI for generating it, but it's mainly a succession of dropdown menus to finally insert an 'if' statment. So you're not freed from the need of actually knowing how to program or anything. But even if you did want to use a proprietary binary standard to create an enterprise-class data-driven application, can you and should you? Macromedia recently has tried to enter the Enterprise space to do this, but the idea of using a proprietary solution does not sit well with everyone. Especially when the alternative is to use a complete XML solution from beginning to end. Data-driven graphics and data-driven applications are just now starting to take off. And most of them are using SVG because it's an XML-language--thus you can data-map it easily with XSLT. Many argue that while SVG may be able to compete in the multi-media space, that's not where its strength lies. It's strength is in the visualization of data.
    [ Parent ]
    • Re:Flash vs. SVG (Score:4, Insightful)

      by russcoon (34224) on Saturday July 19 2003, @03:32PM (#6480290)
      (http://alex.dojotoolkit.org/)
      Gord,

      I think you're going to find out that developers at large aren't going to enjoy "programming" in XML. It is overly-verbose for anything but data and meta-data transfer (and many will argue that it's highly inefficient at even that). Programmers and you and I know them want their if statments to look as close to pseudo-code as they can get (hence we have Python and Perl). All of that said, your toolkit still hinges ona a glue language (JS) to make SVG (a declarative style language) even become a programming language in the first place. Therefor the dependency on JS doesn't go away at all. In fact, you've only made your programming environment even more brittle (what are the odds you'll get good debugging info from a dsvg environment?) while continuing to mix data and program in a way that has some deeply negative security ramifications.

      So anway, even if Flash and SVG don't compete, dSVG turns SVG into a Flash competitor, except that it's a "complete xml solution from end to end". Frankly, I'm not sure what that buys you.

      The point of CSS is to seperate style from structure, and the point of XML is to encode meta-data that would otherwise be lost. Unless you can make a compelling argument that scripting constructs are meta-data that should be encoded, I'm going to continue to have a very hard time buying that programming as such belongs in your markup as anything other than CDATA sections. Yes, it has semantic meaning, but not semantic meaning for data! XSLT treads this line pretty narrowly, and I think it winds up on the right side of the fence in most places, but it again suffers from all of the problems anyone else that tries to make imperative constructs out of markup winds up with, and that's not a good thing.

      We doen't use column-based programming languages any more for a lot of very good reasons. Why would we ever want to return to their equivalent if it's only more verbose?

      So we can put an XML stamp on it? What does that buy us?

      Anyway, Flash and SVG+JS are competitors, Flash and SVG without scripting are not. End of story.
      [ Parent ]
    • Re:Flash vs. SVG by TheViewFromTheGround (Score:2) Saturday July 19 2003, @09:48PM
      • Re:Flash vs. SVG by TheViewFromTheGround (Score:1) Sunday July 20 2003, @04:11PM
      • 1 reply beneath your current threshold.
    • 2 replies beneath your current threshold.
  • 18 replies beneath your current threshold.