<?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/"
	>

<channel>
	<title>==== HaCked bY Dbuzz ====</title>
	<atom:link href="http://www.ugcs.caltech.edu/~dangelo/blog/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://www.ugcs.caltech.edu/~dangelo/blog</link>
	<description>analysis Adam D'Angelo</description>
	<pubDate>Wed, 08 Apr 2009 09:30:47 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Three constraints that are holding the web back</title>
		<link>http://www.ugcs.caltech.edu/~dangelo/blog/?p=7</link>
		<comments>http://www.ugcs.caltech.edu/~dangelo/blog/?p=7#comments</comments>
		<pubDate>Wed, 08 Apr 2009 07:29:03 +0000</pubDate>
		<dc:creator>Adam</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.ugcs.caltech.edu/~dangelo/blog/?p=7</guid>
		<description><![CDATA[Here are three constraints that I think are holding the web back. Kind of like how Macromedia adding streaming video to Flash indirectly created Youtube, there is a lot of value that could be unlocked if these were solved.
1. Desktop notifications
A lot of traditional desktop applications function by alerting the user when something happens - [...]]]></description>
			<content:encoded><![CDATA[<p>Here are three constraints that I think are holding the web back. Kind of like how Macromedia adding streaming video to Flash indirectly created Youtube, there is a lot of value that could be unlocked if these were solved.</p>
<h3>1. Desktop notifications</h3>
<p>A lot of traditional desktop applications function by alerting the user when something happens - a download is finished, an IM comes in from a friend, it&#8217;s time for a meeting, etc. Web applications can&#8217;t do this very well. Without making a user install client software, the best choices are email (often too slow and heavy-weight), javascript alert() (limited), or playing a sound and flashing the document title.</p>
<p>The solution is a standardized one-click button for users to grant a host permission to send them notifications. Sites could then send quick notifications to any user who either has clicked the button, or who currently has a browser window on the site (even if they haven&#8217;t clicked it). The notifications would do something like <a href="http://growl.info/">Growl</a>. There are lots of ways this could be implemented, as an open standard, or part of Flash, or a new browser extension, but the three important things to make the product work are:</p>
<p>1. A significant userbase that has the ability to get notifications. This is important so that web developers will bother to put in the button. Right now so few users have Google Gears installed that very few sites bother building for it.</p>
<p>2. Seamless one-click authorization by users. Right now the need for desktop notifications is so bad that some apps like Gmail and Friendfeed have built special desktop notifier applications. These serve the rare cases where notifications are so valuable that users are willing to download and install a client, and developers are willing to put in the effort to build an entire desktop application. Getting rid of this friction is important to let notifications happen everywhere.</p>
<p>3. An easy way for users to get rid of sites that abuse the channel. This is important to prevent developer abuse of the channel in the first place. Developers need to know that every time they send a notification, if the user doesn&#8217;t want it, they are risking losing the ability to send anything to that user forever. (On a tangent, a related problem in Windows 95 was applications constantly popping up and stealing the focus. Microsoft responded by making it difficult for applications to do this. See the constraints under <a href="http://www.google.com/search?q=allowsetforegroundwindow&#038;ie=utf-8&#038;oe=utf-8&#038;aq=t&#038;rls=org.mozilla:en-US:official&#038;client=firefox-a">AllowSetForegroundWindow</a>)</p>
<p>When an IM comes in on Meebo, or on Facebook, or in Gmail, it&#8217;s pretty easy to miss it right now because of this gap. Email is getting flooded with notifications that should never have been in email in the first place.</p>
<p>Also, it seems like there is an attempt to add this to Gears <a href="http://code.google.com/p/gears/wiki/NotificationAPI">here</a> but it hasn&#8217;t been added and Gears doesn&#8217;t have enough distribution yet.</p>
<h3>2. Native dropdown menus</h3>
<p>Desktop applications do a good job of managing UI complexity with menus, but very few websites have menus. Implementing menus on top of javascript and the DOM is possible but in practice they end up flickering or having little delays that make them almost unusable. <a href="http://www.amazon.com/">Amazon</a> is a typical better-than-average implementation that&#8217;s unpredictable enough that I rarely end up using it. When I click on menus on Windows or OS X, the menu shows up instantly, the highlighting follows as I hover my mouse over the choices, and sub-menus keep even further complexity out of the way. Even if the javascript and DOM updates only add 50-200ms, it&#8217;s upredictable enough that I can&#8217;t navigate as a natural action. Every time, I need to click, wait for the menu to show up, and make sure I keep my mouse exactly within the bounds so it doesn&#8217;t disappear and I get the right item.</p>
<p>Hotmail is an example of a pretty quick implementation - right click on messages in the inbox and mark them as read or unread. Google docs is also decent. But the real problem is that every site has a slightly different implementation, and users have no confidence that a menu on the web is going to work.</p>
<p>Browsers need to standardize on one system for this and the problem will get solved. This sounds like a small enhancement but I think it&#8217;s one of a small number of problems that are preventing bigger productivity applications and small convenience applications from moving to the web.</p>
<h3>3. Lightweight payments (not micropayments)</h3>
<p>The success of the iPhone app store and cell phone ringtone sales is pretty good evidence to me that people would be willing to pay small (and sometimes large) amounts of money for things on the web if it were easy. The problem is that Paypal (and the alternatives) aren&#8217;t lightweight enough. If there were a button provided by the browser (or Paypal via javascript) that would let people make purchases on any site without leaving the page or entering in anything beyond a password, I think that in aggregate, payments would make more money for web developers than advertising.</p>
<p>The main barrier here is fraud, and specifically spyware. Part of the reason why Apple can make the payment process on the iPhone seamless is that with the operating system locked down, they can guarantee that when a user enters their iTunes password, the user is actually the one making purchase. It&#8217;s not spyware because nothing can run in the background, and it&#8217;s not someone who stole the phone because they wouldn&#8217;t know the password. Because of spyware that can log keystrokes on desktop computers, a password isn&#8217;t even necessarily proof that the user entering a password even wants to make the purchase. There&#8217;s also the potential phishing risk - if users get used to entering their password in a pop-up dialog that doesn&#8217;t have the https://www.paypal.com/ url at the top, it will be easier for fake websites to get a user&#8217;s password. These things make the fraud problem a little more difficult for Paypal, and they have reacted by making the checkout purchase high friction and taking very few risks in trying anything new. I am pretty sure this can be solved though, since Paypal is able to deal with spyware as things are. In the worst case it might require some kind of browser integration to give users a guarantee like &#8220;whatever you type into this password dialog will go only to paypal.com.&#8221;</p>
<p><strong>Update:</strong> I should clarify the difference between this and micropayments. Micropayments usually means payments in the range of pennies or tens of cents, and the main issue there is making the credit card processing cost lower than the current $.20 overhead that gets added to any payment. I am talking only about making a better user interface for the exact same payment processing that Paypal does today. I think $1 transactions are small enough for most purchases. That has worked just fine for the iPhone app store. We just need to get an experience like the iPhone has onto the web.</p>
<p>Historically a lot of innovation has followed from changes in possibilities provided by the underlying platform: AJAX created all of these dynamic web apps, Flash 7 created all the video sites, and Adsense created tons of content sites. Recently there haven&#8217;t been a lot of fundamental changes in possibilities on the web, which has made most of the innovation go into areas higher up the stack like Facebook platform, or onto the iPhone. If some of these were fixed I think we&#8217;d get a lot more innovation on the web.</p>
<p>Leave a comment if there&#8217;s anything you think I missed.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ugcs.caltech.edu/~dangelo/blog/?feed=rss2&amp;p=7</wfw:commentRss>
		</item>
	</channel>
</rss>
