Author Archives: Brian Whaley

Unknown's avatar

About Brian Whaley

Technologist, Digital Transformation Professional, User Experience Champion, Landscape & Macro Photographer, Avid World Traveler, Advanced Open Water Scuba Diver, Enthusiast of Home-Cooked Food

Mix08 – Keynote 1 – Ray Ozzie, Scott Guthrie, and More

Ray Ozzie

Ray Ozzie kicked off the Mix08 conference with launch announcements.  New Beta1 versions have been released of Internet Explorer 8, Silverlight 2.0, IIS 7, Windows Office Live, SQL Server Data Services, and a New Expression site (expression.microsoft.com), just to name a few.  Ray focused on the impact of Content, Commerce & Community on Microsoft’s strategy.  He discussed the shift to Utility Computing – the iea of Business services to have servers in the Internet Clout that host Exchange, SharePoint, Office Suite, etc. instead of in the data center.  There will be a new focus on software’s impact on advertising, which is very exciting.  Another idea that Ray Ozzie discussed was the Web as a hub.  People will move away from the idea of “My Computer”, and towards a collection of devices that are connected and aware of each other via the web.  Software and services will be more loosely joined, to add reusability.   He discussed 5 different areas of focus – connected devices, connected entertainment, connected productivity, connected business, and connected development. 

Scott Guthrie

Scott Guthrie covered the more technical side of the keynote.  He outlined the topics he would be covering – Standards based web development, and 3 Silverlight topics – UI, TCO, and Monetization.  He also announced a bit of a roadmap for ASP.Net.  New components to come are ASP.Net MVC, ASP.Net AJAX, ASP.Net Dynamic Data.  He also announced a new beta release of Microsoft Expression would be available right after the keynote. 

Internet Explorer 8

Dean Hachamovitch gave a demonstration of the new beta version of IE8.  He had a list of 8 things to share about the new IE8:

  1. CSS 2.1 – biggest impact from W3C
  2. CSS Certification – 702 test cases submitted to the W3C to verify CSS 2.1 for any browser, Microsoft has made these available under the BSD License
  3. Performance – more in line with Firefox and Safari – a huge improvement from IE7
  4. HTML 5 support – better AJAX support, connection events for page scripting, and DOM storage
  5. New Developer Tools – built in script debugging, style tracing, and much more
  6. Activities – new extendable in-browser services, using their new OpenService Specification.  Some examples of activities include eBay, StumbleUpon, Google Maps, etc. Just highlight the text, and activate!
  7. WebSlices – based on the new WebSlices Specification, users can subscribe to parts of web pages like an Atom feed, and track and preview right in the Favorites bar.
  8. Beta 1 available right after keynote – http://www.microsoft.com/ie/ie8

Silverlight 2

Silverlight 2 is a huge improvement from both 1.0 and 1.1.  Here are the comments I furiously recorded during the keynote:

  • Silverlight is downloaded 1.5 million times per day
  • Silverlight 2 Beta 1 is available for download !!
  • Partnership between Microsoft and Move Networks to implement Adaptive streaming – determine appropriate bit rate to use based on bandwidth and CPU usage, can switch between bit rates on the fly
  • Recently launched Windows Media Services 2008 – available free, will run on Windows Server 2008
  • IIS 7 Media Pack – ability to set a bit rate throttle per media type
  • Multi-language support – JS, VB, C#, Iron Python, Iron Ruby
  • Data Mining Support, LINK, data caching
  • Rich skinning and styling
  • Robust networking support – REST, RSS, Web Services, socket support
  • Small Download, Fast Install, 4.3 MB download, 10 seconds to install. 
  • Available on Windows, Mac, and Linux, and you don’t need the .Net Framework
  • New higher level controls are available  – sliders, calendar, Data Grid, etc. – open source for you to download (and modify if you want)
  • Unit tests for UI and Non-UI functionality in an open source license
  • SharePoint extensions to build Silverlight WebParts

Other Demos

Scott Guthrie took the opportunity to bring up a slew of Microsoft partners to give demos of some of the work they were doing:

John Harris – Silverlight Rich Advertising Scenarios

  • Added a Silverlight Ad template in Visual Studio
  • Video.show – a blueprint on CodePlex for implementing a video content site
  • Integration with Microsoft’s Atlas Solutions Atlas AdManager
  • Overlay advertising easily on to videos with lots of functionality

Ari Paparo – VP Advertiser Products, DoubleClick

  • Integrate DoubleClick’s Instream product with Silverlight
  • Define events in advertising to track user experiences and possibly deliver new content for each of them

