<?xml version="1.0" encoding="utf-8"?>
<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/" version="2.0">
  <channel>
    <title>in Chris Velazquez's words... - web development</title>
    <link>http://www.chrisvelazquez.com/blog/</link>
    <description>a blog fertilized by my mental droppings</description>
    <language>en-us</language>
    <copyright>Christopher S. Velazquez</copyright>
    <lastBuildDate>Sun, 25 Feb 2007 23:58:00 GMT</lastBuildDate>
    <generator>newtelligence dasBlog 1.9.6264.0</generator>
    <managingEditor>chris@chrisvelazquez.com</managingEditor>
    <webMaster>chris@chrisvelazquez.com</webMaster>
    <item>
      <trackback:ping>http://www.chrisvelazquez.com/blog/Trackback.aspx?guid=495e2e9f-9cd3-4eb5-9c35-db5d3352172f</trackback:ping>
      <pingback:server>http://www.chrisvelazquez.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.chrisvelazquez.com/blog/PermaLink,guid,495e2e9f-9cd3-4eb5-9c35-db5d3352172f.aspx</pingback:target>
      <dc:creator>Your DisplayName here!</dc:creator>
      <wfw:comment>http://www.chrisvelazquez.com/blog/CommentView,guid,495e2e9f-9cd3-4eb5-9c35-db5d3352172f.aspx</wfw:comment>
      <wfw:commentRss>http://www.chrisvelazquez.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=495e2e9f-9cd3-4eb5-9c35-db5d3352172f</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I did an overhaul on the look of my blog because I had an actual visitor from the
outside world.  I feel like Sally Field winning the Oscar: "you like me, right
now, you really like me!"  If figured I'd give it an extra touch of CSS geekiness. 
I hope you like it.
</p>
        <p>
Apparently, Internet Explorer doesn't like it very well.  If you scroll down
the page, the size of the DIV elements changes for some entries when you use either
the scroll bar or the mouse wheel.  This is just plain bad.  I know that
MSIE 6.0 had this problem, but they still haven't fixed it yet?  What's up with
that?
</p>
        <p>
Here is what it is supposed to look like:
</p>
        <p>
          <img src="http://www.chrisvelazquez.com/blog/content/binary/style_ok.jpg" border="2" />
        </p>
        <p>
And when MSIE 7.0 messes up it looks like this:
</p>
        <p>
          <img src="http://www.chrisvelazquez.com/blog/content/binary/style_bad.jpg" border="2" />
        </p>
        <p>
Notice how the space is too wide and the subject title is stuck in the margin. 
Scroll one more notch and it's OK again.  Send this one back!
</p>
        <p>
BTW, the blog looks just fine in Firefox.
</p>
        <img width="0" height="0" src="http://www.chrisvelazquez.com/blog/aggbug.ashx?id=495e2e9f-9cd3-4eb5-9c35-db5d3352172f" />
      </body>
      <title>More MSIE CSS Stylesheet Screw-ups</title>
      <guid isPermaLink="false">http://www.chrisvelazquez.com/blog/PermaLink,guid,495e2e9f-9cd3-4eb5-9c35-db5d3352172f.aspx</guid>
      <link>http://www.chrisvelazquez.com/blog/PermaLink,guid,495e2e9f-9cd3-4eb5-9c35-db5d3352172f.aspx</link>
      <pubDate>Sun, 25 Feb 2007 23:58:00 GMT</pubDate>
      <description>&lt;p&gt;
I did an overhaul on the look of my blog because I had an actual visitor from the
outside world.&amp;nbsp; I feel like Sally Field winning the Oscar: "you like me, right
now, you really like me!"&amp;nbsp; If figured I'd give it an extra touch of CSS geekiness.&amp;nbsp;
I hope you like it.
&lt;/p&gt;
&lt;p&gt;
Apparently, Internet Explorer doesn't like it very well.&amp;nbsp; If you scroll down
the page, the size of the DIV elements changes for some entries when you use either
the scroll bar or the mouse wheel.&amp;nbsp; This is just plain bad.&amp;nbsp; I know that
MSIE 6.0 had this problem, but they still haven't fixed it yet?&amp;nbsp; What's up with
that?
&lt;/p&gt;
&lt;p&gt;
Here is what it is supposed to look like:
&lt;/p&gt;
&lt;p&gt;
&lt;img src="http://www.chrisvelazquez.com/blog/content/binary/style_ok.jpg" border=2&gt;
&lt;/p&gt;
&lt;p&gt;
And when MSIE 7.0 messes up it looks like this:
&lt;/p&gt;
&lt;p&gt;
&lt;img src="http://www.chrisvelazquez.com/blog/content/binary/style_bad.jpg" border=2&gt;
&lt;/p&gt;
&lt;p&gt;
Notice how the space is too wide and&amp;nbsp;the subject title is stuck in the margin.&amp;nbsp;
Scroll one more notch and it's OK again.&amp;nbsp; Send this one back!
&lt;/p&gt;
&lt;p&gt;
BTW, the blog looks just fine in Firefox.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.chrisvelazquez.com/blog/aggbug.ashx?id=495e2e9f-9cd3-4eb5-9c35-db5d3352172f" /&gt;</description>
      <comments>http://www.chrisvelazquez.com/blog/CommentView,guid,495e2e9f-9cd3-4eb5-9c35-db5d3352172f.aspx</comments>
      <category>web development</category>
    </item>
    <item>
      <trackback:ping>http://www.chrisvelazquez.com/blog/Trackback.aspx?guid=6c7878b9-d673-4258-9035-0883eb635719</trackback:ping>
      <pingback:server>http://www.chrisvelazquez.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.chrisvelazquez.com/blog/PermaLink,guid,6c7878b9-d673-4258-9035-0883eb635719.aspx</pingback:target>
      <dc:creator>Chris V.</dc:creator>
      <wfw:comment>http://www.chrisvelazquez.com/blog/CommentView,guid,6c7878b9-d673-4258-9035-0883eb635719.aspx</wfw:comment>
      <wfw:commentRss>http://www.chrisvelazquez.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=6c7878b9-d673-4258-9035-0883eb635719</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I just came across an article from Jakob Nielson's UseIt.com web site concerning <a href="http://www.useit.com/alertbox/weblogs.html">Weblog
Usability</a>.  I figure I should go ahead and take the test and see how my own
blog stacks against the ideals of the guru.
</p>
        <p>
          <strong>Top Ten Design Mistakes in Weblogs:</strong>
        </p>
        <p>
          <strong>1. No Author Biographies - <font color="#008000">Not guilty</font></strong>
        </p>
        <p>
I have my real name and some real info about myself in the "What's this?" box to the
right.  If you visit my home page, you can even download my resume.
</p>
        <p>
          <strong>2. No Author Photo - <font color="#008000">Not guilty</font><font color="#a9a9a9">(anymore)</font></strong>
        </p>
        <p>
