in

ExpressionBlog.com

Microsoft Expression Studio Community

This Blog

Syndication

Mirrored Blogs

Browse by Tags

All Tags » Feedback (RSS)
  • Organizing Lots of Information

    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...
  • How Accurate are Our Tutorials and Videos?

    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!
  • What I'm Thinking About April

    I've been getting a lot of mail on the lines of "When will we have Beta 2?" or "what is the release date for Silverlight" and since I can't answer those questions, and since I know that folks need to plan, I thought I'd tell you what I can know (at least to some degree) and that is what I hope and plan to do in the next six weeks in terms of producing learning material for Silverlight 2 Beta 1. So, very briefly, here are my plans for through the end of April (just in case you are interested). 1. The first week in April I'll be presenting at VS Live San Francisco. Two presentations: Introduction to Silverlight 2 Programming Silverlight 2 Data Binding I'll also try to attend the Birds of a feather lunch on Tuesday. Once these presentations are complete, I will post them here for your use and / or feedback. Presentations According to one of the more useful new sites, Tripit , I'll be flying from SF to Redmond late Wednesday afternoon, and spending the rest of the week talking with the team about Silverlight 2 and trying to uncover what it is I don't know that I don't know. Webcasts The first of the Silverlight 2 Webcasts   - Live From Redmond (not) Silverlight 2 and  Event Handling. How Do I Videos Plans for Videos in April include (among other things) interacting with databases, web services and XML, Streaming, Deep Zoom (with David Isbitski) and more. Tutorials I hope to release two tutorials in April, and as noted previously, I plan to take them out of order, that is to say tackling some advanced topics even before covering all the more introductory topics. Upcoming tutorials might include topics such as Data Templates Linq and Databases Networking Custom Controls Dependency Properties Data Binding and Databases Data Binding and Web Services Transforms and Animation Isolated Storage Advanced Templates and Parts Graphics Animation Interacting with HTML Interacting with ASP.NET / AJAX Note that I've listed 7 months of tutorials off the top of my head, so take this list as brainstorming, not as a plan. This is the opposite of announcing only when you "know" -- and is more like "here's a peek into the chaos of my thinking" Programming C# Table Of Contents My goal is to have a first draft of the Table of Contents for Programming C# (O'Reilly Media) which I will post here in case you find it interesting and to get your feedback if you would like to participate.  There...
  • More on Routing and Bubbling

    One of the readers of my earlier post on routing and bubbling was left confused about when events are bubbled and when they are not. The documentation is clearer about this in some places than in others. For example, the Mouse events documentation has this to say: There are two things to notice here. One is that this particular documentation does clearly distinguish those events that bubble from those that do not. The second is, unfortunately, that the first sentence unfortunately seems to equatebeing a routed event with bubbling. What I think it means to say is "are routed events that bubble"  The documentation shows that MouseEnter (which does not bubble) is an event of type MouseEventHandler and MouseEventHandler is a delegate for three non bubbling events: So.... we can safely conclude that All bubbling events are routed events but Not all routed events bubble ( All C# Programmers are human, but not all humans are C# Programmers * ) So which events Do and Do Not Bubble and Why? One rule seems to be that any event specific to a control does not bubble. That means that Button.Click and Slider.ValueChanged do not bubble. Wait a minute! What would it mean for Slider.ValueChanged to bubble? Where would it bubble to? What could contain a slider that could possibly do anything with the ValueChanged event?  Clearly that event needs to go to the Slider and nowhere else. Okay, what about a ListBox which has SelectionChanged. Where should that bubble to? We're beginning to see the pattern. Most of the time, it doesn't make sense for the events specific to a given control to bubble. (Clearly not all of the time - Click is a good example where you might want a control event to bubble,  but you can work around that as we did in the previous example with mouse up.) In WPF you can decide because there are three types of Routed Events (Bubbling, Direct and Tunneling). In Silverlight, for Beta 1 at least, what has been put in place is that control-specific events do not bubble and what does bubble is many (though not all) of the more fundamental events  such as MouseDown/Up/Move,  which lets you get what you want, though not always as elegantly. One of the other comments was that this "must be fixed."  I'll post my own speculations on that tomorrow, but whether or not this is changed, a few things are becoming clearer: It is possible to accomplish all the event handling you might want as implemented There certainly...