What Do I Do For A Living??

I just returned from a trip to Redmond, where I had a chance to sit down with (literally) a dozen people whom I've talked with, and exchanged email with but not previously met face to face. It was great.

(I also spent 1/2 hour with Scott Guthrie, and let me tell you, he is a blast. This is not sucking-up [I'm too old for that] he is just a gas to spend time with- he is on top of what is going on and that is because he insists on coding in every technology he is responsible for. He is also a clear believer in giving the people who work for him a lot of room and a lot of rope and seeing if they make a hammock or a noose)

The first question I was asked, by nearly everyone was (essentially): "and what is it you actually do?"  Here is how I've come to sum it up: "Many people want to figure out whether or not to use Silverlight vs. some other development technology (for example, to pick something at random, Flash, or Flex). There are a lot of folks at Microsoft who are terrific at helping them figure that out… but not me. 

Once a developer decides they do want to develop with Silverlight, that is where I come in. It is my job and commitment to create a community on Silverlight.net where developers can get the information they need to learn Silverlight, to integrate Silverlight into their development work flow, to get their questions answered and, generally to find whatever they need to be productive.

 

Code, Teach, Write

 

Before joining Microsoft, I spent the past 15 years dividing my time among three activities: programming, teaching and writing; and that is just how I intend to spend my time now: "teaching" through videos, tutorials and at events such as Mix, Tech-Ed, etc.; writing (watch for Programming Silverlight from O'Reilly Media Summer of 08), and Coding (initially example programs, but eventually considerably more than that). But now, I get to do so from the inside, looking out; it is like being a kid in a candy store at night.

One difference between me on the one hand and the Technical Evangelists and Development Evangelists on the other hand is that I work in ScottGu's  group — that is in the Developer Division and  as part of the Silverlight development team; and that (to me) makes a big difference. My hope is that this will play itself out more clearly as we move into Silverlight 2.0.

Please do not misunderstand, I have a world of respect for Tim Sneath and the folks who work for him (no joke, he is one of the brightest guys I've met) but his folks and I have somewhat non-overlapping jobs, and that is what makes this all work. Basically; I don't evangelize (at least, not on purpose)

Let The Geek Talk To The Press

A funny thing happened along the way (and, apparently this is pretty unusual). Someone decided that I should talk with the press (which, for a geek new to the company is almost weird. If you've worked for a large company you'll know that one is usually told to direct press inquiries to people who do that for a living.)  I recently sat down with the folks who make such decisions and they asked if I wouldn't mind talking with the press quite a bit more, actually. Better, they encouraged me to be open, honest and direct and (their words) never dilute my "developer credibility" by saying anything I didn't believe (not that I would, but it was nice to hear).

So, you may see me quoted in some obscure journal or other, but if I begin to sound like I'm selling Silverlight please slap me silly (preferably here in my blog) so that I knock it off.

Post Hoc Ergo Propter Hoc

Let me say it just once more and then I'll stop: my job is to help you program in Silverlight or get the help you need; it is not to convince you to choose Silverlight (or any other Microsoft product for that matter). As I used to say about my books:  I don't like Microsoft products because I write about them, I write about them because I like them. It is fair to say that I don't like Silverlight because I work for Microsoft, but that I literally joined Microsoft because of my enthusiasm about Silverlight and the Silverlight development team. I honestly believe it is the most important new technology in at least a decade, but that is a personal assessment; not one I wish to shove down your throat.

I'll stop going on about this (I'm afraid this may not be my first post on the matter) but it did seem worth repeating as I found there was some confusion even within Microsoft about what the heck it is I do.

Now, it is time I go do it.

Posted in z Silverlight Archives | Comments Off on What Do I Do For A Living??

Should I (Still) Learn 1.0?

We recently announced that we will have a Beta version of Silverlight 2.0 ready for Mix in Q1 of 2008, complete with managed code, many drag and drop controls and a host of other advanced features.

Let's be honest: just about any non-media-centric application you build in 1.0 you'll be able to build more quickly and more easily in 2.0 — so why not wait?  I think there are good reasons; but let me say up front that reasonable people can disagree. The most limited and precious resource you have is your time, and so you have to decide where you want to invest it.

When we release the Beta of 2.0 we will be providing a lot of material to absorb. It is my hope and commitment to provide videos and documentation to ease the learning and assimilation of that material, but the reality is that coming up that learning curve will be non-trivial.

One obvious argument for beginning to code applications in 1.0 today is to get ahead of that learning curve (nothing you learn in 1.0 will be wasted; even the Javascript you master will come in handy for AJAX).

Silverlight 1.0 is a proper subset of 2.0.

Second, 1.0 is not a half-baked product; what it does, it does quite well, as you can see by taking a quick look at our showcase applications. You may find that even today, a bit of Silverlight can provide your users with a vastly enhanced web experience. (uh oh… drifting off into marketing speak <slap!>)

Third, we're listening. As you use 1.0 and even the 1.1 alpha[1] you'll notice things you really want in 2.0; great – let us know. Features are definitely settling down, but they're not written in stone, and developers who are deep into coding with the existing product are going to have highly valued opinions that are going to be taken very seriously.

—

[1] 1.1 alpha will be succeeded by 2.0 beta!  We won't rename 1.1 alpha because the alpha won't be extant for very long, but forgive us the confusion of going from 1.0 RTM to 1.1 alpha to 2.0 Beta – it is a reflection of realizing how much 2.0 has grown since its original conception.

Posted in z Silverlight Archives | Tagged , | Comments Off on Should I (Still) Learn 1.0?

Coming Videos and Tutorials

After carefully reviewing the videos we have for Silverlight 1.0, I see two major gaps that I'd like to fill in the next few weeks; though I welcome your feedback as to whether you think they'll be useful.

First, I propose to create a multi-part "How Do I Start Programming Silverlight 1.0?"  My tentative outline for this series is

  • Chapter 1 – Download and install
  • Chapter 2 – Shapes and Brushes
  • Chapter 3 – Transformations
  • Chapter 4 – Animation
  • Chapter 5 – Streaming
  • Chapter 6 – Media and Encoding

Second, until now I've made a point of hand-coding all the XAML in my videos, but given that the design surface for Silverlight 1.0 is, for now,  Expression Blend and not Cider (the design surface in Visual Studio 2008)  it is time to think about how developers can make use of and integrate this designer's tool into their work flow.

Thus, I plan a series of vides entitled "How Do I Use Expression Blend as a Developer?" My tentative outline for this series includes

  • Two models for using Blend:
  • Working with Designers (Wireframe -> Code -> Integration)
  • On Your Own (Developers creating "good enough design")
  • Blend and Visual Studio: Two tools, one project
  • Creating a responsive button using Blend
  • Creating animations in Blend
  • Creating transformations in Blend
  • Modifying someone else's design and making it your own in Blend (legally!)
  • Using Encoder to simplify streaming
  • Your feedback on these ideas is very much requested and valued.

    Posted in z Silverlight Archives | Tagged | Comments Off on Coming Videos and Tutorials

    Silverlight 2.0 – Building on Scott’s Blog

    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…

    Posted in z Silverlight Archives | Comments Off on Silverlight 2.0 – Building on Scott’s Blog

    Setting Expectations

    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…

    want

    The second is labeled "What I'm going to show you…

    XAML

    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.

    Posted in z Silverlight Archives | Tagged | Comments Off on Setting Expectations

    Silverlight In Huntsville, ALA.

    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

    HuntugMenu

    Posted in z Silverlight Archives | Tagged | Comments Off on Silverlight In Huntsville, ALA.

    Fire Starter – All Day Free Event

    FireStarterOn 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

     

    Posted in z Silverlight Archives | 1 Comment

    Am I over-emphasizing 1.0?

    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.

     

    Posted in z Silverlight Archives | Comments Off on Am I over-emphasizing 1.0?

    My Standard Presentations

    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

    Posted in z Silverlight Archives | Comments Off on My Standard Presentations

    So Many Tools – So Little Time!

    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.

    Posted in z Silverlight Archives | Tagged | Comments Off on So Many Tools – So Little Time!

    Webcast November 14

    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

    Posted in z Silverlight Archives | Tagged | Comments Off on Webcast November 14

    Video from Tech Ed (Barcelona)

    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

    Posted in z Silverlight Archives | Comments Off on Video from Tech Ed (Barcelona)