Yes, I have posted an unflattering, but honest picture of myself.  I do have
a nice picture of myself that was taken at my wedding by a professional photographer
almost 17 years ago.  I don't think I can really use that, though.
</p>
        <p>
          <strong>3. Nondescript Posting Titles - <font color="#008000">Not guilty</font></strong>
        </p>
        <p>
I just barely squeaked by on this.  I try to title each blurb accurately, and
when I'm in a playful mood I may throw in a double entrendre, such as "Nutty Warnings". 
Some titles are lame, I admit it.  I throw myself on the mercy of the court on
this count.
</p>
        <p>
          <strong>4. Links Don't Say Where They Go - <font color="#008000">Not guilty</font></strong>
        </p>
        <p>
This is classic Web 101 fare.  Search engines look for this; SEO depends on it.
</p>
        <p>
          <strong>5. Classic Hits are Buried - <font color="#ff0000">Guilty</font></strong>
        </p>
        <p>
The dasBlog software doesn't lend itself to breadcrumb navigation, and I have been
too busy/lazy/apathetic to do anything to about it.  I don't have any real "hits"
because I have so few readers that it probably doesn't matter.  I'll get off
with probation on this.
</p>
        <p>
          <strong>6. The Calendar is the Only Navigation - <font color="#008000">Not guilty</font></strong>
        </p>
        <p>
I do add categories to each blog entry, honest, officer!  Once again, I'm at
the mercy of dasBlog on this one because it show categories in a linear fashion instead
of a hit-based or frequency-based heuristic.
</p>
        <p>
          <strong>7. Irregular Publishing Frequency - <font color="#ff0000">Guilty</font></strong>
        </p>
        <p>
I have not made a serious attempt to publish regularly, even though I can write quickly. 
As they say in the Holy Grail, "I'm getting better".
</p>
        <p>
          <strong>8. Mixing Topics - <font color="#ff0000">Guilty, Guilty, Guilty</font></strong>
        </p>
        <p>
The fertile crevices of my brain are aching to explode with information to tell the
world.  While I do try to keep the topics programming-related, I suffer from
ADD of the fingers.  What was I writing about, now?
</p>
        <p>
          <strong>9. Forgetting That You Write for Your Future Boss - <font color="#a9a9a9">Hung
Jury</font></strong>
        </p>
        <p>
I have deliberately refrained from including profanity and NSFW content from my blog. 
So I get a silver arrow point for that.  Some people might be offended by my
cheeky humor and unabashed assessments.  If that's the case, then they have a
problem with my personality.  One of my criteria for accepting a new position
is that I can get at least a chuckle during the job interview.  If my boss has
no sense of humor, chances are he will melt down or blow up during a difficult situation,
which will make my own life miserable.  So I guess in a way you can say that
I am writing proactively in self-defense.  Yeah, that's it.
</p>
        <p>
          <strong>10. Having a Domain Name Owned by a Weblog Service - <font color="#008000">Not
guilty</font></strong>
        </p>
        <p>
Oh, c'mon!  You can't spring the $7 a year it costs to have your own domain name? 
Personally, I'm helping fund Bob Parsons' kids' college education.  But let's
not go there.
</p>
        <p>
          <strong>The Verdict</strong>
        </p>
        <p>
Cleared on six counts, found guilty of burying the evidence, negligent publishing,
and crossing the center line of my weblog.  I am hereby put on probation and
required to attend a defensive blogging class as well as blogger sensitivity training.
</p>
        <p>
Now, how well will <u>YOUR</u> blog stand up?
</p>
        <img src="http://www.chrisvelazquez.com/blog/content/binary/jakob_nielsen.jpg" border="0" /> "I'm
vahtching you"<img width="0" height="0" src="http://www.chrisvelazquez.com/blog/aggbug.ashx?id=6c7878b9-d673-4258-9035-0883eb635719" /></body>
      <title>Weblog Usability - Guilty or Not Guilty?</title>
      <guid isPermaLink="false">http://www.chrisvelazquez.com/blog/PermaLink,guid,6c7878b9-d673-4258-9035-0883eb635719.aspx</guid>
      <link>http://www.chrisvelazquez.com/blog/PermaLink,guid,6c7878b9-d673-4258-9035-0883eb635719.aspx</link>
      <pubDate>Fri, 23 Feb 2007 22:15:32 GMT</pubDate>
      <description>&lt;p&gt;
