Tuesday, October 23, 2007

Free Book Chapter - Silverlight 1.1 in Action Early Adoper Open for Business!

Hello,

I am excited to announce that we have opened up early access to "Silverlight 1.1 in Action." If you have an interest in joining or pre-ordering, please click here. If you are hesitant, you can read chapter 1 for FREE through here. I feel obligate to mention that the page count is just an estimation. There may be more, there may be less. Regardless, here is my personal overview and opinions on the first two chapters.


Chapter 1
This chapter is really an overview of Silverlight and describes what I call the three "Ps" of Silverlight. In addition it provides an overview of XAML as well as a walkthrough to give you a feel for the designer / developer workflow available within Silverlight. You will need to provide you own .wmv file to get the walkthrough to work. However, I will be posting a special surprise once the full book is completed.
Personally, I feel a large majority of technical books focus on the "what" and "how", but rarely address the "why". For this reason, I wanted to address the why right off the bat. Admittedly, this chapter is not very technical (there is still a fair amount of code), however, I still feel it is incredibly valuable.
One of the questionable items in chapter 1 has been the "color" or tone. It is incredibly upbeat. Personally, that was my goal. My feelings are, if you are buying a book, you should feel good about it (as long as the content is technically correct). If you feel it is inappropriate, please feel free to post a comment on this blog.
Chapter 2
This chapter jumps right into the technical details. Throughout this chapter you will unlock the mysteries of the Silverlight plugin. This chapter will also show you how to manipulate the HTML DOM from managed code, as well as, work with managed code from script. When all is said and done, you should be able to masterfully integrate Silverlight content within your web applications. Once again, this chapter ends with a walkthrough to give you a hands on way to solidfy the chapter's content.
Personally, I originally overlooked the significance of the ability to work between the HTML DOM and managed code. However now, I view it as probably one of Silverlight's most important features. It really is that cool.


For the early adopters, let me proactively answer the question "when will the rest of the content become available?" I want to release chapters, in order. They will be released based upon the accuracy of the content in relation to future availability of Silverlight 1.1. For this reason, I cannot give you an exact date. I can tell you that there are several other chapters completed or near completed. However, because of the structure of the book, I really feel it is important to release the content sequentially.

I look forward to your comments related to the content that has been posted. The good news is, the content has not been sent to the printing press yet, so if there is something you despise, please let me know. I will review it and see if we can work something out.

I want to thank everyone that participated in the book raffle. There were 157 of you and the winners have been notified. Now, back to working on Chapter 11 of Silverlight 1.1 in Action.

Friday, October 19, 2007

Popfly info and some humor

  1. Yesterday, Microsoft announced that Popfly has officially gone Beta. In conjunction with this, the invitation approach has been removed, and you only need a Windows Live ID to use Popfly. In celebration of this, a contest for creating Popfly creations has been announced. Personally, I have been using Popfly since about May or June and I'm pretty excited about the potential surrounding it. In addition, I think it is a great tool to show to individuals when they ask about Silverlight.
  2. Dave Bost has posted the Buck Foley Speech from the IndyTechFest. Personally, I found this to be a refreshingly humorous opening to a technical event. Great Job Buck!
  3. Don't forget to sign up for the FREE Ebook Raffle!


Lastly, this blog feels like it has been a spam machine as of late. Once the "Silverlight 1.1 in Action" book is completed, I promise I will be posting some more valuable content. Thanks for reading, I sincerely appreciate it.

Monday, October 15, 2007

Silverlight 1.1 Book Raffle!

Hello,

I am excited to announce we are VERY near opening up the early adopter program for my upcoming "Silverlight 1.1 in Action" book. In celebration of this event, I have been given TEN (10) coupons for one FREE Ebook. In order to provide everyone with an interest in Silverlight 1.1 an equal chance at this content, I have decided to create a raffle, where the winners will be randomly selected on Wednesday, October 24, 2007.

In order to enter the raffle, please send an e-mail with the subject of "October 2007 - Raffle" to "chads.email.is@gmail.com". Please provide your name within the body of the e-mail. It is important that you enter the subject correctly because I will be using a script to retrieve the participating e-mails. After the winners have been drawn you will receive one e-mail. This e-mail will either inform you that you have won, or someone else has won. If you win, you will be notified and you will have 48 hours to respond. If you do not respond within 48 hours, another particpant will be selected and you will not receive the coupon.

