Tuesday, July 26, 2011

Daily Links 26/07/2011

Novell/Xamarin Partnership around Mono

Windows Phone Developers Get New App Hub Features: Mango app submission just one month away

WP7 Dev Tips - Error Reporting

QR code scanning on Windows Phone 7.5 using ZXlib

Xceed Ultimate ListBox for Silverlight

Showing the Onscreen Keyboard in Silverlight OOB Applications

Cross platform .NET mobile apps talk at NDC 2011

Smooth Streaming in Silverlight

Offline Silverlight Applications
Channel 9 Video
Great presentation / source code for patterns when developing offline capabilites for silverlight applications. When you consider the intrusion of tablets in the work-place, and the mobility they provide, this becomes increasingly necessary - particularly of LOB apps.

Branch by Abstraction (BBA)
An alternate "best practice" feature-based branching strategy

Speed up Visual Studio Builds

GPU.NET, a developer platform with it's own Compiler and Runtime to easily hardware-accelerate .NET solutions.

Friday, July 22, 2011

Windows Phone: 1-Click Backup and Restore of Isolated Storage Data

WP7 Development Tools ships with an Isolated Storage Tool that allows you to backup and restore files that are in the Isolated Storage – on your device, or on your phone. Problem is, it’s a command-line tool, so it’s not all that user-friendly. Here are some steps to make use of that tool and Visual Studio Toolbar Buttons to create a quick 1-click shortcut to backup and restore your data.

Step 1: Find your Application Id

You can find your Application Id in the form of a Guid in the AppManifest.xml file:



Step 2: Create a batch file to call into the IsoTool.exe

I found it handy to great one batch file for backup, and another for restore.
If you really wanted to, you could define a single batch file with % placeholders for the parameters (backup / restore / device / emulator)

So for backup, it should look something like this:

@echo off
cd "Program Files (x86)\Microsoft SDKs\Windows Phone\v7.1\Tools\IsolatedStorageExplorerTool\"
ISETool.exe ts xd {<PASTE ProductID HERE>} %1
echo Backup Complete

… and for the restore, something like this:

@echo off
cd "Program Files (x86)\Microsoft SDKs\Windows Phone\v7.1\Tools\IsolatedStorageExplorerTool\"
ISETool.exe rs xd {PASTE ProductID HERE} "%1\IsolatedStore"
echo Restore Complete

The above 2 files target the emulator – if you’d like to target your device, you can update “xd” to be “de”

Step 3: Add a Visual Studio External Tool Command

From the Visual Studio menu, go to Tools | External Tools. 
Click “Add” to add a new command, and it should look something like this:


I found it handy to prompt for arguments, so that I could append to the path for different backups / restores.
Do the same for the restore batch file.

Almost there – you can now backup and restore by accessing the commands from the Tools Menu in Visual Studio – but I did mention we’d add a “1-click” solution, so optionally follow step 4…

Step 4: Hook the External Tool Command to a Toolbar Button

From Visual Studio, right click the toolbar, and select “Customize”.
From the Toolbars tab, click the “New” button, and give your toolbar a name.
Then switch to the Commands Window, select the “Toolbar:” radio button, scroll to the toolbar  you just named, and click the “Add Command” button.
In the “Add Command” dialog, scroll to the “Tools” item under “Categories” on the left.
Now this is where Visual Studio gets a bit sucky – the command doesn’t have a name that makes sense. If you haven’t added any custom commands in this manner before, the names of the backup and restore external tool commands you just added should be something like “External Command 5” and 6:


Click the OK button to add a button. From there you can give it a name that makes sense:


Click the close button, and voila, you should have a toolbar with buttons that will backup and restore the data on your WP emulator / device:


Happy Coding Smile

Some other Software Development Articles…

Tuesday, July 12, 2011

Daily Links 12/07/2011

MonoCross - The Technology
Some very interesting thoughts on cross platform development, along with an open-sourced framework that practically implements it.
The Mono team has since been retrenched, but keep an eye on Xamarin (from those very same developers) for some exciting developments in the cross-platform space.

Creating WP7 promotional videos

Portable Library Tools
Single library - multiple .NET platforms

Top 8 Websites To Learn Windows Phone 7 Development

WP7 Launchers - Mango (Windows Phone 7.1)

Resources for Windows Phone Mango Developers

PinCodeKeeper WP7 app - Submitting to Marketplace

Building a detailed About page for your Windows Phone application

Silverlight Touch Library
Provides some parity with the touch API found in the windows phone silverlight framework