All posts by joshholmes

My New Position at the Central Region RIA Architect Evangelist

New logo for Ria

It really couldn’t come at a better time with MIX and SxSW coming up so soon. I’m moving into a new role as the Central Region Rich Internet Application Architect Evangelist. I’m leaving the Heartland in the VERY capable hands of Brian Prince. (See his announcement called Farewell)

So, what does that mean?

I’m going to be broadening my geography and focusing in on a technology stack. I’ll be covering all of the center of the United States with a heavy focus on Rich Internet Applications and partners.

In this technical and business development role,I get the opportunity to combine my passion for Rich Internet Applications and pragmatic business experience to help consulting shops, design firms and customers in their pursuit of the Microsoft stack in the web space.  That includes broad  responsibility for evangelizing the complete Microsoft platform with heavy emphasis on Silverlight, .NET Framework, Visual Studio, Expression, and ASP.NET AJAX. 

clip_image001

I’ve been asked by a lot of my friends that I’ve made over the past year at Microsoft if I’m abandoning Heartland and if they are going to see me again. This is the typical pattern where someone does well as an evangelist and then moves off to Redmond and nobody sees them again. That’s not the case here. I’m staying in Michigan. I’m not moving to Redmond and don’t have plans for for the foreseeable future. I am tightening my focus so I’m not going to be all over the District covering anything and everything Microsoft related. However, I will be heavily involved in helping grow the community and partners that are in my chosen technology stack. Actually, a lot of my job will be business development with my partners so I will be seeing (or at least communicating with) a lot of you a lot more often.

Most people that I’ve talked to have said that it makes sense for me as most of my posts and activities lately have been in this realm anyway. I’m just officially getting permission to follow my passions and do the work that I want to do. I’ll be working very closely with Chris Bernard, Don Burnett, Jeff Blankenburg, Larry Clarkin, Adam Kinney, Scott Barnes and more! It also means that I’ll get to more things like the Phizzpop Design Challenge only I’m hoping to bring my own flair to them now that it’s officially part of my job.

If you have any questions at all or would like to work with me on something, feel free to email me at myfirstname.lastname (at) myplaceofemployment.com – please read that and decipher as my first name is Josh, last is Holmes and I work at Microsoft. πŸ™‚

Technology Should Not Make You More Productive

Larry Clarkin... Larry Clarkin put up a post called “Technology should not make you more productive“.

When I first read this, I was stumped trying to figure out why one of the more progressive technologists that I know would say something that bizarre but as I read the post, it snapped into focus.

His opinion is that “Technology should not make you more productive, but it should totally change the way that you work”.

I couldn’t agree more. I think back on the way that I worked even a couple of years ago and how technology has transformed my outlook and way that I work. It’s no longer apples to apples comparisons. Tasks that used to take me hours or weeks to complete are either irrelevant or wrapped up in a single statement that I can delegate to something else. Think about the way that we write code these days verses yesteryear. I used to spend weeks and months writing data layer code, front end population of fields and the layout of the screens for even the simplest of applications. At this point, I wire up a fantastic ORM, such as NHibernate, SubSonic, ActiveRecord or any number of others, get the XAML form from a designer and wire the databinding in seconds. That allows me to largely ignore the “plumbing” code and focus on the business logic. I’m still writing the same number of lines of code a day, but it’s completely different code than I used to write.

I think about Cell Phones, SMS, Email, Twitter, TripIt, Dopplr, Plaxo and all the other technologies/applications that I use every single day of the year and it has completely transformed the way that I work. I used to be fanatical about getting someone’s email address. Now, I’m setting up most of the CodeToLive episodes through Twitter. At this point, if they are on Twitter, I often DM someone on twitter instead of trying to email them. At one point in time, that would have been over email. Prior to that, it was phone. Prior to that it was in person or not at all. πŸ™‚

But if you think back to other truly disruptive technologies, such as the boat, train, car, plane, rocket, transporter (wait – not yet but I’m sure that it’s coming), each of these have completely transformed our society. There was a time when getting on a boat for the new world meant a zero probability that you were going to see your family again. Most people lived within miles of where they were born because travel and moving meant giving up everything. Now in an age of jets, good friends and family stay in contact over XBox Live or Skype or Twitter on a daily basis with complete and total location independence. This is an exciting time as technology is starting to bring people closer together rather than pushing them apart.

I’m looking forward to the next technology that really revolutionizes our technology rather than incrementally improve what we already have.

What do you think it will be?

Larry Clarkin – Technology should not make you more productive

Rocking: Guitar Rising for Real Guitar Heroes

Transparent GuitarGuitar Hero for adults is coming!!! I really don’t want to knock Guitar Hero and Rock Band but they are just not for me. Honestly, (and this is not bragging, it’s just a fact) I’ve never played either one. If I’m going to spend the time to learn an instrument, it’s not going to be a plastic one that is only useful in the context of my living room. I completely get the social aspect to it and think it’s a great game in a party situation. I just don’t have the patience to devote to it to get decent enough to enjoy it in that party scenario.

I’m just really amazed at stories like this 9 year old kid on YouTube that is a Guitar Hero rock star. And his parents are proud enough of this fact to put this on YouTube. If only they could channel all that talent for good! If he had just started learning a real instrument – he could be the next Eric Clapton, Jimmy Page or Frank Iero! He’s definitely got dexterity and focus to do it – if he could be channeled correctly. Seriously, how does a 9 year old kid get to be that good at a video game? Oh yeah, I’m forgetting that it’s usually the 9-12 year olds that hand me my tail on a platter in Halo 3 or Call of Duty 4. Complete side note (which is weird as this whole post is a side note), I had a thought that we should have an “over 25” segment of the XBox live network, not for “Adult Entertainment” but rather as a way to even the playing field for us that have jobs, families and only a couple of hours a week to devote to gameplay… Thoughts?

