[Windows Phone 7 Development and Hacking] MJCS:
I am more than likely going to start working longer days starting here shortly and will have less time to develop everything I want before the end of the year (don't worry I will still be working on the WP7 application). I currently work on Supreme Shortcuts after work...so if my work day gets longer that means I have less time to dedicate to Supreme Shortcuts. If a developer wants to help me create a desktop editor for the icons (making it easier to edit multiple items than doing it from the phone) please read the following:

The Idea

Create a new Silverlight/WPF C# application that can read/write to the Isolated Storage (see my Resources list below to learn how)

Create an XML parser that reads the __ApplicationSettings file (xml based) and look for all of the Keys that are in there. "Supreme_*_image" are all the images and "Supreme_*_Title" is the title of the tile. Each key has a value. This file is created the first time you load the application up and is only changes when you edit titles or there is an application update. Everytime you start the application it checks for all of the keys. If some are missing it will add them. Currently this is defaulted to English values but will contain the localized text I have recieved in the next version.

When you update an image by clicking on the small thumb on the main page and then select a new pic by clicking on the fullsized preview in the edit page, the image is copied to the Isolated Storage of the application "63baf355-cb84-412a-b391-f78805ceb964" under "Shared/ShellContent". Images must be copied here to use use mango's seconddary tile API. Currently I DO NOT resize the images to 173x173 when you select a picture but I will in the near future as loading a 5mp image as a 173x173 tile is just plain silly. I would suggest doing so if you make this utility.

To edit the title of the tiles simply replace the matching title's value. For example to edit "OneNote" you would find the key "Supreme_OneNote_Title" and then replace the default english value of "OneNote" with whatever the user enters.

Now for the images you almost do the same as the text except we DO NOT modify the __ApplicationSettings file. My code looks for an image with the same name as the image in the settings file inside the IsoStore/Shared/ShellContent. For example if we look up OneNote again ("Supreme_OneNote_image") you will get a value of "/Icons/OneNote.png" (This is the path inside my XAP). Upload the image to "Shared/ShellContent/" named as "OneNote.png". Supreme Shortcuts will always grab the image from the Isolated Storage before looking in the XAP.

Users will have to have their application closed in order to see the thumnail previews and text changes once they make a change via the desktop application. Reopening the application should refresh the datacontext and repopulate the images/text/toggleswitch states.

To see the tile they can then pin it to the Start Screen or if the tile is already pinned they will have to unpin the tile and then repin it to see the changed image/text. The unpin/repin is because my application does not update the images when you load the application. I might add a refresh tiles button or refresh tiles on application resume in the coming weeks but for now you will have to unpin/repin.

I suggest using icons that denotes images, text, and edit so you don't have to worry about translating/localizing the application. This just makes life easier.

Nice to haves (but not needed)

Export/import all the images into a zip file so you can share them with others.

Take an image and then cut it up into "x" number of tiles. Possibly give the user the option to superimpose the icon they want on top of that.

Resources

For example code that interacts with the ISO Store visit http://wptools.codeplex.com/ and download the source code. It is a great application even if you choose not to develop this.

To manipulate images in Silverlight check out http://imagetools.codeplex.com/. I currently use this library to copy the png data from the photo viewer to the ISO store.

Zipping/packaging images check out http://dotnetzip.codeplex.com/. I've used it before and it is fairly straight forward.

If you do complete this, send me the source code in a zip/7z file and I will package it all up and attach it to my post. Thank you ahead of time if you choose to tackle this!