Perkins Miller – Sr. VP Digital Media, NBC Sports & Olympics

  • Committed to putting 2200 hours of Olympics video online, across 34 sports, for 17 days
  • NBCOlympics.com
  • Combination of the data and the video
  • Ability to do Picture in Picture, Send to a Friend, 4 streams simultaneously when live video
  • Commercials are integrated right into the video

Roy Ben-Yoseph and Eric Hoffman from AOL

  • Rebuilding their online mail client in Silverlight
  • Focus on performance – just make it faster
  • Close to 50 million email users
  • Functionality is more like a desktop application than a web application
  • Demonstrated the plain black & white standard skin and easily change to the Halo 3 video based skin

Sean Dee – VP Chief Marketing Officer – Hard Rock, Scott Stanfield – CEO – Vertigo

  • Seadragon Deep Zoom Technology
  • Hard Rock is taking their collection to the web – Memorabilia 2.0
  • One image is 2 Billion Pixels !!
  • Now available on hardrock.com

Marek Reichman – Director of Design – Aston Martin

  • Control 3 aspects of the Aston Martin experience – Online, in the Dealership, and Ownership
  • Deep Zoom for interior details
  • Integration of Web, PC, UMPC, Mobile, and In-Car Computer for an immersive experience

Krista Monson – Head of Casting – Cirque de Soleil

  • 6 Resident shows, 9 touring shows, over 3000 employees
  • Line of Business HR application – Interviewing prospective performers
  • Offline functionality and synchronization
  • Review interviews and videos back at the office
  • Scott Guthrie doesn’t have a chance as a juggler in Cirque de Soleil

Scott Guthrie – WPF Demo

  • Implementation of a Physics Engine
  • Complex dynamic changes to images and videos with filters – CPU usage never above 15 to 20%
  • Demonstrates the push of work down to the Hardware (i.e. Video Card) instead of CPU usage

Silverlight for Mobile

  • Implementation of the same code, assets, skills, and tools for desktop, the Web, and Mobile platforms
  • These kind of rich experiences will be everywhere

Darren David – CEO – Stimulant

  • Silverlight application called Mixer – Where is the party at?
  • Social application for Venues, Friends, and Mood
  • Windows Mobile 6 deployed, but written on the desktop

Lee Williams – Senior VP, Nokia

  • Nokia will be delivering Silverlight on their phones

Tamir Melamed – VP of Engineering – WeatherBug

  • Leading provider of live local weather information – updated locally every 2 secodns
  • API available – API.weatherbug.com
  • same app on the phone is on the web – silverlight.weatherbug.com
  • View the radar, have it animated, hourly forecasts, daily forecasts, alerts
  • Add snow to the graphics
  • Couldn’t do any of this with Flash Light and have it perform

Wrap-up

This was a jam-packed Keynote, with lots of exciting announcements, great demos, and lots of things to come.  I hope the rest of the conference is this great!.

Mix08 – Mixing it up with a Scavenger Hunt

The Flight

Today I arrived in Las Vegas for the Mix 08 conference. After our airplane had taxied out to the tarmac for takeoff, the pilot informed us that since we were going to Las Vegas, our lucky number for the week would be 34. That was the number of planes in front of us on the tarmac waiting to take off. So we got to wait for an hour while all the traffic ahead of us took off. Ready, set, wait.

The Hotel

Got to the airport and to the Venetian Hotel just fine. Checked in, and the room was just as nice as last year, but they have upgraded it a bit. Everything looked shiny and new, and the CRT televisions were replaced with LCD TVs – three of them. One in the Sitting Room, one in the bedroom, and one in the bathroom (because you have to have a TV in the bathroom). Tested the wireless in the room, and it looked like everything is all set for a great Mix 08.

The Scavenger Hunt

I went to get a bite to eat, and bumped into Rob. After eating, we registered, and went to freshen up for the “Bring Silver to Light” event we signed up for. All we knew is that it was a scavenger hunt, and were looking forward to some fun.

We walked over to the Treasure Island Hotel, and found the Ballroom where the event was. We met the rest of the Blanchefleur team – Kerri Sweeney and Kirti Chandratreya from the Institute for Healthcare Improvement in Boston, and Michael Iantosca who owns his own consulting group eDefine, and works with them onsite. We poured over the rules, and the items we had to find in the hunt. There were lots of places to go – The Venetian, The Mirage, The Palazzo, Treasure Island, and the Fashion Show Mall. We had 14 photos to take, and 3 bonus items to find. We had to incorporate a sign with the word Silver on it, a Silverlight sticker, and a beam of light from the included flashlight. The folks from Boston had some great ideas, we had some great ideas, and really gelled together nicely. We had a few open questions, like finding a Silverlight Luminary, where can we find Elvis, and whether we would make it all the way to the Fashion Show Mall, but those would play themselves out. We took the list, and headed out onto the Vegas Strip.