I just came across an article from Jakob Nielson's UseIt.com web site concerning &lt;a href="http://www.useit.com/alertbox/weblogs.html"&gt;Weblog
Usability&lt;/a&gt;.&amp;nbsp; I figure I should go ahead and take the test and see how my own
blog stacks against the ideals of the guru.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Top Ten Design Mistakes in Weblogs:&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;1. No Author Biographies - &lt;font color=#008000&gt;Not guilty&lt;/font&gt;&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
I have my real name and some real info about myself in the "What's this?" box to the
right.&amp;nbsp; If you visit my home page, you can even download my resume.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;2. No Author Photo - &lt;font color=#008000&gt;Not guilty&lt;/font&gt; &lt;font color=#a9a9a9&gt;(anymore)&lt;/font&gt;&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
Yes, I have posted an unflattering, but honest picture of myself.&amp;nbsp; I do have
a nice picture of myself that was taken at my wedding by a professional photographer
almost 17 years ago.&amp;nbsp; I don't think I can really use that, though.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;3. Nondescript Posting Titles - &lt;font color=#008000&gt;Not guilty&lt;/font&gt;&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
I just barely squeaked by on this.&amp;nbsp; I try to title each blurb accurately, and
when I'm in a playful mood I may throw in a double entrendre, such as "Nutty Warnings".&amp;nbsp;
Some titles are lame, I admit it.&amp;nbsp; I throw myself on the mercy of the court on
this count.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;4. Links Don't Say Where They Go - &lt;font color=#008000&gt;Not guilty&lt;/font&gt;&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
This is classic Web 101 fare.&amp;nbsp; Search engines look for this; SEO depends on it.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;5. Classic Hits are Buried - &lt;font color=#ff0000&gt;Guilty&lt;/font&gt;&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
The dasBlog software doesn't lend itself to breadcrumb navigation, and I have been
too busy/lazy/apathetic to do anything to about it.&amp;nbsp; I don't have any real "hits"
because I have so few readers that it probably doesn't matter.&amp;nbsp; I'll get off
with probation on this.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;6. The Calendar is the Only Navigation - &lt;font color=#008000&gt;Not guilty&lt;/font&gt;&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
I do add categories to each blog entry, honest, officer!&amp;nbsp; Once again, I'm at
the mercy of dasBlog on this one because it show categories in a linear fashion instead
of a hit-based or frequency-based heuristic.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;7. Irregular Publishing Frequency - &lt;font color=#ff0000&gt;Guilty&lt;/font&gt;&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
I have not made a serious attempt to publish regularly, even though I can write quickly.&amp;nbsp;
As they say in the Holy Grail, "I'm getting better".
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;8. Mixing Topics - &lt;font color=#ff0000&gt;Guilty, Guilty, Guilty&lt;/font&gt;&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
The fertile crevices of my brain are aching to explode with information to tell the
world.&amp;nbsp; While I do try to keep the topics programming-related, I suffer from
ADD of the fingers.&amp;nbsp; What was I writing about, now?
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;9. Forgetting That You Write for Your Future Boss - &lt;font color=#a9a9a9&gt;Hung
Jury&lt;/font&gt;&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
I have deliberately refrained from including profanity and NSFW content from my blog.&amp;nbsp;
So I get a silver arrow point for that.&amp;nbsp; Some people might be offended by my
cheeky humor and unabashed assessments.&amp;nbsp; If that's the case, then they have a
problem with my personality.&amp;nbsp; One of my criteria for accepting a new position
is that I can get at least a chuckle during the job interview.&amp;nbsp; If my boss has
no sense of humor, chances are he will melt down or blow up during a difficult situation,
which will make my own life miserable.&amp;nbsp; So I guess in a way you can say that
I am writing proactively in self-defense.&amp;nbsp; Yeah, that's it.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;10. Having a Domain Name Owned by a Weblog Service - &lt;font color=#008000&gt;Not
guilty&lt;/font&gt;&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
Oh, c'mon!&amp;nbsp; You can't spring the $7 a year it costs to have your own domain name?&amp;nbsp;
Personally, I'm helping fund Bob Parsons' kids' college education.&amp;nbsp; But let's
not go there.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;The Verdict&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
Cleared on six counts, found guilty of burying the evidence, negligent publishing,
and crossing the center line of my weblog.&amp;nbsp; I am hereby put on probation and
required to attend a defensive blogging class as well as blogger sensitivity training.
&lt;/p&gt;
&lt;p&gt;
Now, how well will &lt;u&gt;YOUR&lt;/u&gt; blog stand up?
&lt;/p&gt;
&lt;img src="http://www.chrisvelazquez.com/blog/content/binary/jakob_nielsen.jpg" border=0&gt;&amp;nbsp;"I'm
vahtching you"&lt;img width="0" height="0" src="http://www.chrisvelazquez.com/blog/aggbug.ashx?id=6c7878b9-d673-4258-9035-0883eb635719" /&gt;</description>
      <comments>http://www.chrisvelazquez.com/blog/CommentView,guid,6c7878b9-d673-4258-9035-0883eb635719.aspx</comments>
      <category>general;web development</category>
    </item>
    <item>
      <trackback:ping>http://www.chrisvelazquez.com/blog/Trackback.aspx?guid=dd1e82d6-38a7-4330-8e91-1eb4535276d7</trackback:ping>
      <pingback:server>http://www.chrisvelazquez.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.chrisvelazquez.com/blog/PermaLink,guid,dd1e82d6-38a7-4330-8e91-1eb4535276d7.aspx</pingback:target>
      <dc:creator>Chris V.</dc:creator>
      <wfw:comment>http://www.chrisvelazquez.com/blog/CommentView,guid,dd1e82d6-38a7-4330-8e91-1eb4535276d7.aspx</wfw:comment>
      <wfw:commentRss>http://www.chrisvelazquez.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=dd1e82d6-38a7-4330-8e91-1eb4535276d7</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
You've seen Google spreadsheets and online word processing.  But how about Visio
diagramming?  Introducing Gliffy, a free service for drawing diagrams reminiscent
of Visio and sharing them online.
</p>
        <p>
Here's one I tried.  It's not quite up to Visio standards, but not far behind
either.
</p>
        <p>
 
</p>
        <script src="http://www.gliffy.com/diagramEmbed.js" type="text/javascript">
        </script>
        <script type="text/javascript"> gliffy_did = "1168002"; embedGliffy(); </script>
        <img width="0" height="0" src="http://www.chrisvelazquez.com/blog/aggbug.ashx?id=dd1e82d6-38a7-4330-8e91-1eb4535276d7" />
      </body>
      <title>Online Visio-like diagramming at gliffy.com</title>
      <guid isPermaLink="false">http://www.chrisvelazquez.com/blog/PermaLink,guid,dd1e82d6-38a7-4330-8e91-1eb4535276d7.aspx</guid>
      <link>http://www.chrisvelazquez.com/blog/PermaLink,guid,dd1e82d6-38a7-4330-8e91-1eb4535276d7.aspx</link>
      <pubDate>Tue, 20 Feb 2007 23:27:28 GMT</pubDate>
      <description>&lt;p&gt;
You've seen Google spreadsheets and online word processing.&amp;nbsp; But how about Visio
diagramming?&amp;nbsp; Introducing Gliffy, a free service for drawing diagrams reminiscent
of Visio and sharing them online.
&lt;/p&gt;
&lt;p&gt;
Here's one I tried.&amp;nbsp; It's not quite up to Visio standards, but not far behind
either.
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;script src="http://www.gliffy.com/diagramEmbed.js" type="text/javascript"&gt; &lt;/script&gt;
&lt;script type="text/javascript"&gt; gliffy_did = "1168002"; embedGliffy(); &lt;/script&gt;
&lt;img width="0" height="0" src="http://www.chrisvelazquez.com/blog/aggbug.ashx?id=dd1e82d6-38a7-4330-8e91-1eb4535276d7" /&gt;</description>
      <comments>http://www.chrisvelazquez.com/blog/CommentView,guid,dd1e82d6-38a7-4330-8e91-1eb4535276d7.aspx</comments>
      <category>web development;visio</category>
    </item>
    <item>
      <trackback:ping>http://www.chrisvelazquez.com/blog/Trackback.aspx?guid=02b5f612-de7f-48d8-8ad8-a2087cc9d361</trackback:ping>
      <pingback:server>http://www.chrisvelazquez.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.chrisvelazquez.com/blog/PermaLink,guid,02b5f612-de7f-48d8-8ad8-a2087cc9d361.aspx</pingback:target>
      <dc:creator>Chris V.</dc:creator>
      <wfw:comment>http://www.chrisvelazquez.com/blog/CommentView,guid,02b5f612-de7f-48d8-8ad8-a2087cc9d361.aspx</wfw:comment>
      <wfw:commentRss>http://www.chrisvelazquez.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=02b5f612-de7f-48d8-8ad8-a2087cc9d361</wfw:commentRss>
      <slash:comments>2</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
At CodingHorror.com, Jeff shows how to make your website look good on a mobile device. 
It's pretty easy.
</p>
        <p style="text-align:left;">
          <font face="Courier New">&lt;link rel="stylesheet" <font color="#0000ff">href="http://www.yourdomain.com/css/styles-site-mobile.css" </font>type="text/css" <font color="red">media="handheld"</font> /&gt;</font>
        </p>
        <p>
