November 2007 - Posts
Today Scott Guthrie (affectionately known as ScottGu) made a series of announcements about the evolution of Silverlight.
This blog entry won't repeat those points but will build on them to discuss the support that I will be lucky enough to be able to provide between now and RTM.
First, the one thing that I've heard at every presentation is that the community needs to know two things: when is Silverlight 1.0+ coming and what will be in it. Today we were able to give pretty strong answers: There will be a beta with a go-live in the first quarter of 2008 and it will include a lot of great stuff (see Scott's blog entry for the complete list). These features will be supported by updates to a free Visual Studio 2008 tools update that will work with VS Pro/Standard and Express.
The new Silverlight is a significant enough step that we've renamed it Silverlight 2.0.
When we release, we will also provide a series of "How Do I" videos so that you can get up and running immediately with each new release.
In addition, Scott will be starting a blog tutorial series in a few weeks on building 2.0 applications. He has agreed to bring me into that process so that I can support these tutorials (within the limits of what we are saying publicly) and so that, over time, I can continue the tutorials moving forward. (From a personal perspective, it just doesn't get any cooler than that!)
More very soon...
I've added two slides to just about every presentation I give on programming Silverlight.
The first is labeled "What you want me to show you...
The second is labeled "What I'm going to show you...
Because Silverlight is capable of delivering extremely rich client side experiences, developers are, naturally, eager to learn how to create beautiful, engaging applications. The problem is that we don't yet have a drag-and-drop-Masters-Of-Fine-Arts control.
The reality is that some aspects of web sites will be built by designers, some by developers (read: coders) and some by a new breed of web-developers who have skills in both camps.
For a lot of us, though, coding for Silverlight will be about.... coding! And that means understanding the architecture of a Silverlight application (how does the XAML file relate to the event handling code file, and how do they relate to the rest of the application) and then doing what we've always done: making the application and business logic work.
The good news (or at least I think it is good news) is that to be a good Silverlight programmer, we do not need to suddenly become great User Interface / Vector Graphics designers. We don't want to deliver product that look like they were designed by a 4 year old, but writing world-class code is a full time job; creating world-class beautiful pages is, arguably, a different full time job.
To do our jobs, we need to understand the fundamentals of XAML, and the best way to do that is to look at fairly simple XAML, whether it is written by hand or by a tool such as Expression Blend. That is why I tend to demo with triangles and Little green men.
Having said that, programmers can make tremendous use of Expression Blend and I hope to begin a series of videos in which I use Blend from the perspective of a developer - creating (for example) buttons that look much nicer than I could code by hand and in much less time.
More on that idea in a post very soon.
I just returned from a wonderful trip to Huntsville, Alabama where I talked to the Huntsville User Group about programming Silverlight (focusing on event handling and animation, with a quick introduction to hyper video).
Best line of the evening came from a member of the group, when I apologized for talking too fast (my regional prejudice was showing). He said, "It's alright; we listen faster than we talk..."
The interest in both 1.0 and what comes next was very high, and the level of technical sophistication in the room was stunning (though it shouldn't be, given that many of the folks in the room were engineers for the aerospace industry).
The talk "after the talk" was also very interesting, with more than one person saying that once they understood how Silverlight fit in and what it could do, they were committed to using Silverlight going forward in their environment, especially because it fit in so well with what they were already doing with ASP.NET.
The drive from Atlanta was spectacular, the southern hospitality was everything I've heard it would be, and the collard greens and 70 degree weather almost kept me from flying back

On November 29, 2007 Microsoft will be hosting Silverlight 1.0 Fire Starter on the Redmond, Washington campus.
This daylong event is free to anyone who wants to learn about designing and developing with Microsoft Silverlight 1.0.
This event will be filmed, and made available on the Internet for those of you who cannot be there.
Seating was limited, but we've moved to a larger venue so it is not too late to Register
| Agenda |
|
|
| 8am - 8:30 |
Breakfast |
|
| 8:30 - 9:00 |
Introduction to Silverlight |
Mithun Dhar |
| 9:00 - 10:00 |
Getting Started With S.L. |
Jesse Liberty |
| 10:00 - 10:15 |
Break |
|
| 10:15-11:15 |
Expression Design Tools |
Arturo Toledo |
| 11:15 - 12:15 |
XAML Essentials |
Laurence Moroney |
| 12:15 - 1:00 |
Lunch |
|
| 1:00 - 2:00 |
Developer tools for S.L. |
Adam Kinney |
| 2:00 - 3:00 |
Media, Markers & More |
Ernie Booth |
| 3:00 - 3:15 |
Break |
|
| 3:15 - 4:15 |
Popfly and Silverlight |
Popfly Team |
| 4:15 - 5:00 |
Future visions & WPF |
Ernie Booth |
| Post Event |
Networking & Refreshments |
|
Microsoft Redmond Campus
1 Microsoft Way
Redmond, WA
Building 33, Kodiak Room
** Please have a photo ID with you to register onsite and park
A developer wrote to me directly, and has given me permission to quote his email and my response. Since this is an issue I'm asked about every day, I will do so without editing, except (at his request) to mask his identity:
First, thank you much for all your work to help developers learn how to program Silverlight. Thanks in advance for all that is yet to come.
This feedback is to express disappointment in Microsoft regarding the capabilities of Silverlight 1.0. I'm getting tired of hearing that 1.0 is already capable of doing nearly everything one could want to do. I know it can, because I've already used 1.0 for a client of mine.
But Microsoft has for years been boasting (correctly) how .net and Visual Studio make development quicker, easier, and with more maintainable code as well. This becomes critical as an application gets more complex due to real-world needs vs. a very fancy demo.
It is also why I believe Silverlight could easily outshine Flash/Astro/AIR for serious RIA. So I'm getting tired of hearing, even from Microsoft employees, in so many words that the benefits of using .net in 1.1 are irrelevant. I just want to express that there are other important reasons than just what is possible to do in 1.0, for anxiously awaiting to learn what is being planned for 1.1.
My unedited response follows...
I think you are completely correct. And I think we are very much aware that no matter how powerful 1.0 is, the community is anxiously awaiting the next version of Silverlight, for many good reasons, including the inclusion of the CLR, the ability to use managed code, tighter integration with Visual Studio, the availability of many drag and drop controls and so forth.
We know that it is imperative that we provide a list of what to expect and when to expect it, and we know that it is imperative that we get it right (the only thing worse than not telling folks when it is coming is to get it wrong).
I don't think there is anyone involved who doesn't want to get that information out as soon as possible, and speaking for myself I can say that my efforts to help folks see that 1.0 has a lot to offer is not a slight of hand to distract them from the fact that Silverlight will continue to evolve and improve (I certainly hope so!) but only to suggest that there is much that can be done with it right now; that there is no reason, per se, to wait for the next version before beginning to put it to work.
Those two ideas are not mutually exclusive: it is possible to put 1.0 to good use, while being eager and ready to move to the next version as soon as possible.
I've recently received a number of requests for copies of my Silverlight presentations. Here's a confession: every time I give a presentation, I start out with something like these, but I change them because Silverlight is evolving as is my understanding of what folks are interested in.
That said, you are welcome to this snapshot of my slides if they may be of benefit to you, and you may use them, change them, and otherwise spindle them under the general limitations that apply to all Microsoft slide presentations (see legal wording on final slides in each presentation)
Each of the demos referred to in the slides is documented in one of our videos which of course you are free to download along with the example code.
I hope you find this useful.
Thank you.
Jesse Standard Presentations.zip
A very patient reader wrote in a couple months ago asking when to use Expression Web and when to use Silverlight. Others have written asking about the difference between Expression Web and Expression Blend, or between Silverlight 1.0 and Silverlight 1.1, and still others about whether Silverlight will replace (pick one or more: HTML, ASP.NET, AJAX, WPF....) let alone non-Microsoft products.
I will not attempt to answer all of this in full today, but I didn't want to delay an answer one more day, so here is a quick overview; and future blog entries will dive deeper (as will videos, and so forth).
First, to differentiate 1.0 and future versions, my latest personal word on that can be seen here. I believe the folks who are finalizing the features and timing of the beta for the next generation of Silverlight are very aware of how very much the community needs this information and they are "dancing as fast as they can" (see footnote 1)
The Expression Tools are a set of design time tools for creating content. There's a quite good overview on the Expression Home Page. Here's the incredibly simplified breakdown:
| Tool |
Purpose |
| Web |
Design tool to create standards-based web sites |
| Blend |
Designer tool to create XAML for WPF and Silverlight (Developers are using it in 1.0 because the design surface doesn't quite work yet, though some of us are hand-tooling XAML) |
| Design |
Illustration and graphic design tool (creates elements for web and desktop) |
| Media |
Asset management tool to catalog and organize your digital assets (and that either leaves you drooling or cold depending what you do for a living) |
| Encoder |
Encode video, add markers, generate (if you want) starter code for a Silverlight viewer. This is the tool that most Silverlight Developers will use most often even when the design surface is fully functional within Visual Studio. Here's a quote from the site "Delivering a Web-ready Silverlight experience is easy. Import QuickTime®, AVI, MPEG, WMV, and additional media formats into Expression Encoder, fine-tune your VC-1 settings, and choose your favorite Silverlight template" |
The design surface is built into Visual Studio, but doesn't work well with Silverlight 1.0, though it will work well with subsequent versions.
Personally, I now do all my Silverlight (1.0) coding in Visual Studio 2008 (I'm using Beta 2) and eagerly anticipating the release of the final version. You'll want to be sure to download the template for 1.0 to make life easier, and we have a video on how to do this.
I will be presenting my first live web cast tomorrow, Wednesday November 14 at 1PM Eastern/ 10AM Pacific time.
The topic is Using Animation to analyze data.
Be sure to register if you are interested in participating in this live event (complete with Q&A).
Thanks.
-Jesse
The excitement about Silverlight continues in Barcelona, as shown in this short interview about Silverlight 1.0 and what comes next.
I've also talked with reporters from Italy and France and can tell you that the overall international excitement about building Rich Internet Applications with Silverlight is extremely intense.
The key is providing a clear statement of how ready and powerful 1.0 is today, and, as soon as we can, a roadmap as to where we are going in the future. There remains some confusion about both points, and I will be working hard in my blog and videos, on these issues -- especially on showing how much developers can get done right now with Silverlight 1.0
The level of interest in Silverlight at Tech Ed (Barcelona) is unbelievable!! My first session was packed, and they weren't here to see me. We filled a room with over 300 attendees after dinner.
Today's session (after lunch) is in the auditorium, which seats 4500 (if we fill that, I'm not getting up on stage!), and we're repeating today's session on Friday due to demand.
Finally, there is a third session on advanced Silverlight 1.0 slated for Friday as well. That's just mine. There are also Silverlight related sessions being given by numerous other presenters: a search of the 400 sessions finds 24 with Silverlight in the title or abstract!
Tech-ed itself is fantastic; an incredibly cosmopolitan gathering from all across Europe, Asia and the Middle east in one of the friendliest and most beautiful cities in Europe (where everyone seems happy to put up with my horrible broken Spanglish).
Here as everywhere, the only "complaint" is a great eagerness to know what will be in Silverlight 1.1 and when we'll announce. My answer is that we've not announced, but that we are very aware of how urgently the community wants and needs to know and we're working very hard to come up with a solid answer to the question.
More very soon. Hasta la pronto.