Published on Wednesday, January 30, 2008
Twitter Logo

I like the Twitter platform a lot.  I have the very boring handle of @larryclarkin if you would like to add me to your follow list.  My creativity was at an all time low when I picked the handle, but I just tell people that I wanted to be easy to find as opposed to admitting that I have yet to come up with a cool handle to use on the Internet.

If you are not familiar with Twitter, it is a social network built around micro-blogging that is a great example of software + services with multiple clients that implements RESTful services on an Internet scale.  You can also describe it as an Instant Messaging system that all your friends (and even perfect strangers) can ease drop on the conversations.

It is not quite a verb yet...

I was recording a podcast today and the person I was interviewing dropped google (the verb) in the conversation.  Of course he meant "search", but the word google has become synonymous with the word search (note:  Google does not want you to use their proper noun as a verb unless you are talking about their proper noun). 

I started thinking that when we as a society create new words around a platform, then that is a sure sign that it has taken hold.  Google (the verb) is probably the most widely accepted example of this, but Twitter has created a whole new set of words itself.  So I figured I would put together a Twitter Dictionary (or Twictionary).  This is just my quick stab at it, let me know if you have found any that I have missed:

Tweet- The < 140 character message that is sent out as part of your feed.  Proper usage: "I sent that out in a Tweet today".

Tweoples - A reference to the twitter users that are following you.  This is the Twitter version of the term "peoples".

Tweeps - A slang version of the term Tweoples and it is the Twitter version of the term "peeps".  Proper usage: "Good night my Tweeps".

DM - An acronym for "Direct Message" a Twitter feature that allows you to send a message to one Tweep that will not appear in the public timeline or the feed or either the sender or receiver (a private message).  Usage: "DM me the root password to the server".

Twittercon - The square picture (73 x 73 or smaller) picture that you associate with your account (or if you are lame the default picture that Twitter provides you).  Proper Usage: "my smoking obama twittercon is finally going to pay off" - as seen in the feed of @KeVroN in reference to his Twittercon:

Kevin

Twitterdiction - a prediction that is made in the form of a Tweet.

dWittering - The act of sending a tweet out when you are intoxicated.  This act is often filled with regret and or shame when the tweet or tweets are seen the next day.  This can also be considered the SMS version of "Drunk Dialing".  Special credit goes to @joshholmes for first pointing out this term to me and for perfecting the art of dwittering.

#    Comments [4]
Published on Monday, January 28, 2008

One of the coolest parts of my job as an Evangelist for Microsoft is that I get to go to cool technical events and call it "work".  I also get to pull the "Honey, it is all part of the job" with my wife Jodie (it almost always works and usually winds up back firing on me).  On Saturday the 26th I got to attend a presentation by Ben and Norb from Frozen Code Base, a video game company based in Green Bay, WI.

Special thanks goes to Justin and the Fireseed Group for putting together the event (and supplying the beer and snacks) and for Bucketworks for hosting the event.

Can Wisconsin (or other fly-over states) support game studios?

At least a couple of people reading this blog had to do the double-take when I wrote that there is a video game studio based in Green Bay.  I was surprised when I heard about them last year as well.  Normally when you think of video game production you think of west coast and usually California (of course you have to also mention the guys at Bungie in Seattle).  There are companies not on the west coast, but they are usually in larger cities like Chicago or Boston.  Frozen Code Base has proven that you can succeed outside of the traditional game development areas.  They have released their first title ScrewJumper on XBOX Live Arcade and have a second title coming out soon.

Similar and different

Ben and Norb provided a lot of cool insight into their industry.  I was taken aback by how similar and how different game development is from the corporate software development that I am used to.  It seems like their process is a cross between software development and producing a movie.  They used terms like "green light" and intertwined it with talk of milestones.  They have a "design first" methodology  that we should all have (Norb is their chief designer).  They produce a specification that Norb says is ignored just like many software specifications are.  :-)

The programmer's dream: Creating Video Games

One of the reasons that I had such a good time listening to Ben and Norb talk about the video game industry is that when I first started messing around with computers the first thing that I wanted to do was write video games.  I got my first computer in college, but in middle school and high school I had a good friend that had a Commodore VIC-20 and I hung around his house all the time messing around with his machine.  It was a really "hot" machine with 8K of RAM built into the console.  Jim had the 3K expansion pack which pushed the memory to a whopping 11K.  We saved our programs to the cassette drive that was attached to the console (this machine did not even have a floppy drive). 

