Experiences and Experiments in Programming

 Saturday, May 08, 2010

ReMix Atlanta was a great event.  I think there was a good turnout.  Brandon Watson gave a great keynote, an overview of Windows Phone 7 philosophy.  There were some great speakers and I enjoyed conversations with current friends and new friends.

My presentation on Silverlight for the Enterprise went well.  There were a lot of questions about WCF RIA Services and MEF.  I was glad to see the interest in these technologies.  While I am not a heavy user of RIA Services, I see the value and know that it is a great fit for many.

After the presentation, I continued the conversation with a handful of folks for more than an hour.  It was some good conversation with good questions!

I hope everyone that came to the presentation left with some more knowledge and something that inspired them to go out and do some more research into some of the technologies and features we discussed.  Hopefully I got a few more people hooked on MEF!

Saturday, May 08, 2010 9:44:55 PM (Central Standard Time, UTC-06:00)
 Tuesday, April 27, 2010

May 2010 brings two great events to Atlanta, ReMIX 2010 and .NET Rocks Roadshow.

.NET Rocks is setting out on a roadshow to celebrate the lauch of Visual Studio 2010.  If you are a fan of the show, they will be taping  one of the shows in front of a live audience the day before ReMIX on May 7th.   For details and to register, check out the roadtrip site.

On the following day, May 8th, the local developer and designer community, in conjunction with teams from Microsoft, is putting on ReMIX Atlanta 2010. This will feature 3 tracks of the best sessions from the MIX conference, live, with a few treats and surprises thrown in. This will be an amazing conference for a small fee. Register now at http://remixatlanta.org.

The .NET Rocks roadshow is free, and ReMIX Atlanta is bargain priced at $25 (if you register before April 27 – see the site for details).

I am told by Glen Gordon that there are plans to have some of the speakers from MIX come into town, including several folks from the Windows Phone 7 team. I hear they’ll be bringing some devices as well.  And while I can’t compete with the folks from the Windows Phone 7 team, I will be presenting on “Silverlight in the Enterprise”!

Remember to register before the deadline to get the discounted fare!  Hope to see you there!

Tuesday, April 27, 2010 8:36:29 AM (Central Standard Time, UTC-06:00)
 Saturday, March 27, 2010

PACKT Publishing sent me a free copy of 3D Game Development with Microsoft Silverlight 3 to review.  I was truly looking forward to reviewing the book.  I have built a handful of games in Silverlight purely for fun and have not really talked about game development or advertised that I work with game development using Silverlight.  In the past I have done a lot of digital video and graphics work for advertising or movies.  So, for me, creating a game is a fun and relaxing escape from day to day application development.

When I received the book, the first thing I did was to flip to the Preface section to see what the book was about in summary and who the book was written for.  The description indicated that the book was written for C# developers with a basic knowledge of Visual Studio IDE.  Furthermore, it indicated that no prior experience in 3D programming, 3D animation, and Silverlight is required.  After reading the book, I agree that this is an accurate statement.  However I think that to get the most out of the book and what the book introduces, a developer would either have some experience with 3D tools or would want to explore these tools and concepts further.

I decided I would dive into chapter 1 as though I had no prior experience.  The book starts out putting the reader into character as a developer who has always wanted to develop a 3D game.  You now have the opportunity through a new game contest.  The rest of the book follows you, the eager developer, as you build and enhance your game entry.  The approach was fun and made for a more interesting read if you read the book from cover to cover.  As such the book started from step A and went all the way through Z.

One of the first things that became clear was the layout of the chapters.  Throughout the book, concepts are introduced through a series of “Explanation”, “Time for Action”, and “What Just Happened” sections.  In the sections I would label as explanation, the author discusses tools and concepts that will be used in the “Time for Action” sections.  Next you are presented with the “Time for Action” section where you are taken step by step through some action.  Usually this involves writing code and occasionally installing software or some setup tasks.  Once you have followed the steps, performed some action, and are all happy with your results, you come to the “What Just Happened” section which explains the outcome and reiterates what you just did.  This follows the old teaching adage “Tell them, Show them, Have them do it, then Tell them again”.

