Morning Coffee 14

I just realized that I had Morning Coffee 9 both last Friday and last Monday. Woops. Rather than changing the titles of four posts, I’m just skipping #13 instead. Just like a hotel.

  • The folks behing the Optimus concept keyboard are shipping a mini 3-key keyboard. The basic idea of both keyboards is that the keyface is a little LED screen. Apparently, they’re planning on releasing a production version of the full keyboard this year. The 3-key keyboard is $160, so I’m guessing the full keyboard will cost quite a bit. (via Scott Hanselman)
  • Somepeople are up in arms that the chair of the new W3C HTML Working Group is Chris Wilson from Microsoft. I’m guessing these are people who don’t understand much about how such working groups work. As Chris writes, most of his time as chair will be herding cats. (via reddit)
  • I am interested to see what this new working group produces. The #1 deliverable for this group is “A language evolved from HTML4 for describing the semantics of documents and applicationson the World Wide Web” (emphasis added). Given the already existing Web API WG, it would be nice to see an application model as a formalized part of HTML.
  • Again via Scott, Jello.Dashboard is a replacement for Outlook Today with a GTD bent. However, as Scott points out, it is slow. Scott blames the Outlook Automation APIs, but I think the scripting engine is also to blame. In the CRM Integration for Outlook sample, I used a WinForms UserControl as a folder homepage and didn’t notice any perf issues. If you expose a WinForms UserControl as a COM control (via Guid and ComVisible attributes), you can then host that control within an HTML file which is set as the folder home page. The sample includes a helper function to generate the HTML folder home page to host the UserControl. If there’s interest, I can post a small sample. Not only is this approach faster than a script based one, it’s easier to design and debug.

Morning Coffee 12

  • According to Chris “Long Tail” Anderson (as opposed to Chris “Avalon Architect” Anderson), “Combined with the new low-cost distribution channels, from DVD to digital downloads, all you now need to be a filmmaker is talent.” Really? Based on the dreck Hollywood churns out, I thought talent was optional! 😄 Seriously, check out his post and the sites he points to (Four Eyed Monsters and DV Rebel’s Guide review on Cool Tools).
  • Speaking of Chris “Avalon” Anderson, he’s got a couple of WPF/E tests up on his blog. I wanted to see how it worked under the hood, so I checked out the HTML source for this page. It includes around 115kb of XAML! We’ve seen ViewState and JavaScript page bloat, is XAML bloat next?
  • Larry O’Brien and Alan Zeichick are talking about a Threading Maturity Model. Good ideas there, but frankly I think we need a language that recognizes concurrency as a first-order abstraction if we’re going to make much progress up the maturity model.
  • Dare recommendsprogramming.reddit.com. Definitely worthy of a closer look.
  • The BTS training I’m in yesterday and today is being held on Microsoft’s Red West campus, home of MSN & Windows Live. It’s very nice looking and is a good size – five buildings – without being as huge as main campus. It even has a “ski-lodge” cafeteria, though given the slim pickings in my building’s cafe anything would be an improvement.
  • One thing I don’t miss about working on campus is the commute. Getting to my office takes 20-30 minutes, depending on the traffic lights. Getting to campus, even though it’s physically closer, takes 45-60 minutes, most of it spent sitting still. Every time I wish we’d move to campus, I remember the traffic and decide I like where I am just fine.
  • Two big learnings from BTS training yesterday:
    • Conceptually, BTS hasn’t changed much since the 2000/2002 releases that I was more familiar with. In practice, it has heavily embraced .NET which is a good thing. I didn’t realize how much of a difference having tools like the pipeline and map editor inside VS would make, but it does. (I realize the orchestration editor is inside VS as well, but we get to that module of the class today).
    • The MessageBox is a bigger deal than I remember or realized. Matt called it the “heart of BizTalk”. I know BTS has had a SQL based message store since day one, but I don’t remember it being called out explicitly.
  • I’ve said before that MessageBox is roughly analogous to SSB queues, though BTS wonks (like my teammates) typically jump down my throat when I do. MessageBox has a pub/sub design philosophy which SSB does not. However, I’m guessing pub/sub is used much more in messaging scenarios rather than orchestration scenarios. My efforts around SSB & WF are much more focused on orchestration scenarios, so I’m guessing SSB’s lack of pub/sub infrastructure is not a big deal.

