<?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:wfw="http://wellformedweb.org/CommentAPI/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" version="2.0">
  <channel>
    <title>Paul Mrozowski's Blog - Software Development</title>
    <link>http://www.rcs-solutions.com/blog/</link>
    <description>A day in the life (of a developer)</description>
    <language>en-us</language>
    <copyright>Paul Mrozowski / RCS Solutions, Inc.</copyright>
    <lastBuildDate>Sun, 26 Jul 2009 01:00:16 GMT</lastBuildDate>
    <generator>newtelligence dasBlog 2.0.7226.0</generator>
    <managingEditor>paulm@rcs-solutions.com</managingEditor>
    <webMaster>paulm@rcs-solutions.com</webMaster>
    <item>
      <trackback:ping>http://www.rcs-solutions.com/blog/Trackback.aspx?guid=8a7554bd-4a70-4486-a44e-71c472b21a85</trackback:ping>
      <pingback:server>http://www.rcs-solutions.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.rcs-solutions.com/blog/PermaLink,guid,8a7554bd-4a70-4486-a44e-71c472b21a85.aspx</pingback:target>
      <dc:creator>Paul Mrozowski</dc:creator>
      <wfw:comment>http://www.rcs-solutions.com/blog/CommentView,guid,8a7554bd-4a70-4486-a44e-71c472b21a85.aspx</wfw:comment>
      <wfw:commentRss>http://www.rcs-solutions.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=8a7554bd-4a70-4486-a44e-71c472b21a85</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Last year (two years maybe? Time flies...) I built a web-based "e-mail" system that
provided internal-only e-mail on our web portal. That might seem a bit weird, but
we needed a system where we could be sure when an e-mail was sent, to who, when it
was read, ability to recall a message, control who can send messages to who, etc.
Basically we needed to control the content end-to-end. Unfortunately standard e-mail
doesn't give you that level of control, so hence the need for building it. 
</p>
        <p>
I wanted the e-mail to function very similar to Outlook to minimize the learning curve
and help adoption (the old system another provider was hosting was really clunky).
It uses a lot of AJAX technology and had what I thought was a fair amount of the standard
e-mail features: You can create custom folders, move messages, forward messages, reply
to messages, add attachments, it automatically refreshes the e-mail list periodically,
you can view who has read your e-mail (and when), group messages by date or sender,
sort messages, resize the windows, double-click on a message to view it in a larger
window, plus a lot of other smaller features. 
</p>
        <p>
 <img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="WebEmail" src="http://www.rcs-solutions.com/blog/content/binary/WindowsLiveWriter/ManagingUserExpectations_1272B/WebEmail_6.png" width="897" height="520" /></p>
        <p>
          <img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="Web Email Move Folder" src="http://www.rcs-solutions.com/blog/content/binary/WindowsLiveWriter/ManagingUserExpectations_1272B/WebEmailMoveFolder_3.png" width="472" height="350" />
        </p>
        <p>
          <img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="Web Email New Message" src="http://www.rcs-solutions.com/blog/content/binary/WindowsLiveWriter/ManagingUserExpectations_1272B/WebEmailNewMsg_3.png" width="859" height="673" />
        </p>
        <p>
I thought it turned out nicely but an interesting thing happened; Some users were
unhappy with the level of functionality provided: you couldn't flag messages, drag
and drop a message from the inbox into a folder, the e-mail list didn't have intellisense,
etc. 
</p>
        <p>
Wow - I totally wasn't expecting that reaction (mind you, it was from a fairly small
minority, but it was interesting getting that feedback). 
</p>
        <p>
Of course it doesn't compare to the functionality of Outlook, I thought! They had
100+ developers and a few years of development time. I had, well, me and a few months
(and not just on this particular module)! 
</p>
        <p>
I didn't know what to make of it. I had spent a lot of time adding features, polishing
the UI so it wasn't clunky looking, etc. and they weren't happy with the functionality?
Where did I go wrong? It didn't occur to me until later that, by mirroring the look
and feel of Outlook that I was setting my web-based e-mail client to be compared directly
against Outlook. They weren't comparing it to the clunky old system at all. I had
inadvertently set their expectations much higher than I could deliver because of this.
Ouch. 
</p>
        <p>
In retrospect, I might have been better off delivering a system which functioned and
looked better than the existing system but didn't attempt to look and/or operate like
Outlook at all. For example, if I was able to do this over I'd probably drop the folders
option and simplify the e-mail list to just a nice looking grid list w/sorting (removing
the grouping altogether) and reduced some of the AJAX functionality (ex. when you
click on a message the e-mail icon "opens" and changes from bold text to normal text),
among other things. I would have spent less time on it and had less chance for bugs
to boot. 
</p>
        <p>
