All posts by joshholmes

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.

Twitter

I just saw an interesting article from the BBC. It’s evidently big news that the populous of England is sending 1 Billion text messages each week. Now, that is 25% higher than last year which represents fairly explosive growth. What it tells me is that they obviously haven’t discovered Twitter yet because it’d be a ton higher if they had.

I’ll be honest, when I heard about Twitter – I thought it was rampantly stupid and couldn’t understand why people would be interested in it. At this point, I’m trying to imagine keeping in contact with all of my friends without it. I first saw Twitter in action at Mix07. Larry Clarkin was the first guy I saw using it. Then Chris Bernard, then Scott Barnes and soon there were a ton of people around me using it. I went to the web site and saw the slogan – “what are you doing in 140 characters or less”. I thought to myself – why on earth would anyone care what I’m doing in 140 characters or less. If it can be said in that amount of characters, then it’s probably not worth saying.

Wow was I off. As Alan Steven‘s said “So far, Twitter is like hanging out in the speakers’ lounge. Meaningless chatter from smart people. 😉 “. I really like that aspect of it. There are days where it’s like a giant multi-person chat. There are other days when everyone seems to be busy at the same time and it’s really quiet. Someone else, and I can’t remember who, said that it was blogging for the ADD. There are times that that’s true. On busy days, there are 400+ messages that come across Twitter for me. Yes, you really need an unlimited texting account to really get into Twitter with the SMS interface… I get to follow what people from Australia to my own back yard are doing. Guaranteed that I wouldn’t keep in as close of contact with 80% of my contacts as I do without twitter. I know that’s true because just a few months ago – I was friends with but not really connected with most of the guys on my followers and those that I’m following. It’s helped friends get jobs (because I saw him post that he was interviewing at a company that I know and told him to use me as a reference), it’s answered technical questions, it’s replaced text messaging and IMing a lot of people with direct messaging through Twitter. For example, I’ve set up drinks with @ryanstewart and @larryclarkin this Sunday evening in Redmond over Twitter’s direct messaging. It’s an interesting phenomenon.

image They started up in March of 2006 as a research project but they really didn’t take off until March 2007 at South by Southwest. Twitter won the blog category. In April 2007, they hit 11,000 page views a second taking Ruby on Rails further than it ever had gone and exposing more than few holes in it’s performance. They have since re-architected and taken care of a lot of the operational issues. I mean it’s ridiculous, they couldn’t keep up and had to double their operations staff in October by hiring an extra person. Right, they now have a whole 2 operations people. In case you didn’t catch the sarcasm there, I’m really impressed with their uptime, responsiveness and number of users given the fact that they have been running with just one operations person until very recently. There have been some serious performance problems. Every once in a while messages will start delaying but sometimes up to 30 minutes getting out. Some of the SMS messages will be blank. Sometimes the site will go down for maintenance or new features and they will put up a humorous little blue bird that says that the site will be back in a bit – oh how we all hate that little bird. The good news is that I’ve seen less and less of the little bird and other problems as time has gone on.

The question remains, however, how did they become as popular as they have become – especially in light of the performance problems that they were having. As we talked about in last quarter’s ArcReady, Twitter really has become one of the Web 2.0 poster children. For one thing, they would be nothing without their hundreds of thousands of users. They really lean on their users to form their new features. such as the @username syntax. They started to notice that there was a convention growing up where that’s how people would refer to each other so they made it an official thing where it actually links back to the username as follows – @joshholmes. They haven’t tried to build every front end or even control the front ends that are out there. Instead, they built a front end web site, an SMS service and an easy to use API. There has been an explosion of Twitter Applications. I use SMS still when I’m away from the house, but I use WittyTwitter during the day. But there’s obviously a choice here as there are 20+ windows applications for Twitter. There are almost 20 for the Mac and just short of 10 for Linux. It’s a great Web 2.0 example.

Technorati Tags: ,

JUXtapose

 Jeff Blankenburg has a new video series that he’s starting to do called JUXtapose which stands for Jeff on User Experience. That’s a clever twist on words there.

What Jeff doesn’t mention is that he “grew up” in the technical end of a marketing firm implementing the whims and ideas of the designers. Through that experience, Jeff learned a lot about user experience and design. He was the designer of the original CodeMash site and gear head logo. imageThat’s why in his video he said that he was “familiar” with the gear head.

