<?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>justaddwater.dk &#187; Businesscase</title>
	<atom:link href="http://justaddwater.dk/category/businesscase/feed/" rel="self" type="application/rss+xml" />
	<link>http://justaddwater.dk</link>
	<description>Instant Usability &#38; Web Standards</description>
	<lastBuildDate>Thu, 02 Feb 2012 08:51:48 +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>Danish Newspaper Interview: Capgemini on Rails</title>
		<link>http://justaddwater.dk/2007/02/13/danish-newspaper-interview-capgemini-on-rails/</link>
		<comments>http://justaddwater.dk/2007/02/13/danish-newspaper-interview-capgemini-on-rails/#comments</comments>
		<pubDate>Tue, 13 Feb 2007 08:43:33 +0000</pubDate>
		<dc:creator>Jesper Rønn-Jensen</dc:creator>
				<category><![CDATA[Businesscase]]></category>
		<category><![CDATA[justaddwater.dk]]></category>
		<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://justaddwater.dk/2007/02/13/danish-newspaper-interview-capgemini-on-rails/</guid>
		<description><![CDATA[Thomas and I are interviewed in Danish newspaper &#8220;Børsen&#8221; today. The article is a 10,000 feet business overview on the productivity gains and possibilities with Ruby on Rails. I really like the picture (by Reimar Juul) and the fact that the article mentions both Justaddwater.dk and Copenhagen Ruby Brigade. Woot! Click image to view larger [...]]]></description>
			<content:encoded><![CDATA[<p>Thomas and I are interviewed in Danish newspaper &#8220;Børsen&#8221; today. The article is a 10,000 feet business overview on the productivity gains and possibilities with Ruby on Rails. </p>
<p>I really like the picture (by <a href="http://reimarjuul.com/">Reimar Juul</a>) and the fact that the article mentions both Justaddwater.dk and Copenhagen Ruby Brigade. Woot!</p>
<p style="text-align:center"><a class="imagelink" href="http://justaddwater.dk/wp-content/uploads/2007/02/borsen-ruby-on-rails-article-overview-maxi.png" title="Screenshot of Børsen article"><img id="image557" src="http://justaddwater.dk/wp-content/uploads/2007/02/borsen-ruby-on-rails-article-overview-mini.png" alt="Screenshot of Børsen article" /></a><br />
<small>Click image to view larger version</small></p>
<p>For the benefit of the Danish speaking readers, I really want to include the entire text from the article here to make it searchable and quotable for the benefit of everybody who is also interested in Ruby on Rails for enterprise use. Currently I&#8217;m awaiting permission from Børsen to include the article here. Also, I&#8217;m awaiting a direct link to the Børsen article if you like to read it in it&#8217;s original domain.</p>
<p>Further information:</p>
<ul>
<li>Today&#8217;s Newspaper Børsen: <a href="http://avis.borsen.dk/">avis.borsen.dk</a>, page 47 (requires login/authentication). Link is probably only working today. <small>Capgemini Nordic resources probably have access through corporate intranet via our IP number.</small></li>
<li>Børsen article <a href="http://bor.x-cago.com/20070213/public/index.html#">Alternative link (containing the date 2007-02-13)</a> (probably also requires login/authentication)</li>
<li>Justaddwater.dk: <a href="http://justaddwater.dk/2006/04/12/rails-prototyping/" rel="bookmark" title="Permanent Link to Ruby on Rails as rapid prototyping tool">Ruby on Rails as rapid prototyping tool</a></li>
<li>Justaddwater.dk: <a href="http://justaddwater.dk/category/businesscase/">category &#8220;businesscase&#8221;</a></li>
<li><a href="http://copenhagenrb.dk/">Copenhagen Ruby Brigade</a> (copenhagenrb.dk)</li>
</ul>
<p><small>Technorati Tags: <a href="http://technorati.com/tag/justaddwater" rel="tag">justaddwater</a>, <a href="http://technorati.com/tag/ruby+on+rails" rel="tag"> ruby on rails</a>, <a href="http://technorati.com/tag/rails" rel="tag"> rails</a>, <a href="http://technorati.com/tag/interview" rel="tag"> interview</a>, <a href="http://technorati.com/tag/newspaper" rel="tag"> newspaper</a>, <a href="http://technorati.com/tag/showcase" rel="tag"> showcase</a>, <a href="http://technorati.com/tag/capgemini" rel="tag"> capgemini</a>, <a href="http://technorati.com/tag/thomas+watson" rel="tag"> thomas watson</a>, <a href="http://technorati.com/tag/jesper+r%C3%B8nn-jensen" rel="tag"> jesper rønn-jensen</a></small></p>
]]></content:encoded>
			<wfw:commentRss>http://justaddwater.dk/2007/02/13/danish-newspaper-interview-capgemini-on-rails/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Nielsen, Joel on Software and David Heinemeier Hansson</title>
		<link>http://justaddwater.dk/2006/09/12/nielsen-joel-on-software-and-david-heinemeier-hansson/</link>
		<comments>http://justaddwater.dk/2006/09/12/nielsen-joel-on-software-and-david-heinemeier-hansson/#comments</comments>
		<pubDate>Tue, 12 Sep 2006 11:39:04 +0000</pubDate>
		<dc:creator>Jesper Rønn-Jensen</dc:creator>
				<category><![CDATA[Businesscase]]></category>

		<guid isPermaLink="false">http://justaddwater.dk/2006/09/12/nielsen-joel-on-software-and-david-heinemeier-hansson/</guid>
		<description><![CDATA[Jakob Nielsen&#8217;s newsletters often contains small comments to usability related stuff in the news. His latest newsletter is no exception, but misses a very important point. From the mail: Joel Spolsky wrote about the choice of implementation technology for enterprise projects, making two great points: (*) There are three platforms that are all known to [...]]]></description>
			<content:encoded><![CDATA[<p>Jakob Nielsen&#8217;s newsletters often contains small comments to usability related stuff in the news. His latest newsletter is no exception, but misses a very important point.</p>
<p>From the mail:</p>
<blockquote cite="http://www.useit.com/alertbox/subscribe.html"><p>Joel Spolsky wrote about the choice of implementation technology for enterprise projects, making two great points: </p>
<p>(*) There are three platforms that are all known to work, so pick one of them, avoiding the fancy, but risky ones that don&#8217;t have a sufficient ecosystem.</p>
<p>(*) As long as you use one of the safe platforms, success or failure of your project will not be due to which technology you chose, so go with the one your software architect knows the best.</p>
<p>&gt; <a href="http://www.joelonsoftware.com/items/2006/09/01.html">http://www.joelonsoftware.com/items/2006/09/01.html</a></p>
<p>Joel&#8217;s second point matches with our findings from intranet portal projects: what makes a good portal is not the technology (they all suck), but how you fit the tech to your company&#8217;s needs:</p>
<p>&gt; <a href="http://www.nngroup.com/reports/intranet/portals">http://www.nngroup.com/reports/intranet/portals</a>
</p></blockquote>
<p>Unfortunately there is no newsletter archive available for his newsletters. This is not a violation of any of his usability guidelines, but there will probably be no guideline for it before he has an archive up and running — Linkrot for email content is almost as bad as linkrot on the web, I guess.</p>
<p>Please ignore for a moment the way the story ends in a selling proposal for one of the portal studies. The most interesting about this story is actually not here! David Heinemeier Hansson commented on Joels story with some making some brilliant (and fun) points about Joel&#8217;s article.</p>
<blockquote cite="http://www.loudthinking.com/arc/000596.html"><p>Joel finishes off with a prize so good you can&#8217;t help but wonder if he&#8217;s pulling your leg or not. So in summary, Ruby and Rails are both immature, right? A decade for the language, two-something years for the framework. Tens, if not hundreds, of thousands of programmers exposed between the two. Okay, I buy that this could be seen as &#8220;immature&#8221; if you&#8217;re into comparing quantity of programmers or deployed applications against, say, Java or PHP.</p>
<p>Now strap yourself in and reach the final paragraph:</p></blockquote>
<blockquote><p>FogBugz is written in Wasabi, a very advanced, functional-programming dialect of Basic with closures and lambdas and Rails-like active records that can be compiled down to VBScript, JavaScript, PHP4 or PHP5. Wasabi is a private, in-house language written by one of our best developers that is optimized specifically for developing FogBugz; the Wasabi compiler itself is written in C#.</p></blockquote>
<blockquote cite="http://www.loudthinking.com/arc/000596.html"><p>So Joel and friends <em>invented their own language</em>, which has to reasonably compile to three and a half different ones. Yes, they&#8217;re building their Serious Business Stuff application on a 1-off, closed language. So please do as I say, not as I do, dammit. And pick something mainstream and &#8220;safe&#8221;.</p>
<p>I swear I couldn&#8217;t make this stuff up even if I tried. Joel, you&#8217;re my new hero of irony. And as soon as you start selling those t-shirts with &#8220;Serious Business Stuff&#8221;, I got green ready to flow. Short of that, I&#8217;d take a red teddy bear with the embroidering &#8220;Someone is Going to Get Fired&#8221;.</p></blockquote>
<p>Jakob Nielsen puts the  discussion above in perspective. I really enjoy David&#8217;s reflections that are going in a completely other direction than Jakob Nielsen&#8217;s (who seems focused on ending his reflections with a selling proposal of his own material).</p>
<h3>Ruby on Rails for enterprise use</h3>
<p>The point David touches here is whether you could consider an &#8220;Immature&#8221; technology in the enterprise. Joel and David seem to disagree on this point. And Joel seems to disagree with himself. For the case of Ruby on Rails considered immature for the enterprise, i strongly disagree.<br />
As I wrote <a rel="bookmark" title="Permanent Link: Ruby on Rails as rapid prototyping tool" href="http://justaddwater.dk/2006/04/12/rails-prototyping/">previously</a>, Ruby on Rails has proven to deliver:</p>
<ul>
<li>Very high fidelity prototypes that can use real data. The high fidelity give much better findings in usability testing.</li>
<li>Consistent productivity gains compared to any other prototyping tool.</li>
<li>Very few lines of code makes it easy to change prototype.</li>
<li>Doesn’t have to be thrown away after building prototype.</li>
</ul>
<p>This is not only about prototypes: Massive productivity gains between 2 and 20 times faster development alone should make you consider Rails before other alternatives. The community around Rails is massive compared to other frameworks, and I see there is a strong will to make it even better, increase quality, performance and ease of use (even though I consider Rails to be way in front of competition on this point).</p>
<p>Further reading:</p>
<ul>
<li><span class="entryLink">DHH: </span><a class="entryLink" title="Permanent link" href="http://www.loudthinking.com/arc/000596.html">Fear, Uncertain, and Doubt by Joel Spolsky</a></li>
<li>Joel Spolsky: <a title="Joel on Software: Language Wars" href="http://www.joelonsoftware.com/items/2006/09/01.html">Language Wars</a></li>
<li>Justaddwater: <a rel="bookmark" title="Permanent Link to Ruby on Rails for the enterprise: Business perspective" href="http://justaddwater.dk/2006/05/16/rails-enterprise-business-perspective/">Ruby on Rails for the enterprise: Business perspective</a></li>
<li>Justaddwater: <a rel="bookmark" title="Permanent Link to Ruby on Rails as rapid prototyping tool" href="http://justaddwater.dk/2006/04/12/rails-prototyping/">Ruby on Rails as rapid prototyping tool</a></li>
</ul>
<p><small>Technorati Tags: <a href="http://technorati.com/tag/jakob+nielsen" rel="tag">jakob nielsen</a>, <a href="http://technorati.com/tag/joel+spolsky" rel="tag"> joel spolsky</a>, <a href="http://technorati.com/tag/david+heinemeier+hansson" rel="tag"> david heinemeier hansson</a>, <a href="http://technorati.com/tag/ruby+on+rails" rel="tag"> ruby on rails</a>, <a href="http://technorati.com/tag/joelonsoftware" rel="tag"> joelonsoftware</a>, <a href="http://technorati.com/tag/businesscase" rel="tag"> businesscase</a>, <a href="http://technorati.com/tag/business+case" rel="tag"> business case</a>, <a href="http://technorati.com/tag/railsconf" rel="tag"> railsconf</a></small></p>
]]></content:encoded>
			<wfw:commentRss>http://justaddwater.dk/2006/09/12/nielsen-joel-on-software-and-david-heinemeier-hansson/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Watir: Another sweetspot for Enterprise Ruby</title>
		<link>http://justaddwater.dk/2006/07/14/watir-sweetspot-enterprise-ruby/</link>
		<comments>http://justaddwater.dk/2006/07/14/watir-sweetspot-enterprise-ruby/#comments</comments>
		<pubDate>Fri, 14 Jul 2006 09:18:12 +0000</pubDate>
		<dc:creator>Jesper Rønn-Jensen</dc:creator>
				<category><![CDATA[Businesscase]]></category>

		<guid isPermaLink="false">http://justaddwater.dk/2006/07/14/watir-sweetspot-enterprise-ruby/</guid>
		<description><![CDATA[There are many speculations regarding Ruby (the programming language) and it&#8217;s ready-ness for enterprise use. The other day, a colleague of mine found an absolutely sweet spot: Automated testing via the browser interface. Watir stands for &#8220;Web Application Testing in Ruby&#8221;, you write a few lines of Ruby that fires up Internet Explorer, and then [...]]]></description>
			<content:encoded><![CDATA[<p>There are many speculations regarding Ruby (the programming language) and it&#8217;s ready-ness for enterprise use. The other day, a colleague of mine found an absolutely sweet spot: Automated testing via the browser interface.</p>
<p><a title="Watir: " href="http://wtr.rubyforge.org/">Watir</a> stands for &#8220;Web Application Testing in Ruby&#8221;, you write a few lines of Ruby that fires up Internet Explorer, and then clicks around, fills in form fields, submits, etc.</p>
<p>My colleague used a couple of hours to write a few lines to integration test a complex system for a financial customer. He modified it to repeat the same test in three different environments and via timers found out that one of the environments performed very badly.</p>
<p>I saw my colleague demo it yesterday, and both testers and developers present were absolutely impressed by the jar-dropping demo. Comments: &#8220;We could have used this much earlier&#8221;, &#8220;Despite that I don&#8217;t know Ruby, It&#8217;s easy to understand what it does&#8221;. Everybody in the project room went around smiling (<a title="Loudthinking: David Heinemeier Hansson" href="http://loudthinking.com/">David Heinemeier</a> would probably say &#8220;happy&#8221;)</p>
<p>It&#8217;s nothing new that automated browser testing can be done, but when I ask about the alternatives, I&#8217;m told that they&#8217;re too complex to get started with, and sometimes take forever to set up.</p>
<p>Watir gets started with just four lines of code:</p>
<div class="codesnip-container" >
<div class="ruby codesnip" style="font-family:monospace;"><span class="kw3">require</span> <span class="st0">&#8216;watir&#8217;</span><br />
<span class="kw3">require</span> <span class="st0">&#8216;watir/WindowHelper&#8217;</span><br />
<span class="kw1">include</span> Watir</p>
<p>ie = IE.<span class="me1">new</span><br />
ie.<span class="me1">goto</span><span class="br0">&#40;</span>test_site<span class="br0">&#41;</span></div>
</div>
<p>In my opinion, Watir + Ruby is a winnner. So easy to get started. So great payoff for a small amount of time invested. Jaw-dropping reactions on developers and testers that don&#8217;t even know Ruby. It&#8217;s a definite winner.</p>
<p><small>Technorati Tags: <a href="http://technorati.com/tag/ruby" rel="tag">ruby</a>, <a href="http://technorati.com/tag/enterprise" rel="tag"> enterprise</a>, <a href="http://technorati.com/tag/business+case" rel="tag"> business case</a>, <a href="http://technorati.com/tag/watir" rel="tag"> watir</a></small></p>
]]></content:encoded>
			<wfw:commentRss>http://justaddwater.dk/2006/07/14/watir-sweetspot-enterprise-ruby/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Ruby on Rails for the enterprise: Business perspective</title>
		<link>http://justaddwater.dk/2006/05/16/rails-enterprise-business-perspective/</link>
		<comments>http://justaddwater.dk/2006/05/16/rails-enterprise-business-perspective/#comments</comments>
		<pubDate>Mon, 15 May 2006 22:06:38 +0000</pubDate>
		<dc:creator>Jesper Rønn-Jensen</dc:creator>
				<category><![CDATA[Businesscase]]></category>
		<category><![CDATA[Ruby on Rails]]></category>

		<guid isPermaLink="false">http://justaddwater.dk/2006/05/16/rails-enterprise-business-perspective/</guid>
		<description><![CDATA[<p>Thought this would be a good opportunity to have a look at the  business perspective of using Ruby on Rails for the enterprise. <a title="Quoted Printable: The Business Case for Ruby on Rails" href="http://www.quotedprintable.com/articles/2005/12/21/the-business-case-for-ruby-on-rails">The Business Case for Ruby on Rails</a> inspired me to see what has been written on the business perspective since December last year.</p>
<p>Also a greeting from my blogging partner Thomas Watson, <a title="justaddwater.dk: JavaOne 2006 Blogger Meetup" href="http://justaddwater.dk/2006/05/09/javaone-2006-blogger-meetup/">currently at JavaOne</a> in San Fransisco, took this photo near the Golden Gate Bridge:</p>
<div style="text-align: center"><a id="p250" rel="attachment" class="imagelink" title="keep-off-rails-thumb.jpg" href="http://justaddwater.dk/?attachment_id=250"><img id="image250" alt="keep-off-rails-thumb.jpg" src="http://justaddwater.dk/wp-content/uploads/2006/05/keep-off-rails-thumb.jpg" /></a></div>
]]></description>
			<content:encoded><![CDATA[<p>Thought this would be a good opportunity to have a look at the  business perspective of using Ruby on Rails for the enterprise. <a title="Quoted Printable: The Business Case for Ruby on Rails" href="http://www.quotedprintable.com/articles/2005/12/21/the-business-case-for-ruby-on-rails">The Business Case for Ruby on Rails</a> inspired me to see what has been written on the business perspective since this was written December last year.</p>
<p>As I wrote <a title="Permanent Link: Ruby on Rails as rapid prototyping tool" rel="bookmark" href="http://justaddwater.dk/2006/04/12/rails-prototyping/">previously</a>, Ruby on Rails has proven to deliver:</p>
<ul>
<li>Very high fidelity prototypes that can use real data. The high fidelity give much better findings in usability testing.</li>
<li>Consistent productivity gains compared to any other prototyping tool.</li>
<li>Very few lines of code makes it easy to change prototype.</li>
<li>Doesn’t have to be thrown away after building prototype.</li>
</ul>
<p>But this was focused mostly on rapid prototyping as an obvious sweetspot for Rails. <strong>Here are the other articles I found for this roundup</strong>:</p>
<p>Mentalized.net: <a title="Mentalized.net: One day with Scott Raymond" href="http://mentalized.net/journal/2006/05/14/one_day_with_scott_raymond/">One day with Scott Raymond</a> by Jacob Skjerning</p>
<blockquote cite="http://mentalized.net/journal/2006/05/14/one_day_with_scott_raymond/"><p>Thursday marked a major step on the path to exploring Rails as an alternative for <a href="http://www.biq.dk/">BiQ</a>. <a href="http://mentalized.net/journal/2006/03/16/looking_for_a_rails_champion/">As I’ve mentioned earlier</a> I’ve been looking for someone to come and present Rails for us.</p>
<p>[...]</p>
<p>The advice that in particular struck a chord with me was a pragmatic “fail fast” advice. Dig into the meaty parts, get your fears out of the way, or fail now, before you’ve spent months with nothing to show for it.</p>
<p>Monday will hear the decision of wether we’ll move ahead. Currently, I have no reason to believe otherwise.</p></blockquote>
<p>Their task is to consider <a href="http://mentalized.net/journal/2006/03/16/looking_for_a_rails_champion/">rewriting an ASP/VBScript system</a>:</p>
<blockquote cite="http://mentalized.net/journal/2006/03/16/looking_for_a_rails_champion/"><p>At the day job I’m the sole developer and maintainer of a legacy <span class="caps">ASP</span>/VBScript system. Yes, <span class="caps">ASP</span>/VBScript. No, not .NET. And yes, it’s driving me insane. The code contains around 42000 lines of <span class="caps">VBSC</span>ript drivel and 30000 lines of supporting Python code.</p>
<p>The other day I told my boss that I thought we should really, really consider rewriting the application. The existing one is getting cumbersome, hard to maintain, and let’s face it; it’s sucking my soul dry. My suggestion for a new platform is, for a lot of reasons, Ruby on Rails.</p></blockquote>
<p><a href="http://web2.wsj2.com/ruby_on_rails_11_web_20_on_rocket_fuel.htm">Ruby on Rails is web2.0 on rocket fuel</a> by Dion Hinchcliffe:</p>
<blockquote cite="http://web2.wsj2.com/ruby_on_rails_11_web_20_on_rocket_fuel.htm"><p>I could spend a lot more time talking about the details of Ruby and Ruby on Rails but the important point to take away is that it puts extreme power in the hands of the average Web developer by collapsing  the common tasks from literally days to just hours or even minutes in some cases. I&#8217;ve seen some of the demonstrations in person (most recently <a href="http://web2.wsj2.com/a_compelling_ajax_discussion_in_new_york_city.htm">Hansson&#8217;s talk</a> at Real-World Ajax) and am continually impressed by how fast and easily that working software can be created with Rails.  Creating blog or wiki software from scratch can literally take just a few minutes.</p>
<p>Web 2.0 software development has its own set of expectations and <a href="http://web2.wsj2.com/news_from_the_field_web_20_best_practices.htm">best practices</a>: rapid feature evolution, real-time feature monitoring, all functionality available in both the GUI and as Web services so others can use them in their own apps, and more.  Rails makes all of these easy to do using one of the highest productivity languages out there.  That&#8217;s not to say Rails <a href="http://discuss.joelonsoftware.com/default.asp?joel.3.309321.3">is perfect,</a> it&#8217;s so new it couldn&#8217;t possibly be fault-free, but there is clear evidence today of its reliability, scalability and ease-of-use (once you get past a brief learning curve.)</p></blockquote>
<p><a href="http://dev2dev.bea.com/blog/jonmountjoy/archive/2005/11/ruby_on_rails_e.html">Ruby on Rails enterprise ready?</a> by Jon Mountjoy:</p>
<blockquote cite="http://dev2dev.bea.com/blog/jonmountjoy/archive/2005/11/ruby_on_rails_e.html"><p>Something else that&#8217;s interesting is that issues like this [distributed transactions] are not stopping adoption of Rails.  Companies like <a href="http://www.37signals.com/">37signals</a> are forging ahead creating great solutions, deployed and live. Obviously Rails is &#8220;good enough&#8221; &#8211; its lack of many enterprise features, distributed transactions being another important one, doesn&#8217;t prevent adoption. Perhaps 37signals do something funky with their database connection handling, or perhaps it just doesn&#8217;t matter for the vast majority of applications out there. I suspect that the latter is closer to the truth.</p>
<p>In J2EE land we tend to focus on solving the difficult problems, instead of making the easy problems easier to code. This is one of the biggest lessons that J2EE can learn from Rails &#8211; <a href="http://dev2dev.bea.com/blog/editors/archive/2005/07/productivity.html">productivity</a>.</p></blockquote>
<p><a href="http://www.screamingatthekeyboard.com/articles/2006/03/02/ruby-on-rails-vs-php-from-a-business-perspective">Ruby on Rails from a Business Perspective</a> <small>via <a title="Inquiry labs blog: The Case for Rails: Talking to Management" rel="bookmark" href="http://blog.inquirylabs.com/2006/03/29/the-case-for-rails-talking-to-management/">The Case for Rails: Talking to Management</a></small></p>
<blockquote cite="http://www.screamingatthekeyboard.com/articles/2006/03/02/ruby-on-rails-vs-php-from-a-business-perspective"><p>It also helps that Ruby on Rails can crank out a system in about 1/3rd of the time as <span class="caps">PHP</span>, but that’s probably my own coding preferences talking.</p></blockquote>
<p>Business case for <a title="Obie Fernandez: Productivity Arbitrage" href="http://www.jroller.com/page/obie?entry=productivity_arbitrage">Ruby on Rails vs. Java</a> by Obie Fernandez <small>(via  <a title="Curt Hibbs: Productivity arbitage and AJAX" href="http://blog.curthibbs.us/articles/2005/12/21/productivity-arbitrage-and-ajax/">Curt Hibbs</a>)</small></p>
<blockquote cite="http://www.jroller.com/page/obie?entry=productivity_arbitrage"><p><em>Want a realistic example of what I’m describing? Two well-respected consultancies find themselves competing head-to-head for a project: a fairly typical internal web application, of the type that large corporate clients often request. Both consultancies follow Agile practices. Timely delivery for this project is critical (as usual), but delivering on-time is particularly important in this case. The client will get hit with severe regulatory penalties if the new system is not implemented within a year’s time.</em></p></blockquote>
<blockquote><p><em>The decision makers at <strong>Consultancy A</strong> propose a Java-based solution at a price of a million dollars, and they estimate final delivery within 10 months. Their bid is competitively-priced and they feel confident about it. They plan to allocate an experienced team using a mature platform (Java). They calculate, using rough figures, that 6 resources x $97 blended hourly rate x 10 months equals about $1MM, a gross margin of about 25%. A higher margin would be better, but all-in-all this deal is not too shabby.</em></p></blockquote>
<blockquote><p><em>The folks at <strong>Consultancy B</strong> also have extensive experience building the kind of webapp needed and they see a potential productivity arbitrage play. Instead of Java, they differentiate themselves by pitching a Ruby on Rails solution. Quite innocently, they undercut their competition by pricing their bid at $800K and promising delivery within 6 months. According to their calculations, (and once again, these are rough figures), 4 resources x $192 rate x 8 months equals about $800k. That rate ($192) represents a much higher gross margin, even taking into account that Consultancy B pays its consultants higher salaries.</em></p></blockquote>
<blockquote><p><em><strong>Can you guess who won?</strong> Consultancy B won! At the contract signing, the client <span class="caps">CIO</span> says that it was a “no brainer” and lists the following reasons in order of increasing importance…</em></p></blockquote>
<p>Thoughtworks (US technology consultants Martin Fowler, Obie Fernandez, etc.) mentions quite a few advantages on their <a title="Thoughtworks: Ruby" href="http://www.thoughtworks.com/ruby.html">technology page</a>:</p>
<blockquote><p>Our ongoing project work with Ruby and Rails proves that Ruby excels in the following applications:</p>
<ul>
<li>Web 2.0 applications that make use of REST and/or AJAX designs</li>
<li>Small to medium Web-based applications with aggressive time-to-market goals</li>
<li>Low-cost internal prototypes and pilot applications</li>
<li>Highly-targeted internal applications and utility programs</li>
<li>So-called &#8216;soft layer&#8217; APIs on hardened transactional systems</li>
<li>Build systems for complex enterprise systems</li>
</ul>
</blockquote>
<p>Justaddwater.dk <a title="Permanent Link: Ruby on Rails as rapid prototyping tool" rel="bookmark" href="http://justaddwater.dk/2006/04/12/rails-prototyping/">Ruby on Rails as rapid prototyping tool</a> by me:</p>
<blockquote><p>At my work in Capgemini Denmark, we have used Rails for some months at work projects and it has proven to deliver:</p>
<ul>
<li>Very high fidelity prototypes that can use real data. The high fidelity give much better findings in usability testing.</li>
<li>Consistent productivity gains compared to any other prototyping tool.</li>
<li>Very few lines of code makes it easy to change prototype.</li>
<li>Doesn’t have to be thrown away after building prototype.</li>
</ul>
<p>Consider the fact that Rails can actually live on in the application development. I believe that Rails is a perfect match for making rapid prototype development. Also this approach is what Garret Dimon invented “<strong>just build it</strong>“, and it fits like a glove with the agile approach of the guys at 37signals.</p></blockquote>
<p>Real world sucess stories: List of <a title="Rubyonrails.org: Applications running Ruby on Rails" href="http://www.rubyonrails.org/applications">web applications running Ruby on Rails</a>, and another <a title="Rubygarden.org: Real-world ruby success stories" href="http://www.rubygarden.org/ruby?RealWorldRuby">list of Ruby apps</a> (web applications at the bottom).</p>
<p>Do you know of any relevant articles out there? Please add to my list. I&#8217;m mostly looking for the not-so-technical and management targeted.</p>
<p>Vaguely related, the final word is from my blogging partner Thomas Watson, <a title="justaddwater.dk: JavaOne 2006 Blogger Meetup" href="http://justaddwater.dk/2006/05/09/javaone-2006-blogger-meetup/">currently at JavaOne</a> in San Fransisco, took this photo near the Golden Gate Bridge:</p>
<p><a id="p250" rel="attachment" class="imagelink" title="keep-off-rails-thumb.jpg" href="http://justaddwater.dk/2006/05/16/rails-enterprise-business-perspective/keep-off-rails-thumbjpg/" /></p>
<p><a id="p250" rel="attachment" class="imagelink" title="keep-off-rails-thumb.jpg" href="http://justaddwater.dk/2006/05/16/rails-enterprise-business-perspective/keep-off-rails-thumbjpg/"> </a></p>
<div style="text-align: center"><a id="p250" rel="attachment" class="imagelink" title="keep-off-rails-thumb.jpg" href="http://justaddwater.dk/2006/05/16/rails-enterprise-business-perspective/keep-off-rails-thumbjpg/"><img id="image250" alt="keep-off-rails-thumb.jpg" src="http://justaddwater.dk/wp-content/uploads/2006/05/keep-off-rails-thumb.jpg" /></a></div>
<p><span class="imagelink">Sure hope that not everybody will follow the advice of San Fransisco Authorities to keep off Ruby on Rails.</span><p><small>Technorati Tags: <a href="http://technorati.com/tag/ruby+on+rails" rel="tag">ruby on rails</a>, <a href="http://technorati.com/tag/business+case" rel="tag"> business case</a>, <a href="http://technorati.com/tag/enterprise" rel="tag"> enterprise</a></small></p>
]]></content:encoded>
			<wfw:commentRss>http://justaddwater.dk/2006/05/16/rails-enterprise-business-perspective/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Speaking on usability and rapid prototyping</title>
		<link>http://justaddwater.dk/2006/05/10/speaking-on-usability-and-rapid-prototyping/</link>
		<comments>http://justaddwater.dk/2006/05/10/speaking-on-usability-and-rapid-prototyping/#comments</comments>
		<pubDate>Wed, 10 May 2006 09:50:33 +0000</pubDate>
		<dc:creator>Jesper Rønn-Jensen</dc:creator>
				<category><![CDATA[Businesscase]]></category>
		<category><![CDATA[Prototyping]]></category>
		<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[Speaking]]></category>
		<category><![CDATA[Usability]]></category>

		<guid isPermaLink="false">http://justaddwater.dk/2006/05/10/speaking-on-usability-and-rapid-prototyping/</guid>
		<description><![CDATA[For those of you in Denmark in the Copenhagen area. May 19 I&#8217;m speaking about rapid prototyping to make usability testing earlier and more often. The focus will be on the benefits and the business value user testing creates early in the process, so at this event, there&#8217;s really no focus on Ruby on Rails [...]]]></description>
			<content:encoded><![CDATA[<p>For those of you in Denmark in the Copenhagen area.</p>
<p>May 19 I&#8217;m speaking about rapid prototyping to make usability testing earlier and more often. The focus will be on the benefits and the business value user testing creates early in the process, so at this event, there&#8217;s really no focus on <a title="justaddwater.dk: Ruby on Rails as rapid prototyping tool" href="http://justaddwater.dk/2006/04/12/rails-prototyping/">Ruby on Rails as the prototyping tool</a> (but you can refer to my earlier post about that).<br />
From Snitker &#038; Co&#8217;s newsletter that is sent out today: (in Danish)</p>
<blockquote><p>Gå-klogere-hjem møde fredag den 19. maj kl 13.30-15.30<br />
Nye metoder:</p>
<p><strong>Prototype-drevet udvikling der øger forretningsforståelsen — og brugeroplevelsen</strong></p>
<p>Jesper Rønn-Jensen fortæller om et værktøj, der kan bygge prototyper op til 10 gange hurtigere &#8211; med følgende fordele:</p>
<ul>
<li>Flyt fokus fra corporate experience (hvad afsendervirksomheden ønsker) til user experience (hvad brugerne kommer til at opleve)</li>
<li>Flyt fokus fra en papirprototype til en kørende applikation</li>
<li>Nedbring fasen fra idé til testklar prototype fra måneder til få dage</li>
</ul>
<p>Jesper Rønn-Jensen arbejder til dagligt i Capgemini og står sammen med Thomas Watson bag webloggen <a target="_blank" onclick="return top.js.OpenExtLink(window,event,this)" href="http://justaddwater.dk//">justaddwater.dk</a>. Præsentationen er en snig-premiere på Jespers præsentation på reboot8 den 1. juni.</p>
<p>Gå-klogere-hjem-møder:<br />
- handler om alt det vi er interesserede i (ok, om noget af det)<br />
- er gratis<br />
- tilmelding er nødvendig (vi har plads til 25) på <a onclick="return top.js.OpenExtLink(window,event,this)" href="mailto:thomas@snitker.com">thomas@snitker.com</a><br />
- foregår i Bredgade 21B<br />
- fredage fra kl 13.30 -15.30<br />
- og ja der er kaffe.</p>
<p>Vel mødt!<br />
Snitker &#038; Co.</p></blockquote>
<p>You can subscribe to <a title="Snitker.com: subscribe to newsletter" href="http://www.snitker.com/nyheder/nyhedsbrev/">Snitker&#8217;s newsletter</a> and I think that you can still make it if you want to see the upcoming newsletter that the announcement above is taken from.</p>
<p><strong>UPDATE:</strong> Link to <a href="http://www.snitker.com/nyheder/nyheder/168.html">webpage of Snitkers newsletter</a>.</p>
<p>I&#8217;ll update this post later with a translation of the announcement.</p>
<p>I&#8217;d love to see a comment on what you think about this event.<br /><p><small>Technorati Tags: <a href="http://technorati.com/tag/event" rel="tag">event</a>, <a href="http://technorati.com/tag/speaking" rel="tag"> speaking</a>, <a href="http://technorati.com/tag/presentation" rel="tag"> presentation</a>, <a href="http://technorati.com/tag/usability+testing" rel="tag"> usability testing</a>, <a href="http://technorati.com/tag/rapid+prototyping" rel="tag"> rapid prototyping</a>, <a href="http://technorati.com/tag/ruby+on+rails" rel="tag"> ruby on rails</a>, <a href="http://technorati.com/tag/snitker" rel="tag"> snitker</a>, <a href="http://technorati.com/tag/business+case" rel="tag"> business case</a></small></p>
]]></content:encoded>
			<wfw:commentRss>http://justaddwater.dk/2006/05/10/speaking-on-usability-and-rapid-prototyping/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Ruby on Rails as rapid prototyping tool</title>
		<link>http://justaddwater.dk/2006/04/12/rails-prototyping/</link>
		<comments>http://justaddwater.dk/2006/04/12/rails-prototyping/#comments</comments>
		<pubDate>Tue, 11 Apr 2006 22:16:45 +0000</pubDate>
		<dc:creator>Jesper Rønn-Jensen</dc:creator>
				<category><![CDATA[Best of Justaddwater]]></category>
		<category><![CDATA[Businesscase]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Prototyping]]></category>
		<category><![CDATA[Ruby on Rails]]></category>

		<guid isPermaLink="false">http://justaddwater.dk/2006/04/12/rails-prototyping/</guid>
		<description><![CDATA[Ruby on Rails might be the perfect match as a prototyping tool. It delivers consistent productivity gains compared to any other prototyping tool. Very few lines of code makes it easy to change. Here is why we use it at work as our preferred prototyping tool.]]></description>
			<content:encoded><![CDATA[<p>Ruby on Rails might be the perfect match as a prototyping tool. It delivers consistent productivity gains compared to any other prototyping tool. Very few lines of code makes it easy to change. Here is why we use it at work as our preferred prototyping tool.</p>
<p>First time I heard about Ruby on Rails was when David Heinemeier Hansson, Jason Fried and Ryan Singer presented the &#8220;<a title="37 signals: The building of Basecamp workshop" href="http://www.37signals.com/workshop-062504.php">Building of Basecamp</a>&#8221; workshop in Denmark June 2005. Basecamp was the project that sparked the development of the Ruby on Rails framework.</p>
<p>I recognize the reaction that Deane of gadgetopia describes:</p>
<blockquote><p>So what was the biggest shock of the Basecamp seminar?  Finding out that it was written in <a href="http://www.ruby-lang.org/en/">Ruby</a>. Yeah, that’s right — that Japanese language that you thought no one was using. They’ve apparently put together a Web development framework for it which they’re releasing to open-source.</p>
<p>(from <a title="Gadgetopia.com: Basecamp and Ruby" href="http://www.gadgetopia.com/post/2530">www.gadgetopia.com</a> June 25, 2004)</p></blockquote>
<p>I was immediately interested in the possibility of using Rails as a productivity tool, where in some cases a Rails application can be developed up to ten times faster than a similar Java or .Net application. Very promising.</p>
<h3>Prototyping satisfaction survey</h3>
<p>I&#8217;ve tried a lot of different prototyping tools: Paper, Photoshop, Powerpoint, Dreamweaver, HTML. Until Rails I was perfectly happy with HTML prototypes: I consider them easy to maintain, fast to produce, possible to search and replace during development.</p>
<p>My experience goes pretty well with the 2002 GUUUI survey where 52 people replied on their preferred prototyping tool and their satisfaction with it (people preferring HTML were the most happy with their tool).</p>
<table cellspacing="1" cellpadding="2" border="0" class="article">
<tr>
<td class="smallCopy" colspan="5"><span class="bold">&#8220;I&#8217;m perfectly happy with the prototyping tool I&#8217;m using&#8221;</span></td>
</tr>
<tr>
<td class="smallCopy"></td>
<td align="center" class="smallCopy">Strongly disagree</td>
<td align="center" class="smallCopy">Mildly disagree</td>
<td align="center" class="smallCopy">Neither agree nor disagree</td>
<td align="center" class="smallCopy">Mildly agree</td>
<td align="center" class="smallCopy">Strongly agree</td>
</tr>
<tr>
<td bgcolor="#f0f0f2" class="smallCopy">All replies (52 replies)</td>
<td valign="top" bgcolor="#f0f0f2" align="center" class="smallCopy">7.5%</td>
<td valign="top" bgcolor="#f0f0f2" align="center" class="smallCopy">37.7%</td>
<td valign="top" bgcolor="#f0f0f2" align="center" class="smallCopy">15.1%</td>
<td valign="top" bgcolor="#f0f0f2" align="center" class="smallCopy">32.1%</td>
<td valign="top" bgcolor="#f0f0f2" align="center" class="smallCopy">7.5%</td>
</tr>
<tr>
<td class="smallCopy">Using a visual or text based HTML tool (15  		 replies)</td>
<td valign="top" align="center" class="smallCopy">6.7%</td>
<td valign="top" align="center" class="smallCopy">20.0%</td>
<td valign="top" align="center" class="smallCopy">6.7%</td>
<td valign="top" align="center" class="smallCopy">60.0%</td>
<td valign="top" align="center" class="smallCopy">6.7%</td>
</tr>
<tr>
<td bgcolor="#f0f0f2" class="smallCopy">Using a diagramming tool  		 (13 replies)</td>
<td valign="top" bgcolor="#f0f0f2" align="center" class="smallCopy">7.7%</td>
<td valign="top" bgcolor="#f0f0f2" align="center" class="smallCopy">76.9%</td>
<td valign="top" bgcolor="#f0f0f2" align="center" class="smallCopy">7.7%</td>
<td valign="top" bgcolor="#f0f0f2" align="center" class="smallCopy">0.0%</td>
<td valign="top" bgcolor="#f0f0f2" align="center" class="smallCopy">7.7%</td>
</tr>
<tr>
<td class="smallCopy">Using a graphic design tool (10 replies)</td>
<td valign="top" align="center" class="smallCopy">10.0%</td>
<td valign="top" align="center" class="smallCopy">20.0%</td>
<td valign="top" align="center" class="smallCopy">20.0%</td>
<td valign="top" align="center" class="smallCopy">50.0%</td>
<td valign="top" align="center" class="smallCopy">0.0%</td>
</tr>
</table>
<p>Source <a title="GUUUI - Results from a survey of web prototyping tools usage" href="http://www.guuui.com/issues/01_03_02.php">2002 GUUUI survey</a> on prototyping tools.</p>
<h3>Enter ruby on Rails</h3>
<p>One thing I miss in HTML prototyping is the lack of real data. For instance, a user enters a date on one page. On the next page, the date is hardcoded. Chances are that users at a user test enter values that are different from what I hardcoded on the screen. Here Rails is perfect. In stead of building screens, we build the application front-end.</p>
<p>At my work in Capgemini Denmark, we have used Rails for some months at work projects and it has proven to deliver:</p>
<ul>
<li>Very high fidelity prototypes that can use real data. The high fidelity give much better findings in usability testing.</li>
<li>Consistent productivity gains compared to any other prototyping tool.</li>
<li>Very few lines of code makes it easy to change prototype.</li>
<li>Doesn&#8217;t have to be thrown away after building prototype.</li>
</ul>
<p>Consider the fact that Rails can actually live on in the application development. I believe that Rails is a perfect match for making rapid prototype development. Also this approach is what Garret Dimon invented &#8220;<strong>just build it</strong>&#8220;, and it fits like a glove with the agile approach of the guys at 37signals.</p>
<p>Whats your thoughts on this? What tools would you use for prototyping?</p>
<ul>
<li>Digital Web Magazine: <a href="http://www.digital-web.com/articles/just_build_it_html_prototyping_and_agile_development/">Just Build It: HTML Prototyping and Agile Development</a></li>
<li>Garrett Dimon: <a href="http://www.garrettdimon.com/archives/ajax-dom-scripting-just-build-it">AJAX &#038; DOM Scripting: Just Build It</a></li>
<li>37signals: <a href="http://www.37signals.com/svn/archives/001050.php">Getting Real, Step 1: No Functional Spec</a></li>
<li>Particletree: <a title="A Designer's Guide to Prototyping Ajax" href="http://particletree.com/features/a-designers-guide-to-prototyping-ajax/">A Designer&#8217;s Guide to Prototyping Ajax</a></li>
<li>GUUI: <a title="GUUUI - Results from a survey of web prototyping tools usage" href="http://www.guuui.com/issues/01_03_02.php">2002 survey on prototyping tools</a></li>
</ul>
<p><small>Technorati Tags: <a href="http://technorati.com/tag/prototyping" rel="tag">prototyping</a>, <a href="http://technorati.com/tag/html" rel="tag"> html</a>, <a href="http://technorati.com/tag/ruby+on+rails" rel="tag"> ruby on rails</a>, <a href="http://technorati.com/tag/business+case" rel="tag"> business case</a>, <a href="http://technorati.com/tag/capgemini" rel="tag"> capgemini</a>, <a href="http://technorati.com/tag/productivity" rel="tag"> productivity</a></small></p>
]]></content:encoded>
			<wfw:commentRss>http://justaddwater.dk/2006/04/12/rails-prototyping/feed/</wfw:commentRss>
		<slash:comments>26</slash:comments>
		</item>
		<item>
		<title>AJAX businesscase: Reduce development costs and increase usability</title>
		<link>http://justaddwater.dk/2006/02/08/ajax-businesscase/</link>
		<comments>http://justaddwater.dk/2006/02/08/ajax-businesscase/#comments</comments>
		<pubDate>Wed, 08 Feb 2006 11:00:28 +0000</pubDate>
		<dc:creator>Jesper Rønn-Jensen</dc:creator>
				<category><![CDATA[AJAX]]></category>
		<category><![CDATA[Best of Justaddwater]]></category>
		<category><![CDATA[Businesscase]]></category>

		<guid isPermaLink="false">http://justaddwater.dk/2005/11/16/ajax-businesscase/</guid>
		<description><![CDATA[As a followup to my earlier post &#8220;AJAX performance stats, ROI, and business value&#8220;, I decided that I&#8217;d share with you some considerations on a recent project I was involved in. I can&#8217;t give you all the juicy details, and I might never be able to show you the final solution or tell, who the [...]]]></description>
			<content:encoded><![CDATA[<p>As a followup to my earlier post &#8220;<a title="Justaddwater.dk: AJAX performance stats, ROI, and business value" rel="bookmark" href="http://justaddwater.dk/2006/01/14/ajax-performance-stats-roi-and-business-value/">AJAX performance stats, ROI, and business value</a>&#8220;, I decided that I&#8217;d share with you some considerations on a recent project I was involved in. I can&#8217;t give you all the juicy details, and I might never be able to show you the final solution or tell, who the customer is.</p>
<p>Anyways,  I want to give you some of the details on why we decided to implement AJAX validations in this particular web application. I worked on a project for a Danish company in the financial sector. We had a complex interface where the user had to enter a lot of information about a lot of users. This is illustrated here with user #1, #2, and so on.</p>
<p align="center"><img width="306" height="105" alt="AJAX application object model" id="image117" src="http://justaddwater.dk/wp-content/uploads/2006/01/ajax%20validation%20object%20model.png" /></p>
<p>In this particular solution, the typical usage scenario is that an employee has data about multiple users to enter: That could for example be name, age, social security numbers etc.</p>
<h3><a name="oneatatime"></a>Edit one object at a time</h3>
<p>We originally looked at two different interaction models. Version 1 where the employee could edit one user at a time, and then go back to the main page, as shown below. I really can&#8217;t show the webpages used, but here is a sketch that shows the principle.</p>
<p align="left">
<p><img alt="ajax validation version 1" title="ajax validation version 1" src="http://justaddwater.dk/wp-content/uploads/2006/01/ajax%20validation%20version1.png" /></p>
<p>So, the employee clicks link to edit user #1, then back and continue to #2 etc. This was the standard setup of our development framework: Microsoft ASP.NET 1.1.</p>
<p>To edit one object at a time has some advantages:</p>
<ul>
<li>Very low development costs: ASP.NET framework out-of-the-box</li>
<li>Data is saved while editing one user at a time.</li>
<li>Focus on one object at a time: You can only edit one and only continue when that single object is edited and has no errors.</li>
</ul>
<p>On the same time it is also annoying for users in certain situations if they&#8217;re not allowed to continue until all errors are solved and all required data is filled in.</p>
<p>I see two big disadvantage in this model:</p>
<ul>
<li>It requires a lot of clicks. Click to edit user #1, back to link page, click to edit user#2, etc. This is so-called &#8220;<a title="Justaddwater.dk:  	Pogosticking and why it should be avoided" href="http://justaddwater.dk/2006/02/05/pogosticking-and-why-it-should-be-avoided/">pogosticking</a>&#8220;.<br />
Extra clicks yields extra time and thus &#8230; lower performance (XX todo: usability)</li>
<li>Only to be able to edit one user at a time could be annoying under some conditions. It&#8217;s like an Excel spreadsheet where you can only edit one row at a time — It will work, but could be cumbersome when editing in a particular column.</li>
</ul>
<p>So besides the expected extra time consumption, the real problem here is when data is entered in a non-linear way. To stay in the Excel example, if we decide to organize by rows, then what will happen if the user wants to edit columns: It will be absolutely cumbersome.</p>
<p>A few interviews and meetings later, we decided that this was not a solution that the end users could benefit from: Too cumbersome.</p>
<h3><a name="multiple"></a>Edit multiple objects at the same time</h3>
<p>In this scenario, we decided to support easier editing of all objects at a time. Like in the Excel metaphor it will be possible to edit by row or by column.<br />
<img alt="ajax validation version 2" title="ajax validation version 2" src="http://justaddwater.dk/wp-content/uploads/2006/01/ajax%20validation%20version2.png" /></p>
<p>Some advantages of this screen layout:</p>
<ul>
<li>Significantly faster task completion (faster to fill out the form)</li>
<li>Less <a title="Justaddwater.dk:  	Pogosticking and why it should be avoided" href="http://justaddwater.dk/2006/02/05/pogosticking-and-why-it-should-be-avoided/">pogosticking </a>and therefore less back-and-forth navigation</li>
<li>Easier to edit non-linear: In a prefilled form, it will be easy to edit just a few fields.</li>
</ul>
<p><strong>All in all: Easier to use, less navigation and faster completion of the form</strong>.<br />
In the usability tests I&#8217;ve participated in, users always make errors, typos, misconceptions, etc. The real timesaver in this example are the AJAX field validations.</p>
<h3><a name="ajax"></a>AJAX validations the big time-saver</h3>
<p>For validations on the page, we wanted the application to validate each input field immediately. When the user moves on to the next field, the field value is sent back to the web server and validated. If field contents are not recognized, print an error message below field and set red background color on field.</p>
<p><img alt="ajax validation version 2 with text describing behaviour" title="ajax validation version 2 with text describing behaviour" src="http://justaddwater.dk/wp-content/uploads/2006/01/ajax%20validation%20version2text.png" /></p>
<p>This way, we give the user <strong>feedback as soon as possible without interrupting users work</strong>.</p>
<ul>
<li>Unobtrusive error messages (users decide when to correct the error)</li>
<li>Error messages occur where errors occur</li>
<li>Preserves the benefits from multiple edit</li>
</ul>
<p>Also, in this way, we do all validations server-side. Here, fields appear to be validated client-side, but behind the scenes, field data is sent to the webserver. This means that no JavaScript validations have to be coded (which I usually see as a time-consuming task).</p>
<p>For security reasons, we always have to code server-side validations. In this way, we only code validations on the webserver, but use them on the client-side, which in this particular project is a big time-saver. For instance, there is a date field that only accepts days on which banks are open. This calculation is fairly complex for Danish companies because bank holidays tend to move every year. For this particular project, it might end with a database table lookup, so the validation would be impossible (or very expensive) using JavaScript.</p>
<h3><a name="conclusion"></a>Conclusion</h3>
<p>The reasons we choose AJAX validations for this particular project are:</p>
<ul>
<li><strong>Lower development costs</strong>: Only server-side validations had to be coded. These validations can then be executed client-side via the AJAX framework. Depending on browser compatibility, we have probably saved 20-40% of the time it took writing the server-side validations.</li>
<li><strong>Faster user interface</strong>: No unnessecary navigation back-and-forth to fill out data on multiple objects.</li>
<li><strong>Unobtrusive error handling</strong>: Errors can be corrected immediately and in an un-obtrusive way: The user can continue typing in other fields or correct errors as they happen. Compare this to the old variant, where an alertbox is triggered. Alertboxes say &#8220;correct me NOW before you do anything else&#8221;.</li>
</ul>
<p>These are the details I can share with you, and it certainly does not fulfill the wishes of Andre Charland, Ebusiness-Apps who&#8217;s <a title="Permanent Link: Looking for More AJAX Case Studies" rel="bookmark" href="http://blogs.ebusiness-apps.com/andre/?p=81">Looking for More AJAX Case Studies</a>.</p>
<p><small>Technorati Tags: <a href="http://technorati.com/tag/usabililty" rel="tag">usabililty</a>, <a href="http://technorati.com/tag/ajax+validation" rel="tag"> ajax validation</a>, <a href="http://technorati.com/tag/javascript" rel="tag"> javascript</a>, <a href="http://technorati.com/tag/interaction+design" rel="tag"> interaction design</a>, <a href="http://technorati.com/tag/ASP.Net" rel="tag"> ASP.Net</a>, <a href="http://technorati.com/tag/AJAX.Net" rel="tag"> AJAX.Net</a>, <a href="http://technorati.com/tag/business+case" rel="tag"> business case</a></small></p>
]]></content:encoded>
			<wfw:commentRss>http://justaddwater.dk/2006/02/08/ajax-businesscase/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>AJAX performance stats, ROI, and business value</title>
		<link>http://justaddwater.dk/2006/01/14/ajax-performance-stats-roi-and-business-value/</link>
		<comments>http://justaddwater.dk/2006/01/14/ajax-performance-stats-roi-and-business-value/#comments</comments>
		<pubDate>Fri, 13 Jan 2006 23:10:30 +0000</pubDate>
		<dc:creator>Jesper Rønn-Jensen</dc:creator>
				<category><![CDATA[AJAX]]></category>
		<category><![CDATA[Best of Justaddwater]]></category>
		<category><![CDATA[Businesscase]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[Usability]]></category>
		<category><![CDATA[Web Standards]]></category>
		<category><![CDATA[Web Statistics]]></category>

		<guid isPermaLink="false">http://justaddwater.dk/2006/01/14/ajax-performance-stats-roi-and-business-value/</guid>
		<description><![CDATA[How do you build a system that can deliver and update content to 100,000 people simultaneously? Via Ajaxian.com I saw this article from MacRumors on what traffic they got when Steve Jobs delivered his keynote on MacWorld a few days ago.

Also in this post: Ajaxinfo (the guys behind <a href="http://blogs.ebusiness-apps.com/andre/?p=52">AJAX usability metrics</a>), <a href="http://www.ajaxinfo.com/default~viewart~18.htm">AJAX ROI faceoff</a>, where a traditional webapp is compared to an AJAX webapp. For the visually oriented, there is a video comparing the two applications.]]></description>
			<content:encoded><![CDATA[<p>How do you build a system that can deliver and update content to 100,000 people simultaneously? Via <a title="Ajax Reduces Load on MacRumors.com Servers" href="http://ajaxian.com/?p=735">Ajaxian.com</a> I saw this article from MacRumors on what traffic they got when Steve Jobs delivered his keynote on MacWorld a few days ago.</p>
<blockquote><p>On January 10th, 2006, <a href="http://www.macrumors.com/">MacRumors.com</a> successfully delivered live updates of the Macworld San Francisco  Keynote speech to over 100,000 people  simultaneously using the  latest web technologies.</p>
<p style="margin-left: 2em; margin-right: 2em; font-size: smaller"><em>&#8220;By far the best mac keynote coverage I have ever seen. No constant page refreshing. No &#8216;page will update every three minutes&#8217; even though they never do. I just let the page update every minute like it was supposed to. It was actually weird to get coverage without some sort of connection failure.&#8221; &#8211; MacRumors member, war</em></p>
</blockquote>
<p>The live coverage web solution is basically a transscript updated frequently during the keynote. One article is about the <a title="MacRumors.com's Webcast Stats during the Macworld San Francisco 2006 Keynote" href="http://www.macrumors.com/events/mwsf2006-stats.php">traffic they experienced</a>:</p>
<blockquote><p>Our site was linked to widely across the web, including prominent links from <a href="http://www.digg.com/">Digg</a> and <a href="http://www.slashdot.org/">Slashdot</a> &#8212; two popular technology sites.   These links caused no noticable &#8220;spike&#8221; in our number of visitors, illustrating the magnitude of traffic that <em>MacRumorsLive</em> was already receiving.</p>
<p>We peaked at approximately <strong>103,000</strong> simultaneous web visitors and <strong>6,000</strong> IRC viewers during the  Keynote speech and transmited over <strong>32 GB</strong> of data in a three hour period.  If not for  the  efficiency of the <em>MacRumorsLive</em> AJAX update system, the same webcast would have required approximately twice as many servers and would have had to transfer almost 6 times as much data (196 GB).</p></blockquote>
<p>With peak loads that reaches insane levels of almost 4,000 hits per second:</p>
<blockquote>
<table>
<tr>
<td>Hits/second <sup>(2)</sup></td>
<td>3,812</td>
</tr>
<tr>
<td>IRC users</td>
<td>6,079</td>
</tr>
<tr>
<td>Simultaneous visitors</td>
<td>109,000</td>
</tr>
<tr>
<td>Bandwidth <sup>(3)</sup></td>
<td>approx. 77Mbit/sec</td>
</tr>
</table>
</blockquote>
<div align="center">
<pre id="line1"><a class="imagelink" title="MacWorld keynote hits graph (from macrumors.com)" onclick="doPopup(72);return false;" href="http://www.macrumors.com/events/mwsf2006-stats.php"><img width="480" height="235" id="image72" alt="MacWorld keynote hits graph (from macrumors.com)" src="http://justaddwater.dk/wp-content/uploads/2006/01/hits-20060110.gif" /></a></pre>
</div>
<div align="center"><span class="start-tag" /><span class="start-tag">Hits per second from ~8am to ~12:30pm. Average over each minute.</span></div>
<p>They also posted an article about <a title="MacRumorsLive.com: EQX Webcast System" href="http://www.macrumorslive.com/about/">how they built the system</a> which is insanely interesting</p>
<blockquote><p>Traditionally, websites have coped with visitors during the keynotes by swapping to text-only pages, using HTML Meta Refresh to reload the page at set intervals, usually every three minutes, for example, <a target="_blank" href="http://www.macrumors.com/events/mwsf2005.html">MacRumors&#8217; coverage from MacWorld in January 2005</a>. As a result, the sites lose their identity and branding, and cannot make best use of the additional traffic for site promotion.</p>
<p>Even with all this simplification the sheer number of visitors can still take the server down. To provide the best coverage during live events an improved system is required.</p></blockquote>
<blockquote><p>As this system is retaining the normal layout of the site, all the necessary objects (CSS, images &#038; Javascript) also need to be loaded. This increases the load placed on the web servers considerably in comparison to the old system, which only had a single text file to display. Even with the ability to use multiple servers, the web server software needs to be improved.</p>
<p>By using <a target="_blank" href="http://www.php.net/">PHP</a> to generate the necessary HTML &#038; XML files every ten seconds, rather than each time the file is requested, it is possible to use small &#038; simple web servers to deliver the public site, without the overhead of database usage. Two web server software packages are employed &#8211; <a target="_blank" href="http://www.lighttpd.net/">lighttpd</a> and <a target="_blank" href="http://www.acme.com/software/thttpd/">thttpd</a> &#8211; with <a target="_blank" href="http://httpd.apache.org/">Apache</a> still being used for the administration interface.</p>
<p>The efficiency of these packages over Apache is considerable and allows quite modest hardware to be used to serve a large number of visitors. Benchmarks of lighttpd compared to various other packages can be found on <a target="_blank" href="http://www.lighttpd.net/benchmark/">their website</a>. In our tests, thttpd was able to sustain in excess of 3,300 hits per second, whereas Apache managed only 600 hits per second for 20 seconds, before overloading the server due to memory usage. [1]</p>
<p>The use of these more specialised web servers allows a vast number of simultaneous visitors to be supported &#8211; as the system stands at the moment, in excess of 200,000.</p></blockquote>
<p>This reminds me of Ajaxinfo (the guys behind <a href="http://blogs.ebusiness-apps.com/andre/?p=52">AJAX usability metrics</a>), <strong><a href="http://www.ajaxinfo.com/default~viewart~18.htm">AJAX ROI faceoff</a>,</strong> where a traditional webapp is compared to an AJAX webapp. For the visually oriented, there is a video comparing the two applications at the end of the article.</p>
<blockquote><p>Recently on Developer.com, I looked at ways for developers to <a href="http://www.developer.com/xml/article.php/3554271">communicate the value of Ajax</a> in dollars and cents. Arguing for or against a technology usually creates some stress for developers, who tend to speak a different language from business decision makers.</p>
<table width="100%" cellpadding="5" border="0">
<tr bgcolor="#f0f0f0" align="center">
<td><strong>Developers talk about</strong></p>
<div align="left">
<ul>
<li>Usability</li>
<li>Bandwidth</li>
<li>Ramp-up</li>
<li>Cost of Ownership</li>
</ul>
</div>
</td>
<td><strong>Managers talk about</strong></p>
<div align="left">
<ul>
<li>Efficiency</li>
<li>Transaction costs</li>
<li>Training costs</li>
<li>Return on Investment (ROI)</li>
</ul>
</div>
</td>
</tr>
</table>
</blockquote>
<p>Right at the point. Performance website or not, the metrics he mentions above are almost like something Jakob Nielsen could have done. Conclusions:</p>
<blockquote><p>Although every new technology should be greeted with a healthy amount of skepticism, there are clearly demonstrable, quantifiable advantages to using an Ajax architecture in a Web application. These cost savings originate primarily from time savings, but also from reductions in bandwidth requirements.</p>
<p>A representative test case showed that a business can save between 500 and 2,800 man hours per year on a 10-step hypothetical process, saving roughly 4 seconds per step (a between 30% and 70% reduction in labor costs).</p>
<p>Although the benefits of improved application architecture extend beyond mere time savings, when included in the decision making process, an ROI approach such as this can help make a solid business case for Ajax.</p></blockquote>
<p align="center"><img width="300" height="241" id="image73" alt="Total time taken (AJAX vs traditional webapp)" src="http://justaddwater.dk/wp-content/uploads/2006/01/totaltimetaken.gif" /><img width="300" height="241" id="image74" alt="Total bytes transferred (AJAX vs traditional webapp)" src="http://justaddwater.dk/wp-content/uploads/2006/01/bytestransferred.gif" /></p>
<p>The benefits listed here are very similar to benefits when we&#8217;re arguing for web-standards: Reduced bandwith, training costs, cost of ownership, and increased return on investment. But for the time being I still believe that AJAX has increased learning costs for developers. (Although most developers are really keen on using AJAX and webstandards it still requires expert knowledge regarding libraries, backend integration and browser compatibility — to name a few).<br />
I&#8217;d be happy to hear your comments on this. Please share more info here. Also check out Ajaxinfo&#8217;s <a href="http://www.ajaxinfo.com/default~viewart~22.htm">Call for AJAX Studies</a>.</p>
<p><strong>UPDATE:  </strong>Just saw Jonathan Boutelle&#8217;s <a title="Jonathan Boutelle: Bandwith Savings with AJAX" href="http://www.jonathanboutelle.com/mt/archives/2006/01/bandwidth_savin.html">Bandwidth Savings with AJAX</a> blog post, that covers the same story and has a good point on AJAX fit frequently used applications:</p>
<blockquote><p>The old-school RIA technology vendors always made the claim that using the RIA paradigm saves you bandwidth. Numbers on this were always hard to get, and hard to trust.</p>
<p>Theoretically it always made sense that an RIA would consume less bandwidth (in exchange for a larger initial download). The longer a user continues to use the application, the greater this benefit (so an RIA word processor might make more sense than an RIA news site).</p>
<p>Now, watching a keynote presentation takes at least an hour, so it&#8217;s definitely long enough to provide benefit. What we see in this case is really different though: AJAX is basically being used as a <em>broadcast technique</em>, grabbing new data every minute so that the user doesn&#8217;t have to refresh the entire page. For covering live events that have a large audience, this makes a ton of sense. Expect to see more content sites &#8220;pushing&#8221; content out to their users this way.</p></blockquote>
<p><small>Technorati Tags: <a href="http://technorati.com/tag/macrumor" rel="tag">macrumor</a>, <a href="http://technorati.com/tag/ajax" rel="tag"> ajax</a>, <a href="http://technorati.com/tag/performance" rel="tag"> performance</a>, <a href="http://technorati.com/tag/ajaxian" rel="tag"> ajaxian</a>, <a href="http://technorati.com/tag/macworld" rel="tag"> macworld</a>, <a href="http://technorati.com/tag/architecture" rel="tag"> architecture</a>, <a href="http://technorati.com/tag/webdevelopment" rel="tag"> webdevelopment</a></small></p>
]]></content:encoded>
			<wfw:commentRss>http://justaddwater.dk/2006/01/14/ajax-performance-stats-roi-and-business-value/feed/</wfw:commentRss>
		<slash:comments>22</slash:comments>
		</item>
	</channel>
</rss>

