Sterling Silverlight and Windows Phone 7 Database Triggers and Auto-Identity

Sterling changeset 72063 [browse the source code here] introduces triggers. The trigger is a powerful feature that allows you to universally intercept database operations. Their application in Sterling resolves several concerns, including: Validation — prevent a save operation from succeeding if data integrity is compromised, or prevent a delete operation when prerequisites are not met…

Building Touch Interfaces for Windows Phones, Part 2

In Part 1 of this series, I described how to build simple touch interfaces for phone apps by processing mouse events. Recall that primary touch events – events involving the first finger to touch the screen – are automatically promoted to mouse events by the run-time, and that you can build a UI  that responds…

Building Touch Interfaces for Windows Phones, Part 1

One of the key hurdles that developers face when transitioning from Silverlight to Silverlight for Windows Phone is learning how to build touch interfaces. While the desktop versions of Silverlight do support low-level touch events, the vast majority of desktop applications eschew touch input and rely heavily on mouse input instead. Building great touch interfaces…

Windows Phone Won’t Connect? Try This

Lately my Samsung Focus has been giving me a lot of trouble. Specifically, when I connect it to my PC, the Zune client reports that it’s not connected. This means I can’t sync the phone. Worse, I can’t load apps onto it from Visual Studio for testing. After scouring the Web for solutions, I came…

Jounce Part 9: Static and Dynamic Module Management

One popular feature in the widely used Prism Framework is the concept of “modules.” A prism module is a functional unit that represents a set of related concerns. These concerns can be coded and tested independently and then composed into larger applications. They can also handle dependencies with other modules and be discovered and dynamically…

Signal-to-Noise Ratio, ROI and ROA in Software Development

I normally focus on very technical posts with a lot of code. Recently, I’ve been asked a few questions and had some interesting conversations that prompted this more philosophical post. I’d like to take a step back and look at the software development process in general and you as the specific developer, to share some…

Using Sterling in Windows Phone 7 Applications

Sterling is an object-oriented database that I created to facilitate ease of serialization of data in both Silverlight 4 (soon 5) and Windows Phone 7 projects. Sterling was designed with a few goals in mind. It is not a true relational database and not intended to replace one. I’m confident certain offerings such as SQLite…

Scaling Up Or Scaling Out In The Cloud

Windows Azure provides us the ability to scale our application up by specifying how many CPU cores we want in our service instances, or to scale out by specifying how many single-core instances we require. Both strategies can be used to accomplish our scaling objectives for the same price (8 1-Core machines @ 12 cents/hour…

Installing Windows Azure SDK v1.3 Breaks Support for Visual Studio 2008

Be aware that installing the November 2010 Windows Azure SDK v1.3 will break support for cloud projects running under Visual Studio 2008. To the best of my knowledge this was not widely announced (in fact, I learned about this fact during installation of the SDK). If you have Visual Studio 2008 Windows Azure projects, you’ll…

Jounce Part 8: Raising Property Changed

This will be a shorter bit for an interesting topic. I’ve noticed a few posts and discussion around raising the property changed notification. This continues to be the sore spot for MVVM. It creates quite a bit of ceremony for what is a fairly common piece of functionality that shouldn’t be so hard to create.…

A Silverlight MVVM Feed Reader from Scratch in 30 Minutes

I thought it might be useful for users (and potential users) of Jounce, MVVM, and Silverlight in general if I were to show the full process of building an application. When people ask me about how complicated MVVM is, I reply “it’s easy when you know it and use the right framework.” I hope this…