When I was talking to Jason Follas and Dustin Campbell over beers just after Guitar Hero was coming out and all the hype had started up I had the idea that I’d really rather have a way to hook up a real guitar to the XBox and/or computer and “Play” to learn. We had talked through some of the hookup options, like pro audio cards that can take a real 1/4 in jack and all the sound you can pump at it or the 1/4 jack to USB options that are out there. Dustin is actually a good enough musician (Plays in a pro-band and the like) and programmer (tech lead on CodeRush) that I was hoping that I could talk him into doing it because he’s got the chops to do so. Didn’t work. He didn’t bite.

The fantastic news is that he doesn’t have to. Today, Jason pointed out that there’s a startup called Guitar Rising that is creating that “game” for us! They are planning to release sometime in 2008 – and I’ll be among the first to buy one. I’m really stoked! I’ve been wanting to learn guitar but with my fairly severe ADD I haven’t had the patience to do so. I really hope that they pick songs from all over the spectrum from rock to blues. Besides just being able to play, I’d really like to get to a point where I can play camp side and at sing-alongs. Obviously, that’s not all hair bands, there’s a lot of Jimmy Buffet and the like that’s needed. There’s already been twitter conversations about how the hookups are going to work, what type of guitars we’re going to hook up and more. According to the article, you can hook up via a USB hookup or even just a Mic. I’m assuming that they are looking for pitch and notes and that’s all they care about. That’s pretty slick.

Looking forward to playing Guitar Rising at the next CodeMash!

Rocking: Guitar Rising for Real Guitar Heroes

Yahoo!

I woke up this morning to a very interesting email from Steve Ballmer conveying the fact that we had made a public bid to buy Yahoo! As I picked my jaw up off the floor, I noticed all of my standard news sources had it listed at their top story as well. This is cool because I had been working on a blog post about some of the REALLY cool things that Yahoo! has been doing.

image_thumb1 Yahoo has released the beta of their long anticipated Yahoo Messenger for Windows Vista application. I’ve been looking forward to seeing this application in the wild since I heard about it. This was actually a partnership between the WPF team at Microsoft and Yahoo to get this out. There are a ton of cool features liked tabbed conversations, a Vista Gadget to track friends and much much more. It hasn’t tried to be feature parity with the original Yahoo messenger, it’s a being unto itself.

I’ve had the good fortune to know Eric Burke from Yahoo who happens to be the technical lead on the Vista Messenger project. It turns out he lives in Novi, MI and manages a team in Palo Alto, CA. Guess how they do the majority of their communication… πŸ™‚ I met Eric on the plane to MIX last year. I was wearing a Visual Studio jacket and he was reading MSDN Mag so we recognized each other as fellow geeks. We hung out quite a bit at the conference and have stayed in good contact in Michigan since then. Eric was the guy that, when he saw the Silverlight 1.1 (now 2.0) keynote, said “Hey cool – I’m a mac programmer!”. At the conference, he was speaking about the challenges that they have faced with building one of the premier WPF applications and working with the design team from Frog Design.

Eric said that it was really rough in the early goings because nobody knew how this was supposed to go. Microsoft had a good story for designer/developer workflow but nobody had actually done it yet. The first couple of times they really couldn’t use what the designers had tossed over the wall or it required such drastic changes to their code that it was painful. As time went on, they figured out how to get along better and better so by the time that MIX rolled along, they were able to integrate changes often in as little as 3-5 minutes first thing in the morning. I’ve also had Eric come out to a couple of different events to speak about real world experiences working with WPF. One of the things that challenging right now is that there are not fantastic tools for looking at the XAML and seeing what the redundant layouts are or where the memory leaks are.

Since it’s gone public, it’s been interesting listening to people’s reactions to it. One of the common ones is a complaint that it doesn’t support all of the features of the mainstream Yahoo! messenger application and it’s add-in model. I actually like that about it. It’s refreshing to see a company take a line in the sand and not be 100% backwards compatible and feature complete with the legacy applications. This is something that Microsoft never seems to be able to do. There was a fantastic ad that showed VS.NET 2005 and it said “with 400 new features, the difference is clear” and right next to that add was an ad for Sugar CRM that said “Back with fewer features than ever, the difference is clear”. And it’s true, the IM clients that have been around forever are full of features that nobody uses or are used by a small enough percentage of the audience that they are more of a maintenance burden than useful features. Now, it takes a lot of moxy to say that “I’m willing to forgo some of the legacy customers upgrading to do the right thing for the future and the application.” I hope that Yahoo! sticks to it’s guns on not trying to make the Vista client feature parity with the old client as they go forward. Obviously there are things that they will need to add, like VOIP and some type of add-in model, but what form that takes is going to be interesting to see.

I don’t know if the deal is going to go through but I hope that it does just to get this type of edgy and exciting decision making into Microsoft. I know that Steve Ballmer and crew are looking at the advertising, search and social networking properties as well all of which are substantial. I was looking at my traffic searches on my blog and Yahoo! searches accounted for a really solid portion of my traffic. Obviously it wasn’t equal to Google but it was still substantial. We’ve offered them $44.6 Billion which is a decent premium on their stock price. According to the NY Times, Yahoo! turned down earlier merger offers so I’m also really hoping that this doesn’t turn into an ugly hostile style takeover.

Yahoo! Messenger for Windows Vistaβ„’

