Social Media Is No Longer Child’s Play

16. January 2010

The other day my wife called Comcast to transfer service, and see if they would be able to provide any discounts. After a quick conversation, the rep actually suggested we switch to our local FIOS provider. I found this quite funny, so I decided to tweet about it. I wasn't complaining, but I knew Comcast would see it most would most likely respond.

source: http://www.fredcavazza.net/2008/06/09/social-media-landscape/Sure enough, not 5 minutes later a representative wanted to know more details on the conversation so she could "review with management". I figured I would humor her and sent over what I had, and while I was at it asked about those discounts I wasn't able to get over the phone. Not 12 hours later I had a voicemail from them  apologizing for my experience, and letting me know that reducing my bill would not be a problem. Fast forward through a game of phone tag, and I had a whopping $40/mo taken off my bill without a single feature being removed!

Some people find this surprising, but not me. I work for Visible Technologies and we provide the data companies need in order to do this. What we do is collect all kinds of consumer generated media (twitter, blogs, forums, etc...), apply sentiment analysis to it along with some BI analytics, and provide that to our clients. They can use the information to see what people are saying about them on the internet, and then use our software to help engage said user. (On a side note, if you are looking for a job, we are hiring.)

More and more companies are realizing that with the advent of social media, more power has been shifted to the consumer. Take for example my Twitter account: I have a measly 61 followers, BUT that is more reach than most people have off the internet. Add Facebook, MySpace, YouTube, and any other site you want to the list, and the potential reach of one person is tremendous.

 

dell If you don’t believe me just look around for yourself. On June 14, 2007 an article entitled 22 Confessions Of A Former Dell Sales Manager was posted on the Consumerist. The next day it was on the front page of digg.com. Dell saw it, issued a takedown notice, and that also hit the front page of digg. As you can imaging, that move was not well accepted.

The following day (June 16) Dell actually apologized, and issued their own “23 confessions”. If you search around for sites that picked up the apology, you will find the overall feeling towards Dell changed and it literally happened overnight.

 

Sweet360Still don’t believe me? February, 2008 – A story is posted of a person who sent his Xbox in for repairs, and was assured that the original case would remain unaltered. When he got his 360 back, he was  surprised to see that the custom artwork was removed from the case. He claims they scrubbed it off, but even if we give them the benefit of the doubt and say they sent him a completely different one, it was still kind of  bad move. It doesn’t matter if he made the entire thing up because Microsoft saw the potential impact, and made things right. Once again the general feeling toward the situation was turned around.

 

This kind of thing doesn’t just happen to stories that make it to the front page of popular websites. Businesses are no longer waiting for the consumer to come to them when there are problems. They have recognized that we have a voice and are trying to be as proactive as possible. This is a good thing – use it, don’t abuse it. Social media has become a powerful tool to make things happen, and as the saying goes: With great power comes great responsibility.

 

 

*Disclaimer: I am not claiming that Comcast, Dell, or Microsoft are clients of Visible Technologies. They just happen to make good examples :)

General Nonsense , ,

Markdown Text Made Simple

3. January 2010

One of the things I have enjoyed about cloning Stackoverflow is that I have an opportunity to use technologies I probably wouldn’t have bothered playing with before. Getting openAuth up and running was simple, the jQuery plugins I have been experimenting with have been fun, and today I was fooling around with markdown for the first time.

I have always enjoyed the markdown syntax, and found it quite natural to use. When the SO team announced MarkdownSharp I figured it was a good time to implement “Ask a question”. Honestly, I had no idea where to begin so I Just downloaded the library. I don’t think they could have made it any easier to use: string foo = new Markdown().Transform(value).

I googled for a little bit looking for an editor that I liked. The one I settled on is WMD editor. I’m not certain, but I think it is the one that Sackoverflow uses. There isn’t much to say about it other then I like it. I was a little disappointed that I couldn’t find anything decent with built in syntax highlighting, but I can always jerry-rig something. If anyone knows of something pre-built please, let me know.

I am actually surprised at how smoothly this project is going. The biggest snag I have had is my UI design skills, but that was quickly solved with a clean site template. Maybe all is going well because everything has been built for me so far, and I just have to piece them together. Yet another perk of cloning a site that documented the technology used to build it.

