<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss'><id>tag:blogger.com,1999:blog-6578260086366273722</id><updated>2010-01-18T15:47:58.182-08:00</updated><title type='text'>shibumiscript</title><subtitle type='html'></subtitle><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6578260086366273722/posts/default'/><link rel='alternate' type='text/html' href='http://xformstest.org/klotz/shibumiscript/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://xformstest.org/klotz/shibumiscript/atom.xml'/><author><name>Leigh</name><uri>http://www.blogger.com/profile/11100725740428041485</uri><email>noreply@blogger.com</email></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>8</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6578260086366273722.post-5923625829348354567</id><published>2010-01-18T15:42:00.000-08:00</published><updated>2010-01-18T15:47:58.195-08:00</updated><title type='text'>Security analysis, JavaScript, and XForms</title><content type='html'>Some &lt;a href="http://www.nytimes.com/2010/01/18/technology/internet/18defend.html"&gt;recent events&lt;/a&gt; have brought to the fore troubles with sprawling web user agents.  The trend toward defining more semantics in open-coded Javascript, or in calls to large JavaScript libraries, is troubling.  Statically analyzing imperative JavaScript libraries and calls is surely a more difficult task than analyzing declarative markup that expresses the same semantics.&lt;br /&gt;
&lt;br /&gt;
These problems aren't new, nor are they limited to HTML uses of JavaScript: PDF is &lt;a href="http://www.oreillynet.com/onlamp/blog/2007/01/adobe_acrobat_javascript_execu.html"&gt;vulnerable&lt;/a&gt; as well, and &lt;a href="http://www.computerworld.com/s/article/9132307/Adobe_confirms_PDF_zero_day_urges_users_to_kill_JavaScript"&gt;again&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Some claim that JavaScript is used for mundane tasks such as boolean constraint validation and data type assignment because the market demands it.  It's time for the market to wake up to the terrible cost of security flaws inherent in the JavaScript model, and demand integration of data types, constraints, validation, repeating and switch structures, and rational data submission: &lt;a href="http://xml.coverpages.org/xmlForms.html"&gt;XForms 1.1&lt;/a&gt; provides a good start.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6578260086366273722-5923625829348354567?l=xformstest.org%2Fklotz%2Fshibumiscript' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/6578260086366273722/5923625829348354567/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=6578260086366273722&amp;postID=5923625829348354567' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6578260086366273722/posts/default/5923625829348354567'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6578260086366273722/posts/default/5923625829348354567'/><link rel='alternate' type='text/html' href='http://xformstest.org/klotz/shibumiscript/2010/01/security-analysis-javascript-and-xforms.html' title='Security analysis, JavaScript, and XForms'/><author><name>Leigh</name><uri>http://www.blogger.com/profile/11100725740428041485</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='15325523957400111769'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6578260086366273722.post-3301967946123081725</id><published>2009-06-02T11:30:00.000-07:00</published><updated>2009-06-02T11:45:50.833-07:00</updated><title type='text'>Screen Reader A11Y for dynamic web applications</title><content type='html'>&lt;p&gt;While XForms is inherently accessible, some members of the A11Y community define accessibility as compatibility with Screen Reader software.  More often than not, this means expressing dynamic pages without JavaScript.&lt;/p&gt;
&lt;p&gt;Native XForms support in browsers would be great for A11Y, but until these communities converge, another option for preserving your investment in dynamic pages yet offering A11Y is to use a server-side XForms processor.
&lt;ol&gt;
&lt;li&gt;Author your dynamic pages using XHTML+XForms.&lt;/li&gt;
&lt;li&gt;Use a server-side engine to transform this standards-based markup into HTML + JavaScript.&lt;/li&gt;
&lt;li&gt;For A11Y clients, transform to static HTML with a refresh option.&lt;/li&gt;
&lt;/ol&gt;&lt;/p&gt;
&lt;p&gt;Until today, only &lt;a href="http://chibaxforms.org/"&gt;Chiba XForms&lt;/a&gt; offered this route; but now, &lt;a href="http://www.orbeon.com/ops/doc/home-changes-371"&gt;Orbeon Forms 3.7.1&lt;/a&gt; adds "noscript mode," which does just that.&lt;/p&gt;
&lt;p&gt;So, to preserve your web application development investment &lt;em&gt;and&lt;/em&gt; get A11Y right now, avoid writing directly to JavaScript libraries, and instead develop your dynamic web applications and have them produce XHTML+XForms markup, and deliver that to the browser using Ubiquity XForms, or Chiba, or Orbeon, or XSLTForms, or any other &lt;a href="http://www.w3.org/TR/xforms"&gt;W3C Standard XForms&lt;/a&gt; compatible processor.&lt;/p&gt;
&lt;p&gt;Standards compliance and interoperability test suites assure that you'll have minimal re-work when delivering the same application through different routes.  And now, with no-script accessibility from two different vendors!&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6578260086366273722-3301967946123081725?l=xformstest.org%2Fklotz%2Fshibumiscript' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/6578260086366273722/3301967946123081725/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=6578260086366273722&amp;postID=3301967946123081725' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6578260086366273722/posts/default/3301967946123081725'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6578260086366273722/posts/default/3301967946123081725'/><link rel='alternate' type='text/html' href='http://xformstest.org/klotz/shibumiscript/2009/06/screen-reader-a11y-for-dynamic-web.html' title='Screen Reader A11Y for dynamic web applications'/><author><name>Leigh</name><uri>http://www.blogger.com/profile/11100725740428041485</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='15325523957400111769'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6578260086366273722.post-6346674600790954922</id><published>2009-04-30T14:25:00.000-07:00</published><updated>2009-04-30T14:40:08.857-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='shibumiscript'/><category scheme='http://www.blogger.com/atom/ns#' term='xforms'/><title type='text'>TV Raman on XForms and Screen-Scraping</title><content type='html'>&lt;p&gt;&lt;a href="http://emacspeak.sourceforge.net/raman/"&gt;TV Raman&lt;/a&gt;, who ought to know a thing or two about screen scraping, comments on Sam Ruby's &lt;a href="http://intertwingly.net/blog/2009/04/08/HTML-Reunification"&gt;HTML Reunification&lt;/a&gt; and shows that the &lt;abbr title="markup-processor in JavaScript"&gt;shibumiscript&lt;/abbr&gt;  approach &lt;a href="http://intertwingly.net/blog/2009/04/08/HTML-Reunification#c1241119333"&gt;makes things easier for scripts&lt;/a&gt;, not harder.&lt;/p&gt;
&lt;p&gt;Needless to say, we agree.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6578260086366273722-6346674600790954922?l=xformstest.org%2Fklotz%2Fshibumiscript' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/6578260086366273722/6346674600790954922/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=6578260086366273722&amp;postID=6346674600790954922' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6578260086366273722/posts/default/6346674600790954922'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6578260086366273722/posts/default/6346674600790954922'/><link rel='alternate' type='text/html' href='http://xformstest.org/klotz/shibumiscript/2009/04/tv-raman-on-xforms-and-screen-scraping.html' title='TV Raman on XForms and Screen-Scraping'/><author><name>Leigh</name><uri>http://www.blogger.com/profile/11100725740428041485</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='15325523957400111769'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6578260086366273722.post-2538894373496068078</id><published>2008-08-08T09:15:00.000-07:00</published><updated>2008-08-08T09:16:13.030-07:00</updated><title type='text'>History Repeats (Itself), or Apple Bites (Itself)</title><content type='html'>Geesh, even Danger with its self-focused secrecy paranoia never went &lt;a href="http://www.thetechherald.com/article.php/200832/1695/Is-Apple-remotely-scrubbing-your-iPhone-applications"&gt;this far&lt;/a&gt;:

&lt;blockquote&gt;This latest unconfirmed application wrinkle comes as developers continue to wrangle with Apple regarding its contentious non-disclosure agreement (NDA), which prevents developers from talking to one another regarding programming tips, hints and guidance -- which would, you’d assume, lead to happier users via the creation of better iPhone applications in the long run.&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6578260086366273722-2538894373496068078?l=xformstest.org%2Fklotz%2Fshibumiscript' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/6578260086366273722/2538894373496068078/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=6578260086366273722&amp;postID=2538894373496068078' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6578260086366273722/posts/default/2538894373496068078'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6578260086366273722/posts/default/2538894373496068078'/><link rel='alternate' type='text/html' href='http://xformstest.org/klotz/shibumiscript/2008/08/history-repeats-itself-or-apple-bites.html' title='History Repeats (Itself), or Apple Bites (Itself)'/><author><name>Leigh</name><uri>http://www.blogger.com/profile/11100725740428041485</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='15325523957400111769'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6578260086366273722.post-5035767465624053333</id><published>2008-07-08T18:35:00.000-07:00</published><updated>2008-07-08T18:36:03.591-07:00</updated><title type='text'>PBE</title><content type='html'>&lt;a href="http://webbackplane.com/taxonomy/term/13"&gt;Mark Birbeck&lt;/a&gt; writes about &lt;a href="http://webbackplane.com/thought/pbe"&gt;Progressive Browser Enhancement&lt;/a&gt;, very much the &lt;cite&gt;shibumiscript&lt;/cite&gt; way.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6578260086366273722-5035767465624053333?l=xformstest.org%2Fklotz%2Fshibumiscript' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/6578260086366273722/5035767465624053333/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=6578260086366273722&amp;postID=5035767465624053333' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6578260086366273722/posts/default/5035767465624053333'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6578260086366273722/posts/default/5035767465624053333'/><link rel='alternate' type='text/html' href='http://xformstest.org/klotz/shibumiscript/2008/07/pbe.html' title='PBE'/><author><name>Leigh</name><uri>http://www.blogger.com/profile/11100725740428041485</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='15325523957400111769'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6578260086366273722.post-2931798125952498843</id><published>2008-05-22T16:54:00.000-07:00</published><updated>2008-05-22T17:19:51.825-07:00</updated><title type='text'>AJAX is simple.  XForms is simpler.</title><content type='html'>I came across a short, fun, hype-free &lt;a href="http://daniel.lorch.cc/docs/ajax_simple/"&gt;summary of AJAX&lt;/a&gt; by &lt;a href="http://daniel.lorch.cc/"&gt;Daniel Lorch&lt;/a&gt;. I thought it would be fun to take a similar look at some of the parts of XForms that declaratively wrap up the same concepts: the Instance DOM (data DOM), Submission (XHR), and Output (presentation without DOM mutation).