Microsoft Makes .6 Billion for Yahoo – Mergers, Acquisitions, Venture Capital, Hedge Funds — DealBook – New York Times

Microsoft makes unsolicited $44.6 billion bid for Yahoo – Feb. 1, 2008

CodeMash Conference – January 10-11, 2008

codemash logoCodeMash was, once again, a huge success. For those of you who don’t know, it’s a cross technology, cross platform, cross discipline that is help in January in Sandusky, OH at an indoor water park. The meme is that we are there to Mash not Bash. Everyone is expected and encouraged to go learn about new technologies and bring new and fresh ideas back to their own shops and technologies.

We had 375 people show including attendees, speakers, sponsors and so on. That’s a big growth over last year. It’s big enough that we are trying to figure out what to do next year with marketing because we’re not sure if we’d loose the vibe and the close contact that the 375 person conference affords.

CodeMash 020It was a much more mature vibe this year than last year. In it’s inaugural year (2007), it was interesting hanging out at lunch, dinner and the bar at night meeting new people and making new friends. However, on the first night there was a lot of trepidation and anxiousness as people were really unsure as to how or if they should really talk to everyone else. By the end of the conference there were interesting conversations happening between the PHP, Python, Ruby, .NET and Java guys. Brian Prince and I even shaved our heads as an incentive to get people to blog about the conference.

This year, on the first night there was an established context for the conversations on the first night. By the end of the conference, people from all technologies and disciplines were exchanging email addresses, Twitter accounts, Facebook IDs and more. It’s truly amazing how this little conference has started a cultural brush fire. The only blocking issue is the UM/Ohio State rivalry… πŸ™‚

Even new comers to the conference such as Scott Hanselman noticed the vibe of the conference

‘It’s a cross-platform, cross-cultural, cross-language conference with a very positive vibe. The “vibe” or general feel of a conference matters more than you might think. I started out asking folks “are you a Ruby person or a .NET person?” but soon I got with the program and started asking folks “what are you working on?“‘

Steven Harmon described the conference well when he called it the “biggest-little-conference around’. The type of person that CodeMash attracts is that top developer who is fascinated by technology and is desperate to expand their horizons and learn more. It’s not surprising that great consulting companies like Quick Solutions and SRT Solutions are at the very center of the conference doing much of the heavy lifting organizing and running the conference.

Another big thanks goes out to Chris Woodruff who did a ton of podcasting from the event. He even interviewed me here. I haven’t had a chance to listen to the podcast yet but I remember rambling on forever. I know – you’re shocked that I had a hard time shutting up…

imageIn true CodeMash fashion, I did a talk on the DLR based on the great work by Jim Hugunin and John Lam. I covered a little bit of IronPython and even did demos with IronRuby. I ran out of time before I did all the demos that I wanted to do, like doing WPF with IronRuby, ASP.NET with IronPython and so on. It was great, however, to have Joe O’Brien in the room to help me with the semantics of Ruby and dynamic languages. Joe O’Brien is a guy that I met last year at CodeMash and we’ve since become really good friends and are working on getting together on eRubyCon (The Enterprise Ruby Conference). Hopefully I’ll see you there this year. It was a fun conference last year with a very CodeMashish type vibe. I’m really hoping that we get to do another fishbowl style talk at some point there.

 100_6129Oh and did I mention that they doubled the size of the water park? πŸ™‚ My one regret this year was that I didn’t book over to Sunday with my family. the past two years my family has joined me on Friday evening and we’ve stayed until they kick us out on Saturday. Next year, I’m booking over to Sunday! I didn’t spend nearly enough time at the water park. Some of the guys (Yes, I’m talking about you James) went to the water park every day for multiple hours.

Plans for next year, I’m going to continue my work with the DLR and hope to have a much more advanced talk that includes Silverlight 2.0 and maybe even a demo on Moonlight. I’m also planning to spend more time at the water park on Day 0 and on the weekend. I have a hard time spending the conference time at the park because there are so many cool sessions and people to talk to.