Back in those days your wrote your video games by typing in programs from the back of computer magazines.  I can never recall us getting any of them to work (even if we were able to type them in correctly it is my assertion that there was probably errors in the magazine's code).  Please correct me if you ever got one to run.

I assume that my experience was much like all of the people of my age.  I don't think any 12 year old gets their first computer and says "Man when I grow up I want to write programs that calculate interest on savings accounts".  We all want to do cool stuff, and what is cooler than writing video games?  This holds true for the next generation as well.  The day I told my son Eli (who is 12 now) that I was going to work for Microsoft he blurted out how cool it was, because he had the perfect idea for a video game that he thought I could get produced now that I worked for Microsoft.


A blog post does not do these guys justice

I have tried to do a good job of capturing this event in the form of this blog post, but this medium can only scratch the surface.  Ideally you would get a chance to meet Ben and Norb someday, because their pitch is best seen in person.  I did sit down with them for 15 minutes and recorded an interview for the Thirsty Developer podcast.  Based on our current show plans, we should have it up in the next couple of weeks.  Please give it a listen when it gets posted.


#    Comments [1]
Published on Thursday, January 17, 2008

I got a new laptop right before the holidays (as a total aside it is a Dell M1330 and is a wonderful machine with only a few shortcomings).  I follow a standard practice of never using the image that the hardware manufacturers put on their laptops.  There are a number of reasons I do this:

  • The tendency for the hardware vendors to partition the drive in unusual fashions to support factory restore (hey those are my gigs and I want them all)
  • The "value added" software that gets added to the image (I once got a machine with AOL and Earthlink on it)
  • The unknown source of a lot of the drivers

When I setup the Dell M1330, I followed a list of software that I install on my machines (Windows, Office, Visual Studio and on down the line).  I forgot to put Adobe's Flash on the list of stuff to install (I did have Adobe PDF Reader on the list).  So the first time I went to a web site that used flash, I got the pop-up notification in Internet Explorer to install the Flash ActiveX control.  I almost right clicked and hit "install", but I decided instead to see if I could go a full week without installing Flash as an experiment.

I am not a Flash Hater

First and foremost I did not do this because Flash is an Adobe product and now Microsoft has a product in that space, Microsoft Silverlight.  I had an intellectual curiosity about how the web experience would be without Flash.  Since I ended my 7 day experience I have installed Flash in Internet Explorer, although I also have Firefox installed and I do not have Flash on that browser (more on that later in this article).  I even embedded SlideShare into yesterday's post on Programming in the Cloud and it is a Flash Application.

How did I ever survive?

I am hear to tell you that you can survive (and even thrive) on the web without Flash, but you might not want to.  Almost every page that I visited fell into one of the following buckets:

  • Did not use any flash (great examples: Live Search and Google)
  • Used Flash as an enhancement to the web site (great example: Flickr - I could use the site, but not the "view as slideshow" feature)
  • Used Flash as the primary / only interface but I could live without (example: the links that people sent me to YouTube Videos)

I did not find a single page where I thought "I absolutely have to see that".  In many cases I just went to another web site to find the information.  It made it surfing a little tougher and a less pleasant experience, but again I was able to survive.

Is Flash "invisible"?

One of the reasons that I wanted to see if I could survive a week without Flash is because of an article from last summer by Bob Cringely entitled An AIR of Invisibility: Adobe has Microsoft in its sights.  In the article he points:

...once a technology had reached the point where everyone had it, then people simply forgot about it and from then on assumed it would be there. Invisibility is a good thing because it means there will always be a market for your product.

Bob points out that many computer technologies have become invisible (HTML and Ethernet as examples), but seldom does a computer software application.  I think that in the case of Flash web developers assume that it is going to be there.  Why wouldn't you assume it is there, after all Flash 8 (or higher) enjoys a 95% penetration.

The downside of assuming any plug-in is there

It is easiest just to show you:

image

This is the experience that I received on the sites for a lot of product companies (consumer products, restaurants and even an automobile company).  Almost all of these sites did not give me an alternative to the Flash based experience, nor did they degrade the experience nicely.  Many of the sites did not even try to tell me the issue that I was encountering, nor did they take advantage of the ability to brand the install experience.  Here is an example of a company that did take advantage of the branded install experience:  :-)

image

As Rich Internet Applications (RIAs) built with Flash and Microsoft Silverlight become more and more common we need to really think about the experience that people who do not have the plugin will have.  RIAs should make the experience more pleasant, not less.

A Best Practice

If you develop an application that uses Flash or Silverlight, you should always test the experience without that plug in.  See what the user sees and experience what happens on the "non-happy path" (try running the install without admin privileges and see what happens).  I am running Firefox without Flash and Silverlight so I can always see the experience without the plugins.