Read my article &lt;a href="http://xformstest.org/klotz/shibumiscript/articles/2008/05/xforms_simple"&gt;AJAX is Simple; XForms is Simpler.&lt;/a&gt;

There's another article to be written about validation using XForms client-side, declarative constructs, but it's off tangent from Daniel's article.

Point 5 of Daniel's article says, "Doing AJAX by hand is certainly possible and helps understanding it, but using a good library makes the whole experience more comfortable." 

The &lt;cite&gt;shibumiscript&lt;/cite&gt; approach is to consider XForms a way of expressing &lt;cite&gt;intent&lt;/cite&gt;, and letting AJAX do the work for you.

&lt;strong&gt;A challenge&lt;/strong&gt;: Can XForms do better? Yes, by better integration with XHTML (single namespace), and by authoring conveniences that reduce typing and add defaults.  Look for more of these in upcoming "XForms Simplification" from XForms 1.2 from the W3C.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6578260086366273722-2931798125952498843?l=xformstest.org%2Fklotz%2Fshibumiscript' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/6578260086366273722/2931798125952498843/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=6578260086366273722&amp;postID=2931798125952498843' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6578260086366273722/posts/default/2931798125952498843'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6578260086366273722/posts/default/2931798125952498843'/><link rel='alternate' type='text/html' href='http://xformstest.org/klotz/shibumiscript/2008/05/ajax-is-simple-xforms-is-simpler.html' title='AJAX is simple.  XForms is simpler.'/><author><name>Leigh</name><uri>http://www.blogger.com/profile/11100725740428041485</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='15325523957400111769'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6578260086366273722.post-505943995695914335</id><published>2008-05-14T10:07:00.000-07:00</published><updated>2008-05-14T10:17:39.622-07:00</updated><title type='text'>Ubiquity XForms</title><content type='html'>&lt;a href="http://webbackplane.com/mark-birbeck/"&gt;Mark Birbeck&lt;/a&gt; of &lt;a href="http://www.formsplayer.com/"&gt;formsPlayer&lt;/a&gt; and &lt;a href="http://www.ibm.com/developerworks/blogs/page/JohnBoyer"&gt;John Boyer&lt;/a&gt; of &lt;a href="http://www.ibm.com"&gt;IBM&lt;/a&gt; have put together a small team that should be the start of something big: nothing short of &lt;a href="http://code.google.com/p/ubiquity-xforms/"&gt;Ubiquity&lt;/a&gt; for XForms.  