Your e-mail address WILL be kept private. In addition, I will NOT spam you to buy the book. You will receive only one e-mail stating whether or not you have won, unless you mention in the e-mail that you would like more communication related to Silverlight 1.1 in Action.

If you do not win, don't worry, you will still have the opportunity to get the content thanks to Manning Publishing's Early Access Program. If you are not familiar with this process you can find out more here. Once the early access program has opened specifically for my book, I will publish more information on this blog.

Good luck!

Saturday, October 13, 2007

Silverlight 1.1 - IndyTechFest Presentation

Hello,

In about 2 hours, I will be presenting on Silverlight 1.1 at the IndyTechFest in Indianapolis, IN. My presentation that I am giving is available here. This presentation is ever-so-slightly different than the ones I have given in the past. During this session I am highlighting the ability to manipulate the HTML DOM via Managed Code.

Also, in relation to my book, "Silverlight 1.1 in Action", which is where the content for my presentations is pulled from, I have some EXCITING news. We will be very shortly, as in any moment now (minutes/hours/a couple of days, but not weeks), providing Early Adopter content. Once the process goes live, you can be sure that I will post more detailed information on this blog about how you can access this content. So make sure your RSS readers are up-to-date :).

I have to say, I have been VERY impressed with the IndyTechFest event. There are approximately 500 software development professionals at this event. The breadth, depth, and quality of presentations has been phenomenal. We even had a surprise visit by Buck Foley. This motivational speaker gave us his unique, and highly entertaining perspective of the topics being presented today. If you're doing an event, I think he does an excellent job of meshing technology and humor and his website is available here: http://www.buckfoley.com/.

Sunday, September 16, 2007

Silverlight 1.1 - October Speaking Events

Hello,

I have updated the Silverlight Events Wiki to show 2 upcoming events that I will be presenting at.
If you are in the Midwest area and have heard me present before, I would like to point out that these two presentations are going to present a VERY fast overview of Silverlight, however the majority of the time will be spent discussing the AWESOME potential for using the ASP.NET Futures to display Silverlight content, and one of the features that is one of my personal favorites, the ability to manipulate the HTML DOM via MANAGED CODE!

If you have the opportunity to join us, I hope you will. If you cannot, I will be posting my notes on this blog.

In addition, I felt I should inform everyone that my book (Silverlight 1.1 in Action) is coming along nicely. So far I am VERY pleased with the content and structure. I need to smooth out the transitions and content in chapters 1 and 2, however, after these chapters, I feel everything else is very smooth.
In order to proactively answer the question "when will it be available?", well, I cannot say. However, I can say that ultimately it depends on how stable the next Silverlight 1.1 public bits are. Once the 1.1 bits become available I will need to re-check the manuscript to ensure that the content is technically accurate and all of the code examples work.

I am writing A LOT of code examples, which will be made publicly available with the book. My goal with this book is not necessarily to be the first Silverlight 1.1 book (though that is definately a goal to shoot for), I am more focussed on being the first complete and accurate Silverlight 1.1 book.

Please let me know if you have any questions.

Thursday, September 06, 2007

Silverlight 1.1 - Controls!

In all of the hype of yesterday’s big announcement around the official release of Silverlight 1.0, something very exciting seemed to get lost in the mix. As it turns out, if you download the Silverlight 1.1 Alpha September Refresh there are some input controls! The refresh includes:

  • Button
  • RepeatButton
  • ListBox
  • ScrollBar
  • ScrollViewer
  • Slider

In addition, there is a little sample page that has all of the controls (screenshot below). Personally, I appreciate the non-operating specific default look of the controls, however, I sincerely hope that the finished versions of these controls have a little bit more sex appeal by default. Please!

Monday, September 03, 2007

Silverlight 1.1 - KY - Day of .NET Presentation

Hello,

On this past Friday, I organized and presented at the KY - Day of .NET. Overall, it was a great event and I am very happy with the participation from the attendees, organizers, representatives, speakers, and sponsers. Thank you so much.

