Tablet Development with Microsoft Silverlight

On August 6th I gave a presentation for ReMix South about tablet development with Silverlight. It was a fun presentation to give. I presented using a Motion Computing CL900 to demonstrate the difference between standard applications and ones that are touch-optimized. I also spoke quite a bit about why Silverlight was the strategic choice for…

Silverlight 5 Incompatibility: Play by the Rules

I’ve been using the Silverlight 5 beta for some time now with no issues, so it was a surprise when I came across a project that did not work. It was definitely a backwards compatibility issue because it would run fine in Silverlight 4, but once installed the version 5 runtime, no luck. I started…

Using Attribute Validation in Silverlight with WCF RIA Services Example

I’m not a big fan of attribute-based validation because I find there are often complex requirements that involve asynchronous operations that often break the attribute model. I prefer more fluent validation using rules that can be shared between the client and server and can handle asynchronous scenarios. For those times when I do have to…

Reflection, Lambda, and Expression Magic

Sometimes I love how a little reflection can work magic. In this case I was building what I’ll call a “non-intrusive” validation system. The project contains entities that are generated by templates, and it would be extremely difficult to crack open those templates to put in a lot of custom validation code. So I decided…

Where’s my DataContext?

Every now and then a question comes up concerning a missing DataContext.  The questions usually center around a ViewModel being set to a View properly, but then developer can not bind some command or property to a FrameworkElement.  And typically the FrameworkElement in question is nested within an ItemsControl’s ItemTemplate or other similar structure. First…

How to Scale a jQuery Mobile Site for iOS

I was recently working on a jQuery Mobile application and everything looked great on my 21” touch monitor on several browsers, but when I deployed to the server and then hit the page on my iPhone, I ran into a few issues that I needed to work through in order to make the site what…

Creating Custom Ringtones in Windows Phone Mango

Now that I have upgraded my phone to the Windows Phone 7.1 Developers’ Preview, one of the features I’ve been anxious to try out is Custom Ringtones – the default tones and the ones provided by AT&T are “interesting”, but they’re just not “me.”  Windows Phone 7.1 (AKA Mango) supports custom ringtones – but how…

How to Include and Deploy Data using a Visual Studio Database Project

I’m a big fan of Visual Studio’s Database Project and I’ve used them successfully in several client projects.  If you are not familiar with using the Database Project, I encourage you to give it a look.  It gives me a nice warm feeling to see that the database schema and even necessary seed data is…

Enriching Windows Phone 7.1 (“Mango”) Apps with Secondary Tiles

Another new feature of Windows Phone 7.1 that every developer should know about is secondary tiles. Windows Phone 7.0 allowed users to pin an app to the Start screen, creating a tile for that app. But it limited apps to one tile each, and it provided no mechanism for passing information to an app launched…

Building Cross-Platform Mobile Applications with HTML5 and Mango

One of the most exciting new features coming in Windows Phone 7.1, code-named “Mango,” is an HTML5 Web browser based on IE9. One by-product of this addition is that you can use Mango phones to browse HTML5 Web sites. But the greater implication is that developers can now use HTML5 to build cross-platform mobile applications…

Consumerization of IT and Silverlight Line of Business

Yesterday I had the opportunity to present a demo at the Worldwide Partner Conference (WPC) in Los Angeles. The session was called “Profiting from the Consumerization of IT with Windows Devices and Windows 7 Enterprise.” The focus was on how consumer-driven trends impact the enterprise and ways to work with, rather than against, that trend…