The reply message



  • A colleague of mine was tasked with creating a simple messaging system in a larger application.
    This system wouldn't be anything major, but it should allow users to send small, text only, messages to each other.
    The feature was well received, but it didn't take long before someone wanted a reply button added. On it's own a simple addition, but not over the course of several weeks.

    You see, a reply is only a reply, when it is marked as such. So when the reply button was pressed, the message title would have to be prepended with "Re:"
    And it also needed a visual indicator, to show that the message was indeed a reply.



    In ASP.NET this can be achieved with a small bit of HTML, added by a small bit of C#:

    (message.Title.StartsWith("Re:", StringComparison.OrdinalIgnoreCase)) ? (@"<div class=""ReplyIcon"" style=""left:30px;top:15px;""></div>") : String.Empty



    Lets recap:

    • We confirm a message is a reply by checking if it's title starts with "Re:", since we know we added "Re:" to the title when the user pressed reply.
    • We check this with the ignore case option, because we don't know for sure what the casing will be.
    • We add a new div to the DOM, since "Elements can only have 1 class at a time". (Yes, I'm sorry I asked her too)
    • We add the positioning to the style attribute, because "It will be easier to change, since we know where it is"

    In the end, I'm just glad we found out about this before anyone mentioned threaded conversations....


  • @TheOtherChris said:

    it didn't take long before someone wanted a reply button added. On it's own a simple addition, but not over the course of several weeks.
    You see, a reply is only a reply, when it is marked as such. So when the reply button was pressed, the message title would have to be prepended with "Re:" And it also needed a visual indicator, to show that the message was indeed a reply.

    Why would a reply be different from any other message?  I mean I understand the problems with what they were doing but I don't understand why this was a requirement at all.



  • Re:Re:Re:Re:Re:Re:Re:Re:Re:Re:Re:Re:Re:Re:Re:Re: The reply message

    "I think there's a bug."

    "No.  The icon is still visible." 


  • Trolleybus Mechanic

    @TheOtherChris said:

    We add a new div to the DOM, since "Elements can only have 1 class at a time". (Yes, I'm sorry I asked her too)
     

    Tell her about asp:Panel. You'll blow her mind.



  • @locallunatic said:

    @TheOtherChris said:

    it didn't take long before someone wanted a reply button added. On it's own a simple addition, but not over the course of several weeks.
    You see, a reply is only a reply, when it is marked as such. So when the reply button was pressed, the message title would have to be prepended with "Re:" And it also needed a visual indicator, to show that the message was indeed a reply.

    Why would a reply be different from any other message?  I mean I understand the problems with what they were doing but I don't understand why this was a requirement at all.

    I don't know the reasoning behind it. I just know that word came from up the chain, and this was added to someone's To Do list. Personally I think just adding "Re:" would have been more than enough.


  • @Lorne Kates said:

    @TheOtherChris said:

    We add a new div to the DOM, since "Elements can only have 1 class at a time". (Yes, I'm sorry I asked her too)
     

    Tell her about asp:Panel. You'll blow her mind.


    She unfortunately knew about that already, and used it in some other places. She was setting every singe bit of CCS using the C# properties.

    She also found out about this hidden gem called asp:Repeater, and how you can abuse the OnItemDataBound event to set CSS for items via properties...



  • @TheOtherChris said:

    @locallunatic said:

    @TheOtherChris said:

    it didn't take long before someone wanted a reply button added. On it's own a simple addition, but not over the course of several weeks.
    You see, a reply is only a reply, when it is marked as such. So when the reply button was pressed, the message title would have to be prepended with "Re:" And it also needed a visual indicator, to show that the message was indeed a reply.

    Why would a reply be different from any other message?  I mean I understand the problems with what they were doing but I don't understand why this was a requirement at all.

    I don't know the reasoning behind it. I just know that word came from up the chain, and this was added to someone's To Do list. Personally I think just adding "Re:" would have been more than enough.


    Oh, I know the reasoning.

    I'm currently working on a similar bit of functionality. In my case, we need to remove the reply functionality from messages that are sent by the 'system' and not other users. At first, the requirement was "hey, we need a message from the system about X event happening." Then a week later at a meeting to clarify another completely unrelated part of the project, one of the business users turned to me and said "Hey, can we get the link on the system messages fixed." Which derailed the meeting into a discussion of how they've been wanting to "add some links" to these kinds of messages for months, but never found the time. Two weeks after that, we find out they don't just want a couple of static links, they basically want to make the system messages non-replyable and behave in a completely different fashion from regular messages from real people. Each time, I'd basically mock up a small idea of what I thought they wanted, bring it to the meeting, and get some minor clarification like color, or positioning interspersed with pretty major changes like "No sending the same message twice." and "we want to be able to go RIGHT to the event in question when clicking this link."

     



  • @TheOtherChris said:

    @Lorne Kates said:

    @TheOtherChris said:

    We add a new div to the DOM, since "Elements can only have 1 class at a time". (Yes, I'm sorry I asked her too)
     

    Tell her about asp:Panel. You'll blow her mind.


    She unfortunately knew about that already, and used it in some other places. She was setting every singe bit of CCS using the C# properties.

    She also found out about this hidden gem called asp:Repeater, and how you can abuse the OnItemDataBound event to set CSS for items via properties...

    She must be the original author of our site.



  • I once had a conversation via e-mail with an Italian customer.

    My e-mail system had English settings, so prefixed the subject with 'Re:' (unless it already had 'Re:' at the beginning). His did the same thing, but used 'Ri:' instead of 'Re:'.

    The result: Re: Ri: Re: Ri: Re: Ri: Re: Ri: Re: Ri: Re: Ri: Re: Ri: Re: Ri: Re: Ri: Re: Ri: Re: Ri: Re: Ri:

     



  • @ochrist said:

    I once had a conversation via e-mail with an Italian customer.

    My e-mail system had English settings, so prefixed the subject with 'Re:' (unless it already had 'Re:' at the beginning). His did the same thing, but used 'Ri:' instead of 'Re:'.

    The result: Re: Ri: Re: Ri: Re: Ri: Re: Ri: Re: Ri: Re: Ri: Re: Ri: Re: Ri: Re: Ri: Re: Ri: Re: Ri: Re: Ri:

     

     

    That I can understand. What I cannot understand is that at some time in the past, our Lotus Notes here at work (in Germany) would prefix the Subject with 'Re:' in the Notes client, but with 'Antwort:' in the webmail client. So it would produce a silly huge prefix even if you just mailed back and forth with a coworker who used the same server that could have prevented that... 

    Re: Antwort:  Re: Antwort: Re: Antwort: Re: Antwort: Re: Antwort: Re: Antwort: Re: Antwort: Re: Antwort: Re: Antwort: Check this silly video on youtube.com

     



  • @cyxxon said:

    That I can understand. What I cannot understand is that at some time in the past, our Lotus Notes here at work (in Germany) would prefix the Subject with 'Re:' in the Notes client, but with 'Antwort:' in the webmail client. So it would produce a silly huge prefix even if you just mailed back and forth with a coworker who used the same server that could have prevented that...

    As if you seriously expected Lotus Notes/Domino to get even one minor detail right.

    I mean, that would ruin their reputation of doing literally everything wrong. You want to be able to stand up and say, "yes! We do EVERYTHING wrong!" Not "sure, we do a lot of things wrong, but the server resolves the replies correctly."



  • True, true...

    Although right nowwe have a new problem... Notes recently started to collect all email addresses it ever saw, and helpfully uses them in a dropdown list when you start to type into the To: field.Just like almost every other program you know. The trouble is, in a business setting, it collects private email addresses (well, my coworker should maybe mail his girlfriend from his private account, but he didn't and nowwe all get her address recommended when the irst letters match...).

    In a business setting this has at least two interesting consequences - we suddenly store and propose email addresses for persons that are not really in a business relationship with us. Are we allowed to do that, due to privacy laws and whatever else you can think of? And second, somehow these proposals are ranked higher than the official emails. Coupled with the fact that we sometimes get email addresses with our names from customers for testing in their systems, so first.last@mycompany.com and first.last@ourcustomer.com are both proposed, with the second one the default autocompletion, and suddenly you write a confidential email to a fake coworker address that gets routed to a server you have no control over.

    The RWTF, you ask? That the person in charge here thinks this is all not only acceptable, but awesum(tm). Yes, it is on the agenda for the next round of management meetings. 



  • @cyxxon said:

    The RWTF, you ask? That the person in charge here thinks this is all not only acceptable, but awesum(tm).

    I hope you mean the person in charge of Lotus Notes, and not the person in charge of the company.



  • @blakeyrat said:

    @cyxxon said:
    The RWTF, you ask? That the person in charge here thinks this is all not only acceptable, but awesum(tm).

    I hope you mean the person in charge of Lotus Notes, and not the person in charge of the company.

     

    The person in charge of our Lotus Notes installation at our company.



  • @blakeyrat said:

    @cyxxon said:
    That I can understand. What I cannot understand is that at some time in the past, our Lotus Notes here at work (in Germany) would prefix the Subject with 'Re:' in the Notes client, but with 'Antwort:' in the webmail client. So it would produce a silly huge prefix even if you just mailed back and forth with a coworker who used the same server that could have prevented that...

    As if you seriously expected Lotus Notes/Domino to get even one minor detail right.

    I mean, that would ruin their reputation of doing literally everything wrong. You want to be able to stand up and say, "yes! We do EVERYTHING wrong!" Not "sure, we do a lot of things wrong, but the server resolves the replies correctly."

    I imagine Lotus Notes being made by hyperintelligent squids. Like, twice as intelligent as a normal squid. So not too great by human standards. But for squids, it's the best squidmail client available! Those squids at IBM are geniuses!



  • @Ben L. said:

    @blakeyrat said:
    @cyxxon said:
    That I can understand. What I cannot understand is that at some time in the past, our Lotus Notes here at work (in Germany) would prefix the Subject with 'Re:' in the Notes client, but with 'Antwort:' in the webmail client. So it would produce a silly huge prefix even if you just mailed back and forth with a coworker who used the same server that could have prevented that...

    As if you seriously expected Lotus Notes/Domino to get even one minor detail right.

    I mean, that would ruin their reputation of doing literally everything wrong. You want to be able to stand up and say, "yes! We do EVERYTHING wrong!" Not "sure, we do a lot of things wrong, but the server resolves the replies correctly."

    I imagine Lotus Notes being made by hyperintelligent squids. Like, twice as intelligent as a normal squid. So not too great by human standards. But for squids, it's the best squidmail client available! Those squids at IBM are geniuses!

    If only they had a better calamarketing department...



  • @DrakeSmith said:

    @Ben L. said:
    @blakeyrat said:
    @cyxxon said:
    That I can understand. What I cannot understand is that at some time in the past, our Lotus Notes here at work (in Germany) would prefix the Subject with 'Re:' in the Notes client, but with 'Antwort:' in the webmail client. So it would produce a silly huge prefix even if you just mailed back and forth with a coworker who used the same server that could have prevented that...

    As if you seriously expected Lotus Notes/Domino to get even one minor detail right.

    I mean, that would ruin their reputation of doing literally everything wrong. You want to be able to stand up and say, "yes! We do EVERYTHING wrong!" Not "sure, we do a lot of things wrong, but the server resolves the replies correctly."

    I imagine Lotus Notes being made by hyperintelligent squids. Like, twice as intelligent as a normal squid. So not too great by human standards. But for squids, it's the best squidmail client available! Those squids at IBM are geniuses!

    If only they had a better calamarketing department...

    B-D-TTFY

Log in to reply