I’m going to do more podcasting. I really missed an opportunity here and only caught one interview with Joe Brinkman  about DotNetNuke and working on an Open Source Project full time (check out http://www.codetolive.net soon).

I’m going to spend more time at the water park… πŸ™‚

And hopefully, I’ll see you there!

CodeMash Conference – January 10-11, 2008

Phizzpop Design Challenge Austin

This past week, I had the privilege to be involved with the Phizzpop Design Challenge in Austin. I was called in by Chris Bernard as a technical mentor to the contestants who needed help and to help him run things on the night of the presentations.

What is the Phizzpop Design Challenge?

Let me back up here and explain what the Phizzpop Design Challenge is. Phizzpop, the new Microsoft center for design excellence, sponsored a design challenge focused on the designer/developer workflow while solving an experience design problem. They invited a number of different design firms to compete in regional competitions, 36 teams total took them up on the challenge. The winners of the regional challenges go to South by Southwest to have a showdown to determine the national winner. The challenge itself was send at least 2 but no more than 3 of your “A” team to design and build a solution for a problem in 2.5 days. At the end of that they publicly show their solution in front of a large crowd and importantly a panel of judges. To help them out, there was a 2 day training class in Expression Design, Expression Blend, WPF, Silverlight and so on. Additionally, they provided me and a number of other resources from a technical end. The goal was to make sure that the technologies were not a blocking issue to success for the teams. I was completely amazed at the mad design skills that each of the teams brought to the table. Those of you who know me know that I couldn’t design a handkerchief so my opinion is not the one that matters. πŸ™‚ However, Chris Bernard and everyone who saw the finished products were really impressed with the quality and completeness of the designs across the board.  

What was the design problem?

Each of the regional events had their own design problem. I really liked the one in Austin as I really enjoy independent films and social media. There’s an independent film distributor called Microcinema out of Houston that does local viewings/film festivals called Independent Exposure around the nation at coffee shops and the like. They want to reach out beyond their local viewings which are expensive to set up, market and run using all the technologies that are available. There were three personas that were involved including a college film student, an artsy non-technical wanna-be bohemian who’s married to a doctor and a social media junkie/job recruiter. The designs had to satisfy all three of the personas to be complete.

The teams were judged equally on:

– Satisfaction of Constituent Needs: How well does the needs of the constituencies as defined by the profile? Is the experience appropriate for the audience? How elegant is the experience?
– Satisfaction of the Market: How well does the solution address the market needs? Will the solution work across all of the identified constituencies?
– Uniqueness of the solution: Is the solution unique, differentiated and defensible?
– Technical Excellence: Was the team able to build a working solution (however limited), or is it purely a scripted prototype?
– Aesthetics: How visually appealing is the solution?

There were also bonus points available for integrating with the Live services and overall creativity.

Who were the teams?

In the order that they presented their challenges:

image 
Telligent – The guys that produced Community Server and they’ve recently started up a real design practice. They obviously have great experience in web applications, social media but I hadn’t seen a ton of their design work outside of their templates for Community Server. I have always liked their templates that are on top of Community Server – in fact, I’m really hoping that they will leverage that same experience to design some templates for Sharepoint too.
image
Frog – The largest and most established firm in the competition and clearly the favorites. These guys being involved proved interesting because many of the other firms were composed of graduates of Frog and it really raised the level of competition. 
image
Projekt202Young and hungry firm. I had the least amount of interaction with these guys but they were fantastic.
image
PoplabsThese guys are are media experts that really brought a different perspective to the table. It was unfortunate that they were plagued by hardware problems. It didn’t help that this was the first of these type of challenges that they had been in. They had some great ideas.
image
Thirteen23The firm that was at MIX and build the application called mixME in 8 hours with many of the same team members. Check it out, it’s a fantastic showcase. I knew that they were going to bring their “A” game and had high hopes for them.
image
Neudesic – I heard about this firm literally last week when I found out that Sam Gentile had joined them to help them run their connected systems practice. But I didn’t know that they had a design practice, in fact a lot of people didn’t know that as they started their design wing 6 months ago.

How did I help?

Phil Wheat and I were onsite during the entire build process for the teams as technical resources to make sure that the technology was not the blocking issue. We had a number of interesting questions that were tossed out over the 2.5 days that ranged from relatively basic (Very few of these) to “holy cow, what am I a ninja?” hard technical questions. The best ones were the ones where they were butting up against the technical limitations of the technologies involved. My favorite question was one where they were trying to dynamically set the ZIndex of a control. We scratched our head over this one for a while. I called in favors from a number of guys ranging from Scott Barnes to Jeff Blankenburg who looked at the code remotely and scratched their heads over it as well. It looked right and it wasn’t throwing an exception but it wasn’t doing the right thing.

            this.SetValue<double>(Canvas.ZIndexProperty, ZIndex);

The issue, as one of the contestants from another team figured out and revealed in an true spirit of sportsmanship, the issue was that it needed to be setting an int rather than a double.

            this.SetValue<int>(Canvas.ZIndexProperty, ZIndex);

I thought that this was wild and broken that it doesn’t throw an exception when you pass in the wrong type like that.

There were other questions like how to do a particular type of animation. When doing logic, XAML and the like – I knew how to help with most of those. I had an issue, however, when they started getting fancy with the animations, like trying to use Ease Splines. In that case, I had to call in the expert help of the editor for Phizzpop, Don Burnett. At one point, I had Don on speaker phone and watching what we were doing with LiveMeeting and giving us direction. That was cool and I learned an amazing amount. Don helped a ton throughout the couple of days.

How’d the build go?

All 6 teams brought fantastic ideas to the table. There were obvious ideas that all of the teams centered around with integration into current social media like Twitter, Flickr and FaceBook. I was really impressed by some of the originality shown by some of these ideas like Neudesic allowing Facebook members to share movies with their other friends. Several of the firms had the idea to bring in time-lined comments from Twitter.

The different firms displayed different ways of working. I actually didn’t even see Frog or Projekt202 until the night of the challenge as they just worked out their home office. They were allowed to ask their other team members for ideas on the design but not for help with the implementation. I saw Thirteen23 on the first day as we had a number of assets that they were allowed to use, like videos and images from Microcinema that they needed to copy. This was really the only downside of the whole experience. I would have loved to have seen the process that these fantastic design firms used. I did get to watch several of the firms.

Neudesic actually worked out of the room that I was hanging out at to be available the entire time. They had three team members, two devs and a pure designer. It was great to watch how cohesive they worked together. For the 2.5 day build, they set up a team site and source control. They almost did TDD, Continuous Integration and everything but they quickly realized that they were not going to be maintaining this code beyond Friday because whatever they build would be considered a prototype and would be tossed if they ever went forward with it. They sat down and started hammering out a design and as soon as they identified components that they were sure that they were going to need, one of their team started building those. The others kept on until they knew the services that they needed and the other dev started on those. The designer started creating assets and they started sticking those assets on the components and then stared wiring those components up to services. It was fabulous to watch. They had, hands down, the most completely implemented and least vaporware solution that was presented. However, it was a design contest and their design was good but it wasn’t the best. I, personally, have a tremendous amount of respect for the Neudesic team and feel comfortable recommending them as the UI team for anyone. The questions that they asked were definitely cutting edge and showed they were pushing the technologies (Silverlight 2.0, WCF and so on) to the limit. The only one that they were really stumped on was a cross domain issue where they were calling services on a different domain which is not allowed in the current release. It’s coming, but not hear yet.

I also got to see Telligent a few times when they came in to ask questions and get a change of scenery from their hotel room that they were working out of. The questions that they were asking were where they were pushing the limits of Silverlight and they just needed clarification on where the boundaries were.

I spend most of my time with Poplabs. As I said, they had a lot of hardware issues. They had two machines, a mac and a dell, just die on them. They had issues with installation of the software needed onto a third box. And so on and so forth. They finally really got to the implementation on Friday morning. At 4:00, they realized that what they had was really not going to get the job done. Toya D., their designer/dev, took her box off to the venue and sat down to start over from scratch. In 3 hours, she threw together a fantastic working demo that was at least as much of a working demo as some of the other teams. Her team mates sat down and started working on a slideshow for the judges to show the rest of their idea that wasn’t going to be completed. It turned out that all of the teams, besides Neudesic, had this type of an presentation – some implementation and a lot of presentation. I was really impressed with her skills from a design and implementation perspective – especially given that she really cranked out the final product in about 3 hours.

How was the Party?

For the presentation portion of the contest, Chris threw a heck of a party at J Black’s. First of all, the food and drink was fantastic. There were 3 HD projectors showing off the fantastic designs that every came up with. There was a DJ with a pretty cool rig. It was an Ion IDJ iPOD DJ Mixer. He had two iPod’s hooked up with all of his music and did the whole party from there.

The official program started with presentation from Steven P. Anderson about what designers are and what they do. He really did a fantastic job of setting the stage and helping the audience, not all of whom were familiar with the practice of design, understand the underpinnings behind the competition.

Then Chris introduced the judges:

Erica O’Grady – Social media consultant, designer/developer in her own right, creativity coach and all round fun gal to hang out with.
Norm Cox – Design legend. Started with Xerox and has run his own firm since 1982.
Todd Wilkins – Design Researcher with Adaptive Path. He was a last minute serendipity. One of the judges had recused themselves as they personally knew the members on one of the teams and out of the blue Chris found out that Todd had just, and by just I mean on the same day as the competition, moved to Austin from San Francisco.

Then Chris introduced the design problem and we got started showing the final products in the order above. There were a few gut check type technical problems, like one of the teams not having a Firewire cable with them and their entire solution on their external drive that they couldn’t access without one. Fortunately, we found a USB 2.0 and a Firewire cable for them to try. Other than minor issues like that, all of the presentations went well.

What was the result?

The three judges all came out and said flattering things about all of the teams. In fact they said that none of the judges completely agreed on the top 3 and that every firm was in at least one of the judges top 3. That’s an impressive fact and really goes to show that all of the teams did a great job.

However, only one team can win. In something of an upset, Thirteen23 came out on top over the top of the some of the larger firms. They brought together design, function and implementation not only with the expected technologies but in their spare time they threw up a live service and invited all of the contestants to hit it with their iPhones to watch a movie as well. It was really impressive. They are supposed to work with Chris this week to get their implementation posted to the Phizzpop gallery and I’m sure that they will show it off in their labs as soon as they get done celebrating their awesome victory.

Who’s going to the finals?

AQKA, San Francisco Winner
Create the Group, New York Winner
Clarity Consulting, Chicago Winner
Cynergy Systems, Los Angeles Winner
Outright Interactive, Boston Winner
Thirteen23, Austin Winner

Wanna keep up?

First, check out Chris Bernard‘s blog as he’s posting a  lot of the follow-up information there.

Second, go out to Phizzpop and register a profile to get notifications for the upcoming challenge and other great events that are popping up around the nation.

Last, if you possibly can you should register and attend SXSW to watch the big showdown in person.

Alt.NET Leadership Summit

Alt-Tab Pedal“My dream is that the next evolutionary leap in software development, on the magnitude of continuous integration, comes from the .NET world.” John Kordyback – Alt.NET Leadership Summit 2007. This is a huge challenge that he laid out at the summit meeting this past weekend.

I’m actually sitting on the plane on the way home from this same Alt.NET Leadership Summit and collecting my thoughts. I’ll be honest and say that it was a very interesting ride throughout the day. I came in with very few real expectations as to what was going to happen or what was going to be talked about. I knew that one of the core missions of the weekend was to decide on how much “leadership” this movement needed. Secondarily, and part of the reason I was there, everyone wanted to figure out how Microsoft can be involved or if it should be. Lastly, there’s been a lot of criticism lately around a negative vibe that some people are getting out of Alt.NET.

Who was there:
I came on the invitation of David Laribee. I know that the other guys that were invited from Microsoft were guys like Scott Guthrie, Scott Hanselman, Peter Provost and John Lam. I’m honored to be included on that fantastic short list.

I already knew David, Scott Bellware, Ray Lewallen, Don (XML) Demsak and Rod Paddock (Who didn’t make it). I also knew Peter Laudati (Developer Evangelist out of NY) and Dani Diaz (Developer Evangelist out of Philly). I had met Martin Fowler once or twice but we had never really had a chance to sit down and talk.

I didn’t know but got to meet Mike Roberts (who created CruiseControl.NET), Brian Donahue (who’s starting the first Alt.NET User Group in Philadelphia), John Kordyback (Currently working for Thoughtworks and one of the key guys for the relationship between Thoughtworks and Microsoft), Luke Melia (Who is actually going to work at a new startup on a completely Ruby on Rails application), Wendy Friedlander (token female – :), frequent speaker and Agile pairing expert), Jeremy Miller and Stephen “Doc” List (Open spaces facilitator and dubiously Scott Bellware‘s boss). I also didn’t know the other Microsoft guy, Glenn Block (Working currently on the Smart Client Software Factory for Patterns and Practices). It was amazing to be sitting in the room with all of that brain power.

