Let me start by presenting some of the things that I wanted from a simple framework for building nice looking user interfaces on WinPhone:
- Be able to do whatever I want (i.e. no graphical restrictions)
- Run on all devices with WinMo5 or later (incl. WinPhone 6.5)
- Run on all touch and non-touch devices
- No dependency of third-party products (Resco, miraByte, etc) or even libraries (GapiDraw, etc)
- No multi-form problems (task switching, etc)
- Support for any resolutions (from 176 x 220 all the way to 480 x 800)
- Support for any orientation (portrait / landscape)
- Soft (kinetics) scrolling with a finger (multi-touch is simple not possible with the current hardware)
- List item selection (with highlight coloring according to current theme)
- Form switching animations (left / right)
- Ability to recognize simple gestures
- Pure managed code (based on CF 3.5)
- All of the above with with a single code and executable!
- Easy to understand and use (i.e. few lines of code)
For an experienced CF developer, this list seems like very high expectations, but I will talk about each of the items in the list and show how it can be implemented.
Just to give you an idea of where we are heading, there are some screenshots of the TouchUI sample application (both the sample application and the TouchUI framework can be downloaded from the CodePlex project named TouchUI):
The first is screenshot is from a traditional non-touch device (WinMo 5 Smartphone with a 176 x 220 screen), and the second and third are from a new high-res device (WinPhone 6.5 Professional with 480 x 800 screen). The beautiful strawberry graphics is from a photo by Tina Phillips / FreeDigitalPhotos.net.
However, the best features are not visible in screenshots, e.g. the nice soft (kinetics) scrolling, and form switching animations. To better understand the user experience, I recommend you to download the code and load it up on a physical device. I hope you will enjoy it!