Through this series of explanation, example, and confirmation, the author  walks the reader through a full gambit of topics.  By the time you get to the end of the book, topics have been covered ranging from basics like importing graphics into Silverlight, placing them on the page, and moving them around to more complex topics like animating pixel shaders, collision detection, and physics engines.  In between, the reader is introduced to popular industry tools like Blender and Gimp.

The book is a great introduction to 3D game development in Silverlight.  While certain topics like Blender and the Farseer Physics Engine are deserving of a book unto themselves, the introduction is just what is needed to get started.  The book goes well beyond what is needed to develop 2D games, but the concepts like working with objects on the screen, backgrounds, using multiple pages, collision detection, etc are very applicable to both 2D and 3D!  If you truly want to develop 3D games using objects and characters that will move and interact in a 3D environment, this is a book that can get you started.  It won’t be the last book you’ll need, but it will open the door to what you can do and help you determine what other resources you would like to explore further.

Saturday, March 27, 2010 11:35:59 AM (Central Standard Time, UTC-06:00)
 Monday, October 26, 2009

I have been really busy lately with so many different projects.  I recently spoke with PACKT Publishing about reviewing 3D Game Development with Microsoft Silverlight 3.  I am looking forward to reading the book and taking some time out to have a little fun.  I don’t get much time anymore to do programming for the sheer fun of it (not that I don’t enjoy any development I get to do).  I am going to approach the book as though I have not played at all with Silverlight game development.  I look forward to writing up a review when done.  Keep an eye out for the review soon!

Monday, October 26, 2009 8:41:47 PM (Central Standard Time, UTC-06:00)
 Tuesday, October 28, 2008

They just announced the release of the Silverlight Toolkit at PDC08.  The toolkit is an out-of-release-cycle set of controls and components for Silverlight 2.  Full source code is available.  Check it out here.

Tuesday, October 28, 2008 11:31:03 AM (Central Standard Time, UTC-06:00)
 Tuesday, August 12, 2008

Visual Studio 2008 and .NET 3.5 SP1 was released yesterday.  This is a significant update.  It is much more than a typical service pack.  It includes not only rolled-up fixes, but enhancements in many areas and technologies:

For the web, there is enhanced designer support and better formatting options for JavaScript.
For WPF, there are improvements to the design interface as well as how you interact with the code.
For SQL, there is support for SQL 2008 which was just recently RTM'd.
There are WCF improvements such as the new Hosting Wizard for WCF projects.
And there are VB and C# interaction improvements.

As opposed to re-listing features that have already been listed elsewhere, Scott Guthrie had a great blog entry about VS2008 SP1 as well as .NET 3.5 SP1.  Keep in mind that this was the written about the BETA release so some things may have changed before final release, but it gives a great overview of what was in the BETA.

Tuesday, August 12, 2008 10:47:53 AM (Central Standard Time, UTC-06:00)
 Friday, June 20, 2008

I have had a minor release of the Silverlight Code Camp Template for some time and just keep getting side-tracked when I go to move it out to CodePlex.  So I had a few spare minutes today and uploaded the new file.  I know a lot of people wanted the better mouse support.

The only change in Version 0.4 is the addition of the mouse scrolling support libraries.  So now all scrollable regions in the site can be controlled with the mouse-wheel and by dragging the scroll thumb.

More releases will be forthcoming (more quickly than this one)!

Friday, June 20, 2008 9:16:34 AM (Central Standard Time, UTC-06:00)
 Monday, April 21, 2008

I got the Silverlight Code Camp Template out on CodePlex last Wednesday.  It still needs a little work but I wanted to go ahead and get it out for folks to start using it if they wanted.  This is the same template that I built for the Alabama Code Camp site.