Unfortunately, you still have to download all the HTML as before, but at least it
will look nicer.  And CodingHorror does look swell on a cell.
</p>
        <p>
          <a href="http://www.codinghorror.com/blog/archives/000782.html">http://www.codinghorror.com/blog/archives/000782.html</a>
        </p>
        <img width="0" height="0" src="http://www.chrisvelazquez.com/blog/aggbug.ashx?id=02b5f612-de7f-48d8-8ad8-a2087cc9d361" />
      </body>
      <title>Stylesheets for Print and Handheld</title>
      <guid isPermaLink="false">http://www.chrisvelazquez.com/blog/PermaLink,guid,02b5f612-de7f-48d8-8ad8-a2087cc9d361.aspx</guid>
      <link>http://www.chrisvelazquez.com/blog/PermaLink,guid,02b5f612-de7f-48d8-8ad8-a2087cc9d361.aspx</link>
      <pubDate>Thu, 01 Feb 2007 19:11:20 GMT</pubDate>
      <description>&lt;p&gt;
At CodingHorror.com, Jeff shows how to make your website look good on a mobile device.&amp;nbsp;
It's pretty easy.
&lt;/p&gt;
&lt;p style="text-align:left;"&gt;
&lt;font face="Courier New"&gt;&amp;lt;link rel="stylesheet" &lt;font color=#0000ff&gt;href="http://www.yourdomain.com/css/styles-site-mobile.css" &lt;/font&gt;type="text/css" &lt;font color=red&gt;media="handheld"&lt;/font&gt; /&amp;gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
Unfortunately, you still have to download all the HTML as before, but at least it
will look nicer.&amp;nbsp; And CodingHorror does look swell on a cell.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.codinghorror.com/blog/archives/000782.html"&gt;http://www.codinghorror.com/blog/archives/000782.html&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.chrisvelazquez.com/blog/aggbug.ashx?id=02b5f612-de7f-48d8-8ad8-a2087cc9d361" /&gt;</description>
      <comments>http://www.chrisvelazquez.com/blog/CommentView,guid,02b5f612-de7f-48d8-8ad8-a2087cc9d361.aspx</comments>
      <category>mobile;web development</category>
    </item>
    <item>
      <trackback:ping>http://www.chrisvelazquez.com/blog/Trackback.aspx?guid=4c107a6f-1e48-40ac-9382-276dabef5b05</trackback:ping>
      <pingback:server>http://www.chrisvelazquez.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.chrisvelazquez.com/blog/PermaLink,guid,4c107a6f-1e48-40ac-9382-276dabef5b05.aspx</pingback:target>
      <dc:creator>Chris V.</dc:creator>
      <wfw:comment>http://www.chrisvelazquez.com/blog/CommentView,guid,4c107a6f-1e48-40ac-9382-276dabef5b05.aspx</wfw:comment>
      <wfw:commentRss>http://www.chrisvelazquez.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=4c107a6f-1e48-40ac-9382-276dabef5b05</wfw:commentRss>
      <slash:comments>3</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I recently tuned into the <a href="http://www.itconversations.com/shows/detail1694.html" target="_blank">podcast
on IT Conversations</a>, hosted by Phil Windley, and featuring David Platt, .NET programmer
and author of the new book "<a href="http://www.amazon.com/exec/obidos/ASIN/0321466756/" target="_blank">Why
Software Sucks</a>".  In the podcast, Platt adds some new light to problems of
user-facing software (as opposed to programmer-facing software).  Much of what
he has to say has already been covered in Alan Cooper's unforgettable book, "<a href="http://www.amazon.com/exec/obidos/ASIN/0764526413/" target="_blank">About
Face</a>".
</p>
        <p>
So what makes some software suck?  Software is supposed to make our lives and
jobs easier to accomplish.  When software makes it difficult for a user to do
things, or forces the user to remember things, or demands that the user do a complex
dance with her keyboard and mouse, then that software sucks unequivocally.
</p>
        <p>
But if you visit the computer lab and ask the programmers what makes software suck,
they will have a totally different perspective.  Code that's hard to read, lack
of unit test coverage, tight coupling of objects, redundancy: these are the problems
that make software suck.
</p>
        <p>
My opinion is that you can have the most highly refactored code, in all of its object-oriented
goodness, and the software can still suck.  My fear is that there are many devotees
of Martin Fowler and Uncle Bob, who in their own minds believe they are writing great
software, but realize only after it has been foisted on the end user that it actually
sucks.
</p>
        <p>
When I tried to de-suckify a feature in the web application we recently released,
I was often met with fierce resistance from programmers, whereas the business analysts
were very open to new ideas on how to make the software more user-friendly. 
One example was when we were required to build an interface whereby a loan representative
could transfer the responsibility for a loan application to another loan rep. 
In our lingo, this is called "pushing a loan".  The original specification required
that the end user would enter the name of the receiving loan rep or their office then
run a search against the database.  I believed that this method would be error-prone
and that there ought to be any easier way.  I sat down with the business analyst
in charge of this new feature and asked her "What do people use this for 90% of the
time?"  She stated that most often, people would push the loan to someone else
within their own loan office.  So I asked how she would like it if, when the
user first selects the feature, he is presented immediately with a list of the loan
reps from his own office, and that this list would precede the search function on
the page.  The business analyst thought this was an excellent alternative, and
she went to draw up the new plans.  Back in the development lab, things ran afoul
because "everyone knows" that the search function "has" to be the first thing on the
page.  This was going to "break the convention" of the look and feel of the rest
of the web application, and this self-imposed directive should take priority over
giving the user what they truly want.  Also, this alternative was going to require
extra programming that we had not originally planned.  I stood my ground on the
customer's behalf, and ultimately we all did agree on this alternative presentation
of the UI.  But this incident illustrates that sometimes even software developers
who are in good communication with the end user will fail to have the end-user's best
interest as their top priority.
</p>
        <p>
In our development shop, we developers would often lapse into the flawed mentality
of "the customer's always right", and I have been just as guilty as others on this. 
The customer would dictate the requirements and the developers' task was to merely
implement whatever they came up with.  Occasionally, the customer would ask for
something so goofy that we developers would have to put our foot down and everyone
would go back to the drawing board.  Such are the risks of assigning the responsibility
of software design to the customer, in this case the business analysts.  The
business indeed knows best what the business needs, but is typically not the best
choice in deciding how to get there.  The developer has the knowledge to create
whatever a specification calls for, but his knowledge of the business need is often
very shallow.  This leaves a disconnect between the customer and the developer. 
This disconnect was partially alleviated by the agile process we used, during the
breakout sessions.  These sessions are great at defining the business need at
a high level that could be understood by both business analysts and developers. 
These session are not so good at defining the user interface.  And user acceptance
is all about the interface.
</p>
        <p>
In Cooper's book, "<a href="http://www.amazon.com/exec/obidos/ASIN/0672326140/" target="_blank">The
Inmates are Running the Asylum</a>", he introduces the concept of the "interaction
designer", a person who's job is to define the user interface and overall orchestration
for a software project.  In software development circles, the "architect" is
more like the lead programmer who has view of the entire system as a whole, including
database structures, development frameworks, and the code base.  Cooper's interaction
designer is more like an architect in the real world, and they are not so concerned
about the mechanics of making it happen as they are with getting it absolutely right
with the customer.  Programmers don't necessarily make good interaction designers,
because of their intense focus on the "how" of creating software, they lose sight
of the "what".  The interaction designer is not so concerned that the chosen
framework doesn't directly support a certain feature, they are focused on the end
product, and have the artistic license to devise the product so that it works intuitively
and flawlessly for the end user.
</p>
        <p>
