<?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>Jay Harris is Cpt. LoadTest - Usability</title>
    <link>http://www.cptloadtest.com/</link>
    <description>a .net developers blog on improving user experience of humans and coders</description>
    <language>en-us</language>
    <copyright>Jason Harris</copyright>
    <lastBuildDate>Mon, 19 Jun 2006 13:20:25 GMT</lastBuildDate>
    <generator>newtelligence dasBlog 2.3.12105.0</generator>
    <managingEditor>jharris@harrisdesigns.com</managingEditor>
    <webMaster>jharris@harrisdesigns.com</webMaster>
    <item>
      <trackback:ping>http://www.cptloadtest.com/Trackback.aspx?guid=b5d3f05f-e3f2-4ec8-b102-7820db74f873</trackback:ping>
      <pingback:server>http://www.cptloadtest.com/pingback.aspx</pingback:server>
      <pingback:target>http://www.cptloadtest.com/PermaLink,guid,b5d3f05f-e3f2-4ec8-b102-7820db74f873.aspx</pingback:target>
      <dc:creator>Jay Harris</dc:creator>
      <wfw:comment>http://www.cptloadtest.com/CommentView,guid,b5d3f05f-e3f2-4ec8-b102-7820db74f873.aspx</wfw:comment>
      <wfw:commentRss>http://www.cptloadtest.com/SyndicationService.asmx/GetEntryCommentsRss?guid=b5d3f05f-e3f2-4ec8-b102-7820db74f873</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
The folks over at <a href="http://www.37signals.com/svn/">SvN</a> found this gem.
In another case of “Let’s all point and laugh” or “Don’t be that guy,” I direct you
to <a href="http://usability.gov/basics/index.html">Usability.gov</a>, courtesy of
the U.S. Department of Health and Human Services. Note the side-nav article on “Navigation:
Left is Best.” Note how the navigation is on the right side.
</p>
        <p>
Hanlon’s Razor. “Never ascribe to malice, that which can be explained by incompetence.”
</p>
        <img width="0" height="0" src="http://www.cptloadtest.com/aggbug.ashx?id=b5d3f05f-e3f2-4ec8-b102-7820db74f873" />
      </body>
      <title>Usability.gov, and their own advice</title>
      <guid isPermaLink="false">http://www.cptloadtest.com/PermaLink,guid,b5d3f05f-e3f2-4ec8-b102-7820db74f873.aspx</guid>
      <link>http://www.cptloadtest.com/2006/06/19/Usabilitygov-And-Their-Own-Advice.aspx</link>
      <pubDate>Mon, 19 Jun 2006 13:20:25 GMT</pubDate>
      <description>&lt;p&gt;
The folks over at &lt;a href="http://www.37signals.com/svn/"&gt;SvN&lt;/a&gt; found this gem.
In another case of “Let’s all point and laugh” or “Don’t be that guy,” I direct you
to &lt;a href="http://usability.gov/basics/index.html"&gt;Usability.gov&lt;/a&gt;, courtesy of
the U.S. Department of Health and Human Services. Note the side-nav article on “Navigation:
Left is Best.” Note how the navigation is on the right side.
&lt;/p&gt;
&lt;p&gt;
Hanlon’s Razor. “Never ascribe to malice, that which can be explained by incompetence.”
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.cptloadtest.com/aggbug.ashx?id=b5d3f05f-e3f2-4ec8-b102-7820db74f873" /&gt;</description>
      <comments>http://www.cptloadtest.com/CommentView,guid,b5d3f05f-e3f2-4ec8-b102-7820db74f873.aspx</comments>
      <category>Mush</category>
      <category>Usability</category>
    </item>
    <item>
      <trackback:ping>http://www.cptloadtest.com/Trackback.aspx?guid=9166d01a-a749-478e-95e5-4c60729aa687</trackback:ping>
      <pingback:server>http://www.cptloadtest.com/pingback.aspx</pingback:server>
      <pingback:target>http://www.cptloadtest.com/PermaLink,guid,9166d01a-a749-478e-95e5-4c60729aa687.aspx</pingback:target>
      <dc:creator>Jay Harris</dc:creator>
      <wfw:comment>http://www.cptloadtest.com/CommentView,guid,9166d01a-a749-478e-95e5-4c60729aa687.aspx</wfw:comment>
      <wfw:commentRss>http://www.cptloadtest.com/SyndicationService.asmx/GetEntryCommentsRss?guid=9166d01a-a749-478e-95e5-4c60729aa687</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Years ago, way back when the web first started to become universally popular–and I’m
