Page view counter

Please Don’t Read This Blog Post

Scott Hanselman, who has the most popular blog in the world, will tell you that if you want to have a popular blog you must never make promises – you’re certain to disappoint. I’m sure he’s right, as I’ve done so in the past (made promises and disappointed), so please don’t read this blog post because I’m about to tell you what videos and tutorials I expect to create in the next few months and we all know that the unexpected will change my plans.

Isn’t that a bit of a tautology? If it were expected, then I’d be a fool not to have planned for it. So clearly it must be the unexpected that changes my plans, even if it is just that I turn out to be unexpectedly stupid and lazy. Can  you imagine if the expected came up and changed my plans? How would I explain that?  “Sorry this is late, but just what I thought would happen did, and so I couldn’t get to it. Hate when that happens.”

The reason I have to ignore (or at least bend) Scott’s guidance is this: I’m finding there are quite a few developers who want to learn about (for example) data binding and other Silverlight topics but who would like a bit of help with some of the more advanced and/or newer topics in C# (/VB), including:

  •  Anonymous Types
  • Linq
    • Linq to SQL
    • Linq to Entities
    • Linq to Objects
    • Linq to XML
  • The var keyword
  • Lamda Expressions
  • Extension Methods
  • Web Services
    • ASMX
    • WCF
    • JSON
    • REST
  • Object Initialization
  • Exchanging data to and from ASPX pages

This Ain’t No Bell Curve

All my unscientific surveys indicate that the folks who are reading this blog and coming to this site do spread out along the spectrum of experience, but there is a noticeable clustering at two distinct points: “getting started” and “getting serious” 

I will readily admit that we (I?) have been a lot better at talking about meeting the needs of the latter group than actually doing so. 

The Next Three to Six Months (or less) (or more)

Clearly we need more videos and tutorials on…

  • Templates and Custom controls including exploration of Dependency Properties and the Parts and States Model
  • The Data Grid (and Data Binding) including interacting with Data Sources, Data Services, and the artist formerly known as Astoria
  • The Graph Controls
  • Interacting with ASP.net Pages
  • Streaming
  • Isolated Storage 

Because these topics will use many of the techniques and skills listed above (Linq, web services, etc.) I plan to create mini-tutorials in my blog covering this background material with 27  8 by 10 color glossy pictures with circles and arrows and a paragraph on the back of each one explaining what each one is, to be used as evidence against us.  

VB As A First Class Citizen

As part of my vow never to say anything political on this blog again, I will not even go near the VB/;C# debate discussion except to say that my VB book tanked, but I do like the language and I’m committed to making sure all my tutorials are in both VB and C# and that my videos have their code available in both languages. That said, the blog is in C# because, to be totally honest, it is the language that I’m more fluent in. (unlike English as you can see). (Kurt Vonnegut said “English is my second language; unfortunately I don’t have a first language.”)

I apologize to those of you who prefer VB and I’ll do what I can to make myself equally obscure in both languages.

Schedule

The developers at Silverlight Geek™ have not yet announced a release schedule, but I understand they are working hard and expect to have something for you “Real Soon Now.”  We’ll be on a RSN schedule for the foreseeable future, what has the incredible advantage of always being on time. (Have you noticed that the airlines are now 97% on time through the expedient of increasing the estimated time by 25%?)

Thank you for not reading this and I look forward to actually having something to say very soon.

-jesse

Published Thursday, November 13, 2008 9:01 AM by jesseliberty

Comments

# re: Please Don’t Read This Blog Post

To be honest, what I'd like to hear about is where the Silverlight team is on releasing fixes to the bugs in Silverlight.

It's very hard for me to care about tutorial videos when there are show stopping bugs in this technology.

Thursday, November 13, 2008 9:59 AM by wackyphill

# re: Please Don’t Read This Blog Post

wackyphill: can you articulate which bugs?

Thursday, November 13, 2008 12:40 PM by heuertk

# re: Please Don’t Read This Blog Post

Sure:

Web Services fail in IE6

silverlight.net/.../42908.aspx

Databinding Validation is broken:

silverlight.net/.../it-ain-t-you-babe-a-not-a-bug-bug-in-datagrid.aspx

Datagrid Rendering is broken:

silverlight.net/.../36559.aspx

Tooltip doesn't get its datacontext populated. Combo Boxes don't display correctly in a DataGrid, etc. etc. There are work arounds to some of these things but these are bugs. There are way more bugs in this release than I had expected to see.

It makes me very nervous about starting any real projects particularly involving a scrolling DataGrid because I never know when I won't be able to work around the bugs that exist.

Thursday, November 13, 2008 12:58 PM by wackyphill

# re: Please Don’t Read This Blog Post

There are 3 key categories of Silverlight users you need to consider.  The first 2 you mention, plus the 3rd category -- way, way past Getting Serious.  The Totally Committed in a Big Way category.

