First time here?

You are looking at the most recent posts. You may also want to check out older archives. Please leave a comment, ask a question and consider subscribing to the latest posts via RSS or email. Thank you for visiting!

A few of us in the Silverlight team have been talking about various things and speculating on how we think the universe works.  We’ve been wondering how people best learn at different levels and how they come to decisions on what tools of their trade to use, etc.  I had a novel idea – let’s ask them.  I’m curious if you might help us stop speculating and get a broad picture of these ideas.  If you would, that would be great and help us understand better where we need to fight for prioritization of certain resources.  Please forward this along to colleagues and not just your super-smartest friends…we all are at different levels and getting only one perspective doesn’t give a broad picture.

Decision resources

Obviously when you go about to start a project you have to decide on what you are going to use and why.  If you are looking at Silverlight, what factors into your decision?

Why did your company choose to adopt Silverlight (or choose not to)?  Was there another technology that was chosen to be better? Why/why not?

What is the most important thing in deciding if Silverlight is right?  Feature set? Existing technologies? Rapid development?  Other reasons?

Learning resources

On learning – how do you best learn?  Do you prefer “atomic” samples?  These are the ones that you can just pop in and figure out a task-based situation (i.e. how do I open a file in Silverlight).  Or do you prefer more of a “lesson plan” approach to things?  This would be a series based on a task (i.e. Build a Media Player in Silverlight).

On medium – in either types of these learning paths, what is your preference?  Video? Written step-by-step guides?  Labs?

On topics – what are the top 3 topics you expect when learning a new technology?  How do you on-ramp yourself when you know nothing about it?  Do you expect to learn the tools first?  Or jump right in to data access?

Feel free to leave comments here on this post.  I think actually asking the people who we ask to learn things will give us a better idea how to best prepare for those who haven’t learned yet…and perhaps still yourself!

This work is licensed under a Creative Commons Attribution By license.

9/3/2009 12:50 PM | # re: How you chose and learned Silverlight
I prefer atomic samples, written guides (no rewinding required) supplemental videos are cool though, I like to learn the tools first. Hope that helps.
9/3/2009 12:57 PM | # re: How you chose and learned Silverlight
I learn best by looking at full application examples. If I need to learn something small like how to use auto complete, I like documents with code samples.

Thanks for asking.
9/3/2009 12:57 PM | # re: How you chose and learned Silverlight
I prefer to learn initial concepts by video and then have some hands-on exercises that walk through a scenario. Having transcripts of the video is nice as well so that it's searchable and specific code segments can be copied easier.

I'm not real found of huge articles that go on and on about using a technology. Short and concise is where it's at.
9/3/2009 12:58 PM | # re: How you chose and learned Silverlight
I strongly dislike video tutorials as random access and search are next to impossible. Some folks really like video, though.

I also don't care for lesson plan. I suppose if I were a beginning programmer again, I would, but I just need to learn how to apply my experience to a new area.

I like blog posts on discrete topics. I don't like it when they build on each other and build a hulking demo instead of being able to stand alone.

Top 3 topics when learning a new technology:
- The "getting started" quick post that gets you up and running with "Hello World"
- Relevant design patterns
- Pointers to resources/community etc.
9/3/2009 12:59 PM | # re: How you chose and learned Silverlight
As a Flash/Flex developer, from my experience, I prefer the 'atomic' samples approach. Most of the things I've learned came from either Adobe's devnet or blogs. I think it is key for Microsoft to optimize the position of it's Silverlight 3 content in search engines, because most of the times, when I look for something on SL2 or SL3, I end up with outdated info and I eventually end up just coming to this website as a first choice ;)

