<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">
  <channel>
    <title>Software Industrialization</title>
    <link>http://softwareindustrialization.com/</link>
    <description>Software Industrialization</description>
    <language>en-us</language>
    <copyright>Mitch Barnett</copyright>
    <lastBuildDate>Tue, 19 May 2009 05:11:53 GMT</lastBuildDate>
    <generator>newtelligence dasBlog 2.2.8279.16125</generator>
    <managingEditor>mbarnett@uniserve.com</managingEditor>
    <webMaster>mbarnett@uniserve.com</webMaster>
    <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/softwareindustrialization" type="application/rss+xml" /><feedburner:browserFriendly>This is an XML content feed. It is intended to be viewed in a newsreader or syndicated to another site, subject to copyright and fair use.</feedburner:browserFriendly><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
      <trackback:ping>http://softwareindustrialization.com/Trackback.aspx?guid=c22ba764-25e7-4c27-b582-d19e5893ef71</trackback:ping>
      <pingback:server>http://softwareindustrialization.com/pingback.aspx</pingback:server>
      <pingback:target>http://softwareindustrialization.com/PermaLink,guid,c22ba764-25e7-4c27-b582-d19e5893ef71.aspx</pingback:target>
      <dc:creator>Mitch Barnett</dc:creator>
      <wfw:comment>http://softwareindustrialization.com/CommentView,guid,c22ba764-25e7-4c27-b582-d19e5893ef71.aspx</wfw:comment>
      <wfw:commentRss>http://softwareindustrialization.com/SyndicationService.asmx/GetEntryCommentsRss?guid=c22ba764-25e7-4c27-b582-d19e5893ef71</wfw:commentRss>
      <title>Unprecedented – A Two Year Software Guarantee!</title>
      <guid isPermaLink="false">http://softwareindustrialization.com/PermaLink,guid,c22ba764-25e7-4c27-b582-d19e5893ef71.aspx</guid>
      <link>http://feedproxy.google.com/~r/softwareindustrialization/~3/1T5XWBhD5N8/UnprecedentedATwoYearSoftwareGuarantee.aspx</link>
      <pubDate>Tue, 19 May 2009 05:11:53 GMT</pubDate>
      <description>&lt;p style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;font color=#000000&gt;As an 18 software development professional, I have been waiting
for this day for a long time.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Honestly,
I thought this day would never happen in my lifetime, but it did and in a form I would
have never guessed:&lt;/font&gt;
&lt;/p&gt;
&lt;p style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;
&lt;font color=#000000&gt;“&lt;a href="http://news.bbc.co.uk/1/hi/technology/8044125.stm"&gt;The
future of games development has been called into question after the EU Commission
suggested developers provide a two year guarantee&lt;/a&gt;.”&amp;nbsp;&lt;/font&gt;&lt;font color=#000000&gt; &lt;/font&gt;
&lt;/p&gt;
&lt;p style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;
&lt;font color=#000000&gt;Two year guarantee on… games?&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;I
would have thought that &lt;a href="http://en.wikipedia.org/wiki/Therac-25"&gt;medical software&lt;/a&gt;&amp;nbsp;or &lt;a href="http://web.archive.org/web/20050830190246/www.fastcompany.com/magazine/06/writestuff.html"&gt;aviation/guidance
software&lt;/a&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;or any other software application/system
that could put people in harms way would have been the first industries to have instituted
guarantees on defective software.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;
&lt;font color=#000000&gt;Never did it cross my mind that it would be the gaming industry,
but then again, after thinking about it, it makes perfect sense.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;&lt;a href="http://en.wikipedia.org/wiki/Video_game_industry"&gt;Video
games are a multi-billion dollar business&lt;/a&gt; targeted at mass consumers, a.k.a. the
public.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;So when lots of people’s games
don’t work, something has to give.&lt;/font&gt;
&lt;/p&gt;
&lt;p style="MARGIN: 0in 0in 0pt; tab-stops: 357.0pt" class=MsoNormal&gt;
&lt;span style="mso-tab-count: 1"&gt;&lt;font color=#000000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;
&lt;font color=#000000&gt;The key clause is, "two year guarantee on all games in the event
that a bug or glitch is encountered preventing you from completing the game and/or
ruining the experience."&lt;/font&gt;
&lt;/p&gt;
&lt;p style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;
&lt;font color=#000000&gt;As the articles states:&lt;/font&gt;
&lt;/p&gt;
&lt;p style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p style="MARGIN: 0in 0in 0pt 0.5in" class=MsoNormal&gt;
&lt;font color=#000000&gt;“At present, retailers are not obliged to give a refund on a video
game that has a bug or glitch that prevents a user completing a game. If the proposals
become law, this could change as users would have the right "to get a product that
works with fair commercial conditions". &lt;/font&gt;
&lt;/p&gt;
&lt;p style="MARGIN: 0in 0in 0pt 0.5in" class=MsoNormal&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;
&lt;font color=#000000&gt;Note it says proposal, but I say great, it is about time!&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Why
is it only in the software industry, people and corporations spend trillions of dollars
on software and none of it is guaranteed? &lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;No,
I don’t mean delivery guarantees, or warranty periods, I mean outright quality guarantees.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;
&lt;font color=#000000&gt;For me, as someone who develops software, I could not be happier.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;This
marks the day that there is enough critical mass in the public to demand better quality
software products.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Really it means that
software will need more engineering, as in &lt;a href="http://en.wikipedia.org/wiki/Software_engineering"&gt;software
engineering&lt;/a&gt;.&lt;/font&gt;&lt;font color=#000000&gt; &lt;/font&gt;
&lt;/p&gt;
&lt;p style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p style="MARGIN: 0in 0in 0pt 0.5in" class=MsoNormal&gt;
&lt;font color=#000000&gt;“Software engineering is the application of a systematic, disciplined,
quantifiable approach to the development, operation, and maintenance of software,
and the study of these approaches; that is, the application of engineering to software.”&lt;/font&gt;
&lt;/p&gt;
&lt;p style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;
&lt;font color=#000000&gt;At age 50, I have had two careers, the first in electronics engineering,
where the application of systematic, disciplined, quantifiable approach… was never
even questioned, talked about, it was simply expected, standard operating procedure,
institutionalized, etc.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;But when I entered
my software career in 1991, I was very surprised to find that in the software world,
there were debates going on, still today, whether software development is engineering
or art or science or…&lt;/font&gt;
&lt;/p&gt;
&lt;p style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;
&lt;font color=#000000&gt;Fortunately today, many universities are offering undergraduate
degrees in &lt;a href="http://www.bseng.uvic.ca/pages/prospect/details.html"&gt;software
engineering&lt;/a&gt;&amp;nbsp;and have defined the &lt;a href="http://www.cs.concordia.ca/prospectivestudents/softwareengineeringvscomputerscience/"&gt;difference
between computer science and software engineering&lt;/a&gt;.&amp;nbsp;&lt;/font&gt;&lt;font color=#000000&gt; &lt;/font&gt;
&lt;/p&gt;
&lt;p style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;
&lt;font color=#000000&gt;This means that younger generations will be more exposed to software
engineering rather than us “old guys” where there was no such thing called software
engineering when we went to university.&lt;/font&gt;
&lt;/p&gt;
&lt;p style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;
&lt;font color=#000000&gt;&lt;?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" /&gt;I
also believe that software engineers should be licensed as Professional Engineers
(P.Eng. in 
&lt;st1:country-region w:st="on"&gt;
&lt;st1:place w:st="on"&gt;Canada&lt;/st1:place&gt;
&lt;/st1:country-region&gt;
).&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;In fact, in 
&lt;st1:State w:st="on"&gt;British Columbia&lt;/st1:State&gt;
, 
&lt;st1:State w:st="on"&gt;Alberta&lt;/st1:State&gt;
and 
&lt;st1:State w:st="on"&gt;
&lt;st1:place w:st="on"&gt;Ontario&lt;/st1:place&gt;
&lt;/st1:State&gt;
, you can be &lt;a href="http://www.apeg.bc.ca/reg/pengappdocsrequired.html"&gt;licensed
as a professional software engineer&lt;/a&gt;.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;font color=#000000&gt; &lt;/font&gt;
&lt;/p&gt;
&lt;p style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;
&lt;font color=#000000&gt;You can read an excellent paper on, "&lt;a href="http://www.computer.org/portal/cms_docs_software/software/homepage/2008/s6car.pdf"&gt;Licensing
Software Engineers&lt;/a&gt;"&amp;nbsp;by Philippe Kruchten&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;From
the article, “The only purpose of licensing software engineers is to protect the public.”&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;I
totally agree.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Now Philippe suggests
that licensing software engineers who designs&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;and
develops software that can kill is protecting the public.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;I
agree with that as well.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;But I would
take bit of a broader definition that not only includes software that kills, but again
protects the public from financial impact, which basically covers most business software,
like ecommerce, banking, trading insurance and any applications that deal with money,
but also even t the point of gaming software, which is what this article began with
and the proposed two year warranty.&lt;/font&gt;
&lt;/p&gt;
&lt;p style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;
&lt;font color=#000000&gt;Perhaps a little reflection is required to let what I am saying
fully sink in.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;For any software development
project that has any impact on the public, financial or otherwise, the software engineer
responsible for “sealing” the blueprints should be a licensed software engineer.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;A
licensed professional software engineer is bound by professional practice and code
of ethics.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;That means that a licensed
professional software engineer is legally responsible for the design of the software.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Think
about that.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Aside from the responsibility,
the way software is designed and engineered is going to change in our world.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;I
can only be grateful for that and like I said early on, it is about time.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Today
is a red letter day!&lt;/font&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://softwareindustrialization.com/aggbug.ashx?id=c22ba764-25e7-4c27-b582-d19e5893ef71" /&gt;&lt;img src="http://feeds.feedburner.com/~r/softwareindustrialization/~4/1T5XWBhD5N8" height="1" width="1"/&gt;</description>
      <comments>http://softwareindustrialization.com/CommentView,guid,c22ba764-25e7-4c27-b582-d19e5893ef71.aspx</comments>
      <category>Engineering</category>
    <feedburner:origLink>http://softwareindustrialization.com/UnprecedentedATwoYearSoftwareGuarantee.aspx</feedburner:origLink></item>
    <item>
      <trackback:ping>http://softwareindustrialization.com/Trackback.aspx?guid=a39dfd70-91b8-4c41-ab77-514bc4127c6d</trackback:ping>
      <pingback:server>http://softwareindustrialization.com/pingback.aspx</pingback:server>
      <pingback:target>http://softwareindustrialization.com/PermaLink,guid,a39dfd70-91b8-4c41-ab77-514bc4127c6d.aspx</pingback:target>
      <dc:creator>Mitch Barnett</dc:creator>
      <wfw:comment>http://softwareindustrialization.com/CommentView,guid,a39dfd70-91b8-4c41-ab77-514bc4127c6d.aspx</wfw:comment>
      <wfw:commentRss>http://softwareindustrialization.com/SyndicationService.asmx/GetEntryCommentsRss?guid=a39dfd70-91b8-4c41-ab77-514bc4127c6d</wfw:commentRss>
      <title>Real Software Engineering</title>
      <guid isPermaLink="false">http://softwareindustrialization.com/PermaLink,guid,a39dfd70-91b8-4c41-ab77-514bc4127c6d.aspx</guid>
      <link>http://feedproxy.google.com/~r/softwareindustrialization/~3/6Z8bon73LXw/RealSoftwareEngineering.aspx</link>
      <pubDate>Tue, 12 May 2009 05:29:48 GMT</pubDate>
      <description>&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;Over a half dozen years or so, I have noticed a trend in our software
engineering world towards collecting less and less data about what we do and how well
we are doing it.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;This would be contrary
to lets say professional sports where data collection (i.e. stats) is a well know
practice and pastime, plus on the rise, whereas in our professional software engineering
world, it appears to be on the decline.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;I
wonder why?&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;A history lesson first.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;A
fantastic short paper called, “&lt;a href="http://www.cs.umd.edu/~basili/publications/proceedings/P94.pdf" target=_blank&gt;Lessons
learned from 25 years of process improvement: The Rise and Fall of the NASA Software
Engineering Laboratory&lt;/a&gt;”&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;provides some
real insight to a problem that now seems to be rippling through our industry en mass.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;I
would say the Software Engineering Laboratory (SEL) was ahead of its time and has
seen some possible future outcomes that may be coming true for some (most?) organizations
in the corporate world.&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;The SEL collected software engineering metrics on process improvement
from 1976 to 1991 and beyond.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;I am not
going to summarize the lessons here, you can read the excellent paper for that, and
if you were/are ever a part of a real software engineering organization, none of the
lessons learned should come as a surprise.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;But
I think that is the real lesson to be learned from this paper and the amazing contributions
to software engineering that came out of the SEL and that is, very few organization
are actually practicing real software engineering process improvement.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;And
in fact, I would suggest that the latest trends in software development lifecycles,
like Agile, XP, Scrum, et al are actually going the other way.&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;Allow me to explain where I am coming from; here is one of the
lessons learned from the SEL: &lt;em&gt;“Establishing a baseline of an organization’s products,
processes, and goals is critical to any improvement program.”&lt;/em&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;In
most other industries, this is a given, including professional sports.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Heck
even in non professional sports, like your college track and field events, you establish
your baseline for the 100 yard/meter sprint and constantly trying to improve on that
as a simple example.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Yet, in the software
engineering world, where is our baseline?&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;We
have embarrassing baselines like spending &lt;a href="http://lrv.fri.uni-lj.si/~franc/COURSES/VP/FBI.pdf" target=_blank&gt;millions&lt;/a&gt; and &lt;a href="http://www.cbc.ca/news/story/2004/02/13/gunregistry_rdi040213.html" target=_blank&gt;billions&lt;/a&gt; (note
- how embarrasing, in my home country!) of software that is of poor quality or &lt;a href="http://www.cds.caltech.edu/conferences/1997/vecs/tutorial/Examples/Cases/failures.htm" target=_blank&gt;doesn’t
even work&lt;/a&gt;.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Maybe that is why we don’t
measure ourselves?&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;We have “new” software development lifecycle methodologies that
promote no collecting metrics on how well we are developing software.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Its
astounding and disturbing, not only to me but to businesses that are forking over
millions of dollars for software development projects that seem to have nothing more
than an ad hoc process of going wherever the project meanders, no matter how long
or at what cost, let alone even validating if the right problem is even being solved
in the first place.&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;How do I know this?&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;&lt;?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" /&gt;I
have been in the software engineering business for 18 years and had the privilege
to have experienced many a software shop ranging from&amp;nbsp;multinationals like Eastman
Kodak, Motorola to midsize companies and to small start ups, including my own, in
several different industry verticals and locations in 
&lt;st1:place w:st="on"&gt;North America&lt;/st1:place&gt;
.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;I had the good fortune of being taught
Software Engineering Management, a 2 year post graduate program&amp;nbsp;from the University
of Calgary, taught&amp;nbsp;by Motorola University, where each of the &lt;a href="http://www.masetllc.com/about/karl.shtml" target=_blank&gt;instructors
had many a year experience and stories&lt;/a&gt; about software engineering projects, both
failures and successes and most importantly, what the differences were/are.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;I
have kept in touch with past employees/friends in the industry to hear interesting
anecdotes over a virtual beer.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;And finally,
I spend a lot of time researching and reading about software engineering in general.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;And my conclusion is that we as an industry are (way) off track
and seem to be heading further off track with the invention and adoption of new methodologies
that are not based on (any) actual factual experience/metrics/historical data&amp;nbsp;like
the 25 years of solid software engineering experience that the SEL has produced.&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;Why do I believe that?&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;I
see it everyday and in several companies that I may come in contact with due to my
job.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;I don’t need any further proof than
that.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Just even the simple metric of
“establishing a baseline” of anything in your organization should be proof enough
for you.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;What data have you collected
for x software engineering projects you have undertaken, in any of the companies you
have worked for?&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;I bet it is a small
percentage, if any at all.&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;Why is that?&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;I think
the SEL folks hit it on the head with one of their lessons learned, &lt;em&gt;“It is difficult
to make an engineering organization aware of the importance of software engineering
to their mission.”&lt;/em&gt; I would substitute engineering organization with “any” organization.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Software
is everywhere and in everything.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;It is
almost as ubiquitous as the telephone or power, yet we have no way to measure its
quality, effectiveness or how productive we are at&amp;nbsp;designing and constructing&amp;nbsp;it.&amp;nbsp;
In fact, I would say that that any given orgranization is not even aware of how important
the role of software plays in their very own organization.&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;And we software engineers, developers, programmers, coders, craftsman,
or whatever we believe in (I believe that software design and construction is an &lt;a href="http://www.apeg.bc.ca/reg/pengappdocsrequired.html#other" target=_blank&gt;engineering
discipline&lt;/a&gt;) are our own worst enemies.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Behold,
I give you &lt;a href="http://www.reddit.com/r/programming/" target=_blank&gt;programming.reddit.com&lt;/a&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;where
almost 100,000 subscribers argue over which is the best is programming language, ever,
every day, year after year.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Or &lt;a href="http://www.codinghorror.com/blog/" target=_blank&gt;CodingHorror.com&lt;/a&gt;,&amp;nbsp;&lt;/font&gt;&lt;font color=#000000&gt;with
+100,000 subscribers, with its blog name, light hearted or not, sends the wrong message
to the masses that coding results in a horror show. Or even &lt;a href="http://news.ycombinator.com/" target=_blank&gt;Hacker
News&lt;/a&gt;&lt;/font&gt;&lt;font color=#000000&gt;… How would any organization looking to solve a
serious business problem that costs millions of dollars in software engineering take
anyone of these seriously?&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Or just assume
that the whole lot of us is represented by these blogs and news feeds?&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;No
wonder we&amp;nbsp;have credibility problems.&amp;nbsp; No wonder we don't collect stats!&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;So what we do about it?&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Just
like anything, it takes a lot of hard work and some critical mass for an organization
to realize that software may be a big part of their business and that maybe they should
seriously consider looking at how software could be engineered for their business
based on real software engineering principles and not on the latest and greatest fad
of the month.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;I don’t know about you,
but if I was to spend a million dollars on any software engineering project, I would
want to be sure that it was on budget, on time, had some level of quality in it and
actually solved the right problem.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; Establishing
a baseline of what you are doing and how well you are doing it, is the start of real
software engineering.&lt;/span&gt;&amp;nbsp;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://softwareindustrialization.com/aggbug.ashx?id=a39dfd70-91b8-4c41-ab77-514bc4127c6d" /&gt;&lt;img src="http://feeds.feedburner.com/~r/softwareindustrialization/~4/6Z8bon73LXw" height="1" width="1"/&gt;</description>
      <comments>http://softwareindustrialization.com/CommentView,guid,a39dfd70-91b8-4c41-ab77-514bc4127c6d.aspx</comments>
      <category>Engineering</category>
    <feedburner:origLink>http://softwareindustrialization.com/RealSoftwareEngineering.aspx</feedburner:origLink></item>
    <item>
      <trackback:ping>http://softwareindustrialization.com/Trackback.aspx?guid=345da289-36f7-41f2-9cf0-fd10c27e3220</trackback:ping>
      <pingback:server>http://softwareindustrialization.com/pingback.aspx</pingback:server>
      <pingback:target>http://softwareindustrialization.com/PermaLink,guid,345da289-36f7-41f2-9cf0-fd10c27e3220.aspx</pingback:target>
      <dc:creator>Mitch Barnett</dc:creator>
      <wfw:comment>http://softwareindustrialization.com/CommentView,guid,345da289-36f7-41f2-9cf0-fd10c27e3220.aspx</wfw:comment>
      <wfw:commentRss>http://softwareindustrialization.com/SyndicationService.asmx/GetEntryCommentsRss?guid=345da289-36f7-41f2-9cf0-fd10c27e3220</wfw:commentRss>
      <slash:comments>4</slash:comments>
      <title>Programming Language Proliferation</title>
      <guid isPermaLink="false">http://softwareindustrialization.com/PermaLink,guid,345da289-36f7-41f2-9cf0-fd10c27e3220.aspx</guid>
      <link>http://feedproxy.google.com/~r/softwareindustrialization/~3/pX1s3nfOdNw/ProgrammingLanguageProliferation.aspx</link>
      <pubDate>Wed, 15 Apr 2009 06:42:06 GMT</pubDate>
      <description>&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;Ola Bini wrote an interesting article called, “&lt;a href="http://olabini.com/blog/2009/04/languages-should-die/" target=_blank&gt;Languages