As requested, the presentation I created can be downloaded from here.

For those that could not attend, you may find value in this presentation as it includes some material from the first chapter of my upcoming book "Silverlight 1.1 in Action". The material shows the number of computers that Silverlight can reach and some benchmarks related to performance.

Enjoy!

Tuesday, August 28, 2007

Silverlight - Events

Adam Kinney introduced me to the very useful Silverlight Events Wiki. This is a great way to learn about and post Silverlight related events. Enjoy!

Saturday, August 18, 2007

Silverlight - August Presentations

Hello,

Over course of this summer, Jeremy Sublett and I have been organizing a "Day of .NET" event in Louisville. I will be presenting at this event, as well as, at Microsoft's DevCares event on Silverlight. The dates and links to events can be found here:

DateLocationEventTopic
08.28.07IndianapolisDevCaresMicrosoft Silverlight In-Depth
08.31.07LouisvilleKY - Day of .NETSilverlight Up The Web


I hope to see you there. Don't be shy, feel free to introduce yourself. I look forward to meeting you.

Friday, August 17, 2007

Silverlight 1.1 in Action - The Book Cover

Hello!

Today I officially selected the cover for my upcoming book "Silverlight 1.1 in Action". Here it is:



This cover is only a draft and I anticipate the "Silverlight 1.1" text will be fully exposed in the final version. The cover is consistent with Manning Publications Co. cover scheme. I specifically chose this cover because of the fact the guy is unsheathing a sword which is
  • Awesome
  • Consistent with the theme in the first chapter, which will be available on this blog fairly soon.

I hope you like it. If you would like to know more about Manning's cover approach, the information is available here

Wednesday, August 08, 2007

Silverlight 1.0 - Beta 1 to RC1 Breaking Changes

Hello,

I apologize for not having all of my samples migrated yet. I was having some difficulties and really scratching my head. As it turns out, I have pinpointed a breaking change that I do not believe is in the SDK. The breaking change is...

The width and height properties in the createObject function call must be string values, not integer values.

I had been using integer values in my samples and it caused me a bit of confusion while I was attempting to migrate my samples. I hope this post will help you avoid the same problem.

Monday, August 06, 2007

Silverlight 1.0 - How to Show a Line being Drawn

This example is an updated version of an earlier post. For information related to this item, please review my previous post.

I apologize for the delay, my previous file hoster seems to be on the fritz. Thankfully though, it seems like the Windows Live Folder service is up an running in beta form.

Project Information
    Source Code: here
    Developed For: Silverlight 1.0 RC

Sunday, July 29, 2007

Silverlight 1.0 - How to show a line being drawn

Recently in the official Silverlight forum, several individuals have asked how to dynamically show a line being drawn. This post contains code that will animate a line to look just like the following:



The Silverlight model makes this type of animation very simple. Everything is handled within the XAML code. The XAML code looks like the following:


<Canvas xmlns="http://schemas.microsoft.com/client/2007"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Width="300" Height="200">
<Canvas.Triggers>
<EventTrigger RoutedEvent="Canvas.Loaded">
<BeginStoryboard>
<Storyboard Name="lineStoryboard">
<DoubleAnimation Storyboard.TargetName="mainLine" Storyboard.TargetProperty="X2" From="1" To="290" Duration="0:0:8" AutoReverse="false" />
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</Canvas.Triggers>

<Line Name="mainLine" Canvas.Left="5" Canvas.Top="5" X1="0" Y1="0" X2="1" Y2="0" StrokeThickness="2" Stroke="#C0504D"></Line>

<Canvas Name="playAgainCanvas" MouseLeftButtonUp="playAgainCanvas_MouseLeftButtonUp" Canvas.Top="10" Canvas.Left="102">
<Rectangle RadiusX="5" RadiusY="5" Width="95" Height="40" Fill="#9BBB59"></Rectangle>
<TextBlock Text="Play Again" FontFamily="Verdana" Canvas.Left="5" Canvas.Top="10" FontSize="14" FontWeight="Bold" Foreground="white" />
</Canvas>
</Canvas>


