I have left Microsoft and this blog is no longer under my control. All of the content should remain for some time however and any new updates can be found at http://davedev.net.
-Dave, September 2013
Had a great time at VSLive last week, some really good dialog went on both during and after the session.
It was good to see so many people in the session as well. I know how hard it can be to get up on that second day first session before the caffeine kicks in.
You can grab all my slides and source code off my Skydrive here. Feel free to reuse. I have had a couple requests about the tips I gave that day (expression shortcuts, visual studio extenders, VSM editing, etc). Looks like it really hit home with you guys and would be of value. To that end, I am planning on putting together a document I'll post up here that will include these things. Kind of a "Expression Studio for Dummies Developers" guide so stayed tuned for that. The days of mindless, laborious code are over for us my friends. Expression shall save us from our "enterprise" project managers and usher in a new glorious day of the web developer. We can make great user experiences too! <1-0-1> (Binary High Five)
The Skydrive folder is broken up into three parts. The first one, VSNY08_Isbitski.pptx, is the PowerPoint slides.
The second file, Isbitski-VSLive-Code.zip, contains all the code we did together in Blend, Encoder and Visual Studio 2008. It is broken up as follows.
The VSLive folder contains the Expression Blend/VS Silverlight2 Project (remember it will load just fine in both). Here is where we showed off how to use the Blend Interface. We started by creating a nice black space background and then added a glowing orange sun flare in the bottom. Yes, I'm a SciFi geek! Start with some fun, sprinkle on some UI Tips, and then go straight to the meal of storyboards, brushes (gradients and how to change the direction fill), reflections, transforms and events. I also showed how you can save anything right in Blend to be a XAML resource. We did this for our color gradient and Blend took care of saving it to the XAML file as well as making it available in the UI to choose from.
Next up is the Expression Encoder 2 output folder where we recorded a live video of me on stage and then through in some markers to fire off events later. We also showed off how EVERYTHING in xaml is an element, even video, so we can use the same reflection trick (scalar transform) when it comes to video as well. The lighting was a little dark on stage that day and so I look like a floating head.
The VSLive-FunWithVideo folder contains the Blend/VS Silverlight2 Project where we took the video we encoded and had some fun with it.
Here is where we created our own control based off one of the out of box buttons. We then added events by clicking in the properties of the button in blend and having it stub out that attribute in the xaml. This enables you to stub out all the events in the xaml itself for later editing in the codebehind. They wind up looking like this in the code.
This was also a great example of how video is just an element in xaml and in order to play it we only need to call a Play or Pause event. We can also get information about that stream to decide if it is buffered, playing, etc. We then edited the buttons actually look and feel using the new VSM (Visual State Manager) in Blend 2.5.This let us make the button change to a nice white light when moused over as well as having it slowly fade back to black (0.3 secs with the slider control) when we moved away.
Since we made sure to save this control's styling as a resource in Blend again we were able to "skin" any new controls by telling them to use the BlackButtonStyle.
Lastly, we showed off how easy it is to capture the markers we embedded in the video stream. We did this by adding the event through Visual Studio (instead of Blend this time) and then set a debug point to handle the event.
We could put any type of code into this event, make the video shrink in size for example or move ui elements off or on to the stage, it is very powerful!
Next, the VSLiveIntegration and VSLiveIntegration_Web folders showed how you can easily add Silverlight content to your existing ASP.NET investments.
We started off by using the ASP.NET AJAX Web Control that allows us to place Silverlight content onto this page. We also discussed how to deploy Silverlight applications to your existing webforms. In this example we only need one file, the VSLIVEINTEGRATION.XAP (Xaml Application), which we opened to show it was just your standard zipfile. We then went old school and added a standard ASP.NET Listbox control that enabled Postbox. Wow did it take us back to see that listbox posting the full page to the server every time we clicked. =)
Lastly, I showed showed off some of the new extender support in VS2008 by adding a DropDownShadow AJAX control to the existing ASP.NET Listbox. ASP.NET Web Controls, ASP.NET AJAX Controls and Silverlight all in one place living happily together.
To wrap things up we had some fun with Silverlight DeepZoom. You can grab that zipfile off the Skydrive here.
We started running off a full screen DeepZoom project I had created the night before. The only modifications I had made to the DeepZoom composer output was to change the resolution to 1024x768 from the default 800x600. In this project we start off looking at a beautiful view of the Brooklyn bridge. As we zoom in close we see a bill posted. Upon further inspection we notice that it is the VSLive brochure and if we zoom in closer it has info on my session. We then opened up the project in DeepZoom Composer (Aug 4 build) and added a new image ourselves that we were able to zoom in on. Unlike previous builds of the composer where I had to code my own, the Aug 4 build will actually generate all the code you need to do the mouse handling.
Extra credit for anyone who can spot my daughters riding on the golfcart. =)
Hopefully after this session (or reading this post) you have a better idea of how easy it is to create some compelling RIA experiences using Silverlight. Even if you do not come from a designer background it is worth checking out Expression Studio. The frustrating days of having to CODE an interface our boss/users will love are over. We can now DRAW it. Have fun!
By now you probably have heard about the $300 million dollar add campaign Microsoft will be undertaking.
As in all things on the Internet – there is a lot of buzz around what that money will be spent on. Most of which are wrong. For example, your typical Internet-savy user (who are the ones reading this blog or who know how to post a comment on YouTube) are not the audience for this campaign. The campaign is also not about “Getting back at Apple” or Windows Vista. What do you mean Dave, then what is it about? This campaign is about getting back to basics – reintroducing Microsoft as a consumer brand.
When I look back at my career as a Microsoft developer I can remember a time 10 years ago when people laughed at Microsoft in the enterprise. I would talk about things like Windows NT (a Windows server? LOL you can’t be serious that is for playing video games) or SQL Server (why would we want a database run on office? LOL we use Oracle) and was constantly met with puzzled looks. What a difference a decade makes, eh? I could write an entire book on some of the exciting innovations that have occurred on top of our Enterprise product offerings and for the most part it wouldn’t change people's perceptions. That’s when it started to sync in. I would say probably 18 months ago a lot of people at Microsoft (myself included) started to realize something. We now live in an era where innovation in consumer products is what gets peoples attention. It is what gets the homepage of Time magazine or the NY Times. It is what affects stock price. It is what affects the entire perception of your brand more than anything else you do.
That is where this campaign comes in. We are talking to the large consumer audience. I know being an active user on Facebook, Forums, Blogs, Twitter, YouTube, FriendFeed, and lots of other Social Media sites I tend to think of myself as in the majority. But I’m not. In fact I am in a very small minority when it comes to the consumer market (and I’m not just talking US based either). Think about that for a sec? How many of the people you know who aren’t Internet savy know how to create a Facebook profile or make a comment on YouTube? People who aren’t sitting in front of a computer all day long. Believe it or not – this is the consumer audience. These are the people who make up a large portion of that 90%+ market share windows has.
More importantly they don’t have to be technical to have their perceptions changed. Apple has proven this. Want proof? Look no further than the Mojave Experiment. We are at a point now where your average person’s perception of Vista is not based on use but of what they saw on TV or heard from someone who heard from someone who saw it on TV. You get the idea. Why do you think companies like Coke and Pepsi spend millions a year on having taste tests?
Being a geek all my life I’ve always believed technology would change the world. I saw that years ago with the rise of the Internet, I see it today when I walk down the street and am surrounded by mobile devices. I see it when I work with doctors and hospitals to better aid in patient care. And, I see it online when I can connect with people in a different country and surprisingly find common ground. Part of the reason I work at Microsoft is taking that wonder of technology and bringing it to everyday people. Sure, there are some really exciting consumer innovations right now. The next version of Windows is coming. The next version of Windows Mobile is coming. This stuff is really just the tip of the Iceberg though and it all begins with a visit to the local mall’s Shoe Circus. Churros, Clown Club cards, people and common ground. Say hello to your old friend Microsoft. Where do you want to go today?
Oh, and one word of warning. You’ll probably want a Churro pretty bad afterwards. I hit the mall last night to get one.
<Homer Simpson> Mmmmm, Cinnamon. </Homer Simpson>
I can hardly believe two months have passed already since I blogged about being at VSLive. If you are in the area, feel free to drop in on my session Tuesday morning and say hello.
Looks to be a lot of great sessions going on. I just love dev conferences - the vibe, the discussions, and of course the chance to get out of my house for a few days without changing any of my daughters' diapers. =)
See you there!
As mentioned previously, the Gates/Seinfeld ad campaign has kicked off. There was some mixed reactions to the first episode I don't think people really got what it was all about. I even talked a little about that here. With the newly released second episode things are starting to come together.
And, surprise it is funny and people are looking forward to more. Got to love Bill's backpack too - WHGIII (William H. Gates the third) with the windows logo on it. LOL - too funny.
Like this quote from Engadget:
Check out the video for yourself at Microsoft.com/Windows.