Summary thoughts on Alt.NET

The first thing that I need to put out there is my thoughts on what Alt.NET is. David Laribee wrote the original 4 pointsMartin Fowler said it really well when he said that “Alt.NET is about strengthening the .NET Ecosystem and therefore the .NET platform”.

Alt.NET, to sum of the discussion this weekend in a gross and barbaric way, is about Alternatives In .NET not Alternatives To .NET.

ALT.NET Tools BoardWhat it’s not:
Alt.NET is not anti-Microsoft. The whole crew, by and large, was very pro-Microsoft and supportive of .NET and Windows. Not necessarily Vista, but Windows in general.
Alt.NET is not about a particular toolset even though it happens that many of the members use the same exact toolset. It’s a philosophy grounded in many of the things that Agile community embrace. The tools that they choose are tools that either really help them follow that philosophy or at a minimum don’t get in the way.
Alt.NET is not a group. It’s a movement of which there are many members in many different circumstances.

What is is:
First and foremost, it’s about raising the bar in development shops in the .NET world. That’s desperately needed. There’s a lack of knowledge of how to and/or desire to build truly great software by the majority of developers in the world. I’m not the first person to say this nor will I be the last. Jeff Atwood recently posted about the “80/20” rule where 80% of developers are 9-5 clock punchers and the other 20% are trying to better themselves through many different educational means, like reading blogs, magazines, books, attending conferences, training classes and so on. But across the board there is a lack of knowledge of the fundamentals. Recently I was talking to a developer who had deep knowledge about specific technologies but it started to become apparent that they lacked the fundamentals like Object Oriented (OO) programming. This is one of the points that I think that I brought to the table this weekend that resonated with people. Many of the Alt.NET guys are concerned about teaching Agile, TDD, Object Relational Mappers such as NHibernate and so on but we really need to start even more basic than that and make sure that there’s a true grounding in the fundamentals before the rest of it matters.