talking about popular with all demographics and not just geeks like me–there was the
30KB rule, and it was a cardinal sin to break it. The entire request, including your
HTML, your images, and everything else your page contained, had to come in under 30
kilobytes. Most homes were surfing through the web on a 28.8kbps modem, which pulled
30KB in about 10 seconds. Beyond that 10 seconds, and your users were too bored, frustrated,
or confused to wait another moment, and were off to pursue the next site in your WebRing.
30KB. That was the limit. It was universally accepted. And, save a few ransom notes
on GeoCities, everyone followed it.
</p>
        <p>
Whatever happened to the 30KB rule?
</p>
        <p>
Today constantly see pages that are 100KB or more, and those are even compressed responses.
Everyone is so caught up in broadband, and developing on their 100mbps LAN, that they
forget about the little guy. What about grandma? My poor grandma still surfs the internet
with a good ol’ 57.6kbps modem. And even if she could pull off that speed (US restrictions
limit to 53, max) it would still take 20 seconds to yank that monster through the
pipe. My poor grandma shouldn’t have to wait that long.
</p>
        <p>
Often times if I wade through the muck that makes up the offending request, I see
60KB style sheets, references to JS files that contain functions not even used in
this page, big honkin’ j-pegs, useless JavaScript comment blocks that easily pile
on a few K, and my nemesis: ViewState. (I hate ViewState. ViewState hates me. It’s
a good relationship.)
</p>
        <p>
My company is making an application, and the primary audience is a bunch o’ satellite
offices stuck in the 20th century. They plug in to a whopping dual ISDN which maxes
out at a whopping 128kbps. That’s 16KB/sec for you young folk. That 100KB page will
take 7 seconds to pull across the wire. Toss that fact in to the 10-second rule, and
you only have 3 seconds to process the request. I have visions of little ones and
zeros flying towards the light screaming “We’re not gonna make it!!”
</p>
        <p>
Get a haircut. Trim those bushes. Bring that response size down a few K. Here’s a
few ways to tame the beast:
</p>
        <h3>Reduce ViewState
</h3>
        <blockquote>“Remember that ViewState is evil.”</blockquote>
        <p>
It adds a big, encrypted string to a hidden form variable in your HTML. However, this
beast gets bigger with every web control that you have. Explicitly turn off viewstate
on every control that does not use it, or better yet, turn of viewstate for the entire
page. Of course, realize that the not-dot-net crowd is laughing at you while you do
it.
</p>
        <h3>Eliminate Comments in Release Code
</h3>
        <blockquote>“keep your comments to yourself.”</blockquote>
        <p>
It is great to comment your code. It is fabulous. Every developer should bow to you
if you comment your code, because not enough do it themselves. However, unless it
is compiled code or in code-behind that isn’t sent to the client, it has to go. You
can keep your comments in the version stored in SVN, VSS, or whatever your favorite
source control tool is, but your release code should contain no client-side comments.
Your client doesn’t read them, their browser doesn’t care about them, and all it does
is slow everything down, so give them the axe. Your network administrator will love
you for it, too.
</p>
        <h3>Optimize Images
</h3>
        <blockquote>“Phenomenal, Artistic Imagery, Itty-Bitty Living Space.”</blockquote>
        <p>
Compress your images. Get them as small as your image editor can get them (small:
file size, not small: pixel size) without degrading the image beyond acceptable levels.
And if you use a GIF, lower the number of colors (which will lower the number of bytes).
When your images get smaller, people get happy.
</p>
        <h3>Eliminate Whitespace
</h3>
        <blockquote>“One Program: One Line of Code.”</blockquote>
        <p>
