<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" version="2.0"><channel><title>RIA Thoughts</title><link>http://riathoughts.com/</link><description>Silverlight, UX Design and Other Random Thoughts</description><generator>Graffiti CMS 1.0 (build 1.0.1.963)</generator><lastBuildDate>Fri, 11 Sep 2009 22:02:00 GMT</lastBuildDate><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/RiaThoughts" type="application/rss+xml" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item><title>Ascentium is hiring!</title><link>http://riathoughts.com/blog/ascentium/ascentium-is-hiring/</link><pubDate>Fri, 11 Sep 2009 22:02:00 GMT</pubDate><guid isPermaLink="true">http://riathoughts.com/blog/ascentium/ascentium-is-hiring/</guid><dc:creator>johnnystock</dc:creator><slash:comments>45</slash:comments><category domain="http://riathoughts.com/blog/ascentium/">Ascentium</category><description>&lt;p&gt;This week I passed one year at &lt;a href="http://www.ascentium.com/"&gt;Ascentium&lt;/a&gt; and I can say it’s been one heck of a ride. As with any job there have been highs and lows but overall it’s been one of my favorite years of work. Getting to work on cool Silverlight applications for major clients has been a great experience.&lt;/p&gt;  &lt;p&gt;Now, I’d like to share that experience with some of you in our Bellevue office. We actually have three different positions open at various levels and skill sets. Keep reading if you are interested in working for a company that was just named one of the &lt;a href="http://www.marketwatch.com/story/ascentium-named-one-of-washingtons-best-companies-to-work-for-2009-09-10"&gt;best places to work in Washington&lt;/a&gt;.&lt;/p&gt;  &lt;h4&gt;Web Application Developer&lt;/h4&gt;  &lt;p&gt;This person needs a nice mix of skills ranging from &lt;strong&gt;Silverlight&lt;/strong&gt; to ASP.NET to CSS/JavaScript. You would be responsible for doing high-visibility work on one of the most visited sites on the internet. This person needs to be an ambitious team-player that has a proven history of producing top-quality work.&lt;/p&gt;  &lt;h4&gt;Application Developer&lt;/h4&gt;  &lt;p&gt;For this position we are looking for a senior level LAMP developer with architecture skills. Duties of this role include leading other developers and interfacing with clients. Strong open source experience/skills are key but the ability to jump into C# when needed would be a major plus. The ideal candidate would also need to be comfortable with standards based web development. Relocation may be available for the right candidate.&lt;/p&gt;  &lt;h4&gt;Web Developer – Contract&lt;/h4&gt;  &lt;p&gt;We are also looking for a contract web developer with strong standards based web development skills. Must be proficient and experienced with jQuery, cross-browser development and web accessibility. Any experience with building Facebook applications is a plus.&lt;/p&gt;  &lt;p&gt;If you are interested in any of these positions please check out the official &lt;a href="http://www.jobvite.com/CompanyJobs/Careers.aspx?c=q5W9VfwP&amp;amp;cs=9cc9Vfwc&amp;amp;jvregion=Bellevue / Seattle&amp;amp;page=JobLocation"&gt;job listings&lt;/a&gt; and submit a resume.&lt;/p&gt;</description></item><item><title>Silverlight MVP!</title><link>http://riathoughts.com/blog/silverlight/silverlight-mvp/</link><pubDate>Wed, 01 Jul 2009 06:36:00 GMT</pubDate><guid isPermaLink="true">http://riathoughts.com/blog/silverlight/silverlight-mvp/</guid><dc:creator>johnnystock</dc:creator><slash:comments>30</slash:comments><category domain="http://riathoughts.com/blog/silverlight/">Silverlight</category><description>&lt;p&gt;&lt;img style="border-right-width: 0px; margin: 0px 0px 5px 5px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="MVP Logo" border="0" alt="MVP Logo" align="right" src="http://riathoughts.com/files/media/image/WindowsLiveWriter/SilverlightMVP_D0B7/o_MVP_FullColor_ForScreen_3.png" width="130" height="204" /&gt; I had the honor this week of being named a Microsoft Silverlight MVP! For those of you that don’t know what the MVP program is all about can read about it &lt;a href="http://mvp.support.microsoft.com/"&gt;here&lt;/a&gt;. Basically this is acknowledgment by Microsoft of the commitment to community and technical expertise of individuals based on their activities over the past year.&lt;/p&gt;  &lt;p&gt;I have received numerous congratulations messages over the last couple of days, more than I can mention or even respond to. Thank you all for the kind words, I have appreciated all of them. The sentiment that I think sums it all up came from my wife:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;You’ve gone from the guy who sits on the back porch talking about what he is going to do, to the guy who does it.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;I find myself in good company once again. Not only are the existing MVPs a wonderfully helpful and intelligent group of people, but this freshman class has numerous people that I have worked with over the last year including (but probably not limited to):&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Sarah Dutkiewicz &lt;/li&gt;    &lt;li&gt;Michael Eaton &lt;/li&gt;    &lt;li&gt;Nate Kohari &lt;/li&gt;    &lt;li&gt;David Kelley &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;I am honored to be among this group of amazing professionals. Thank you all for coming along with me during this past (very busy) year. Let’s see what we get done next year.&lt;/p&gt;  &lt;p&gt;And apparently you don't have to wear short shorts to be an MVP (reference to the OTHER John Stockton). &lt;img style="border-bottom: 0px; border-left: 0px; display: inline; margin-left: 0px; border-top: 0px; margin-right: 0px; border-right: 0px" title="stockton" border="0" alt="stockton" align="left" src="http://riathoughts.com/files/media/image/WindowsLiveWriter/SilverlightMVP_D0B7/stockton_3.jpg" width="100" height="140" /&gt; :)&lt;/p&gt;</description></item><item><title>Web v.Next</title><link>http://riathoughts.com/blog/web-v-next/</link><pubDate>Tue, 02 Jun 2009 05:49:00 GMT</pubDate><guid isPermaLink="true">http://riathoughts.com/blog/web-v-next/</guid><dc:creator>johnnystock</dc:creator><slash:comments>35</slash:comments><category domain="http://riathoughts.com/blog/">Blog</category><description>&lt;p&gt;We are entering a new phase in the evolution of the web, and it’s not “Web 3.0”.&lt;/p&gt;  &lt;p&gt;The phrase “Web 3.0” is generally used to refer to the semantic web. That phrase in itself typically needs some explanation so for the purposes of this article I’ll use the definition of a web that provides meaning instead of content. While I fully agree that this is happening, and I think it’s happening faster than many would have you believe, the new phase we are entering is bigger than that. Much bigger.&lt;/p&gt;  &lt;p&gt;We are at an interesting time in the history of the Web. While many people have been nearly blinded by the speed at which new technologies have been being released for the past few years, those that have their eyes open are seeing some interesting things begin to happen. There are a number of technologies that are all maturing at around the same time that when combined, allow us to do things that have been purely theoretical up until now. This combination of technologies allow us to create truly great user experiences by creating interfaces that show the user what they want to see and in the way they want to see it. How is this different than what we’ve been doing already? Give me a minute or two and I’ll tell you.&lt;/p&gt;  &lt;h4&gt;What am I talking about?&lt;/h4&gt;  &lt;p&gt;The technologies that are all coming of age are in multiple different categories including semantic markup (RDF, OWL, SMIL, etc.), advanced / intelligent search capabilities (&lt;a href="http://www.bing.com"&gt;Bing&lt;/a&gt;, &lt;a href="http://www.wolframalpha.com/"&gt;Wolfram|Alpha&lt;/a&gt;, FAST etc.), social media (&lt;a href="http://www.facebook.com"&gt;Facebook&lt;/a&gt;, &lt;a href="http://twitter.com/"&gt;Twitter&lt;/a&gt;, &lt;a href="http://www.linkedin.com/"&gt;LinkedIn&lt;/a&gt; etc.) and RIA frameworks (Flash, Flex, Silverlight etc.). Just think of the possibilities when these technologies are all used together. It is now possible to create an application that knows who the user is and what they are likely to be interested in (Social Media), knowledge of not only that content exists but what that content means (semantic markup), the ability to find content not only with keywords but with meaning (advanced search) and the ability to display all this in an interactive natural way for the user (RIA frameworks). This allows us to create applications that are highly &lt;em&gt;relevant&lt;/em&gt; to the users wants and needs, which is a big step beyond today’s &lt;em&gt;customized&lt;/em&gt; applications. &lt;/p&gt;  &lt;h4&gt;Public Uses&lt;/h4&gt;  &lt;p&gt;The possible implementations on the public web are limited only by your imagination, time and budget. One example that comes to mind could be some sort of social media aggregator that goes beyond what has been seen to date. Something that searches all of your networks, attempts to derive meaning from each tweet, post, fan, poke and whatever else your networks do. It could then condense all of that information to provide you with trending topics and attitudes, general attitudes &amp;amp; groupings of friends, maybe create a 3D mind-map style view of how all of your friends know each other. I’m sure with just a few minutes of thinking, each of you can come up several uses of this kind of knowledge. &lt;/p&gt;  &lt;h4&gt;Intranet Uses&lt;/h4&gt;  &lt;p&gt;This combination of technologies not only works on the public web, but can be even more powerful when used on a company Intranet. A typical mid to large sized company will have multiple systems in place that currently don’t know anything about each other. At the very least they will probably have an email application and a document repository of some sort. Many business will also have some combination of CRM, ERP, CMS and several others. Throw in domain specific knowledge which is typically in some form of relational database and you can have quite a large number of separate systems that most often have no knowledge of each other.&lt;/p&gt;  &lt;p&gt;While it is no small task, it is possible to bring all of these separate systems together into a single interface that has knowledge of who the user is, what accounts / customers / projects they are interested in, what they have permission to see and what all of the related pieces are. This system could even be built in such a way as to increase visibility into the system by exposing data that may have been previously hidden through abstraction or by displaying related items throughout the system whenever an item is viewed. You could even improve workflows by creating forms or views that span multiple systems. Now, most of this is possible without using the newer technologies, but if you do use them, you can provide even more value for your users.&lt;/p&gt;  &lt;h4&gt;What’s Next&lt;/h4&gt;  &lt;p&gt;Well, we need to build these kinds of sites. The technology is there and ripe for the usage, now we need people to come up with some novel applications of these technologies. Let me know when you find them as I’m sure they are already being built. Who knows, maybe I’ll build one myself.&lt;/p&gt;</description></item><item><title>I’m Speaking at Mix09!</title><link>http://riathoughts.com/blog/i-rsquo-m-speaking-at-mix09/</link><pubDate>Tue, 24 Feb 2009 18:18:00 GMT</pubDate><guid isPermaLink="true">http://riathoughts.com/blog/i-rsquo-m-speaking-at-mix09/</guid><dc:creator>johnnystock</dc:creator><slash:comments>17</slash:comments><category domain="http://riathoughts.com/blog/">Blog</category><description>&lt;p&gt;Wow.&lt;a href="http://2009.visitmix.com/Default.aspx"&gt;&lt;img title="MIX09_SpeakerBling_VegasStrip_136x186" style="border-right: 0px; border-top: 0px; display: inline; margin: 0px 5px 0px 10px; border-left: 0px; border-bottom: 0px" height="188" alt="MIX09_SpeakerBling_VegasStrip_136x186" src="http://riathoughts.com/files/media/image/WindowsLiveWriter/ImSpeakingatMix09_8A78/MIX09_SpeakerBling_VegasStrip_136x186_3.jpg" width="138" align="right" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Just like a few hundred other people, I submitted a few talks to Mix when the call for speakers was open. And just like most of them, my talk were turned down. Luckily for me though, my employer also submitted a few talks and one of those was accepted, so I get to present anyway!&lt;/p&gt;  &lt;p&gt;The proposal and much of the presentation was written by a couple colleagues of mine: &lt;a href="http://twitter.com/jaredeischen"&gt;Jared Eischen&lt;/a&gt; and &lt;a href="http://twitter.com/JMatthiesen"&gt;Jordan Matthiesen&lt;/a&gt; with help also from &lt;a href="http://twitter.com/Tomascak"&gt;Andy Tomascak&lt;/a&gt;. That’s not to say that I have nothing to do with it, but I can’t claim all the credit (even if I want to :) ). &lt;/p&gt;  &lt;p&gt;Here’s the official abstract:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;Using Microsoft ASP.NET MVC to Easily Extend a Web Site into the Mobile Space       &lt;br /&gt;&lt;/strong&gt;Learn how to build mobile Web sites using the ASP.NET MVC framework. See how to create customized mobile experiences by extending the Views in the MVC framework and using the latest device detection techniques.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;As you can see we will be talking about using ASP.MVC for building mobile websites. If you are involved in planning, designing or building webites (and who at Mix isn’t) you need to be involved in the mobile space. We will tell you the why and the how of getting your sites into this critical space.&lt;/p&gt;  &lt;p&gt;Come join us, it’s sure to be a good session.&lt;/p&gt;  &lt;h4&gt;Book Signing&lt;/h4&gt;  &lt;p&gt;&lt;a href="http://www.amazon.com/dp/1933988428?tag=tocoornotoco-20&amp;amp;camp=213381&amp;amp;creative=390973&amp;amp;linkCode=as4&amp;amp;creativeASIN=1933988428&amp;amp;adid=0HCK5R1QJRR3M87M8TCC&amp;amp;"&gt;&lt;img title="CoverArt" style="border-right: 0px; border-top: 0px; display: inline; margin-left: 0px; border-left: 0px; margin-right: 0px; border-bottom: 0px" height="180" alt="CoverArt" src="http://riathoughts.com/files/media/image/WindowsLiveWriter/ImSpeakingatMix09_8A78/CoverArt_3.jpg" width="180" align="right" border="0" /&gt;&lt;/a&gt; I’ll also be doing a book signing for &lt;a href="http://www.amazon.com/dp/1933988428?tag=tocoornotoco-20&amp;amp;camp=213381&amp;amp;creative=390973&amp;amp;linkCode=as4&amp;amp;creativeASIN=1933988428&amp;amp;adid=0HCK5R1QJRR3M87M8TCC&amp;amp;"&gt;Silverlight 2 in Action&lt;/a&gt;, time and location will be forthcoming. Don’t worry if you don’t have a copy yet, they will be available in the bookstore on site at Mix :).&lt;/p&gt;&lt;div class="wlWriterHeaderFooter" style="text-align:left; margin:0px; padding:4px 0px 4px 0px;"&gt;&lt;a href="http://digg.com/submit?url=http%3a%2f%2friathoughts.com%2fblog%2fi-rsquo-m-speaking-at-mix09%2f&amp;amp;title=I%e2%80%99m+Speaking+at+Mix09!"&gt;&lt;img src="http://digg.com/img/badges/100x20-digg-button.png" width="100" height="20" alt="Digg This" title="Digg This" border="0" style="border: 0" /&gt;&lt;/a&gt;&lt;/div&gt;</description></item><item><title>CodeMash Wrapup</title><link>http://riathoughts.com/blog/codemash-wrapup/</link><pubDate>Thu, 22 Jan 2009 01:06:00 GMT</pubDate><guid isPermaLink="true">http://riathoughts.com/blog/codemash-wrapup/</guid><dc:creator>johnnystock</dc:creator><slash:comments>48</slash:comments><category domain="http://riathoughts.com/blog/">Blog</category><description>&lt;p&gt;I know this is late but hey, at least I’m getting it out there :).&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.codemash.org/"&gt;&lt;img title="CodeMash09Spoke" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; margin-left: 0px; margin-right: 0px; border-right-width: 0px" height="133" alt="CodeMash09Spoke" src="http://riathoughts.com/files/media/image/WindowsLiveWriter/CodeMashWrapup_8D67/CodeMash09Spoke_3.png" width="207" align="right" border="0" /&gt;&lt;/a&gt; &lt;a href="http://www.codemash.org/"&gt;CodeMash 2009&lt;/a&gt; was held Jan 7-9 in the frigid and snowy Sandusky Ohio. This was the most incredible experience I’ve had professionally in a very long time. The keynotes were incredible, presentations were great and the people… the people are what makes CodeMash something special. Every night there were great conversations going late into the night (morning) covering every technical topic you can think of.&lt;/p&gt;  &lt;h4&gt;CodeJam&lt;/h4&gt;  &lt;p&gt;I was one of a group of five people that hosted the CodeJam precompiler session. It went, well, ok. We had a few technical difficulties which made the day rough though. First, our Vista VM which had the full Silverlight development loaded on it, died on us that morning. Nothing we could do made it boot. Then, when people tried to download SP1 for VS2008, we didn’t have the bandwidth to do so. We did end up with several people up and running and they were willing to pair with others. Overall I do think it was a worthwhile experience and I definitely learned a&amp;#160; lot for next time :).&lt;/p&gt;  &lt;p&gt;The co-conspirators: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.codinggeekette.com/"&gt;Sarah Dutkiewicz&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://twitter.com/coreyhaines"&gt;Corey Haines&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://faithfulgeek.tumblr.com/"&gt;Joe Fiorini&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blog.extracheese.org/"&gt;Gary Bernhardt&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;h4&gt;Networking and Communications in Silverlight&lt;/h4&gt;  &lt;p&gt;On the last day of the conference I presented on Networking and Communication in Silverlight. This was based on a talk I have done several times so I feel that my delivery was solid. In this talk I give an overview of what options there are to get data into your Silverlight application and also how to read various data formats. I didn’t do many of my demos but for this level of talk (intro to loading and consuming data) I feel that presenting a wider array of options and taking more questions is more useful to attendees. From the comments I got afterwards it would seem that I was correct.&lt;/p&gt;  &lt;p&gt;Links:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://riathoughts.com/files/uploads/MovieTickets.zip" target="_blank"&gt;Source Code&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://riathoughts.com/files/uploads/CodeMash_Communications.pdf" target="_blank"&gt;Slides&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;h4&gt;Sessions&lt;/h4&gt;  &lt;p&gt;I also went to quite a few sessions and learned a lot. Here’s a quick list:&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;a href="http://silverlight.net/blogs/jesseliberty/"&gt;Jesse Liberty&lt;/a&gt; on Hyper-Video&lt;/strong&gt;     &lt;br /&gt;Jesse had some technical difficulties getting started (ended up using my laptop) but he did get his point across. I’ll probably be &lt;strike&gt;stealing&lt;/strike&gt; borrowing some of his concepts for future talks/posts.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Thrashing with &lt;a href="http://www.poppendieck.com/"&gt;Mary Poppendieck&lt;/a&gt;&lt;/strong&gt;     &lt;br /&gt;If you have ever worked in a shop where you are working on multiple projects concurrently, this was the session to attend. Her talk was most appropriate to enterprise developers but most of the concepts could be applied to nearly any dev shop.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;MEF with &lt;a href="http://geekswithblogs.net/drewby/Default.aspx"&gt;Drew Robbins&lt;/a&gt;&lt;/strong&gt;     &lt;br /&gt;Drew gave us an overview of what MEF is and how it can be used. Personally, this is something I’m going to be watching closely as it matures and can already see many uses for it. And of course there were plenty of jokes about things like the “MEF Lab” (say it out loud).&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;a href="http://www.jamesward.com/blog/"&gt;James Ward&lt;/a&gt; on Flex&lt;/strong&gt;     &lt;br /&gt;Embracing the spirit of CodeMash, I went over to learn about Flex. I’m sure you all know I’m a Silverlight developer and will probably never touch Flex but it was nice to learn the capabilities (and similarities to Silverlight) of the platform. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;a href="http://www.oreillynet.com/pub/au/2063"&gt;Venkat Subramaniam’s&lt;/a&gt; keynote&lt;/strong&gt;     &lt;br /&gt;This was actually the only keynote I was able to attend the entire talk for various reasons. It was awesome. My most memorable quotes from it are “exercise is boring” and “fail-for-less strategy”.&lt;/p&gt;  &lt;h4&gt;Deep Fried Bytes&lt;/h4&gt;  &lt;p&gt;&lt;a href="http://keithelder.net/blog/"&gt;Keith Elder&lt;/a&gt; and &lt;a href="http://cloudsocket.com/graffiti/"&gt;Chris Woodruff&lt;/a&gt; had a room staked out on Friday for the purpose of recording episodes of their &lt;a href="http://deepfriedbytes.com/"&gt;Deep Fried Bytes&lt;/a&gt; podcast. They were gracious enough to listen to me blab on about Silverlight for a while and we should see that coming out in the near future. I’ll link to it when it’s been published.&lt;/p&gt;  &lt;p&gt;Keith and Chris make recording a podcast a very natural process, as long as you remember to keep the mic planted in place. It was actually a lot of fun and I can’t wait to record another for whoever wants to hear me talk.&lt;/p&gt;  &lt;h4&gt;The People&lt;/h4&gt;  &lt;p&gt;Wow.&lt;/p&gt;  &lt;p&gt;This is why to go to CodeMash. The conversations held in the halls, at tables over dinner, in hotel rooms at night and wherever else people gathered were always informative and open. From dinner with Mark and Tom Poppendieck to reviewing &lt;a href="http://www.codeplex.com/"&gt;CodePlex&lt;/a&gt; for &lt;a href="http://blogs.msdn.com/saraford"&gt;Sara Ford&lt;/a&gt; to a great gathering of Heartland influencers with the Microsoft evangelism team, there was never a boring moment.&lt;/p&gt;  &lt;p&gt;Thank you all for a great conference.&lt;/p&gt;  &lt;h4&gt;Final Thoughts&lt;/h4&gt;  &lt;p&gt;I met so many great people and had so many great conversations that there is no way I can list them all here. Just know that if we spoke, I enjoyed it, if we didn’t, I feel like I missed a great opportunity since everyone at the conference had something to offer. &lt;/p&gt;  &lt;p&gt;I can’t wait for CodeMash 2.0.1.0&lt;/p&gt;&lt;div class="wlWriterHeaderFooter" style="text-align:left; margin:0px; padding:4px 0px 4px 0px;"&gt;&lt;a href="http://digg.com/submit?url=http%3a%2f%2friathoughts.com%2fblog%2fcodemash-wrapup%2f&amp;amp;title=CodeMash+Wrapup"&gt;&lt;img src="http://digg.com/img/badges/100x20-digg-button.png" width="100" height="20" alt="Digg This" title="Digg This" border="0" style="border: 0" /&gt;&lt;/a&gt;&lt;/div&gt;</description></item><item><title>CodePlex, now with Silverlight</title><link>http://riathoughts.com/blog/silverlight/codeplex-now-with-silverlight/</link><pubDate>Thu, 15 Jan 2009 23:45:00 GMT</pubDate><guid isPermaLink="true">http://riathoughts.com/blog/silverlight/codeplex-now-with-silverlight/</guid><dc:creator>johnnystock</dc:creator><slash:comments>323</slash:comments><category domain="http://riathoughts.com/blog/silverlight/">Silverlight</category><description>&lt;p&gt;&lt;a href="http://www.codeplex.com/"&gt;&lt;img title="CodeplexLogo" style="border-right: 0px; border-top: 0px; display: inline; margin-left: 0px; border-left: 0px; margin-right: 0px; border-bottom: 0px" height="85" alt="CodeplexLogo" src="http://riathoughts.com/files/media/image/WindowsLiveWriter/CodeplexnowwithSilverlight_11DAA/CodeplexLogo_7.png" width="240" align="right" border="0" /&gt;&lt;/a&gt; Hopefully everyone reading this already knows about &lt;a href="http://www.codeplex.com/"&gt;CodePlex&lt;/a&gt;. You do right? No? Well, CodePlex is basically an open source hosting site. It’s a great way to add source control and collaborators to a project. It also is a great place to have your code when you are ready to distribute it to the world.&lt;/p&gt;  &lt;p&gt;I’ve had a few projects on CodePlex for a while, some better than others, and I’ve always appreciated how easy it is to use. Over the last few months though they have been making a ton of improvements to the site, both by adding features and UI changes. The infamous atomic green is gone now too :).&lt;/p&gt;  &lt;h3&gt;Silverlight on CodePlex&lt;/h3&gt;  &lt;p&gt;CodePlex has had the ability to host Silverlight projects for quite a while, but they didn’t stop there. As of today, there is now support for displaying Silverlight applications in your project wiki.That means you can have your working application, or a video explaining it or maybe just a neat hero bar talking about the virtues of your project.&lt;/p&gt;  &lt;p&gt;In honor of this event I’ve decided to update the &lt;a href="http://www.codeplex.com/SessionScheduler"&gt;Session Scheduler&lt;/a&gt; app I put on CodePlex last year. Over the next few weeks (ok, maybe months) I’ll be updating this application so that it is more fully featured and useable by the time the spring Code Camps and Day of .NETs all get going. For the new Silverlight support in CodePlex I’ve thrown in a little animation showing what the app will do when complete. It’s nothing too fancy but at least demonstrates how you can use Silverlight on your wiki pages.&lt;/p&gt;&lt;div class="wlWriterHeaderFooter" style="text-align:left; margin:0px; padding:4px 0px 4px 0px;"&gt;&lt;a href="http://digg.com/submit?url=http%3a%2f%2friathoughts.com%2fblog%2fsilverlight%2fcodeplex-now-with-silverlight%2f&amp;amp;title=CodePlex%2c+now+with+Silverlight"&gt;&lt;img src="http://digg.com/img/badges/100x20-digg-button.png" width="100" height="20" alt="Digg This" title="Digg This" border="0" style="border: 0" /&gt;&lt;/a&gt;&lt;/div&gt;</description></item><item><title>Silverlight Animations: What are KeySplines and why should you care?</title><link>http://riathoughts.com/blog/silverlight/silverlight-animations-what-are-keysplines-and-why-should-you-care/</link><pubDate>Mon, 05 Jan 2009 18:00:00 GMT</pubDate><guid isPermaLink="true">http://riathoughts.com/blog/silverlight/silverlight-animations-what-are-keysplines-and-why-should-you-care/</guid><dc:creator>johnnystock</dc:creator><slash:comments>133</slash:comments><category domain="http://riathoughts.com/blog/silverlight/">Silverlight</category><description>&lt;div class="wlWriterHeaderFooter" style="padding-right: 0px; padding-left: 8px; float: right; padding-bottom: 4px; margin: 0px; padding-top: 0px"&gt;
&lt;p&gt;If you&amp;rsquo;ve seen/read/heard anything about Silverlight, you probably know by now that it can do animations. In fact, Silverlight has fairly rich animation support.&lt;/p&gt;
&lt;p&gt;I would like to point out right off that I am a developer, not a designer, and that this post is aimed at other developers. As developers we don&amp;rsquo;t typically have extensive knowledge about things such as easing and keysplines so I&amp;rsquo;ll try and phrase everything so we can all understand it.&lt;/p&gt;
&lt;p&gt;What I&amp;rsquo;m going to talk about today is something known as easing and how you do it in Silverlight. In essence, easing is modifying the velocity over time of a given animation. This velocity modification is done using keysplines, which is the point of this post. A spline uses points to define a curve. In the case of Keysplines, you have a line defined as moving from point 0,0 to point 1,1. The default Keyspline has the spline definition points at those same locations. By modifying the location of those points, you can change the line into a curve. The shape of the curve determines the speed of the animation at a given point in time. The basic rule is that if the x of the slope is greater than the y, the animation is slow but if the y is greater than the x it is fast.&lt;/p&gt;
&lt;p&gt;Confused yet? Don&amp;rsquo;t worry, I&amp;rsquo;ve got examples and pictures to help it make sense.&lt;/p&gt;
&lt;h3&gt;KeySpline Example&lt;/h3&gt;
&lt;p&gt;&lt;object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="560" height="130"&gt; 			&lt;param name="source" value="http://riathoughts.com/files/media/silverlight/SplineSample.xap" /&gt; 			&lt;param name="onerror" value="onSilverlightError" /&gt; 			&lt;param name="minRuntimeVersion" value="2.0.31005.0" /&gt; 			&lt;param name="autoUpgrade" value="true" /&gt; 			[Note: If you are seeing this text you are either in a feed reader or don't have Silverlight installed. Please view in a browser with Silverlight enabled to see the example.] 		&lt;/object&gt;&lt;/p&gt;
&lt;h3&gt;KeySpline Details&lt;/h3&gt;
&lt;p&gt;Now that you (hopefully) can see the difference between the different spline values I have in place, why don&amp;rsquo;t we take a look at how to use them in your own animations. The first task is to actually find where in Expression Blend you actually set the KeySpline value. It may be intuitive for designers, but us developers need a hand finding this the first time, so here&amp;rsquo;s your helping hand. Basically, all you need to do is to click the keyframe indicator for a particular object and Blend will open the easing window in the properties tab. Still lost eh? Here&amp;rsquo;s a couple pictures.&lt;/p&gt;
&lt;p&gt;If you are using the default (design) workspace if should look something like the screenshot below. I&amp;rsquo;ve circled the areas mentioned above.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://riathoughts.com/files/media/image/WindowsLiveWriter/Silverlight2WhatareKeySplinesandwhyshoul_E772/OpenSpline_2.jpg"&gt;&lt;img title="OpenSpline" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="418" alt="OpenSpline" width="644" border="0" src="http://riathoughts.com/files/media/image/WindowsLiveWriter/Silverlight2WhatareKeySplinesandwhyshoul_E772/OpenSpline_thumb.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Here&amp;rsquo;s another screenshot for the same tasks but in the animation workspace.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://riathoughts.com/files/media/image/WindowsLiveWriter/Silverlight2WhatareKeySplinesandwhyshoul_E772/OpenSpline2_2.jpg"&gt;&lt;img title="OpenSpline2" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="418" alt="OpenSpline2" width="644" border="0" src="http://riathoughts.com/files/media/image/WindowsLiveWriter/Silverlight2WhatareKeySplinesandwhyshoul_E772/OpenSpline2_thumb.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;And don&amp;rsquo;t worry if you don&amp;rsquo;t have/don&amp;rsquo;t want Blend, KeySplines are actually very to add directly to the XAML yourself. All you need to do is add a &amp;ldquo;KeySpline&amp;rdquo; attribute to a Key Frame based animation. The elements with this attribute available are SplineColorKeyFrame, SplineDoubleKeyFrame, and SplinePointKeyFrame. If you don&amp;rsquo;t know how to hand code those elements then I would advise you to use Expression Blend to do it for you the first time, you can always go tweak the generated XAML. Adding the attribute looks something like this:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;lt;SplineDoubleKeyFrame KeyTime=&amp;quot;00:00:04&amp;quot; Value=&amp;quot;458&amp;quot; KeySpline=&amp;quot;0,0.5,0.5,1&amp;quot;/&amp;gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;So now that you have an idea of how to create a keyspline, what do the values do for you? Here&amp;rsquo;s a description of the different values I used in the sample app above.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4&gt;No Easing&lt;/h4&gt;
&lt;table cellspacing="0" cellpadding="0" width="560" border="0"&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="340"&gt;If you don&amp;rsquo;t use keysplines this is what you get. In many cases this will be fine, especially in very short/fast animations. Typically though, using some sort of easing makes an animation more pleasing to the eye and thus &amp;ldquo;feels&amp;rdquo; nicer to the viewer.&lt;/td&gt;
            &lt;td valign="top" width="220"&gt;&lt;a href="http://riathoughts.com/files/media/image/WindowsLiveWriter/Silverlight2WhatareKeySplinesandwhyshoul_E772/NoSpline_2.png"&gt;&lt;img title="NoSpline" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; margin-left: 0px; margin-right: 0px; border-right-width: 0px" height="244" alt="NoSpline" width="211" align="right" border="0" src="http://riathoughts.com/files/media/image/WindowsLiveWriter/Silverlight2WhatareKeySplinesandwhyshoul_E772/NoSpline_thumb.png" /&gt;&lt;/a&gt;&lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;div&gt;
&lt;h4&gt;Spline 1&lt;/h4&gt;
&lt;table cellspacing="0" cellpadding="0" width="560" border="0"&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="340"&gt;In this example we see the ball start quickly and then slow down as it approaches the end of the animation. This is probably the most common one I use as it allows for a fairly natural feel when animating scenes sliding into view. &lt;blockquote&gt;
            &lt;p&gt;Value: &lt;br /&gt;
            KeySpline=&amp;quot;0,0.5,0.5,1&amp;quot;&lt;/p&gt;
            &lt;/blockquote&gt;&lt;/td&gt;
            &lt;td valign="top" width="220"&gt;&lt;a href="http://riathoughts.com/files/media/image/WindowsLiveWriter/Silverlight2WhatareKeySplinesandwhyshoul_E772/Spline1_2.png"&gt;&lt;img title="Spline1" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; margin-left: 0px; margin-right: 0px; border-right-width: 0px" height="244" alt="Spline1" width="211" align="right" border="0" src="http://riathoughts.com/files/media/image/WindowsLiveWriter/Silverlight2WhatareKeySplinesandwhyshoul_E772/Spline1_thumb.png" /&gt;&lt;/a&gt;&lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;h4&gt;Spline 2&lt;/h4&gt;
&lt;table cellspacing="0" cellpadding="0" width="560" border="0"&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="340"&gt;This spline value causes the opposite effect of the previous one. In this case the Animation starts incredibly slow and the gets faster as it moves. This is useful when moving objects out of view or for a &amp;ldquo;dropped&amp;rdquo; object. &lt;blockquote&gt;
            &lt;p&gt;Value: &lt;br /&gt;
            KeySpline=&amp;quot;0.5,0,1,0.5&amp;quot;&lt;/p&gt;
            &lt;/blockquote&gt;&lt;/td&gt;
            &lt;td valign="top" width="220"&gt;&lt;a href="http://riathoughts.com/files/media/image/WindowsLiveWriter/Silverlight2WhatareKeySplinesandwhyshoul_E772/Spline2_2.png"&gt;&lt;img title="Spline2" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; margin-left: 0px; margin-right: 0px; border-right-width: 0px" height="244" alt="Spline2" width="211" align="right" border="0" src="http://riathoughts.com/files/media/image/WindowsLiveWriter/Silverlight2WhatareKeySplinesandwhyshoul_E772/Spline2_thumb.png" /&gt;&lt;/a&gt;&lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;h4&gt;Spline 3&lt;/h4&gt;
&lt;table cellspacing="0" cellpadding="0" width="560" border="0"&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="340"&gt;In this example the movement starts quickly, slows down and then speeds back up again. I&amp;rsquo;m not sure when you would use this one, it&amp;rsquo;s more of an example showing that is doesn&amp;rsquo;t need to be a consistent curve, you can modify it along the way.&amp;nbsp; &lt;blockquote&gt;
            &lt;p&gt;Value: &lt;br /&gt;
            KeySpline=&amp;quot;0,0.5,1,0.5&amp;quot;&lt;/p&gt;
            &lt;/blockquote&gt;&lt;/td&gt;
            &lt;td valign="top" width="220"&gt;&lt;a href="http://riathoughts.com/files/media/image/WindowsLiveWriter/Silverlight2WhatareKeySplinesandwhyshoul_E772/Spline3_2.png"&gt;&lt;img title="Spline3" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; margin-left: 0px; margin-right: 0px; border-right-width: 0px" height="244" alt="Spline3" width="211" align="right" border="0" src="http://riathoughts.com/files/media/image/WindowsLiveWriter/Silverlight2WhatareKeySplinesandwhyshoul_E772/Spline3_thumb.png" /&gt;&lt;/a&gt;&lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;h4&gt;Spline 4&lt;/h4&gt;
&lt;table cellspacing="0" cellpadding="0" width="560" border="0"&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="340"&gt;Have we have the animation begin incredibly fast, appear to stop completely, and then resume at a steady pace. Personally I would never use anything like this (except obviously in a blog post) but it shows that you can create some extreme effects just by modifying the spline. &lt;blockquote&gt;
            &lt;p&gt;Value: &lt;br /&gt;
            KeySpline=&amp;quot;0,1,0.5,0.03&amp;quot;&lt;/p&gt;
            &lt;/blockquote&gt;&lt;/td&gt;
            &lt;td valign="top" width="220"&gt;&lt;a href="http://riathoughts.com/files/media/image/WindowsLiveWriter/Silverlight2WhatareKeySplinesandwhyshoul_E772/Spline4_2.png"&gt;&lt;img title="Spline4" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; margin-left: 0px; margin-right: 0px; border-right-width: 0px" height="244" alt="Spline4" width="211" align="right" border="0" src="http://riathoughts.com/files/media/image/WindowsLiveWriter/Silverlight2WhatareKeySplinesandwhyshoul_E772/Spline4_thumb.png" /&gt;&lt;/a&gt;&lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3&gt;Finally&lt;/h3&gt;
&lt;p&gt;Generally, I add easing to nearly every animation I create to give it a more natural feel. It&amp;rsquo;s amazing how the appropriate keyspline can make an animation &amp;ldquo;feel&amp;rdquo; right, even if it&amp;rsquo;s too subtle to really be noticed. Hopefully from this article you can see both the value of using easing and how to add it to your animations.&lt;/p&gt;
&lt;p&gt;In a future post I&amp;rsquo;ll be showing some more advanced effects you can create by using different easings on different parts of an animation. But don&amp;rsquo;t wait for me to show you how, crack open Blend and play with some, I&amp;rsquo;m sure you can make something cool.&lt;/p&gt;&lt;script type="text/javascript"&gt;digg_url = "http://riathoughts.com/blog/silverlight/silverlight-animations-what-are-keysplines-and-why-should-you-care/";digg_title = "Silverlight Animations: What are KeySplines and why should you care?";digg_bgcolor = "#FFFFFF";digg_skin = "normal";&lt;/script&gt;&lt;script src="http://digg.com/tools/diggthis.js" type="text/javascript"&gt;&lt;/script&gt;&lt;script type="text/javascript"&gt;digg_url = undefined;digg_title = undefined;digg_bgcolor = undefined;digg_skin = undefined;&lt;/script&gt;&lt;/div&gt;</description></item><item><title>2009 is here – now what?</title><link>http://riathoughts.com/blog/2009-is-here-ndash-now-what/</link><pubDate>Fri, 02 Jan 2009 21:16:00 GMT</pubDate><guid isPermaLink="true">http://riathoughts.com/blog/2009-is-here-ndash-now-what/</guid><dc:creator>johnnystock</dc:creator><slash:comments>13</slash:comments><category domain="http://riathoughts.com/blog/">Blog</category><description>&lt;div class="wlWriterHeaderFooter" style="padding-right: 0px; padding-left: 8px; float: right; padding-bottom: 4px; margin: 0px; padding-top: 0px"&gt;
&lt;p&gt;[Note: This and all posts in 2009 will include Silverlight applications. If you are reading this post in a RSS reader you may not be able to see this application. Please visit the live post to get the full benefit of the content.]&lt;/p&gt;
&lt;p&gt;Well here it is, 2009. Did you accomplish everything you set out to do in 2008? I&amp;rsquo;d say that for most people that is true, even me, but hopefully you did accomplish some big things to be proud of.&lt;/p&gt;
&lt;p&gt;And what of 2009? What are your plans and goals? Do you have them? If not then why? We all needs something to strive towards, to push ourselves to accomplish. Without some kind of goal we risk stagnating and hopefully you all know that in our career paths to stagnate is to become obsolete.&lt;/p&gt;
&lt;p&gt;So what did I accomplish in 2008? Here&amp;rsquo;s a bit of it:&lt;/p&gt;
&lt;h4&gt;2008&lt;/h4&gt;
&lt;ul&gt;
    &lt;li&gt;Community &lt;br /&gt;
    This past year I started speaking at user groups, code camps and even larger events like the Cleveland Silverlight Firestarter. I also helped organize the Cleveland Day of .NET and the Seattle Developer Designer Interaction Group. Online venues like &lt;a target="_blank" href="http://twitter.com/johnnystock"&gt;twitter&lt;/a&gt; and &lt;a target="_blank" href="http://silverlight.net/forums"&gt;Silverlight.net/forums&lt;/a&gt; also were deluged by my participation, more at some times than others.&lt;/li&gt;
    &lt;li&gt;Technology &lt;br /&gt;
    &lt;img title="Silverlight" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; margin-left: 0px; margin-right: 0px; border-right-width: 0px" height="104" alt="Silverlight" width="95" align="right" border="0" src="http://riathoughts.com/files/media/image/WindowsLiveWriter/2009isherenowwhat_B9AF/Silverlight_Logo_Square_3.jpg" /&gt; Around a year ago I wrote of the need to pick a technology and focus on it. Especially in the area of web development there is such a deluge of new, and all good, technologies that to try and be competent in all of them is probably too much for any one person. So the way to succeed is to pick one technology or area and devote all your learning time to that one area. For me the chosen technology was Silverlight and I&amp;rsquo;m loving every minute of it. It uses the C#/.NET skills I&amp;rsquo;ve developer over the last several years and also lets me express my creative side in a professional way.&lt;/li&gt;
    &lt;li&gt;Job &lt;br /&gt;
    &lt;a href="http://www.ascentium.com/"&gt;&lt;img title="Ascentium" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; margin-left: 0px; margin-right: 0px; border-right-width: 0px" height="37" alt="Ascentium" width="120" align="right" border="0" src="http://riathoughts.com/files/media/image/WindowsLiveWriter/2009isherenowwhat_B9AF/ascentium_logo_sml_3.png" /&gt;&lt;/a&gt; After spending most of the last several years wandering from job to job and industry to industry as a contractor in an attempt to find myself (or my work self anyway). I finally figured out what constitutes a dream job for me and devised a plan to get it. Over the course of the year I executed the plan and while it may not have been perfect, it did get me my dream job. I now work at&amp;nbsp; &lt;object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="71" height="12"&gt;&lt;param name="source" value="http://riathoughts.com/files/media/silverlight/SimpleAnimation.xap" /&gt;&lt;param name="minRuntimeVersion" value="2.0.31005.0" /&gt;&lt;param name="autoUpgrade" value="true" /&gt;&lt;a href="http://www.ascentium.com"&gt;Ascentium&lt;/a&gt;&lt;/object&gt;building Silverlight apps full time. For me this is as good as it gets. I work with cool clients, cool co-workers and build cool apps. BEST. JOB. EVER.&lt;/li&gt;
    &lt;li&gt;Writing &lt;br /&gt;
    &lt;a href="http://www.amazon.com/dp/1933988428?tag=tocoornotoco-20&amp;amp;camp=213381&amp;amp;creative=390973&amp;amp;linkCode=as4&amp;amp;creativeASIN=1933988428&amp;amp;adid=05X4N2REZHV5BGBBJANR&amp;amp;"&gt;&lt;img title="CoverArt" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; margin-left: 0px; margin-right: 0px; border-right-width: 0px" height="150" alt="CoverArt" width="150" align="right" border="0" src="http://riathoughts.com/files/media/image/WindowsLiveWriter/2009isherenowwhat_B9AF/CoverArt_3.jpg" /&gt;&lt;/a&gt; I started this blog and had a few decent posts. Earlier in the year I was better about the blog but overall I am happy with it. I also was invited to write a chapter of Silverlight 2 in Action and it was quite an experience. I feel like I did a decent job but should have done better. I would like to publically thank Chad Campbell for the opportunity and hope I didn't let him down too much.&lt;/li&gt;
    &lt;li&gt;Location &lt;br /&gt;
    After 9 years in in Northeast Ohio we packed up the family and moved to the Pacific Northwest. Ohio never felt like home to us and while it is great for plenty of people, it was not right for us. We moved to Bellevue Washington in September and immediately knew that this was the right place for us. My only regret in moving here was that we didn&amp;rsquo;t do it sooner.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Looking back at 2008 it was a banner year for me. Wow. Hopefully I can keep up the momentum. Here&amp;rsquo;s what I&amp;rsquo;m looking at for 2009:&lt;/p&gt;
&lt;h4&gt;2009&lt;/h4&gt;
&lt;ul&gt;
    &lt;li&gt;Community &lt;br /&gt;
    &lt;a href="http://www.codemash.org/"&gt;&lt;img title="Codemash" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; margin-left: 0px; margin-right: 0px; border-right-width: 0px" height="132" alt="Codemash" width="206" align="right" border="0" src="http://riathoughts.com/files/media/image/WindowsLiveWriter/2009isherenowwhat_B9AF/speaker1_3.png" /&gt;&lt;/a&gt; I am going to continue to present, organize and post throughout the year. Goals in this area are to continue to polish and refine my presentations and presentation techniques. I also want to present in at least one major conference this year. I&amp;rsquo;m starting the year off with a bang in this respect by presenting at the &lt;a target="_blank" href="http://www.codemash.org/"&gt;Code&lt;font color="#669966"&gt;m&lt;/font&gt;ash conference&lt;/a&gt; January 7th-9th. Codemash 2009 is sold out with 500 registrants so it&amp;rsquo;s definitely a good start for this year. I also plan to do more online/virtual events this year since it&amp;rsquo;s a great way to expose people in other locations to the virtues of Silverlight, and not everyone is willing/able to travel but we all have internet access.&lt;/li&gt;
    &lt;li&gt;Writing &lt;br /&gt;
    For 2009 I&amp;rsquo;m going to spend more time focusing on this blog. I know the posts have been a little sparse the last few months but I&amp;rsquo;m working on rectifying that. I will try and impart value to the community with nearly every post this year (other than this one :) ) and also hope to engage the community in discussion around some RIA topics as well, more on that in a later post.&lt;/li&gt;
    &lt;li&gt;Family &lt;br /&gt;
    While I do try and keep my blog posts completely professional oriented, this goal is too big to not share. At lot of the accomplishments of last year cam at the expense of family time. In 2009 I have to rectify that and create a much better balance between my professional and my personal life. I&amp;rsquo;m sure that this is possible and I have some plans on how I&amp;rsquo;m going to change things but I may also need some advice from those of you that are doing this well.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;So that&amp;rsquo;s not all my goals, just the ones I&amp;rsquo;m ready to announce publically. Do you all have great things planned for 2009?&lt;/p&gt;