Second, the way to raise the bar in development shops is to raise the capabilities/skill/knowledge of the developer through a grounding in Agile practices such as TDD and best practices such as continuous integration. This is counter to adding slicker tools that drag and drop and perform magic that not all users understand and nobody can automatically test.

So back to this weekend’s summit.

One of the key take-aways for me was the crew that was present are really the passionate about getting this movement off the ground and jump started more than they are being dictatorial leaders. It’s great that the everyone there got that. This movement is larger than they are it’s it’s larger than the sum of the parts. There was discussion in the first session that I sat in on about the fact that this person or that person was “on the sidelines” and so they shouldn’t be allowed to talk about Alt.NET because they weren’t in the “club”. This was very quickly quashed by a 8-1 margin (9 people in the room) voted by everyone virtually dog piling on the 1 and consensus was reached. It’s far more important that people are starting conversations around the philosophies that Alt.NET hold near and dear than it is to be involved in the group. It was also discussed that it’s important to get that right and that you shouldn’t be talking about XYZ topic unless you really and completely get it. Mock objects were one of the examples of this – unless you truly understand mock objects, you shouldn’t talk about it. I personally disagree a little bit on this. I think it’s more important that people are starting to have those conversations than it is that they get it right first shot out the ga
te. The more people that are aware of it and are attempting to leverage the tools the more likely we as an industry are to get it right. For example, I’ll be honest and say that I’ve not done a lot of pure agile development and I’ve never done a production system with a pure TDD approach. However, I’ve had an epiphany when I finally caught on that it’s not about the tests. It’s about designing the code. Once I got that the lights came on and I became a believer. The tests are important, but they are almost a side effect of going through the process of designing your code right. This does form a great body of executable documentation that can serve as a safety net to you and the developers around you. This is fantastic and I think I should be able to speak about it. And the more I speak about it, the more awareness I’m raising and the more likely a given shop is to try it. Now, that being said – I always toss out the appropriate caveats that I’m not the expert. I’m just a guy who things this is right and wants to get that discussion off the ground. Hopefully through that process, we can all grow and learn and in so doing continually evolve our expertise as a whole.

We also talked quite a bit about the negative vibes that have been the focus of a lot of the of the discussions lately. “Crank.NET” and so. For this discussion, it was invaluable to have Martin Fowler and his experience with the Agile movement at the meeting. He talked about how there were a lot of the same issues in the early days leading up to and shortly following the creation and signing of the Agile Manifesto. In short, there were several of the core guys that were particularly avid about the rigidly of principles of the movement and were not overly diplomatic in their delivery of said message. This is what the Alt.NET movement is going through right now. Many of the solutions to the problem were fairly lo-tech, like getting peer reviews on content that’s going to be publicly consumed. He actually talked quite extensively about the fact that on discussion lists, mailing lists and so on that you should always realize that the person you are writing the note to is only a small percentage of the actual audience so context, you have to choose your words well for the wider audience.

Lastly we talked a lot about how Microsoft can help. The interesting part is that early on the discussions it seemed that it was very much an us verses them discussion. As the day moved along, it became clearer and clearer to everyone present that it was in both Microsoft and the movements best interest for Alt.NET and Microsoft to work together in this. If we jointly focus on challenging and strengthening the eco-system within the .NET community to raise it’s bar to the level of the bar in the Ruby community, for example, everybody wins.

