<?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>The Dumping Ground &#187; webapps</title>
	<atom:link href="http://ardvaark.net/tag/webapps/feed" rel="self" type="application/rss+xml" />
	<link>http://ardvaark.net</link>
	<description>And who cares?</description>
	<lastBuildDate>Tue, 15 May 2012 14:57:58 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>The Web Paradigm Four Years Later: King Browser</title>
		<link>http://ardvaark.net/the-web-paradigm-four-years-later-king-browser</link>
		<comments>http://ardvaark.net/the-web-paradigm-four-years-later-king-browser#comments</comments>
		<pubDate>Fri, 04 Dec 2009 15:30:00 +0000</pubDate>
		<dc:creator>Brian</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[chromium]]></category>
		<category><![CDATA[web paradigm]]></category>
		<category><![CDATA[webapps]]></category>

		<guid isPermaLink="false">http://ardvaark.net/the-web-paradigm-four-years-later-king-browser</guid>
		<description><![CDATA[In my first post in this series, we took a quick look at where we were at the start of 2006 in re-defining the Web, and then asked, “How are we doing?  Have we made progress during the intervening fourteen-hundred days?”  The answer is, “Yes, we’ve made a lot of progress on the web, but [...]]]></description>
			<content:encoded><![CDATA[<p>In my <a title="The Dumping Ground:  The Web Paradigm Four Years Later: Where We Started" href="http://ardvaark.net/the-web-paradigm-four-years-later-where-we-started">first post in this series</a>, we took a quick look at where we were at the start of 2006 in re-defining the Web, and then asked, “How are we doing?  Have we made progress during the intervening fourteen-hundred days?”  The answer is, “Yes, we’ve made a lot of progress on the web, but we have yet to take the big leap.  And we are in danger of taking some serious steps backwards.”</p>
<h4>(Too Bad) The Browser Is Still King</h4>
<p>When you think of the applications with the most impact on people’s day-to-day lives, chances are many of them will start with the letter ‘G’.  Google has done an amazing job pushing the limits of what applications in a browser can do.  They have pioneered new frontiers in web standards, compatibility, scripting, and browser user-interface capabilities.  All of this has taken place inside of a web browser which is essentially unchanged since its <a title="Wikipedia: Mosaic (web browser)" href="http://en.wikipedia.org/wiki/Mosaic_%28web_browser%29">inception</a>.  The browser is still king of the Web.</p>
<p>And yet, for all the advances in web user interfaces, they still suck.  Take Google Calendar, for example: The CSS-styled interface is flat and ugly.  Your options for different views are severely limited.  Right-clicking brings up a context menu devoid of any calendar-specific context.  Printing is a crapshoot, at best.  When you have a meeting in five minutes, Google Calendar can’t interface with your desktop to provide a nice notification (like <a title="Growl" href="http://growl.info/">Growl</a> or the <a title="MSDN Library: Balloons" href="http://msdn.microsoft.com/en-us/library/aa511451.aspx">Balloons</a>); instead you get a ugly JavaScript pop-up and the default system sound.  (And that&#8217;s not to mention more complicated issues like process isolation and window sizes and task switching!)</p>
<p>Need I go on?</p>
<h4>Where Does Value on the Web Come From?</h4>
<p>So why bother to use a web application like Google Calendar at all?  It’s certainly not because we like the poor interface or lackluster usability.  Rather, we get value comes from the accessibility of the important information it contains.  Who gives a damn about a fancy calendar interface if it forgets your wife’s birthday!  What&#8217;s more, we want <em>access</em> to our data.  We want it to be available and accessible when <em>we</em> need it, in a format most appropriate for the access mechanism.  Whether we’re scheduling our next hair cut on the iPhone, planning a trip home on our PC, or booking a meeting room at work, it has to be accessible any place and any time.<em> </em> A calendar in the cloud does that.</p>
<p>And it is easily shared with people you know and other systems you use.  <a title="Wikipedia: Metcalfe's Law" href="http://en.wikipedia.org/wiki/Metcalf%27s_law">Metcalfe’s Law</a> predicts that the value of our individual applications goes up exponentially with the amount of sharing we can do.  The accessibility of the information gives a crappy interface connected to the web greater value than a fantastic – but lonely – user interface.</p>
<p>If we do value the connectedness of our data more than the interface in which its presented, then Google’s success with products like Docs, GMail, and Calendar are easily explained.  That their interfaces happened to suck less than competing web applications merely gave them the leg up needed to take the majority of the market.  So far.</p>
<h4>Having And Eating Our Cake</h4>
<p><a title="Twitter" href="http://twitter.com">Twitter</a> shows us the future of the Web.  The user interface on Twitter’s home page is as technologically up-to-date as any of Google’s applications: it’s a full-on CSS-styled, HTML-structured, JavaScript-driven, AJAX-enhanced web application.  And it looks just as lackluster as GMail or Google Calendar.  But Twitter isn’t about HTML and CSS – it’s about data and the APIs to access and manipulate it.</p>
<p>More than 70% of users on Twitter <a title="Mashable: Most Popular Twitter Clients Revealed" href="http://mashable.com/2009/02/07/twitter-clients/">post from third-party applications</a> <strong>that aren’t controlled by Twitter.</strong> Some of those applications are other services – sites like <a title="TwitterFeed" href="http://twitterfeed.com/">TwitterFeed</a> that syndicate information pulled from other places on the web (this blog, included).  Others are robots like <a title="SourceForge: JackBot IRC Bot" href="https://sourceforge.net/projects/jackbot/">JackBot</a>, my Java IRC bot which tweets the topics of conversation for <a title="Twitter: PoundTVD" href="http://twitter.com/PoundTVD">a channel I frequent</a>.</p>
<p>Most, however, are specialized user interfaces, designed for humans to read, write, respond, dm, link, post pictures, and otherwise poke at their Twitter accounts.  Each one is unique, and each one has specific features that particular users find the most useful for their purposes.  Clients like <a title="TweetDeck" href="http://www.tweetdeck.com/">TweetDeck</a> target the power-tweeter with multiple columns and advanced features for multiple accounts.  Other clients, like <a title="Tweetie Client for the iPhone" href="http://www.atebits.com/tweetie-iphone/">Tweetie</a>, aim to provide a full-featured interface within the limits of a mobile device.  Still other clients, like <a title="Blu: The Vista Twitter Client" href="http://www.thirteen23.com/experiences/desktop/blu/">Blu</a> (my personal choice), are full of fancy graphics and animations.</p>
<p>These applications successfully meld the web <em>and</em> the desktop.  They harness the value of Web-connected data while in rich, interactive experiences.  And its not just flash and bling.  By leveraging their platform’s capabilities, each application can be tailored to the needs of its users, making it possible for each person to extract the most value from their data.</p>
<p>So if Twitter is the model for how Web applications should be written, then why aren&#8217;t we there yet?  In the next post, I’ll discuss why we&#8217;re so far behind, and why I see Chromium OS as a step in the wrong direction for web-centric applications.</p>
]]></content:encoded>
			<wfw:commentRss>http://ardvaark.net/the-web-paradigm-four-years-later-king-browser/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Web Paradigm Four Years Later: Where We Started</title>
		<link>http://ardvaark.net/the-web-paradigm-four-years-later-where-we-started</link>
		<comments>http://ardvaark.net/the-web-paradigm-four-years-later-where-we-started#comments</comments>
		<pubDate>Wed, 02 Dec 2009 14:48:00 +0000</pubDate>
		<dc:creator>Brian</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[chromium]]></category>
		<category><![CDATA[web paradigm]]></category>
		<category><![CDATA[webapps]]></category>

		<guid isPermaLink="false">http://ardvaark.net/the-web-paradigm-four-years-later-part-1</guid>
		<description><![CDATA[Everything old is new again.  The advent of Chromium OS, and discussions at work with David, have prompted me to dust off these old posts and revisit my positions, arguments, and examples.  This is the first of a multi-part series, and is intended as a refresher (mostly for myself) on my past posts on the [...]]]></description>
			<content:encoded><![CDATA[<p>Everything old is new again.  The advent of <a title="Chromium OS" href="http://www.chromium.org/chromium-os">Chromium OS</a>, and discussions at work with <a title="David's Blague" href="http://davidbrunton.com/">David</a>, have prompted me to dust off these old posts and revisit my positions, arguments, and examples.  This is the first of a multi-part series, and is intended as a refresher (mostly for myself) on my past posts on the topic.</p>
<p>Long-time consumers of my site might remember a four-part series from 2006 entitled “What Does ‘Web Paradigm’ Mean, Anyway?”  In <a title="The Dumping Ground:  What Does “Web Paradigm” Mean, Anyway? (Part 1)" href="http://ardvaark.net/what-does-web-paradigm-mean-anyway-part-1">Part 1</a>, I described how the web browser has been struggling – and mostly failing – to replicate the desktop user’s experience.  That’s not what the Web was designed for.</p>
<blockquote><p>Notice that web applications have always striven to behave more like desktop applications. Since the very beginning, any web application of any complexity yearned to present a stateful, responsive, user-driven application flow. Sessions, cookies, and Javascript were all created with this in mind. Witness the advent of <a href="http://en.wikipedia.org/wiki/Ajax_%28programming%29">Ajax</a> as the latest effort in this campaign to make the web more like the desktop. It’s the next logical step in a path that began with the &lt;form&gt; element all those years ago.</p></blockquote>
<p>In <a title="The Dumping Ground:  What Does “Web Paradigm” Mean, Anyway? (Part 2)" href="http://ardvaark.net/what-does-web-paradigm-mean-anyway-part-2">Part 2</a>, I took the path of the web browser as the canonical application platform to its logical conclusion – complete reinvention of the operating system – and discussed the folly of re-implementing decades of established engineering.</p>
<blockquote><p>In the short-term, it allows for a quick path to closer web integration. In the long-term, however, it leads you down a slippery slope, demanding the question, “How far do you take it?” An IRC plugin may as well connect to AIM, Y!, and MSN. It’s only a short step from a peer-to-peer application to an Apache extension. After that, why not integrate file-level security and access control into your browser? With all of these different plugins, though, we can’t allow one malicious or buggy extension to monopolize the browser’s resources; so we’ll need to write a fair preemptive scheduler and memory manager.</p></blockquote>
<p>In <a title="The Dumping Ground: What Does “Web Paradigm” Mean, Anyway? (Part 3)" href="http://ardvaark.net/what-does-web-paradigm-mean-anyway-part-3">Part 3</a>, I charted a path that allows us to combine the Web’s strengths with the Desktop’s strength’s.</p>
<blockquote><p>There <em>must</em> be things we can do to more effective use the web in our daily lives than Firefox and Internet Explorer, right? We’ve taken pretty good advantage of the hyperlink, but can we finally take full advantage of the common languages and ubiquitous protocols, the final two things the web offers to us?</p></blockquote>
<p>Finally, in <a title="The Dumping Ground:  What Does “Web Paradigm” Mean, Anyway? (Part 4)" href="http://ardvaark.net/what-does-web-paradigm-mean-anyway-part-4">Part 4</a>, I gave some examples of how that might work, and what kind of platform and tools we need to make it happen.</p>
<blockquote><p>We need a platform, independent of any particular application, that makes obtaining, parsing, transforming, aggregating, and forwarding XML as natural as displaying a window. Web integration needs to be a first-class citizen.</p>
<p>Projects like <a href="http://wiki.mozilla.org/XUL:Xul_Runner">XULRunner</a> are very strong steps in that direction. Microsoft is getting awfully close with .NET 2.0, and maybe we’ll see the first real platform in this space with <a href="http://www.microsoft.com/windowsvista/default.aspx">Vista</a> and <a href="http://msdn.microsoft.com/winfx/">WinFX</a>. Finally, like Firefox, the ideas behind <a href="http://msdn.microsoft.com/smartclient/">Smart Clients</a> and <a href="http://java.sun.com/products/javawebstart/">Java Web Start</a> are a good intermediate step, but they are not the future.</p></blockquote>
<p>So, four years later, how are we doing?  We’ve made some bold steps in the right direction, but we have yet to fully harness the potential of the web in our daily experience.  In my next post, I&#8217;ll talk about the limitations of the status quo, and the model we should strive to emulate.</p>
]]></content:encoded>
			<wfw:commentRss>http://ardvaark.net/the-web-paradigm-four-years-later-where-we-started/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>A Prism Webapp Bundle For Google Wave</title>
		<link>http://ardvaark.net/a-prism-webapp-bundle-for-google-wave</link>
		<comments>http://ardvaark.net/a-prism-webapp-bundle-for-google-wave#comments</comments>
		<pubDate>Mon, 26 Oct 2009 14:10:15 +0000</pubDate>
		<dc:creator>Brian</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[bundle]]></category>
		<category><![CDATA[prism]]></category>
		<category><![CDATA[wave]]></category>
		<category><![CDATA[webapps]]></category>

		<guid isPermaLink="false">http://ardvaark.net/?p=813</guid>
		<description><![CDATA[Though Prism and Google Wave go great together simply creating a web app from the Prism Firefox add-on, Prism supports some script extensions that allow for more desktop-like integration of apps running inside it.  For example, you can call the window.platform.showNotification() method to cause a little toaster pop-up with the number of unread Waves. I’ve [...]]]></description>
			<content:encoded><![CDATA[<p>Though <a title="The Dumping Ground: Google Wave and Prism: A Match Made In Heaven" href="http://ardvaark.net/google-wave-and-prism-a-match-made-in-heaven">Prism and Google Wave go great together</a> simply creating a web app from the <a title="Add-ons for Firefox: Mozilla Labs - Prism" href="https://addons.mozilla.org/en-US/firefox/addon/6665">Prism Firefox add-on</a>, Prism supports some <a title="Mozilla Developer Center: Prism Scripting" href="https://developer.mozilla.org/en/Prism/Scripting">script extensions</a> that allow for more desktop-like integration of apps running inside it.  For example, you can call the <span class="code">window.platform.showNotification()</span> method to cause a little toaster pop-up with the number of unread Waves.</p>
<p>I’ve created a webapp bundle that does just that.  Unfortunately, such bundles at present only work with the stand-alone version of Prism.  The Firefox add-on is really a better way to run Prism, but if you’re using it you’ll need to do a little manual mucking in your webapp profile to use this bundle.</p>
<h3>Stand-Alone Bundle</h3>
<p>So, if you just want the bundle, <a href="http://ardvaark.net/assets/google-wave.webapp/google-wave.webapp">here you go</a>.  Note that I haven’t really tested it on the stand-alone version, so please let me know if something is broken.</p>
<h3>Hack Your Webapp</h3>
<p>As I said, if you’re using the add-on version, you’ll need to do a little manual hacking.  After you create the webapp, <a title="The Dumping Ground: Google Wave and Prism: A Match Made In Heaven" href="http://ardvaark.net/google-wave-and-prism-a-match-made-in-heaven">as described in my earlier post</a>, open up Explorer and navigate to your Prism webapp bundle cache.  On Windows, this is in <span class="code">%APPDATA%\WebApps</span> (something like <span class="code">C:\Users\Brian\AppData\Roaming\WebApps</span>); on Linux, it is <span class="code">~/.webapps</span>.  You should see your Google Wave webapp in that directory.  Add the <a href="http://ardvaark.net/assets/google-wave.webapp/webapp.js">webapp.js</a> script to that directory, and also add in <a href="http://ardvaark.net/assets/google-wave.webapp/images/google-wave-52x32.png" class="floatbox" rev="group:813">images/google-wave-52&#215;32.png</a>.  Now you should get a toaster pop-up and task bar notification when there are new waves.</p>
<p>It would be nice if Google were to add a <span class="code">&lt;link rel=&#8221;webapp&#8221;&gt;</span> to Wave, referencing an appropriate bundle.  If anybody there sees this and cares to use my code as a crude starting point, I am releasing this code under an <a href="http://opensource.org/licenses/mit-license.php">MIT license</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://ardvaark.net/a-prism-webapp-bundle-for-google-wave/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Google Wave and Prism: A Match Made In Heaven</title>
		<link>http://ardvaark.net/google-wave-and-prism-a-match-made-in-heaven</link>
		<comments>http://ardvaark.net/google-wave-and-prism-a-match-made-in-heaven#comments</comments>
		<pubDate>Wed, 21 Oct 2009 19:17:00 +0000</pubDate>
		<dc:creator>Brian</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[prism]]></category>
		<category><![CDATA[wave]]></category>
		<category><![CDATA[webapps]]></category>

		<guid isPermaLink="false">http://ardvaark.net/google-wave-and-prism-a-match-made-in-heaven</guid>
		<description><![CDATA[I received a Wave invite from Tim this morning. (Thanks, Tim!)  I’m still not sure of Wave’s usefulness as a tool, although I had quite a positive experience doing a little collaborative feedback and editing.  However, after about five minutes of using it, I was sure of one thing: This thing screams for its own [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://ardvaark.net/assets/google-wave.png" class="floatbox" rev="group:806 caption:`Google Wave`"><img class="alignleft size-full wp-image-801" title="Google Wave" src="http://ardvaark.net/assets/google-wave.png" alt="Google Wave" width="100" height="100" /></a>I received a <a title="Google Wave" href="http://wave.google.com">Wave</a> invite from <a title="Twitter: TimmyMathews" href="http://twitter.com/timmymathews">Tim</a> this morning. (Thanks, Tim!)  I’m still not sure of Wave’s usefulness as a tool, although I had quite a positive experience doing a little collaborative feedback and editing.  However, after about five minutes of using it, I <em>was</em> sure of one thing:</p>
<p>This thing screams for its own window.</p>
<p>That’s where <a title="Firefox Addons: Prism" href="https://addons.mozilla.org/en-US/firefox/addon/6665">Prism</a> comes in.  Prism allows web applications to be run in a separate browser process, complete with a separate profile, their own window, and a unique taskbar icon.  For long-lived applications like a calendar or a chat tool, this is far more useful and stable than opening yet-another tab.  Furthermore, I like to read web pages in a tall window (roughly the same proportions as an 8.5&#215;11 piece of paper), but I prefer my communications tools in a wide window.  Prism let’s me easily size Wave however I’d like.</p>
<p><a href="http://ardvaark.net/assets/google-wave-prism-setup.png" class="floatbox" rev="group:806 caption:`How To Set Up Google Wave in Prism`"><img class="alignleft size-medium wp-image-804" title="How To Set Up Google Wave in Prism" src="http://ardvaark.net/assets/google-wave-prism-setup-211x300.png" alt="How To Set Up Google Wave in Prism" width="127" height="180" /></a>After you install the add-on and restart Firefox, just navigate to Wave, click on the Tools menu in Firefox, and click Convert Website To Application.  You’ll want to cut out the cruft from the end of the URL, leaving just <a href="https://wave.google.com/wave/">https://wave.google.com/wave/</a>.  And it’s usually helpful to leave the status bar in place.  If you’d prefer to have wave in the system tray, you can check that box here, too.</p>
<p><a href="http://ardvaark.net/assets/google-wave-in-windows-7-taskbar.jpg" class="floatbox" rev="group:806 caption:`Google Wave in Prism in Windows 7 Taskbar`"><img class="size-full wp-image-803 alignright" title="Google Wave in Prism in Windows 7 Taskbar" src="http://ardvaark.net/assets/google-wave-in-windows-7-taskbar.jpg" alt="Google Wave in Prism in Windows 7 Taskbar" width="118" height="52" /></a>You’ll also want to pick a different icon – especially if you’re on Windows 7.  The default favicon.ico that Prism auto-downloads is very small, and scales up really poorly.  Here’s a 256&#215;256 one that I used as a <a title="PNG of Google Wave Logo (256x256)" href="http://ardvaark.net/assets/google-wave.png" class="floatbox" rev="group:806">PNG</a> and as an <a title="ICO of Google Wave Logo (256x256)" href="http://ardvaark.net/assets/google-wave.ico">ICO</a>.  It looks great in my task bar.</p>
<p>I also use Prism with <a title="Google Calendar" href="http://www.google.com/calendar/">Google Calendar</a> and <a title="Toodledo" href="http://www.toodledo.com/">Toodledo</a>, and love it.  And I’m about <em>thiiiis</em> close to pulling <a title="Google Docs" href="http://docs.google.com">Google Docs</a> into it as well.</p>
<p><a href="http://ardvaark.net/assets/google-wave-on-my-desktop.jpg" class="floatbox" rev="group:806 caption:`Google Wave in Prism on Windows 7`"><img class="aligncenter size-medium wp-image-805" title="Google Wave in Prism on Windows 7" src="http://ardvaark.net/assets/google-wave-on-my-desktop-300x187.jpg" alt="Google Wave in Prism on Windows 7" width="300" height="187" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://ardvaark.net/google-wave-and-prism-a-match-made-in-heaven/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