Some of the benefits of the gelled team came out quickly – we had a great idea to get a picture of Elvis – Madame Tussaud’s! The manager there let us in with a discounted rate, since we were on the scavenger hunt for the conference (gratuitous pitch to Visit Madame Tussaud’s at the Venetian Hotel).

The most interesting thing that happened to us was while we were walking around the Venetian, I spotted Scott Hanselman coming down the escalator. I immediately yelled out, “Hey! There’s Scott Hanselman! He can be our Silverlight Luminary” He turned around and walked over. We plowed through the awkward moment and told him the whole story of our scavenger hunt. We had to convince him that this was for real. He kept saying, “All I want to do is register for the conference.” He let us take his photo with the Silver sign, and we helped him find the registration booth. Thank you, Scott, for your graciousness.

We took the photos back to the Treasure Island Ballroom, struggled with the Silverlight app that wouldn’t play nice, and had a few beers. We laughed about our experiences, about the other teams that took themselves too seriously, and wondered if we would win the big prize. Either way, we made some friends, saw Las Vegas, got some fresh air, and had a great time.

The Update

The Prizes awarded for winning the Bring Silver to Light Scavenger Hunt included free Microsoft software and a 8GB Zune. Unfortunately, the Blanchefleur team did not win the grand prize. We also did not win the second place prize. And, we were not one of three teams to tie for third place either. We didn’t get anything. But we all had a lot of fun.

Ideas on Ideation

Ideation is a hot topic lately.

Wikipedia defines ideation as “the process of forming and relating ideas. It is a concept utilized in the study of New Product Development, creativity, innovation, design thinking and concept development.” The important part of the definition, however, is “As part of the move into Enterprise 2.0, usage of ideation in the product innovation process has become an integral element. In this context, employees or customers are invited to participate in the ideation process, via a web portal (open on the internet or intranet), where they can suggest new ideas, rate other ideas, and collaborate with the entire community in the process of ideation.”

Ideation can go too far, though. IBM has used the concept of ideation in an advertising campaign called “Stop Talking, Start Doing.” Two particular commercials stand out, one with ideators (is that a new word?) lying in a conference room, and one involving an ideation superhero.

The reason it is hot is because of a trend to enable those inside the company with a tool for collecting and implementing ideas. Dell’s IdeaStorm and Ubuntu’s Brainstorm are great examples of how a technology can enable ideation. So I decided to do a bit of Digging (just a little bit of foreshadowing there) on Google and found a number of Digg-like clones that are available. They are either open-source or hosted solutions.  Check them out:

My Most Useful Programming Development Tool Ever

The most useful development tool I use makes me more productive on lots of tasks all day long.  I can open just about anything I am working on, and get the job done fast.  It applies colors sparingly to my work, and helps me identify mistakes.  It helps me multitask, working on many things at once.  It understands dozens of different languages with ease, all at the same time, and you can add more very easily.  It has all the qualities of a developer who embraces open source solutions – it is fast, cheap easy to use, and available for download any time on SourceForge.  I have tried its competitors, but this one stands out among the crowd.  It was recommended to me by a colleague, and switching over was very easy.  My most useful programming development tool ever is Notepad++.  I have used the standard Microsoft Notepad, and I have used TypePad, but Notepad++ is head and shoulders above the rest.  Give it a try.  You will convert too. 

Disagree?  What is your most useful programming development tool ever? Leave a comment and be heard.

On The Road to Mix ’08

I consider myself blessed to work for a company I believe in, and in a field that I love.  Working in the field of web development is exciting.  The job is never the same.  The technology is always in flux.  Tomorrow will be different than today.  Bristol-Myers Squibb has treated me well.  And they are doing it again.  I am now scheduled to attend the Mix ’08 Conference at the Venetian Hotel in Las Vegas from March 5 through March 7. 

Mix 07 was a fantastic conference, and Mix 08 looks to be just as great.  Steve Ballmer and Scott Guthrie will be keynote speakers this year.  The sessions look really interesting.  I am hoping to attend the MVC session from Scott Hanselman, some of the Web 2.0 panels, some SharePoint sessions, .Net 3.5 demos, WPF and Silverlight sessions, and some of the UI discussions. 

Last year I documented my trip with blog posts after each one of the sessions.  I hope to do the same this year.  I was criticized by some of my peers last year that my blog posts from each session didn’t really count as individual posts (we have a performance objective to post a specific number of blog entries per year) but as one giant post.  We will see if my online trip report creates as much of a stir again. 