#    Comments [3]
Published on Tuesday, January 15, 2008

This last Thursday night I had the pleasure of giving a presentation to Indianapolis .NET Developers Association (IndyNDA).  First and foremost I would like to thank the leaders, members and guests from the group.  It was an enthusiastic crowd that had lots of good questions and ideas to share.  You guys totally rock:

IndyNDA Rocks! 

The presentation

I came up with the idea for the presentation when Brad Jones, the President of the user group asked me in an e-mail a couple of weeks ago "What are you going to talk about?".  I thought about some of the topics that have been "hot" lately.  Programming against the Facebook has come up a lot lately.  I showed a demo of a Facebook application at the last round of ArcReady programs.  Dave Bost and I just published an episode of The Thirsty Developer on the Facebook Developer Toolkit.  So I thought about putting together a presentation about how to tap into the various APIs that exist out on the Internet.  Facebook, Flickr and Twitter are my favorite social networks and all of them have very rich APIs.  I thought I would also throw in a little Virtual Earth action to round it out. 

The Code

I showed a couple of examples during the presentation.  The first sample, which was tapping into the Virtual Earth APIs using the JavaScript. The sample was pretty basic, and it was meant to show how quickly you could add a map to your site:

 image

To setup a map like this you need to reference the JavaScript file on the live.com website.  You also need to setup a <div> tag that is the target of the map.  In the body tag of the HTML. Call a function, in my case it was GetMap().  The rest of the work is done with the following JavaScript which loads the map, adds the pushpins from an array using a JavaScript prototype object.

<script type="text/javascript"  src="http://dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=5"></script>     
<script type="text/javascript">
    var map = null;

    //prototype object
    function event(name,location,date,lat,lon)
    {
        this.name=name
        this.location=location
        this.date=date
        this.lat=lat
        this.lon=lon
    }
    //An array of event objects (would come from a web service or database call)
   
    var Events = new Array(
            new event("IndyNDA Meeting", "Indianapolis, IN", "2/10/2008", 39.889504,-86.121899),
            new event("Devcares", "Carmel, IN", "8/30/2007", 39.927089,-86.1516),
            new event("ArcReady", "Carmel, IN", "2/21/2008", 39.927089,-86.1516),
            new event("MSDN Event", "Indianapolis, IN", "2/7/1008", 39.927087, -86.025579)
                        );

     // Loads the map and sets the center
    function GetMap()
    {        
        map = new VEMap('myMap');
        map.LoadMap();
        AddEvents();
        // uncoment the next line to Zoom in on Indy and center the map there
        map.SetCenterAndZoom(new VELatLong(39.889504,-86.121899), 11);
    }

    // function to add the individual events to the map
    function AddEvents()
    {
        for (i in Events)
        {
            var shape = new VEShape(VEShapeType.Pushpin, new VELatLong(Events[i].lat,Events[i].lon))
            shape.SetTitle(Events[i].name)
            shape.SetDescription(Events[i].location)
            map.AddShape(shape)
        }
    }
</script>

This code snippet is provided under the Microsoft Permissive License

The HTML page it included in a zip file on this blog entry, it to is distributed under the Microsoft Permissive License.  The permissive license is an OSI approved shared source license.  It does not require you to share your source code with anyone, but if you do something cool building on this sample, please considering sharing it with others.

I will do a walk through of the Silverlight Interface to Virtual Earth in a forthcoming blog post.

VESample.zip (1.02 KB)
#    Comments [0]
Published on Monday, January 14, 2008

This past Wednesday I attended the Chicago Chapter of the ACM (Association for Computing Machinery) meeting in downtown Chicago, Illinois.  I had not been to an ACM meeting in well over 10 years (since I finished Grad School).  It is good to see that the ACM has an active chapter in the Chicago area (they meet monthly during the academic year).  Special thanks to Marc Temkin and Greg Neumarke from the ACM for putting on a good meeting.

Note: I am going to be leading the presentation / discussion at their April meeting, with the topic being Silverlight.  Since it will be taking place a month after the MIX conference, we will doubtless have lots of news to share about Silverlight 2.0 and new bits to demonstrate.

The Google Office

I have to admit that one of the reasons I attended the meeting was to check out the Google offices.  Google stepped up big for the ACM group by not only provided the presentations, but also donating their office space and for buying all the food for the event (Normally there is a small charge to attend the meeting - not this time).