In the last session, we went around the room and talked about what we had gotten out of the meeting and what we were taking forward. The same themes were resounding from everyone around the room. And there was a bullet list of goals to pursue over the next year or so. The most contentious of the goals is to put together a manifesto. Like a lot of people, I didn’t get the real reasoning behind it until Martin Fowler said that the reason was to keep anyone, especially vendors, from taking the term and morphing it to fit their individual needs/desires. The movement as a whole is larger than a single person/group.

I second John Kordyback – I too want the next evolution in software development to come from .NET. Alt.NET is attempting to raise the bar high enough that this becomes reality.

Bill Gates on Green Computing

Consulate of Brazil - SydneyOne of the reoccurring topics recently has been green computing and how the architecture decisions that we make impact the environment. From laptops to data centers, we are trying to reduce power consumption. On laptops it’s obvious because the more power you consume the worse your battery life is going to be and people see that dramatically. When I’m talking about battery life, I will usually say I’ve got X number of hours doing word processing and the like, X number of hours writing code and compiling and such and X number of hours watching movies. It actually makes a difference in data centers too as there are heating issues and electrical bills that are important. In an eWeek article, they said that data centers are responsible for roughly 1.2% of the nations power consumption. That’s a fairly staggering number if you really think about it. According to an article by Nicholas Carr, the average avatar in Second Life has roughly the same carbon footprint as the average person in Brazil. That’s amazing to think about.

As we are all thinking about cutting gas consumption and hybrid cars – we absolutely have to think about greener information technologies. There are number of ways to do this. One of low hanging fruit items in data centers is getting the utilization percentage up because idling machines are still using power. The target should be 50% or higher utilization. That’s a scary and hard number to really hit. If a server fails there’s a lot less places to shift that processing so it means that your live intelligence about the processes running needs to be crystal clear because you need to be able to make solid decisions about how to organize your data centers.

Getting rid of a lot of the CRTs is one of the things that are helping on the power consumption issues. I know that this is something that a lot of companies have thought about. For example, I bought two 21 inch CRTs from Quicken Loans about 2 years ago because they had figured out that replacing all of the CRTs with LCDs would save enough power to justify itself over some number of years so they went out and bought 2 19 inch LCDs for every desk in the organization. That’s a few more than 5000 seats.

Microsoft RoundTable deviceTaking meetings via LiveMeeting verses taking a plane for an in person meeting saves a whole lot of power and cost. There are a lot of interesting technologies that are coming out in this area. For example the Microsoft RoundTable which is part of the Unified Communications Suite is amazing. It’s a speaker phone/camera that sits in the center of the table. Unlike typical video conferencing which gives you a static view of the room, the RoundTable gives you a dynamic 360 view of the room following the voice of the speaking person much like you would if you were sitting at the table and looking around. That makes sure that everyone involved is fully viewed and remote groups feel as if they are in the room or as close to it at technologically possible. It’s changed the way that meetings are done at Microsoft. There’s one team at Microsoft based out of Redmond that had a few members that are based throughout the rest of the country that has weekly conference call status meetings. It was remarkable once they started using the RoundTable. It turned out that none of the people that were remote had really been paying attention in the meetings. They were too busy doing email, IMing, hanging out on mute and brushing their teeth or whatever. Since their team switched over to using the RoundTables for the meetings, they are no longer able to “hide” during the meeting because it’s so much like they are actually in the room.

There are a ton of other really simple common sense things that we can do. I’d love to hear your ideas.

BTW: Craig Mundie’s organization (Microsoft Research) now has a new Environmental Officer. πŸ™‚ That’s pretty cool. Microsoft is taking green technology very seriously these days. I like that.

Mashups – Powerful Enterprise Tools

IMG_1402In the 13th edition of the Architecture Journal, Larry Clarkin and I wrote an article on Enterprise Mashups. You can find a PDF of the journal here. The two of us actually presented the paper at the Strategic Architecture Forum (SAF) in Redmond which is a gathering of about 100 enterprise architects, CIOs, CTOs and the like.

Our basic thesis is that Mashups, while most famous in the consumer space, are gaining traction in the Enterprise. We also lay out the common architectural tenants of all Mashups and explore the critical success factors that you will need to ensure inside the enterprise. Hopefully I’ve convinced you to go read the article at this point. Without stealing all of the thunder from the articles, it was fun to see our basic premise and prediction come true already. Larry pointed out in his write up about the article that we had quoted a McKinsey study that said that only 21% of enterprises that they surveyed were considering Mashups in their enterprise. 2 days after our article was sent to the press (48 hours too late to put this in the article itself) the Economist published a survey had that number doubling to 42%. It’s good to be right.

The discussion at the SAF was a round table discussion with Larry and me leading. We had a great conversation with a lot of good questions. I can group the vast questions into three large buckets:

  • Enablement
  • Governance
  • Technologies

Enablement and Governance were the two largest parts of the discussion. How do I safely allow more people to create mashups without compromising the IT department, the data and everything that we hold near and dear? The fear, that I think that we resolved, is that this is the Excel or Access database of this generation and that if we as the IT department don’t have control over it that we will have the wild west and everyone will be working off of non-record data. The counter point is that if someone is creating a mashup with approved services, they are actually leveraging the authoritative data source rather than creating new rogue ones. One of the companies had counted 85 different access databases with pricing information in them. That’s a bit hard to manage and needs to be reigned in because that’s not just 85 different databases, that’s 85 different versions of the truth out there and you have to ask yourself why would all these little departments create such a database. Really it’s to solve a business need that the IT department wasn’t solving. That might be access to the data or a certain twist on the data or any number of things but it’s pointing out that the IT department is not aligned with their business in the way that they need. A solid and flexible service in front of authoritative pricing information would go a long way to eliminating the need for those other databases. But the problem is potentially deeper than that.