stackoverclone , ,

My Favorite Visual Studio Add-ins

24. December 2009

Add-ins are great, and can add some important functionality to Visual Studio. Here are just some of them that I always find myself using (in no particular order).

  • TestDriven.net – Not only does it make it easy to run unit tests from your IDE, it ads some fun stuff like nCover integration, and Reflector.
  • GhostDoc – Automatically generate XML documentation comments for your methods, properties, and classes.
  • Power Commands – A set of extensions that ads functionality you always thought should have been there.
  • AnkhSVN – I used to use VisualSVN for subversion integration, but just recently I have switched, and haven’t looked backed. If it has been a while since you have tried this (or have never tried it before), give it a chance. You won’t regret it!
  • RockScroll – Extends the scrollbar to show a syntax highlighted thumbnail of your source. I didn’t know I wanted this until I had installed it.

visual studio

Supporting OpenId in an asp.net MVC site

18. December 2009

As part of my Stackoverclone project I wanted to stay true the the original site and use OpenID authentication instead of rolling my own. Having never implemented it before, I was pleasantly surprised how easy it was to get a simple example up and running.

I started with the DotNetOpenAuth auth library, and an empty MVC project. Getting the handshake to work is quite simple. They actually have a pretty good page set up that shows you the basics on being a relying party in both webforms and the MVC framework.

First step to create an OpenID logon for ASP.NET mvc is to implement a controller that controls the login flow. A sample of the login methods is provided below.

The LogOn method without any parameters is the action that will be invoked when the logon procedure starts. Because openID also returns to this action after logon we need to check if there is a response from the provider before continuing.

After the user has entered an OpenID url and clicks Logon in the view, the user is directed to the LogOn(String loginIdentifier) method which creates the actual logon request.

using System.Web.Mvc;
using DotNetOpenAuth.Messaging;
using DotNetOpenAuth.OpenId;
using DotNetOpenAuth.OpenId.RelyingParty;

public ActionResult LogOn()
{
    ViewData["message"] = "You are not logged in";
    var openid = new OpenIdRelyingParty();

    IAuthenticationResponse response = openid.GetResponse();
    if (response != null && response.Status == AuthenticationStatus.Authenticated)
        ViewData["message"] = "Success! Identifier: " + response.ClaimedIdentifier;
     
    return View("Index");
}

[AcceptVerbs(HttpVerbs.Post)]
public ActionResult LogOn(string openid_identifier)
{
    var openid = new OpenIdRelyingParty();
    IAuthenticationRequest request = openid.CreateRequest(Identifier.Parse(openid_identifier));
    
    return request.RedirectingResponse.AsActionResult();
}

oidSelectorAfter I knew that was working, I went looking for a pre-built control that would give me the same functionality as the one the SO team uses. I found a nice jQuery control, and am quite pleased with it. It won’t take too many modifications to make it look exactly how I want.

All in all, it was only a few short minutes before I went from not having done any OpenID work before, to getting something up an running. To me, that is one of the signs of a well built API. Congrats to the team for creating something so easy to use.

DotNetOpenIdTest.zip (1.95 mb)

asp.net, mvc Framework, stackoverclone , ,

I Could Build Stackoverflow, Right?

12. December 2009

I have been wanting a little side project to work on to keep my skills up to date, so I figured I would create a clone of Stackoverflow. It would be simple, right? Well, maybe not but that isn’t going to stop me from trying.

Usually with projects like this I end up losing steam, and giving up after getting a basic prototype put together. I figured that if I blog about the problems, and interesting tidbits I find while doing it I would stay motivated. So, we will see how that works. The tools I will be using are straightforward.

  • Visual Studio 2010 Beta 2
  • MVC2
  • Sql Server 2008 Express
  • Jquery
  • Whatever else I find that will help

Keep in mind that I am not trying to build a replacement, but rather something to build in my spare time. It probably won’t be as polished, or perform as well, but that isn’t the idea.  Wish me luck!

asp.net, jQuery, mvc Framework, stackoverclone, visual studio , , ,