As far as tutorials go, I much prefer written guides and labs to video, since it is far easier to go through them at your own pace without having to suffer through the unimportant parts (usually, there's no way of knowing what the important parts are anyway.)
9/3/2009 1:00 PM | # re: How you chose and learned Silverlight
I prefer to learn by 'immersion'. As soon as I either get or is assigned a good project, I'm in learning mode. Before that, it is nice to see the examples, but hard to see where they apply until you actually need them.
9/3/2009 1:05 PM | # How I learn and choose
Great post and thanks for asking!

Let's take these one-by-one:

Our company chose to adopt Silverlight because it seemed to be a natural fit for enriching our application and increasing organizational capacity on so many levels. We have a very Rich Internet Application (RIA) that is also Line of Business (LOB) for mobile device and WLAN management. As such, we have lots of grids and dashboards, charts, and other visual cues for providing information about tens of thousands of data points. This requires heavy AJAX for performance, but the flipside is that it also involves a lot of overhead for cross-browser compliance.

Silverlight looked like it would do two things for us: first, it would allow us to focus on building the application, not spending development cycles worrying about nuances like how IE 6 complains about binding to properties at the wrong time, or how to manage state in the stateless web world. Second, it would leverage our existing developers' skillset. We are a C# shop, so it would be very natural to develop in Silverlight.

So in deciding if it is right, in order of importance:

Customer adoption - will customers allow the plugin and run our application?
Rapid development - mobility is fast growing segment so we need blazing fast but rich, stable, and scalable iterations
Features - obviously the richer the UI, the easier it is to convey information ... the goal is to take hoardes of data and make it informative, not just a dump of bits and bytes

Personally, my order of learning preference is:
1. Let me get the bits and start knocking out documents
2. Give me some nice video walkthroughs - some of the more recent BIG applications broken out into series were VERY useful
3. Give me the book, the blog, the article, i.e. reading
4. Finally, let's get to the conference and participate

That is just me ... for our team, we do lunch and learn sessions with presentations that are well taken but most people I think love being able to see video tutorials with complete walkthroughs online combined with the ability to download the bits and build it themselves.

Top 3 topics for me:
I think the toughest part for new technologies is figuring out best practices, which obviously might not be "figured out" early in the stage, but definitely finding a consensus on best or good practices so we start out with the right structure. I must have built 16 different proof-of-concept projects fiddling with different frameworks before I felt comfortable that we knew enough to build the right architecture for our app.

The next would be toolsets because obviously we want to more faster ... but I like toolsets that empower/enable/extend a good architecture, not ones that try to dictate the architecture for me (to me, for example, data entity websites make it easy for anyone to make a nice looking website but fail horribly in the enterprise).

Finally I would like to know the inner workings. It's great to see that XAML is declarative, etc, but where is the obvious content that shows me how objects are instantiated behind the scenes? What is happening behind the scenes? Understanding what's underneath the code and in the IL and code helps us quickly determine where we may see performance issues and bottlenecks and get a jump on building the right application.

Hope this helps, Tim! I enjoyed your presentation at the Silverlight Firestarter event in Atlanta.
9/3/2009 1:08 PM | # re: How you chose and learned Silverlight
I learn by hands on experience, a good deal of web searching and MSDN class reference.
Btw regarding MSDN, I wish was easier to limit search by platform. For instance I only I might only want results related to Silverlight v2.0. Considering how many .NET platforms and versions there now are, I will often get the reference for the wrong class.

Earlier if I added "vs.95" to my search query, I'll get Silverlight 2.0 MSDN links, and vs.96 for SL3. However after RTM, vs.95 now links to SL3. (It's still a nice tip though if you need SL3 resources)
9/3/2009 1:09 PM | # re: How you chose and learned Silverlight

It's a complicated answer. Normally with anything new you look for something small and focused to investigate it realistically as a 'proof of concept'. Demos are ok but it helps to 'blood' it yourself with your own project as soon as possible to get your 'frames of references' correct. I could answer as a technologist, an ISV (i.e product) or a consultant that does custom client work - and give you three different answers to 'entry criteria' of new tech.

I've used SL3, PRISM and RIA Services for a client project based on the advantages of (a) deployment (compared to thicker apps) (b) dev productivity over pure web and (c) managed 'state' on the client (nearly all LOB apps have stateful grids, and SL is a good balance for that and finally (d) adoption, i.e. signs that Microsoft will get behind it and it won't be an orphaned set of tech for future tooling etc.

As for learning - working examples with source, and lots of them. I like the RIA Services paper and Brad's ongoing blog posts, so I guess I tend to prefer written rather than video. Not too keen on labs, as I either want 'concept' (this is where it fits, this is how we design) words/examples or access to code semi-edge case examples (i.e. this is how we bind the activity control to the data pager when using a combo) - I don't tend to learn following steps but we aren't all the same.

For new tech topics I'd want to see words around scale/performance/security, suggested patterns for non-trivial apps and things like 'what this is good for, what this is not so good for' (ideally, I know that's hard)

Hope this helps!

9/3/2009 1:12 PM | # re: How you chose and learned Silverlight
Learning: Both. Atomic samples and lesson plan. It depends on what I am trying to learn. If it is just a "how to use" a specific feature, atomic sample is enough. But if it is more involved, a lesson plan makes sense.

Medium: No question here. Video.

I am always confused at the beginning of creating a brand new site. What decision should I take. Should I build an ASP.NET site that has some Silverlight controls or should I build a website entirely in Silverlight. Then there is also the question of maturity of the product. I know that ASP.NET is a proven technology where as Silverlight is still emerging. I know that if I use ASP.NET (with Silverlight controls on few of the pages) I will get a better support from the developer community.
9/3/2009 1:16 PM | # re: How you chose and learned Silverlight
Tim I'll give you my 2 cents on the learning subject. In general, and it's always been my strategy (whether good or bad, but works for me). This applies to when teaching myself or others.

a) I always start by presenting what the problem or the challenge or the request is first. I define it clearly, so we know what we are after to solve

b) Whether by video or presentation I begin what the solution is, where it applies and how it should be approached. One of the things I like about your videos Tim, you start at top and begin to move downwards.

c) Once me (if I'm teaching myself) or others have a clear overall picture of the problem and solution, the panic mode is kind of gone. Now I begin to look at things more on atomic way to see how each piece work. What are the building blocks.

d) I then begin to see how all the pieces are working together and communicating as a whole in one application.