This is a cheap trick to squeeze out those last few bytes. If you have a news article
that’s 9 pages long, open it up in notepad and turn off word-wrap, it becomes one
big long line that stretches out forever and is impossible to read. But, your browser
could care less. Take out all of the horizontal white space that you use to make your
code readable, and then take out all the line breaks to make your HTML one big line,
and your browser couldn’t tell the difference. However, you just chopped a few more
bits.
</p>
        <h3>Enable Compression
</h3>
        <blockquote>“GZip it, and GZip it good.”</blockquote>
        <p>
If all else fails, and you’ve gotten your pages as whittled down as you can, and they
are still big, compress it. Then again, even if they are small, compress it. It will
add a few more CPU cycles on both ends to compress and decompress the response, but
the time lost is greatly countered by the time saved in data transfer. Typical compression
is around 40%, which takes that 100KB file down to 60KB, and saves my grandma nearly
8 seconds. She’ll give you a kiss and squeeze your cheeks for that one.
</p>blockquote“keep&gt;
<img width="0" height="0" src="http://www.cptloadtest.com/aggbug.ashx?id=9166d01a-a749-478e-95e5-4c60729aa687" /></body>
      <title>What happened to 30 KB?</title>
      <guid isPermaLink="false">http://www.cptloadtest.com/PermaLink,guid,9166d01a-a749-478e-95e5-4c60729aa687.aspx</guid>
      <link>http://www.cptloadtest.com/2005/07/18/What-Happened-To-30-KB.aspx</link>
      <pubDate>Mon, 18 Jul 2005 18:10:35 GMT</pubDate>
      <description>&lt;p&gt;