In Platt's interview, he does not acknowledge many of his observations that have already
been articulated at length by Cooper.  He does offer a few helpful tips for both
end users and developers.  His tips for developers include:
</p>
        <p>
1) Make sure the project includes a "virgin" - that is, someone who is knowledgeable
in software development but comes to the table with a clean slate, unaware of the
software currently under development.  This fresh perspective will cause new
ideas to bloom outside of the box of groupthink that evolves within a development
team.
</p>
        <p>
2) Be willing to break with convention. Doing things the way they've always been done
is no longer good enough.  If you can't find the right GUI widget from your class
library, get a better class library or build it yourself.
</p>
        <p>
3) Don't let edge cases complicate the mainstream.  Programmers tend to write
software that is mathematically correct, when they should be focused on making the
actions and decisions most often taken by the end-user the top priority. Platt says
that it should be easy for the user to do things that are "good, smart and safe" and
difficult for users to do things that are "bad, stupid and dangerous".  Platt
also demonstrates that it's faster and easier to track a UPS delivery by searching
the UPS tracking number in Google than it is in UPS' own web site.  In Cooper's
"About Face", he makes the absurd analogy of putting the eject button right next to
the radio switch in the pilot's cockpit.
</p>
        <p>
4) Instrument the user experience.  Today's software allows you to be able to
report on the user's experience, so you should monitor how the user uses the software
and then use that information to improve the software for the user's actual needs
instead of their stated needs.  If your software is a web application, the simplest
thing you can do is monitor the web server logs, but you can even do more than that.
</p>
        <p>
One of the problems I see with judging software usability is that it relies on subjective
experience.  There is no one good metric to determine how much a piece of software
sucks or doesn't suck.  Aesthetic appeal is the first thing that hits the eye,
but the lasting impression is the ease of interaction.  For instance, my T-Mobile
service lets me pay my bill over the phone, and I don't even have to push a single
button; its voice commands are intuitive, succinct and accurate, and I have even paid
the bill while driving.
</p>
        <p>
I'll have more to say about these issues on future blogs.<br /></p>
        <img width="0" height="0" src="http://www.chrisvelazquez.com/blog/aggbug.ashx?id=4c107a6f-1e48-40ac-9382-276dabef5b05" />
      </body>
      <title>Developing Software that Doesn't Suck</title>
      <guid isPermaLink="false">http://www.chrisvelazquez.com/blog/PermaLink,guid,4c107a6f-1e48-40ac-9382-276dabef5b05.aspx</guid>
      <link>http://www.chrisvelazquez.com/blog/PermaLink,guid,4c107a6f-1e48-40ac-9382-276dabef5b05.aspx</link>
      <pubDate>Tue, 16 Jan 2007 22:35:56 GMT</pubDate>
      <description>&lt;p&gt;