Morning Coffee 11

Yes, its true, (yes its true) I’m so happy to be stuck with you
’cause I can see, (I can see) that youre happy to be stuck with me
Stuck with You by Huey Lewis and the News

  • I am apparently stuck with my wife’s rants. That’s fine, as long as she has continues to stand up and rant about the things she and I believe in.
  • I hate wearing suits for the same reasons Mark Cuban does.
  • According to Joe McKendrick (of JBOWS fame), “many IT executives simply do not have the resources or political clout to get SOA moving in a big way that will transform the business.” I guess that blows a huge hole in Thomas Erl’s CIO as Dictator approach.
  • I don’t have a Wii (yet) but this game seems pretty cool for the little ones. Patrick is getting pretty good at Lego Star Wars, but this would be right up Riley’s alley. (via Game Tycoon)
  • I’m in BizTalk 2006 training today and tomorrow, so blogging will be light and BTS focused. Class is being taught by Matt Milner from PluralSight, so I’m looking forward to it.

Morning Coffee 10

Wow, I made it to ten of these morning coffee posts. That puts me only two orders of magnitude behind Mike and one order of magnitude behind Sam.

  • We got snow, again. My son apparently said the other day “OK God, that’s enough snow now”. When a 3 year old is tired of snow, you know you’ve gotten a lot.
  • Of course, people in snowier climates than here (the NorthEast, Northen Midwest, pretty much all of Canada, etc) will snicker that 5 inches of snow is “a lot”.
  • I’m moving my STS code into a new VPC for handoff to the dev team. I was running Virtual Server before, but for individual work like what I do, Virtual PC is much easier to use. Drag and Drop into the VPC alone is worth it to me to use Virtual PC instead of Virtual Server. I am using the beta of Virual PC 2007, though I couldn’t tell you what the differences are.
  • Steven King may love the new season of 24, but I can’t shake the feeling of jumped shark. However, I am impressed that Fox released the first 4 episodes of the new season today.
  • Two name changes later, the RTM version of SQL MobileAnywhere Compact Edition is now available. BTW, I found this blog post by Steve Lasker about using SQLce with ASP.NET. So it sounds doable, though not recommend. Of course, for those of us using shared hosting, SQLce is a non-starter until it becomes part of the standard .NET framework install.

Mastering WCF

Sam Gentile writes:

Harry finds Indigo daunting. Me, I find mastering 8 different stacks (COM+/ES, ASMX, WSE, Remoting, MSMQ, etc) to do the same thing and all the strange nuances a hell of a lot more daunting but that’s just me, although the number of timeout settings and config settings is astronomical.

While mastering many different stacks is daunting, the reality is you don’t have to master all of them to use one of them. Knowing Sam, he probably has mastered all the different stacks, but MVP’s like Sam are an edge case. Most developer don’t master any of the stacks, they get comfortable with the one or two stacks they use all the time.

From that perspective, WCF replaces the “legacy” stack a given developer understands with something much more complex, since WCF replaces legacy stacks other than the one said developer is familiar with. Options like message exchange patterns and network protocol were typically implicit to a given technology stack. For example, if you used ASMX, you could use any network protocol you want, as long as it’s HTTP. Using WCF, you get to / have to choose which network protocol you want to use. Multiply that decision making process by the “astronomical” number of choices WCF provides, and you’ve got to spend a long time making decisions that the “legacy” stacks handled for you automatically.

To me, it looks like WCF’s primary design goals were to support web service standards (aka WS-*) as well as to unify the disparate communications stacks. And I think WCF was fairly successful at these two goals. Previously, the capabilities you needed would drive your communication stack choice. Need web service interop? Use ASMX. Need low-level control over the message pipeline? Use .NET Remoting. Need to flow transactions? Use COM+. Need to flow transactions over web services with low-level control over the message pipeline? Until WCF came along, you were SOL.

However, if “ease of development” was a goal for WCF, it doesn’t look like it was high on the list. And frankly, that’s fine. As I’ve written before, I’d rather have a flexible if complicated low-level foundation to build higher-abstracted application infrastrucutre on top of.

Just don’t try and sell me that WCF is making my life easier, because it’s not. Not yet, anyway.