&lt;/div&gt;</description></item><item><title>Silverlight Trick: Inline Silverlight Apps</title><link>http://riathoughts.com/blog/silverlight/silverlight-trick-inline-silverlight-apps/</link><pubDate>Mon, 01 Dec 2008 21:56:00 GMT</pubDate><guid isPermaLink="true">http://riathoughts.com/blog/silverlight/silverlight-trick-inline-silverlight-apps/</guid><dc:creator>johnnystock</dc:creator><slash:comments>168</slash:comments><category domain="http://riathoughts.com/blog/silverlight/">Silverlight</category><description>&lt;p&gt;About 6 months ago I wrote a little piece about how to create simple animations. It would seem that the thing people liked best about that post was not the animation itself but the way in which I included it inline with text. So here’s a little post on how to create that effect.&lt;/p&gt;  &lt;p&gt;Creating this look is incredibly easy. While working on another post here at&amp;nbsp; &lt;object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="71" height="12"&gt;&lt;param name="source" value="http://riathoughts.com/files/media/silverlight/SimpleAnimation.xap" /&gt;&lt;param name="minRuntimeVersion" value="2.0.31005.0" /&gt;&lt;param name="autoUpgrade" value="true" /&gt;&lt;a href="http://www.ascentium.com"&gt;Ascentium&lt;/a&gt;&lt;/object&gt;&amp;nbsp;I built this sample, so now I’ll share it with you. I almost feel silly even explaining this in a post as it’s so simple, but hey, I’ll go for it anyway.&lt;/p&gt;  &lt;p&gt;This example is just a hyperlink to Ascentium but has a couple of animations that are beyond what you can accomplish with HTML/CSS.&lt;/p&gt;  &lt;h3&gt;Silverlight App&lt;/h3&gt;  &lt;p&gt;Your Silverlight application itself is created just like you would any other and can be as simple or complex as you want. The key thing to remember is that the app needs to be as small as possible. I’ve found that about 12 pixels works great for the height and whatever width fits your purpose.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://riathoughts.com/files/media/image/WindowsLiveWriter/SilverlightTrickInlineAnimations_144B4/UserControl_4.png"&gt;&lt;img title="UserControl" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="63" alt="UserControl" src="http://riathoughts.com/files/media/image/WindowsLiveWriter/SilverlightTrickInlineAnimations_144B4/UserControl_thumb_1.png" width="488" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;h3&gt;Embedding it inline&lt;/h3&gt;  &lt;p&gt;This part is also pretty easy if you know HTML at all. All you need to do is to include the &lt;em&gt;object&lt;/em&gt; tag within the text that is being displayed. As you can see from the following sample, the height and width are also defined on the object itself.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://riathoughts.com/files/media/image/WindowsLiveWriter/SilverlightTrickInlineAnimations_144B4/InlineHtml_4.png"&gt;&lt;img title="InlineHtml" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="97" alt="InlineHtml" src="http://riathoughts.com/files/media/image/WindowsLiveWriter/SilverlightTrickInlineAnimations_144B4/InlineHtml_thumb_1.png" width="947" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;h3&gt;Considerations&lt;/h3&gt;  &lt;p&gt;There are a few things to be aware of when adding Silverlight inline like this, some of which are demonstrated above. &lt;/p&gt;  &lt;p&gt;First, no Silverlight. Be sure to include a “downlevel” experience for viewers that do not have Silverlight installed. This can be the standard “Download Silverlight” button if you like but be careful as it will probably not fit in the space allotted. What I chose to do in this case was to just show a text link to the same destination, this way the user has a consistent performance although with a less fancy link.&lt;/p&gt;  &lt;p&gt;Second, whitespace. Some browsers, like Internet Explorer, will not honor whitespace before or after the object. The fix for this is simple, and you can see it above as well. What I did was just use a non-breaking space before and after the object. Another solution would be to build the padding into your application itself.&lt;/p&gt;  &lt;p&gt;Next, background colors. I built this sample with a white background but sometimes that may not suit your needs. If you need a transparent background you need to set the background to be transparent in both the Silverlight app and in the object params. Further, you also need to set windowlessmode to true in the object params. This can have a negative effect if you are running video but otherwise would be fine.&lt;/p&gt;  &lt;p&gt;Also, text scaling. By using this technique to display text inline with HTML, you lose the browsers ability to scale the text for the user. You may be able to create a workaround for this limitation but I’m not going into that at the moment.&lt;/p&gt;  &lt;p&gt;Finally, text &amp;amp; link. This sample has the text (Ascentium) and the link destination (&lt;a href="http://www.ascentium.com"&gt;www.ascentium.com&lt;/a&gt;) both hard-coded into the application. It would also be possible to load one or both of those from initialization parameters set on the object. This would allow you to have a Silverlight app that has a cool effect on it and use it in multiple places.s&lt;/p&gt;</description></item><item><title>Silverlight Training: Week 1 – Introduction to Silverlight</title><link>http://riathoughts.com/blog/silverlight/silverlight-training-week-1-ndash-introduction-to-silverlight/</link><pubDate>Fri, 31 Oct 2008 04:36:00 GMT</pubDate><guid isPermaLink="true">http://riathoughts.com/blog/silverlight/silverlight-training-week-1-ndash-introduction-to-silverlight/</guid><dc:creator>johnnystock</dc:creator><slash:comments>113</slash:comments><category domain="http://riathoughts.com/blog/silverlight/">Silverlight</category><description>&lt;p&gt;&lt;img title="Silverlight_Logo_Square" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; margin-left: 0px; margin-right: 0px; border-right-width: 0px" height="195" alt="Silverlight_Logo_Square" width="175" align="right" border="0" src="http://riathoughts.com/files/media/image/WindowsLiveWriter/SilverlightTrainingWeek1_7646/Silverlight_Logo_Square_3.jpg" /&gt; Over the next few weeks, &lt;a target="_blank" href="http://weblogs.asp.net/gavinleader/default.aspx"&gt;Gavin Leader&lt;/a&gt; and I will be giving lunch-time training sessions on Silverlight to our co-workers at&amp;nbsp;&lt;object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="71" height="12"&gt;&lt;param name="source" value="http://riathoughts.com/files/media/silverlight/SimpleAnimation.xap" /&gt;&lt;param name="minRuntimeVersion" value="2.0.31005.0" /&gt;&lt;param name="autoUpgrade" value="true" /&gt;&lt;a href="http://www.ascentium.com"&gt;Ascentium&lt;/a&gt;&lt;/object&gt;. While these classes are limited to Ascentium employees, we will be posting a series of articles chronicling this training process. If you work at Ascentium and are not already aware of these meetings please see Gavin or I, if not, please feel free to follow along with these weekly blog posts and ask questions, add comments or tell us where we screwed up.&lt;/p&gt;
&lt;p&gt;Our primary target audience is front-end web developers who are familiar with HTML and probably JavaScript. Some weeks though will be more designer or back end developer focused. At the end of each week&amp;rsquo;s session we will identify the topic and audience for the next week so everyone knows what to expect.&lt;/p&gt;
&lt;h4&gt;Agenda&lt;/h4&gt;
&lt;p&gt;For the 1st week we are going to do an overview on what exactly Silverlight is. We will also delve into the tools needed to build it, resources to use when learning and get into an introduction of what exactly XAML is.&lt;/p&gt;
&lt;ol&gt;
    &lt;li&gt;Showcase
    &lt;ul&gt;
        &lt;li&gt;&lt;a target="_blank" href="http://imapc.lifewithoutwalls.com/?intro=0"&gt;I&amp;rsquo;m A PC &amp;ndash; Silverlight Video Wall&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a target="_blank" href="http://www.microsoft.com/business/success/"&gt;Microsoft Success Stories&lt;/a&gt;&lt;/li&gt;
    &lt;/ul&gt;
    &lt;/li&gt;
    &lt;li&gt;Describing the Silverlight Plugin
    &lt;ul&gt;
        &lt;li&gt;Cross-Browser &amp;ndash; IE, Firefox and Safari (Kinda on Chrome)&lt;/li&gt;
        &lt;li&gt;Cross-Platform - Runs on XP, Vista, Mac and Linux&lt;/li&gt;
        &lt;li&gt;Contains .NET CLR&lt;/li&gt;
    &lt;/ul&gt;
    &lt;/li&gt;
    &lt;li&gt;Limitations
    &lt;ul&gt;
        &lt;li&gt;Executes in browser
        &lt;ul&gt;
            &lt;li&gt;No direct access to server resources&lt;/li&gt;
            &lt;li&gt;No access to local system resources&lt;/li&gt;
            &lt;li&gt;Similar constraints as JavaScript&lt;/li&gt;
        &lt;/ul&gt;
        &lt;/li&gt;
        &lt;li&gt;Limited .NET Support
        &lt;ul&gt;
            &lt;li&gt;Not all .NET libraries are supported&lt;/li&gt;
            &lt;li&gt;All referenced libraries must be compiled against Silverlight CLR&lt;/li&gt;
        &lt;/ul&gt;
        &lt;/li&gt;
        &lt;li&gt;Limited Install Base
        &lt;ul&gt;
            &lt;li&gt;Growing but still not pervasive&lt;/li&gt;
            &lt;li&gt;More common on Windows PCs&lt;/li&gt;
        &lt;/ul&gt;
        &lt;/li&gt;
    &lt;/ul&gt;
    &lt;/li&gt;
    &lt;li&gt;When it should (and shouldn&amp;rsquo;t) be used
    &lt;ul&gt;
        &lt;li&gt;Use on sites that need a rich experience, typically including subtle transitions and animations that are difficult or ugly with DHTML.&lt;/li&gt;
        &lt;li&gt;Use for applications that need the power of managed code. Sometimes JavaScript just isn&amp;rsquo;t powerful enough to do the job.&lt;/li&gt;
        &lt;li&gt;Don&amp;rsquo;t use when you just need simple mouse-overs or changing content panes.&lt;/li&gt;
    &lt;/ul&gt;
    &lt;/li&gt;
    &lt;li&gt;Tools
    &lt;ul&gt;
        &lt;li&gt;&lt;a target="_blank" href="http://silverlight.net/getstarted"&gt;Where to get them&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;Visual Studio 2008 SP1 w/ Silverlight Tools&lt;/li&gt;
        &lt;li&gt;Expression Blend 2 SP1&lt;/li&gt;
    &lt;/ul&gt;
    &lt;/li&gt;
    &lt;li&gt;Learning Resources
    &lt;ul&gt;
        &lt;li&gt;&lt;a target="_blank" href="http://silverlight.net"&gt;Silverlight.net&lt;/a&gt;
        &lt;ul&gt;
            &lt;li&gt;Blogs&lt;/li&gt;
            &lt;li&gt;Forums&lt;/li&gt;
            &lt;li&gt;Videos&lt;/li&gt;
            &lt;li&gt;Tutorials&lt;/li&gt;
            &lt;li&gt;Showcase&lt;/li&gt;
        &lt;/ul&gt;
        &lt;/li&gt;
        &lt;li&gt;&lt;a target="_blank" href="http://riathoughts.com/blog/silverlight/what-is-silverlight/"&gt;What Is Silverlight?&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;Blogs
        &lt;ul&gt;
            &lt;li&gt;&lt;a target="_blank" href="http://riathoughts.com/"&gt;RIA Thoughts&lt;/a&gt;&lt;/li&gt;
            &lt;li&gt;&lt;a target="_blank" href="http://weblogs.asp.net/gavinleader"&gt;weblogs.asp.net/gavinleader&lt;/a&gt;&lt;/li&gt;
            &lt;li&gt;&lt;a href="http://www.ascentium.com/blog/ria"&gt;www.ascentium.com/blog/ria&lt;/a&gt;&lt;/li&gt;
            &lt;li&gt;&lt;a target="_blank" href="http://www.silverlightcream.com"&gt;Silverlight Cream&lt;/a&gt;&lt;/li&gt;
        &lt;/ul&gt;
        &lt;/li&gt;
        &lt;li&gt;&lt;a target="_blank" href="http://www.amazon.com/gp/product/1933988428?ie=UTF8&amp;amp;tag=tocoornotoco-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=1933988428"&gt;Silverlight 2 in Action&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;Source code for this course - (link will be provided next week)&lt;/li&gt;
    &lt;/ul&gt;
    &lt;/li&gt;
    &lt;li&gt;Introduction to XAML syntax
    &lt;ul&gt;
        &lt;li&gt;Designs as Objects&lt;/li&gt;
        &lt;li&gt;XAML representation of all graphical elements&lt;/li&gt;
        &lt;li&gt;Elements and attributes&lt;/li&gt;
        &lt;li&gt;Elements as attributes&lt;/li&gt;
    &lt;/ul&gt;
    &lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Future weeks will be much more hands on and have code and working samples for attendees to run and extend. We haven&amp;rsquo;t yet decided on how many weeks this is going to happen but you can be sure that it will not be short. The topic for next week&amp;rsquo;s training session will be over the different controls in Silverlight and will have sample code and homework to accompany it.&lt;/p&gt;</description></item></channel></rss>