Should Die&lt;/a&gt;.”&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;font color=#000000&gt; I
was hoping that this was really the case, but actually it was the opposite.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;I
believe it is this type of thinking (i.e. language proliferation) that has our software
development industry in trouble:&lt;/font&gt;
&lt;/p&gt;
&lt;blockquote dir=ltr style="MARGIN-RIGHT: 0px"&gt; 
&lt;p&gt;
&lt;font color=#000000&gt;&lt;em&gt;“No existing language will die in a long time. But we need
new ideas. New fresh ways of looking at things. And new languages that incorporate
what other languages do right. That’s how we will finally get rid of the things we
don’t like in our current languages.&lt;/em&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font color=#000000&gt;&lt;em&gt;You should be ready to abandon your favorite language for
something better.”&lt;/em&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;p&gt;
&lt;font color=#000000&gt;Define better.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Define
do right.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;I feel we have already reached
good enough long ago with C or Smalltalk.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Heck,
Smalltalk is one of the simplest languages there is -&amp;nbsp;the &lt;a href="http://esug.heeg.de/whyusesmalltalktoteachoop/smalltalksyntaxonapostcard/" target=_blank&gt;entire
language syntax can fit on a postcard&lt;/a&gt;.&lt;/font&gt;&lt;font color=#000000&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;What
more do we want?&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Oh sure, there are some
small technical issues, like with all languages, but technical deficiencies is not
what did in Smalltalk, it was marketing, but I digress.&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font color=#000000&gt;&lt;a href="http://en.wikipedia.org/wiki/Alphabetical_list_of_programming_languages" target=_blank&gt;Wikipedia
says there are +560 programming languages&lt;/a&gt;. &lt;/font&gt;&lt;font color=#000000&gt;&amp;nbsp;Sure
they are not all in use today, but how many programming languages do we really need?&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;How
many written and/or spoken languages (i.e. English, Spanish, German, etc.) do you
know well?&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Expert level?&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;How
many people do you know that are expert level in 2 or more spoken and/or written languages?&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;How
about 5 or more spoken and/or written languages?&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;How
long do you think it would take for you to learn 5 spoken/written languages at an
expert level?&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Apply your &lt;a href="http://softwareindustrialization.com/COCOMOIIOnlineEstimationTool.aspx" target=_blank&gt;CoCoMo
model&lt;/a&gt; &lt;/font&gt;&lt;font color=#000000&gt;to that!&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font color=#000000&gt;Yet, for any web developer, typically you need to know one or
more core languages like C#, Java, Python, whatever, along with HTML, CSS, JavaScript
and then usually your app is hooked to a database so you need to know some dialect
of SQL.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Ok that’s five languages right
there.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;How many of us are expert in those
5 languages? I mean honestly. And of course there are variations for each language
– example, look at the difference between C# 3.0 and 4.0.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;&lt;?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" /&gt;And
for each language, there is one to many frameworks to learn as well – e.g. 
&lt;st1:place w:st="on"&gt;
&lt;st1:City w:st="on"&gt;AJAX&lt;/st1:City&gt;
&lt;/st1:place&gt;
frameworks like JQuery, Mootools, Prototype, etc.&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font color=#000000&gt;It is no wonder to me that we cannot get any real work done as
we are all learning existing or new languages, frameworks, etc.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;It
is no wonder to me that business is getting pissed off at developers in general because
everything takes too long, too error prone and worse it does not meet their requirements.&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font color=#000000&gt;Ok my point is not to be some old stodgy dinosaur, yeah I just
turned 50, but I have a 6 year old daughter that can play Lego Star Wars better than
I can.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;I am not trying to stifle innovation,
but let’s be smart about what we are trying to innovate.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Here
is an excellent example in my neck of the woods, I spent a bunch of time learning
C# since 2000 and kept up with the versions.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Recently,
I went to &lt;a href="http://www.microsoftpdc.com/" target=_blank&gt;PDC&lt;/a&gt;&lt;/font&gt;&lt;font color=#000000&gt; and
checked out all of the &lt;a href="http://blogs.msdn.com/charlie/archive/2008/11/04/new-features-in-c-4-0-paper-plus-feedback-and-samples.aspx" target=_blank&gt;new
C# 4.0 features.&lt;/a&gt;&lt;/font&gt;&lt;font color=#000000&gt;&amp;nbsp;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;One
of them was introducing a &lt;a href="http://channel9.msdn.com/shows/Going+Deep/Inside-C-40-dynamic-type-optional-parameters-more-COM-friendly/" target=_blank&gt;dynamic
type&lt;/a&gt;&amp;nbsp;&lt;/font&gt;&lt;font color=#000000&gt;to what is otherwise a very statically typed
language.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;I used &lt;a href="http://www.codeplex.com/IronPython" target=_blank&gt;(Iron)Python&lt;/a&gt;&lt;/font&gt;&lt;font color=#000000&gt; for
my dynamic needs and now some of that is in C#.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Is
that good, bad, better or worse or what?&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Damned
if I know, it is yet another thing I have to figure out as a software engineer.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Oh,
and &lt;a href="http://msdn.microsoft.com/en-ca/fsharp/default.aspx" target=_blank&gt;I
really liked F#&lt;/a&gt;, a brand new functional language.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;So
how many days, months or years do I need to invest in learning F# to become an expert?&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;And
most importantly, why would I do that?&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Other
than the coolness factor, admittedly really cool to me personally, but what possible
business value or real world application does it have that would cause me to use it?&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Answer
= none.&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font color=#000000&gt;See what I mean?&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;As
Ola says, &lt;/font&gt;
&lt;/p&gt;
&lt;blockquote dir=ltr style="MARGIN-RIGHT: 0px"&gt; 
&lt;p&gt;
&lt;font color=#000000&gt;&lt;em&gt;“So - you should go out and fork your favorite language. Or
your least favorite language. Fix the things that you don’t like with it. Modify it
for a specific domain. Remove some of the cruft. Create a new small language. It doesn’t
have to be big. It doesn’t have to do everything - one of the really cool things about
functional languages is that they are often have a very small core. Use a similar
approach. Hack around. See what happens.”&lt;/em&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;p&gt;
&lt;font color=#000000&gt;Give me one sound business reason why this would be a good thing
to do?&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;You want a simpler language, well,
we have that already, see Smalltalk example above.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;You
want a better or a “right” programming language, you better have some real definitions
as to what those mean, have identified real shortcomings (not just some syntactic
sugar) in any other mainstream language, and your proposed improvement must be like
10X or why do it?&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font color=#000000&gt;I feel that we already have (more than) enough programming languages
to choose from.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Let alone the frameworks
and batteries that come with them. We software developers/programmers/engineers seem
to be our own worst enemies as we are causing more and more complexity to a domain
that is already complex enough.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;What
are we really doing to reduce the complexity instead of adding more?&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Adding
another language to my skill set like F# (which I would love to learn personally)
absolutely has no business value for me or my customers in my world of ecommerce web
applications.&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font color=#000000&gt;In my software engineering world, I am looking at every angle
to reduce complexity.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;It is simply a
matter of numbers, the less is better.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;So
if I can reduce the number of programming languages, frameworks, integration points,
executables, assemblies, etc., the simpler the solution, the lower the cost, the less
time to deliver, the easier it is to change and maintain and therefore representing
the best business value to the purchaser of the custom developed software.&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font color=#000000&gt;However, these days it feels like I am a minority in our software
industry as we proliferate everything, including &lt;a href="http://softwareindustrialization.com/SoftwareDevelopmentGoneInsane.aspx" target=_blank&gt;software
development methodologies until it becomes insane&lt;/a&gt;.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;I
am concerned that this is happening to programming languages (and everything else
in our software development industry) as well.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Just
like the financial market situation we are in now, I am wondering when that will happen
in our industry?&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;For all of our brain
power, we seem to be following the same path.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;What
is it going to take to divert this path?&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;When
will the pendulum swing the other way to favor economic sense (i.e. proven software
engineering principles) instead of the crazy proliferation of anything in the name
of continuous improvement?&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font color=#000000&gt;As Brad Cox says in, “&lt;a href="http://virtualschool.edu/cox/pub/PSIR/" target=_blank&gt;Planning
the Software Industrial Revolution&lt;/a&gt;, I only wish that I were as confident that
the changes will come quickly or that we, the current software development community,
will be the ones who make it happen. Or will we stay busy at our terminals, filing
away at software like gunsmiths at iron bars, and leave it to our consumers to find
a solution that leaves us sitting there? “&lt;/font&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://softwareindustrialization.com/aggbug.ashx?id=345da289-36f7-41f2-9cf0-fd10c27e3220" /&gt;&lt;img src="http://feeds.feedburner.com/~r/softwareindustrialization/~4/pX1s3nfOdNw" height="1" width="1"/&gt;</description>
      <comments>http://softwareindustrialization.com/CommentView,guid,345da289-36f7-41f2-9cf0-fd10c27e3220.aspx</comments>
      <category>Industrialization</category>
    <feedburner:origLink>http://softwareindustrialization.com/ProgrammingLanguageProliferation.aspx</feedburner:origLink></item>
    <item>
      <trackback:ping>http://softwareindustrialization.com/Trackback.aspx?guid=3e4ade5c-21b5-45d3-8851-213048198c15</trackback:ping>
      <pingback:server>http://softwareindustrialization.com/pingback.aspx</pingback:server>
      <pingback:target>http://softwareindustrialization.com/PermaLink,guid,3e4ade5c-21b5-45d3-8851-213048198c15.aspx</pingback:target>
      <dc:creator>Mitch Barnett</dc:creator>
      <wfw:comment>http://softwareindustrialization.com/CommentView,guid,3e4ade5c-21b5-45d3-8851-213048198c15.aspx</wfw:comment>
      <wfw:commentRss>http://softwareindustrialization.com/SyndicationService.asmx/GetEntryCommentsRss?guid=3e4ade5c-21b5-45d3-8851-213048198c15</wfw:commentRss>
      <slash:comments>8</slash:comments>
      <title>Software Development Gone Insane</title>
      <guid isPermaLink="false">http://softwareindustrialization.com/PermaLink,guid,3e4ade5c-21b5-45d3-8851-213048198c15.aspx</guid>
      <link>http://feedproxy.google.com/~r/softwareindustrialization/~3/hbD0UvT7itE/SoftwareDevelopmentGoneInsane.aspx</link>
      <pubDate>Thu, 09 Apr 2009 06:43:44 GMT</pubDate>
      <description>&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;I may be getting old, but I don’t think I am out of touch.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;