I recently tuned into the &lt;a href="http://www.itconversations.com/shows/detail1694.html" target=_blank&gt;podcast
on IT Conversations&lt;/a&gt;, hosted by Phil Windley, and featuring David Platt, .NET programmer
and author of the new book "&lt;a href="http://www.amazon.com/exec/obidos/ASIN/0321466756/" target=_blank&gt;Why
Software Sucks&lt;/a&gt;".&amp;nbsp; In the podcast, Platt adds some new light to problems of
user-facing software (as opposed to programmer-facing software).&amp;nbsp; Much of what
he has to say has already been covered in Alan Cooper's unforgettable book, "&lt;a href="http://www.amazon.com/exec/obidos/ASIN/0764526413/" target=_blank&gt;About
Face&lt;/a&gt;".
&lt;/p&gt;
&lt;p&gt;
So what makes some software suck?&amp;nbsp; Software is supposed to make our lives and
jobs easier to accomplish.&amp;nbsp; When software makes it difficult for a user to do
things, or forces the user to remember things, or demands that the user do a complex
dance with her keyboard and mouse, then that software sucks unequivocally.
&lt;/p&gt;
&lt;p&gt;
But if you visit the computer lab and ask the programmers what makes software suck,
they will have a totally different perspective.&amp;nbsp; Code that's hard to read, lack
of unit test coverage, tight coupling of objects, redundancy: these are the problems
that make software suck.
&lt;/p&gt;
&lt;p&gt;
My opinion is that you can have the most highly refactored code, in all of its object-oriented
goodness, and the software can still suck.&amp;nbsp; My fear is that there are many devotees
of Martin Fowler and Uncle Bob, who in their own minds believe they are writing great
software, but realize only after it has been foisted on the end user that it actually
sucks.
&lt;/p&gt;
&lt;p&gt;
When I tried to de-suckify a feature in the web application we recently released,
I was often met with fierce resistance from programmers, whereas the business analysts
were very open to new ideas on how to make the software more user-friendly.&amp;nbsp;
One example was when we were required to build an interface whereby a loan representative
could transfer the responsibility for a loan application to another loan rep.&amp;nbsp;
In our lingo, this is called "pushing a loan".&amp;nbsp; The original specification required
that the end user would enter the name of the receiving loan rep or their office then
run a search against the database.&amp;nbsp; I believed that this method would be error-prone
and that there ought to be any easier way.&amp;nbsp; I sat down with the business analyst
in charge of this new feature and asked her "What do people use this for 90% of the
time?"&amp;nbsp; She stated that most often, people would push the loan to someone else
within their own loan office.&amp;nbsp; So I asked how she would like it if, when the
user first selects the feature, he is presented immediately with a list of the loan
reps from his own office, and that this list would precede the search function on
the page.&amp;nbsp; The business analyst thought this was an excellent alternative, and
she went to draw up the new plans.&amp;nbsp; Back in the development lab, things ran afoul
because "everyone knows" that the search function "has" to be the first thing on the
page.&amp;nbsp; This was going to "break the convention" of the look and feel of the rest
of the web application, and this self-imposed directive should take priority over
giving the user what they truly want.&amp;nbsp; Also, this alternative was going to require
extra programming that we had not originally planned.&amp;nbsp; I stood my ground on the
customer's behalf, and ultimately we all did agree on this alternative presentation
of the UI.&amp;nbsp; But this incident illustrates that sometimes even software developers
who are in good communication with the end user will fail to have the end-user's best
interest as their top priority.
&lt;/p&gt;
&lt;p&gt;
In our development shop, we developers would often lapse into the flawed mentality
of "the customer's always right", and I have been just as guilty as others on this.&amp;nbsp;
The customer would dictate the requirements and the developers' task was to merely
implement whatever they came up with.&amp;nbsp; Occasionally, the customer would ask for
something so goofy that we developers would have to put our foot down and everyone
would go back to the drawing board.&amp;nbsp; Such are the risks of assigning the responsibility
of software design to the customer, in this case the business analysts.&amp;nbsp; The
business indeed knows best what the business needs, but is typically not the best
choice in deciding how to get there.&amp;nbsp; The developer has the knowledge to create
whatever a specification calls for, but his knowledge of the business need is often
very shallow.&amp;nbsp; This leaves a disconnect between the customer and the developer.&amp;nbsp;
This disconnect was partially alleviated by the agile process we used, during the
breakout sessions.&amp;nbsp; These sessions are great at defining the business need at
a high level that could be understood by both business analysts and developers.&amp;nbsp;
These session are not so good at defining the user interface.&amp;nbsp; And user acceptance
is all about the interface.
&lt;/p&gt;
&lt;p&gt;
In Cooper's book, "&lt;a href="http://www.amazon.com/exec/obidos/ASIN/0672326140/" target=_blank&gt;The
Inmates are Running the Asylum&lt;/a&gt;", he introduces the concept of the "interaction
designer", a person who's job is to define the user interface and overall orchestration
for a software project.&amp;nbsp; In software development circles, the "architect" is
more like the lead programmer who has view of the entire system as a whole, including
database structures, development frameworks, and the code base.&amp;nbsp; Cooper's interaction
designer is more like an architect in the real world, and they are not so concerned
about the mechanics of making it happen as they are with getting it absolutely right
with the customer.&amp;nbsp; Programmers don't necessarily make good interaction designers,
because of their intense focus on the "how" of creating software, they lose sight
of the "what".&amp;nbsp; The interaction designer is not so concerned that the chosen
framework doesn't directly support a certain feature, they are focused on the end
product, and have the artistic license to devise the product so that it works intuitively
and flawlessly for the end user.
&lt;/p&gt;
&lt;p&gt;
In Platt's interview, he does not acknowledge many of his observations that have already
been articulated at length by Cooper.&amp;nbsp; He does offer a few helpful tips for both
end users and developers.&amp;nbsp; His tips for developers include:
&lt;/p&gt;
&lt;p&gt;
1) Make sure the project includes a "virgin" - that is, someone who is knowledgeable
in software development but comes to the table with a clean slate, unaware of the
software currently under development.&amp;nbsp; This fresh perspective will cause new
ideas to bloom outside of the box of groupthink that evolves within a development
team.
&lt;/p&gt;
&lt;p&gt;
2) Be willing to break with convention. Doing things the way they've always been done
is no longer good enough.&amp;nbsp; If you can't find the right GUI widget from your class
library, get a better class library or build it yourself.
&lt;/p&gt;
&lt;p&gt;
3) Don't let edge cases complicate the mainstream.&amp;nbsp; Programmers tend to write
software that is mathematically correct, when they should be focused on making the
actions and decisions most often taken by the end-user the top priority. Platt says
that it should be easy for the user to do things that are "good, smart and safe" and
difficult for users to do things that are "bad, stupid and dangerous".&amp;nbsp; Platt
also demonstrates that it's faster and easier to track a UPS delivery by searching
the UPS tracking number in Google than it is in UPS' own web site.&amp;nbsp; In Cooper's
"About Face", he makes the absurd analogy of putting the eject button right next to
the radio switch in the pilot's cockpit.
&lt;/p&gt;
&lt;p&gt;
4) Instrument the user experience.&amp;nbsp; Today's software allows you to be able to
report on the user's experience, so you should monitor how the user uses the software
and then use that information to improve the software for the user's actual needs
instead of their stated needs.&amp;nbsp; If your software is a web application, the simplest
thing you can do is monitor the web server logs, but you can even do more than that.
&lt;/p&gt;
&lt;p&gt;
One of the problems I see with judging software usability is that it relies on subjective
experience.&amp;nbsp; There is no one good metric to determine how much a piece of software
sucks or doesn't suck.&amp;nbsp; Aesthetic appeal is the first thing that hits the eye,
but the lasting impression is the ease of interaction.&amp;nbsp; For instance, my T-Mobile
service lets me pay my bill over the phone, and I don't even have to push a single
button; its voice commands are intuitive, succinct and accurate, and I have even paid
the bill while driving.
&lt;/p&gt;
&lt;p&gt;
I'll have more to say about these issues on future blogs.&lt;br&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.chrisvelazquez.com/blog/aggbug.ashx?id=4c107a6f-1e48-40ac-9382-276dabef5b05" /&gt;</description>
      <comments>http://www.chrisvelazquez.com/blog/CommentView,guid,4c107a6f-1e48-40ac-9382-276dabef5b05.aspx</comments>
      <category>.net;general;web development</category>
    </item>
    <item>
      <trackback:ping>http://www.chrisvelazquez.com/blog/Trackback.aspx?guid=c98968e6-c0eb-4e5b-b99f-9241f4c9fc7c</trackback:ping>
      <pingback:server>http://www.chrisvelazquez.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.chrisvelazquez.com/blog/PermaLink,guid,c98968e6-c0eb-4e5b-b99f-9241f4c9fc7c.aspx</pingback:target>
      <dc:creator>Chris V.</dc:creator>
      <wfw:comment>http://www.chrisvelazquez.com/blog/CommentView,guid,c98968e6-c0eb-4e5b-b99f-9241f4c9fc7c.aspx</wfw:comment>
      <wfw:commentRss>http://www.chrisvelazquez.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=c98968e6-c0eb-4e5b-b99f-9241f4c9fc7c</wfw:commentRss>
      <slash:comments>2</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I found an interesting alternative data access layer (DAL) to NHibernate called <a href="http://www.codeplex.com/Wiki/View.aspx?ProjectName=actionpack" target="_blank">SubSonic</a>. 
It was formerly called "ActionPack", but I guess there must be enough confusion with
Microsoft's "<a href="http://oem.microsoft.com/script/sites/public/action_pack.htm" target="_blank">Action
Pack</a>" that they changed the name.  SubSonic is open-source (MPL) 
</p>
        <p>
SubSonic has been hailed as "Ruby on Rails" for .NET developers.  There is a
screencast of it <a href="http://www.wekeroad.com/actionpackintro.html" target="_blank">here</a>,
prepare to be amazed.  It works kind of like this:
</p>
        <p>
1) Add a reference to the SubSonic DLL<br />
2) Modify your web.config with connection string info and SubSonic build provider
info<br />
3) Build the project<br />
4) ...<br /><img src="http://www.chrisvelazquez.com/blog/content/binary/miracle3.gif" border="0" />Copyright
(C) Sidney Harris.
</p>
        <p>
5) Amazing!  Domain objects and data access layer have been automagically created!
</p>
        <p>