I know all about setting a customer's expectations so that there aren't any surprises,
but I completely forgot about some of the implicit expectations that can arise in
a project (and managing those as well). 
</p>
        <img width="0" height="0" src="http://www.rcs-solutions.com/blog/aggbug.ashx?id=8a7554bd-4a70-4486-a44e-71c472b21a85" />
      </body>
      <title>Managing User Expectations</title>
      <guid isPermaLink="false">http://www.rcs-solutions.com/blog/PermaLink,guid,8a7554bd-4a70-4486-a44e-71c472b21a85.aspx</guid>
      <link>http://www.rcs-solutions.com/blog/2009/07/26/ManagingUserExpectations.aspx</link>
      <pubDate>Sun, 26 Jul 2009 01:00:16 GMT</pubDate>
      <description>&lt;p&gt;
Last year (two years maybe? Time flies...) I built a web-based "e-mail" system that
provided internal-only e-mail on our web portal. That might seem a bit weird, but
we needed a system where we could be sure when an e-mail was sent, to who, when it
was read, ability to recall a message, control who can send messages to who, etc.
Basically we needed to control the content end-to-end. Unfortunately standard e-mail
doesn't give you that level of control, so hence the need for building it. 
&lt;p&gt;
I wanted the e-mail to function very similar to Outlook to minimize the learning curve
and help adoption (the old system another provider was hosting was really clunky).
It uses a lot of AJAX technology and had what I thought was a fair amount of the standard
e-mail features: You can create custom folders, move messages, forward messages, reply
to messages, add attachments, it automatically refreshes the e-mail list periodically,
you can view who has read your e-mail (and when), group messages by date or sender,
sort messages, resize the windows, double-click on a message to view it in a larger
window, plus a lot of other smaller features. 
&lt;p&gt;
&amp;nbsp;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="WebEmail" src="http://www.rcs-solutions.com/blog/content/binary/WindowsLiveWriter/ManagingUserExpectations_1272B/WebEmail_6.png" width="897" height="520"&gt; 
&lt;p&gt;
&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="Web Email Move Folder" src="http://www.rcs-solutions.com/blog/content/binary/WindowsLiveWriter/ManagingUserExpectations_1272B/WebEmailMoveFolder_3.png" width="472" height="350"&gt; 
&lt;p&gt;
&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="Web Email New Message" src="http://www.rcs-solutions.com/blog/content/binary/WindowsLiveWriter/ManagingUserExpectations_1272B/WebEmailNewMsg_3.png" width="859" height="673"&gt; 
&lt;p&gt;
I thought it turned out nicely but an interesting thing happened; Some users were
unhappy with the level of functionality provided: you couldn't flag messages, drag
and drop a message from the inbox into a folder, the e-mail list didn't have intellisense,
etc. 
&lt;p&gt;
Wow - I totally wasn't expecting that reaction (mind you, it was from a fairly small
minority, but it was interesting getting that feedback). 
&lt;p&gt;
Of course it doesn't compare to the functionality of Outlook, I thought! They had
100+ developers and a few years of development time. I had, well, me and a few months
(and not just on this particular module)! 
&lt;p&gt;
I didn't know what to make of it. I had spent a lot of time adding features, polishing
the UI so it wasn't clunky looking, etc. and they weren't happy with the functionality?
Where did I go wrong? It didn't occur to me until later that, by mirroring the look
and feel of Outlook that I was setting my web-based e-mail client to be compared directly
against Outlook. They weren't comparing it to the clunky old system at all. I had
inadvertently set their expectations much higher than I could deliver because of this.
Ouch. 
&lt;p&gt;
In retrospect, I might have been better off delivering a system which functioned and
looked better than the existing system but didn't attempt to look and/or operate like
Outlook at all. For example, if I was able to do this over I'd probably drop the folders
option and simplify the e-mail list to just a nice looking grid list w/sorting (removing
the grouping altogether) and reduced some of the AJAX functionality (ex. when you
click on a message the e-mail icon "opens" and changes from bold text to normal text),
among other things. I would have spent less time on it and had less chance for bugs
to boot. 
&lt;p&gt;
I know all about setting a customer's expectations so that there aren't any surprises,
but I completely forgot about some of the implicit expectations that can arise in
a project (and managing those as well). 
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.rcs-solutions.com/blog/aggbug.ashx?id=8a7554bd-4a70-4486-a44e-71c472b21a85" /&gt;</description>
      <comments>http://www.rcs-solutions.com/blog/CommentView,guid,8a7554bd-4a70-4486-a44e-71c472b21a85.aspx</comments>
      <category>Software Development</category>
    </item>
  </channel>
</rss>