Years ago, way back when the web first started to become universally popular–and I’m
talking about popular with all demographics and not just geeks like me–there was the
30KB rule, and it was a cardinal sin to break it. The entire request, including your
HTML, your images, and everything else your page contained, had to come in under 30
kilobytes. Most homes were surfing through the web on a 28.8kbps modem, which pulled
30KB in about 10 seconds. Beyond that 10 seconds, and your users were too bored, frustrated,
or confused to wait another moment, and were off to pursue the next site in your WebRing.
30KB. That was the limit. It was universally accepted. And, save a few ransom notes
on GeoCities, everyone followed it.
&lt;/p&gt;
&lt;p&gt;
Whatever happened to the 30KB rule?
&lt;/p&gt;
&lt;p&gt;
Today constantly see pages that are 100KB or more, and those are even compressed responses.
Everyone is so caught up in broadband, and developing on their 100mbps LAN, that they
forget about the little guy. What about grandma? My poor grandma still surfs the internet
with a good ol’ 57.6kbps modem. And even if she could pull off that speed (US restrictions
limit to 53, max) it would still take 20 seconds to yank that monster through the
pipe. My poor grandma shouldn’t have to wait that long.
&lt;/p&gt;
&lt;p&gt;
Often times if I wade through the muck that makes up the offending request, I see
60KB style sheets, references to JS files that contain functions not even used in
this page, big honkin’ j-pegs, useless JavaScript comment blocks that easily pile
on a few K, and my nemesis: ViewState. (I hate ViewState. ViewState hates me. It’s
a good relationship.)
&lt;/p&gt;
&lt;p&gt;
My company is making an application, and the primary audience is a bunch o’ satellite
offices stuck in the 20th century. They plug in to a whopping dual ISDN which maxes
out at a whopping 128kbps. That’s 16KB/sec for you young folk. That 100KB page will
take 7 seconds to pull across the wire. Toss that fact in to the 10-second rule, and
you only have 3 seconds to process the request. I have visions of little ones and
zeros flying towards the light screaming “We’re not gonna make it!!”
&lt;/p&gt;
&lt;p&gt;
Get a haircut. Trim those bushes. Bring that response size down a few K. Here’s a
few ways to tame the beast:
&lt;/p&gt;
&lt;h3&gt;Reduce ViewState
&lt;/h3&gt;
&lt;blockquote&gt;“Remember that ViewState is evil.”&lt;/blockquote&gt; 
&lt;p&gt;
It adds a big, encrypted string to a hidden form variable in your HTML. However, this
beast gets bigger with every web control that you have. Explicitly turn off viewstate
on every control that does not use it, or better yet, turn of viewstate for the entire
page. Of course, realize that the not-dot-net crowd is laughing at you while you do
it.
&lt;/p&gt;
&lt;h3&gt;Eliminate Comments in Release Code
&lt;/h3&gt;
&lt;blockquote&gt;“keep your comments to yourself.”&lt;/blockquote&gt; 
&lt;p&gt;
It is great to comment your code. It is fabulous. Every developer should bow to you
if you comment your code, because not enough do it themselves. However, unless it
is compiled code or in code-behind that isn’t sent to the client, it has to go. You
can keep your comments in the version stored in SVN, VSS, or whatever your favorite
source control tool is, but your release code should contain no client-side comments.
Your client doesn’t read them, their browser doesn’t care about them, and all it does
is slow everything down, so give them the axe. Your network administrator will love
you for it, too.
&lt;/p&gt;
&lt;h3&gt;Optimize Images
&lt;/h3&gt;
&lt;blockquote&gt;“Phenomenal, Artistic Imagery, Itty-Bitty Living Space.”&lt;/blockquote&gt; 
&lt;p&gt;
Compress your images. Get them as small as your image editor can get them (small:
file size, not small: pixel size) without degrading the image beyond acceptable levels.
And if you use a GIF, lower the number of colors (which will lower the number of bytes).
When your images get smaller, people get happy.
&lt;/p&gt;
&lt;h3&gt;Eliminate Whitespace
&lt;/h3&gt;
&lt;blockquote&gt;“One Program: One Line of Code.”&lt;/blockquote&gt; 
&lt;p&gt;
This is a cheap trick to squeeze out those last few bytes. If you have a news article
that’s 9 pages long, open it up in notepad and turn off word-wrap, it becomes one
big long line that stretches out forever and is impossible to read. But, your browser
could care less. Take out all of the horizontal white space that you use to make your
code readable, and then take out all the line breaks to make your HTML one big line,
and your browser couldn’t tell the difference. However, you just chopped a few more
bits.
&lt;/p&gt;
&lt;h3&gt;Enable Compression
&lt;/h3&gt;
&lt;blockquote&gt;“GZip it, and GZip it good.”&lt;/blockquote&gt; 
&lt;p&gt;
If all else fails, and you’ve gotten your pages as whittled down as you can, and they
are still big, compress it. Then again, even if they are small, compress it. It will
add a few more CPU cycles on both ends to compress and decompress the response, but
the time lost is greatly countered by the time saved in data transfer. Typical compression
is around 40%, which takes that 100KB file down to 60KB, and saves my grandma nearly
8 seconds. She’ll give you a kiss and squeeze your cheeks for that one.
&lt;/p&gt;blockquote“keep&gt;
&lt;img width="0" height="0" src="http://www.cptloadtest.com/aggbug.ashx?id=9166d01a-a749-478e-95e5-4c60729aa687" /&gt;</description>
      <comments>http://www.cptloadtest.com/CommentView,guid,9166d01a-a749-478e-95e5-4c60729aa687.aspx</comments>
      <category>Programming</category>
      <category>Usability</category>
    </item>
    <item>
      <trackback:ping>http://www.cptloadtest.com/Trackback.aspx?guid=f154ded8-84ea-48c1-a1ac-2067c9621332</trackback:ping>
      <pingback:server>http://www.cptloadtest.com/pingback.aspx</pingback:server>
      <pingback:target>http://www.cptloadtest.com/PermaLink,guid,f154ded8-84ea-48c1-a1ac-2067c9621332.aspx</pingback:target>
      <dc:creator>Jay Harris</dc:creator>
      <wfw:comment>http://www.cptloadtest.com/CommentView,guid,f154ded8-84ea-48c1-a1ac-2067c9621332.aspx</wfw:comment>
      <wfw:commentRss>http://www.cptloadtest.com/SyndicationService.asmx/GetEntryCommentsRss?guid=f154ded8-84ea-48c1-a1ac-2067c9621332</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