I can learn this way very fast, unfortunately when 90% of docs these days, just cover Properties, Methods, Evens about a complex product, it's very disappointing and frustrating going through trail and error and wasting lots of time. That's why I was asking recently, where is the doc about DataForm (a complex and composite control which behaves differently in different cases, where just a list of properties, methods and evens don't cut it).

I will not mention names, but there are teachers or trainers who get stuck on the first point and seems like they never get out to go to the next point (one extreme). And then you have others, who jump into detail and try to cover a 30 minutes video in 5 minutes (another extreme).

What puzzles me the most, is that many people who are writing or talking or making webcast, do not put themselves in the side, as how their teaching is working.

I was watching the 12 videos of Jeremy Osborne on SkethFlow last night, and he did such a great job, that I feel I can approach SketchFlow without hesitations.

There are so many great features in SL that unfortunately have not been exposed properly. I'm very grateful to you by examining this subject and trying to find a solution to a problem that is getting worst and worst (meaning lack of training materials). Thanks Tim!!!
9/3/2009 1:37 PM | # re: How you chose and learned Silverlight
Hello Tim and Friends,
I am just going to answer the learning part.
I found out that I learn faster when I read something in a written tutorial then watch HDI videos "videos without pre-bake codes".
I am currently working on some Silverlight 3 videos and I would love to hear what you think about them.
Please don't be harsh because this is my first time "I did not put them on a website yet, because I am still working on them" here are the links....

You can comment on them here, if that is ok with Tim.

9/3/2009 1:38 PM | # re: How you chose and learned Silverlight
I perfer to go Big to Small. Show the whole and then dive down into the atomic parts for specifics. A POF or reference application goes a long way here. Especially for RIA, MVVM, Prism etc. I want to see it working then be able to piece it apart and see how the bits fit together.

Learn and reference materials work the same way. Video to show the concept and blogs, samples and articles to show specifics. Its also very important to have code that can be cut and pasted as well as whole solutions. I don't want to retype everything to see something work. I'll be doing refactoring anyway to get it into my code so I dont need a lab to force me to type things to learn them.

9/3/2009 1:46 PM | # re: How you chose and learned Silverlight
Decision resources

1. Why? Ability to have a great looking RIA web app without the pain of ajax/javascript dev. VS2008 made it much easier, but you still have to fight the FF vs. IE vs. Chrome html diffs.

2. We chose to do it because I was the only dev there and that's what I wanted to do and was able to convince my boss it was a good choice.

3. RAD, yes. Seems to be an up and coming tech. Feature set yes.

Learning resources

1. How to best learn:
Atomic is good, but having top to bottom apps to look at as reference frameworks is really important. Most atomic stuff should be satisfied via documentation.
Lesson plan type series are ok, but I prefer to take an existing app, and start changing it where I need to. Breaking it sometimes teaches you as much if not more then building it via a provided cookbook.

2. On medium : Written step by steps w/ a few key screen caps are what I prefer. But it's easier to bang out a 10 minute video then have to write stuff down, but most vids don't give a good enough level of resolution, so whomever is doing the vids needs to zoom a lot.

3. Topics : Deployment, debug resources, data access/data binding. You give me those 3 things and I can work through most of the other bits.
9/3/2009 1:57 PM | # re: How you chose and learned Silverlight
as Jimmy Likness said, Customer adoption - will customers allow the plugin and run our application? Will visitors download the plugin ? or did they have it ?

I have a website and I show videos which are hosted on silverlight streaming service. I use silverlight video player. Everything is perfect except the plugin installation.. Everyone has flash plugins but not silverlight. I wish the plugin was included in windows, then no need to install.

one other thing is the out of browser option. I haven't used it yet but looks attractive.

How do I learn ?

I am reading blogs, googling my question. sometimes tutorials are very useful but mostly text sources.
9/3/2009 2:09 PM | # re: How you chose and learned Silverlight
I prefer atomic samples as well. Nice clean simple. :)
9/3/2009 2:16 PM | # re: How you chose and learned Silverlight
When starting up, videos are a great help, but transcriptions would help a lot when you need to search something up.

Atomic posts are also helpful, since mixing things up might confuse you when you only need to learn a specific topic. But learning how things connect is also necessary.

I think learning plans are a great approach, that way you know where to start and you don't end up trying to learn the difficult things first. I like Jesse Liberty's Turing Project approach since it's for the novice and the advance programmer.
9/3/2009 2:30 PM | # re: How you chose and learned Silverlight
Or even a three-day hands on workshop, but I could be biased!
9/3/2009 3:07 PM | # re: How you chose and learned Silverlight
My preference would be to be invited on a 6-week Microsoft bootcamp, and have the ability to put my head round the door of Scott Gu, Tim Heuer, and Phil Haack if I have any questions.

No seriously!

I like to learn not just by following instructions, watching videos, seeing examples, but also by reading a good reference manual and being able to recreate the example by reading the reference manual. I have to be able TO LEARN to learn.

For me, what is missing most from Microsoft's new technology is that reference manual. Most teaching is now by example. I want to be able to go back to where the Guy who wrote the example got his information and read that manual. Although, I suspect there is no such manual and the Guy who wrote the example got his information straight from the horses mouth (the MS Development team). Right Scott Hanselman?

I may even suggest that an interactive reference manual produced in Silverlight would be an interesting project. It could utilise all of the methods that people like, and above all it would give developers the start they need to think for themselves.
9/3/2009 3:19 PM | # re: How you chose and learned Silverlight
The Silverlight Community has a wide variety of resources to rapidly learn the technology. I found that the video tutorials on Silverlight portal and Laurence Moroney's Introducing Silverlight books were the best resources. The forum is another fantastic resource especially with the Community recognition as a motivation source for members to respond to questions.
9/3/2009 5:10 PM | # re: How you chose and learned Silverlight
Oddly enough, I loved your video piece on doing OOB apps, but generally speaking I find video less than ideal, since it's also hard to find via search resources.