M&lt;/span&gt;y sanity of being a software development professional seems to be tested daily
by our industries predilection for &lt;a href="http://en.wikipedia.org/wiki/No_Silver_Bullet" target=_blank&gt;Silver
Bullets&lt;/a&gt;.&amp;nbsp;&lt;/font&gt;&lt;font color=#000000&gt; The latest it seems is &lt;a href="http://www.lulu.com/content/3864767" target=_blank&gt;Scrumban&lt;/a&gt;.&lt;/font&gt;&lt;font color=#000000&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;My
wife can’t stop laughing when I say it to her.&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; tab-stops: 4.5in"&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; tab-stops: 4.5in"&gt;
&lt;font color=#000000&gt;I have not read the book, so I have no opinion on it.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;I
have read some of the &lt;a href="http://leansoftwareengineering.com/" target=_blank&gt;author’s
blog material&lt;/a&gt;.&lt;/font&gt;&lt;font color=#000000&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Seriously,
I mean no disrespect to Corey Ladas at all, but when I read the material, I can’t
help to think that this is written by someone with a MBA.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;When
I &lt;a href="http://leansoftwareengineering.com/2009/04/07/feature-crews/" target=_blank&gt;read
this article&lt;/a&gt;,&lt;/font&gt;&lt;font color=#000000&gt; I think I get what he is saying, but
I swear it is written in a different language than the software engineering world
I live in.&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; tab-stops: 4.5in"&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; tab-stops: 4.5in"&gt;
&lt;font color=#000000&gt;Regardless of what marketing terms are used, the reality is that
software development is always: understanding the requirements, creating a design,
implementing the design, and testing the design and implementation to ensure it meets
the requirements. Requirements, Design, Code and Test.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;&lt;a href="http://en.wikipedia.org/wiki/True_Romance" target=_blank&gt;Always
have, always will&lt;/a&gt;&lt;/font&gt;&lt;font color=#000000&gt;, no matter what other fancy (marketing)
words are used to describe it.&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; tab-stops: 4.5in"&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; tab-stops: 4.5in"&gt;
&lt;font color=#000000&gt;With respect to very large software projects, I understand the
label Feature Crews, but to me, this is nothing more than classic &lt;a href="http://en.wikipedia.org/wiki/Decomposition_(computer_science)" target=_blank&gt;functional
decomposition&lt;/a&gt;&amp;nbsp;&lt;/font&gt;&lt;font color=#000000&gt;at work, but with a new (fancy marketing)
label.&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; tab-stops: 4.5in"&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; tab-stops: 4.5in"&gt;
&lt;font color=#000000&gt;Questions&amp;nbsp;that the Agile, Scrum, Lean, &lt;a href="http://en.wikipedia.org/wiki/Things_to_Do_in_Denver_When_You're_Dead" target=_blank&gt;give
it a name&lt;/a&gt;&lt;/font&gt;&lt;font color=#000000&gt;,&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;practitioners
seem to never answer is the two most asked questions by people that pay for software
development projects, which are, “how much is it going to cost and how long is it
going to take?”&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;It seems there is no
best practice in any of these methodologies to answer these fundamental questions
as these methodologies are focused on very limited scopes of the project as opposed
to the entire project.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;And quite frankly,
that is my main beef with these Silver Bullet’s, because as Fred Brooks postulated
23 years ago, there is no such thing as a &lt;a href="http://en.wikipedia.org/wiki/No_Silver_Bullet" target=_blank&gt;Silver
Bullet&lt;/a&gt;&amp;nbsp;&lt;/font&gt;&lt;font color=#000000&gt;in software development.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;
I&lt;/span&gt;n my opinion and professional experience, he is right.&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; tab-stops: 4.5in"&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; tab-stops: 4.5in"&gt;
&lt;font color=#000000&gt;Software development is an incredibly complex, massively manual
labor intensive effort, whose primary work product is lines of source code.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;For
people that write code day in and day out, know this&amp;nbsp;to be&amp;nbsp;the truth.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;There
is no hiding from it.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;We grind it out
as we know how and love it.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;So when I
am asked how much the software development project &lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;is
going to cost and how long it is going to take, I apply a tried and trued approach
to answer what is a very, very difficult question.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;This
is why you see software estimation models like the Constructive Cost Model or CoCoMo
for short.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;You can &lt;a href="http://sunset.usc.edu/research/COCOMOII/Docs/modelman.pdf"&gt;read
the gory details of the model here. PDF alert!&lt;/a&gt;&amp;nbsp;&lt;/font&gt;&lt;font color=#000000&gt; No
surprise to see that counting lines of source code (or equivalent lines of source
code) is the way to answer the tough question of how long and how much.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;&lt;a href="http://en.wikipedia.org/wiki/Barry_Boehm"&gt;Dr.
Barry Boehm&lt;/a&gt; had it figured out&lt;/font&gt;&lt;font color=#000000&gt; years ago.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;&lt;?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" /&gt;When
I took Software Engineering as a post graduate course at the 
&lt;st1:place w:st="on"&gt;
&lt;st1:PlaceType w:st="on"&gt;University&lt;/st1:PlaceType&gt;
of 
&lt;st1:PlaceName w:st="on"&gt;Calgary&lt;/st1:PlaceName&gt;
&lt;/st1:place&gt;
, this is what we were taught and has been consistent with what I have found in the
field.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;So yes, I use CoCoMo to answer
the ugly, gnarly questions. And there are several automated tools that implement CoCoMo’s
model, &lt;a href="http://softwareindustrialization.com/COCOMOIIOnlineEstimationTool.aspx" target=_blank&gt;even
ones online&lt;/a&gt;.&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; tab-stops: 4.5in"&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; tab-stops: 4.5in"&gt;
&lt;font color=#000000&gt;So what has happened to our software development industry that
we need to keep reinventing the wheel in the name of continuous improvement?&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;I
think it is indicative of anything that is really tough to do.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Everyone
is looking for an easy answer or the next big thing.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;But
as most things in life, the answer is already figured out.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;You
just need to look in the right place, listen to wisdom and apply some common sense.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Congratulations,
you just made pro software engineer!&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; tab-stops: 4.5in"&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt; tab-stops: 4.5in"&gt;
&lt;font color=#000000&gt;What’s my point?&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;My
point is two fold.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Our software development
industry is being run by marketing people and has gone insane ;-)&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Ok,
I half jest.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;I know over time the pendulum
will swing back to the basic fundamentals of what software development really is.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;My
other point is to the young aspiring software engineers.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Kids,
look at some of the real software engineering techniques that hold up to the test
of time.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;These are the gems.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;This
is what is real in our industry.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;CoCoMo
is real, it works, and is based on facts and historical proof.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;If
you were to only read one book on software engineering, read the &lt;a href="http://www.amazon.com/Mythical-Man-Month-Software-Engineering-Anniversary/dp/0201835959" target=_blank&gt;Mythical
Man Month&lt;/a&gt; as it embodies what is really happening in our software development
world, regardless of when the book was written.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;There
is a reason why &lt;a href="http://en.wikipedia.org/wiki/Fred_Brooks" target=_blank&gt;Fred
Brooks&lt;/a&gt;&amp;nbsp;&lt;/font&gt;&lt;font color=#000000&gt;earned the Turing Award.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Your
assignment is to understand why.&lt;/font&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://softwareindustrialization.com/aggbug.ashx?id=3e4ade5c-21b5-45d3-8851-213048198c15" /&gt;&lt;img src="http://feeds.feedburner.com/~r/softwareindustrialization/~4/hbD0UvT7itE" height="1" width="1"/&gt;</description>
      <comments>http://softwareindustrialization.com/CommentView,guid,3e4ade5c-21b5-45d3-8851-213048198c15.aspx</comments>
      <category>Industrialization</category>
    <feedburner:origLink>http://softwareindustrialization.com/SoftwareDevelopmentGoneInsane.aspx</feedburner:origLink></item>
    <item>
      <trackback:ping>http://softwareindustrialization.com/Trackback.aspx?guid=de54f9db-58f8-447b-881e-5408596f9cb6</trackback:ping>
      <pingback:server>http://softwareindustrialization.com/pingback.aspx</pingback:server>
      <pingback:target>http://softwareindustrialization.com/PermaLink,guid,de54f9db-58f8-447b-881e-5408596f9cb6.aspx</pingback:target>
      <dc:creator>Mitch Barnett</dc:creator>
      <wfw:comment>http://softwareindustrialization.com/CommentView,guid,de54f9db-58f8-447b-881e-5408596f9cb6.aspx</wfw:comment>
      <wfw:commentRss>http://softwareindustrialization.com/SyndicationService.asmx/GetEntryCommentsRss?guid=de54f9db-58f8-447b-881e-5408596f9cb6</wfw:commentRss>
      <title>Brute Force Development (BFD)</title>
      <guid isPermaLink="false">http://softwareindustrialization.com/PermaLink,guid,de54f9db-58f8-447b-881e-5408596f9cb6.aspx</guid>
      <link>http://feedproxy.google.com/~r/softwareindustrialization/~3/i_LxKNMGlT8/BruteForceDevelopmentBFD.aspx</link>
      <pubDate>Tue, 10 Feb 2009 06:43:45 GMT</pubDate>
      <description>&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;Man, it seems that every few years there is a new software development
methodology that comes out and while not purported as the 2&lt;sup&gt;nd&lt;/sup&gt; coming, it
certainly has all of the fanfare of the latest and greatest. &lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;Let’s see there has been CMMI, TDD, Agile, Scrum, Lean, Waterfall,
Continuous Integration, Spiral, Extreme Programming, RAD, MDD, YAGNI, Cowboy Programming, &lt;a href="http://en.wikipedia.org/wiki/List_of_software_development_philosophies" target=_blank&gt;and
the list goes on&lt;/a&gt;&lt;/font&gt;&lt;font color=#000000&gt;.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;I
would like to add to the list an oldie but a goodie: Brute Force Development or BFD.&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;I would suggest that BFD is the most widely practiced software
development methodology in the world.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;In
fact, I would claim that the majority of organizations and people use this methodology
daily and have been since the inception of software development.&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;How do I know this? In the real world of software development,
where the size and complexity of even the smallest projects (e.g. &amp;gt;5000 lines of
code) exceed the allocated budget and timeline, almost everyone resorts to brute force
development in the end.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Why?&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Because,
we have to.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;How else can we do it?&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;When
was the last time, as a professional programmer, that you actually finished your project/product
on time and on budget?&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Did you do it
working 40 hours per week?&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Honestly?&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;Typically we start out with the best intentions, but as the schedule
starts to slip and the budget is disappearing at the rate that a 426 Hemi goes through
a tank of gas, we drop in BFD mode.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;We
try and do the impossible.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Extra hours
are burnt, features are slashed, quality goes out the window, and we brute force our
way to meet the impossible schedule.&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;Now, I am not complaining.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;This
is just an observation having worked in many different shops, large and small, including
my own start-up.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;We end up with BFD in
the end.&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;Heck even the guru himself (who I have nothing but respect for),
in his own post called, "&lt;a href="http://blogs.construx.com/blogs/stevemcc/archive/2007/09/23/building-a-fort-lessons-in-software-estimation.aspx" target=_blank&gt;Building
a Fort – Lessons in Software Estimation&lt;/a&gt;&lt;/font&gt;&lt;font color=#000000&gt;"&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;made
some pretty interesting slip ups.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;My
favorite was the, “I dropped a little piece of my laser level down the side of one
of the footing holes, between the concrete form and the dirt,&amp;nbsp;after I'd poured
the concrete.”&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Oh Steve, think of all
the things we have dropped in the software!&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;I will go out on a limb by saying I have yet to see any evidence
that we, as software architects, developers, estimators, etc., are actually getting
any better at this.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;I have been doing
this for 18 years professionally and maybe I am dreaming, but it seemed simpler years
ago. Not just that the requirements were simpler, but even from a technology standpoint.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;What
I mean is that software vendors that produce tools, programming languages and applications
have grown (seemingly) exponentially during this time frame as it seems any solution
(and the tooling, languages, and apps) I am involved in has way more moving parts.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;A
lot of these moving parts are new and unforeseen issues crop up well into the development
cycle where one vendors library interfaces don’t seem to match what the documentation
says, for example.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;And then we brute
force it – to make it work.&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;Part of this is tongue in cheek as there is another meaning to
BFD than can be applied to programming methodologies.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;You
can get a hint by looking at the blog category this was filed under.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;I
sincerely don’t mean any disrespect to the authors and believers of these software
development methodologies, but sometimes the “marketing messages” can be a little
much and even downright embarrassing.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; For e&lt;/span&gt;xample,
try explaining to your significant other what Agile and Scrum mean.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;What
do you think the “business folks” are thinking when you explain it to them?&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Do
they even care?&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;I would hazard a guess
that all they care about is how much is it going to cost and when can&amp;nbsp;we start
using the software.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Btw, they are also
thinking, it better do what I want it to do for this amount of money... or else...&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;So the moment that things don’t go as planned, BFD kicks in.&amp;nbsp;
Whether you know it or not.&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;&lt;?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" /&gt;In
1994, before most of these methodologies and marketing names came into effect, I had
the good fortune of taking a 2 year post grad course in Software Engineering Management
at the 
&lt;st1:PlaceType w:st="on"&gt;University&lt;/st1:PlaceType&gt;
of 
&lt;st1:PlaceName w:st="on"&gt;Calgary&lt;/st1:PlaceName&gt;
in 
&lt;st1:State w:st="on"&gt;Alberta&lt;/st1:State&gt;
, 
&lt;st1:country-region w:st="on"&gt;
&lt;st1:place w:st="on"&gt;Canada&lt;/st1:place&gt;
&lt;/st1:country-region&gt;
.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;It was taught by 
&lt;st1:place w:st="on"&gt;
&lt;st1:PlaceName w:st="on"&gt;Motorola&lt;/st1:PlaceName&gt;
&lt;st1:PlaceType w:st="on"&gt;University&lt;/st1:PlaceType&gt;
&lt;/st1:place&gt;
and one of the instructors, with 30 years experience, had some awesome stories on
how “yer doin it wrong.”&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;The funny thing
was, while we learned a great deal about software engineering (that’s the last time
I write 17 exams in 2 years!), what we learned most was common sense and communication.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;In
other words, how to tell your customer (ahem, the one paying your rate, salary, contract,
or whatever) that we can’t write 100,000 lines of code in 2 weeks.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;The
real methodology here folks is just called common sense.&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;I don’t think much has changed since then as we are always fighting
that battle.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Developing software for
any decent sized project (&amp;gt;5,000 lines of code) is really, really hard, maximally
labor intensive and fraught with… well, you name it.&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;I can hear the Agile folks saying that our methodology is the
one that mitigates this risk.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;While that
may be partially true, how do you answer the top two questions asked by the customer:
how long will it take?&amp;nbsp; And how much will that cost?&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;
And our requirements list is just that, a one pager with bulleted high level fatures
items and some of the bulleted items have two words explaining the requirement.&amp;nbsp;
Oh yeah and at fixed price.&amp;nbsp; &lt;/span&gt;Ready to sign up?&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;In
the end, in order to make that deadline or not burn through your fixed cost, it's
BFD man.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;That’s the reality.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;And
btw, could you not have come up with a better name.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;I
mean did you not know that &lt;a href="http://jamesshore.com/Blog/The-Decline-and-Fall-of-Agile.html" target=_blank&gt;Agile
is Dead?&lt;/a&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;So what’s my point?&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Well,
aside from having some fun with the BFD acronym, as with most things, there is some
truism there for sure.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;We have all done
it, yes?&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;I am sure that anyone that has
written code for any length of time has done BFD.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Which
makes my newly minted, TLA marketing buzzword an instant leader in the world of software
development methodologies!&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;All kidding aside, maybe it is time to step back and look at some
of the basics for any software development project.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;The
very first I would think is answering the two most basic questions of any software
development project – how long and how much $’s.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Do
you have a predictable and repeatable way of doing that?&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;How
accurate is it?&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;If you don’t, then you
are likely to be doing BFD even before you write a single line of code and therefore
none of those fancy software development methodologies won’t help you one bit. Know
what I mean?&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;Remember, keep the rubber side down!&lt;/font&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://softwareindustrialization.com/aggbug.ashx?id=de54f9db-58f8-447b-881e-5408596f9cb6" /&gt;&lt;img src="http://feeds.feedburner.com/~r/softwareindustrialization/~4/i_LxKNMGlT8" height="1" width="1"/&gt;</description>
      <comments>http://softwareindustrialization.com/CommentView,guid,de54f9db-58f8-447b-881e-5408596f9cb6.aspx</comments>
      <category>Humor</category>
    <feedburner:origLink>http://softwareindustrialization.com/BruteForceDevelopmentBFD.aspx</feedburner:origLink></item>
    <item>
      <trackback:ping>http://softwareindustrialization.com/Trackback.aspx?guid=50fcec8f-0b05-4ecf-9493-6b1392ffe7a9</trackback:ping>
      <pingback:server>http://softwareindustrialization.com/pingback.aspx</pingback:server>
      <pingback:target>http://softwareindustrialization.com/PermaLink,guid,50fcec8f-0b05-4ecf-9493-6b1392ffe7a9.aspx</pingback:target>
      <dc:creator>Mitch Barnett</dc:creator>
      <wfw:comment>http://softwareindustrialization.com/CommentView,guid,50fcec8f-0b05-4ecf-9493-6b1392ffe7a9.aspx</wfw:comment>
      <wfw:commentRss>http://softwareindustrialization.com/SyndicationService.asmx/GetEntryCommentsRss?guid=50fcec8f-0b05-4ecf-9493-6b1392ffe7a9</wfw:commentRss>
      <slash:comments>3</slash:comments>
      <title>Best Web User Interface Design for 2008</title>
      <guid isPermaLink="false">http://softwareindustrialization.com/PermaLink,guid,50fcec8f-0b05-4ecf-9493-6b1392ffe7a9.aspx</guid>
      <link>http://feedproxy.google.com/~r/softwareindustrialization/~3/ARpL1BNgQpg/BestWebUserInterfaceDesignFor2008.aspx</link>
      <pubDate>Wed, 24 Dec 2008 07:43:51 GMT</pubDate>
      <description>&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;Goes to &lt;a href="http://zoomii.com/" target=_blank&gt;zoomii&lt;/a&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&lt;/font&gt;