We (the Totally Committed) are actively developing in Silverlight for real products that have real schedules and need INDUSTRIAL STRENGTH software from you, plus Industrial Strength guidance for key areas.

One such key area is the PopUp.  It is the main (only?) way to do dialog boxes in a Silverlight GUI. How pervasive are Dialog Boxes?  Ya cant live without them!

I've recently implemented a variety of dialog boxes using the PopUp for a real world product largely based on Sliverlight.  When I converted to RTW the DataGrids my PopUp based Dialogs contain started generating "Catastrophic" failure exceptions.

I reported this yesterday on the Forum.

There were several workarounds on the forum, but none worked for me.  And, it was evident that many people are groping in the dark for how to best use PopUps.

By the way -- What is the recommended form for creating a Dialog Window (say housing a DataGrid, or ListBox with a text box or 2 thrown in with OK and Cancel buttong)?  

A quick, solid article on how to do this would likely aid lots of people.  Dialog boxes are critical in real world products, and pervasive.

In trying to meet my deadlines with my now crashing PopUp based dialog boxes (they worked in Beta2) has me wondering if I'll have to rewrite them!  Am I doing something to cause this behavior, or what!

Miscorsoft's Allen Chen has said related PopUp issues are known, so I'd love to see the bugs fixed AND articles on how to best create wonderful Silverlight dialog boxes.

BTW -- 2 months full time professional programming in Silverlight has me a believer that Silverlight will change the way things are done on the web.  So, despite my quest for industrial strength software, you guys are definitely on the right track.

Thanks in advance,

George.S

Thursday, November 13, 2008 3:13 PM by George.S

# re: Please Don’t Read This Blog Post

George.S:

In terms of features not present. I totally agree. Built-in support for Modal Dialogs probably ranks at the top of the list.

But, speaking for myself, new controls/features like charting, treeview, auto-complete, etc. are all wonderful things but I'd be much happier w/ a stable set of controls that I can trust first before any more new stuff comes out.

Otherwise you get lots of great tech demo material but no Live Apps you want to sign your name to.

Thursday, November 13, 2008 3:46 PM by wackyphill

# re: Please Don’t Read This Blog Post

Fascinating.

Here's what I can say... For the newbies, we will continue to provide an on ramp to the various pieces.

For the "Getting Serious" we have a number of videos & tutorials coming out.  

For the totally serious and committed who are running into advanced questions I think it is important to separate the issues you raise into buckets: (a) bugs that are about to be fixed, (b) long term bugs that have work-arounds that need documentation, (c) advanced techniques that need to be shown in videos and tutorials.  

Clearly it is that last group that belongs here, and arguably the second group as well.  In any case, I'll start work on figuring out which of those we know about, which we should know about and how to meet the need you've identified. If you have the time to drop me an email with your particular concerns, I'll identify the right folks on the team and see what I can do about each.

Thursday, November 13, 2008 5:00 PM by jesseliberty

# re: Please Don’t Read This Blog Post

Also if you have any lists of bugs that are about to be fixed, just knowing that they are going to be fixed soon would be helpfull.

I have also ran into popup bugs.  Although I was able to create a modal dialog with it.  One thing I did find unforchante about them is there is no way to find out what thier parent is as VisualTreeHelper.GetParent doesnt work on a popup.  Makes walking the visual tree (as is needed in various situations) must harder.

The kind of anoying thing at the moment is that now that the silverlight microsoft connect section is shut down we dont get the feedback directly from microsft about our bugs.  Instead the best way I have found is to post a topic in the "Report a Silverlight Bug" forum at silverlight.net and have no one reply to you and hope microsoft is paying attention.

Thursday, November 13, 2008 8:14 PM by obsid

# Dew Drop - November 14, 2008 | Alvin Ashcraft's Morning Dew

Pingback from  Dew Drop - November 14, 2008 | Alvin Ashcraft's Morning Dew

# Dew Drop - November 14, 2008 | Alvin Ashcraft's Morning Dew

Pingback from  Dew Drop - November 14, 2008 | Alvin Ashcraft's Morning Dew

# re: Please Don’t Read This Blog Post

Great material.  I'm anxiously waiting for the continuation of custom control, Parts and States video.

In the short term, following your video, I've created my own happy little grape button control  and I added a TextBlock for name (like your Change! button).  

But ...I now want to change the text in the TextBlock in code.  How do I get ahold of it?  FindName on my Textblock name comes up null.

Related problem, if I re-skin a button, I can no longer use Content to change its name.  So, I added my own Textblock in the new skin template, but now, can't get to it in code, either.

Any chance of a short blog entry on how to get ahold of these text blocks in code?

Friday, November 14, 2008 12:40 PM by Quadra

# re: Please Don’t Read This Blog Post

Quandra, you want to take a look at the content presenter.  I think I show that in one of the videos, i'll have to find it for you.

Tuesday, November 18, 2008 10:29 PM by jesseliberty