I think the issue with Silverlight's learning curve is that some of the key concepts aren't covered adequately. The single coolest thing about Silverlight to me is dependency properties, and yet, the first book I read glossed over it in two pages. That's core to why SL is so easy and fun to develop for.

My opinion is that the marketing focus and tool split for Silverlight (Blend and VS) is a huge distraction for developers. So much has been made of it, and developers I suspect have little interest in learning another tool. Losing even a preview design surface in VS has only made it worse (I realize 2010 has it, but that's not helpful today). I've reluctantly used it because animation is a lot easier. Regardless, I hate having two tools.
9/3/2009 5:23 PM | # re: How you chose and learned Silverlight
My three phases of learning ...

If I am learning as a n00b, I like screencasts to walk me through and show the big picture that explain the basics, show me how thing are related/linked/dependent and tell me WHY.

after n00b school and into intermediate land, I enjoy 'atomic' samples approach with supporting documentation that walks me through each step, think tutorial not to be confused with a lesson plan.

Mastery, proof of concept and documented tips/gotchas

9/3/2009 7:21 PM | # re: How you chose and learned Silverlight
I think RIA.NET Services - if it continues to be designed for the enterprise in mind will be what really gets attention to Silverlight.

I'd like to see more integration with work done by Nikhil with his SilverlightFX - some abstract layers in building an application
9/3/2009 7:24 PM | # re: How you chose and learned Silverlight
I loved the last tutorial you published in www.silverlight.net silverlight.net/learn/learnvideo.aspx?video=245417
It's the pefect tutorial to learn Building a Framework for Silverlight Line-Of-Business Applications. I hope you continue doing the same thing.
Thanks for asking.
9/3/2009 8:33 PM | # re: How you chose and learned Silverlight
I read through Beginning Silverlight: Novice to Pro. It was a good intro. I like a linear progression through the basics of a new technology with lots of code samples. From there, reference materials and google specific questions should cover the rest.
9/3/2009 8:34 PM | # re: How you chose and learned Silverlight
My company is on the fence about Silverlight. There are tons of misconceptions and lots of bad info out there that I have to fight against. Our primary reason for using Silverlight is to have a unified language/environment with our other projects. The main reason against using it would be current customer adoption (although hopefully that will continue to improve).

On learning: I lean towards atomic samples but you need at least one "putting it all together" project.

On Medium: Watching a video is the bet way to catch my attention and get me excited about a new technology. However, once I'm developing in it I prefer textual tutorials that I can cut-n-paste then modify.
9/3/2009 9:13 PM | # re: How you chose and learned Silverlight
1. Silverlight just kicks butt bigtime. So no decision-making there. Once I saw it, I knew it was the future. I've always had that ability (Jeff Bezos, for example)
2. What factored in to learn it is it's the most awesome technology for the web ever, period.
3. Silverlight currently, is "the tip of the iceberg", rather than the dead-end.
4. Definately "old school" written plan, perhaps in a labcast, but more focused on the step-by-step guide with simple videos showing the results you should expect.
5. All 3 mediums, but I'm a book-learner. Explain how to do it & I'll do it.
6. On topics: I'm very anal. So I probably over-analyze the technology for way too long before I get Hands-On. I for some odd reason have to know how it works from the ground up - not just getting "something" to work. I'd love to see some sort of publication in this regard!

Kim Schmidt
Microsoft Silverlight MVP-to-be :-)
9/3/2009 11:51 PM | # re: How you chose and learned Silverlight
I'd like to learn by studying an already built complex silverlight application which shows all the main features and much more. Then I'll search the internet for details.
9/4/2009 12:24 AM | # re: How you chose and learned Silverlight
Lots of reasons why we chose Silverlight against Flash or JavaFx.

1. We are a .NET team so that made it a obvious target for review
2. Going with SL cut down the languages skills needed in the team, now all we need are XAML, C# and SQL other than the page hosting the shell we no longer need JavaScript, XHTML or CSS
3. Going with SL meant we could code share with WPF to create a choice of clients, i.e. Desktop or Web (of course now with SL3 we have a desktop option with OOB)
4. We were already doing SOA with WCF so SL was the natural choice
5. We found JavaFx to be slow compared to SL
6. Flash is still stuck in the movie world, but we eliminated it and Flex on the basis it is yet another language to learn.

I personally learn by doing, so I always look at things I have done in the past to see how I would achieve the same thing with a new technology. I maintain a community site for cyclists at vrcyclist.com and I provide it free to members on the basis that I can try new stuff at my discrtion. I started with SL by replacing the AJAX admin tools with SL equivalents.

I also like to watch videos, usually after I have tried something looking to see if there was a better way.

I usually end up teaching my team, running regular workshops so I also learn while preparing the materials.

Once published I always buy 2 or 3 books on a subject to help fill in holes in my knowledge and get views of different people.

When I get stuck I try Silverlight.net first, before a more general search on the web. I agree with a previous comment, it would be nice to see some optimisation that put relevant up to date topics closer to the top of the search listings, but I suspect that would require some major resourcing.

Source code and examples are ok, but they tend to focus on what can be done within the bounds of the product and rarely step outside the bounds. That is where your articles come in Tim so keep up the good work.
9/4/2009 1:42 AM | # re: How you chose and learned Silverlight
thanks for your examples, so here are my 5ct.