&lt;/o:p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&lt;img src="http://softwareindustrialization.com/content/binary/zoomii1.jpg" border=0&gt;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;In my last post, I asked the question, “&lt;a href="http://softwareindustrialization.com/ShowMeAGoodUserInterfaceDesign.aspx" target=_blank&gt;Show
Me a Good User Interface Design&lt;/a&gt;.”&lt;/font&gt;&lt;font color=#000000&gt;&amp;nbsp;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;I
asked the question simply because of the length of time I have been in the software
development business, sometimes you get so close to your work that you can’t see the
forest for the trees.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;And I was certainly
feeling that way.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;It is further exacerbated
by the more you look at user interface designs the less objective you become – I needed
a fresh perspective.&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;Thankfully, &lt;a href="http://bustingseams.blogspot.com/"&gt;Breton&lt;/a&gt;&lt;/font&gt;&lt;font color=#000000&gt; commented
on my blog about zoomii and as soon as I saw it, I knew I was back in business.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;As
I commented to Breton, zoomii reminded me of a user interface design I was involved
with back in 1994 working for a company that developed banking applications using
the Smalltalk programming language (oh, how I miss that programming language and environment,
but that is another story).&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;We developed
a visual (read: physical) representation of a banker’s desk (by banker’s role) where
there were forms and files in desk drawers that could be pulled out, a calculator
on the desk, calendar, etc., you get the idea.&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;What I remember the most about the user interface design was when
we rolled it out to the bank employees and had a person sit down in front of the interface,
she just started using it with no training!&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;The
bank person said, “oh, I get it, it’s just like my desk”, and proceeded to pull out
on of the drawers and flip through the file folders and clicked on a form to be filled
out.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;We were initially astonished by
this as we had developed a training course to use the software, but the bank personnel
did not need any training!&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;It was amazing,
pretty soon everyone wanted to try it out and was using it immediately, with no help
from us.&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;Now the paradigm is back and even better. And what is that paradigm?&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;I
am sure there is a formal way of saying it that is probably in Jeff Raskin’s book, &lt;a href="http://en.wikipedia.org/wiki/The_Humane_Interface" target=_blank&gt;The
Humane Interface&lt;/a&gt;,&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;but for me it is
dead simple, it is a model of the physical world designed and implemented in software
as a &lt;a href="http://en.wikipedia.org/wiki/Zooming_user_interface" target=_blank&gt;zooming
user interface&lt;/a&gt;&lt;/font&gt;&lt;font color=#000000&gt;.&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;Chris Thiessen, the one and only developer for zoomii, &lt;a href="http://zoomii.com/vf/081219-100000/books/about.html" target=_blank&gt;states
on his web site&lt;/a&gt;&lt;/font&gt;&lt;font color=#000000&gt;, &lt;em&gt;“…spending afternoons wandering
the shelves. Happening across great books I didn't even know existed. But it's an
experience I never found online.”&lt;/em&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;It
is so true.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;&lt;?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" /&gt;I
used to frequent a computer bookstore in 
&lt;st1:place w:st="on"&gt;
&lt;st1:City w:st="on"&gt;Calgary&lt;/st1:City&gt;
&lt;st1:State w:st="on"&gt;Alberta&lt;/st1:State&gt;
&lt;/st1:place&gt;
that carried only computer books on its shelves.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;I
would spend 2 to 4 hours on Saturday afternoons just browsing the shelves, picking
up books and browsing through them and leaving the stores with a pile of books.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Over
a few years, I had accumulated over 80 books this way.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Unfortunately,
the bookstore succumbed to competition by the big box book store chains that moved
into 
&lt;st1:City w:st="on"&gt;
&lt;st1:place w:st="on"&gt;Calgary&lt;/st1:place&gt;
&lt;/st1:City&gt;
and is no longer.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;I sure miss it!&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;But it is back in zoomii!&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Let’s
look at some of the user interface design elements.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;First
of all, if you click on Categories, you get this view:&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;&lt;/font&gt;&amp;nbsp;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&lt;img src="http://softwareindustrialization.com/content/binary/categories1.jpg" border=0&gt;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;&lt;/font&gt;&amp;nbsp;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;Note that as you hover the mouse cursor over the left hand categories,
the right hand representation of category on the book shelves is highlighted (white
in this case).&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Brilliant!&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Very
quickly, I could easily discern where the Computer book&amp;nbsp;"shelves" were, so when
I went back to the shelves, I could easily navigate (pan by holding the left mouse
button down and zooming in and out using the mouse wheel) to the computer books and
get the view below in a matter of seconds and minimal mouse clicks/movements.&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;&lt;img src="http://softwareindustrialization.com/content/binary/computer%20books.jpg" border=0&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;Then I can zoom into a shelf that is sorted by the author’s last
name:&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;&lt;img src="http://softwareindustrialization.com/content/binary/computers%20shelf.jpg" border=0&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;Notice the little left and right arrows on either side of the
Computers name category.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;If you click
on one of these, you navigate to the next shelf on the left or right.&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;font color=#000000&gt;When you find the book you want, you can click on it and get a
detailed description of the book, plus the ability to look at what reviewers of the
book had to say about it.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Essentially,
for the reviews, it takes you to Amazon.com and if you read &lt;a href="http://zoomii.com/vf/081219-100000/books/about.html#faq" target=_blank&gt;zoomii's
frequently asked questions&lt;/a&gt;,&lt;/font&gt;&lt;font color=#000000&gt; Chris tells&amp;nbsp;us that
he uses &lt;a href="http://developer.amazonwebservices.com/connect/forumindex.jspa" target=_blank&gt;Amazon’s
Associates Web Services&lt;/a&gt;&lt;/font&gt;&lt;font color=#000000&gt; to interact with Amazon’s data
and refers the sales to them and gets a cut using &lt;a href="https://affiliate-program.amazon.com/" target=_blank&gt;Amazon’s
Associate Program&lt;/a&gt;.&lt;/font&gt;&lt;font color=#000000&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Brilliant
business model. &lt;/font&gt; 
&lt;p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&lt;img src="http://softwareindustrialization.com/content/binary/we%20we%20suck%20details.jpg" border=0&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;Chris also states that the way he stocks his shelves is, by the
top ranked 25,000 books.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;He does state
that if he used subcategories that if could to 100,000 or more. Chris is considering
an optional view that will shelve Amazon’s entire book inventory.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;I
hope he does as I would be very interested in that – more books to browse!&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;I love the simple navigation of the site:&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;&lt;img src="http://softwareindustrialization.com/content/binary/navigattion.jpg" border=0&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;The basic navigation fits into the classic 7 +- 2 paradigm that
our short term memory can handle, a far cry from the +60 clickable items navigation
you get with "&lt;a href="http://softwareindustrialization.com/Office2007AndTheKillerRibbon.aspx" target=_blank&gt;Office
2007 and the Killer Ribbon&lt;/a&gt;".&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;Clicking on the home button, produces this view:&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;&lt;img src="http://softwareindustrialization.com/content/binary/home.jpg" border=0&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;Creating an account is dead simple, with no confusing user name
versus email address.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Simple, yet complete
– something we truly lack in our software industry.&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;&lt;img src="http://softwareindustrialization.com/content/binary/create%20account.jpg" border=0&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;For the techies, if you right click and view source in your browser,
you are presented with a minimalistic file that contains mostly CSS and a bit of JavaScript
and the barest of HTML.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;If you look closely,
you can see the JavaScript file Chris uses, and with a little know how, you can download
his zoomii.js and pop it open in your favorite code editor to take a gander.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;It
is some 10,000 lines of JavaScript code, but Chris appears to use no 3&lt;sup&gt;rd&lt;/sup&gt; party 
&lt;st1:City w:st="on"&gt;
&lt;st1:place w:st="on"&gt;AJAX&lt;/st1:place&gt;
&lt;/st1:City&gt;
frameworks, or Flex or Flash or Silverlight plug-ins, it is all his own work.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Truly
amazing!&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;Another feature is the unlimited undo.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Clicking
on the back button in the browser basically retraces all of the steps (zooms, clicks,
everything!) that you performed from the time you entered the site.&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;The search capability is my only small quibble on the site.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;It
is not as exact as I would like, but it is not Chris’ design, but rather the Amazon
web service returning too many books that seemingly don’t match the search criteria.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;For
example, when I type in, “Expert F#”, I get returned 29 matches, when there are only
really 2 matches that should have shown up (ideally it should have been one match).&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&lt;img src="http://softwareindustrialization.com/content/binary/fsharpsearch.jpg" border=0&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;I am sure I am missing other features, and certainly will peruse
Chris’ zommi.js more to understand how he put it all together, but for now I am enjoying
myself more by simply using the interface then almost any other web based interface
I have used or &lt;a href="http://globalsystembuilder.com" target=_blank&gt;designed on
my own&lt;/a&gt;.&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;As someone who develops ecommerce applications at work, I can
see this user interface design making shopping at any “brick and mortar” store online
a lot of fun and more so, exactly what the general public would want and enjoy, IMO.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;I
can just image browsing through the “shelves” at Bestbuy or Costco or FutureShop or…&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;I
could see how it would be applied in a B2B supply chain relationship scenario as well
for electronic parts or manufacturing for example.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;It
would seem the applicability&amp;nbsp;is universal.&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;Kudos to you Chris for designing a top notch user interface that
brings the joy back for someone that used to browse computer books for fun many years
ago.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;I am even more impressed that you
did this all by yourself!&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;&lt;/font&gt;&amp;nbsp;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;Which really begs the question for our software development industry,
are we all doing it wrong and Chris is doing it right?&lt;/font&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://softwareindustrialization.com/aggbug.ashx?id=50fcec8f-0b05-4ecf-9493-6b1392ffe7a9" /&gt;&lt;img src="http://feeds.feedburner.com/~r/softwareindustrialization/~4/ARpL1BNgQpg" height="1" width="1"/&gt;</description>
      <comments>http://softwareindustrialization.com/CommentView,guid,50fcec8f-0b05-4ecf-9493-6b1392ffe7a9.aspx</comments>
      <category>Design</category>
    <feedburner:origLink>http://softwareindustrialization.com/BestWebUserInterfaceDesignFor2008.aspx</feedburner:origLink></item>
    <item>
      <trackback:ping>http://softwareindustrialization.com/Trackback.aspx?guid=40cc4e90-eb1c-487d-a54d-3f737a7efdc2</trackback:ping>
      <pingback:server>http://softwareindustrialization.com/pingback.aspx</pingback:server>
      <pingback:target>http://softwareindustrialization.com/PermaLink,guid,40cc4e90-eb1c-487d-a54d-3f737a7efdc2.aspx</pingback:target>
      <dc:creator>Mitch Barnett</dc:creator>
      <wfw:comment>http://softwareindustrialization.com/CommentView,guid,40cc4e90-eb1c-487d-a54d-3f737a7efdc2.aspx</wfw:comment>
      <wfw:commentRss>http://softwareindustrialization.com/SyndicationService.asmx/GetEntryCommentsRss?guid=40cc4e90-eb1c-487d-a54d-3f737a7efdc2</wfw:commentRss>
      <slash:comments>6</slash:comments>
      <title>Show Me a Good User Interface Design</title>
      <guid isPermaLink="false">http://softwareindustrialization.com/PermaLink,guid,40cc4e90-eb1c-487d-a54d-3f737a7efdc2.aspx</guid>
      <link>http://feedproxy.google.com/~r/softwareindustrialization/~3/FqZKmpz2gkA/ShowMeAGoodUserInterfaceDesign.aspx</link>
      <pubDate>Thu, 18 Dec 2008 07:06:47 GMT</pubDate>
      <description>&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;I mean it, honestly! I have been programming for so long and have
built so many apps and have looked at, and used 100’s of (web and desktop) apps, that
I no longer know what a good user interface design looks like anymore.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;I
have lost my objectivity.&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;Think of it this way.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;As
a user, I have been using Outlook and Outlook Web Access (OWA) daily for I don’t know
how many years, but yet it (read: both) “feels” like a good user interface design
to me.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Maybe I have been “programmed”
by using it so much that I just feel that way.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Which
is maybe why I dislike the ribbon, but that’s another story.&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;As a side comment, Jeff Atwood at Coding Horror wrote an article
called, “&lt;a href="http://www.codinghorror.com/blog/archives/000869.html" target=_blank&gt;Avoiding
The Uncanny Valley of User Interface&lt;/a&gt;”&lt;/font&gt;&lt;font color=#000000&gt; saying, or at
least I think it says from a summary point of view, that web applications should not
try&amp;nbsp;to mimic desktop applications.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Clearly,
I don’t get it.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;I believe the whole point
to OWA is to indeed mimic the desktop (i.e. Outlook) as closely as possible so that
I, the user, don’t have to “think” about the differences between the two email applications.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;In
fact, I think I would be quite pissed, as a user, that the desktop email application
I use everyday and the web mail application were so different that I would have to
then learn two different ways of working with email, calendars, tasks, folders, etc.
Don’t make me “think” about the differences, I just want to “use” the applications.&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;I also read most of the comments form Jeff’s blog, and a few made
sense to me (see below), whereas I think most were offering up their personal opinions,
while valid, I know my job, as a programmer, is to give my clients what they want.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Oh
sure, I have my own ideas, like&amp;nbsp;many programmers, but after spending a lot of
time in the trenches talking to customers over 17 years, it is clear to me that they
are paying me money to get what they want – even if they don’t know what they want.
&amp;lt;best Jack Nicolson voice&amp;gt; “do you get me, sweetheart?”&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;I really like Shane’s &amp;lt;/sarcasm&amp;gt; comment:&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;
&lt;font color=#000000&gt;&lt;?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" /&gt;Yeah,
that "Google Maps" web app thing that acts like a desktop app, that'll never work.
People only want web apps that act like web apps damn it! And all the cool 
&lt;st1:place w:st="on"&gt;
&lt;st1:City w:st="on"&gt;AJAX&lt;/st1:City&gt;
&lt;/st1:place&gt;
features in Facebook/MySpace/Gmail, no one really wants those. They would prefer to
wait for the entire page to refresh every time they make any kind of change. Or wait
for a huge page to download just to make sure the page contains every bit of data
that they could possibly want. Because they would prefer their "web apps" to act just
like the crappy 1st generation web apps that were around before they even knew what
the Internet was. Pfft.&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;
&lt;font color=#000000&gt;Shane on December 17, 2008 05:55 AM &lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;Or how about Daath’s comment – sounds like a Pragmatic Programmer
to me:&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;
&lt;font color=#000000&gt;For a software developer - yes.&lt;br&gt;
For an average user - no. An average user simply doesn't care if it's real, doesn't
search for differences, and for him/her it would be the best if the web application
and the desktop application would behave the same, because it would be easier to get
used to.&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;
&lt;font color=#000000&gt;For a developer a software is close and personal, like another
person for everyone. That's why it feels unnatural for him/her to use web apps that
try to mimic desktop apps' behavior. But for an average user, web and desktop apps
are nothing but utilities, things that have to be used in order to achieve a goal.
They don't care, it's nothing personal for them. (Sorry for breaking your heart, you
just have to realize this and move on with your life. :))&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;
&lt;font color=#000000&gt;Daath on December 17, 2008 08:08 AM&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;And finally, Brian says it all:&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;
&lt;font color=#000000&gt;What are you guys talking about! The purpose and intent of 
&lt;st1:place w:st="on"&gt;
&lt;st1:City w:st="on"&gt;Ajax&lt;/st1:City&gt;
&lt;/st1:place&gt;
and RIA technologies is to enable web UI designers with the ability to do things that
would be considered "closer" to desktop application operations than "traditional"
web applications.&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;
&lt;font color=#000000&gt;That’s because "traditional" stateless web application user interfaces
sucked. What are web application expectation anyway? Type stuff... submit(postback)...wait...view
result. I say rock on web ui designers! Give me drag-drop, give me background updating
panels (event-driven updates). I am still waiting for some of those other crusty old
desktop features like great undo/redo functionality and the ability to paste an image
directly into an email body, but as they keep working the technology I am sure it's
not far off.&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;
&lt;font color=#000000&gt;For users, web apps accel because of collaboration and accessibility.
Users dump outlook for web-based email so they can read their mail from home, work,
school, wherever. Certainly not because Outlook's desktop user interface sucks. Users
have had to trade off rich interaction for those benefits. Today, that trade off isn’t
any where near as bad as it once was. Today many web apps simply rock. And that’s
because of the energy and effort by many folks to bring rich (or desktop-like) interactions
to the web. So let’s dispense with the noise that this is a bad thing.&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;
&lt;a href="http://www.brianhaas.com/" target=_blank&gt;&lt;font color=#800080&gt;Brian H&lt;/font&gt;&lt;/a&gt;&lt;font color=#000000&gt; &lt;/font&gt;&lt;font color=#000000&gt;on
December 17, 2008 08:09 AM &lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;Hallelujah, I say.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;I
just don’t understand why Jeff would write such a blog post.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Which
brings me to my point, rather than hypothetically avoiding the uncanny valley, I want
to hear about and see pictures of “good” user interface design and most importantly,
why they are good.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;I mean convincingly
good.&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;I work for an ecommerce company that designs and builds large
scale ecommerce web applications.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;When
it comes to good user interface design, our customers are predominantly always asking
for two things:&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;ol style="MARGIN-TOP: 0in" type=1&gt;
&lt;li class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l0 level1 lfo1; tab-stops: list .5in"&gt;
&lt;font color=#000000&gt;Can our customers (easily) find the product(s) they want easily
with the minimal amount of mouse clicks? This all about navigation and search.&lt;/font&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&lt;/font&gt;
&lt;/o:p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;ol style="MARGIN-TOP: 0in" type=1 start=2&gt;
&lt;li class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l0 level1 lfo1; tab-stops: list .5in"&gt;
&lt;font color=#000000&gt;Can our customers (easily) buy the product(s) they want easily
with the minimal amount of mouse clicks? This is all about conversion, i.e. turning
“browsers into buyers” as quickly as possible.&lt;/font&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;The point I am making is in my ecommerce web app world, there
is a purpose to the user interface design, the key word being design.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;The
ecommerce web app is “designed” to fit the requirements for the intended end users.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;We,
as programmers, use a lot of interesting technologies, like 
&lt;st1:City w:st="on"&gt;
&lt;st1:place w:st="on"&gt;AJAX&lt;/st1:place&gt;
&lt;/st1:City&gt;
, to fulfill these requirements, but the end user could care less what technologies
or techniques are used to fulfill these two requirements.&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;Bad user interface design to me is the opposite of fulfilling
these requirements in the context of what I do for a living. And if I put my customer
hat on while I am shopping online, if I can’t find what I am looking for easily, I
give up.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;As a programmer, I give up even
sooner, particularly with a web application that is loaded with so many links, 5 navigation
bars, and tons of “stickers”, I already know this is going to be really painful to
find what I want, so I just give up - sooner.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;The
consequence is that ecommerce site just lost my revenue, which hits the bottom line.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Everything
else after that is irrelevant.&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;Another reason why I think Outlook for the desktop and Outlook
Web Access for the web are so successful is because if you use the desktop app and
then have to use OWA, the learning curve is almost zero, so it is instantly usable
and adopted by the “user.”&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;I.e. I can
find what I want easily and I can transact my email easily – no think time differences
between the two apps.&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;I can give another example of good user interface design coming
from my 5 year old daughter, who plays web based games on the internet and locally
on my computer (i.e. “desktop” games).&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;She
already knows that it is either going to be the arrow keys or the WASD keys to move
around in the game.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;I only had to show
her once and it is consistent with the many games she plays.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Adult
note – yes, I (or more correctly, my wife) limit the time and type of games she can
play on the computer.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Heck, she even
knows how to hit the green “play” button in Visual Studio to run some of the XNA games
I am working on, but that is another story.&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;One criterion that makes for a good user interface design, even
if it was arbitrarily chosen, is consistency.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Example,
the ubiquitous “File” menu, in and of itself, in addition to that it is the same for
Outlook desktop application and OWA, plus many, many other desktop applications that
share the File, Edit, etc. paradigm.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;It
is a bit strange to me that not too many web applications take this same approach.&amp;nbsp;
Why not?&amp;nbsp; And I mean from a user perspective, not a programming one.&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;Of course, Microsoft broke this paradigm with the ribbon, but
I think they were actually trying to solve a different problem then good user interface
design, see &lt;a href="http://softwareindustrialization.com/Office2007AndTheKillerRibbon.aspx" target=_blank&gt;Office
2007 and the Killer Ribbon&lt;/a&gt;. &lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;So what makes a good user interface design?&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;I
am genuinely asking.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Like I say, I am
so close to it that I feel I have lost objectivity.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Not
completely mind you, but as a firm believer in &lt;a href="http://www.amazon.com/Design-Everyday-Things-Donald-Norman/dp/0385267746" target=_blank&gt;The
Design of Everyday Things&lt;/a&gt;&lt;/font&gt;&lt;font color=#000000&gt;, I have a sense that our
industry has moved off the mark somewhat and after reading Jeff’s post, and some of
the comments, there are a group of software folks that seem to have forgotten the
basic “aesthetics versus function” argument.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;E.g.
if the iPod was not so easy to use from a user perspective, it would not matter how
cool it looked.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Some may see it differently,
but my ecommerce customers see it the same way as well.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;If
the ecommerce site is “flashy” but no-one can find or buy anything easily, then it
is nothing more than eye candy as opposed to an ecommerce business, producing revenue.&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;So what makes a good user interface design?&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Show
me one (links, pictures, descriptions, all good) and tell me why.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Thanks!&lt;/font&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://softwareindustrialization.com/aggbug.ashx?id=40cc4e90-eb1c-487d-a54d-3f737a7efdc2" /&gt;&lt;img src="http://feeds.feedburner.com/~r/softwareindustrialization/~4/FqZKmpz2gkA" height="1" width="1"/&gt;</description>
      <comments>http://softwareindustrialization.com/CommentView,guid,40cc4e90-eb1c-487d-a54d-3f737a7efdc2.aspx</comments>
      <category>Industrialization</category>
    <feedburner:origLink>http://softwareindustrialization.com/ShowMeAGoodUserInterfaceDesign.aspx</feedburner:origLink></item>
    <item>
      <trackback:ping>http://softwareindustrialization.com/Trackback.aspx?guid=5abc014e-8f92-4f3c-8df9-a2a87498c4dc</trackback:ping>
      <pingback:server>http://softwareindustrialization.com/pingback.aspx</pingback:server>
      <pingback:target>http://softwareindustrialization.com/PermaLink,guid,5abc014e-8f92-4f3c-8df9-a2a87498c4dc.aspx</pingback:target>
      <dc:creator>Mitch Barnett</dc:creator>
      <wfw:comment>http://softwareindustrialization.com/CommentView,guid,5abc014e-8f92-4f3c-8df9-a2a87498c4dc.aspx</wfw:comment>
      <wfw:commentRss>http://softwareindustrialization.com/SyndicationService.asmx/GetEntryCommentsRss?guid=5abc014e-8f92-4f3c-8df9-a2a87498c4dc</wfw:commentRss>
      <title>A Programmers Dillema - Productivity Lost - Answers</title>
      <guid isPermaLink="false">http://softwareindustrialization.com/PermaLink,guid,5abc014e-8f92-4f3c-8df9-a2a87498c4dc.aspx</guid>
      <link>http://feedproxy.google.com/~r/softwareindustrialization/~3/6OsLqpiiTIM/AProgrammersDillemaProductivityLostAnswers.aspx</link>
      <pubDate>Wed, 10 Dec 2008 07:59:26 GMT</pubDate>
      <description>&lt;p class=MsoNormal style="BACKGROUND: #fcfcfc; MARGIN: 0in 0in 0pt; LINE-HEIGHT: 150%"&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;This post is to answer several of the comments posted to my blog, &lt;a href="http://news.ycombinator.com/item?id=387143" target=_blank&gt;Hacker