The template is built to be deployable on the widest range of machines.  It does not use ASP.NET.  In fact, there are no dynamic server side technologies involved.  The site is 100% HTML, JavaScript, CSS, and Silverlight.  It utilizes XML files on the server for data storage since all the data is read-only.  The template also utilizes Silverlight's downloader object and zipped up assets in order to increase network performance.

Yes, more could be accomplished utilizing a combination of ASP.NET, AJAX, Silverlight, and perhaps asmx services, but then the deployment scenarios would be restricted.  And part of the point for developing it the way I did was to demonstrate that none of this was necessary in order to develop a Silverlight site!

The template consist of a main frame that contains the header and navigation.  Each subsequent page is dynamically loaded from the server when needed, then cached in the browser cache for subsequent requests.  Some pages are actually zipped up sets of assets which are then parsed and displayed by Silverlight.  This decreases the number of connections from the browser to the server and decreases overall download size.

By default, there are 5 pages:

  • Home
    The home page is the landing page.  The home page contents are not dynamic.  They are edited directly allowing maximum flexibility.
  • Speakers
    The speakers page is a zipped up set of assets.  Contained within the zip are the XML data for the page, pictures of the speakers, the main page layout, the left speaker item template, and the speaker bio template.  This page is generated entirely from the XML file.
  • Sessions
    The sessions page lists all the sessions from all the speakers.  Clicking on a session title, displays the full description of the session.  This page is also a zipped set of assets containing the page layout, the session template, and the XML file for the data.
  • Agenda
    The agenda page is a scrollable agenda.  This page was originally dynamically created but, quite honestly, I broke it!  So it is currently edited manually.  The content has been ordered to make it easy to edit in Expression Blend.  One of my first orders of business is to fix what I broke so I can get the dynamic generation part working again.  It will be driven from an XML data file as well.
  • Contributors
    The contributors page is dynamically generated from an XML data file.  This page is downloaded as a zipped up set of assets containing the page layout, the contributor pics, and the XML data file.

There are a number of enhancements that will be made quickly.  Most of these are easy changes that I just did not get to before posting the project: things like better mouse support in scrollable regions, fixing the dynamic agenda generation, etc.  Hopefully it will be of some use to folks interested in quickly setting up a Silverlight site for their code camp.  I'll be sure to keep my blog updated as enhancements are made!

Monday, April 21, 2008 12:17:35 PM (Central Standard Time, UTC-06:00)
 Sunday, February 17, 2008

Although I have not been blogging much, I have been spending a ton of time on WPF and Silverlight projects.  I am still doing some things with ASP.NET AJAX but the majority of my time over the last year or so has been spent in what I call the "XAML Technologies".  Recently I had the opportunity to work with 3 other guys from Moxie Interactive on a Silverlight project for a 20th Century Fox movie called Jumper.  The site is an interactive trailer viewing site built entirely in Silverlight 1.0.  Take a look at the Silverlight site and definitely go see the movie!

Sunday, February 17, 2008 11:50:52 AM (Central Standard Time, UTC-06:00)
 Thursday, November 29, 2007

Woo-Hoo!  I have been checking every day waiting for the Silverlight Tools to show up for the VS2008 RTM.  They are available today!  Be sure to visit the Silverlight site or you can access the download directly from here.

I have been really busy lately and have been doing it all in Visual Studio 2008! Since I installed the Visual Studio 2008 RTM, I have not looked back.  Installing the Silverlight Tools will just take me one step closer to bliss (well maybe that is a bit strong and maybe a bit markety)!

Thursday, November 29, 2007 10:18:30 AM (Central Standard Time, UTC-06:00)
 Wednesday, August 29, 2007

The Alabama Code Camp site has been updated with some more data including information about the Silverlight game contest.  Sounds like it could be fun!  The call for speakers is out there.  If you do not have Silverlight installed, first of all, why not?  Second, here is a direct link to both the speaker form and the Silverlight contest guidelines.