I foresee this as a great way to quickly get a data-driven site up with a minimum
of development effort.  Realizing this is not the end-all and be-all of data
access, you are still free to use "traditional" ADO.NET techniques.  A recent
benefit is that CodePlex has come out with an XmlProvider, so that if you would rather
persist to XML instead of a database, it can handle that data access layer, too. 
This thing keeps getting better and better.
</p>
        <img width="0" height="0" src="http://www.chrisvelazquez.com/blog/aggbug.ashx?id=c98968e6-c0eb-4e5b-b99f-9241f4c9fc7c" />
      </body>
      <title>SubSonic - The Zero Code DAL</title>
      <guid isPermaLink="false">http://www.chrisvelazquez.com/blog/PermaLink,guid,c98968e6-c0eb-4e5b-b99f-9241f4c9fc7c.aspx</guid>
      <link>http://www.chrisvelazquez.com/blog/PermaLink,guid,c98968e6-c0eb-4e5b-b99f-9241f4c9fc7c.aspx</link>
      <pubDate>Wed, 03 Jan 2007 16:27:55 GMT</pubDate>
      <description>&lt;p&gt;
I found an interesting alternative data access layer (DAL)&amp;nbsp;to NHibernate called &lt;a href="http://www.codeplex.com/Wiki/View.aspx?ProjectName=actionpack" target=_blank&gt;SubSonic&lt;/a&gt;.&amp;nbsp;
It was formerly called "ActionPack", but I guess there must be enough confusion with
Microsoft's "&lt;a href="http://oem.microsoft.com/script/sites/public/action_pack.htm" target=_blank&gt;Action
Pack&lt;/a&gt;" that they changed the name.&amp;nbsp; SubSonic is open-source (MPL) 
&lt;/p&gt;
&lt;p&gt;
SubSonic has been hailed as "Ruby on Rails" for .NET developers.&amp;nbsp; There is a
screencast of it &lt;a href="http://www.wekeroad.com/actionpackintro.html" target=_blank&gt;here&lt;/a&gt;,
prepare to be amazed.&amp;nbsp; It works kind of like this:
&lt;/p&gt;
&lt;p&gt;
1) Add a reference to the SubSonic DLL&lt;br&gt;
2) Modify your web.config with connection string info and SubSonic build provider
info&lt;br&gt;
3) Build the project&lt;br&gt;
4) ...&lt;br&gt;
&lt;img src="http://www.chrisvelazquez.com/blog/content/binary/miracle3.gif" border=0&gt;Copyright
(C) Sidney&amp;nbsp;Harris.
&lt;/p&gt;
&lt;p&gt;
5) Amazing!&amp;nbsp; Domain objects and data access layer have been automagically created!
&lt;/p&gt;
&lt;p&gt;
I foresee this as a great way to quickly get a data-driven site up with a minimum
of development effort.&amp;nbsp; Realizing this is not the end-all and be-all of data
access, you are still free to use "traditional" ADO.NET techniques.&amp;nbsp; A recent
benefit is that CodePlex has come out with an XmlProvider, so that if you would rather
persist to XML instead of a database, it can handle that data access layer, too.&amp;nbsp;
This thing keeps getting better and better.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.chrisvelazquez.com/blog/aggbug.ashx?id=c98968e6-c0eb-4e5b-b99f-9241f4c9fc7c" /&gt;</description>
      <comments>http://www.chrisvelazquez.com/blog/CommentView,guid,c98968e6-c0eb-4e5b-b99f-9241f4c9fc7c.aspx</comments>
      <category>database;web development;.net</category>
    </item>
    <item>
      <trackback:ping>http://www.chrisvelazquez.com/blog/Trackback.aspx?guid=743d25fa-2eb5-4e32-8731-1a8338904ab9</trackback:ping>
      <pingback:server>http://www.chrisvelazquez.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.chrisvelazquez.com/blog/PermaLink,guid,743d25fa-2eb5-4e32-8731-1a8338904ab9.aspx</pingback:target>
      <dc:creator>Your DisplayName here!</dc:creator>
      <wfw:comment>http://www.chrisvelazquez.com/blog/CommentView,guid,743d25fa-2eb5-4e32-8731-1a8338904ab9.aspx</wfw:comment>
      <wfw:commentRss>http://www.chrisvelazquez.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=743d25fa-2eb5-4e32-8731-1a8338904ab9</wfw:commentRss>
      <slash:comments>2</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Recently, I bought my wife and myself his-and-hers Windows Mobile 5.0 gadget phones. 
Now I'll admit freely that I'm not a huge cell phone user, and I've always considered
maintaining a cell phone as a necessary evil in the consulting world.  Since
I have been experimenting with the .NET Compact Framework SDK, I figured this could
have potential in software development projects I'm working on.
</p>
        <p>
What is truly amazing is the amount of power that can be packed into one of these
little devices.  This device, the T-Mobile MDA (<a href="http://www.t-mobile.com/shop/phones/Detail.aspx?device=8802ddeb-1ee4-477a-9608-d9cd1e2a903f">link</a>)
has built-in WiFi, bluetooth and infrared beaming, it synchs with Outlook, et al,
using ActiveSync, it comes with a mini MSIE (approximately IE 5.5), Pocket Word and
Excel, a PDF viewer, some games, and other stuff.  There is a plethora of free
and commercial software for the phone, and I downloaded a Command Prompt program and
a Registry Editor.  Using Visual Studio 2005, you can easily develop and deploy
your own .NET software to this device, including SQL CE 5.0, which comes with
a cute little Query Analyzer for ad hoc querying and debugging.  Equipping this
device with a 1 GB MiniSD memory card gives you ample room for about 100 MP3s that
you can play with the mini version of Media Player.
</p>
        <p>
Oh, and did I mention that you can make and receive phone calls with this device?
</p>
        <p>
It is amazing that this thing runs on about 500 MHz processor and delivers this kind
of punch.  When I think back to my first PC, that I bought 13 years ago, this
little gadget blows it away.
</p>
        <p>
I love almost everything about this device except for one thing: most web sites look
downright awful on the web browser.  Nearly all web sites are designed for
1024x768 screen size, with the assumption that the user will be using it at a desktop
or laptop.  Most web sites use a boatload of graphics, with the assumption that
bandwidth is not a problem.  When my device is connected via WiFi, this really
isn't a problem, but more often I connect to the Internet using GPRS, which is much
slower a typical broadband connection and more latent than even a dial-up modem connection.
</p>
        <p>
As a developer, I see the conundrum. Today, most people do not use mobile devices
to browse the Internet.  But I bought this device for $249 last year, and I am
sure that it will be half that price by the end of the year.  Why would I want
to develop a web site for such a niche market?  Until Firefox started gaining
popularity, I only designed for MSIE since that was biggest target.  But thinking
forward, the mobile web market is poised to boom in the next two years.
</p>
        <p>
So what choices do we have as developers?  We could work by redesigning
one site at a time to comply with the new miniature standards.  This is a large
development effort and will cost businesses a lot of money to implement.  Do
I think this will actually happen?  Only the largest companies or the ones most
directly involved in web businesses will do it.  For instance, GoDaddy has a
mobile web interface that I used to register a domain using my gadget phone. 
But most vendors are not doing this yet.
</p>
        <p>