All too often, we forget about <a href="http://en.wikipedia.org/wiki/Usability">usability</a>.
We get so caught up in fixing functionality and enhancing performance that we forget
about the most important part: how easy is it to <em>use</em> this thing we have just
created. Sure. That new super-gigantic Humvee will go in any direction you want, can
climb a 21-inch vertical, and can pull small houses with ease, but who cares? It drools
at the sight of a gas station, it is impossible to parallel park, and most importantly,
how do you expect grandma to climb in and out of that thing?
</p>
        <p>
What would grandma do?
</p>
        <p>
Imagine that poor old lady trying to raise her little leg up onto the running board,
and then pull herself up into the cab with those little arms. She’s a GRANDMA! She
isn’t 20 anymore. Or 50, for that matter. We forget about grandma in our software
testing, too. How would she use that application you just made? How would she react
to that detailed error message your creation just spit out?
</p>
        <p>
My poor father; he just got his first computer, and I’ve been trying to teach him
how to do instant messaging. He knows enough about Windows XP to be familiar with
the big ‘X’ in upper-right corner. Click it and everything goes away. But, Trillian
is different. In the upper-left of the contact list is an upside-down triangle that
minimizes the window to the system tray. Right below that is a little small ‘x’. Unfortunately,
that ‘x’ removes your contacts from within your Trillian window. You have to play
around in your ‘View’ menu to get the list to come back, again. However, my father
doesn’t know upside-down triangles, and he certainly doesn’t know about the ‘View’
menu, yet. He just knows the ‘x’. So that’s what he does. He clicks the little ‘x’.
And every time he does, his contacts go *poof*, and he has to call me to help him
get his contacts back. My grandmother would do the same thing. I don’t think Trillian
did any usability testing on that feature.
</p>
        <p>
What would grandma do? You know that she’s going to want to click the ‘x’, no matter
what, because the ‘x’ is what she knows, just like my father. So why not make the
upside-down triangle an ‘x’? It can still minimize to the system tray. The ‘x’ isn’t
a cast-in-stone rule that the application must quit all-together. If you don’t believe
me, try the ‘x’ on your MSN Messenger window. It minimizes to the system tray. Why
did Microsoft brake their own tradition? I bet what they really did was a little usability
testing, and discovered that new users always want to click the ‘x’. To new users,
the ‘x’ is a big “CLICK HERE” sign to make that window go away. They don’t care if
it closes; new users just want it to go away. And if she were still around, Violet–my
grandmother–would always be a new user when it came to computers. Just make the window
go away. Like clearing the dishes after dinner: it didn’t matter if you threw the
plate out, just get it off the table.
</p>
        <p>
So, we have this problem. Now, what do we do about it? Ask yourself:What would grandma
do? “Fatal error: Userdata insert failed. Connection to database unavailable. \\jedimaster\yoda\greenlightsaber\sqlserver2000
not found.” If she saw that, what would grandma do? Stare blankly at the computer?
“Unable to save your contact information. Please try again later.” Grandma can understand
that. So, think of your grandma when you test that new application. Think of your
grandma when you write your error messages. Think of grandma when you draw pretty
graphics or design a button icon. Your program will be much more friendly, and much
easier to use. Even grandma could use it. If you need help remembering, put a picture
of grandma on your desk at work, right next to your monitor. And if you don’t have
a grandma, substitute that sweet old lady down the street that bought all of your
raffle tickets when you were 12 and baked you cookies because you were such a good
little kid.
</p>
        <p>
Remember grandma.<br />
What would grandma do? She’d tell you that she’s proud of you, because that’s what
grandmas do.
</p>
        <img width="0" height="0" src="http://www.cptloadtest.com/aggbug.ashx?id=f154ded8-84ea-48c1-a1ac-2067c9621332" />
      </body>
      <title>Usability: What would grandma do?</title>
      <guid isPermaLink="false">http://www.cptloadtest.com/PermaLink,guid,f154ded8-84ea-48c1-a1ac-2067c9621332.aspx</guid>
      <link>http://www.cptloadtest.com/2005/05/07/Usability-What-Would-Grandma-Do.aspx</link>
      <pubDate>Sat, 07 May 2005 12:53:33 GMT</pubDate>
      <description>		
