{"id":218,"date":"2008-11-22T22:16:28","date_gmt":"2008-11-22T22:16:28","guid":{"rendered":"http:\/\/localhost:8000\/?p=218"},"modified":"2008-11-22T22:16:28","modified_gmt":"2008-11-22T22:16:28","slug":"svg-lives-the-widget-claim","status":"publish","type":"post","link":"https:\/\/blog.gwadej.org\/programmer-musings\/2008\/11\/svg-lives-the-widget-claim\/","title":{"rendered":"SVG Lives: the Widget Claim"},"content":{"rendered":"<p>This is the second in a series of posts refuting some recurring claims about the death of <abbr title=\"Scalable Vector Graphics\">SVG<\/abbr>, In the last post, <a target=\"_blank\" rel=\"noopener\" href=\"\/programmer_musings\/2008\/11\/reports-of-svgs-death-exaggerated\/\">Reports of <abbr title=\"Scalable Vector Graphics\">SVG<\/abbr>&#8216;s death exaggerated<\/a>, I gave a little history and refresher on <abbr title=\"Scalable Vector Graphics\">SVG<\/abbr>. This time I will try to tackle one of the claims about the death of <abbr title=\"Scalable Vector Graphics\">SVG<\/abbr>.<\/p>\n<h2 class=\"subhead\">The Claim<\/h2>\n<blockquote><p><abbr title=\"Scalable Vector Graphics\">SVG<\/abbr> is useless because it doesn&#8217;t have a widget toolkit for building <abbr title=\"Graphical User Interface\">GUI<\/abbr>s<\/p><\/blockquote>\n<p>This argument seems to resurface every year or so. Invariably it is floated either by someone trying to build a website completely on <abbr title=\"Scalable Vector Graphics\">SVG<\/abbr> or by someone trying to compare <abbr title=\"Scalable Vector Graphics\">SVG<\/abbr> to a <abbr title=\"Graphical User Interface\">GUI<\/abbr>-building technology (recently that has been Microsoft&#8217;s <abbr title=\"eXtensible Application Markup Language\">XAML<\/abbr>).<\/p>\n<p>The argument normally starts by asking for a particular widget in <abbr title=\"Scalable Vector Graphics\">SVG<\/abbr>. A few people will show how they have constructed something, which leads to complaints about having to actually build what are <em>obviously<\/em> primitive tools. Next come the demands for a widget set in <abbr title=\"Scalable Vector Graphics\">SVG<\/abbr>. After several rounds of emails, the person decides that <abbr title=\"Scalable Vector Graphics\">SVG<\/abbr> is completely useless, because <em>it doesn&#8217;t even have radio buttons or a text-entry field<\/em>.<\/p>\n<p>The important point here is that <abbr title=\"Scalable Vector Graphics\">SVG<\/abbr> is a vector image format. It was never designed to replace <abbr title=\"Graphical User Interface\">GUI<\/abbr> widgets. It is just an extremely powerful format for specifying 2D images. This claim makes as much sense as saying <em><abbr title=\"Portable Network Graphics\">PNG<\/abbr> will never amount to anything because it doesn&#8217;t support scroll bars and drop down boxes<\/em>. Obviously, no one would make this claim. But, this reason for claiming the death of <abbr title=\"Scalable Vector Graphics\">SVG<\/abbr> keeps recurring.<\/p>\n<p>Amusingly enough, the <abbr title=\"K Desktop Environment\">KDE<\/abbr> window manager for Linux uses <abbr title=\"Scalable Vector Graphics\">SVG<\/abbr> extensively for graphical elements in its user interface. One reason is because vector formats are very efficient for stylized images that may need to scale to multiple sizes. This describes many of the graphical elements that display on most desktops.<\/p>\n<p>The fact that <abbr title=\"Scalable Vector Graphics\">SVG<\/abbr> does not have a built-in set of <abbr title=\"Graphical User Interface\">GUI<\/abbr> widgets does not detract from its utility as a vector image format. As <abbr title=\"K Desktop Environment\">KDE<\/abbr> has shown, <abbr title=\"Scalable Vector Graphics\">SVG<\/abbr> can be used to build parts of a graphical user interface. That is not because it has built-in support for <abbr title=\"Graphical User Interface\">GUI<\/abbr> widgets. It is because <abbr title=\"Scalable Vector Graphics\">SVG<\/abbr> supports 2D graphics and many <abbr title=\"Graphical User Interface\">GUI<\/abbr> elements are basically 2D graphics with behavior.<\/p>\n<p>This claim is about <abbr title=\"Scalable Vector Graphics\">SVG<\/abbr> not having support for something it was not designed for. Obviously, this is not proof that the format is dead. <abbr title=\"Scalable Vector Graphics\">SVG<\/abbr> is alive and well.<\/p>\n<p>Next time: <a target=\"_blank\" rel=\"noopener\" href=\"\/programmer_musings\/2008\/11\/svg-lives-the-video-audio-claim\/\">The 3D Graphics Claim<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>This is the second in a series of posts refuting some recurring claims about the death of SVG, In the last post, Reports of SVG&#8216;s death exaggerated, I gave a little history and refresher on SVG. This time I will try to tackle one of the claims about the death of SVG. The Claim SVG\u2026 <span class=\"read-more\"><a href=\"https:\/\/blog.gwadej.org\/programmer-musings\/2008\/11\/svg-lives-the-widget-claim\/\">Read More &raquo;<\/a><\/span><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[137,144,153,322,368],"_links":{"self":[{"href":"https:\/\/blog.gwadej.org\/programmer-musings\/wp-json\/wp\/v2\/posts\/218"}],"collection":[{"href":"https:\/\/blog.gwadej.org\/programmer-musings\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.gwadej.org\/programmer-musings\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.gwadej.org\/programmer-musings\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.gwadej.org\/programmer-musings\/wp-json\/wp\/v2\/comments?post=218"}],"version-history":[{"count":0,"href":"https:\/\/blog.gwadej.org\/programmer-musings\/wp-json\/wp\/v2\/posts\/218\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.gwadej.org\/programmer-musings\/wp-json\/wp\/v2\/media?parent=218"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.gwadej.org\/programmer-musings\/wp-json\/wp\/v2\/categories?post=218"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.gwadej.org\/programmer-musings\/wp-json\/wp\/v2\/tags?post=218"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}