It Has Come To This

“When I stood before you in September, I said NHL teams would not play again until our economic problems had been solved. As I stand before you today, it is my sad duty to announce that because that solution has not yet been attained, it no longer is practical to conduct even an abbreviated season. Accordingly, I have no choice but to announce the formal cancellation of play for 2004-05″ [NHL Commissioner Gary Bettman]

I have blogged about the NHL work stoppage several times - I imagine it’s pretty obvious that I place the blame for the cancellation of the season firmly on the shoulders of the NHL players association. I find it interesting that Gary open his comments today with an apology to the fans while NHLPA exec director Bob Goodenow opened his comments today by slamming the league. In fact, when asked if the NHLPA owes the fans an apology, this was Bob’s response:

“Absolutely an apology to all the fans, and speaking on behalf of all the players up here, they didn’t want to be locked out. They didn’t want to be not allowed to entertain the fans. Gary owes an apology because he started the lock out. He put all this in motion, and the proposals that these players have put forward, in particular, the roll back, which would have made the league successful in one fell swoop, very serious steps were taken, and, you know, yes, we apologize to the fans for this situation, this circumstance, and the fans can say, what are you going to do about it? Well, we’ve done an awful lot, we feel, to get to a fair resolution, and unfortunately, it’s the other side that we haven’t been able to make a contact with, and it’s unfortunate that this situation will continue. That’s all I can say.”

I guess the NHLPA doesn’t believe they owe me – the fan – an apology. Here’s my response to Bob’s response:

Fuck you, Bob.

If Bob really believes that the player’s proposal would have made the league successful, how come they didn’t accept the league’s offer last week to try it the player’s way, but have a system in place to enforce cost certainty if it didn’t work? I’m guessing it’s because no matter how many times the Bob refers to one of his proposals as “groundbreaking” than nobody – including Bob – really believes that the 24% rollback would do anything to stem the skyrocketing salaries in the long run. Bob had the nerve to say in his statement today that “During the last CBA, when revenues went up, so did salaries. When revenues eased, so did salaries. As evidenced by recent signings.” What a load of bullshit. When revenue growth dropped to around 5% year over year in 01/02 & 02/03, salary growth ballooned to almost 12%. And as for “evidenced by recent signings”, I guess Bob is just going to gloss over the fact that reason that salaries has eased recently is only because so many players went unsigned last summer since all the teams realized the lockout was looming.

Well I guess if I need a hockey fix, my only choice is catching a Silvertips or Thunderbirds game.

You Never Owned Any Music

“I just tried out Napster to Go with my iMate and while I still am not sure that I like the idea of music rental, but I would pay a monthly fee to Apple if I could get access to any piece of music anytime even if just for a while after using Napster for even a few days.  The software experience needs work, but it is a lot better than I ever expected it to be.  Napster has something here actually, but most people don’t realize it yet because Microsoft and the industry is doing a piss poor job at showing just how interesting life can be in this model.” [Lenn Pryor]

While Lenn admits that “Napster has something here actually”, I guess I have never understood the issue some people have with “music rental”. You don’t own the music and you never did. You’ve always owned a copy of the music. You “rented” the music in perpetuity (that’s legalese for “a long ass time”) for a flat fee. You can argue that the record labels have kept more than their fair share of said flat fee, but it doesn’t change the fact that you never owned anything but a copy.

Personally, I like the Napster model much better. I am paying $15 a month in perpetuity but I get access to pretty much everything that comes out. Actually, I’m not even paying yet – I’m still in my 14 day trial period. But I’ve downloaded nearly 3GB so far including a variety of stuff that I was going to buy on CD anyway when I got around to it. Life is certainly more interesting under this model.

Speaking of Steve

BTW, if you haven’t seen Steve’s entry on Isomorphism, go read it right now. He nails this whole services as contracts vs. services as code debate right on the head. The spot on nature of this post reminds me when he nailed the modeling problem on the head – another must read post if you haven’t already.

Thoughts on Factories

Last week, I had a great discussion with the Product Unit Manager (or PUM) of VSTA. She wanted my perspective on a few things related to Software Factories and I figured I’d share some of them here.

First off, while I appreciate the vision of factories, I’m also focused on the short term gains of automating software construction. Today, most of that automation is in terms of code generation. For example, John asked the other day if I thought Yacc is a software factory. It certainly is a domain specific language! However, I’m not sure I’d go so far as to say it’s a factory. But on the other hand, I’m not sure it matters that much if it’s a factory or not. When the other John on my team blogged his thoughts on SOA, he included one I wrote: “Eventually we’ll stop talking about SOA and go back to talking about Architecture”. I feel sort of the same way about factories. As long as we’re talking about it as if it is something different from what we’re already doing, we’re not there yet. But if we keep taking steps in the right direction, eventually we’ll get to the point where the process of building software doesn’t look the way it does today. Sorta the same way that building software today doesn’t look like it did pre-.NET, pre-VB, pre-Windows or pre-C++ (I could keep going, but I think you get the point). That’s the thing about visions, you never really get there, it just provides a way to keep you going in the right direction.

Secondly, I think that one aspect of Software Factories that at least I haven’t focused on is reusable frameworks. The book is called “Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools” but I think the focus has been mostly on models and tools. This is partially because of the whole DSL vs. UML flack (quick side note – how about we have both?) and partially because the DSL toolkit is the first factory-esque thing that we’re shipping. However, DSLs big value, IMO, is to automate the construction of applications built on top of well designed reusable frameworks. For example, the OOPSLA keynote demo was a DSL that would sit on top of a UI process framework such as the p&p UIP block. But if there is not a good framework, there’s little point in having a language. I’ve pointed out in the past that the big gap to cross for organizations to start using DSLs is the leap from building abstractions to building languages that automate that abstractions. However, that’s not really true. The really big gap is the leap from building one-off abstractions to building reusable frameworks of abstractions. Once you have the reusable framework, building the DSL is an easier step IMO.

Even though I didn’t figure out the framework / factory connection until last week, it must have been there in the back of my mind when I was working on the ARC track for TechEd. We’re having a session on “Design Considerations for Enterprise Application Frameworks” with Steve Maine as the speaker.

Another Vector Option – Xamlon Flash

Another option besides ActiveSWF is the recently announced Xamlon Pro Flash Edition. Xamlon is essentially an implementation of XAML the current version of Visual Studio. There’s a version for Windows Forms, for Compact Framework and now for Flash. So basically, you can write your flash app with XAML and C#. Apparently, you can also code directly to the Flash format, bypassing the XAML layer entirely. I like the idea of using a managed component like Xamlon better than a COM based component.

My big issue with using Flash is that it’s a totally seperate programming environment from the browser. Using VML in IE, you can manipulate the vector objects with javascript. In Flash, you may be doing one thing in the browser and something completely different in the flash movie. That’s a pain in the behind.