News&lt;/a&gt;, &lt;a href="http://www.reddit.com/r/programming/comments/7hmai/a_programmers_dilemma_productivity_lost/" target=_blank&gt;Programming
Reddit&lt;/a&gt;, and &lt;a href="http://metabang.com/unclogit/?p=389" target=_blank&gt;unClog&lt;/a&gt; -
in no particular order.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; I tried to answer most
if not all questions, but if I missed yours, it was not on purpose.&lt;/span&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;&lt;span style="mso-spacerun: yes"&gt;&lt;/span&gt;&lt;/font&gt;&amp;nbsp;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;&lt;span style="mso-spacerun: yes"&gt;&lt;/span&gt;At the end of this post,
are my own answers to the productivity lost questions I have posed.&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;&lt;/font&gt;&amp;nbsp;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;PJ says, “A bad craftsman blames the tool.”&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;So
PJ, if the tool is broken or is in need of serious repair, would a good craftsman
ignore it?&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;&lt;a href="http://www.arunrocks.com/blog/" target=_blank&gt;Arun&lt;/a&gt; says&lt;/font&gt;&lt;font color=#000000&gt;,
“…I believe you need to think outside the .Net world. …What's new is not always complex.
The productivity in modern languages have actually improved dramatically. People release
new features all the time. But then, you need to stop using the old tools.”&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Arun,
I make my living as a .NET programmer and I would not call Visual Studio 2010, .NET
4.0 and C# 4.0 “old tools”, in fact they are so new they have not been released yet,
except if you attended &lt;a href="http://www.microsoftpdc.com/" target=_blank&gt;PDC&lt;/a&gt;.&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;Alecks says, “At age 17 I sit in programming class trying to find
my path through the maze of the .NET framework, thinking to myself 'okay, so I can
do it . . . but how does it work?”&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Alecks,
hang in there buddy, one step at a time.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Pick
a few .NET classes (like the collection or array classes for example) and play with
them to see how they work.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Look at the
MSDN examples or search online.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Step
through the examples in the debugger and inspect the variables, program flow, etc.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Once
you see how one or two of these classes work, then you can expand to others. &lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;One
step at a time and you will be fine.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Keep
at it!&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;&lt;a href="http://creator.zoho.com/" target=_blank&gt;Sridhar&lt;/a&gt; says,
“…try Zoho Creator creator.zoho.com which tries to provide on the web the ease of
use you get in a VB6 environment.”&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Thanks
Sridhar, I will give it a try, looks interesting.&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;&lt;a href="http://www.springbase.com/" target=_blank&gt;Jeff&lt;/a&gt; says, &lt;/font&gt;&lt;font color=#000000&gt;“…I
think it should be as easy to build apps for the web as it is for the desktop…”&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Bingo!&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Jeff
was able to summarize my two posts in basically one sentence.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Good
job Jeff!&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Unfortunately, the reality
is that we maybe years away from making this happen.&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;Andrew says,&amp;nbsp;“We know that code re-use is a wonderful thing,
and its just a real surprise to hear someone argue otherwise.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;…
Lastly, I'm not sure quite why you've got some of the highly passionate responses
above, for sure its an opinion that differs from most people I've met, but you're
not too far of death threat territory in some cases :P”&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Andrew,
what makes you think that I am against code reuse? &lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;Where
did I say that?&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Quite the contrary, almost
80% of my open source project is predicated on code reuse, I would have never been
able to complete it otherwise.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;With respect
to the passionate responses.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Well, I
don’t think I would call them passionate…&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;Roger says, “As a developer you have to keep getting better tools,
and get better at using those tools. …When I job interview developers, one of my questions
is … if the candidate cares about their own productivity and actively seeks out new
tools and techniques.”&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Say Roger, I think
you missed the part where I am using the latest tools and editors, including a pre-release
of Visual Studio 2010.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;I think your brain
may have froze when you saw VB6 in my post – don’t worry, I think most of us have
the same problem with VB6.&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;&lt;a href="http://www.storytotell.org/" target=_blank&gt;Daniel Lyons&lt;/a&gt;&lt;/font&gt;&lt;font color=#000000&gt; says,
“It's not just you. I don't know what's going on with these other guys but I feel
what you're saying just as strongly as you do and I'm only 27.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;We're
reaching levels of complexity where what we've been doing just doesn't work anymore.
Especially with the web.”&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Daniel, nice
quote, “where what we’ve been doing just doesn’t work anymore.”&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;I
say amen to that.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;And as I have said
before, it is getting worse, not better, in my opinion.&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;Roe says, “You raise some good points, but the conclusion is weird:&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;"to
me, productivity is everything. Productivity. It is as simple as that."&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;To
me, delivering something of value to users is everything.”&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Hey
Roe, I think you missed my point.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;It
is already a given that what is delivered is going to have value to the “users”, and
if not, you have bigger problems then productivity.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;If
you can’t deliver to your customers in any timely manner, no matter how much value
it has, is of no value when the project is canceled cause it is way overtime and budget.&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;Mark says, “You should try ruby. Or python.”&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Yup,
I have and in my article I state that I have tried so many languages over the last
17+ years, that I can’t keep track of them. I have been using IronPython and IronRuby,
well, because I am a .NET guy.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;And in
fact, the open source project I developed embeds IronRuby and IronPython as the scripting
engine to program remote computers in real-time, but that’s another discussion.&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;&lt;a href="http://www.mogelli.com/" target=_blank&gt;Sixbit&lt;/a&gt; &lt;/font&gt;&lt;font color=#000000&gt;says,
“…I think I've rediscovered your VB 6 experience of 1991. When I got into iPhone programming
this year, and got the hang of using Interface Builder to rapidly prototype things,
I really got a feeling that, this is how simple things should be in other frameworks,
and have rediscovered my love of programming again.”&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Wow,
sixbit, that sounds cool.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;I will have
a look at that.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;I wonder how that extends,
if at all, to general purpose web development, probably not…&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;&lt;a href="http://www.latenightrobots.com/Site/Welcome.html" target=_blank&gt;Phillip
Zedalis&lt;/a&gt; &lt;/font&gt;&lt;font color=#000000&gt;says, “I did not comment on your last post
because I was still contemplating it - but yes I heard your point loud and clear.
I also over time have felt a great discomfort with the growing 'complexity' of the
libraries surrounding Visual Studio.”&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Philip,
wait till you get a load of Visual Studio 2010 and .NET 4.0 – more and more and more.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;I
am not sure how it is any better.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;I used
to be an early adopter of the Visual Studio environment, right back to Visual Studio
InterDev in 97, anyone remember that environment?&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Now,
I just cringe at the extracurricular effort required to figure out all of the new
things have been added to the IDE and framework.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;I
can’t even face going to anymore PDC’s which as a passionate programmer, were my favorite
conferences, it is just too much.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;By
the way, fantastic site Phillip!&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;Ald says, “I am not an expert, but I think you could halve the
list by refusing to use MS technology, and XML.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Are
you sure you couldn't do everything in javascript, with may be a few simple scripts
on the server serving the asynchronous calls?”&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Ald,
download my open source project and show me how I could halve the list by using different
technologies, seriously I would be interested.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;You
will also see why it cannot be all JavaScript with a few simple scripts.&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;&lt;a href="http://uglylispcode.wordpress.com/" target=_blank&gt;Joseph
Gutierrez&lt;/a&gt; says,&lt;span style="mso-spacerun: yes"&gt; &lt;/span&gt;“It makes you feel less
a craftsman. More like a father at Christmas with the bicycle instructions, trying
to put the damn thing together. I've started learning Lisp for this simple reason.
Less imperative and more declarative programming. Stay with it.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;An
increase in velocity is what you're looking for. Take a look at altdotnet news groups
on yahoogroups. VB6 with OCX and ActiveX damn good things, but it seems to have dropped
out of the mainstream.”&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Joseph, thanks
for your comments, absolutely true on the “bicycle instructions”, problem is that
each part is from a different manufacturer and some sizes are in metric and others
in imperial.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;I hear you on Lisp – have
been there, and may even try &lt;a href="http://www.codeplex.com/IronScheme" target=_blank&gt;IronScheme&lt;/a&gt;&lt;/font&gt;&lt;font color=#000000&gt;,
but still cannot see how I could build a web app using this technology.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Btw,
I love your snowflakes on your blog!&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;&lt;a href="http://bufordtwain.blogspot.com/2007/12/crazy-world-of-web-development-needs.html" target=_blank&gt;Buford
Twain&lt;/a&gt; says, &lt;/font&gt;&lt;font color=#000000&gt;“The next big breakthrough in software
development will come when someone makes things radically simpler for us poor programmers.”&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Buford,
I agree, I just hope I get to see that in my lifetime...&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;&lt;a href="http://javadots.blogspot.com/" target=_blank&gt;Itay Maman&lt;/a&gt;&amp;nbsp;&lt;/font&gt;&lt;font color=#000000&gt;says,
“When you need two or more frameworks in the same application you have a problem:
each one is imposing its own structure, and the two structures are usually in a conflict
with each other.”&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Itay, you are too right,
in my own application I have several frameworks and components and the fight is to
structurally fit them together even though each one on its own has the functionality
I want. &lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;&lt;a href="http://www.masm32.com/board/" target=_blank&gt;Mark Jones&lt;/a&gt;&lt;/font&gt;&lt;font color=#000000&gt; says,
“Very interesting. As a hobbyist assembly-language programmer whom has taken courses
in the latest Java, C, and VB disciplines, I could not agree with you more Mitch.”&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Bless
your heart Mark! &lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;Assembly language was
the last thing I thought I would see on my blog about web applications, but I totally
get where you are coming from.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;I sure
am tired of “syntax code”, particularly now that Microsoft has fully embraced XAML,
it just keeps getting more and more verbose and making me less and less productive.&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;font color=#000000&gt;&lt;a href="http://labs.core.gen.tr/" target=_blank&gt;Evrim Ulu&lt;/a&gt; says,
"&lt;/font&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: #333333; FONT-FAMILY: 'Trebuchet MS'"&gt;&lt;font color=#000000&gt;&lt;font face=Verdana&gt;We've
faced similar problems in past, and the only solution we've found is to rewrite everything
from scratch."&lt;span style="mso-spacerun: yes"&gt; &lt;/span&gt;Wow Evrim, this is pretty cool.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;I
will indeed look at this in more detail.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;I
also happen to agree with your approach by the way.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;It
sure appears the only solution is to indeed rewrite it all from scratch.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;I
totally get that, thanks!&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;span style="FONT-SIZE: 10pt; COLOR: #333333; FONT-FAMILY: 'Trebuchet MS'"&gt;
&lt;o:p&gt;
&lt;font face=Verdana color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;span style="FONT-SIZE: 10pt; COLOR: #333333; FONT-FAMILY: 'Trebuchet MS'"&gt;&lt;font color=#000000&gt;&lt;font face=Verdana&gt;mycall
says, 
&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;span style="FONT-SIZE: 10pt; COLOR: #333333; FONT-FAMILY: 'Trebuchet MS'"&gt;
&lt;o:p&gt;
&lt;font face=Verdana color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;span style="FONT-SIZE: 10pt; COLOR: #333333; FONT-FAMILY: 'Trebuchet MS'"&gt;&lt;font color=#000000&gt;&lt;font face=Verdana&gt;“1.
Why does GSB exist?&lt;br&gt;
2. What is wrong with the normal way of using hosting services (e.g. FTP pre-tested
application from localhost development to QA to production)?&lt;br&gt;
3. How does this compare to the new Amazon EC2 or Windows Azura?&lt;br&gt;
4. Does GSB actually have the minimum number of components to (a) minimize maintenance
and issues?&lt;br&gt;
5. Hows does Silverlight 2.0 with IronPython running in the browser change GSB? And&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;span style="FONT-SIZE: 10pt; COLOR: #333333; FONT-FAMILY: 'Trebuchet MS'"&gt;&lt;font color=#000000&gt;&lt;font face=Verdana&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;Forgot
to mention, &lt;a href="http://www.voidspace.org.uk/ironpython/webide/webide.html" target=_blank&gt;here&lt;/a&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face=Verdana&gt;&lt;font color=#000000&gt;&amp;nbsp;is
an idea for you..&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;span style="FONT-SIZE: 10pt; COLOR: #333333; FONT-FAMILY: 'Trebuchet MS'"&gt;
&lt;o:p&gt;
&lt;font face=Verdana&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;span style="FONT-SIZE: 10pt; COLOR: #333333; FONT-FAMILY: 'Trebuchet MS'"&gt;&lt;font face=Verdana&gt;&lt;font color=#000000&gt;Wow,
great questions mycall, let me try and answer them.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;GSB
exists because I wanted to program in real-time, using dynamic languages, many remote
computers from a web browser.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;I may have
30 or 40 web apps that need maintenance around the world.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;This
tool allows me to geocode the locations in the map program so that I have some physical
frame of reference, and keeps all of the IP addresses, notes, etc. contained in one
location.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;I can then remote desktop in
and launch the “service component” of GSB which contains the DLR and IronPython and
IronRuby interpreters that I access through my web browser via WCF web services in
both a REPL console window and a code editor.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;This
allows me to make simple changes to code, scripts, etc. much easier than a) trying
to hook up Visual Studio remotely to +30 web sites does not make you productive and
b) to answer your question 2) trying to do the “traditional” way of maintaining 40
sites in localhost and promoting those via ftp, etc., again not too productive.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;And
it is &lt;a href="http://softwareindustrialization.com/AWebbasedIDEForDistributedProgrammingUsingIronPython.aspx" target=_blank&gt;highly
experimental as mentioned here&lt;/a&gt;.&amp;nbsp; &lt;/font&gt;&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;span style="FONT-SIZE: 10pt; COLOR: #333333; FONT-FAMILY: 'Trebuchet MS'"&gt;&lt;font color=#000000&gt;&lt;font face=Verdana&gt;&lt;font color=#000000&gt;With
respect to Amazon EC2 and Windows Azure, this is something completely different.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;My
IDE is “in the cloud” whereas the applications for Azure and EC2 are “in the cloud”.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;span style="FONT-SIZE: 10pt; COLOR: #333333; FONT-FAMILY: 'Trebuchet MS'"&gt;&lt;font color=#000000&gt;&lt;font face=Verdana&gt;&lt;font color=#000000&gt;&lt;span style="mso-spacerun: yes"&gt;&lt;/span&gt;Yes,
I do have the minimum number of components, (don’t need Agent SDK, just used as Robby
the Robot demo and almost all of the components are open source that I have reused
in my application.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;My code is the glue
code and programming for the overall functionality, along with eh ability to &lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;“reflect”
assemblies on the remote computers so I can look at the custom classes types and members
I have at my disposal.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;span style="FONT-SIZE: 10pt; COLOR: #333333; FONT-FAMILY: 'Trebuchet MS'"&gt;&lt;font color=#000000&gt;&lt;font face=Verdana&gt;&lt;font color=#000000&gt;&lt;span style="mso-spacerun: yes"&gt;&lt;/span&gt;With
respect to Silverlight and IronPython in the browser, the IronPython execution is
actually local and not on the remote computer.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;I
won’t get into the other productivity issues of trying to develop and debug a Silverlight
application as that is another whole can of worms. &lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;span style="FONT-SIZE: 10pt; COLOR: #333333; FONT-FAMILY: 'Trebuchet MS'"&gt;&lt;font color=#000000&gt;&lt;font face=Verdana&gt;&lt;font color=#000000&gt;Finally,
to answer about Michael Foord’s Silverlight in the browser, have a look at this &lt;a href="http://softwareindustrialization.com/WebbasedIDEsAndDynamicLanguagesOnNET.aspx" target=_blank&gt;web-based
IDE round up&lt;/a&gt;.&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;span style="FONT-SIZE: 10pt; COLOR: #333333; FONT-FAMILY: 'Trebuchet MS'"&gt;
&lt;o:p&gt;
&lt;font face=Verdana color=#000000&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;span style="FONT-SIZE: 10pt; COLOR: #333333; FONT-FAMILY: 'Trebuchet MS'"&gt;&lt;font face=Verdana color=#000000&gt;Pfedor&amp;nbsp;says
on &lt;a href="http://news.ycombinator.com/item?id=387143" target=_blank&gt;Hacker News&lt;/a&gt;&lt;/font&gt;&lt;font color=#000000&gt;&lt;font face=Verdana&gt;,
“The article is interesting, but I can't help but think that large part of the guy's
problem is that he's not using Unix.”&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;I
am wondering how that would make my application any simpler or me more productive,
please do tell.&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;span style="FONT-SIZE: 10pt; COLOR: #333333; FONT-FAMILY: 'Trebuchet MS'"&gt;
&lt;o:p&gt;
&lt;font face=Verdana&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;span style="FONT-SIZE: 10pt; COLOR: #333333; FONT-FAMILY: 'Trebuchet MS'"&gt;&lt;font color=#000000&gt;&lt;font face=Verdana&gt;On
Hacker News in general about VB6 – I think the point is being missed.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;I
was very productive in developing desktop applications in VB6 but there is no equivalent
for web applications.&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;span style="FONT-SIZE: 10pt; COLOR: #333333; FONT-FAMILY: 'Trebuchet MS'"&gt;
&lt;o:p&gt;
&lt;font face=Verdana&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;span style="FONT-SIZE: 10pt; COLOR: #333333; FONT-FAMILY: 'Trebuchet MS'"&gt;&lt;font face=Verdana color=#000000&gt;Thomasmallen
on &lt;a href="http://news.ycombinator.com/item?id=387143" target=_blank&gt;Hacker News&lt;/a&gt;&lt;/font&gt;&lt;font face=Verdana color=#000000&gt; says,
“&lt;/font&gt;&lt;/span&gt;&lt;span class=comment1&gt;&lt;span style="FONT-SIZE: 9pt; COLOR: black"&gt;&lt;font size=2&gt;&lt;font color=#000000&gt;Big
surprise.&lt;/font&gt; They guy's sick of programming because he never liked coding in the
first place. This is his ideal development model…”&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Dude,
my very first line of the article says, I love to write code and have been doing it
fulltime for 17 years.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;If I was sick
of it, would I still be doing it?&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;I don’t
think so.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;I would have opened up that
flower shop by now!&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;span class=comment1&gt;&lt;span style="FONT-SIZE: 9pt; COLOR: black"&gt;
&lt;o:p&gt;
&lt;font size=2&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;span class=comment1&gt;&lt;span style="FONT-SIZE: 9pt; COLOR: black"&gt;&lt;font size=2&gt;Munificent
on &lt;a href="http://www.reddit.com/r/programming/comments/7hmai/a_programmers_dilemma_productivity_lost/" target=_blank&gt;Programming
Reddit&lt;/a&gt;&amp;nbsp;&lt;/font&gt;&lt;font size=2&gt;says, “&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: Verdana"&gt;&lt;font size=2&gt;His
core argument is wrong. Frameworks don't exist to make programmers' lives easier.
Our job difficulty is essentially fixed: we will push ourselves as hard as we can.
What frameworks do is increase the scope of what we can accomplish within that level
of effort.”&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;I disagree and I think you
missed the point.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;There is so much language
and framework being used that it is a humungous job to stitch anything together easily.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;At
least in my .NET web application world.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;That’s
the point.&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: Verdana"&gt;
&lt;o:p&gt;
&lt;font size=2&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: Verdana"&gt;&lt;font size=2&gt;Gregk
on &lt;a href="http://www.reddit.com/r/programming/comments/7hmai/a_programmers_dilemma_productivity_lost/" target=_blank&gt;Programming
Reddit&lt;/a&gt;&amp;nbsp;&lt;/font&gt;&lt;font size=2&gt;says, “We can't re-invent the wheel all the time.
There is a tendency for over-engineering a little these days. But that is avoidable.
In general, I can say we have better tools than 10 years ago but we are also more
demanding and tackling more complex tasks.”&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Again,
I think my point may have been missed.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;I
am not trying to reinvent the wheel at all or over engineer anything, I am trying
to solve a business problem in the most productive way possible.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Like
I said before, VB6 allowed me to solve a business problem simply and was a better
desktop tool almost 10 years ago then the web development tools we have today to solve
the same problem, except on the web.&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: Verdana"&gt;
&lt;o:p&gt;
&lt;font size=2&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: Verdana"&gt;&lt;font size=2&gt;Vhold
on &lt;a href="http://www.reddit.com/r/programming/comments/7hmai/a_programmers_dilemma_productivity_lost/" target=_blank&gt;Programming
Reddit&lt;/a&gt;&lt;/font&gt;&lt;font size=2&gt; says, “Every now and then this sort of thing is said,
and there is always a very significant missing piece. The software people are writing
now does a lot more, and a lot more reliably (on average) than in the past.”&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Hmm&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;does
a lot more, says who?&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;I think we are
solving the same problems over and over again, but getting harder to do as our tools
and frameworks are not making it any easier as these are increasing in size and complexity,
yet our business problems are the same.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;An
ecommerce application 10 years ago is “basically” the same as it is today.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Sure
lots of extra stuff, but the bottom line is to add stuff to the cart and get it transacted,
or at least that what my ecommerce customers really care about, and they care about
it doing it faster and cheaper than 10 years ago.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;That’s
the issue.&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: Verdana"&gt;
&lt;o:p&gt;
&lt;font size=2&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: Verdana"&gt;&lt;font size=2&gt;Recursive
on &lt;a href="http://www.reddit.com/r/programming/comments/7hmai/a_programmers_dilemma_productivity_lost/" target=_blank&gt;Programming
Reddit&lt;/a&gt;&amp;nbsp;&lt;/font&gt;&lt;font size=2&gt;says, “No one's stopping you from doing pure programming.&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: Verdana"&gt;&lt;font size=2&gt;Write
your own web server in a procedural language, and then write your own procedural web
app on top of it.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;The big scary complicated
frameworks will be waiting when you're done banging your head on the desk and crying.”&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Dude,
who said anything about me wanting to do pure programming?&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Show
me in my post where it says I want to do that.&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: Verdana"&gt;
&lt;o:p&gt;
&lt;font size=2&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: Verdana"&gt;&lt;font size=2&gt;Ken&amp;nbsp;on &lt;a href="http://metabang.com/unclogit/?p=389" target=_blank&gt;unClog&lt;/a&gt;&amp;nbsp;&lt;/font&gt;&lt;font size=2&gt;says,&amp;nbsp;"I
see several markup (HTML, CSS) and programming languages (C#, Javascript, Python,
Ruby?), operating systems (Windows and Mac OS X?), system introspection and end-user
programmability, and a third-party 3D plugin. It wasn’t too many years ago this would
have been impressive in a desktop app. I’m not sure where the “simple” is. If you’re
looking for a program to tie all these things together, it’s going to have a lot of
inherent complexity. The solution to “too many languages” is never “another language”.
I’m curious why one would think that such a complex web app would be easy out-of-the-box
with a particular language or framework. Frameworks make common things easier. Uncommon
things will always take more work."&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;
&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: Verdana"&gt;
&lt;o:p&gt;
&lt;font size=2&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: Verdana"&gt;&lt;font size=2&gt;If I
had a prize to give out, Ken would get it!&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;My
one page web application is not simple.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;It
was a trick question.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;My one page web
app was “designed” to be “simple” to use, it was not simple to design and build.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;I
had to use a lot of languages, frameworks and components that were never really designed
to work together and that was the effort involved to reach my goal.&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: Verdana"&gt;
&lt;o:p&gt;
&lt;font size=2&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: Verdana"&gt;&lt;font size=2&gt;There
is real wisdom in the statement, “The solution to “too many languages” is never “another
language”.”&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Maybe that is what I was
looking for, a web based language that can tie HTML, JavaScript, CSS, etc., into one
language – a web language.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;The analog
of using the VB example was to indicate that I could indeed use one language and even
with 3&lt;sup&gt;rd&lt;/sup&gt; party plug-ins, I could develop a fairly sophisticated desktop
application.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Actually that could be said
for many languages if developing a desktop application.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;But
in the web world, there seems to be no choice around having multiple languages or
scripting languages or mark-up this or that, each with its own strength and weaknesses,
which result in productivity lost. &lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;Or
at least for me.&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: Verdana"&gt;
&lt;o:p&gt;
&lt;font size=2&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: Verdana"&gt;&lt;font size=2&gt;That
is why I liked &lt;a href="http://labs.core.gen.tr/"&gt;Evrim's&lt;/a&gt;&lt;/font&gt;&lt;font size=2&gt; response,
“We've faced similar problems in past, and the only solution we've found is to rewrite
everything from scratch.”&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;He even has
an &lt;a href="http://www.core.gen.tr/#coretal"&gt;example web site&lt;/a&gt;&lt;/font&gt;&lt;font size=2&gt; written
in their own technology. &lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;I have not had
a chance to look into detail, but from an innovation perspective, this looks promising
to me and breaks out of the HTML, JavaScript, CSS, et al paradigm.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;I
hope his works continues.&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: Verdana"&gt;
&lt;o:p&gt;
&lt;font size=2&gt;&amp;nbsp;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: Verdana"&gt;&lt;font size=2&gt;My point
in all of this, being that this is a blog about software industrialization, is that
we, the software development industry, have not caught up to developing web applications
like we can desktop applications.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;I would
say that had I developed my open source web app as a desktop app it would have taken
me 10x less time, meaning I would have been 10x more productive (probably like 100x)
and that is my point.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;I hope the future
is not too far away where we can develop sophisticated web apps in the same time and
ease as we can develop desktop apps today regardless of choice of languages or frameworks.&lt;o:p&gt;&lt;/o:p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;
&lt;span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: Verdana"&gt;
&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://softwareindustrialization.com/aggbug.ashx?id=5abc014e-8f92-4f3c-8df9-a2a87498c4dc" /&gt;&lt;img src="http://feeds.feedburner.com/~r/softwareindustrialization/~4/6OsLqpiiTIM" height="1" width="1"/&gt;</description>
      <comments>http://softwareindustrialization.com/CommentView,guid,5abc014e-8f92-4f3c-8df9-a2a87498c4dc.aspx</comments>
      <category>Industrialization</category>
    <feedburner:origLink>http://softwareindustrialization.com/AProgrammersDillemaProductivityLostAnswers.aspx</feedburner:origLink></item>
    <item>
      <trackback:ping>http://softwareindustrialization.com/Trackback.aspx?guid=3f0af968-3acc-45d8-9057-61db53028215</trackback:ping>
      <pingback:server>http://softwareindustrialization.com/pingback.aspx</pingback:server>
      <pingback:target>http://softwareindustrialization.com/PermaLink,guid,3f0af968-3acc-45d8-9057-61db53028215.aspx</pingback:target>
      <dc:creator>Mitch Barnett</dc:creator>
      <wfw:comment>http://softwareindustrialization.com/CommentView,guid,3f0af968-3acc-45d8-9057-61db53028215.aspx</wfw:comment>
      <wfw:commentRss>http://softwareindustrialization.com/SyndicationService.asmx/GetEntryCommentsRss?guid=3f0af968-3acc-45d8-9057-61db53028215</wfw:commentRss>
      <slash:comments>11</slash:comments>
      <title>A Programmers Dilemma – Productivity Lost - Part II</title>
      <guid isPermaLink="false">http://softwareindustrialization.com/PermaLink,guid,3f0af968-3acc-45d8-9057-61db53028215.aspx</guid>
      <link>http://feedproxy.google.com/~r/softwareindustrialization/~3/PgWOPF6FyBA/AProgrammersDilemmaProductivityLostPartII.aspx</link>
      <pubDate>Sat, 06 Dec 2008 07:45:15 GMT</pubDate>
      <description>&lt;p class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;
&lt;span lang=EN-CA&gt;&lt;font color=#000000&gt;Wow!&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;Was
I&lt;/span&gt;&amp;nbsp;surprised to see the number of page loads reported in StatCounter for &lt;a href="http://softwareindustrialization.com/AProgrammersDilemmaProductivityLost.aspx" target=_blank&gt;my
little blog article from the night before&lt;/a&gt;.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;My&amp;nbsp;PII
600Mhz 384 meg RAM web server circa 2001 was barely able to keep its CPU from melting
down.&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;
&lt;span lang=EN-CA&gt;&lt;font color=#000000&gt;Double wow on some of the comments.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;It
seems a split between those who got the article and others, well, maybe giving the
benefit of the doubt that I was not as clear as I could have been with what I was
trying to communicate.&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;
&lt;span lang=EN-CA&gt;&lt;font color=#000000&gt;However, having looked at some of the &lt;a href="http://news.ycombinator.com/item?id=387143" target=_blank&gt;Hacker
News comments&lt;/a&gt;&amp;nbsp;&lt;/font&gt;&lt;font color=#000000&gt;and &lt;a href="http://www.reddit.com/r/programming/comments/7hmai/a_programmers_dilemma_productivity_lost/" target=_blank&gt;Programming
Reddit comments&lt;/a&gt;&lt;/font&gt;&lt;font color=#000000&gt;, it is clear that&amp;nbsp;some people
did not seem to get the point I was trying to make.&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;
&lt;span lang=EN-CA&gt;&lt;font color=#000000&gt;Let me try again using a concrete example this
time.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Let’s use my &lt;a href="http://www.codeplex.com/gsb" target=_blank&gt;open
source web application&lt;/a&gt; I wrote as the example because you are &lt;a href="http://www.codeplex.com/gsb/Release/ProjectReleases.aspx?ReleaseId=17538" target=_blank&gt;free
to download the source code&lt;/a&gt; and examine it to your heart’s content to make up
your own minds as to what my beef is, if you so desire.&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;
&lt;span lang=EN-CA&gt;&lt;font color=#000000&gt;My web app is really simple, in fact, the application
consists of exactly one page!&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Mind you
there is a lot going on as your will see, but still, it is one page.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;For
now, who cares what it does, let’s look at the list of technologies, frameworks, languages,
components, etc., used (and reused) in this “one page” web application:&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;span lang=EN-CA&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt; 
&lt;ol&gt;
&lt;li&gt;
&lt;div class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;ASP.NET 2.0 framework classes
&lt;/div&gt;
&lt;li&gt;
&lt;div class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" /&gt;ASP.NET 
&lt;st1:City w:st="on"&gt;
&lt;st1:place w:st="on"&gt;AJAX&lt;/st1:place&gt;
&lt;/st1:City&gt;
(.NET 3.5 FCL)
&lt;/div&gt;
&lt;li&gt;
&lt;div class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;ASP.NET AJAX Control Toolkit (Tab
and Hover controls)
&lt;/div&gt;
&lt;li&gt;
&lt;div class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;.NET 3.5 Windows Communication Foundation
(WCF) framework classes
&lt;/div&gt;
&lt;li&gt;
&lt;div class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;Visual Studio 2008 IDE
&lt;/div&gt;
&lt;li&gt;
&lt;div class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;C#
&lt;/div&gt;
&lt;li&gt;
&lt;div class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;JavaScript
&lt;/div&gt;
&lt;li&gt;
&lt;div class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;VBScript
&lt;/div&gt;
&lt;li&gt;
&lt;div class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;CSS
&lt;/div&gt;
&lt;li&gt;
&lt;div class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;HTML
&lt;/div&gt;
&lt;li&gt;
&lt;div class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;XML
&lt;/div&gt;
&lt;li&gt;
&lt;div class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;MDbg CLR Managed Debugger (mdbg)
Sample application and API framework
&lt;/div&gt;
&lt;li&gt;
&lt;div class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;.NET 2.0 Winforms framework classes
&lt;/div&gt;
&lt;li&gt;
&lt;div class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;Microsoft Agent SDK (API framework)
&lt;/div&gt;
&lt;li&gt;
&lt;div class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;Microsoft Remote Desktop Web Connection
Active X component
&lt;/div&gt;
&lt;li&gt;
&lt;div class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;Google Earth application
&lt;/div&gt;
&lt;li&gt;
&lt;div class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;Google Earth Airlines ActiveX web
plug-in for Google Earth with JavaScript API
&lt;/div&gt;
&lt;li&gt;
&lt;div class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;Prototype.js open source 
&lt;st1:place w:st="on"&gt;
&lt;st1:City w:st="on"&gt;AJAX&lt;/st1:City&gt;
&lt;/st1:place&gt;
framework
&lt;/div&gt;
&lt;li&gt;
&lt;div class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;IronPython 2.0B2 and Dynamic Language
Runtime (DLR) with IronRuby support
&lt;/div&gt;
&lt;li&gt;
&lt;div class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;IronPythonTextbox – open source IronPython
rich client text box and interpreter
&lt;/div&gt;
&lt;li&gt;
&lt;div class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;Edit Area – open source JavaScript
source code editor with syntax highlighting
&lt;/div&gt;
&lt;li&gt;
&lt;div class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;Color List Box – open source WinForms
modified List Control
&lt;/div&gt;
&lt;li&gt;
&lt;div class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;Joshua – open source interactive
JavaScript HTML console window
&lt;/div&gt;
&lt;li&gt;
&lt;div class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;RealWorldGrid – open source ASP.NET
modified GridView control
&lt;/font&gt;
&lt;/o:p&gt;
&lt;/span&gt;&gt;
&gt;&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;
&lt;span lang=EN-CA&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;
&lt;span lang=EN-CA&gt;&lt;font color=#000000&gt;For those that did &lt;a href="http://softwareindustrialization.com/AProgrammersDilemmaProductivityLost.aspx" target=_blank&gt;read
the first post in this series&lt;/a&gt;, do you now see what I mean?&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;No?
Let me further illuminate with the following ten points:&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;div class=ListParagraphCxSpFirst style="MARGIN: 0in 0in 0pt 37.5pt; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1; mso-add-space: auto"&gt;&lt;font color=#000000&gt;&lt;span lang=EN-CA&gt;Did
I say I hated frameworks?&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;No&lt;/span&gt;&lt;/font&gt;
&lt;/div&gt;
&lt;li&gt;
&lt;div class=ListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 37.5pt; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1; mso-add-space: auto"&gt;&lt;font color=#000000&gt;&lt;span lang=EN-CA&gt;Did
I say I wanted to reinvent the wheel?&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;No.&lt;/span&gt;&lt;/font&gt;
&lt;/div&gt;
&lt;li&gt;
&lt;div class=ListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 37.5pt; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1; mso-add-space: auto"&gt;&lt;font color=#000000&gt;&lt;span lang=EN-CA&gt;Did
I say I wanted to do pure programming?&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;No.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/font&gt;
&lt;/div&gt;
&lt;li&gt;
&lt;div class=ListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 37.5pt; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1; mso-add-space: auto"&gt;&lt;font color=#000000&gt;&lt;span lang=EN-CA&gt;Did
I say I wanted to code from scratch and roll my own framework?&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;No.&lt;/span&gt;&lt;/font&gt;
&lt;/div&gt;
&lt;li&gt;
&lt;div class=ListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 37.5pt; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1; mso-add-space: auto"&gt;&lt;font color=#000000&gt;&lt;span lang=EN-CA&gt;Did
I say I did not want to use frameworks or reuse code?&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;No.&lt;/span&gt;&lt;/font&gt;
&lt;/div&gt;
&lt;li&gt;
&lt;div class=ListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 37.5pt; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1; mso-add-space: auto"&gt;&lt;font color=#000000&gt;&lt;span lang=EN-CA&gt;Did
I say that I wanted to return to my beloved VB 6 as my “ideal development model?”
No, in fact, I have not used VB6 since 2000 when I converted to C# .NET (I was an
early adopter).&lt;/span&gt;&lt;/font&gt;
&lt;/div&gt;
&lt;li&gt;
&lt;div class=ListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 37.5pt; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1; mso-add-space: auto"&gt;&lt;font color=#000000&gt;&lt;span lang=EN-CA&gt;Did
I say I was sick of programming?&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;No,
first sentence in previous post – I love to write code!&lt;/span&gt;&lt;/font&gt;
&lt;/div&gt;
&lt;li&gt;
&lt;div class=ListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 37.5pt; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1; mso-add-space: auto"&gt;&lt;font color=#000000&gt;&lt;span lang=EN-CA&gt;Yes,
I have tried several programming languages, O/S’s, IDE’s, &lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;etc.,
over the last 17 years that I have been programming professionally – this is not about
programming languages, other than that they are a part of a much larger issue.&lt;/span&gt;&lt;/font&gt;
&lt;/div&gt;
&lt;li&gt;
&lt;div class=ListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 37.5pt; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1; mso-add-space: auto"&gt;&lt;font color=#000000&gt;&lt;span lang=EN-CA&gt;Am
I a hobbyist programmer?&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;No, and not
to sound defensive, I am a professionally trained software engineer, with a 2 year
post grad in Software Engineering Management and 17 years professional experience.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;I
have worked for Motorola (CMM Level 5), Kodak&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;(CMM
Level 3) and several other shops of various sizes and industries, plus ran my own
successful custom software development company for four years with a staff of 25 people.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Currently
I work for one of the best custom software development companies that produce enterprise
ecommerce solutions to some of the largest retailers and supply chains in the world
– the odds are that you have already used our ecommerce software and don’t even know
it.&lt;/span&gt;&lt;/font&gt;
&lt;/div&gt;
&lt;li&gt;
&lt;div class=ListParagraphCxSpLast style="MARGIN: 0in 0in 10pt 37.5pt; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1; mso-add-space: auto"&gt;&lt;font color=#000000&gt;&lt;span lang=EN-CA&gt;You
want to interview me?&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;(for those that
asked) First, pass my test by downloading my open source code and explain to my why
my software design is good or bad and the reasons why for either. &lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;Then
we will talk.&lt;/span&gt;&lt;/font&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;
&lt;span lang=EN-CA&gt;&lt;font color=#000000&gt;Enough Tom Foolery.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;What
I said was that web application frameworks, components and tools are like 10 years
behind the tools we are used to using to develop desktop applications.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;In
fact, I stated that it is getting worse, not better.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;I
used VB6 in a simple two tier application scenario as the example.&amp;nbsp; Now lets
compare to my web app.&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;
&lt;span lang=EN-CA&gt;&lt;font color=#000000&gt;Look at how much “stuff” has to be used to make
my “one page” web application work.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Imagine
developing this as a desktop application.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;You
could easily cut out 50% of the stuff used in the web application and still have the
same functionality in a desktop application, the least of which would be a working
WYSIWYG design editor.&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;
&lt;span lang=EN-CA&gt;&lt;font color=#000000&gt;This is what my one page web app looks like rendered
in IE 7.&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;
&lt;span lang=EN-CA&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&lt;img src="http://softwareindustrialization.com/content/binary/GSB%20IE1.jpg" border=0&gt;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;
&lt;span lang=EN-CA&gt;&lt;font color=#000000&gt;&lt;/font&gt;&lt;/span&gt;&amp;nbsp;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;
&lt;span lang=EN-CA&gt;&lt;font color=#000000&gt;This is what my one page web app looks like rendered
in Visual Studio 2008 design time mode.&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;
&lt;span lang=EN-CA&gt;
&lt;o:p&gt;
&lt;font color=#000000&gt;&amp;nbsp;&lt;img src="http://softwareindustrialization.com/content/binary/GSB%20VS2008%20Design%20View2.jpg" border=0&gt;&lt;/font&gt;
&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;
&lt;span lang=EN-CA&gt;&lt;font color=#000000&gt;And no, this is not just a Visual Studio problem,
I have run into this with a variety of other web development tools.&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;
&lt;span lang=EN-CA&gt;&lt;font color=#000000&gt;My point is illustrated by the number of items
listed to make a one page web application and the design time view of the web application.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Way
too much stuff and I can’t even see what I am doing!&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;How
is this helping me being more productive?&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;It
isn’t and that is my point.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Our frameworks
and tools for developing web applications are getting worse, not better.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Vendors
keep adding more and more stuff, yet we can’t even get an editor that shows a proper
design time view of what we are trying to build.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;
&lt;span lang=EN-CA&gt;&lt;font color=#000000&gt;How would an engineer design&amp;nbsp;an automobile
(or house or electronics or cell phone or game console or name your item) in AutoCAD
with a design time view the same as the one for my web application above? &lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;It
would not only be totally unacceptable, it would be ludicrous!&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;So
why do we, the software development industry, accept it? &lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;And
worse yet, have people defend it in some of the comments I have read?&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;That
is what makes no sense to me at all.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Am
I the only one with the sunglasses from &lt;a href="http://en.wikipedia.org/wiki/They_Live" target=_blank&gt;They
Live&lt;/a&gt;?&lt;/font&gt;&lt;font color=#000000&gt;&amp;nbsp;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;I
hope not, cause if I remember the movie correctly, it ends badly ;-)&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;
&lt;span lang=EN-CA&gt;&lt;font color=#000000&gt;&lt;strong&gt;Updated:&lt;/strong&gt;&amp;nbsp; &lt;/font&gt;&lt;font color=#003300&gt;&lt;a href="http://softwareindustrialization.com/AProgrammersDillemaProductivityLostAnswers.aspx"&gt;A
Programmers Dillema - Productivity Lost - Answers&lt;/a&gt;&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://softwareindustrialization.com/aggbug.ashx?id=3f0af968-3acc-45d8-9057-61db53028215" /&gt;&lt;img src="http://feeds.feedburner.com/~r/softwareindustrialization/~4/PgWOPF6FyBA" height="1" width="1"/&gt;</description>
      <comments>http://softwareindustrialization.com/CommentView,guid,3f0af968-3acc-45d8-9057-61db53028215.aspx</comments>
      <category>Industrialization</category>
    <feedburner:origLink>http://softwareindustrialization.com/AProgrammersDilemmaProductivityLostPartII.aspx</feedburner:origLink></item>
    <item>
      <trackback:ping>http://softwareindustrialization.com/Trackback.aspx?guid=a4e9db89-3bee-4170-b70f-3000d9b6ebfa</trackback:ping>
      <pingback:server>http://softwareindustrialization.com/pingback.aspx</pingback:server>
      <pingback:target>http://softwareindustrialization.com/PermaLink,guid,a4e9db89-3bee-4170-b70f-3000d9b6ebfa.aspx</pingback:target>
      <dc:creator>Mitch Barnett</dc:creator>
      <wfw:comment>http://softwareindustrialization.com/CommentView,guid,a4e9db89-3bee-4170-b70f-3000d9b6ebfa.aspx</wfw:comment>
      <wfw:commentRss>http://softwareindustrialization.com/SyndicationService.asmx/GetEntryCommentsRss?guid=a4e9db89-3bee-4170-b70f-3000d9b6ebfa</wfw:commentRss>
      <slash:comments>12</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p class="MsoNormal" style="MARGIN: 0cm 0cm 10pt">
          <font color="#000000">I love to write code.<span style="mso-spacerun: yes">  </span>I