Decision resources:
- Goal: a LoB web-based app
- at first just curiosity, what SL is all about, just as an option, alternatives ASP .NET, Flash
- finally chose SL because it looks like you really did think this through + rapid development + feature set (especially data binding + styling options)

Learning resources:
Being quite a newbie to this, I prefer
- a big sample app as a lesson plan, e.g. MVVM + data binding to SQL Server + routed events; ideally: a blueprint for my task
- as a video + sources as download (that build, nice would be some info on prerequisites)
- with much less priority atomic samples, so that one can go into details

9/4/2009 2:38 AM | # re: How you chose and learned Silverlight
why you guys don't build a nice web-app like IBuySpy Portal in Silverlight? DotNetNuke is now over-engineered and slow...
9/4/2009 3:51 AM | # re: How you chose and learned Silverlight
Does anybody know where I can get a working/compilable best practice example of integating WCF with Prism? Need one please!
9/4/2009 5:29 AM | # re: How you chose and learned Silverlight
Regardless of the medium, please don't do this > "I wouldn't normally do it this way, but for the sake of time in this tutorial..." Show us the correct way! I'm willing to take my time to learn from a longer video or written tutorial, so please take your time to include production quality techniques.

Thank you, and please keep feeding my hungry brain. ;)
9/4/2009 6:25 AM | # re: How you chose and learned Silverlight
My background is hardware...25 years telephone; 15 years computers. My son started me in software development. He has coded in VB since VB4; I started piddling with VB6, but it didn't start sticking until about 3 years ago. We build in VB & ASP.Net. That led us to Silverlight.

The main reason - the look. My part includes how the customer will react. The look is what first caught my eye. Existing technology in our possession would be the second reason.

I learn best by task-based presentation; however, I like to have something with ALL the commands available close at hand. Just because John Doe did it this way doesn't mean I can't do it another way if I know the commands. I want to know what ELSE is available.

I learn best by seeing. Let me watch (Video) someone else do it, then give me the opportunity to ask questions on the parts I didn't quite understand. My son learns in just the opposite fashion - he reads thoroughly a book (or 2 or 3), then sits down and codes. We've learned to share and question each other to get a more rounded understanding.

On topics - I want the most common tools first - where they are and how they're used. Next show me the ones I'll most likely use less often, but with some regularity. Then show me the others that "no one uses" so I can see if there are those that I might want to use. Teach me the IDE and all its features, too.

Still learning at 62.... :-)
9/4/2009 6:40 AM | # re: How you chose and learned Silverlight
When I start to learn a new subject I like to watch some videos. After that I'd like to write a demo app using the the subject of the video and doing research as I go. I often use repositories like MSDN and StackOverflow for information.

I like to read blogs like yours also. Before learning a new subject, you first need to know it exist, right? It usualy raises new questions or provide new insides on various topics.
9/4/2009 9:29 AM | # re: How you chose and learned Silverlight
I prefer atomic samples rather than full 'build out this media player' type samples. I don't have a lot of free time to go through lessons like that, so I search the net for EXACTLY what I need and when I find a short, simple code sample that does it, I'm happy. I don't like digging through a whole project trying to find where it is that I need something.

Videos are great when I'm within the first couple of weeks of learning a technology. They answer things that need VISUAL explanation - how to write, build, publish an app, etc. After this, I prefer short, simple atomic code samples that give me what I need.

I am a person that enjoys what I do at work, but also learns on the job. I don't research technology at home on my own time because I just don't have the time.

So my learning style I would sum up with three words :

9/4/2009 9:31 AM | # re: How you chose and learned Silverlight
What really got me started was seeing the Healthcare demo in Silverlight shown at a TechEd booth 2 years ago. All demos before that point were not oriented towards line-of-business. This demo really showed the potential of Silverlight for LOB applications.

To get people into Silverlight demonstrate its potential as it relates to their interest by showing demos of that nature.

To learn Silverlight:
- Scott Gu's SL tutorial was a good start.
- Short articles demonstrating how to do something, including what problem it solves
- Ensure all new terms are clearly defined as they are introduced. What would help is a glossary of terms.

9/5/2009 3:27 AM | # re: How you chose and learned Silverlight
On learning : no to "automatic", that's just magic... "watch me pull a rabbit out of my hat..", now you figure out my tricks.. The clearest strategy is to have an ordered collection of steps, where I can start at the beginning and finish at the end, where I understood everything and feel like there was no magic along the way.

On medium : video's are teasers, text is king..

On topics : learning tools are not the crises.. the crises is learning how to develop an application using a new technology, thus I think that starting with learing the tools just increases the total perceived pain of adoption before addressing the real crises..
9/5/2009 10:43 AM | # re: How you chose and learned Silverlight
Boyfreind advised me to get into SL, boss wanted something shiny and modern and I advised him Silverlight. The boss'es boss doesn't really approve, though, as it requires installing a plug-in, so we make more use of jQuery and stuff.

My works in SL are more websites than applications. Why SL then? An impressive interface is super-quick and easy to make.