In his first video, he builds a Silverlight 1.0 gear head with spinning gears. I like it for a number of reasons. It clearly demonstrates the power of declarative vector graphics and timelines in XAML. I’ve done the stupid demo that everyone does for Expression Blend and Silverlight where you take text, put it on a timeline with a gradient and have it spin about the screen a little. As Chris Bernard put it – that’s Silverlight Blink meaning that it’s the thing that everyone is going to do because it’s simple but it’s annoying as all get out to the user. However, that was random movement around the screen. To actually make it do something deliberate like Jeff did has been well outside of my depth.

In his second video, Jeff tracked down the CTO as well as the Dev Tools Product Manager, Visual Design Manager of Component One and interviewed them about the controls that they are creating for Silverlight 1.1. That set of controls, called Sapphire, went Alpha yesterday which happened to be the day that he posted the video. It’s a well done video with lots of good information. I liked the their attitude where they see Silverlight as a way to reuse their desktop development knowledge, toolset and more for web development. This is the direction that Microsoft is taking things – extending our current base’s (mostly desktop developers) experience and abilities to the space known as RIA. Adobe has been in the RIA space for a while and with AIR, they are trying to extend their base’s (mostly web developers) experience and abilities to the desktop. This is a subtle but hugely important distinction that Component One understands and is excited about.

On a side note – it was interesting to hear that Component One, as a control vendor, is an agile shop developing in an iterative fashion.

JUXtapose – Jeff on User Experience

Microsoft ArcReady – Software + Services

imageThis quarter’s ArcReady is coming quickly. This quarter we are talking about Software + Services (S+S). This is Ray Ozzie’s vision of the future of the industry. It’s a vision that encapsulates SOA, SaaS and Web 2.0 and really takes it to the next level. SOA can be how you compose, govern and control your services but it doesn’t talk enough about delivery of the software to the user. SaaS is a great way to deliver software if your users are willing to rent the software. It A: doesn’t work for every user base and B: doesn’t address multi-headed clients where you might want a desktop client, web client and a mobile client. Web 2.0 is in the same boat. Web 2.0 can define the user’s experience with RIA, collaboration, collective knowledge and more. These tenants of Web 2.0 that we discussed in the last quarter (See the video of the session posted on the ReMix07 Boston site) are engaging on a number of levels but it doesn’t really address some of the enterprise concerns of security, accountability and more.

Software + Services really builds on top of all three of these ideas. Come learn more in a city near you.