When I arrived at the office I was looking around and a very nice gentlemen came up and asked me if I needed anything.  Since he did not have a guest pass, I assumed he was a Google employee.  I asked him to see the "Xbox room" because I heard they had an awesome game room (I knew someone who had previously visited the office during an open house).  He offered to show me around the whole office.  At this point I felt compelled to mention to him that I worked for Microsoft.  He said "Thanks for telling me, we can still show you around - we love Microsoft we use a lot of their software on our desktop machines".   The Google guys asked people to not take pictures outside of the lecture room, I honored their request. It was only after the tour that I found out what my tour guide did for Google.  He is one of their Executive Chefs and was in Chicago from their Mountain View Campus.

He showed me around their offices (they are on 2 floors) and the place is a very "cool" work environment.  They have lots of colors around the office (all of them web safe) and the office is laid out in a very open environment to facilitate collaboration (the "cubes" offer individual work spaces, but there are no real walls).  There are the giant balls that you can sit on instead of a chair pretty much everywhere.  All of their conference rooms are named after a Chicago theme, but it really presses the trivia part of your brain to figure out how (took me a minute to remember that the 1980's movie Adventures in Babysitting was set in Chicago).  There were all kinds of fun things around to play with.  I counted 4 xboxes in the office (a couple of 360s and a couple classic xboxes).  At Microsoft we have 3 floors in our downtown Chicago office and I doubt that we have that many xboxes in the office (we have to fix that). 

After the tour I got to meet a couple of the Google guys.  They were all very cool about me being from Microsoft, although standard procedure might have required them to sweep for bugs after I left.  :-)

The presentations

Jon Trowbridge gave an interesting presentation on Bloom Filters, which are a way to quickly evaluate the presence of something in a large dataset (which is something Google is probably interested in).  The talk was focused heavily on the math side of things and not so much on the implementation (but what would you want for a 45 minute presentation?).  I think I really missed out on a lot of the algorithmic theory because I got my degree in Information Systems and not Computer Science.

Brian Fitzpatrick and Ben Collins-Sussman gave a fantastic presentation on "How Open Source Projects Survive Poisonous People (And You Can Too)".  Brian and Ben are both on the Subversion team and have dealt with lots of people issues on that project (and others).  We can learn a lot from their guidance presented in this presentation, even if you are not working on an open source team.  These guys were fantastic presenters, very engaging, you can check out a previous recording of their presentation on Google Video.  I intend to follow-up on a couple of topics they touched on in a future blog post.


#    Comments [0]
Published on Wednesday, January 09, 2008
TDZune
Need a device to listen to the Thirsty developer on?

I think most people know by now that you don't have to have an iPod to download and listen to podcasts with.  There are lots of good podcatchers out there that will let you subscribe to the shows and listen to them (after all they are usually MP3 files with the occasional AAC or WMA file here and there).  But we thought it might be fun to give away a couple of Microsoft's new Zune devices.  The Zune released last year without podcast support, but they recently released a new version of the Zune software that has podcast support in it (they also released new Zunes that have 80GB drives and flash based units as well).

As part of the new launch, there is also a website called Zuneoriginals.net where you can customize your Zune with laser-etched art and text. You can't upload your own logo, but they have some cool stock art to use.  Dave cooked up the Zune80 that is branded with the Thirsty Developer url..

So we are having a contest to give one of our listeners the Zune 80 pictured above.  If you listen to the latest show on the Facebook Developer Toolkit we give you instructions on how to enter the contest during the show intro.  Be sure to subscribe to the show with your favorite podcatcher.

A Few Notes
  • One entry per person please
  • Entries must be received by Monday, January 14th 
  • Employees of Microsoft and their close family members are not eligible
  • Winner is responsible for all taxes and other standard disclaimers apply
#    Comments [0]
Published on Wednesday, January 09, 2008

image

#    Comments [2]
Published on Wednesday, January 09, 2008

I got the book oPtion$ : The Secret Life of Steve Jobs, a Parody as a birthday gift from my wife, Jodie, in late November.  I was a little bit skeptical of the book, as I had never read the blog of Fake Steve Jobs, although I have heard a lot of people talk about the blog.  I would be one of the first people to subscribe to a blog by the real Steve Jobs, but the concept of someone else writing a blog did not really appeal to me.  I let the book sit for about a month until Christmas time when I picked it up.  Between my birthday, Christmas and work I have got a backlog of about 20 books to read, so I figured I had better  get crackin g on reading.  I am not sure why I picked up the book, but within the first seven pages I was totally hooked and had trouble putting the book down.  As usual, Jodie knows me better than I know myself.