As for learning, nothing beats getting your hands dirty. I like short, atomic tutorials that just illustrate the topic I want (for example, "data binding", but not "making a blog that integrates with Facebook and this and that"), most importantly *scrollable*, so I can quickly access what I need and hang in there for a while (I never use videos).
9/6/2009 3:28 AM | # re: How you chose and learned Silverlight
My company chose Flash and is still going for Flex on its offline as well as online based product and application.
We are aware of Silverlight and its capabilities especially myself who is a very good Silverlight follower. I couldnt force them to adopt silverlight for the following reasons.
1) Main reason is our company has already adopted Flash/Flex to its product. Flash/Flex is already a well established product and is more stable that Silverlight which is still yet to become a very stable product. With just too many releases and too much into fixing and availability of features...
2) Silverlight couldnt co-exist with Silverlight. Atleast there wasnt an official easier and alternative way where we can still keep our Flash product and use it alongside Silverlight as we migrate or slowly convert each and every piece to Silverlight. This would enable smoother transition towards adopting Silverlight from Flash/Flex. I couldnt impress them on the managment with this. As microsoft is reluctant on the point of allowing Flash to exist with Silverlight.
3)An easier way to convert our Flash products into Silverlight. Offcourse there are some upcoming products that claim they can convert flash to Silverlight but I dont think it completly works for a fully fledged actionscript application.
I prefer learning things by following webcasts which have been the most useful and handy way to learn. They also provide codesamples and downloadable video of the webcast. I suggest every blog written has a easily downloadable PDF of the same as well. A sample video of the implementation of the blog written will be a definite bonus as most of the times blogs might miss out a step or two which will leave Novice guy in middle of no where... So in cases like those he can always refer to the Video and code samples. And lastly when I say a readily available pdf or a word document of the blog. I ask for it coz most of the time people may not be connected to internet. So in cases like those one would really want to quickly download the content of the blog. So avoid the labour of copying entire content into word or pdf if the content creators would make it available it would be fantastic...
A simple business application like the one from Brad's which gives a very nice step by step with links to Video webcast as well and availability of code samples is what I would recommend everyone to follow.
Offcourse Tim your blogs are very resourceful. Each one of them is useful for one or the other.. So keep up the good work. And I hope the info is useful.. :)
9/6/2009 8:24 PM | # re: How you chose and learned Silverlight
For learning, I tend to go wide first rather than deep so I prefer atomic sample's with lots of pics and code with minimal waffle so I can skim read. Webcasts are a complete no go.

For decision support, it's quite the opposite :$ Full application examples that demostrate specific business use cases rather than technology features.
9/7/2009 3:15 AM | # re: How you chose and learned Silverlight
Silverlight was forced on me as a subcontractor, so I can't contribute to the "why did you choose Silverlight?" part.

Regarding how do I prefer to learn:
* I prefer good books (Still missing for Silverlight 3, "Data-Driven Services with Silverlight 2" I consider a good one -- or e.g. "More Effective C++")
* I hate Video Tutorials. They are just a waste of time, targeted to those slow in uptake.
* Good, complete, working code is always fine.
* IMHO the ultimate quick start tool to get an idea of RIAs is Adobe's TourDeFlex. Hurry up and steal this idea!
9/8/2009 12:47 AM | # re: How you chose and learned Silverlight
I didn't want to squeeze my reply in this small comment box, so I posted a response on my blog. You can find the article at the following link:

Good initiative to ask us about what we like to see.
9/8/2009 6:05 AM | # re: How you chose and learned Silverlight
I am definitely a Silverlight "Fanboy" and try to find almost any excuse to use it whenever possible. That being said however, I just started a new job at a healthcare/software company under the auspices of being a UI expert. I was basically given carte blanche to do whatever I wanted with the UI, but unfortunately, after some investigation, Silverlight is not do-able for us at this time.