am 49 years old and have been programming off and on from 1977 – 1990 and as a fulltime
professional since 1991.<span style="mso-spacerun: yes">  </span>I hesitate to
even guess how many programming languages I have used over that time frame.<span style="mso-spacerun: yes">  </span>Since
I love to program, not only was I using several different programming languages at
various jobs, I was also experimenting with several others after work.</font>
        </p>
        <p class="MsoNormal" style="MARGIN: 0cm 0cm 10pt">
          <font color="#000000">I don’t do as much “on the job” programming as my role has been
a “Software Architect” for several years now, but I still do a fair share and even
more so in my spare time.<span style="mso-spacerun: yes">  </span>For example,
I released an open source project that I have been working for the last two years
called <a href="http://globalsystembuilder.com/" target="_blank">Global System Builder</a>.<span style="mso-spacerun: yes"> </span></font>
          <font color="#000000"> It
was supposed to be fun, but that is the crux of the issue I am having – it was mostly
a lot of really hard work.<span style="mso-spacerun: yes">  </span>Not that it
was technically difficult, but seemingly something very simple turned out extremely
hard to do.</font>
        </p>
        <p class="MsoNormal" style="MARGIN: 0cm 0cm 10pt">
          <font color="#000000">Let me digress a moment to illustrate a point.<span style="mso-spacerun: yes">  </span>As