Quick Review

Very easy read that is a nice diversion.  A good book to take on a trip with you (you can knock it out on a long flight).  Overall the book is very funny and that is the light in which it should be read.  If you are sensitive to things that are not politically correct, please avoid this book.

Important Note

Unlike most of the books that I intend on reviewing, this is a book of fiction.  It was written by someone (Daniel Lyons) who had no access to the real Steve Jobs.  It is based around some real events that happened, but please don't think that anything in the book or this review actually happened the way that it is told.  That being said, the book will make you laugh out loud over the possibility that any of it could be true.  :-)

The book takes place between the summer of 2006 and the announcement of the iPhone in January, 2007.  You might think a lot of it centers around the development of the iPhone, but that is a minor sub-plot (the book does open with Steve Jobs meditating about the circuit board on the iPhone).  The crux of the book is how (fake) Steve Jobs deals with the backdating scandal of the Apple stock options (in case you forgot for a few months it was a big deal - other than this book it has pretty much been forgotten by most people).  (fake) Steve Jobs has a number of adventures and mis-adventures in dealing with the scandal (visits China, gets thrown in Jail and blackmails Yoko Ono to name a few).  All along the book he uses his favorite quote:

Dude, I invented the friggin iPhone. Have you heard of it?

The joke is on Microsoft?  Bono?  Larry Ellison?

One of the things that I appreciated the most were the Microsoft jokes (if you can't laugh at the company that you work for, then you are taking your job way too seriously).  They are peppered throughout the book, and even the back cover of the book is devoted to a Microsoft joke.  My favorite one was when Jobs is lamenting what would happen if he were removed from Apple:

What happens to the world if the Jobsmeister is suddenly taken out of the game?  Let me give you a hint: Microsoft.  Yeah.  Its Scary.

Most of the funniest moments are not Microsoft jokes, but they involve the celebrities that (fake) Steve Jobs hangs out with.  He paints Larry Ellison of Oracle and Bono of U2 is less that flattering lights, but with hilarious results (He does that with just about everyone in the book).

My only complaint with the book is the ending (which I will not spoil in any way).  It is wrapped up in just a few pages and leaves you wanting more.  With a colorful character like Steve Jobs, I am sure that we will see more, if not in book form then certainly on the blog.

#    Comments [0]
Published on Tuesday, January 08, 2008

In late November I received a thank you note for participating in the Strategic Architect Forum.  The SAF is a cool event where they invite architects from all over the world to the Microsoft Redmond campus for 2 1/2 days of great sessions.  Josh Holmes and I led a break out session during the forum.  The coordinator of the event sent each of the presenters a nice thank you note on SAF stationary. 

In early December I received another hand-written thank you note for writing an article on Enterprise Mashups for the Architecture Journal.  It was on stationary for the journal and they also included 10 copies of the print version of the journal that I could keep or share.  I sent one to my mom and I passed the others out at the recent ArcReady event in Chicago.  Both of these thank you notes are sitting on my desk at home and will probably be there for some time to come.

Have we forgotten about written notes?

I was very impressed and touched to get hand written Thank You note for two activities.  To me it seemed like the people running these events went "above and beyond" in showing their appreciation.  One of the things that makes the hand written note so special is that they are so seldom sent these days.  I seem to get lots of mail these days, but outside of Christmas, birthday and a couple of other holiday cards, most of it seems to be generated by computers or is glossy ads.

What kind of impact can a written note have?

Over my 15+ year career I have done a lot of interviewing (literally hundreds of candidates for various jobs).  In that time I have received five thank you cards after an interview.  Here is the amazing part, I can tell you the names of the people that sent those cards: Laura, Scott, John, Steve and Rich.  Why?  Because I still have everyone of those cards and even if I didn't I could probably tell you a couple of their names anyway.  Am I a pack rat?  No, because I just threw away recycled all of the Christmas cards that I got this past year. Of the five I think only two of them got the jobs they were interviewing for, but if I saw their resume fly across my inbox for a position today, I would say that we should interview them, because they showed they were really interested in the position.

Isn't an e-mail enough?

It is nice to get a thank you e-mail after an interview or for speaking at an event or some other reason.  I almost always reply and say "your welcome" and give some other appropriate follow-up and then I delete the e-mail.  I don't put it on display on my desk or keep it for years.  If you want to make an impact invest in a nice thank you card and $.42 to send it.  E-mail still has its place in the process, like if you have a time sensitive follow-up.  But if you want to have a real impact, send a hand written thank you. 

When was the last time you sent a Thank You card?

#    Comments [0]