For the full abstract – see http://www.arcready.com.

  • *Columbus – 11/27/2007
  • *Cleveland – 11/28/2007
  • *Detroit – 11/29/2007
  • **Grand Rapids – 11/30/2007
  • *Nashville – 12/3/2007
  • *Cincinnati – 12/5/2007
  • *Indianapolis – 12/6/2007
  • **Louisville – 12/6/2007
  • Minneapolis – 12/11/2007
  • Milwaukee – 12/12/2007
  • Kansas City – 12/13/2007
  • Chicago – 12/14/2007
  • St Louis – 12/14/2007
  • Dallas – 12/17/2007
  • Houston – 12/18/2007
  • Austin – 12/19/2007
  • * means I’m speaking…
    ** means that we’re actually doing a last quarter’s Web 2.0 session followed by this quarter’s Software + Services session. They go well together and I missed Louisville and Grand Rapids last quarter.

    That’s going to be a tough 2 weeks on the road there to be honest. 12/7 – come to my funeral as I die from Red Bull overdose. 🙂

    Microsoft ArcReady – Downloads

    Technorati Tags: ,

    More Platforms verses Applications

    I blogged last about Platforms verses Applications and put the statement out there that platforms beat applications every time. At least one of my readers (Alan Stevens) agrees with me. My other reader hasn’t commented yet.

    Alan pointed out, however, that I missed some rather important platforms that Microsoft ships. One that all of the developers in the audience (on the Microsoft technology stack so that doesn’t include you Joe) probably use on a daily basis is Visual Studio. Alan posted about it in his post on VSX. He points out Visual Studio itself is just a shell and that all of the other bits that you see are simply add-ins. That shell is now available for you to leverage as you see fit in your applications. Obviously, you can write add-ins such as the Dotfuscator from Preemptive Solutions or CodeRush. What you probably didn’t know is that you can build a stand alone application there that you ship independently of anything else. The cool part about that is that you have a built in extensibility model and other applications can meld with yours because you’re on top of a great platform. 🙂 Don Demsak, aka DonXML, had a podcast about Visual Studio Extensibility back in April.

    Mappoint and Virtual Earth, despite my recent jolly adventure with Mappoint, is a fantastic platform for building applications on top of. One of the local companies here in Michigan is using it for the base for one of their applications called eoStar. I find it fun that they have built their application as an extensible platform as well – see their plug-ins section for things that third parties have built for their applications.

    Microsoft DynamicsThe Microsoft Dynamics CRM is a horizontal base platform for you to build vertical applications on top of such as Omnivue’s Health Care application. There are multiple ways to integrate here from API calls to interfaces you can implement to web services that you can leverage.

    I know that I’m missing some of the important applications out there that Microsoft ships as a platform.

    So, what does this mean for your applications? There are two directions that you should be looking.

    First, when you are starting a new application – is there something out there that you can leverage as the base for your application that will handle a lot of the underlying plumbing. I like Brian Prince‘s quote – “Don’t be a plumber.” What he’s talking about is leveraging platforms and frameworks that will do a lot of the heavy lifting for you so that you can concentrate on your business logic which is your real value add.

    Second, you need to be thinking about what are the possible extensibility points where someone else could tap into your application. I know, you’re thinking – but Josh, I’m building the corporate equivalent to Notepad here – there is no extensibility points. While that may be true – think about your favorite text editor here and what add-ins you’re using. If you are still using Notepad – you are in the dark ages and need to look at UltraEdit, Scite, E or any of the thousands of others that are out there. One of the things that all of these have in common is that they all support extensibility. Scite, for example, has a great page dedicated to different plug-ins called Scite Extras. There are extras there from various language formatting libraries to scripts that you can use. But what this proves is that even simple tasks like text editing can benefit greatly from being able to leverage a great platform so you should be thinking about that with your applications.

    Alan Stevens on VSX

    Platforms verses Applications

    ownageSoma Segar did a Red vs. Blue show with Church and the gang. It was funny hearing Soma, who is always seems to be serious, chatting with the guys that aren’t. One of the things that he talked about was the Balmer Developers, Developers, Developers speech in terms that I actually agree with. He said that Microsoft is a platform company at heart and that we have been since the company was founded in 1975.

    That is fantastic and absolutely true! I’ve been saying for quite a while that a platform will beat an application every time. There are a couple of great examples of this right now. For example, Microsoft Office is, more so than it is just word processing and spread sheeting, it’s a fantastic platform that you can leverage to build your application. It wasn’t overly difficult to do with COM, not that the object model was straight forward. Even so, all of the power was there and the average developer could figure it out and put together some fairly compelling applications. Now with VSTO, it’s very easy to build compelling applications on top of any of the Office Suite of applications including Outlook. As I live in Outlook a good portion of every day, I love the idea of being able to extend it to all of the other things that I need to do throughout the day. <mindDrifting>Now, if the expense system would expose services – I could have a ton of fun with Excel and Outlook………</mindDrifting>

    Another Application vs. Platform situation that you can look at is MySpace verses Facebook. MySpace allows you to customize your page a ton but it’s not really a platform for you to build on. Facebook allows you as a developer, through their Developer APIs, to build your own application that adds right into their platform and feels like it’s part of Facebook. There are several thousand of them out there already. Some of them are downright stupid like the Vampire application. <rant>I really wish that there was a nukem button for anyone who tried to make me a zombie or vampire or any other stupid thing of Facebook more than 3 times after I’ve ignored them over and over and you know who you are…</rant> However, some of them, such as the Twitter and Cities I’ve Visited are great. Others, such as Groups and Photos feel like they are part of the platform when they are actually add-in bits created by the Facebook crew. That’s pretty cool and it’s part of the reason that Facebook is winning. (That being said, I will have to post some other time about my feelings on whether or not Microsoft should have ponied up 250 Million for rights to do the advertising…)

    There are applications that should be platforms that are not currently great platforms and are suffering a little for it. For example, Internet Explorer is a fantastic application – but it’s not a great of a platform as Firefox. That’s frustrating because it could be such an amazing platform. As it is, it’s a frustrating set of COM based interfaces that are not quite completely undocumented.

    Now, what does this have to do with your applications? You should be thinking about platforms that you could have built rather than applications. I’ve been in a number of shops where there are 10+ small applications that are build that could have and should all been written as a single application but the first and primary application was not extensible so the other groups around simply added new applications rather than adding value to the first one.

    Defy All Challenges

    Web 2.0 Session at REMIX07 Boston

    REMIX07 BOSTON - OCTOBER 8 & 9, 2007 Hosted by MicrosoftI had a lot of fun with the Boston Remix session that I picked up. I did the Web 2.0 talk that we’ve did for the ArcReady sessions. It was an amazing operation to watch G. Andrew Duthie (aka DevHammer) and crew locked away in the media room working tirelessly to get the keynote and other select sessions on the web site. I’m honored to be one of the selected sessions that they put on the web site as there was a ton of great content at the conference.

    The content was originally put together by Jon Rauschenberger, CTO of Clarity consulting. That being said – I have a very different delivery than Jon does so even if you saw him do it – take another look and see if you pick anything new. This is a discussion about what the tenants of Web 2.0 are and how they apply to your applications whether you are in the enterprise or consumer space.

    It’s cut up into 4 parts due to file size limitations on Channel9.

    Web 2.0 and Beyond, Part 1

    Web 2.0 and Beyond, Part 2

    Web 2.0 and Beyond, Part 3

    Web 2.0 and Beyond, Part 4

    After watching my session, then I guess that you can check out the Brad Abrams keynote. 🙂

    All of the REMIX07 VIDEOS

    Technorati Tags: ,,

    Continuum of Experience

    One of the key messages that I’ve been talking about with a lot of my customers recently is a continuum of experience.

    image_thumb[3]

    It starts on the left with Web and it’s absolute ubiquity through HTML and CSS. This works on any device with a browser from a phone to any desktop and even a lot of computer based applications (such as search engines or spam email harvesting engines). The tradeoff is that the user experience is less than optimal. Billy Hollis calls it the Cobol of the web referring back to the old time green screens. Whether we like it or not, HTML not only has it’s place now, it’s going to continue to have it’s place long into the future. Unfortunately, one of the reasons that many applications go this direction is not because they need ubiquitous reach but rather because it’s easier on the IT department to deploy it. This makes things hard on the user. Oops. Things can get better with AJAX. At this point, you are sacrificing some reach for functionality as you are giving up phones, PDAs and older browsers. Often that’s an easy decision to make.

    On the right hand side of the continuum is Platform Optimized. This is really giving up broad reach for absolute functionality. As an example, the Halo 3 team knew which video card was in the target machine so they could tailor the experience for the edges of what’s possible on that hardware. That’s a good position to be in when you can be because it means that you can create the absolute best possible experience available. However, it would be hard to take that same experience and put it on any laptop. Short of knowing what hardware you are targeting, look at the platform that you are targeting. If you know that your users are using Vista or XP with the Service Pack 2, you can target WPF, WCF and so on because you know that it’s on the box. Backing up from there, if you can target .NET on the box, great.

    Somewhere between the Web and Platform Optimized is the Supplemented Web with Silverlight and Flash/Flex. This is an exciting frontier to be in right now bridging the gap. It’s not full ubiquity but it’s more reach than platform optimized and it has a far superior user experience than HTML and CSS.

    Microsoft and Adobe are working from opposite angles here. Adobe, with Air, is trying to take this supplemented web development paradigm to desktop. It’s an interesting idea to be able to bring HTML, Flex/Flash, embedding PDFs and so on to the desktop. Microsoft, on the other hand, is trying to take desktop application development paradigm to the web with Silverlight.

    I think that there’s room for every type of experience along the continuum but you really need to evaluate your skill set and what type of experience you want to target when starting an application. Today actually, I had a customer meeting where we talked about a blended approach where we build a simple ASP.NET application for their ubiquitous touch and then target a click-once deployable application for those clients that are able to leverage it. This would be a great move on their part as it would give the best possible UX for the greatest possible audience.