The steps, which are derived from the Silverlight SDK, are as follows:

  1. Create a DoubleAnimation. In our case, we are concerned about animating the line being drawn, so the following are key attributes are set:
    • StoryBoard.TargetProperty - Set to X2 because we want to make the line grow in length.
    • From - Set this value to the default X2 position.
    • To - Set this value to the end result (290)
    • Duration - Set this value to 8 seconds just to make it easy to see the line grow.

  2. Place the DoubleAnimation inside of a Storyboard. We give the Storyboard a Name so that we can access it from the client-side code-behind file. This allows us to restart the animation through an event handler associated with the "Play Again" button.

  3. Begin the Storyboard when the Canvas is loaded. This is accomplished through the use of a Trigger



Animation will be covered in Chapter 4 of my upcoming book "Silverlight 1.1 in Action".

I want to apologize to anyone who has been trying to access code samples over the past couple of weeks. I use StreamLoad to host my code samples and they have had some problems over the past couple of weeks. Everything seems to be working better now. If the problems persist, I will look into an alternative solution.

Project Information
    Source Code: here
    Requirements: Silverlight 1.0

Saturday, July 21, 2007

Silverlight 1.1 in Action - Blend

I would like to begin this post by SINCERELY thanking everyone that posted a comment on the last post. Your comments were sincerely helpful and provided valuable insights.

After reviewing all of the comments, I wanted to provide an update with the direction that I think (no guarantees) I am going to take in regards to incorporating Blend within my "Silverlight 1.1 in Action" book.

Today, I thought of a different approach which I think is a happy medium between the two options mentioned in the last post. I believe I am going to end each chapter in the first part of the book with a section called "Blending It All Together". This section will add value by:
  • Giving readers the option of learning Blend as they progress through the book
  • Keeping the focus of each chapter squarely on Silverlight
  • Reiterating chapter contents in an interactive, optional fashion.
I'm going to play around with this to see how it works, but I'm pretty excited about it. It feels right.

Also, somebody asked, "when will the book be available?" As of right now, I have completed approximately 6 or 7 chapters. Because the book is targeting Silverlight 1.1 the availability of the book will be dependent upon the timeline of the Silverlight 1.1 release. The book is targeting Silverlight 1.1 because, this is the version that provides the powerful .NET Framework. At the moment Silverlight 1.1 is in an Alpha state so it is difficult to squarely answer the "when" question.

I want to make sure I am providing quality content that you can use. I plan on providing Chapter 1, for free, on this blog very shortly. I know this does not squarely answer the "when" question, however, if I were to give an estimate, I would say an electronic version will be available in October with a printed version being available around the February timeframe. Please bear in mind this is only an estimate.

Disclaimer: The items discussed regarding the Silverlight in Action book are merely thoughts and will not necessarily be in the final version of the book.

Saturday, July 14, 2007

Silverlight 1.1 in Action - The Book

Hello!

I am currently working on a book that will target Silverlight 1.1, called "Silverlight 1.1 in Action" and I am seeking some feedback from the community. The first half of the book will address the UI elements of Silverlight, while the second half will discuss the .NET Framework provided with Silverlight 1.1.

Because the first half of the book is squarely focussed on UI components, I thought it would be nice to add some additional value to the book by explaining how to create the various UI components using Microsoft Expression Blend. The incorporation of Blend has caused some internal debate between me and myself. However, I feel that incorporating Blend is important because it may introduce readers to a new, productive tool, while at the same time, helping readers build a vocabularly that can help to communicate with designers more effectively. Essentially, for each UI element, I want to provide the following:
  • An illustration that shows the UI element that is created
  • The XAML that corresponds with the illustration
  • A walkthrough of how to use Blend to create the UI element.
My debate is as follows:

Option 1 - Provide all three items (the illustration, the XAML, and the walkthrough) for each UI component. Here are the advantages/disadvantages I see with this approach:
  • Advantages
    • Readers do not have to flip to the back of the book for Blend content.
    • Encourages the use of Blend while reading the text
  • Disadvantages
    • Takes up a lot of space. This may cause the reader to skip pages to get back into the developer focussed content.
Here is a sample of creating a MediaElement to give you a feel for how this may look in the text if Option 1 is used.

