Vermont Code Camp 2010 Presentation Materials

Julie Lerman and her team have once again put on a terrific event at the 2010 Vermont Code Camp. The host team’s terrific hospitality as well as the great facilities provided by the University of Vermont made this an extremely enjoyable event to attend and present at.

I have uploaded the content from my talk – Introduction to Windows Phone 7 Development with Silverlight – and the content can be found here (Slideshare link here). The uploaded content includes:

  • Presentation slides, which include the reference links I mentioned during the talk
  • An interactive pdf of the outline I prepared for the talk (Acrobat Reader may be required)
  • The sample application, with notes added to locate the key concepts that were discussed

The demo code was prepared with the Beta version of the Windows Phone Developer Tools – there may be breaking changes as later versions come out.

More from Silverlight at Boston Code Camp

I received a request from one of the attendees at my presentation to pass along some information about an upcoming online Silverlight course being offered as of next week and figured I would pass it along (friendly faces in an audience are priceless.) His request follows:  

 Mr. Garland,
    I have some information on an online Silverlight 2 course that will start in a week. I’m hoping you’ll consider posting this information on your site, since you’re a presenter and blogger on Silverlight 2. I attended your presentation at Code Camp 11.
    The course is offered by Foothill College, a state college in Los Altos Hills, California :

http://www.foothill.edu

    The course is CAST 80, “SELECTED TOPICS IN SOFTWARE APPLICATIONS”. The special topic will be Silverlight (2). On this page, select “Computers & Software Training (CAST)”, then select the “Spring 2009” quarter, and click the Search button :

http://www.foothill.edu/schedule/schedule.php

    Here is more information on this course (listed by its former number CIS 19S). One of the books that will be used is Matthew MacDonald’s “Pro Silverlight 2 in C# 2008”. I have this book, and it’s excellent :

http://www.schrotenboer.com/foothill/cis-019s.htm

    Note that prospective students must first be “accepted” by Foothill before they can register for courses. Luckily, this can be done purely online, given that you answer the questions correctly, as I’ve done. Follow the “Foothill Application for Admission” at the top of the left column :

https://registration.fhda.edu/prod/web/default.jsp?submitButtonName=Enter+Registration+System#

    This course is 4 credits. The cost for outside-of-California students is $128 per credit (quite reasonable). There is also a fixed cost of $42.50 in various fees.

    The class starts April 6th, and lasts 12 weeks. The minimum enrollment for this class to proceed is 20 students (on-campus and online, total) at one week before the course begins. Presently, there are only 10 students enrolled, including myself. I’m hoping that you will post the information in this email so that students with an interest in Silverlight will have the opportunity to take this course.

    I can supply you with the email address of the instructor, Calvin Schrotenboer, if you wish. I appreciate any assistance you can provide in publicizing this course. Thank you very much.

                                             Sincerely,

                                             James Trela

Code Camp Silverlight for Business Review

Yesterday’s Code Camp presentation went relatively well – the Demo Gods only frowned a couple of times. I wanted to take a few moments to review some of the things that went wrong, what I did to overcome them, and also to review some of the questions I was asked to answer.

Question: I have a client who needs to write a Business Application. Is Silverlight the right technology to use?
Answer: Um….yes? Actually, I could not answer this directly. There are too many variables involved. What is the existing technology investment, if any? What are the client’s feelings about that investment? Should it be kept, or does it need to be replaced or rethought? What are the end-user needs, especially in terms of OS platform, ease-of-deployment, occasional or ubiquitous network connectivity, etc? What is the existing skillset for maintaining the code going forward?

There’s a lot that goes into making a decision about adopting a technology for a problem, especially if it is for a client. Silverlight is certainly a good platform for developing interesting applications, including Line of Business applications. I’d invite people to review the “Why Silverlight” portion of my presentation to see if its benefits are applicable to their specific situations.

 

Issue: Visual Studio and IE locked up during the demo. I was running the application, and it got stuck at 45% loading. IE was unresponsive and Visual Studio told me it was busy whenever I tried to do anything.
Cause: Voodoo?
Resolution: I used Task Manager (actually I used Process Explorer) to kill IE. Visual Studio was still locked up. I tried to shut down the Cassini web host, but the tray icon was unresponsive. In the interests of time, my next step involved using Process Monitor to kill Visual Studio and just restarted things from where I left off. That worked…otherwise my next steps would have involved rebooting, and perhaps doing a clean build.

Issue: During the Authentication topic, checking the ASP.Net Authentication Service revealed that it was in a bad state.
Cause: Pilot-error (cut and paste problem in the web.config)
Resolution: When I pasted in the configuration contents for the Authentication and Role services, I neglected to combine these with the pre-existing service configuration for the other web service I was using. The configuration parser got annoyed when it realized that I had two sections with the same name. I just merged the Service and Behavior declarations in and successfully rechecked the ASP.Net Authentication Service.

