DFW Silverlight and WP7 DevCamp

SilverlightPalooza

Silverlight Tank Game

Our project was a a simple 2D tank game. Our goal was to make something we could enjoy during our down time at work. We started by drawing a simple tank stick figure and created rotation and movement keys from C#. Our project grew with more refined graphics, better movement controls and replaced the cursor with a cross-hair. Finally we added a simple background and the ability to shoot bullets. With 2/3rds of us not familiar with C# we had a lot to learn and even more to debug. All and all it was a fun project and I’m hoping we can continue to add to it and one day make it into a real game.

  • Share/Bookmark

WP7 Rovio Controller

We decided to build a Rovio controller for the Windows 7 Phone. The Rovio is a robotic web camera made by the folks at WowWee (http://www.wowwee.com/en/products/tech/telepresence/rovio/rovio). The Robot sports among other things a nice restful service architecture and a mini web server making sending the instructions to and getting information from the robot as easy as just hitting URL’s. As you can see by the above photo the background of the phone is a stream of camera images from the phone. On the left there are 2 progress bars, the top for WiFi signal strength, and the bottom for battery power. Just to the left of that are three arrows that instruct the robot to move forward, left and right, and a stop button that tells it to stop moving. On the right hand side of the UI are a series of buttons that allow you to put the robots head up, head middle, head down, headlights on, and to tell the robot to go home. At the bottom of the screen is some diagnostics information for the user. The final feature of our application was that since the phone emulator doesn’t have an accelerometer, we wired the emulator up to a Wii controller allowing you to steer the robot with the accelerometer in it.

See Shawn’s complete Blog post here

  • Share/Bookmark

Team Painted Silver — Silverlight Video Stream

The American Paint Horse Association holds two World Championship Paint Horse Show in the Summer and Fall each year. Team Painted Silver was formed to help us out with our Live Video Broadcasts for the Horse Show. In addition to showing the Live broadcast feeds from both arenas, we wanted to push Data out to the Silverlight App. This would show the Name of the Class in the Arena, the Class Listing for that event, and display the Current status of the Rider in the Arena or if that Arena was on a break or done for the day. We got a pretty good start on the front end design and the ability to accept data changes to that design. The backend portion for pushing the data out gave us trouble though and kept us from finishing the final parts of this project. We hope to continue with this and solve those problems and begin Pushing out the changes. Feel free to visit www.aphaworldshow.com and look for our Live feeds during our Summer and Fall shows, if all goes well we hope to have Painted Silver working in the near future. Thank you all for your help during Silverlightapalooza.

  • Share/Bookmark

Timeline Visualization

The Timeline Visualization project takes the date of birth and death of people and creates a visualization showing their lifespans in relation to each other graphically.
This is a project that has been bouncing around in my head for a number of years but didn’t seem feasible to do in a normal web based application. Silverlight will provide the precise layout and advanced data binding to make this work the way I have imagined it. I was very new to Silverlight at the beginning of the class, luckily my partner Bob Flaherty had more experience. With some help from the on site experts, we were able to create a Silverlight application that used data stored in a collection of objects to generate a graphical timeline of the lives of our 11 test subjects. The information on each person is displayed inside a combination of a rectangle and a textblock which are inside a grid, which is surrounded by a border, which is inside a stack panel along with a rectangle, which is inside a data template, which is inside an item template, living inside a listbox, which is inside a grid (Just describing it is kind of exhausting). We created a value converter to change the background color of each subjects bar based on their category (composer, author, etc.). A tooltip pops up to display biographical information about the subjects.
This is a project that I plan to expand on considerably as I become more proficient in Silverlight.
  • Share/Bookmark

WP7 Rolling Dice App

This is a basic die roller app. It will currently roll one or two 6 sided dice, but this can easily be expanded once WP7 supports the wrap panel control. The dice are animated cubes which are currently rotated based on a random number parameter. In an actual phone that functionality would be augmented by accessing the phones accelerometer to provide a more realistic user experience. Whichever face ends up pointed towards the user is the value which is displayed in the text block beneath each die.

In the future I intend to:

  • add other dice values (4, 6, 10, 12, and 20 sided dice)
  • tweak the animation so that the end face is more obvious
  • display the total sum value of the dice rolls
  • create visual styles such as randomly colored dice, translucent dice, display numbers instead of pips, etc.

The biggest hurdle in moving forward is creating the 3D models of the dice. Silverlight doesn’t have any 3D primitives by default, so each model’s position and rotation has to be built face by face.

This is a basic die roller app. It will currently roll one or two 6 sided dice, but this can easily be expanded once WP7 supports the wrap panel control. The dice are animated cubes which are currently rotated based on a random number parameter. In an actual phone that functionality would be augmented by accessing the phones accelerometer to provide a more realistic user experience. Whichever face ends up pointed towards the user is the value which is displayed in the text block beneath each die.

In the future I intend to:

  • add other dice values (4, 6, 10, 12, and 20 sided dice)
  • tweak the animation so that the end face is more obvious
  • display the total sum value of the dice rolls
  • create visual styles such as randomly colored dice, translucent dice, display numbers instead of pips, etc.

The biggest hurdle in moving forward is creating the 3D models of the dice. Silverlight doesn’t have any 3D primitives by default, so each model’s position and rotation has to be built face by face.

  • Share/Bookmark

SL Site that uses SQL and CRUD operations

SL Site that uses SQL and CRUD operations possibly RIA

  • Share/Bookmark

Subtle transitions & animations with Blend

The goal of the task is to create subtle transitions & animations only using blend capabilities without any code

 

1.     Transitioning Page Navigation

Visual Studio comes with two silverlight project templates namely “Silverlight Navigation Application” and “Silverlight Business Application”. Page Navigation is achieved by loading silverlight pages into a control called “Frame”. Frame control, by default, doesn’t come up with any transitions.  Transitions like “Flip”, “Fade” and “Slide” are implemented using Expression Blend

2.     Adding animations to Business applications

Expression Blend 4 introduced a new behavior called “FluidMoveBehavior “.  Smooth animations can be introduced without any code into business applications. Master-Detail scenario is implemented and animations are added using FluidMoveBehavior

3.     Carousel using PathListBox

PathListBox is a fascinating control which lets its children layout in a given path.  Many of its properties can be changed over time to create nice animations. Carousel is implemented by creating a storyboard which animates the “start” property of the PathListBox

  • Share/Bookmark