So what about medium to small-business web sites?  I think there needs to be
a handly plug-in the can convert a web site to mobile formatting when a mobile web
browser makes a request.  My idea is that I could create an <strong>HTML proxy </strong>that
makes the actual HTTP request from the web server, but then reformats the HTML and
imagery that is sent back as a response.  Current mobile web browsers make the
full request and drop formatting on the client.  An HTML proxy that can be installed
on the web site would provide an alternative where the crash diet occurs on the server,
resulting in faster loading web pages on the mobile web browser.
</p>
        <p>
My thought is that there would need to be certain flavors that are available immediately. 
Most dynamic pages are written using PHP, ASP and ASP.NET these days.  These
would be the immediate target systems.  I have yet to flesh out the details of
this server HTML proxy, but I'm going to be investigating this this year.  If
you are interested in enabling people to use the Internet more effectively please
e-mail me.  I think this is a pretty good idea, but I'm willing to listen to
better ones!
</p>
        <img width="0" height="0" src="http://www.chrisvelazquez.com/blog/aggbug.ashx?id=743d25fa-2eb5-4e32-8731-1a8338904ab9" />
      </body>
      <title>The Supercomputer in my Pocket</title>
      <guid isPermaLink="false">http://www.chrisvelazquez.com/blog/PermaLink,guid,743d25fa-2eb5-4e32-8731-1a8338904ab9.aspx</guid>
      <link>http://www.chrisvelazquez.com/blog/PermaLink,guid,743d25fa-2eb5-4e32-8731-1a8338904ab9.aspx</link>
      <pubDate>Mon, 01 Jan 2007 18:10:18 GMT</pubDate>
      <description>&lt;p&gt;
Recently, I bought my wife and myself his-and-hers Windows Mobile 5.0 gadget phones.&amp;nbsp;
Now I'll admit freely that I'm not a huge cell phone user, and I've always considered
maintaining a cell phone as a necessary evil in the consulting world.&amp;nbsp; Since
I have been experimenting with the .NET Compact Framework SDK, I figured this could
have potential in software development projects I'm working on.
&lt;/p&gt;
&lt;p&gt;
What is truly amazing is the amount of power that can be packed into one of these
little devices.&amp;nbsp; This device, the T-Mobile MDA&amp;nbsp;(&lt;a href="http://www.t-mobile.com/shop/phones/Detail.aspx?device=8802ddeb-1ee4-477a-9608-d9cd1e2a903f"&gt;link&lt;/a&gt;)
has built-in WiFi, bluetooth and infrared beaming, it synchs with Outlook, et al,
using ActiveSync, it comes with a mini MSIE (approximately IE 5.5), Pocket Word and
Excel, a PDF viewer, some games, and other stuff.&amp;nbsp; There is a plethora of free
and commercial software for the phone, and I downloaded a Command Prompt program and
a Registry Editor.&amp;nbsp; Using Visual Studio 2005, you can easily develop and deploy
your own .NET&amp;nbsp;software to this device, including SQL CE 5.0, which comes with
a cute little Query Analyzer for ad hoc querying and debugging.&amp;nbsp; Equipping this
device with a 1 GB MiniSD memory card gives you ample room for about 100 MP3s that
you can play with the mini version of Media Player.
&lt;/p&gt;
&lt;p&gt;
Oh, and did I mention that you can make and receive phone calls with this device?
&lt;/p&gt;
&lt;p&gt;
It is amazing that this thing runs on about 500 MHz processor and delivers this kind
of punch.&amp;nbsp; When I think back to my first PC, that I bought 13 years ago, this
little gadget blows it away.
&lt;/p&gt;
&lt;p&gt;
I love almost everything about this device except for one thing: most web sites look
downright awful on&amp;nbsp;the web browser.&amp;nbsp; Nearly all web sites are designed for
1024x768 screen size, with the assumption that the user will be using it at a desktop
or laptop.&amp;nbsp; Most web sites use a boatload of graphics, with the assumption that
bandwidth is not a problem.&amp;nbsp; When my device is connected via WiFi, this really
isn't a problem, but more often I connect to the Internet using GPRS, which is much
slower a typical broadband connection and more latent than even a dial-up modem connection.
&lt;/p&gt;
&lt;p&gt;
As a developer, I see the conundrum.&amp;nbsp;Today, most people do not use mobile devices
to browse the Internet.&amp;nbsp; But I bought this device for $249 last year, and I am
sure that it will be half that price by the end of the year.&amp;nbsp; Why would I want
to develop a web site for such a niche market?&amp;nbsp; Until Firefox started gaining
popularity, I only designed for MSIE since that was biggest target.&amp;nbsp; But thinking
forward, the mobile web&amp;nbsp;market is poised to boom in the next two years.
&lt;/p&gt;
&lt;p&gt;
So what choices do we have as developers?&amp;nbsp; We could work&amp;nbsp;by redesigning
one site at a time to comply with the new miniature standards.&amp;nbsp; This is a large
development effort and will cost businesses a lot of money to implement.&amp;nbsp; Do
I think this will actually happen?&amp;nbsp; Only the largest companies or the ones most
directly involved in web businesses will do it.&amp;nbsp; For instance, GoDaddy has a
mobile web interface that I used to register a domain using my gadget phone.&amp;nbsp;
But most vendors are not doing this yet.
&lt;/p&gt;
&lt;p&gt;
So what about medium to small-business web sites?&amp;nbsp; I think there needs to be
a handly plug-in the can convert a web site to mobile formatting when a mobile web
browser makes a request.&amp;nbsp; My idea is that I could create an &lt;strong&gt;HTML proxy &lt;/strong&gt;that
makes the actual HTTP request from the web server, but then reformats the HTML and
imagery that is sent back as a response.&amp;nbsp; Current mobile web browsers make the
full request and drop formatting on the client.&amp;nbsp; An HTML proxy that can be installed
on the web site would provide an alternative where the crash diet occurs on the server,
resulting in faster loading web pages on the mobile web browser.
&lt;/p&gt;
&lt;p&gt;
My thought is that there would need to be certain flavors that are available immediately.&amp;nbsp;
Most dynamic pages are written using PHP, ASP and ASP.NET these days.&amp;nbsp; These
would be the immediate target systems.&amp;nbsp; I have yet to flesh out the details of
this server HTML proxy, but I'm going to be investigating this this year.&amp;nbsp; If
you are interested in enabling people to use the Internet more effectively please
e-mail me.&amp;nbsp; I think this is a pretty good idea, but I'm willing to listen to
better ones!
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.chrisvelazquez.com/blog/aggbug.ashx?id=743d25fa-2eb5-4e32-8731-1a8338904ab9" /&gt;</description>
      <comments>http://www.chrisvelazquez.com/blog/CommentView,guid,743d25fa-2eb5-4e32-8731-1a8338904ab9.aspx</comments>
      <category>mobile;web development</category>
    </item>
  </channel>
</rss>