Sunday, August 10, 2008

I'm digging the http://www.nbcolympics.com site in Silverlight. I can see sports and interviews that I'm interested in and review close plays as much as I like. I've shown this to the wife and the extended family over the weekend.

One thing that really keeping this from being the best thing ever is the user experience. For example, the Control Room is a place where I can select up to four videos to watch at once; one large and three side videos. That's really cool. However, the extended family was the real test; and they were a little frustrated.

The sucky part of the Control Room is the search interface. Here, I'm given a tiny up/down arrow at the bottom of the thumbnail stack. This is something visitors will do many times, every time they visit the site to see the next six or previous six videos in the stack. Why not make this click experience really easy to hit with big, phat arrow overlay icons? Maybe even advertise key strokes that do this. Its just really frustrating for non-technical people to use.

There's too many obfuscated clicks like this in the app. Just a few slight UX improvements would have gone a long way here. NBC Silverlight team, I give you a straight B here. Good job on the insight to give us what we want (choice in viewing Olympic events), but a "meh" job in giving me to the tools to make that choice.

Sunday, August 10, 2008 10:00:47 PM (Pacific Standard Time, UTC-08:00)  #    Disclaimer  |  Comments [0]  | 
 Monday, February 18, 2008

When I was 8 to 12, I was big into Dungeons & Dragons. My brother was five years older, and sometimes I could sit with his friends and play. We had all the books, much to the chagrin of my parents. When the D&D cartoon came on, all other things ceased to exist for those short 30 minute chunks of time.

Start-Up Junkies Now that I'm older, I watch a new show called Start-Up Junkies, its on the MOJO channel. I first heard about the show at my local .Net User Group meeting. The PADNUG organization gets together about once a month, sponsors buy pizza and someone presents for 60-90 minutes on a .Net related topic; recruiters abound here. Being so close to Redmond, we're a little spoiled with lots of juggernaut speakers around. At the last meeting, Matt Davis gave what was arguably one of the best sessions I've ever seen here. He's a relaxed speaker and clearly an expert in his craft.

Matt works for a company called Earth Class Mail, a start-up with a great idea. They offer a mail processing service. When you sign up, you change your address and send your mail to them. They scan all of your mail and you access it online. They can scan just the outside of the envelope or open and scan all of the contents too. You can shred it or have the physical document sent to you if you want to keep it. The company was growing at a reasonable pace when they signed on the mysterious giant corporate client, code-named "cheetah". If they make this pilot project with cheetah work, they'll be huge. Matt mentioned the TV show in passing during the presentation and I looked it up.

Start-Up Junkies follows the company through the frantic pace of trying to scale up without failing. I saw the .com bubble rise and fall so I really get this show. The cameras wander all over the offices, covering the CEO, marketing, sales, I.T. and operations. Sometimes I'm cheering and other times I'm yelling and the screen and shouting WTF!?!?!

I love my job and now I get to watch a little bit of it portrayed on HDTV. Watching in the one-piece jammies with feet is optional.

Monday, February 18, 2008 9:44:13 AM (Pacific Standard Time, UTC-08:00)  #    Disclaimer  |  Comments [0]  | 
 Saturday, December 22, 2007

Portland Trail Blazers Le Wife and I have tickets to some Portland Trail Blazer games this year. Last night was the first one we attended this season. It just so happened to be an opportunity to keep the streak going and make it ten wins in a row.

As a gesture of respect, I dropped Le Wife (who is now 21 months weeks pregnant) off right in front of the stadium and I parked the car. That was harder than I anticipated. I guess thousands of people congregating on a single place do tend to make traffic and parking more difficult.

Word to the wise — parking in the under the Oregon Convention Center for $6 and walking 200 yards north is very handy. Its deceptively close; walking under I–5 makes it seem farther than it really is. Plus, this lot wasn't crowded 20 minutes before tip off. I might think twice about parking there in a pouring rain, but it was a pleasant walk for me; a nice brisk evening.