&lt;p&gt;
All too often, we forget about &lt;a href="http://en.wikipedia.org/wiki/Usability"&gt;usability&lt;/a&gt;.
We get so caught up in fixing functionality and enhancing performance that we forget
about the most important part: how easy is it to &lt;em&gt;use&lt;/em&gt; this thing we have just
created. Sure. That new super-gigantic Humvee will go in any direction you want, can
climb a 21-inch vertical, and can pull small houses with ease, but who cares? It drools
at the sight of a gas station, it is impossible to parallel park, and most importantly,
how do you expect grandma to climb in and out of that thing?
&lt;/p&gt;
&lt;p&gt;
What would grandma do?
&lt;/p&gt;
&lt;p&gt;
Imagine that poor old lady trying to raise her little leg up onto the running board,
and then pull herself up into the cab with those little arms. She’s a GRANDMA! She
isn’t 20 anymore. Or 50, for that matter. We forget about grandma in our software
testing, too. How would she use that application you just made? How would she react
to that detailed error message your creation just spit out?
&lt;/p&gt;
&lt;p&gt;
My poor father; he just got his first computer, and I’ve been trying to teach him
how to do instant messaging. He knows enough about Windows XP to be familiar with
the big ‘X’ in upper-right corner. Click it and everything goes away. But, Trillian
is different. In the upper-left of the contact list is an upside-down triangle that
minimizes the window to the system tray. Right below that is a little small ‘x’. Unfortunately,
that ‘x’ removes your contacts from within your Trillian window. You have to play
around in your ‘View’ menu to get the list to come back, again. However, my father
doesn’t know upside-down triangles, and he certainly doesn’t know about the ‘View’
menu, yet. He just knows the ‘x’. So that’s what he does. He clicks the little ‘x’.
And every time he does, his contacts go *poof*, and he has to call me to help him
get his contacts back. My grandmother would do the same thing. I don’t think Trillian
did any usability testing on that feature.
&lt;/p&gt;
&lt;p&gt;
What would grandma do? You know that she’s going to want to click the ‘x’, no matter
what, because the ‘x’ is what she knows, just like my father. So why not make the
upside-down triangle an ‘x’? It can still minimize to the system tray. The ‘x’ isn’t
a cast-in-stone rule that the application must quit all-together. If you don’t believe
me, try the ‘x’ on your MSN Messenger window. It minimizes to the system tray. Why
did Microsoft brake their own tradition? I bet what they really did was a little usability
testing, and discovered that new users always want to click the ‘x’. To new users,
the ‘x’ is a big “CLICK HERE” sign to make that window go away. They don’t care if
it closes; new users just want it to go away. And if she were still around, Violet–my
grandmother–would always be a new user when it came to computers. Just make the window
go away. Like clearing the dishes after dinner: it didn’t matter if you threw the
plate out, just get it off the table.
&lt;/p&gt;
&lt;p&gt;
So, we have this problem. Now, what do we do about it? Ask yourself:What would grandma
do? “Fatal error: Userdata insert failed. Connection to database unavailable. \\jedimaster\yoda\greenlightsaber\sqlserver2000
not found.” If she saw that, what would grandma do? Stare blankly at the computer?
“Unable to save your contact information. Please try again later.” Grandma can understand
that. So, think of your grandma when you test that new application. Think of your
grandma when you write your error messages. Think of grandma when you draw pretty
graphics or design a button icon. Your program will be much more friendly, and much
easier to use. Even grandma could use it. If you need help remembering, put a picture
of grandma on your desk at work, right next to your monitor. And if you don’t have
a grandma, substitute that sweet old lady down the street that bought all of your
raffle tickets when you were 12 and baked you cookies because you were such a good
little kid.
&lt;/p&gt;
&lt;p&gt;
Remember grandma.&lt;br&gt;
What would grandma do? She’d tell you that she’s proud of you, because that’s what
grandmas do.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.cptloadtest.com/aggbug.ashx?id=f154ded8-84ea-48c1-a1ac-2067c9621332" /&gt;</description>
      <comments>http://www.cptloadtest.com/CommentView,guid,f154ded8-84ea-48c1-a1ac-2067c9621332.aspx</comments>
      <category>Programming</category>
      <category>Usability</category>
    </item>
  </channel>
</rss>