Speakers should begin to be updated in the next couple of days!

Wednesday, August 29, 2007 9:11:04 AM (Central Standard Time, UTC-06:00)
 Monday, August 13, 2007

Looks like things have started moving forward with the next Alabama Code Camp.  The site has been updated with a new look.  It asks the question, "Do you believe in magic".  Interesting!  And the site is using Silverlight 1.0 RC!  The date is apparently Saturday October 6th.  No mention of venue yet.  A Silverlight contest has been announced and it looks like the winner is going to get a Zune!  Cool!

I will post more as the site gets updated.  I will be interested to see what the Silverlight contest is going to be.  If you want to watch the progress yourself, go to www.alabamacodecamp.com.

Monday, August 13, 2007 1:01:50 AM (Central Standard Time, UTC-06:00)
 Sunday, July 29, 2007

It is time, my friends!  Silverlight RC 1.0 has been released.  Silverlight periodically checks for updates, but why wait....go and install it now.  Just remember a couple things:

If you develop Silverlight apps, take note of my previous blog post about the breaking changes in the RC.

If you just enjoy Silverlight apps as a user, please keep in mind that it may take some developers a short while to make modifications to their existing apps to accommodate some of the changes in this release.


Sunday, July 29, 2007 8:21:37 AM (Central Standard Time, UTC-06:00)
 Wednesday, July 25, 2007

On July 13th, Tim Sneath posted that Silverlight 1.0 Release Candidate would be posted soon.  While that is great news, there is more to this post than just spreading that word!

There are some breaking changes that will be introduced in the release candidate.  But after this release, there should not be any further breaking changes once it is finally released.  Of course it could always happen, but it is nice to hear that the Silverlight team thinks this is a stable API release.

Tim includes a download link in his post that contains:

  • a new silverlight.js file that detects both the beta and the RC version of the plug-in,
  • a document that lists differences between the Beta and the RC releases,
  • an updated Visual Studio template that can be used to correctly embed the new plug-in,
  • and a EULA that governs the legal usage of the items in the above bullets.

Although we don't have access to the new plug-in yet, these items will allow us to get a head start on making our Silverlight programs compatible with the new RC prior to its release.  If you have been working with Silverlight 1.0 and/or doing presentations on it, I encourage you to be proactive and update your apps to be compatible with both the Beta and the RC.  That way, when it is released, you will be ready!

A couple of good resources of information on the RC and some of the breaking changes can be found at:
Tim Sneath's blog post on the upcoming RC release
Joe Stegman's blog post on the breaking changes

Wednesday, July 25, 2007 1:41:06 PM (Central Standard Time, UTC-06:00)
 Tuesday, April 17, 2007

For anyone who knows me, you know that I am considered the freak at my company because I have a strong level of experience with backend code, but I also love the graphic design side of the house.  Most folks do one or the other, but I love the creativity of UI.  So it was natural for a lot of the work I do to focus around web applications.  When WPF came out, I loved it.  It allowed for some really great UI experiences with a smaller amount of code.  So I made the decision to have WPF be the focus of my "new technology" effort.  I looked briefly at WPF/e, but had to focus!

Well since Microsoft formally announced Silverlight, the official name of WPF/e, I took another look at it.  I am hooked again!  This is really great!  I can use what I have been learning about WPF and put it on the web.  I can't help but just dive in!  So I imagine you will be hearing more about it soon.  I plan on adding a lot more entries here about my experiences with learning (and getting caught up) on Silverlight.  Hopefully my experiences will help others getting started!

Tuesday, April 17, 2007 12:17:12 PM (Central Standard Time, UTC-06:00)
Who Am I - Todd Miranda
MVP Visual Developer - ASP/ASP.NET
On this page....
<November 2019>
Aggregate Me!
RSS 2.0 | Atom 1.0 | CDF
Contact me
Send mail to the author(s) E-mail