Option 2 - Provide only the illustration and the XAML in the text. Then, reference a walkthrough which is provided in an appendix, instead of in the actual text. Here are the advantages/disadvantages I see with this approach:
  • Advantages
    • Keeps the reader focussed on the developer related content.
  • Disadvantages
    • Treats Blend as a second-rate citizen (it's not, it is especially helpful if you are creating animations)
    • Causes the reader to flip between the actual text and an appendix, this searching can be annoying.
Here is a sample of creating a MediaElement to give you a feel for how this may look in the text if Option 2 is used:


Personally, I am leaning towards Option 2, however, I wanted to seek some feedback before going too far down this path. I look forward to your comments and thank you for your help!

Wednesday, July 04, 2007

WPF - Non-Rectangular Window Sweetness

Recently, I have been working on a small WPF project. It is truly an exciting project and I hope to provide more details on the specifics later. Regardless, I learned something really cool about WPF while working on this project that I felt I needed to share.

My WPF application is not an archetypal rectangular window. It has a very well designed looking interface that really makes the application look nice. One of the distinguishing features is a large image in one of the corners of Window. As an illustration, imagine the application window looking like a more complicated version of the following:



I wanted to ensure that users could only drag the window if they were clicking within the bounds of the window. This means I needed to take into account the area occupied by the green ellipse. I learned how to create non-rectangular windows through this article.

I knew I could use the Path element to define the bounds of my window. However, the following discovery pleasantly surprised me. I was able to use a graphic, which was already created by a graphic designer, and simply make the background of the image file transparent. WPF automatically created the bounds of the window tightly bound AROUND the image.

This made my life significantly simpler. I was afraid I was going to be tinkering with Paths all day long. Very sweet.

My book "Silverlight 1.1. in Action" is coming along nicely. There should be some content available for consumption soon. Thanks for reading!

Thursday, June 14, 2007

Silverlight 1.1 - Slide Deck

If you thought I was done posting content this week after the video walkthrough, you were wrong :)! I presented on Silverlight at the Indianapolis .NET Developers Association monthly meeting on June 16, 2007. I created a Point Point slide deck (complete with notes) that provides a high-level overview of Silverlight.

In addition, I also provided a walkthrough of creating a media player using Silverlight 1.1 during the meeting.

Feel free to use the content of the slidedeck, I only ask that if you use it, you please post a comment explaining what works and what didn't work with your presentation.

Personally, I feel this is a pretty solid overview especially given the time constraints of the presentation. Enjoy!

Tuesday, June 12, 2007

Silverlight 1.1 - How to Create a Media Player

During the June 16th, 2007 Indianapolis .NET Developers Association monthly meeting, I will be presenting an overview of Silverlight. In addition to the overview, I thought it might be helpful to provide a walkthrough of creating a media player using Silverlight 1.1 (the one with the .NET Framework).

In order to prepare for the presentation and provide the content to individuals after the meeting, I decided to create this webcast. Enjoy!

I apologize for the quality of the video, I'm still trying to get the webcast thing down. I wanted everything to be large enough so everyone could read the code. If anyone has some suggestions in terms of how to create a better webcast with Windows Media Encoder, please let me know. I look forward to your feedback and comments on this presentation.

Project Information
    Presentation: here
    Duration: 30:58
    Source Code: here
    Requirements: Silverlight 1.1 Alpha

Thursday, June 07, 2007

Silverlight and Halo 2

Last month, some of us played the Halo 3 beta and discussed Silverlight, I have some exciting news. I would like to party up again on Tuesday, June 19th at 9 p.m. EST to play Halo 2 and discuss Silverlight in between games. If you have an interest, please post a comment with your XBox Live gamertag and e-mail address. All comments on this blog are moderated, so I will NOT post the comment that contains your gamertag and e-mail address. I will then e-mail you giving you my XBox Live gamertag.

Also, if there is a topic you would like to discuss, please bring it along. Personally, I would like to discuss the following:
  • atypical controls that you think may be cool. By atypical, I am referring to controls beyond button, textbox, dropDownList, etc.
  • Silverlight Streaming


Also, next week I will be posting a webcast on Silverlight 1.1 so stay tuned for some real content :)