The Garage is back to share the Photos App -- a sample application with reusable sample controls for use with the Microsoft Surface 2.0 Software Development Kit (SDK), It's more goodness for the Microsoft PixelSense community. This seemingly straightforward application packs some important design and engineering innovations that make it easy for people to walk right up to a Samsung SUR40 with Microsoft PixelSense, insert USB removable media, and immediately share their photos with friends, colleagues and customers. This sample application can be readily deployed and completely customized with the included code sample and reusable controls -- it is provided as-is, and is not supported. Click here to download Photos App by Garage.
Image: Photos App by Garage
Included Photos App sample controls
This sample application includes several reusable sample controlsthat developers can use to make their own applications even better:
Installing Photos App
This sample applications does not come with its own installer.Copy the .zip file contents to a folder that all users will have access to (e.g.: C:\SurfaceApps\). Right-click on the PhotosApp\Release\PhotosApp.xml file and Create Shortcut. Copy that shortcut file to C:\ProgramData\Microsoft\Surface\Programs\ and then use the Surface Configuration Utility to add the application to Launcher.
Using removable USB media with Photos App
The Photos App has the ability to display photos from an external USB storage device. All you have to do is create a directory on the USB drive called \PhotosApp\Content\ and put your photos in there. Launch the Photos Apps and insert the removable USB drive into your Samsung SUR40. The photos will replace the existing contents of the Photos Apps directory and will persist until another removable USB device with new content is inserted and copied over. If you want to disable the ability to copy photos from removable media change the content in the application directory on the hard drive \PhotosApp\Content\ to read-only. This will prevent the file system from overwriting the original files with new pictures and effectively block users from sharing their photos on the device.
Garage is a community of Microsoft employees that are passionate about Microsoft PixelSense, Samsung SUR40, computer vision, and natural user interface (NUI) technologies. Last year TechCrunch reporter Devin Coldewey visited the Surface Garage wrote a great article that gives a little more background on the group: "Microsoft’s Surface Garage: A Cross-Department Development Team, With Pizza And Beer." One of the group's goals is to contribute helpful code samples and demos to the greater PixelSense development community. This work is done by enthusiastic employees in their off-hours. The nature of these projects creates code which is outside the scope of a standard product release; but, as samples they can be valuable to the community.
The Garage team would appreciate feedback on the usefulness of this sample application and controls for developers. Feedback will help frame future contributions from Garage. Options include releasing more samples in an agile format similar to this one, which puts more work on the developer to figure out how to put things together. Or, they can do a slower contribution cadence with more polished source code, but fewer posts. Since the Surface Garage is really looking to help the PixelSense development community, they'd really like to know what you think. Please post your thoughts and comments below.
Thanks for this app - much appreciated!
Any insight into what will happen with Surface and Surface SDK as Windows 8 nears release? Will there be a Surface 3.0, or will Surface be replaced by Windows 8? Will there be additional form factors, especially larger tables than the Samsung SUR40?
We are evaluating whether to invest on the Surface platform for specific markets but Microsoft has been very quiet about the platform. Any visibility, plans etc. would be appreciated.
Thanks for the app :)
I actually found this as I was searching for some microsoft examples with ScatterView.
I'm part of a team that is creating Surface (sorry I mean Samsung SUR40 with Microsoft pixelsense) in partnerships with musems in the UK. When we deployed our app in the wild - I was really dissappointed with performance of it - I'm also a game developer - so anything less than a solid 60fps is quite upsetting :) I've since had a look at a load of different performance improvements - e.g. Cached Composition and played with the WPF Performance Suite - but still no joy.
However, the performance issue I'm having is also present in your Photo App. Make an image large and drag it around the screen and hopefully you'll see what I mean. The frame-rate drops quite considerably.
Any pointers? I'm sure it's possible to exact some more performance out of this :)
I know this comment is quite a while after release, but I've run into a problem with the auto-import from a USB drive feature. I've been testing this feature with a Sandisk Cruze Micro, which has software that makes it use both the E and F drives. The E drive is dedicated for a Windows platform that allows the Cruze to run applications directly from the flash drive. However, this is also the drive that the Photos app looks in first. Once it finds that the correct directory is not in the E drive, the program fails out and does not look to the F drive to import images. Is there a workaround for this in the code-behind? I'm working on testing this with a flash drive that only uses one drive, but I was just curious about this problem as well.