I am a beginner at software development and web site development. I love using Microsoft .NET stuff but it seems like they are always coming out with new technologies that requre users to download new tools to use them. For example, many Windows Apps that I write require users to download the .NET platform 3.5. If I switch over to VS2010 and start taking advantage of all the new features, users will be required to download .NET 4.0. I have recently started looking into Silverlight development for websites but then every user has to have Siverlight installed.
Now, I realize that for the majority of people, downloading Silverlight or the latest Flash player is not a really big problem but there is probably a decent amount of people (the older crowd I imagine) that just always clicks 'cancel' when the download prompt pops up and goes on to another page. If I build an entire site on Silverlight and aspx technology I could be cutting myself out of traffic. Espicaially if I am on the leading edge of technology like those first few sites that used Silverlight.
So my question is, how do you decide when it is appropriate to switch to a new technology? At what point do you just say 'screw it' the users can download silverlight or they can't view my site. Would the type of website you are designing make a difference (i.e an e-commerce site vs. a simple informative services offered page) If I am developing a services-offered type page for a small company, I would want to make it flashy to attract customers but not so flashy that people can't view it without all these additional tools...