<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Educational Imaginations &#187; Query Tools</title>
	<atom:link href="http://garymlewis.com/instchg/category/query-tools/feed/" rel="self" type="application/rss+xml" />
	<link>http://garymlewis.com/instchg</link>
	<description></description>
	<lastBuildDate>Tue, 31 Jan 2012 11:45:47 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Knowing When to Say No</title>
		<link>http://garymlewis.com/instchg/2010/02/01/knowing-when-to-say-no/</link>
		<comments>http://garymlewis.com/instchg/2010/02/01/knowing-when-to-say-no/#comments</comments>
		<pubDate>Mon, 01 Feb 2010 13:46:12 +0000</pubDate>
		<dc:creator>Gary Lewis</dc:creator>
				<category><![CDATA[Commentary]]></category>
		<category><![CDATA[Query Tools]]></category>
		<category><![CDATA[Chrome OS]]></category>

		<guid isPermaLink="false">http://garymlewis.com/instchg/?p=2332</guid>
		<description><![CDATA[I wrote a post recently about the Faustian bargains we must make when offered something price-free but with contingencies. In this case I was talking about our choice in operating systems and browsers. Specifically I wrote about my own struggle balancing privacy against the attractions in Google's new Chrome operating system and browser.

Pitifully few people actually read the post. I'll take the blame for that. It had a weak title (Playing with Google Chromium OS) and an even weaker hook in the excerpt. 

I'd like a second try. Except for a new title and this excerpt, the current post is identical to the one I published last week.

I thought that George Siemens used an appropriate degree of alarm when he said recently in his post <a href="http://www.elearnspace.org/blog/2010/01/29/privacy-3">Privacy</a> that "it looks like we are just at the beginning stages of privacy obliteration."

Privacy is a right, regardless of whether people are willing to pawn it off. In these early days of the Internet, companies should not be permitted to finese the right to privacy toward obliteration.]]></description>
			<content:encoded><![CDATA[<p>In a previous <a href="http://garymlewis.com/instchg/2009/12/02/public-digital-spaces-for-private-selves/">post</a>, I expressed reservations about privacy in Google&#8217;s new operating system. But that reservation was based on impressions rather than actual use. Here I describe how my impressions held up during 10 hours of hands-on testing of the OS and browser [1].</p>
<p>I downloaded the <a href="http://dev.chromium.org/chromium-os/building-chromium-os">source code</a> for Google&#8217;s Chromium OS and then built and installed the image on an Asus EeePC 1000 netbook [2]. Included was a pre-built binary of the Chromium-based browser.</p>
<p>First a few words about product names, because unfortunately they are a bit confusing here. Chromium OS and Chromium are Google&#8217;s names for the open source developer versions of the proprietary Chrome operating system (OS) and Chrome browser. The Chrome browser is currently in beta and is <a href="http://www.google.com/chrome">available</a> for Mac, Windows, and Linux as binary downloads. But the OS is only available in the open source version. It differs from the Chrome OS that OEMs will ship on netbooks in late 2010. According to a Google <a href="http://dev.chromium.org/chromium-os/how-tos-and-troubleshooting/developer-faq">FAQ</a>:</p>
<blockquote><p>Specifically, Google Chrome OS will run on specially optimized hardware in order to get enhanced performance and security.</p></blockquote>
<p>When Chrome OS gets released, it will be based on Google <a href="http://dev.chromium.org/chromium-os/chromiumos-design-docs/software-architecture">firmware</a> that is not part of the open source versions of Chromium OS. So I was unable to test several important features like fast boot, verified boot (a security measure), and system recovery.</p>
<p>As you&#8217;d expect in a developer release, the version of Chromium OS that I tested was a little buggy (eg, wifi did not work) and incomplete (eg, no JSON for bookmark imports). But these are really minor matters with simple work-arounds (eg, ethernet instead of wifi and HTML instead of JSON).</p>
<p>Bugs, partially complete features, and even missing features don&#8217;t really concern me at this stage. I was mostly interested in design and architecture decisions and whether I as a user would feel safe when using the OS and browser.</p>
<p>By safe I do not merely mean secure. Google has engineered an impressive product with security as a foundational principle. I&#8217;d expect Chrome OS to excel in this area, although I&#8217;ll reserve final judgement until I can test the Google firmware that will provide much of the security foundation.</p>
<p>By safe I also mean private. This I could and did test, although the tight integration of Chromium the browser and Chromium the operating system sometimes obscures exactly which Chromium is being tested.</p>
<p>When Chromium OS boots, you&#8217;re presented with a login screen. At present the login requires a Google account password. But in a <a href="http://dev.chromium.org/chromium-os/chromiumos-design-docs/login">Login</a> design document, Google mentions OpenID as a future possibility and says they &#8220;want to ensure that people can fully use Chromium OS without needing a Google login.&#8221; Login design appears to be under active discussion, re-design, and development. </p>
<p>Chromium OS devices are cloud-based devices meant to run web services. The login requirement facilitates single signon to multiple web applications. By default, Chromium opened my Gmail and Calendar apps in separate tabs. I could logout of these apps without logging out from the OS. I could also easily browse to other Google apps via a Chromium icon that appears prominently in the far left of the top panel. Judging from the Google partner applications that also appear via this icon, single signon across multiple applications is an important design goal.</p>
<p>Single signon is a compelling benefit for the user. No one likes to re-enter authentication information multiple times a day. But the user also makes an implicit bargain with Google for this convenience, security, and price (ie, free). The entire time you use Chromium OS, you are logged in and therefore identifiable. </p>
<p>I encourage Google to allow users to opt-out of the initial OS login.</p>
<p>I spent the first 3 hours testing Chromium OS and Chromium with default configurations. This is the path of least resistance that many users may take. The test involved normal browsing of web pages bookmarked from RSS feeds. At the end of the test I&#8217;d accumulated 105 cookies from 38 different sites, many of which were third-party sites that I did not initiate. My browsing history recorded 63 events, all datetime stamped and all including the associated url.</p>
<p>However, this is just the tip of an iceberg of personal data collected in standard browser mode. The Google Chrome <a href="http://www.google.com/chrome/intl/en/privacy.html">Privacy Notice</a> provides more detail than I can include here, about information collected by Google and by other website owners. It also includes warnings about use of third-party Chrome extensions and an eye-opening description of information stored locally on your computer when using Chrome. This latter category includes cached text of pages visited; IP addresses obtained via DNS pre-fetching of links on pages you visit; a searchable index of pages you visit; thumbnail screenshots of pages; and, of course, browsing history, download history, and cookies set. If you enable Chrome&#8217;s synchronization feature, your browser settings (including bookmarks) will also be stored on Google servers.</p>
<p>Is all this data acceptable use? Well, it depends on each person&#8217;s level of tolerance for scrutiny of personal behavior by a private company. For me, it is not acceptable. As I mentioned in my previous post, I use the web energetically but very cautiously. </p>
<p>So as a second test I activated Incognito mode. In this mode, web pages and downloaded files are not recorded in browsing or download history. All new cookies are also deleted when closing the Incognito window. In a <a href="http://dev.chromium.org/chromium-os/chromiumos-design-docs/security-overview">Security Overview</a> design document, Google describes Incognito mode this way:</p>
<blockquote><p>• Users can initiate a completely stateless session, which does not sync or cache data.<br />
• All system settings would be kept out of this session, including networking config.</p></blockquote>
<p>After many hours of Incognito use, I had no browsing history, no download history, and a single Google cookie. This is a happy result for a cautious web user. It is, however, quite easy to accidentally leave Incognito mode and bounce back to standard mode, so cautious users will also want to change Chrome&#8217;s default browser settings to opt-out of several features. See the <a href="http://www.google.com/chrome/intl/en/privacy.html">Privacy Notice</a> or <a href="http://www.google.com/support/chrome/bin/topic.py?topic=14666">Chrome Help</a> for notes on how to opt-out and disable features.</p>
<p>It&#8217;s not clear to me what Google means by the term <em>stateless</em> and how it relates to common definitions (eg, see Wikipedia and <a href="http://en.wikipedia.org/wiki/Stateless_server">stateless server</a>). The word gets used when Google describes Incognito mode for Chromium (the browser), yet the entire occurrence appears in the context of a design document for Chromium OS (the operating system). I interpreted this to mean that stateless was a feature of the both the browser and the OS, but this is just a guess on my part. One of the Chromium OS <a href="http://dev.chromium.org/chromium-os/chromiumos-design-docs">design documents</a> lists the stateless feature as &#8220;coming soon,&#8221; which also supports the notion that the term refers to something larger than just Incognito mode in the browser. </p>
<p>I encourage Google to clarify the stateless concept. It&#8217;s too important to leave it open to individual interpretation.</p>
<p>One final comment. You may have noticed in the block-quote about Incognito mode, the use of the term <em>cached data</em>. This is another area where Google could provide greater detail. What exactly does cached data mean? And what data does it include?</p>
<p>Some cached data is identified in the above discussion of Chrome data stored locally. But there appears to be an OS as well as a browser component to cached data. I got this sense from a Chromium OS design document called <a href="http://dev.chromium.org/chromium-os/chromiumos-design-docs/protecting-cached-user-data">Protecting Cached User Data</a>, where the following statement appears:</p>
<blockquote><p>Chromium OS devices should provide privacy protection for user data stored on the local disk. In particular, some subset of a user&#8217;s email, pictures, and even HTTP cookies will be stored on the local drive to enhance the online experience and ensure Chromium OS devices are useful even when an Internet connection isn&#8217;t available.</p></blockquote>
<p>I understand the offline rationale. But I wonder if it isn&#8217;t more complicated than that. Google&#8217;s <a href="http://code.google.com/p/nativeclient/">Native Client</a> technology will allow web-based applications to run native (ie, local) code from the Chrome browser, thereby using local resources to boost the performance of web apps.</p>
<p>To my knowledge, Google isn&#8217;t talking and the role of Native Client in Chrome OS is currently unclear. This merely encourages <a href="http://www.chromeosgeek.com/google-chrome-os-goes-native-code.html">speculation</a> that Native Client and local data are actually strategies in the competition between Google and makers of desktop applications. </p>
<p>How would that affect user privacy? Again, it&#8217;s impossible to tell from any of the Google design documents I reviewed. But it doesn&#8217;t leave me with a warm and fuzzy feeling.</p>
<p>I encourage Google to prepare a privacy notice for Chrome OS as it has for <a href="http://www.google.com/intl/en/privacy.html">Chrome and other individual products</a>. Without one, we&#8217;re left making mostly uninformed guesses.</p>
<p>Am I likely to use Chrome OS when it arrives in late 2010? It&#8217;s too early to provide a firm answer. I&#8217;ll re-evaluate the operating system at release time. Currently there are too many unanswered privacy questions. But my guess is that I will selectively use the Chrome browser but not the Chrome operating system.</p>
<hr/>
<p>Notes:<br />
[1] If you&#8217;d like screen shots and a fair summary of Chromium OS features, I recommend Dedoimedo&#8217;s <a href="http://www.dedoimedo.com/computers/google-chrome-os.html">Google Chrome OS &#8211; Is this the future?</a><br />
[2] The version of Chromium OS was 0.5.25.201001051736 Developer Build aa10e830.F</p>
]]></content:encoded>
			<wfw:commentRss>http://garymlewis.com/instchg/2010/02/01/knowing-when-to-say-no/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Threaded Bookmarks 29-January-2009</title>
		<link>http://garymlewis.com/instchg/2010/01/29/threaded-bookmarks-29-january-2009/</link>
		<comments>http://garymlewis.com/instchg/2010/01/29/threaded-bookmarks-29-january-2009/#comments</comments>
		<pubDate>Fri, 29 Jan 2010 14:29:54 +0000</pubDate>
		<dc:creator>Gary Lewis</dc:creator>
				<category><![CDATA[Bookmarks]]></category>
		<category><![CDATA[Commentary]]></category>
		<category><![CDATA[Query Tools]]></category>

		<guid isPermaLink="false">http://garymlewis.com/instchg/?p=2283</guid>
		<description><![CDATA[Today's theme is one of design. Is there a way to use data analysis and visualization to engage  people enough that they follow their curiosity into exploration of complex issues?]]></description>
			<content:encoded><![CDATA[<p>In this post I&#8217;m experimenting with a variation on bookmark posts by including only items connected in some fashion by a common thread. </p>
<p>Today&#8217;s theme is one of design. Is there a way to use data analysis and visualization to engage  people enough that they follow their curiosity into exploration of complex issues?</p>
<p>I very much like the problem orientation of the auto technician interviewed in the New York Times article. Don&#8217;t treat symptoms; look for the root causes; and start with the money. His question &#8220;why does it cost so much?&#8221; is equally valid for higher education.</p>
<p>In the second post, a designer provides a five-stage model of how to create participatory experiences within museums. The model uses a me-to-we flow that starts with &#8220;individual consumes content&#8221; and progresses to &#8220;individuals engage with each other socially.&#8221; Step two (&#8220;individuals interact with content&#8221;) seems particularly important.</p>
<p>Data analysis and visualization may provide an entry point. But interaction with the content is essential to provoke curiosity and the urge for more exploration. Beyond curiosity a transition must occur and stories may provide help. I&#8217;m a <a href="http://garymlewis.com/instchg/2009/03/03/dear-barack-why-you-also-got-a-d-on-your-higher-education-budget-proposals/">big fan of storytelling</a> for precisely the reasons that John Hagel mentions in the third post.</p>
<p>Do you see where I&#8217;m headed? Suppose we take an issue like the high cost of higher education. There is absolutely tons of data available on this topic and no end to the research done on it. But is there a way to design visual analysis as an entry point for individual interaction with the topic and then provide a way for people to explore the complexities with stories?</p>
<p>If any of you are aware of web sites designed in a similar manner (around any topic), I&#8217;d very much appreciate it if you would provide links in the comments. Or email me with links. Many thanks!</p>
<hr/>
<p><a href="http://www.nytimes.com/2010/01/11/health/policy/11health.html?scp=1&#038;sq=colorado%20voters%20crave%20reform&#038;st=cse">In Colorado, Craving Reform of Health Care and Congress</a><br />
Robert Pear. <em>New York Times</em>. 10-January-2010</p>
<blockquote><p>“I am an automotive diagnostician,” Mr. Seyfer said. “We look for the root cause of problems. If we treat the symptoms, the problem always comes back. With health care, we are not treating the root cause: Why does it cost so much?”</p></blockquote>
<p><a href="http://museumtwo.blogspot.com/2010/01/revised-theory-of-social-participation.html">A Revised Theory of Social Participation via a &#8220;Me-to-We&#8221; Design</a><br />
Nina Simon. <a href="http://museumtwo.blogspot.com">Museum 2.0</a>. 25-Janurary-2010.</p>
<blockquote><p>[I]f you want to support social engagement among people, especially in an unfacilitated setting (i.e. no tour guides or game masters), you need to start by designing personal services for users, then linking up users through shared interests or objects to promote interpersonal connections. You don&#8217;t start by designing &#8220;for the crowd.&#8221; Instead, you design ways for each person to feel acknowledged and valued as an individual. You make them comfortable interacting on their own, and then start providing opportunities to connect with others.</p></blockquote>
<p><a href="http://edgeperspectives.typepad.com/edge_perspectives/2010/01/from-research-monographs-to-story-telling-new-forms-of-communication-in-the-big-shift.html">From Research Monographs to Story-Telling: New Forms of Communication in the Big Shift</a><br />
John Hagel. <a href="http://edgeperspectives.typepad.com/">Edge Perspectives</a>. 22-January-2010.</p>
<blockquote><p>Stories provide powerful filters that help us to orient ourselves in complex and rapidly changing worlds.  On a daily basis, we are bombarded by an ever expanding array of stimuli that spread our attention ever more thinly and risk disorienting us in terms of a sense of what matters and what is simply noise.  Stories help to focus our attention.  The task of the story teller is to reduce a complex situation to its essence, making difficult decisions about what matters and what is simply extraneous while still preserving the relationships and textures that drive forward movement.  The result can be very helpful to listeners in terms of communicating what is really important in a world that distracts and diminishes our ability to focus. At the same time, stories also encourage listeners to use their own imagination to enrich the context of the story – they pull listeners in and invite them to co-create the world at hand.</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://garymlewis.com/instchg/2010/01/29/threaded-bookmarks-29-january-2009/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Playing with Google Chromium OS</title>
		<link>http://garymlewis.com/instchg/2010/01/19/playing-with-google-chromium-os/</link>
		<comments>http://garymlewis.com/instchg/2010/01/19/playing-with-google-chromium-os/#comments</comments>
		<pubDate>Tue, 19 Jan 2010 21:42:33 +0000</pubDate>
		<dc:creator>Gary Lewis</dc:creator>
				<category><![CDATA[Commentary]]></category>
		<category><![CDATA[Query Tools]]></category>
		<category><![CDATA[Chrome OS]]></category>

		<guid isPermaLink="false">http://garymlewis.com/instchg/?p=2104</guid>
		<description><![CDATA[After testing the open source version of Google's Chrome OS operating system, the question becomes: Am I likely to use it when it's released in late 2010?]]></description>
			<content:encoded><![CDATA[<p>In a previous <a href="http://garymlewis.com/instchg/2009/12/02/public-digital-spaces-for-private-selves/">post</a>, I expressed reservations about privacy in Google&#8217;s new operating system. But that reservation was based on impressions rather than actual use. Here I describe how my impressions held up during 10 hours of hands-on testing of the OS and browser [1].</p>
<p>I downloaded the <a href="http://dev.chromium.org/chromium-os/building-chromium-os">source code</a> for Google&#8217;s Chromium OS and then built and installed the image on an Asus EeePC 1000 netbook [2]. Included was a pre-built binary of the Chromium-based browser.</p>
<p>First a few words about product names, because unfortunately they are a bit confusing here. Chromium OS and Chromium are Google&#8217;s names for the open source developer versions of the proprietary Chrome operating system (OS) and Chrome browser. The Chrome browser is currently in beta and is <a href="http://www.google.com/chrome">available</a> for Mac, Windows, and Linux as binary downloads. But the OS is only available in the open source version. It differs from the Chrome OS that OEMs will ship on netbooks in late 2010. According to a Google <a href="http://dev.chromium.org/chromium-os/how-tos-and-troubleshooting/developer-faq">FAQ</a>:</p>
<blockquote><p>Specifically, Google Chrome OS will run on specially optimized hardware in order to get enhanced performance and security.</p></blockquote>
<p>When Chrome OS gets released, it will be based on Google <a href="http://dev.chromium.org/chromium-os/chromiumos-design-docs/software-architecture">firmware</a> that is not part of the open source versions of Chromium OS. So I was unable to test several important features like fast boot, verified boot (a security measure), and system recovery.</p>
<p>As you&#8217;d expect in a developer release, the version of Chromium OS that I tested was a little buggy (eg, wifi did not work) and incomplete (eg, no JSON for bookmark imports). But these are really minor matters with simple work-arounds (eg, ethernet instead of wifi and HTML instead of JSON).</p>
<p>Bugs, partially complete features, and even missing features don&#8217;t really concern me at this stage. I was mostly interested in design and architecture decisions and whether I as a user would feel safe when using the OS and browser.</p>
<p>By safe I do not merely mean secure. Google has engineered an impressive product with security as a foundational principle. I&#8217;d expect Chrome OS to excel in this area, although I&#8217;ll reserve final judgement until I can test the Google firmware that will provide much of the security foundation.</p>
<p>By safe I also mean private. This I could and did test, although the tight integration of Chromium the browser and Chromium the operating system sometimes obscures exactly which Chromium is being tested.</p>
<p>When Chromium OS boots, you&#8217;re presented with a login screen. At present the login requires a Google account password. But in a <a href="http://dev.chromium.org/chromium-os/chromiumos-design-docs/login">Login</a> design document, Google mentions OpenID as a future possibility and says they &#8220;want to ensure that people can fully use Chromium OS without needing a Google login.&#8221; Login design appears to be under active discussion, re-design, and development. </p>
<p>Chromium OS devices are cloud-based devices meant to run web services. The login requirement facilitates single signon to multiple web applications. By default, Chromium opened my Gmail and Calendar apps in separate tabs. I could logout of these apps without logging out from the OS. I could also easily browse to other Google apps via a Chromium icon that appears prominently in the far left of the top panel. Judging from the Google partner applications that also appear via this icon, single signon across multiple applications is an important design goal.</p>
<p>Single signon is a compelling benefit for the user. No one likes to re-enter authentication information multiple times a day. But the user also makes an implicit bargain with Google for this convenience, security, and price (ie, free). The entire time you use Chromium OS, you are logged in and therefore identifiable. </p>
<p>I encourage Google to allow users to opt-out of the initial OS login.</p>
<p>I spent the first 3 hours testing Chromium OS and Chromium with default configurations. This is the path of least resistance that many users may take. The test involved normal browsing of web pages bookmarked from RSS feeds. At the end of the test I&#8217;d accumulated 105 cookies from 38 different sites, many of which were third-party sites that I did not initiate. My browsing history recorded 63 events, all datetime stamped and all including the associated url.</p>
<p>However, this is just the tip of an iceberg of personal data collected in standard browser mode. The Google Chrome <a href="http://www.google.com/chrome/intl/en/privacy.html">Privacy Notice</a> provides more detail than I can include here, about information collected by Google and by other website owners. It also includes warnings about use of third-party Chrome extensions and an eye-opening description of information stored locally on your computer when using Chrome. This latter category includes cached text of pages visited; IP addresses obtained via DNS pre-fetching of links on pages you visit; a searchable index of pages you visit; thumbnail screenshots of pages; and, of course, browsing history, download history, and cookies set. If you enable Chrome&#8217;s synchronization feature, your browser settings (including bookmarks) will also be stored on Google servers.</p>
<p>Is all this data acceptable use? Well, it depends on each person&#8217;s level of tolerance for scrutiny of personal behavior by a private company. For me, it is not acceptable. As I mentioned in my previous post, I use the web energetically but very cautiously. </p>
<p>So as a second test I activated Incognito mode. In this mode, web pages and downloaded files are not recorded in browsing or download history. All new cookies are also deleted when closing the Incognito window. In a <a href="http://dev.chromium.org/chromium-os/chromiumos-design-docs/security-overview">Security Overview</a> design document, Google describes Incognito mode this way:</p>
<blockquote><p>• Users can initiate a completely stateless session, which does not sync or cache data.<br />
• All system settings would be kept out of this session, including networking config.</p></blockquote>
<p>After many hours of Incognito use, I had no browsing history, no download history, and a single Google cookie. This is a happy result for a cautious web user. It is, however, quite easy to accidentally leave Incognito mode and bounce back to standard mode, so cautious users will also want to change Chrome&#8217;s default browser settings to opt-out of several features. See the <a href="http://www.google.com/chrome/intl/en/privacy.html">Privacy Notice</a> or <a href="http://www.google.com/support/chrome/bin/topic.py?topic=14666">Chrome Help</a> for notes on how to opt-out and disable features.</p>
<p>It&#8217;s not clear to me what Google means by the term <em>stateless</em> and how it relates to common definitions (eg, see Wikipedia and <a href="http://en.wikipedia.org/wiki/Stateless_server">stateless server</a>). The word gets used when Google describes Incognito mode for Chromium (the browser), yet the entire occurrence appears in the context of a design document for Chromium OS (the operating system). I interpreted this to mean that stateless was a feature of the both the browser and the OS, but this is just a guess on my part. One of the Chromium OS <a href="http://dev.chromium.org/chromium-os/chromiumos-design-docs">design documents</a> lists the stateless feature as &#8220;coming soon,&#8221; which also supports the notion that the term refers to something larger than just Incognito mode in the browser. </p>
<p>I encourage Google to clarify the stateless concept. It&#8217;s too important to leave it open to individual interpretation.</p>
<p>One final comment. You may have noticed in the block-quote about Incognito mode, the use of the term <em>cached data</em>. This is another area where Google could provide greater detail. What exactly does cached data mean? And what data does it include?</p>
<p>Some cached data is identified in the above discussion of Chrome data stored locally. But there appears to be an OS as well as a browser component to cached data. I got this sense from a Chromium OS design document called <a href="http://dev.chromium.org/chromium-os/chromiumos-design-docs/protecting-cached-user-data">Protecting Cached User Data</a>, where the following statement appears:</p>
<blockquote><p>Chromium OS devices should provide privacy protection for user data stored on the local disk. In particular, some subset of a user&#8217;s email, pictures, and even HTTP cookies will be stored on the local drive to enhance the online experience and ensure Chromium OS devices are useful even when an Internet connection isn&#8217;t available.</p></blockquote>
<p>I understand the offline rationale. But I wonder if it isn&#8217;t more complicated than that. Google&#8217;s <a href="http://code.google.com/p/nativeclient/">Native Client</a> technology will allow web-based applications to run native (ie, local) code from the Chrome browser, thereby using local resources to boost the performance of web apps.</p>
<p>To my knowledge, Google isn&#8217;t talking and the role of Native Client in Chrome OS is currently unclear. This merely encourages <a href="http://www.chromeosgeek.com/google-chrome-os-goes-native-code.html">speculation</a> that Native Client and local data are actually strategies in the competition between Google and makers of desktop applications. </p>
<p>How would that affect user privacy? Again, it&#8217;s impossible to tell from any of the Google design documents I reviewed. But it doesn&#8217;t leave me with a warm and fuzzy feeling.</p>
<p>I encourage Google to prepare a privacy notice for Chrome OS as it has for <a href="http://www.google.com/intl/en/privacy.html">Chrome and other individual products</a>. Without one, we&#8217;re left making mostly uninformed guesses.</p>
<p>Am I likely to use Chrome OS when it arrives in late 2010? It&#8217;s too early to provide a firm answer. I&#8217;ll re-evaluate the operating system at release time. Currently there are too many unanswered privacy questions. But my guess is that I will selectively use the Chrome browser but not the Chrome operating system.</p>
<hr/>
<p>Notes:<br />
[1] If you&#8217;d like screen shots and a fair summary of Chromium OS features, I recommend Dedoimedo&#8217;s <a href="http://www.dedoimedo.com/computers/google-chrome-os.html">Google Chrome OS &#8211; Is this the future?</a><br />
[2] The version of Chromium OS was 0.5.25.201001051736 Developer Build aa10e830.</p>
]]></content:encoded>
			<wfw:commentRss>http://garymlewis.com/instchg/2010/01/19/playing-with-google-chromium-os/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bellylaughs Amid Technical Complexity</title>
		<link>http://garymlewis.com/instchg/2009/12/24/bellylaughs-amid-technical-complexity/</link>
		<comments>http://garymlewis.com/instchg/2009/12/24/bellylaughs-amid-technical-complexity/#comments</comments>
		<pubDate>Thu, 24 Dec 2009 16:31:25 +0000</pubDate>
		<dc:creator>Gary Lewis</dc:creator>
				<category><![CDATA[Commentary]]></category>
		<category><![CDATA[Query Tools]]></category>
		<category><![CDATA[Research]]></category>
		<category><![CDATA[HTML5/SVG]]></category>

		<guid isPermaLink="false">http://garymlewis.com/instchg/?p=1969</guid>
		<description><![CDATA[HTML5 and SVG may open new opportunities for deeper understanding of complex policy issues.]]></description>
			<content:encoded><![CDATA[<p>Recently I&#8217;ve been up to my eyeballs in HTML5 and SVG (Scalable Vector Graphics). Not exactly bed-time reading. So imagine my surprise today when I read an article on SVG that had me laughing out loud. Here&#8217;s one of the milder examples:</p>
<blockquote><p>Space travelers encountering new species should not necessarily think that stealing a dictionary and plying an informant with single-malt scotch will automatically produce a Rosetta stone.</p></blockquote>
<p>The author is David Dailey. He&#8217;s a professor of computer science at Slippery Rock University in Pennsylvania. The article is <a href="http://svgopen.org/2009/papers/26-Why_is_SVG_going_to_be_REALLY_BIG_/">Why is SVG going to be REALLY BIG?</a>. Dailey presented the paper at the <a href="http://www.svgopen.org/2009/">SVG Open 2009</a> conference held from October 2-4 in Mountain View, California.</p>
<p>Here&#8217;s a taste of the main message:</p>
<blockquote><p>In short, the fundamental metaphor of SVG for the expression of human meaning is closer to the realm in which meaning exists (at least in some abstract mathematical sense). SVG has not suffered from the setbacks that millenia of bad assumptions about how to communicate thoughts have saddled onto speech, text, hypertext and, hence, HTML.</p></blockquote>
<p>Those of you with philosophical inclinations will likely be engaged by the article. All of us can take heart from the hope that HTML5 and SVG may open new opportunities for deeper understanding of complex policy issues.</p>
]]></content:encoded>
			<wfw:commentRss>http://garymlewis.com/instchg/2009/12/24/bellylaughs-amid-technical-complexity/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Final XQuery Use Case</title>
		<link>http://garymlewis.com/instchg/2009/12/09/final-xquery-use-case/</link>
		<comments>http://garymlewis.com/instchg/2009/12/09/final-xquery-use-case/#comments</comments>
		<pubDate>Wed, 09 Dec 2009 23:04:58 +0000</pubDate>
		<dc:creator>Gary Lewis</dc:creator>
				<category><![CDATA[Query Tools]]></category>
		<category><![CDATA[Research]]></category>
		<category><![CDATA[xquery]]></category>

		<guid isPermaLink="false">http://garymlewis.com/instchg/?p=1917</guid>
		<description><![CDATA[With the conclusion of this project, I no longer feel the need to equivocate about xquery. I will definitely use it.]]></description>
			<content:encoded><![CDATA[<p>For a finale in my run of testing xquery in different data situations, I chose to deliberately use xquery where it would be slightly disadvantaged. So I decided to analyze moderately complex survey data in the form of the October 2007 School Enrollment Supplement to the Current Population Survey. The CPS is sponsored jointly by the U.S. Bureau of Census and the Bureau of Labor Statistics. It is the data source used to calculate those dreadful monthly unemployment rates we&#8217;ve seen in the current recession.</p>
<p>Instead of unemployment, I chose to examine whether family income influences students&#8217; choices about enrollment in public versus private colleges and universities in the United States. Given the substantial gap in net price between public and private institutions, you would think that family finances might play an important role in the public vs private decision.</p>
<p>One caveat as always. Throughout these use cases, I&#8217;ve been less interested in the research question than in how xquery performs. I chose research questions that I thought would be interesting, but I was more concerned about the tool than the actual research.</p>
<p>In this post I won&#8217;t give away the story-line about the research. For that, please refer to the <a href="http://garymlewis.com/instchg/public/xquery/cpsoct2007/final_cpsoct2007.pdf">4-page PDF</a> that describes the project.</p>
<p>However, I will say once again that I enjoyed working with xquery. There are several implementations of the W3C standards. I used <a href="http://www.zorba-xquery.com/">zorba</a>.</p>
<p>This project did place stress on xquery performance at times, but I was able to concoct workarounds that I&#8217;ll be able to use in similar situations if they occur in the future.</p>
<p>Also, I&#8217;d like to highlight once again the very intricate nature of data analysis. I&#8217;m occasionally uncomfortable in this age of transparency and big data and semantic linked data that ease-of-use is the assumed norm and expectation. It has never been my experience that data analysis is easy or fast. It requires living in the data for considerable periods of time. It requires thought and play and more thought. It requires failure and more failure and finally small steps of success. I hope this will be evident in the PDF that describes this project.</p>
<p>I also tried again to provide links to all important programs I wrote as part of this project. It&#8217;s not exactly what some call open research, but it certainly is a step in that direction. If anyone feels motivated to duplicate what I did or, better yet, to modify and improve upon what I did, then I think you&#8217;ll find the source links useful. And I&#8217;d be happy to assist if you have questions.</p>
<p>With the conclusion of this project, I no longer feel the need to equivocate about xquery. I will definitely use it.</p>
]]></content:encoded>
			<wfw:commentRss>http://garymlewis.com/instchg/2009/12/09/final-xquery-use-case/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Another XQuery Use Case: Is Higher Education Countercyclical?</title>
		<link>http://garymlewis.com/instchg/2009/08/10/another-xquery-use-case-is-higher-education-countercyclical/</link>
		<comments>http://garymlewis.com/instchg/2009/08/10/another-xquery-use-case-is-higher-education-countercyclical/#comments</comments>
		<pubDate>Mon, 10 Aug 2009 17:52:12 +0000</pubDate>
		<dc:creator>Gary Lewis</dc:creator>
				<category><![CDATA[Query Tools]]></category>
		<category><![CDATA[Research]]></category>
		<category><![CDATA[web queries]]></category>
		<category><![CDATA[xquery]]></category>

		<guid isPermaLink="false">http://garymlewis.com/instchg/?p=1172</guid>
		<description><![CDATA[In this XQuery use case, I consider whether higher education in the U.S. is countercyclical to recessions.]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve completed another XQuery demonstration project (for earlier ones, see <a href="http://garymlewis.com/instchg/category/query-tools">XQuery</a>). In this version I used XQuery to assemble data to consider anew the conventional wisdom that higher education is countercyclical (ie, enrollments grow during recessions).</p>
<p>Here&#8217;s a sample graph from the report. It shows the annual percentage change in enrollments from all U.S. degree-granting institutions of higher education from 1968 to 2007. The grayscale background shows unemployment rates and periods of recessions. The report is available in this <a href="http://garymlewis.com/instchg/public/xquery/dt08_189/dt08_189.pdf">pdf</a> that includes better resolution graphics.</p>
<p><img class="alignleft size-full wp-image-1177" title="dt08_main" src="http://garymlewis.com/instchg/wp-content/uploads/2009/08/dt08_main.png" alt="dt08_main" width="500" height="357" /></p>
<p>Here is an abbreviated version of the summary section from the report.</p>
<p>1. The new XQuery use cases included screen scraping enrollment data embedded in html, and the pipelining of enrollment and economic data through several staged transformations.<br />
2. The evidence that higher education in the United States is countercyclical appears weak based on the exploratory analysis done here.<br />
3. The evidence varies somewhat by institutional control and type, but mostly the general observation of a weak association between enrollment change and recession cycles holds true.<br />
4. The tools used  in this project, XQuery and R, are wonderful research tools but are not suitable for more general use without wrappers that mute their complexity.<br />
5. The screen-scraping technique used in this project provides another access route to a vast amount of U.S. Department of Education data on the web.<br />
6. None of the data sources used in this project included semantic or linked data markup. Whether XQuery can be used successfully with RDFa or microformats seems worthy of investigation.</p>
<p>Here are links to various pieces of this project:<br />
a. <a href="http://garymlewis.com/instchg/public/xquery/dt08_189/dt08_189.pdf">Final report</a><br />
b. <a href="http://garymlewis.com/instchg/public/xquery/dt08_189/dt08_189_doc.xq">Documentation for XQuery source programs</a><br />
c. <a href="http://garymlewis.com/instchg/public/xquery/dt08_189/dt08_189_enrl.xq">XQuery to generate enrollment data</a><br />
d. <a href="http://garymlewis.com/instchg/public/xquery/dt08_189/dt08_189_econ.xq">XQuery to generate unemployment and recession data</a><br />
e. <a href="http://garymlewis.com/instchg/public/xquery/dt08_189/dt08_189_final.xq">XQuery to merge enrollment, unemployment, and recession data</a><br />
f. <a href="http://garymlewis.com/instchg/public/xquery/dt08_189/dt08_189_final.Rhistory">R analysis history</a></p>
<p>I remain quite satisfied with XQuery. </p>
]]></content:encoded>
			<wfw:commentRss>http://garymlewis.com/instchg/2009/08/10/another-xquery-use-case-is-higher-education-countercyclical/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>XQuery and an XML Database</title>
		<link>http://garymlewis.com/instchg/2009/07/01/xquery-and-an-xml-database/</link>
		<comments>http://garymlewis.com/instchg/2009/07/01/xquery-and-an-xml-database/#comments</comments>
		<pubDate>Wed, 01 Jul 2009 19:30:26 +0000</pubDate>
		<dc:creator>Gary Lewis</dc:creator>
				<category><![CDATA[Query Tools]]></category>
		<category><![CDATA[xquery]]></category>

		<guid isPermaLink="false">http://garymlewis.com/instchg/?p=1043</guid>
		<description><![CDATA[Recently I installed an XML database and duplicated  one of the performance tests I'd done earlier with the Federal Reserve Economic Data (FRED). Response time dropped from 195 seconds to 2 seconds. <a href="http://garymlewis.com/instchg/2009/07/01/xquery-and-an-xml-database/">Read more</a>.]]></description>
			<content:encoded><![CDATA[<p>Recently I wrote about using <a href="http://garymlewis.com/instchg/2009/06/08/making-a-dent-in-a-steep-learning-curve/">XQuery with the Federal Reserve Economic Data (FRED)</a> API. I also complained a bit about sluggish performance (<a href="http://garymlewis.com/instchg/public/xquery/fred/fred_xquery.pdf">pdf</a>), but noted by way of explanation that I was using a creaky old server and that XQuery was processing XML files and not a database.</p>
<p>Since then I installed Oracle&#8217;s <a href="http://www.oracle.com/database/berkeley-db/xml/index.html">BerkeleyDB XML</a> database and duplicated one of the performance tests I&#8217;d done with the FRED data. Response time in the test dropped from 195 seconds to 2 seconds. Not bad; much more consistent with what I&#8217;d expect from SQL queries against a similarly sized relational database.</p>
<p>These are not precise performance tests by any means. For example, the XQuery processor I used with the original FRED data was <a href="http://www.zorba-xquery.com/index.php/about/">Zorba</a>, but <a href="http://xqilla.sourceforge.net/HomePage">XQilla</a> is the XQuery processor that comes bundled with BerkeleyDB XML. So, for certain, I changed at least two important factors in the tests, and unless you make controlled changes in factors it is pretty much impossible to attribute causation.</p>
<p>However, I rather doubt that the choice of the XQuery processor had much to do with the performance improvement. Performance only improved when I created database indexes for the XML.</p>
<p>At this point I am still very much playing; just trying to use XQuery in a variety of environments to better understand what it can and cannot accomplish. If you&#8217;re a researcher, for example, it doesn&#8217;t much matter if it takes 195 seconds for a data integration step in an entire research process that may take days, weeks or longer. However, 2 seconds is much preferred if you&#8217;re doing ad hoc data mashups in a browser.</p>
<p>From what little I&#8217;ve seen of Oracle&#8217;s BerkeleyDB XML database, it&#8217;s an interesting product, available with either a commercial or free open source license. It&#8217;s an embedded database accessed through a programmatic API and linked libraries. It is not a relational database, database management system, or a database server. It does, however, offer a lightweight solution when performance and data persistence are critical. Disclaimer: I have no association with Oracle, BerkeleyDB, or BerkeleyDB XML.</p>
<p>I realize this blog post will only interest a very few people, but from time-to-time I may write similar posts that document my playing with XQuery. I continue to like what I see. Truthfully I&#8217;m not certain where it&#8217;s headed, other than to say that the driver is free learning for everyone everywhere.</p>
]]></content:encoded>
			<wfw:commentRss>http://garymlewis.com/instchg/2009/07/01/xquery-and-an-xml-database/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>XQuery as a Web Query Tool</title>
		<link>http://garymlewis.com/instchg/2009/06/19/xquery-as-a-web-query-tool/</link>
		<comments>http://garymlewis.com/instchg/2009/06/19/xquery-as-a-web-query-tool/#comments</comments>
		<pubDate>Fri, 19 Jun 2009 11:52:03 +0000</pubDate>
		<dc:creator>Gary Lewis</dc:creator>
				<category><![CDATA[Query Tools]]></category>
		<category><![CDATA[web queries]]></category>

		<guid isPermaLink="false">http://garymlewis.com/instchg/?p=980</guid>
		<description><![CDATA[Recently I asked folks on an XQuery listserv if XQuery might play a role in a p2p web anticipated by such recent announcements as Google's Wave and Opera's Unite. Below is an edited version of that conversation. <a href="http://garymlewis.com/instchg/2009/06/19/xquery-as-a-web-query-tool/">Read more</a>.]]></description>
			<content:encoded><![CDATA[<p>Those of you who have followed this blog know that I&#8217;ve long searched for something that I call a &#8220;web query tool&#8221; (click on the <a href="http://garymlewis.com/instchg/category/query-tools/">Query Tools</a> category to see this history).</p>
<p>As a way of identifying a &#8220;web query tool,&#8221; I use a very simple measurement device &#8230; it is something that can answer the following question: &#8220;Please give me a list of &lt;a&gt; about &lt;b&gt;&#8221; (eg, a list of web tutorials about python programming). This sounds like a search, but it is more than search. It is an ad hoc query run against a web of data instead of a database.</p>
<p>I don&#8217;t think the time is at hand when I&#8217;ll find a real web query tool.</p>
<p>But recently I&#8217;ve been playing quite a bit with XQuery and have been pleased (eg, see <a href="http://garymlewis.com/instchg/2009/06/08/making-a-dent-in-a-steep-learning-curve/">Making a Dent in a Steep Learning Curve</a>). I believe XQuery will do nicely  as a tool for mashups of web data and as a front-end into a technology stack that runs from data integration to transformation to analysis to visualization and then to presentation.</p>
<p>However I wanted a reality check from people far more experienced with XQuery than me. So I posed a question to a list that serves people focused on XQuery. The question contained a twist about the future as well.</p>
<p>The respondents were uniformly gracious, and I found the conversation very helpful. Below is an edited version of that conversation organized as threads rather than in time sequence. Enjoy.</p>
<p>Notes:<br />
1. I&#8217;m reluctant to quote the words of other people. So originally I thought I would summarize the conversation. But this made it lifeless. So I left the respondents anonymous but included their (slightly edited) direct quotes. I also wrote the list where the original conversation happened and included a link to a preview of this blog post, and asked if anyone objected if I included the transcript in the post.<br />
2. In the transcript, indents denote threads. So, for example, something indented once means it is a response to my original question. Something indented twice is a response to the immediately preceding response indented once. And so on.<br />
3. I omitted side conversations not directly relevant to my original question. As I write this, the discussion continues on the list but it has long since left my original topic. This still evolving conversation is not included in the transcript.</p>
<p style="text-align: center;"><strong>Transcript</strong></p>
<p><span style="text-decoration: underline;">Gary Lewis, 10:13am</span><br />
Can anyone comment on the possibility that xquery could be used as a data integration/mashup tool running in a browser that included a web server? There&#8217;s been quite a bit of excitement the past couple days about the Opera Unite announcement of its &#8220;web server in a web browser&#8221; concept. Is it possible that xquery, as  query/integration/transformation tool, might someday be a plugin to a browser (eg, Chrome; Chrome/Wave)?</p>
<p style="padding-left: 30px;"><span style="text-decoration: underline;">Respondent #1, 10:25am</span><br />
sure why not &#8230; XSLT support in the browser was/is a plugin and sets a precedent for this kind of thing</p>
<p style="padding-left: 30px;">XQuery in the browser would be great, anything that reduces the hegemony that is javascript &#8230; which reminds me, I know it sounds strange but perhaps browsers will turn into *the* personal &#8216;database&#8217; for the individual someday and it will be natural to have something like xquery to help process the data it contains.</p>
<p style="padding-left: 30px;"><span style="text-decoration: underline;">Respondent #2, 10:32am</span><br />
This may be of interest -<br />
<a href="http://www.zorba-xquery.com/index.php/xquery-in-the-browser-xqib/">http://www.zorba-xquery.com/index.php/xquery-in-the-browser-xqib/</a></p>
<p style="padding-left: 30px;"><span style="text-decoration: underline;">Respondent #3, 10:42am</span><br />
There are a lot of people keen on the idea of xquery in the web browser.</p>
<p style="padding-left: 30px;">Unfortunately, though, I think there&#8217;s a bit of a conflict. A lot of the benefits of the web architecture come from the fact that the browser is small, ubiqitous, and predictable. The more goodies you put in it, the less that remains true. And the less it is true, the harder it is to write applications that will run anywhere and talk to anything. This is why, after ten years, writing applications that rely on XSLT-in-the-browser can still be problematic, as recently discussed on the xml-dev list.</p>
<p style="padding-left: 60px;"><span style="text-decoration: underline;">Respondent #5, 1:25pm</span><br />
Well, one way to achieve the same result is to build on that small and predictable foundation. This rules out plugins, but there&#8217;s other possibility &#8211; that of &#8220;compiling&#8221; XQuery to cross-browser JavaScript. We already have GWT that does a similar thing, so the general concept is proven, and I don&#8217;t see why doing the same to XQuery would be any harder. The main problem that I see there is that browser XML manipulation APIs aren&#8217;t standardized yet, but this is going to change with HTML5 (and meanwhile there are already &#8220;good enough&#8221; ways to work around this by detecting and using the mush-mash of the existing browser-specific APIs).</p>
<p style="padding-left: 30px;"><span style="text-decoration: underline;">Respondent #4, 11:21am</span><br />
<a href="http://xqib.org/">http://xqib.org</a></p>
<p style="padding-left: 60px;"><span style="text-decoration: underline;">Gary Lewis, 11:30am</span><br />
A couple people have mentioned zorba. I&#8217;ve used and quite like zorba xquery; even wrote a blog post about it and included some analysis of Federal Reserve Economic Data time series accessed via an API with zorba.</p>
<p style="padding-left: 60px;">I&#8217;m also familiar with the zorba XQIB project but do not use a Windows OS so have not played with it yet. But my impression (probably wrong) is that XQIB is cast mostly as an alternative to JavaScript, using scripting extensions to XQuery. If true (please let me know otherwise), I&#8217;m not so much interested in this aspect. As I said earlier, I&#8217;m mostly interested in a data integration &amp; transformation tool that sits in a browser and gets used as a precursor to analysis &amp; graphics tools.</p>
<p style="padding-left: 90px;"><span style="text-decoration: underline;">Respondent #7, 5:00pm</span><br />
the xqib people can answer you in more details, but in general, what they do have is a full embedding of a Zorba xquery processor in the browser &#8212; this includes all the functionalities of Zorba, full XQuery with updates and scripting, XQuery 1.1 with groupby, windowing, try-catch, etc, plus the REST, function libraries.</p>
<p style="padding-left: 90px;">What users use this XQuery for is there own decision: can be very well data integration, data transformation, RSS integration, etc, everything is good, as long as it can be expressed in XQuery.</p>
<p style="padding-left: 30px;"><span style="text-decoration: underline;">Respondent #6, 1:26pm</span><br />
I surely see your point about XQuery in the browser &#8211; as stated before by others: check out our project at <a href="http://www.xqib.org/" target="_blank">http://www.xqib.org/</a></p>
<p style="padding-left: 30px;">At the moment, the release works only with Internet Explorer &#8211; but the next release (which is nearly finished &#8211; we hope to release it this month) will also run with Firefox and will be much faster. [...]</p>
<p style="padding-left: 30px;">But I wanted to ask you, where exactly you see the usecases of having a web server in the browser? To be honest: the last thing I want running in my browser is a server (as [Respondent #3] stated because of complexity, but also because of security). Also, in most companies (and also on most routers), all ports are normally closed, which makes a webserver useless. The only benefit I can see, is that this way it would be easy to implement some kind of RPC from the server to the client. But in my oppinion, this would be a too small advantage to legitimate a webserver.</p>
<p style="padding-left: 60px;"><span style="text-decoration: underline;">Gary Lewis, 4:29pm</span><br />
Let&#8217;s start with this question. In a p2p web &#8230; as Google Chrome/Wave and Opera Unite suggest might happen &#8230; is there a new role for xquery? I guess I&#8217;d answer that question with a tentative &#8220;Yes.&#8221; Here&#8217;s a simple example. There&#8217;s a lot of buzz around transparency now &#8230; government transparency, data transparency, etc. In the U.S., <a href="http://data.gov/" target="_blank">data.gov</a> is a recent case. The idea is simple enough. Make government data sets available to the public and let them mash it up and then share it. [In some ways this scenario gives me the creeps, because I know from years of experience how very difficult it is to insure data integrity during analysis.] I&#8217;d love to use xquery as a data integration and transformation tool as preparation for analysis, visualization, &amp; presentation. And then to share the data with others in a kind of social network of data reuse. I was guessing when I suggested that xquery in a browser with a web server might make this future possible. I&#8217;ve no way of knowing. But maybe one of you might.</p>
<p style="padding-left: 30px;"><span style="text-decoration: underline;">Respondent #8, 6:53pm</span><br />
Why? To me, the best thing about XQuery is that it can run natively (and more efficiently than the more encompassing XSL) on an XML DB providing all the speed and memory efficiency afforded by the different and incompatible XML DBs. Caveat emptor: I fall into the camp that doesn&#8217;t believe XQuery is a good styling language or a good PHP-like webapp templating language. (if there even is a camp, rather than me leaning over a bic lighter).</p>
<p style="padding-left: 30px;">Running XQuery in the browser seems like a huge waste of bandwidth where you would have to download everything you want to query against, perhaps to find only a tiny fragment. I would create a URL and just GET it from a server where XQuery creates the XML or JSON to be styled on the client with XSL or JavaScript.</p>
<p style="padding-left: 60px;"><span style="text-decoration: underline;">Respondent #4, 1:36am</span><br />
i think browser can act as proxy server to localhost-based eXist database (or AMP if somebody still love it).</p>
]]></content:encoded>
			<wfw:commentRss>http://garymlewis.com/instchg/2009/06/19/xquery-as-a-web-query-tool/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Making a Dent in a Steep Learning Curve</title>
		<link>http://garymlewis.com/instchg/2009/06/08/making-a-dent-in-a-steep-learning-curve/</link>
		<comments>http://garymlewis.com/instchg/2009/06/08/making-a-dent-in-a-steep-learning-curve/#comments</comments>
		<pubDate>Mon, 08 Jun 2009 20:14:56 +0000</pubDate>
		<dc:creator>Gary Lewis</dc:creator>
				<category><![CDATA[Query Tools]]></category>
		<category><![CDATA[Research]]></category>
		<category><![CDATA[web queries]]></category>

		<guid isPermaLink="false">http://garymlewis.com/instchg/?p=795</guid>
		<description><![CDATA[In a continued search for a worthy web query tool, I spent a fair amount of time playing with Zorba's XQuery and the 20,000 time series from the Federal Reserve Economic Data (FRED) database. I continue to be impressed. <a href="http://garymlewis.com/instchg/2009/06/08/making-a-dent-in-a-steep-learning-curve">Read more</a href>.]]></description>
			<content:encoded><![CDATA[<p>In a previous post called <a href="http://garymlewis.com/instchg/2009/04/24/web-query-tools-part-2/">Web Query Tools &#8211; Part 2</a>, I said:</p>
<blockquote><p>I&#8217;m now ready to start work on another XQuery data integration, this time using the new <a href="http://api.stlouisfed.org/docs/fred/">FRED API</a> from the Federal Reserve Bank of St. Louis. Not that I&#8217;m particularly interested in banking-related data, but FRED uses a REST web service architecture and will allow me to play more  thoroughly with Zorba&#8217;s REST capability. And the volume of the data will allow me to stress test the performance of Zorba&#8217;s XQuery.</p></blockquote>
<p>The siren&#8217;s song, of course, is that the web may one day become a giant database of interrelated data.</p>
<p>I&#8217;ve now finished the XQuery/FRED project. You can see the details <a href="http://garymlewis.com/instchg/public/xquery/fred/fred_xquery.pdf">here</a> (pdf), but I&#8217;ll touch on a few of the points.</p>
<p>The FRED database includes more than 20,000 economic time series. The folks at the Economic Research Division at the Federal Reserve Bank of St. Louis have done a nice job making this data available via an API. With so much data to choose from, however, it helps if you know at the outset what kind of data you&#8217;d like to retrieve. I didn&#8217;t.</p>
<p>So I set myself two tasks: 1) Build the XML documents to provide flexible overviews of the 20,000 time series; and 2) Choose two of these times series and conduct a small analysis.</p>
<p>I did the first job using Zorba XQuery and the second job using XQuery and the R statistics package. Again, the details are <a href="http://garymlewis.com/instchg/public/xquery/fred/fred_xquery.pdf">here</a> (pdf).</p>
<p>Basically I came away feeling like I&#8217;d made some progress. The Zorba REST calls to the FRED API worked flawlessly. Some of the XQuery programs with joins to multiple XML just chugged away slowly, but then I  was using a creaky old server to run Zorba and serve up the XML files. Otherwise it was a wonderful opportunity to learn more about XQuery as a web query tool. I continue to like what I saw.</p>
<p>Since that&#8217;s a pretty positive statement for me, perhaps this is the place to say that I have no relationship with Zorba or any of the other XQuery implementations. I&#8217;m simply looking for a tool that will utilize some of my strengths in pursuit of the main reason I write this blog &#8230; which, if you don&#8217;t yet know, is to help nudge us closer to the day when learning will be free for everyone everywhere.</p>
<p>Next I plan to look at Zorba in a variety of other settings. Options include the XQuery in the Browser project (<a href="http://www.xqib.org/">XQIB</a>), XQuery scripting and <a href="http://sausalito.28msec.com/dokuwiki/doku.php?id=start#overview">Sausilito</a> to construct web sites, and some serious performance tests of  XQuery  on EC2 and S3 (Amazon Web Services).</p>
<p>Below is a screen shot of the R analysis. It shows a not unexpected relationship between the unemployment rate in the United States over the last 55 years and the rate of change in outstanding household credit market debt.  The current recession seems somewhat atypical, however. Details and a legible graphic are also in the <a href="http://garymlewis.com/instchg/public/xquery/fred/fred_xquery.pdf">PDF</a>, as is souce code for the XQuery programs I wrote.</p>
<p><img class="aligncenter size-full wp-image-838" title="cmdebt_unrate1" src="http://garymlewis.com/instchg/wp-content/uploads/2009/06/cmdebt_unrate1.jpg" alt="cmdebt_unrate1" width="500" height="455" /></p>
]]></content:encoded>
			<wfw:commentRss>http://garymlewis.com/instchg/2009/06/08/making-a-dent-in-a-steep-learning-curve/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Web Query Tools &#8211; Part 2</title>
		<link>http://garymlewis.com/instchg/2009/04/24/web-query-tools-part-2/</link>
		<comments>http://garymlewis.com/instchg/2009/04/24/web-query-tools-part-2/#comments</comments>
		<pubDate>Fri, 24 Apr 2009 13:58:06 +0000</pubDate>
		<dc:creator>Gary Lewis</dc:creator>
				<category><![CDATA[Query Tools]]></category>
		<category><![CDATA[web architecture]]></category>
		<category><![CDATA[web data system]]></category>
		<category><![CDATA[web queries]]></category>

		<guid isPermaLink="false">http://garymlewis.com/instchg/?p=698</guid>
		<description><![CDATA[There's huge interest in harnessing the web as a giant database, and the motivations for this are easily as diverse as the interest is large. I'm just looking for a precursor. <a href="http://garymlewis.com/instchg/2009/04/24/web-query-tools-part-2/">Read more</a>.]]></description>
			<content:encoded><![CDATA[<p>There&#8217;s huge interest in harnessing the web as a giant database, and the motivations for this are easily as diverse as the interest is large. I&#8217;m just looking for a precursor.</p>
<p>Two quick examples. Google researchers describe &#8220;a unified Web knowledge base&#8221; as the &#8220;holy grail of web information extraction&#8221; (<a href="http://www.sigmod.org/sigmod/record/issues/0812/p055.special.cafarella.pdf">PDF</a>), and the company energetically applies their research to harvest additional structured data from natural language text, HTML-embedded tables, and the so-called deep-web of databases sheltered behind form-only access.</p>
<p>Tim Berners-Lee, whose legacy is the web, provides another example. In a video from TED, he calls for a &#8220;<a href="http://www.ted.com/index.php/talks/tim_berners_lee_on_the_next_web.html">new reframing</a>&#8221; that will release the &#8220;unlocked  potential&#8221; of the web through linked data. The idea is that people and computers could traverse data related to other data, from A to B to &#8230; wherever you want to go as long as the relationships, the tuple linkings, are available. Berners-Lee&#8217;s new reframing translates into a web-of-data that could be used by scientists, citizens, social reformers, businesses, entrepreneurs, and governments in innovative new ways.</p>
<p>I applaud these efforts even though I realize that the potential for good and for ill seems equally strong. But my focus is nothing so grand as a web-of-data. I&#8217;d be happy if I could just answer a profoundly simple question: &#8220;Please give me a list of all web tutorials on python programming.&#8221; More symbolically I want to answer questions of the form: &#8220;Give me a list of &lt;a&gt; about &lt;b&gt;.&#8221; From there, of course, the possible questions become far more interesting.</p>
<p>For certain my query would be trivial if a web-of-data existed. But it does not, even though progress is being made. So, in the interim I&#8217;m looking for a substitute.</p>
<p>My latest excursions have taken me into the world of XML, and specifically into XQuery and, to a lesser extent, into the XQuery relatives XSLT and XPath. All of these are <a href="http://www.w3.org/TR/2009/PER-xquery-20090421/">W3C recommendations</a> that have been implemented in both open source and proprietary products.</p>
<p>Why XQuery? Well, because XML is part of the fabric of the web, and because data in XML format can be queried with XQuery, and because I stumbled upon <a href="http://www.zorba-xquery.com/">Zorba</a> via an O&#8217;Reilly xml.com article called &#8220;<a href="http://www.oreillynet.com/xml/blog/2008/05/zorba_xquery_processor.html">Something Tells Me You Need to Pay Attention to This</a>.&#8221; How could I resist a title like that?</p>
<p>I started playing with Zorba&#8217;s XQuery about two months ago. Maybe I&#8217;ve written a couple hundred queries now. Like the learning curve for SQL, it&#8217;s clear that a couple hundred is at least an order of magnitude too small to become skilled. But it&#8217;s great fun and I&#8217;m encouraged by what I see.</p>
<p>One example. Tony Hirst at the Open University has done some <a href="http://ouseful.wordpress.com/2009/03/20/my-guardian-openplatform-apindata-hacks-roundup/">cool things</a> recently with The Guardian&#8217;s new data API. In one of these <a href="http://ouseful.wordpress.com/2009/03/13/joining-data-from-the-guardian-data-store-student-satisfaction-data/">projects</a>, Tony used data from The Guardian&#8217;s university guide to do a mashup on student satisfaction in architecture and planning programs at various UK universities. It featured a very nice use of DabbleDB database.</p>
<p>Data integration is one of the strengths of XQuery, so I set about following Tony&#8217;s lead to see if I could duplicate his mashup but by using Zorba. It was very fun and I learned tons. You can see the results in this <a href="http://garymlewis.com/instchg/public/pdf/xq.pdf">PDF</a>.</p>
<p>I&#8217;m now ready to start work on another XQuery data integration, this time using the new <a href="http://api.stlouisfed.org/docs/fred/">FRED API</a> from the Federal Reserve Bank of St. Louis. Not that I&#8217;m particularly interested in banking-related data, but FRED uses a REST web service architecture and will allow me to play more  thoroughly with Zorba&#8217;s REST capability. And the volume of the data will allow me to stress test the performance of Zorba&#8217;s XQuery.</p>
<p>If you are interested at all by Zorba, I&#8217;d recommend you read some of the technical documents where you can catch glimpses of longer term development objectives and experience some of the chutzpah that must exist in the development team. A recent example is <a href="http://data.semanticweb.org/conference/www/2009/paper/102/html">XQuery in the Browser</a>, which was presented this week at the <a href="http://www2009.org/">18th International World Wide Web Conference</a> in Madrid. The article basically takes aim at JavaScript. As another example, check out the plans of a 3 year-old startup called <a href="http://www.28msec.com/ourvision.html">28msec</a> and some of their technical papers. I particularly enjoyed the architecture discussion in Donald Kossmann&#8217;s slide presentation on <a href="http://www.28msec.com/download/edbt08.pdf">Building Web Applications without a DBMS</a> (PDF).</p>
<p>Ok, I better stop. It&#8217;s already beginning to sound like an infomercial. Hopefully some of my sincere enthusiasm comes through, however. It&#8217;s a hopeful time. And now it&#8217;s back to making a dent in that order of magnitude learning curve.</p>
]]></content:encoded>
			<wfw:commentRss>http://garymlewis.com/instchg/2009/04/24/web-query-tools-part-2/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