the domain name of this blog indicates, I was progressing in programming languages
as the level of abstraction was being raised over time.<span style="mso-spacerun: yes">  </span>Meaning
in modern day times, not worrying about memory management, ala garbage collection
in languages like C#, enjoying the REPL feel of dynamic programming languages (e.g.
IronPython and IronRuby) and marvelling at the power of functional languages
(e.g. F#) and then... </font>
        </p>
        <p class="MsoNormal" style="MARGIN: 0cm 0cm 10pt">
          <font color="#000000">I came to the realization that as time marches on, rather than
programming becoming easier (read: simpler) it was actually becoming more complex,
to the point where today even to write anything simple seems to take a monumental
effort, and seemingly more configuration effort than programming, and with so many
moving parts, fraught with errors that are not compile time related.<span style="mso-spacerun: yes">  </span>I
felt this not only in my professional software development world that I live in, but
even on the open source project I was working on in my spare time for fun.<span style="mso-spacerun: yes">  </span>And
it was supposed to be fun, but instead it was a design exercise at every turn figuring
out which of the programming languages, frameworks, components, and widgets I could
use that were the lesser evil since none of them did what I wanted them to do.<span style="mso-spacerun: yes">  </span>As
you will see, this is the irony.</font>
        </p>
        <p class="MsoNormal" style="MARGIN: 0cm 0cm 10pt">
          <font color="#000000">Sure we use all sorts of frameworks today that supposedly make
our programming lives easier.<span style="mso-spacerun: yes">  </span>The one
I am most familiar with is the .NET framework.<span style="mso-spacerun: yes">  </span><a href="http://blogs.msdn.com/brada/archive/2008/03/17/number-of-types-in-the-net-framework.aspx" target="_blank">At
+11,000 types and +100,000 members</a>,</font>
          <font color="#000000"> I am overwhelmed
by the sheer size and complexity of the framework.<span style="mso-spacerun: yes">  </span>I
can barely wrap my head around 7 +- 2 items let alone several orders of magnitude
larger in size and complexity.<span style="mso-spacerun: yes">  </span>I spend
more time looking at MSDN documentation trying to figure out how some Type works and
the members I can use rather than actually writing code. </font>
        </p>
        <p class="MsoNormal" style="MARGIN: 0cm 0cm 10pt">
          <font color="#000000">The argument is that we become more productive cause “it is
taken care of in the framework” My experience and <a href="http://benjismith.net/index.php/2005/09/30/hate-frameworks/" target="_blank">others</a></font>
          <font color="#000000"> would
tend to disagree from a practical perspective and let alone the simple math truth.<span style="mso-spacerun: yes">  </span>Our
brain is not designed to juggle thousands of Types and so we spend a great deal of
time, searching, looking up docs, figuring out what to use from a design perspective,
looking at the samples from an implementation perspective, looking at how others have
used it – only to find that while it is close to what I want, it does not really meet
my requirements.<span style="mso-spacerun: yes">  </span>Fine, close enough and
with a few overrides, no problem.<span style="mso-spacerun: yes">  </span>But
when you get into low level design and implementation, you run into hard stop limitations
and then you a) try and find ways around the limitations or b) go back to the drawing
board or c) think about not programming anymore.</font>
        </p>
        <p class="MsoNormal" style="MARGIN: 0cm 0cm 10pt">
          <font color="#000000">And so ends the digression.<span style="mso-spacerun: yes">  </span>The