The game went right down to the wire with neither team making it farther than 8 points ahead (if they did, it wasn't for very long). In the end, our guys managed to hold off Allen Iverson and Carmelo Anthony to make it ten wins in a row. The packed stadium was booming, I'm looking forward to the next game!

At one point the crowd started cheering really loud — just before the end of half time. Up on the big screen above center court was a live shot of Greg Oden sitting behind the Blazers' bench in a sport jacket and white button up shirt. He didn't see the camera and looked around quickly to see the cause of the cheers. Then he looked up at the screen above center court and realized what was going on. He grinned wide and looked down at the ground in the biggest "aw-shucks" moment I've seen in quite a while. Portland is going to love seeing this guy on the court next year!

sergio-rodriguezAnd perhaps the biggest boon of the game — bobble-head night! I am now the proud owner of a Sergio Rodriguez bobble-head doll. There's a bright warning on the side of the packaging:

WARNING: Contents in box may make a no-look, behind-the-back pass without warning.

events | fun
Saturday, December 22, 2007 2:17:40 PM (Pacific Standard Time, UTC-08:00)  #    Disclaimer  |  Comments [1]  | 
 Thursday, November 29, 2007

I was fortunate enough to pop up to a special event on Silverlight at Microsoft in Redmond, WA today. Mithun Dhar, Laurence Moroney, Arturo Toledo, Adam Kinney, Ernie Booth and Jesse Liberty gave us some sweet tips on building apps and organizing a good workflow between developers and designers.

Arturo is an awesome graphical designer. Oddly, or perhaps not, I liked his presentation the best. He made the Expression products fly and gave me (a developer) good tips on working efficiently with my design team. Jesse was a close second with his fundamentals presentation - he really clicks well with developers.

The crowd was mixed with about 60% developers and 40% graphic artists. I saw the ScottGu blog post this morning announcing that Silverlight 1.1 is now named Silverlight 2.0 - between that and the hints dropped at today's meeting, it feels like Silverlight is getting ready to explode. I think I'll still remember this day very well in three to five years.

Thursday, November 29, 2007 2:53:08 PM (Pacific Standard Time, UTC-08:00)  #    Disclaimer  |  Comments [0]  | 
 Saturday, November 10, 2007

In my experiences as a software developer, its fairly normal to hear comments like the following:

  • That's too many hours
  • They don't have the budget
  • I'm not paid enough

I had the good fortune of attending a Portland XP Users Group presentation a few weeks ago by James Shore. He got off on a slight tangent and gave us (well, at least me) a simple equation to chew on:

roi

He explained that at its core, Return On Investment is represented by the previous equation. It can help explain quite a bit about the world. This was in response to someone asking about the high cost of the software development methodology under discussion that night.

If you're presented with a scenario where the value is constant, then the only way to play the game is to minimize costs. Think of a job that never changes. If it always provides the same value to a business, management will seek ways to reduce cost in order to improve the ROI equation.

On the other hand, a scenario where value has the capability for growth is much more interesting. If you wanted to make $500,000 a year then you would be challenged to deliver some multiple of that cost as a value to the business.

Here's my favorite take-away: At some point along the graph, as value increases then cost becomes insignificant. This is the place to be.

The initial cost of software can make some people squeamish. I'm certainly not one to be afraid of zeros; I'm much more interested in the value.

  • What is this solution doing for the business?
  • Is there a practice in place for tracking ROI over time?
  • How soon can it begin providing value?
  • Can it provide even more value?
  • It is possible to reduce cost and drive the equation even higher?

This is why I love my job at Pop Art. Driving value higher and then swooping back to cut costs with new technology that makes me more productive. Value will often come in several forms including cash value, brand value and community value. In any case, it all starts with that equation.

Saturday, November 10, 2007 6:11:25 PM (Pacific Standard Time, UTC-08:00)  #    Disclaimer  |  Comments [0]  | 
 Monday, September 24, 2007

Race For The Cure I popped into work early on Sunday morning for some quick volunteer work whilst le Wife was sleeping. Sometimes I like to use my powers for good. Today I was building a small feature for the Saturday Academy site.

Little did I know that Sunday morning was also the schedule date of the Race for the Cure walk/run here in Portland. I was prepared for the construction that's going on but I was caught in a serious maze trying to get to my parking garage. Several streets were blocked off for the event. After going around the block and assessing my options, I figured that I could "accidentally" go down a one-way street at this hour and get to my parking garage.

So, I get to the street and turn to go up it. About half way through, a construction dude puts a cone in the street in preparation for a big dump truck headed towards us, then looks up a me. He walks over and casually informs me that this is a one-way street. I play all wide-eyed and apologize while explaining that I'm just trying to get to the parking garage entrance that is now just 30 yards away. He stares at the garage entrance, then at my car, then back to the garage entrance. He graciously mentions that I might be able to make it if I continue on and turn right at the intersection, then go around the block and come back down properly.

I thank the nice man and continue on slowly in the early morning light. I get to the last intersection and see the garage door entrance, a mere 10 yards from my car. Instead of turning, I bolt for the entrance. I see the police car at the end of the street - this is going to be close. I make it to the entrance and zoom up the ramp. I can tell people are running after me in full chase. I get my garage ticket, quickly park and exit the building; everything seems safe. I don't see any faces popping around corners or footsteps racing towards me.

I round the block and see the next barricade that certainly would have nixed the whole deal had I heeded the instructions of the construction guy. I'm quite sure that my route was the only way to the parking garage at this specific hour and I was quite satisfied with the success of my plan. About 30 minutes later, I see the event in full swing. There's non-stop cheering for about 90 minutes with a stream of runners and walkers parading down the street. It was a nice day for it, I hope they did well. 

Monday, September 24, 2007 12:27:39 PM (Pacific Standard Time, UTC-08:00)  #    Disclaimer  |  Comments [0]  | 
 Monday, May 21, 2007

Here's the link to my slide deck and code that I presented at the Portland Code Camp. Organizing this content and presenting it was a ton of fun and great way to dive into WCF and CardSpace. My laptop had some problems chatting with the projector (guess it wasn't using WS-* protocols) so my backup plan of toting my own projector around all day proved worthwhile. I did have to run a bit and scraped a message level encryption demo and all of the OpenID demo due to time constraints. :(

Jason Mauer recorded the session though, so I'm curious to see how well it looks from the tripod.

Now I'm on the east coast and 8:30am comes a little earlier in the morning here than it does on the west coast. Its the first break in the Master WCF class with Brian Noyes and we've already had one Carl Franklin siting. Booya!! I'm hoping I can get a tour of Pwop Studios sometime this week while I'm in New London.

Monday, May 21, 2007 5:51:25 AM (Pacific Standard Time, UTC-08:00)  #    Disclaimer  |  Comments [0]  | 
 Sunday, May 13, 2007

The PDX Code Camp is next weekend, May 19th and 20th. I've been preparing a talk on how to create and use X.509 certificates. Developers need this technology for local testing of plain old ASP.Net sites, Web Services Enhancements (WSE) or Windows Communication Foundation (WCF) code.

The Windows SDK and Visual Studio.Net have some good tools for helping developers use certificates. I'll show some certificate basics, common examples of certs in action and tools that help us along the way. My goal is to get the session attendees comfortable with creating & installing certificates on their local machine in a variety of code scenarios - that seems like a reasonable task for a 60 minute presentation and 15 minutes of Q & A.

Just for fun, I worked on a local checkout of DotNetOpenID and implemented SSL for the authentication steps. A lot of the other code in the presentation is based on the excellent examples from Michele Leroux Bustamante. She does a great job of providing info on these topics for the developer community.

I have to leave for New London, CT on Sunday so I can only attend one day of this developer event. Normally, that would suck big time, but I'm also gearing up for a week long IDesign WCF Master Class at Carl Franklins house. When it rains, it pours!

Sunday, May 13, 2007 9:07:20 PM (Pacific Standard Time, UTC-08:00)  #    Disclaimer  |  Comments [0]  | 
 Sunday, April 01, 2007

The wife coaches the Knowledge Bowl team at her highschool. She really digs the higher level stuff and enjoys teaching AP math and stats classes. She comes home just completely wiped out some days but I never seen her happier than when she's teaching. She worked at a couple of internet start ups back in the day (in Chicago), has a Masters degree, a whiz at Excel functions, punches you in the belly with SQL queries and knocks your block off with scripting. She never really dug it though (except for the cash). She started teaching a few years ago and never looked back. I'm really proud of her for finding a job she loves.

Last week, her Knowledge Bowl team won the 4A Washington state title!!! She swears she had nothing to do with it, and the kids are just fabulous. I can't tell you how many times my wife has dragged me to bars for trivia night. We used to be regulars at Beulahland for trivia night. Now she has a state title to defend next year. Go wife!!

events | fun
Sunday, April 01, 2007 3:02:09 PM (Pacific Standard Time, UTC-08:00)  #    Disclaimer  |  Comments [1]  | 
 Thursday, February 15, 2007

I attended the Software Association of Oregon (SAO) event today. The Development Special Interest Group (DEV SIG) hosted a discussion about Microsoft CardSpace, the open source framework of OpenID, and basic identity management.

Stuart Celarier walked the audience through Kim Cameron's paper called The Laws of Identity that articulate seven desired aspects of a good identity system.

Microsoft CardSpace was formerly named "InfoCard". This is a joint effort to implement the identity metasystem defined by the laws of identity. CardSpace is the "identity selector" for Windows. It needs IE7 and Microsoft .Net Framework 3.0 to operate. It implements the WS-* specifications in this service.

OSIS - Open Source Identity System: This is an open source group that's involved in the identity space.

Stuart also showed a demo of a system he's been working on. It logs a user into Wachovia banking site using CardSpace.  Scott Kveton of JANRAIN presented OpenID to the SAO DEV SIG group. OpenID hopes to solve the problem of having too many usernames and passwords.

  • Single Signon for the web
  • Simple, light-weight
  • Easy to use, easy to deploy
  • Open development process
  • Decentralized

Your OpenID is a URL: http://kveton.myopenid.com/

  • OpenID comes from the blogosphere
  • Biggest problem with identity; namespace
  • OpenID solves this by using DNS
  • Your identity is a destination
  • You have a unique endpoint on the web

Scott Kveton explained how sites enabled with OpenID enable users to authenticate. Visitors type in their OpenID, and the browser redirects to your OpenID provider. The visitor makes the appropriate decision and the browser redirects back the website.

Scott's site is http://scott.kveton.com

Last week Bill Gates announced support for OpenID. AOL announced support for OpenID this morning. More companies are about to make similar announcments. Here's some interesting stats on adoption:

  • 12-15 million users with OpenIDs.
  • 1000+ OpenID enabled sites
  • 10-15 new OpenID enabled sites each day
  • 7% grown each week with new sites

Kveton also brought up "Microformats" - a way to describe data in an HTML format (contact info, social network, calendar). These can be embedded on pages. There are some interesting ways to use OpenID with these technologies:

  • OpenID + iCal
  • OpenID + hCards
  • OpenID + Social Networking (XFN, FOAP or FOAF?)
  • OpenId + Reputation (jyte.com)

OpenID Predictions from Kveton:

  • 7500 sites supporting OpenID
  • 100 million users with OpenID
  • Big players adopt OpenID

OpenID.net has a ton of info.

Scott Hanselman explained how he enabled OpenID on his blog. Hte added two HTML <link> tags to his website. Simon Willison has an OpenID enabled blog. A visitor can click Sign in with OpenID. The OpenID logo lives inside the textbox. Scott entered his OpenID in the textbox on Simon's site. Using a web service, Simon's blog discovered Hanselman's OpenID provider, then it redirected the browser to Scott's OpenID provider.

Scott's website indicates the OpenID provider is www.myopenid.com

The OpenID provider prompts Scott to authenticate. After a successful login, the browser redirects back to Simon's page and recogizes Scott Hanselman. This is how Simon doesn't need to keep track of usernames and passwords for his blog; a huge benefit.

Stuart helped explain the difference between self-insued cards and managed cards: Business Cards from Kinko's versus a card issued from Visa.

Scott Hanselman displayed a different identity selector using Firefox on Windows. The page contains an HTML <object> tag of type "application/x-informationCard". It wasn't as pretty as the CardSpace in IE7 and .Net 3.0, but it had the same behavior.

There was some last minute discusson on "I-Name", an XRI technology (extensible resource identifier). It sounds like its still being baked.

2idi relays comments on Scott's blog. They will issue an I-Name. =kveton is Scott's I-Name. They have an DNS resolver where visitors may enter xri://=scott.hanselman/photo to redirect to his Flickr account.

Thursday, February 15, 2007 4:47:54 PM (Pacific Standard Time, UTC-08:00)  #    Disclaimer  |  Comments [0]  | 
 Sunday, October 15, 2006

I was accepted to speak at the next Code Camp, the weekend of Oct 28th, in Seattle! Hooray!! I thought for a little bit on (A) what would be a fun topic and (2) what do I have to say about said fun topic. I finally settled on talking about something I do on a daily basis: balancing the needs of the web designer, leveraging sufficient power of a great platform (read that as using the base class libraries and everything else given to me), along with the needs of the client and the overall budget.

Our designers at Pop Art are top shelf. They've come up with some fantastic ideas for sites. They're on the leading edge of what's possible with today's browsers and giving consideration to the downlevel browser folk.

Given that, they have some high demands on the HTML emitted by anything on the server. It absolutely, positively must be W3C compliant. It doesn't matter if its HTML 4.01 Transitional, or HTML 1.0 Strict; so long as it conforms to the given specification. Gone are the days of using menu server controls that emitted glorious reams of <table>, <tr> and <td> tags. Enough for you to knit a small blanket. Amen for the CSS Control Adapters.

The designers have a lot to say on usability too. There are just some things that developers will step right over like a country boy; where as the country boy's college roommate visiting for the weekend will stop, stare, point, hold their nose and give it a wide birth.

Enter DotNetNuke. Out-of-the-box, DNN is a developers playground. They know there's so much capability under the hood that they're (and I'm generalizing here) too busy envisioning what they're going to build next instead of rethinking the user interface that a client would need to maintain a site. That seems like small potatoes next to the glorious reams of code we can write.

So, I've settled on presenting the issues, challenges, arguments, counter-points and three-point-takedowns that we've had to address over the past 18 months with DNN. That would be a little too gloomy, so the remaining 67% of the discussion will contain some solutions that bridge the gap and keep the web site looking beautiful long after it launches. My presentation is in no way the rule; simply my experiences in dealing with this issue since I came to Pop Art in 2002. As with most things, I'm sure they are lots of ways to handle them, and I'm as open minded as the next guy; providing the next guy is sans jerk.

A basic introduction of DotNetNuke would be better served by a different session, but people who've never downloaded the bits from www.dotnetnuke.com will still get a reasonable insight into the problem sets and ways to deal with them.

My basic fear is probably the same as any other presenter who ever presented in all of presentation-land: getting slotted in the same time slot as ScottGu or anyone else in the rock star line up. What a problem to have!!   :)

Sunday, October 15, 2006 7:35:33 AM (Pacific Standard Time, UTC-08:00)  #    Disclaimer  |  Comments [0]  | 
 Tuesday, October 03, 2006

Jason Mauer's blog let me know that Seattle Code Camp is coming up at the end of the month! Ack!

I'm thinking about heading up with my buddy Kelly. I told myself at the Portland Code camp, I said "Self," that's what I call myself, "you should present at the next code camp." Well, this is the next one, but its right around the corner!

I could do the DotNetNuke presentation, but seeing as how they just incorporated combined with their proximity to Seattle, there's a good probability that a DNN big shot will be there doing a far better show than I could. I was very impressed at the last Portland Code Camp at the quality of the "simple" talks. Things that you should already know, but are fun and refreshing to go over again. For example, the Subversion discussion was really well attended and you always end up learning some new trick or insight. I love that.

I'll put my thinking hat on and see what I come up with.

fun | learning | popart | events
Tuesday, October 03, 2006 2:42:21 PM (Pacific Standard Time, UTC-08:00)  #    Disclaimer  |  Comments [0]  |