Issue: During the Authentication topic, when showing server-side role checking, I got an exception when launching the application.
Cause: Pilot-error (cut and paste problem when adding the functionality to the web service code)
Resolution: An astute attendee noticed that when I pasted my new GetProducts method into my web service code, I had left the OperationContract attribute off. I re-added the attribute, recompiled, and was able to show that logging in as different users with different roles returned different data. In gratitude, the user got one of my giveaways on the spot – a copy of O’Reilly’s Programming EF.

Question: I have a shop of ASP.Net/HTML/Javascript developers. Should I go back and tell them that they need to learn Silverlight?
Answer: Um…yes? Again, a lot depends on the specific problem domain. Silverlight has many benefits, and if those benefits seem to apply to the direction your business is going, then it is likely that it would be a good thing to learn. Be careful, however of the old adage “if all you have is a hammer, the whole world looks like a nail.” Sometimes, you really should use a screwdriver. Silverlight is a viable technology, and is being used in many professional scenarios. Unfortunately in answering this I think I gave too many examples of people using the media capabilities of Silverlight (NBC Olympics, CNN Inauguration, etc.) For a showcase of hundreds of actual Silverlight Business applications, please visit the Microsoft Silverlight Showcase and select “Business Applications” from the Category section. Also, Microsoft has put together some compelling data in this application.

 

Silverlight Showcase Business Applications

There were also a couple of questions about LINQ-to-Entity and EF vs LINQ-to-SQL. There are better sources than me for information on that battle.

Another Code Camp

Spring is here (finally!) so it is time to go camping again – or perhaps at least the geek alternative. I’m doing another Code Camp, this time reprising my Silverlight for Business Applications presentation, with a few changes. It will be interesting to do this one considering everything that was just announced for Silverlight 3.0 (all of this is how you do it today, but if you wait until the new framework comes out, it will be a whole lot easier…)

Anyway, I have uploaded the presentation slide deck, materials, and my “script PDF.” The content is available for download here.

Note: I am posting this early, before I do my presentation, and will refine it later on today…I just don’t want to get into one of those “life happens” situations and neglect to push up the content in a timely manner…

Silverlight Demo Content Posted (Pt1)

The first of the New Hampshire Code Camp
Silverlight Demo content has been uploaded. The content includes the simple “Hello World” code, which is just a basic Silverlight page and project, as well as the associated auto-generated Web Project. The second project is the data access demo, which illustrates a data access layer (Linq to SQL), a WCF Service which provides access to the data access layer and returns a shaped version of the data in the DAL, and a Silverlight page which shows the data in a DataGrid.

The Silverlight page in the Data Demo also illustrates the use of the Silverlight Controls’
AutoCompleteBox to do client-side filtering of the retrieved data, as well as a Line Graph from the same library. One thing that has been added since the demo is a “swinging gate” technique to use an AutoResetEvent and a background thread to load the data for the graph, in order to avoid the latency seen in the UI when the graph was being arranged inline with keyboard entry in the AutoComplete box.  The DataDemo relies on the Products table in the AdventureWorks sample database, which can be downloaded here.  As I was using a named instance of SQL Server on my machine, some updates to the connection string may be necessary – the connection string is being kept in the web project’s web.config. file.

Also uploaded are the PowerPoint slide deck and a folder of links and slides which served as reference material used in preparing the presentation. (Near) future uploads will include the use of the ASP.Net Authentication Service from a Silverlight control, and interacting with HTML content (and jQuery) through the HTML bridge. Also in a subsequent upload will be interactive PDFs of the script content I used through the presentation.

To everyone (anyone?) who was waiting for this content, thank you for your patience.

The content is available here.

New Hampshire Code Camp

Wow have I been bad about (not) posting here. I just did the NH Code Camp yesterday (Saturday.) The event went very well, especially so considering it was the first one put on by Pat Tormey and the NH .Net User Group.

I gave 2 presentations – a refined version of the “Writing Custom Admin Consoles with .Net and MMC 3.0″ that I debuted at the last Boston .Net code camp, as well as a premiere version of a Silverlight 2.0 for business applications presentation. The first one had a whopping audience of 3 (one of whom was there because he was presenting in the same room after me), but the Silverlight presentation had a full room. I ran a bit long with the SL presentation, and my configuration for the ASP.Net membership service blew up, but overall I think it went OK (I still need to get the review sheets to know for certain.) I will likely be revising & reprising the Silverlight presentation next month at Boston.Net’s next code camp.

Unfortunately, I was not able to get my presentations up today, but I will be putting them up through the week (weather/shoveling permitting.) In the meantime, I keep my public presentation materials on my SkyDrive here.