Denny Boynton (who was moderating the discussion for us) asked the question, if we govern access to the data appropriately – is that enough? The answer from a lot of people was that governing the data was an 80% solution. But the reality is that there are certain types of data that shouldn’t be mashed with other types of data. There are conversion issues if the information is not uniform. There are filtering issues because every department has their own idea of what is a “valid” this, that or the other thing. All of these could be potential blocking issues and should definitely be concerns.

One of the interesting analogies that came up was cars and roads. As roads are built, people are enabled to drive to new location. We are not trying to control where a particular person or car drives. We do control the traffic through what roads we build, which roads are 1 way, where we put stop lights, speed limits and more. In a similar way, we are enabling people to do many different type of activities by building out services. We are not going to be able to prevent all wrecks. That’s a problem. It’s scary. The other issue is that if you watch the news, you hear about the 4 wrecks that happened on the way to work while you hear nothing about the 15 million that made it to work without incident. Similarly, the scary part is that there will be mashups that will be the IT equivalent of a wreck. There will be mashups that use data in ways that you were not intending or expecting. More often than not, these are answering some business need that you didn’t foresee and couldn’t fulfill. That enabling position rather than the one that is trying to do it all. It’s like building out railroads. The rail system only goes so far and then people get off the train and into cars.

The end result is that we have to build a core competency in SOA. That’s building out and governing the services that your constituents need. Sometimes those constituents are others in the IT department, sometimes they are from marketing or finance or manufacturing and so on.

From a technology standpoint, we talked about Popfly and Sharepoint in particular. Popfly is an amazing set of technologies and it’s going to change the way that we architect systems in the future. Denny Boynton wrote a fantastic article on it called “Is the Future of Popfly…In the Enterprise?”. John Mullinax also has posted on “building brand and transcending walled gardens” However, it’s really aimed at the consumer at this point in time. There are a couple of big things that it’s missing before it’s an enterprise level toolkit. The big one is that it’s not able to really leverage secured web services. Another big one is that it’s not hostable inside your own firewall and therefore not able to leverage services that are internal to your organization. These are just the current speed bumps but I’m sure that more tools in this vein will be coming soon for the enterprise. The other questions that we had were around Sharepoint. The reality is that there’s nothing specific in Sharepoint that does or does not do mashups. It’s a great portal site that does a lot work for you but it’s not specifically a mashup tool. That’s not to say that there won’t be tools built into Sharepoint in the future – but I don’t know what the product roadmap looks like.

Writing does not come easy to me. I feel very natural in front of a crowd but the act of writing is quite painful. I just want to say very publicly – Thank you Larry for making me go through the process of getting our joint thoughts down on paper for the journal. It’s been a great thing to have done.

Bill Gates at the Strategic Architecture Forum (SAF)

I had the privilege of attending the SAF in Redmond. Actually, I’m presenting on a paper the Larry Clarkin and I wrote for the Architecture Journal.

Bill Gates did a great Q&A session on the first morning with Eric Rudder. It was interesting listening to him talking about the future of architecture in all companies but especially at Microsoft. This was extremely relevant after a conversation that I had at dinner last night.

The question was asked, when you think Microsoft Technology Leadership – what’s the first name that pops into your head? Ok, next to Bill Gates. (BTW – I’d love to hear the answer to this question in the comments…)

Whether you like him or not, he’s been a monumental force in the industry since the beginning and has helped shape the direction of technology across the entire world. What the question is trying to get to is that as Bill is stepping down, who’s stepping up as the all up technology leader at Microsoft? When you think Microsoft Business Leadership – it’s all Steve Balmer. He’s done a great job over the past 5 years of stepping up and running the business side of Microsoft but who’s stepping up to do the same on the technology side? Ray Ozzie? As the Chief Software Architect for Microsoft, he’s definitely helping revolutionize the directions internally but how well is he getting that message outside of the company? Craig Mundie? As Chief of Research and Strategy for Microsoft, he’s helping direct the future of Microsoft by investing smartly in the technologies that he feels are the future. (On a side note, it’s been interesting to see all of the investment in the photo and imaging technologies that Microsoft has been releasing with PhotoSynth, Deepfish and Sea Dragon and then hear Bill talking about great user interfaces of the future involving cameras and interaction. More of this in a future post) Is it Eric Rudder? As Senior Vice President of Technical Strategy for Microsoft it’s obviously part of his job as well. Is it Scott Guthrie? He’s definitely staked out the developer technologies at Microsoft. He’s not, however, over Sharepoint, Office, Windows and the like. Kevin Johnson, Don Box, Anders Heilsberg, Kim Cameron all could be in the running as well. There are many other names that I could throw in here but each of these names are leaders in some form or fashion and are playing well together to drive technology forward.

Bill indirectly spoke to this question. he said that it’s not necessary to have one leader – especially as the business spreads out and becomes more diverse. He talked about how Microsoft does architecture across the various product teams. Some of the leads are extraordinarily technical. Others are extraordinarily business and people focused but bring in technical leadership and research teams to help them understand the technical bits that they need. There’s not just one way to do this.

The question is, however who has the 360 degree view of the the business? The current reality is that we have a lot of really smart people that, federated, have the holistic view.