I am really looking forward to Mix again this year.  Take a look at the sessions, and let me know if there are any that interest you.  I can try to attend, attend, and bring back as much information for you as I can.

Techno-Christmas 2007

Christmas in 2007 was centered around electronics for the whole family. Invion 4″ GPS Navigation Systems were given and received for all of the cars. They were easy to set up, and work great… the only issue is that the SD card is the source of the maps. If you lose the card, or it breaks, or gets erased, the unit won’t work any more.

I bought my wife a Jawbone Bluetooth Headset. She is using that with her Palm Treo 700w, and is having some problems. The headset does not seem to reliably connect to the unit, we have not been able to transfer an existing phone call to the headset, and the voice dialing doesn’t seem to work. If I turn the headset on, make sure it connects to the Palm, and dial directly on the phone (or answer an incoming call), everything works great. The sound quality is really good, and the noise cancellation does a fantastic job. I think I wanna try the unit on another phone before I let my wife go to the Verizon Store for help.

Mary Ann bought me the Toshiba HD-A3 HD-DVD Player. The first thing I did after all the presents were unwrapped was hook this up to the television I have in the basement. The DVD player came with two movies, and I dropped one in and sat riveted to the screen. I bought my Panasonic 42″ Plasma TV about 4 years ago now. At the time 1080p was way too expensive, so I settled with 1080i. The DVD player is compatible with both 1080i and 1080p, and connected easily to my system. I even tried a standard DVD movie, and the DVD player up-scaled the picture pretty good, too. My complaints about the player are not really with the player itself, but with the format. News that Warner Brothers announced it would be aligning with Blu-Ray instead of HD-DVD rocked the CES Conference. The price of the player, less than 2 weeks after Christmas, has fallen from $299 to $129. Blu-Ray has now captured 93% of the Hi Def market share. now my player, and the movies I have received with it, are obsolete, and it is less than one month since they were purchased. I am now a victim of the BetaMax Syndrome.

With the television, audio receiver, cable receiver, DVD recorder, Playstation 2, and VCR to operate, and now adding the new HD-DVD player, I was lost in a sea of remote controls. I did a little research, and found the Logitech Harmony 550 looked to be a great fit. I found it on sale at a local electronics shop, and brought it home. There are a few simple steps to program the remote: 1) install the software on your PC, 2) plug in the remote to your PC via USB cable, 3) enter in each of your manufacturer and models, 4) you choose what activities you want to do (i.e. Watch TV, Watch DVD, Play Game, Play Radio, etc.), and 5) the software downloads all the profiles your remote and programs it. It was easy, and it works fantastic. It was worth every penny.

So, Santa was on top of all of our wish lists this year and delivered a 2007 Techno-Christmas under our tree.

Netscape is Dead, Long Live Netscape!

Well, it is official.  The once-popular browser, from Mosaic through Netscape Navigator and all of its Mozilla variants, fought in the Browser Wars from 1994 through 2008, and is now throwing in the towel.  My once-favorite browser has finally fallen under the weight of Internet Explorer (and Firefox, too, I suppose). 

AOL announced on December 28, 2007 that as of February 1, 2008 they will no longer be providing Netscape Navigator.  Oh, how the might have fallen.  I found out about this on Engadget – Netscape finally bows out, browsers no longer supported, but you can read about it on the Netscape Blog – End of Support for Netscape web browsers.  The Browser Wars will continue, but without one if its original participants. 

Book Review – How Would You Move Mount Fuji?

Over the holiday break I decided to tackle some of the books that I have stacking up next to my bedside.  One of them was How Would You Move Mount Fuji by William Poundstone.  This was a book that I know some of my colleagues had read already, and they recommended it highly, so I decided it was my turn. 

The book was a quick read.  The author kept my interest with not only the topic, but also with his concise explanations and his witty comments. 

Poundstone describes the history of the intelligence tests, and how it was developed.  They were used by our military to determine qualification for different job roles.  This led to the popular use of intelligence tests in the corporate world, particularly in the use of Silicon Valley.  During the civil rights movement, intelligence tests were determined to have a racial bias in the questions, so were banned as a hiring practice by the federal government.

The ban of intelligence tests did not deter those types of questions from remaining in interviews, however.  Looking for more people with minds like Bill Gates, puzzles made their way into the interviews at Microsoft.  They have popularized the use of logic puzzles and impossible questions.  Poundstone also describes the grueling day-long series of interviews at Microsoft and how you are rated throughout the process. 