We have two large hurdles with Silverlight. The first hurdle is that we work with the medical industry (doctors/hospitals) and that many of the clients we work with are on technology that can't/won't work with Silverlight. When it comes to IT, hospitals have a decidedly blue-collar feel to them. They are slow to upgrade, and extremely nervous about introducing any kind of new technology. Even having an internet connection is in many cases, a huge leap for them. Many of them have policies against installing plugins of any kind, and that includes such proven technologies as Flash and Silverlight. (In case you are wondering who still uses IE6/800x600 screens and dial-up connections, it's hospitals). Using Silverlight would alienate (read that as: lose) half our clients or better.

The second reason we can't use it is because our CTO is running around to the more up-to-date clients and showing them how cool it is that our SAAS application runs on the iPhone. I have an iPhone too, and I love it. But Silverlight doesn't run on it, and as far as I know, there are no concrete plans in the works to make it do so. I don't get the impression that Apple cares if Silverlight works or not on the iPhone.

So... that's why Silverlight is not our technology of choice.

You also asked about learning. I've been learning all I can about Silverlight from books and from the web (blogs like this one are the best source typically) however I find that Silverlight is not as easy as it looks on paper, and you really need to get your hands dirty with it to understand and appreciate it. Rarely does anything in Silverlight fall neatly into place. It needs lots of tweaking and re-thinking to implement. But once something is working right, and I mean really working right - it's a beautiful thing.

I would recommend hands-on mini workshops (online) that demonstrate key features of the technology. I do like learning on a single project that uses each technology (i.e. let's build an app to run a hotel) as it makes it clear to me how and why each part of the technology fits together, and one way I might use them together in a recommended way.
9/8/2009 4:58 PM | # re: How you chose and learned Silverlight
Video tutorials are the best in my opinion.
9/9/2009 2:31 AM | # re: How you chose and learned Silverlight
1. Working sample apps -- this is by far the best way to learn and get started quickly.

* Video tutorials -- very useful but sometimes source code is best.
9/9/2009 7:10 AM | # re: How you chose and learned Silverlight
Decision resources of why we decide to go with Silverlight
1. Once ramped up, faster to develop Silverlight application
2. Vector graphics, and animations allow much more "wow" factor into the application that everyone loves
3. Allows clean separation of UI (graphic designers) and developers
4. Tools like Blend 3 makes fun to work on Silverlight
5. Ultimately design and UI sells

Learning Resources
1. Video Tutorials for broad overview
2. Blogs for specific topics of interest
3. Look at Silverlight open source project codes for architectural stuff, techniques and best practices
9/9/2009 7:11 AM | # re: How you chose and learned Silverlight
We choose Silverlight because of the rich user experience we could create compared to web page. With MS throwing all of it's weight behind it, we felt comfortable banking on this this tech as well as having our clients download the plugin required.

The fact it was comfortable for us - a MS house - was tremendous. Years back I tried to pickup ActionScript and do flash stuff, but it didn't seem intuitive from a MS developer's standpoint.

Silverlight's integration with the backend - either via WCF, SOAP or RIA Services - is huge for us, as we are doing a data heavy LOB. Sometimes the Entity Framework is combursome, but the advantages of using generated classes, serialization, etc makes it worthwhile.

When I started to learn, the videos were great. Also, I can't count the number f times that I watched the MIX09 videos, as they fired me, and my team up, and provided a good amount of useable information.

But now I get the most of my info from my RSS feeds and Google. The feeds from Silverlight Cream and SilverLight.net are great because they provide a great variety of info and lots of tips. When I run into a problem, the Google is my best friend. If I can't find the solution there, then I usually turn to forums on SilverLight.net.

I like the lesson plan approach as well - like Brad's on RIA. I also like the atomic samples. Typically I'll skim through both, trying to glean new tips and details.

But I wish there would be some real-life enterprise lesson plans as well. Our app has 100+ SQL tables, so the simple 1 table on a page examples don't work very well. Some of our views are displaying summary data from a join of 4 or 5 tables. Or samples that simply use the DataForm control are great for starting, but don't seem very realistic in the wild, or in a well designed site.

The 23+ part series Brad did on RIA Services was great. It showed off the flexibility, but it was jack of all trades series. I would appreciate a series that, as Todd Davis mentioned, was a LOB app which was more robust than one or two view of master/detail data.

I'm anxiously awaiting next March to see what Mix10 will bring. It's great that MS is using things like UserVoice* to get a sense of what is desired for the next version.


* silverlight.uservoice.com/.../4325-feature-sugg...
9/9/2009 9:10 AM | # re: How you chose and learned Silverlight
Choosing Silverlight:

- Already from a .NET background
- Did not have time/budget/experience to learn Flash/Flex
- JavaScript/DOM manipulation too slow† and quirky (still is)
- Abstraction between designer and programmer a plus

Learning resources:

- Silverlight.chm = the absolute resource
- Already knowing .NET, it was mostly a case of looking up in the reference documentation
- silverlight.net forums and the odd weblog (hi Tim, Scott) proved invaluable for various understandings

Thoughts on mediums:

- Videos take too long to watch
- Walkthrough guides are usually long-winded, just show the code
- Examples with paragraphs highlighting the meat of the example help greatly
- While it might be a laugh attending a conference or a "lab", it's a lot of wasted time and easily forgotten (especially if washed down with beer afterwards...)

† I work in the games industry... it *is* slow!
9/9/2009 9:30 PM | # re: How you chose and learned Silverlight
Silverlight.chm that means help file and MSDN with example code may help a person lot to learn a language.
9/11/2009 1:06 PM | # re: How you chose and learned Silverlight
To get introduced to the technology I prefer the videos where dev tools are being used. Secondly I like the hands-on labs. That, to me, made a big impact on how much time it takes me to learn a technology. I find myself going straight to the videos. Written tutorials are harder for me to follow til the end.

9/20/2009 5:55 PM | # re: How you chose and learned Silverlight
Utterly shocking you wrote this article! In Aigist 2008 I was begging you in the Silverlight.net forums to provide fulls cope database driven applications, and your only retorte' was "it's coming, it's coming". I do not mean to sound like a bitter person, but you must be on (excuse the pun) some silver cloud that you lost the prespective we who are in the trenches. Not to worry, I am not stalking you Scott, this link just came up when I queried "best to learn silverlight3". You see Scott, even that tells you I do not hold the Silverlight.net website in much esteem as a resource. My eyes are on Telerik. Unlike bloated Microsoft, I think they know what we developers want to see in learning Silverlight and MAKING MONEY from it. But, if you want to know in a nutshell, and do excuse my repetation ... "FULL APP EXAMPLES WITH HEAVY DATABASE CONNECTIVITY" Geez, I would think that was common sense. Silverlight.net has failed as a resource fo learning.
9/20/2009 6:20 PM | # re: How you chose and learned Silverlight
Mark -- thanks for (again) pointing this out. As I've noted in the forums and on the current application corner, I have failed expectations there. I take full responsibility for that as I've previously noted. My reasons will be of no matter to you obviously as you've made that clear in the forums before. This is a big reason I've posed this question here again to make sure that my small team is concentrating on the right things for the masses. Having us shoot in the dark and assume is no good and I wanted some evidence to support efforts that we had planned (as well as those we didn't and need to create). BTW, I'm not sure who "Scott" is you are referring to?
9/22/2009 8:10 AM | # re: How you chose and learned Silverlight
While I am struggling to learn SL 3 I have noticed one thing. For us new people in the world who are completly .net junkies crossing over is sometimes very difficult because we view it different. So video lessons are great but good written documentation is essential to this as well. What I have seen is "Look At This" something amazing right? Then no one tells you how to customize it, make it work correctly etc etc. Sort of discouraging in a way. For example I have played with the Drag Drop Panel now for four weeks the samples look great but they are in SL2 but no real documention for SL3. This is only one example. Their are so many more.

But on the bright side Tim you do a great job at demonstrating and documention I appreciate everything you do. Yes, we are missing some bells and whistles that I was so use to in .net like printing, emailing etc. For now I have solved the baner advertisment problem somewhat however I am sure what I have done is NOT the solution and I know it is NOT the correct solution.

I have been told by so many people to stay away of SL LOB applications I gave up counting. With that said I know this is the way to go now and for the future.
9/22/2009 9:20 PM | # re: How you chose and learned Silverlight

Sorry for calling you Scott, I forgot your name.

Tim I do not know why you are spending time writing this article asking for feedback on what to do: Your initial video in the APP Corner is SPOT on Target. I do not understand why you have not/will not continue and expand on the Adventure Ops program, it is EXACTLY what we do in the real world (i.e. east of Redmond). Please continue the Adventure Ops tutorial as that is exactly what I need. -- Mark
9/22/2009 9:42 PM | # re: How you chose and learned Silverlight
Mark -- thanks for the reply. I love 'east of Redmond' -- I usually refer to it as the ivory towers but I'm going to use your new term...love it.

In the coming weeks (I have a high(er) priority work item for a VP right now) I hope to outline a plan of pre-completed content and a plan for the community to contribute and drive direction. My problem with the app corner was no plan. I want to outline a plan now (and in public so I can be accountable) and get the community buy-in on it.
9/23/2009 2:20 AM | # re: How you chose and learned Silverlight

I'm an employee of a Microsoft BizSpark programme member company, and I'm a former PHP coder. Though we currently don't offer RIA applications, I've decided to learn how to develop RIA applications with .NET. Plus, it's a entry point to WPF.


Reading Matthew MacDonald's "Silverlight 2 in C# 2008", ordered some other books. Watching MIX'08 and '09 videos, and trying to get as much as I can.
MSDN is another good source of information.
9/29/2009 11:04 PM | # re: How you chose and learned Silverlight
Definitely prefer "atomic samples" as oftentimes I won't have enough time to go through a full tutorial but if the atomic samples are art of a multi step tutorial (ie path of atomic sample you can follow) that would be nice if I am looking at something bigger and more complex
10/22/2009 1:59 PM | # re: How you chose and learned Silverlight
As someone with many years of experience in both Winforms and some .aspx programming I am finding getting started with silverlight to be frustrating.

2 months ago I started learning Flex and quickly got a prelim app running that called an aspx site that processed and returned XML against a SQL database. Somethings were a little confusing and there wasn't a ton of good examples out there but it was easy to figure out how to get things up and running. At least their designer (exclipse if poor at best) doesn't jump between different applications to get something designed and up and running. Why VS and Expression Blend? All I do is business applications so designer work is very limited

Now I start playing around with Silverlight since it is looking like it could become another tool that allows decent web sites to be developed. Current web development is poor at best since the browsers all have compatibility issues; look at the issues with IE 6 and 7; think quirks mode.

Silverlight needs to get away from the XAML only and get back to a designer inside of VS that works for developers. Designers could come back after initial layout and do their magic. Silverlight needs an example that starts with a simple menu system (graphics or not) and progresses through a normal business app with a grid and edit windows (not CRUD style) that supports add/delete/update from a popup form. I can only think of a handful of times that the CRUD concept has been used.

As for how I learn I love to see how someone goes about creating simple apps via a video and then look at their examples in code to see what I can tweak/enhance to figure things out. Next I start with a simple concept and write a program that does what I want. I watched the 2nd video of Hassan's above and found it to be the best I have seen in 2 days worth of web searching and videos.

10/22/2009 2:36 PM | # re: How you chose and learned Silverlight
Jim - Visual Studio 2010 supports an editable designer for Silverlight applications. Expression Blend will continue to exist in the near future for doing more design-oriented and interactive development tasks.
11/21/2009 9:09 AM | # re: How you chose and learned Silverlight
I always prefer documents with code samples
1/12/2011 11:07 AM | # re: How you chose and learned Silverlight
Thank you Tim for bring our attention to this fact. I just completed reading the chapter on WCF Services in the book, Pro Silverlight 2 in C# 2010. buy thesis Your research need more appreciation from your audience, because we have a freelance teacher like you.
7/28/2011 9:22 PM | # re: How you chose and learned Silverlight
Your progress report on HDTV - part 3 is interesting as it seems on trial and error methods. This is how success is achieved. I am waiting for its full version. Thanks for the information.
Abilene Roofing Contractors

Please add 8 and 4 and type the answer here:


The opinions/content expressed on this blog are provided "ASIS" with no warranties and are my own personal opinions/content (unless otherwise noted) and do not represent my employer's view in any way.