<?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>Adamism &#187; web applications</title>
	<atom:link href="http://adamism.com/category/web-applications/feed/" rel="self" type="application/rss+xml" />
	<link>http://adamism.com</link>
	<description>Random thoughts</description>
	<lastBuildDate>Mon, 07 Jun 2010 15:58:37 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Firefox does it right?</title>
		<link>http://adamism.com/2009/03/firefox-does-it-right/</link>
		<comments>http://adamism.com/2009/03/firefox-does-it-right/#comments</comments>
		<pubDate>Fri, 20 Mar 2009 17:23:58 +0000</pubDate>
		<dc:creator>adam</dc:creator>
				<category><![CDATA[web applications]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[rant]]></category>

		<guid isPermaLink="false">http://adamism.com/?p=55</guid>
		<description><![CDATA[I received my vehicle registration renewal last week from the Maryland Vehicle Administration. I&#8217;m not here to complain about the absurd price ($180? Seriously!)&#8230; or standing in line for hours only to be told I need to fill out another form&#8230; At the top of my renewal notice it states clearly: &#8220;New Option &#8211; RENEW [...]]]></description>
			<content:encoded><![CDATA[<p>I received my vehicle registration renewal last week from the Maryland Vehicle Administration. I&#8217;m not here to complain about the absurd price ($180? Seriously!)&#8230; or standing in line for hours only to be told I need to fill out another form&#8230; At the top of my renewal notice it states clearly: &#8220;New Option &#8211; RENEW ONLINE at <a href="http://www.marylandmva.com" target="_blank">WWW.MARYLANDMVA.COM</a>&#8221;</p>
<p>First of all, there&#8217;s nothing new about MarylandMVA.com&#8217;s <a href="https://secure.marylandmva.com/eMVAServices/VRR/dept.asp" target="_blank">registration renewal</a>. I&#8217;ve been using it for years. The look and feel is ancient, but it gets the job done. What I came across today really drove me nuts.</p>
<p>The first step of the renewal process asks you to input your 8 digit vehicle registration number. I get 4 digits in and accidentally mistype. I hit the backspace key, nothing happens. I hit another number&#8230; it gets added to my input. Backspace, nothing happens.</p>
<p>Knowing a little about web applications I decided to dig in to see what was going on. The developers of this page wrote a validation function for the registration input:</p>
<p><code>
<pre>
function validateTitle(field, e) {
	var strCheck = '0123456789ABCDEFGHIJKLMNOPQRSTUVWZXYZabcdefghijklmnopqrstuvwxyz';
	var whichCode = (window.Event) ? e.which : e.keyCode;

	if (whichCode == 13) return true;  // Enter
	key = String.fromCharCode(whichCode);  // Get key value from key code
	//alert(strCheck.indexOf(key));
	if (strCheck.indexOf(key) == -1) return false;  // Not a valid key
}
</pre>
<p></code><br />
This function is called each time you press a key on the keyboard while typing in your registration number. It&#8217;s a common approach to form validation. The basics are: you hit a key, if it&#8217;s the Enter Key, a number or a letter, the character is permitted to be added to the form input. Anything else, the keystroke is denied.</p>
<p>To be fair, there was a warning on the main page that recommended using Internet Explorer. I tried this form in Internet Explorer and the backspace key behaves correctly. My immediate thought was &#8220;What about Mac users?&#8221; To my surprise, Safari also allows you to backspace without any problem!</p>
<p>The code above should specifically reject any key other than enter, a number, or A-Z. It appears that Safari&#8217;s engine Webkit <a href="https://lists.webkit.org/pipermail/webkit-dev/2007-December/002992.html" target="_blank">was changed in 2007 to match Internet Explorer</a> &#8212; the Backspace key does not trigger a &#8220;keypress&#8221; event. Firefox does fire a keypress for the backspace key and will therefore prevent you from correcting your mistake on the MVA form.</p>
<p>AFAIK, there&#8217;s nothing in the HTML spec that states whether a backspace (or arrow key, etc) should fire the onkeypress event. Should Firefox also try to &#8220;closely match Internet Explorer&#8221; with this behavior? Or should sites like the MarylandMVA be encouraged to update their sites to support modern/common browsers?</p>
]]></content:encoded>
			<wfw:commentRss>http://adamism.com/2009/03/firefox-does-it-right/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Facebook Status, Twitter and stalking your friends&#8230;</title>
		<link>http://adamism.com/2008/04/facebook-status-twitter-and-stalking-your-friends/</link>
		<comments>http://adamism.com/2008/04/facebook-status-twitter-and-stalking-your-friends/#comments</comments>
		<pubDate>Thu, 03 Apr 2008 19:26:06 +0000</pubDate>
		<dc:creator>adam</dc:creator>
				<category><![CDATA[web applications]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://adamism.com/?p=10</guid>
		<description><![CDATA[I think Facebook&#8217;s &#8220;Status&#8221; message (&#8216;What are you doing?&#8217;) is lacking a really great feature: a timeout. I think I&#8217;d set my status all the time if I could say Adam is working. but have it expire at 5PM. It bugs me to look at my list of friends and see status messages days or [...]]]></description>
			<content:encoded><![CDATA[<p>I think <a title="Facebook" href="http://facebook.com" target="_blank">Facebook</a>&#8217;s &#8220;Status&#8221; message (&#8216;What are you doing?&#8217;) is lacking a really great feature: a timeout. I think I&#8217;d set my status all the time if I could say <em>Adam is <strong>working.</strong></em> but have it expire at 5PM. It bugs me to look at my list of friends and see status messages days or even weeks old. At least only the recent messages are put on the home page.</p>
<p>I remember years ago, the thing to do was watch your IM buddy list for away messages. It was the quick/easy way to see what your friends were up to without having to actually talk to them <img src='http://adamism.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> . I even recall people leaving important life announcements (so-and-so got engaged&#8230; accepted to college&#8230; etc).</p>
<p>Now we have sites like <a title="Twitter: What are you doing?" href="http://twitter.com/" target="_blank">Twitter</a> that do nothing but status messages! I remember in high school having a similar idea (I think we called it an &#8220;AIM Looker&#8221;). But I would have never thought a whole business could be built around it.</p>
<p>Sometimes I think all you need is an idea and the motivation/determination to get it out there. After that, almost anything can fly.</p>
]]></content:encoded>
			<wfw:commentRss>http://adamism.com/2008/04/facebook-status-twitter-and-stalking-your-friends/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