point being, as told by Charles’s Petzold, “<a href="http://www.charlespetzold.com/etc/DoesVisualStudioRotTheMind.html" target="_blank">Does
Visual Studio Rot the Mind</a>”</font>
          <font color="#000000"> under the subtitle, “The
Pure Pleasures of Pure Coding”, where he states, “<em>...but there’s no APIs, there’s
no classes, there’s no properties, there’s no forms, there’s no controls, there’s
no event handlers, and there’s definitely no Visual Studio. </em></font>
          <font color="#000000">
            <em>It’s
just me and the code, and for awhile, I feel like a real programmer again.</em>”</font>
        </p>
        <p class="MsoNormal" style="MARGIN: 0cm 0cm 10pt">
          <font color="#000000">At last we arrive at why I am possibly deciding not to
code anymore.<span style="mso-spacerun: yes">  </span>There is so much in the
way and there is so much “of it”, that doing anything simple has become an incredibly
complex task and doing anything complex takes teams of software folks to deliver due
to the sheer size and complexity of our own programming environments, let alone trying
to solve the problem domain we have been given.</font>
        </p>
        <p class="MsoNormal" style="MARGIN: 0cm 0cm 10pt">
          <font color="#000000">Here comes the “I remember at time when...”<span style="mso-spacerun: yes">  </span><span style="mso-spacerun: yes"> </span>Love
it or hate it, Visual Basic 6 (or the Delphi equivalent at the time) was the most
productive programming language and toolset I have ever worked with (Digitalk Smalltalk
takes 2<sup>nd</sup> place) for building business applications in the last 17
years I have been doing software development.<span style="mso-spacerun: yes">  </span>Why?</font>
        </p>
        <p class="MsoNormal" style="MARGIN: 0cm 0cm 10pt">
          <font color="#000000">I used to do storyboards right in the VB6 IDE asking the business
guys what they wanted, “so you need a form, with a list box and what should be in
the list box, and when you clicked ok, now what... “And on it went.<span style="mso-spacerun: yes">  </span>In
a couple of days to a week, we basically had the front end of the application prototyped.<span style="mso-spacerun: yes">  </span>Since
it was back in the “two tier” days all we had to do was hook it up to the database.<span style="mso-spacerun: yes">  </span>And
if we got really “fancy”, (or had the luxury), <span style="mso-spacerun: yes"> </span>we
added a third tier of business logic written out as VB6 classes, not in the stored
procs, and after a bunch of testing, report writing, etc., boom! <span style="mso-spacerun: yes"> </span>off
it goes into production.</font>
        </p>
        <p class="MsoNormal" style="MARGIN: 0cm 0cm 10pt">
          <font color="#000000">There were a lot of happy people back then.<span style="mso-spacerun: yes">  </span>The
business users were happy because they got to sit in and basically design the user
interface with me while trying to figure out the app.<span style="mso-spacerun: yes">  </span>And
then weeks later it was delivered and did exactly what they wanted it to do.<span style="mso-spacerun: yes">  </span>I
was happy, along with my team as we got a buzz on from being so productive and delivering
what the users wanted.<span style="mso-spacerun: yes">  </span>And the tools,
language and database was simple enough back then to not to get in anyone’s way. Everyone
happy!<span style="mso-spacerun: yes">  </span>So what happened?</font>
        </p>
        <p class="MsoNormal" style="MARGIN: 0cm 0cm 10pt">
          <font color="#000000">One part of it is web applications happened.<span style="mso-spacerun: yes">  </span>Even
in 2008, Visual Studio ASP.NET cannot give you a WYSIWYG view of your web application.<span style="mso-spacerun: yes">  </span>Yet,
VB1 was able to give us WISYWYG back in 1991!<span style="mso-spacerun: yes">  </span>What
the heck?<span style="mso-spacerun: yes">  </span>Not to just pick on Microsoft,
I would say the majority of vendors’ web development tools are like a decade or so
behind their “traditional” development tools for building desktop applications.<span style="mso-spacerun: yes">  </span>Further
the vendors push more and more features, more and more “layers”, which mean more moving
parts, which means more complexity, which means making it harder and harder for the
programmer to use. <span style="mso-spacerun: yes">  </span>It reminds me
of the infamous air-conditioning “duct” scene in the movie <a href="http://en.wikipedia.org/wiki/Brazil_%28movie%29" target="_blank">Brazil</a>.</font>
          <font color="#000000">
          </font>
        </p>
        <p class="MsoNormal" style="MARGIN: 0cm 0cm 10pt">
          <font color="#000000">Our tools and applications have become so large, many and complex,
it is literally making us less productive.<span style="mso-spacerun: yes">  </span>And
to me, productivity is everything.<span style="mso-spacerun: yes">  </span><a href="http://www.rebol.com/article/0381.html" target="_blank">Productivity.<span style="mso-spacerun: yes">  </span>It
is as simple as that</a>.</font>
        </p>
        <p>
          <strong>Updated:</strong>
          <a href="http://softwareindustrialization.com/AProgrammersDilemmaProductivityLostPartII.aspx">A
Programmers Dilemma - Productivity Lost - Part II</a>
        </p>
        <img width="0" height="0" src="http://softwareindustrialization.com/aggbug.ashx?id=a4e9db89-3bee-4170-b70f-3000d9b6ebfa" />
      <xhtml:img xmlns:xhtml="http://www.w3.org/1999/xhtml" src="http://feeds.feedburner.com/~r/softwareindustrialization/~4/padxrIa4xnw" height="1" width="1" /></body>
      <title>A Programmers  Dilemma – Productivity Lost</title>
      <guid isPermaLink="false">http://softwareindustrialization.com/PermaLink,guid,a4e9db89-3bee-4170-b70f-3000d9b6ebfa.aspx</guid>
      <link>http://feedproxy.google.com/~r/softwareindustrialization/~3/padxrIa4xnw/AProgrammersDilemmaProductivityLost.aspx</link>
      <pubDate>Fri, 05 Dec 2008 06:24:03 GMT</pubDate>
      <description>&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 10pt"&gt;
&lt;font color=#000000&gt;I love to write code.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;I
am 49 years old and have been programming off and on from 1977 – 1990 and as a fulltime
professional since 1991.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;I hesitate to
even guess how many programming languages I have used over that time frame.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Since
I love to program, not only was I using several different programming languages at
various jobs, I was also experimenting with several others after work.&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 10pt"&gt;
&lt;font color=#000000&gt;I don’t do as much “on the job” programming as my role has been
a “Software Architect” for several years now, but I still do a fair share and even
more so in my spare time.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;For example,
I released an open source project that I have been working for the last two years
called &lt;a href="http://globalsystembuilder.com/" target=_blank&gt;Global System Builder&lt;/a&gt;.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;font color=#000000&gt; It
was supposed to be fun, but that is the crux of the issue I am having – it was mostly
a lot of really hard work.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Not that it
was technically difficult, but seemingly something very simple turned out extremely
hard to do.&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 10pt"&gt;
&lt;font color=#000000&gt;Let me digress a moment to illustrate a point.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;As
the domain name of this blog indicates, I was progressing in programming languages
as the level of abstraction was being raised over time.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Meaning
in modern day times, not worrying about memory management, ala garbage collection
in languages like C#, enjoying the REPL feel of dynamic programming languages (e.g.
IronPython and&amp;nbsp;IronRuby) and marvelling at the power of functional languages
(e.g. F#) and then... &lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 10pt"&gt;
&lt;font color=#000000&gt;I came to the realization that as time marches on, rather than
programming becoming easier (read: simpler) it was actually becoming more complex,
to the point where today even to write anything simple seems to take a monumental
effort, and seemingly more configuration effort than programming, and with so many
moving parts, fraught with errors that are not compile time related.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;I
felt this not only in my professional software development world that I live in, but
even on the open source project I was working on in my spare time for fun.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;And
it was supposed to be fun, but instead it was a design exercise at every turn figuring
out which of the programming languages, frameworks, components, and widgets I could
use that were the lesser evil since none of them did what I wanted them to do.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;As
you will see, this is the irony.&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 10pt"&gt;
&lt;font color=#000000&gt;Sure we use all sorts of frameworks today that supposedly make
our programming lives easier.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;The one
I am most familiar with is the .NET framework.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;&lt;a href="http://blogs.msdn.com/brada/archive/2008/03/17/number-of-types-in-the-net-framework.aspx" target=_blank&gt;At
+11,000 types and +100,000 members&lt;/a&gt;,&lt;/font&gt;&lt;font color=#000000&gt; I am overwhelmed
by the sheer size and complexity of the framework.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;I
can barely wrap my head around 7 +- 2 items let alone several orders of magnitude
larger in size and complexity.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;I spend
more time looking at MSDN documentation trying to figure out how some Type works and
the members I can use rather than actually writing code. &lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 10pt"&gt;
&lt;font color=#000000&gt;The argument is that we become more productive cause “it is taken
care of in the framework” My experience and &lt;a href="http://benjismith.net/index.php/2005/09/30/hate-frameworks/" target=_blank&gt;others&lt;/a&gt;&lt;/font&gt;&lt;font color=#000000&gt; would
tend to disagree from a practical perspective and let alone the simple math truth.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Our
brain is not designed to juggle thousands of Types and so we spend a great deal of
time, searching, looking up docs, figuring out what to use from a design perspective,
looking at the samples from an implementation perspective, looking at how others have
used it – only to find that while it is close to what I want, it does not really meet
my requirements.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Fine, close enough and
with a few overrides, no problem.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;But
when you get into low level design and implementation, you run into hard stop limitations
and then you a) try and find ways around the limitations or b) go back to the drawing
board or c) think about not programming anymore.&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 10pt"&gt;
&lt;font color=#000000&gt;And so ends the digression.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;The
point being, as told by Charles’s Petzold, “&lt;a href="http://www.charlespetzold.com/etc/DoesVisualStudioRotTheMind.html" target=_blank&gt;Does
Visual Studio Rot the Mind&lt;/a&gt;”&lt;/font&gt;&lt;font color=#000000&gt; under the subtitle, “The
Pure Pleasures of Pure Coding”, where he states, “&lt;em&gt;...but there’s no APIs, there’s
no classes, there’s no properties, there’s no forms, there’s no controls, there’s
no event handlers, and there’s definitely no Visual Studio. &lt;/em&gt;&lt;/font&gt;&lt;font color=#000000&gt;&lt;em&gt;It’s
just me and the code, and for awhile, I feel like a real programmer again.&lt;/em&gt;”&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 10pt"&gt;
&lt;font color=#000000&gt;At&amp;nbsp;last we arrive at why I am possibly deciding not to code
anymore.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;There is so much in the way
and there is so much “of it”, that doing anything simple has become an incredibly
complex task and doing anything complex takes teams of software folks to deliver due
to the sheer size and complexity of our own programming environments, let alone trying
to solve the problem domain we have been given.&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 10pt"&gt;
&lt;font color=#000000&gt;Here comes the “I remember at time when...”&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;Love
it or hate it, Visual Basic 6 (or the Delphi equivalent at the time) was the most
productive programming language and toolset I have ever worked with (Digitalk Smalltalk
takes 2&lt;sup&gt;nd&lt;/sup&gt; place) for building business applications in the last&amp;nbsp;17
years I have been doing software development.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Why?&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 10pt"&gt;
&lt;font color=#000000&gt;I used to do storyboards right in the VB6 IDE asking the business
guys what they wanted, “so you need a form, with a list box and what should be in
the list box, and when you clicked ok, now what... “And on it went.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;In
a couple of days to a week, we basically had the front end of the application prototyped.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Since
it was back in the “two tier” days all we had to do was hook it up to the database.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;And
if we got really “fancy”, (or had the luxury), &lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;we
added a third tier of business logic written out as VB6 classes, not in the stored
procs, and after a bunch of testing, report writing, etc., boom! &lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;off
it goes into production.&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 10pt"&gt;
&lt;font color=#000000&gt;There were a lot of happy people back then.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;The
business users were happy because they got to sit in and basically design the user
interface with me while trying to figure out the app.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;And
then weeks later it was delivered and did exactly what they wanted it to do.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;I
was happy, along with my team as we got a buzz on from being so productive and delivering
what the users wanted.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;And the tools,
language and database was simple enough back then to not to get in anyone’s way. Everyone
happy!&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;So what happened?&lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 10pt"&gt;
&lt;font color=#000000&gt;One part of it is web applications happened.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Even
in 2008, Visual Studio ASP.NET cannot give you a WYSIWYG view of your web application.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Yet,
VB1 was able to give us WISYWYG back in 1991!&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;What
the heck?&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Not to just pick on Microsoft,
I would say the majority of vendors’ web development tools are like a decade or so
behind their “traditional” development tools for building desktop applications.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Further
the vendors push more and more features, more and more “layers”, which mean more moving
parts, which means more complexity, which means making it harder and harder for the
programmer to use. &lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;It reminds me
of the infamous air-conditioning “duct” scene in the movie &lt;a href="http://en.wikipedia.org/wiki/Brazil_%28movie%29" target=_blank&gt;Brazil&lt;/a&gt;.&lt;/font&gt;&lt;font color=#000000&gt; &lt;/font&gt;
&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0cm 0cm 10pt"&gt;
&lt;font color=#000000&gt;Our tools and applications have become so large, many and complex,
it is literally making us less productive.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;And
to me, productivity is everything.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;&lt;a href="http://www.rebol.com/article/0381.html" target=_blank&gt;Productivity.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;It
is as simple as that&lt;/a&gt;.&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Updated:&lt;/strong&gt; &lt;a href="http://softwareindustrialization.com/AProgrammersDilemmaProductivityLostPartII.aspx"&gt;A
Programmers Dilemma - Productivity Lost - Part II&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://softwareindustrialization.com/aggbug.ashx?id=a4e9db89-3bee-4170-b70f-3000d9b6ebfa" /&gt;</description>
      <comments>http://softwareindustrialization.com/CommentView,guid,a4e9db89-3bee-4170-b70f-3000d9b6ebfa.aspx</comments>
      <category>Industrialization</category>
    <feedburner:origLink>http://softwareindustrialization.com/AProgrammersDilemmaProductivityLost.aspx</feedburner:origLink></item>
  </channel>
</rss>