My most important takeaways from the book was these nuggets of golden advice –

  1. When the technology you use is changing rapidly, you must hire for problem-solving stills, not just for the technology.
  2. A bad hiring decision is likely to hurt the company more than a  good hiring decision will help it.
  3. If you ask puzzle questions in your interview, make sure they are worth the effort by asking yourself these two questions:
    1. Are you willing to hire someone because of a good answer to this question?
    2. Are you willing to reject someone because of a bad answer?

I highly recommend this book to any hiring manager who plans on asking any puzzle type questions.  I also think the book adds insight into the overall interview process, even if you don’t plan on asking them that type of question.

Have you read the book?  Do you have an opinion on puzzle questions in interviews?  Leave me your feedback and let me know what you think.

The Lost Art of Debugging – Part 3 – Things To Do

As I have said before, debugging is a complex and time consuming process. I have outlined 10 resources for debugging, and provided a primer for things not to do when debugging. Now, we get to the meat and potatoes of debugging. This is a guide of things to do when debugging. I have broken this guide into three sections – a description of the Scientific Method of Debugging, Tips for Hunting for Bugs, and Bug Prevention Methods.

Scientific Method of Debugging

This is a parallel to the Scientific Method that you learned in your grade school science class. The book Code Complete by Steve McDonnell outlines this methodology to debug your applications.

  • Stabilize the bug by identifying the simplest test case that reproduces the error
  • Locate the source of the bug
    • Gather data about the bug and its behavior
    • Analyze the data regarding the bug
    • Form an hypothesis about the bug
    • Write test cases that would prove or disprove your hypothesis
    • Run the tests and prove your hypothesis, or begin again with a new hypothesis
  • Fix the defect
  • Test the fix with all of the new unit tests you have written
  • Continue to look for similar, cascading, or peripheral errors

For a more detailed breakdown of the Scientific Method of Debugging, read Code Complete by Steve McDonnell.

Bug Hunting Tips

These tips for finding bugs, broken out into different areas, will help you narrow down where your bug is.

General Tips

  • Be sure to save the original source code
  • Be sure the fix the problem, not the symptom
  • Make one change at a time
  • Check and Double Check your fix
  • Consider the possibility that the bug is generated from multiple sources
  • Divide and Conquer
  • Check other places where bugs have existed
  • Check other places where code has changed recently
  • Compile the application again

Logging

  • Insert Trace, Print, or Alert Statements to help track the bug
  • Create a logging methodology to trace the application
  • Check the Log Files of the servers, etc.
  • Search the web for the stack trace

Unit Testing

  • Design By Contract
  • Write unit tests that cause the error
  • Try to reproduce the bug in different ways
  • Try boundary cases and special cases

More Complex Methods

  • Recompile with a different compiler
  • Create a mini version of the application
  • Sequentialize the Parallel to see if it is a timing or resource issue
  • Try the code in different environments (local, dev, test, prod, other developers’ machines, etc.)
  • Grab someone else to talk through the bug without looking at the code (explaining the problem may trigger some ideas)
  • Do a full, in-depth code review on the broken code

Last Resort

  • Rewrite the whole section of code that is causing the bug
  • Take a break for a few minutes, or an hour, or until the next day, to give your mind time to process the data

Bug Prevention Methods

These are things that you should be doing during the planning and development of your applications that will help you identify, fix, and test your bugs after you are done with development.

  • Identify and track consistent bug types within your own code
  • Introduce debugging methodologies early
  • Implement loose coupling techniques
  • Implement Information Hiding Techniques
  • Write a regression test that tests the bug you just fixed

So… these are some different ways to attack debugging. Are there methods that have proven themselves that you have used? Do you take a different, more unique approach to debugging? What have your experiences shown to be your best practices? Please leave your feedback and let me know what you think.

The Lost Art of Debugging – Part 2 – Things Not To Do

Debugging is a complex and time consuming process.  In my last post I listed 10 Resources for Debugging, both web sites and books, that every software developer should read to keep their debugging skills sharp.  Knowing what not to do is just as important as knowing what you should do.  Here is a list of things not to do when you are debugging your application

  • Don’t guess what the problem is
  • Don’t dive into making changes without a plan
  • Don’t code right away without a thorough analysis
  • Don’t fix the shell of the problem, not the problem itself
  • Don’t trust line numbers in compiler messages
  • In fact, don’t trust the compiler messages at all
  • Don’t ignore the value of automated unit testing
  • Don’t delete the original code
  • Don’t ignore recent changes to your application
  • Don’t ignore resources available to you, like the Internet or the Library

This post is a teaser for the one that is to come – what thins should I do when debugging?  Is there a more formal process for debugging?  What steps should I follow?  What things should I look for?  What place should I look?