On April 9, I posted a link to my first interview on Sparkling Client. Today I'm happy to post a link to the second and final part of the interview. Also, be sure to catch their terrific interview with Dave Campbell (Silverlight Cream).
On April 9, I posted a link to my first interview on Sparkling Client. Today I'm happy to post a link to the second and final part of the interview. Also, be sure to catch their terrific interview with Dave Campbell (Silverlight Cream).
A very smart and frequent participant here wrote in today and said (paraphrasing)
…Why do you organize the Learn section around type (video, quickstart, tutorial) instead of topic/task (data binding, layout, browser integration)?
Today I had a Data Binding question…I remember seeing what I wanted on Silverlight.net but not where. I looked at quick starts, then videos and finally found it in tutorials. Doesn't it make sense to have everything about Data Binding together?
Great question! I have three parts to my answer at least:
1. We are going to be reorganizing this site in the coming months to make it more useful; that is certain. What I'm about to write, though, has nothing to do with that process.
2. What is useful for one person is not always useful for everyone else, and one reasonably difficult thing to agree on is categorization, though you wouldn't think so.
A quick social psych experiment: next time you are a party, ask someone to empty their pockets and to separate the contents into six logical piles. Refuse to provide further guidance. Once they are done, ask them to explain their piles. You'll find over time that everyone can do it, that everyone can explain in some detail why these are the logical mutually exclusive piles, but that everyone's criteria are different.
3. I have not discussed what I'm about to say with anyone else, nor am I sure that this way of organizing our tutorials and videos would be useful to anyone but me, but I did enjoy losing an hour thinking about it.
If I were using this site; I'd like total control of how I access the learning material. I'd want to be able to find the material by topic, by type or even by who created it. But I would want all these "boxes" to be transparent.
I want to know what is in them before I open them, to minimize hunting around, and I want to be sure that whichever path I take I can always change my mind.
In this truly geeked out approach, I'm asked to choose if I want to see the available information by Topic, by Medium or by Presenter, but I don't have to guess what is under each of these choices.
Let's assume that I prefer the presentations by that incredibly talented chap Liberty, and so I click on his name. This opens up the sub-menu that displays the contributions he has made, but once again I can choose to see it organized by topic or by medium (of course, just the subset he created)
Clicking on his videos presents me with the topics he has videos on, and clicking on a topic presents a list of his videos on that topic. Not bad. Not perfect, but not bad.
Where do I look if I want all the information available on using animation to display data?
How do I find out what has been added since the last time I was here, since I've already seen everything that was available?
It would be nice to have a search… but open ended searches can be incredibly frustrating when you are searching through a relatively small set of data. Guided searches might be better. Something like the Outlook or iTunes Search comes to mind.
In any case, please remember that these are the random ramblings of an idle mind, and have not even been discussed with anyone else, let alone planned for this or any other site. They are just how I think about finding all the info here. Today. For the moment.
Your mileage may vary. Void where prohibited. Contents are hot.
Today's Webcast was intended to be a smooth presentation of a topic I know cold. Not uncharacteristically, I went off on a tangent from which I never returned and ended up writing all my code spontaneously.
The good news was it was "fresher" the bad news was a few false starts; fortunately I was talking to pros who were very patient, and the key points were made:
The source code for the initial demo using radio buttons can be downloaded here and the source code for the two buttons can be downloaded here.
A complete walk-through of this idea is also covered in Part 2 of my video on event handling which also has code available for downloading.
Thanks again for hanging in with me, and I have no idea what Microsoft does to me for running so far over-time. I'm sure I'll get a letter.
As of today, I will attempt to add a brief Tip of the Day to the Silverlight Microblog every day.
If you would like to contribute (and I hope you will) please send your tips following the directions listed here.
Thanks!
-jesse
First, a quick note that I'm rapidly posting tutorials and videos and as soon as they are through our production process, I'll turn my blog to announcing them and expanding upon them.
I do want, however, to mention one of my favorite utilities, Hypersnap which I've used for about the past 7 years to capture and annotate all of the images in my books, articles, tutorials and blog entries.
It is an extraordinary utility with amazing capabilities, but the story I want to tell you is about customer service. I wrote the following to customer service yesterday (abridged…)
…The one feature that makes me crazy is the need to go through so many steps to switch between the two modes I use most often:
· Don’t capture cursor, set delay to 200ms
· Capture cursor, set delay to 4 secondsIt would be great to be able to….
62 minutes later I got back a message from Greg Kochaniak that said in part,
Hi Jesse,…I added a “hidden” command…. find “Include Cursor With Time Delay” – drag it and drop on the top main toolbar of HyperSnap… and you’ll have a one button click to enable cursor capture with extra 4 seconds delay, or disable it and no delay… I’ll leave this command there for future releases.
(The image above has the new button circled in red, taken of course in Hypersnap, by using that button!)
You just don't see customer service like that every day. I have no connection to this company, but they do make a great shareware product. Every few months I'll mention some others, but here's a quick list of my current favorites:
.
One of the reasons I took my job was the amazing people I met during my interview. It turns out, however, that the place is crawling with talent; it doesn't seem likely that an organization that large would not have regressed to the mean yet, but the dev-div continues to astound me.
I'd like to start pointing out some of the people who, I speculate, will have a lot to offer the Silverlight Developer community. These will be random "sightings" as I go, of folks who are actively presenting information to the community but who you may not yet have run across, but who you want to watch for.
Karen Corby came to the attention of a lot of folks with her brilliant presentation at Mix,
It turns out she has a great blog where you will find some terrific information on a variety of topics ranging from the Silverlight HTTP Networking Stack to her amazing photographs, to creating a FickrViewer app that nicely demonstrates the use of Styles, Templates, User Controls, Custom Controls and that also provides, ready for you to download, a Horizontal Wrap Panel, and Continuing Progress control and a Modal Dialog!
I met Karen when I was out in Redmond; and everyone I know who has met her agrees: "Amazingly high signal to noise ratio combined with extremely high bit rate." Plus she is very kind to strangers; she made a lot of time for Tim and me, and was an enormous help in our understanding the evolving Control/Template model.
I'm pleased and proud to say that my first Sparkling Client interview is now available for download; and this gives me the opportunity to recommend subscribing to this excellent new podcast.
Sparkling Client focuses exclusively on Silverlight and related technologies. The first couple broadcasts show some growing pains, but the later interviews are excellent (check out the interview with Adam Kinney!)
Don't panic! It's the same blog; I just changed the look to make it easier to use and easier to read. Hope you like it.
Stay tuned for lots of videos and tutorials over the next fortnight.
-j
My 4th tutorial Displaying SQL Database Data in a DataGrid using LINQ and WCF is now available, as is the source code and a version of the tutorial in PDF
For the moment, I recommend the PDF version as the images are clearer. We're fixing up the HTML versions of all the tutorials even as I write this.
This tutorial walks through
We will, over time have a way to provide direct feedback for each tutorial, but for now, please do send email or use the forums to ask questions about anything you read in the tutorials.
Thanks again,
-jese
I had the pleasure of making two presentations on Silverlight at VS Live San Francisco this week;
(As promised, click on each link to download the example code and slides for that session)
One of the great pleasures of attending a conference like this is talking with developers and hearing where their concerns and priorities are, and, after nearly 2 decades of presentations, still tweaking the balance between showing code in detail (depth) vs. showing more topics (breadth).
While I think I'll use more "starter" apps in my presentation in Orlando (to allow for a bit more breadth) I'm coming to believe that what folks really get out of one or two 90 minute session is
What is this for?
Why is this guy so excited about it?
How hard/easy does it look like its going to be?
How much of what I know can I continue to use?
How long will it take to learn enough?
How does this fit in with the rest of what I do?
Is this a dead end or the start of a long commitment from Microsoft?
All in all, it was a great event; I'm glad I went, and I'm now in Redmond to talk with the team and to meet with Tim about our work together (we need a name for it, first thing).
-j
I've been blogging here for about 9 months and so far I've defied my decision to consciously mixing my politics in with my work. I'm not quite sure why; perhaps to build up some credibility, perhaps because I've been so busy (Microsoft flex time: pick any 70 hours)
Unlike nearly everyone I've ever met, I strongly believe that when there is clear injustice, it is imperative to discuss that at every opportunity, especially at work, especially where folks don't want to hear it.
In November of 06, I was invited by an online magazine to write a column specifically on this topic; but the reaction was so negative and so intense, I was cordially invited to stop talking about politics. I declined. The thread linked here does more or less capture many of the common points made on this issue.
My solution was to move my politics to an oft-neglected blog and then aggregate all my blogs onto my personal portal site.
Every once in a while it breaks through, as it did in the dedication of the latest edition of my book Programming C# 3.0 (5th ed)
Dedications
From Jesse Liberty
This book is dedicated to those who come out, loud, and in your face and in the most inappropriate places. We will look back at this time and shake our heads in wonder. In 49 states, same-sex couples are denied the right to marry, though incarcerated felons are not. In 36 states, you can legally be denied housing just for being qu eer. In more than half the states, there is no law protecting LGBT children from harassment in school, and the suicide rate among qu eer teens is 400 percent higher than among straight kids. And, we are still kicking gay heroes out of the military despite the fact that the Israelis and our own NSA, CIA, and FBI are all successfully integrated. So, yes, this dedication is to those of us who are out, full-time.
So, my expectation is to stay on topic here, but if the muse moves me, I'll tag the entry appropriately so you can skip it if you wish, or read it if you are interested.
Thanks.
-jesse
PS: the Microsoft blog-editor (software, not a person) thinks qu eer is an offensive word and turns it into stars if I remove the space!. Interesting since I think it is a word of pride — not that I don't see the problem, but it matter so much how you say it and why.
A reader wrote to me today saying (paraphrased)
…let you know that the PDF version of the Data Binding tutorial identifies itself as tutorial #3 when it should be #2. As result of past experiences with Microsoft I tend to take such things as a sign of the quality control that’s been applied to the content as well – and steer clear as a result!
Here was my response (abridged to the parts that may be of common interest)
Thanks for letting me know, we'll fix that ASAP
Each tutorial was sent out to 10+ developers on the Silverlight developer team and 200+ field reps before publication. I’m pretty confident that (nearly) all technical error were caught, but remember that for none of these people is reviewing my tutorial their day job. Worse, they all know large numbers of people are seeing the tutorial, so there is the Kitty Genovese effect.
In any case, I believe the tutorials are technically very accurate, and I’m supplementing them in my blog, — but they are definitely targeted at early adopters (after all, we are in Beta 1).
If you are more comfortable with a higher degree of editing, which is perfectly reasonable, you may want to wait a few months for one of the published books on Silverlight 2, such as my forthcoming Programming Silverlight 2 which Tim Heuer and I are writing for O'Reilly, and which will be subject to O'Reilly’s usual rigorous editing standards (though I’ve never seen a book without some errata).
In any case, thanks.
The bottom line, for me, is that we have a responsibility to put out highly accurate information, but the reality is that we are working with a very large, complex framework that is changing rapidly. Please do let us know if you see anything you suspect is wrong (the forums are a great place for reporting such things) and we'll try to sort out whether it is operator error, an error in the tutorial or a bug in the framework.
Thanks!