Ubiquity is an all-AJAX library using &lt;a href="'http://developer.yahoo.com/yui"&gt;YUI&lt;/a&gt; (and with an eye on &lt;a href="http://script.aculo.us/"&gt;scriptaculous&lt;/a&gt; and others coming up) that provides XForms functionality right in today's browsers, and mixes well with AJAX code.

With the backing of IBM and Mark's new company &lt;a href="http://webbackplane.com/"&gt;webBackplane&lt;/a&gt; and the involvement of expert &lt;a href="http://webbackplane.com/paul-butcher/"&gt;Paul Butcher&lt;/a&gt;, this project is sure to be a rallying point for the kinds of ideas &lt;a href="http://xformstest.org/klotz/shibumiscript/"&gt;shibumiscript&lt;/a&gt; is about.

I'm looking forward to seeing what kinds of contributions Ubiquity gets from the community.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6578260086366273722-505943995695914335?l=xformstest.org%2Fklotz%2Fshibumiscript' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/6578260086366273722/505943995695914335/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=6578260086366273722&amp;postID=505943995695914335' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6578260086366273722/posts/default/505943995695914335'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6578260086366273722/posts/default/505943995695914335'/><link rel='alternate' type='text/html' href='http://xformstest.org/klotz/shibumiscript/2008/05/ubiquity-xforms.html' title='Ubiquity XForms'/><author><name>Leigh</name><uri>http://www.blogger.com/profile/11100725740428041485</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='15325523957400111769'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6578260086366273722.post-4952069775135811907</id><published>2008-02-05T09:07:00.000-08:00</published><updated>2008-02-06T06:05:27.897-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='shibumiscript'/><category scheme='http://www.blogger.com/atom/ns#' term='xforms'/><title type='text'>What is shibumiscript?</title><content type='html'>In Japanese, &lt;em&gt;shibumi&lt;/em&gt; is an aesthetic of &lt;a href="http://en.wikipedia.org/wiki/shibui"&gt;&lt;cite&gt;simple, subtle, and unobtrusive beauty&lt;/cite&gt;&lt;/a&gt;.  

I've created the portmanteau &lt;em&gt;shibumiscript&lt;/em&gt; to describe a way of writing web forms, dynamic web pages, and web applications using the simple expressiveness of HTML markup yet obtain the stylistic advantages of AJAX libraries.

As one of the editors of the &lt;a href="http://www.w3.org/TR/xforms"&gt;XForms&lt;/a&gt; series of specifications, I've been long interested in unobtrusive, &lt;em&gt;declarative&lt;/em&gt; ways of expressing intent and content. shibumiscript leads &lt;a href="http://en.wikipedia.org/wiki/Unobtrusive_JavaScript"&gt;Unobtrusive JavaScript&lt;/a&gt; into the sublime.

In shibumiscript, I'll be exploring ways to fuse the &lt;a href="http://www.google.com/search?q=seymour+papert+big+ideas"&gt;big ideas&lt;/a&gt; from XForms with the fluidity of AJAX libraries, and what &lt;a href="http://www.w3.org/People/Raggett/"&gt;Dave Raggett&lt;/a&gt; calls the "extraordinary success" of HTML.  In doing so, I'll be drawing on &lt;a href="http://internet-apps.blogspot.com/"&gt;Mark Birbeck&lt;/a&gt;, &lt;a href="http://www.orbeon.com/blog/"&gt;Erik Bruchez&lt;/a&gt;, &lt;a href="http://dubinko.info/blog/"&gt;Micah Dubinko&lt;/a&gt;, &lt;a href="http://www.ibm.com/developerworks/blogs/page/JohnBoyer"&gt;John Boyer&lt;/a&gt;, TV Raman, and others whose names will appear here as their influence is shown.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6578260086366273722-4952069775135811907?l=xformstest.org%2Fklotz%2Fshibumiscript' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/6578260086366273722/4952069775135811907/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=6578260086366273722&amp;postID=4952069775135811907' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6578260086366273722/posts/default/4952069775135811907'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6578260086366273722/posts/default/4952069775135811907'/><link rel='alternate' type='text/html' href='http://xformstest.org/klotz/shibumiscript/2008/02/what-is-shibumiscript.html' title='What is shibumiscript?'/><author><name>Leigh</name><uri>http://www.blogger.com/profile/11100725740428041485</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='15325523957400111769'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry></feed>