Creating a Windows Phone 7 Series application
Yay, long article time!
With the release of the Windows Phone 7 Series (I really really hate that name so I’m gonna just use winmo7) SDK, I decided to give it a shot and see how hard (or even easy?) creating an application on the platform would be.
I should probably mention I have very little experience coding in SilverLight and only dabbled with it a while ago, and I’ve been coding in C# for a good half year or so now but once again not quite that much experience in the language. On top of that, most C# applications I’ve written use Windows Forms and not WPF. I’ve also decided that my first application will be a simple browser for Amazon S3 (considering how much I’ve been fiddling with it recently), of whose API I have zero experience with as well. So from what I can tell, I have quite a learning curve ahead of me ![]()
I’m not going to go over any problems I have over the IDE, APIs, language, etc… but I’m going to try to focus on the experience of creating an actual application for the platform.
Initial Setup
The download and install of the SDK was relatively painless. It did take quite a while though because I had the beta of Visual Studio 2010 still installed and the SDK requires either the RC or it will install Visual Studio 2010 Express on its own. I didn’t really feel like downloading and installing Visual Studio 2010 again, so I had to uninstall VS2010 along with the .Net 4 beta. After which, the SDK installer downloaded and installed the RC for me. It was kind of annoying how it didn’t really tell me why the beta simply HAD to be uninstalled and I had to search through the depths of their forums to figure it out, but I guess most shouldn’t have this problem.
One thing to remember if you’re using the Express version of VS2010 though, I don’t think it’s possible to have any VCS integration so you’ll have to do it outside the IDE.
My First App
Opening up VS2010, I’m presented with a few nice big buttons on pre-set winmo7 specific projects. You can create a Windows Phone App, a Windows Phone List App (not sure what this is exactly but it’s somehow specific to “list and navigation controls”) and a Windows Phone Library.
I figured I want an application and I’ll code in a simple library for working with S3 inside that.
So I went ahead and choose the first option and it creates a nice looking UI preview for me with the phone chrome and all so I can see exactly how it will look. Not bad. Running the program launches the emulator (which takes quite a while :/) and launches my app which currently does nothing. Good enough of a Hello World for me!
Also of interest, the emulator need only be loaded ONCE. It can then be used for multiple debug/run sessions, very nice considering how long it took to load up!
Designing the S3 Browser
So at this point I need to figure out how I want the program to look and behave. I’ve decided to use this desktop S3 Browser by NetSDK Software as a basis on functionality. At the bare minimum, I’m going to need a way for users to enter in their keys and save them (because typing them in every time on a mobile device will DEFINITELY be annoying). They then need to be able to view buckets, and then be able to explore the contents of each bucket. Perhaps even adding in the ability to upload, download, delete and rename files if possible. Though at this point, I’m not even sure if winmo7 has a concept of a user accessible file system or if it’s abstracted/sandboxed like the iPhone.
Screens will probably be something akin to:
(1) Login/Key Manager -> (2) Buckets -> (3) Browse
(To the left you can see my first stab at the login screen using the built in controls.)
I’m going to have screen (1) act as a login screen for now, no saving of multiple accounts. That can be added later. Screen (2) will simply list buckets, and then later allow creation/deletion of them as well possibly. And finally screen (3) will list all your files and other functionality to be added later.
The actual design of each screen may be somewhat trivial, but I want the look and feel of application to be as if its a part of the operating system. A quick google search shows that there ARE a set of guidelines so I’m going to have to read them over and figure it out. From what I can tell though, as long as I’m using the Controls that are given to me then most of it should follow the look/feel anyways.
Initial Thoughts
So far, it seems that Microsoft has gone out of their to make it very easy to develop for the platform – leveraging technologies that developers should already be familiar with: Visual Studio, .Net, Expression Blend, SilverLight, etc…
I suspect that the SDK will become better as time goes on. For example, being based on .Net it wouldn’t surprise me if they allow programmers to use languages other than C#. Also from what I’ve been reading, a lot of people have had success porting over their existing SilverLight applications relatively easily and quickly to the new platform.
What’s Next?
Well, I’ve gotta make a library of some sort to connect to S3. I’ve gotta figure out how to use WPF but that shouldn’t be too difficult. Then I’ve gotta get it all working in the emulator. I’ll post updates as I have them, for now my project is available below along with a repository (SVN where it also turns out I managed to misspell theootz as theooz :/) link – feel free to check it out.
Possibly related posts:


No comments yet.
209No trackbacks yet.
Going Ons
about 3 months ago - View Comments
Whew, busy last little while – been a while since my last post!
Since then, I’ve applied to positions for an internship at school and finished my semester. Went through a bunch of interviews and finally accepted a position at ATI (i.e. AMD) which is awesome! I’m not really sure yet if I’m allowed to blog about the things I’ll be working on there but I’ll find out. Would be cool to keep track of the progress I make while there for the next 16 months. Along with that, I’ve bought myself a car to get to and from work[…] read more
Your site, saved and backed up on the S3 cloud!
about 5 months ago - View Comments
I got sick of having to do backups manually and then manually saving them somewhere…then I wondered if it’d be possible to use my S3 service to back up my website? I mean, I’m already using it as a content distribution system but having a full backup of all files + databases would be nice too!
What You Need
You’ll need PHP, bash, CRON access and python to get this working. And given the bash/cron requirements, that also means it assumes you’re running a *nix based server. It’s probably possible to get the requirements down, but I just wanted to[…] read more
Speed, projects and features – oh my!
about 5 months ago - View Comments
Added a whole bunch of new features to the blog, mostly back end changes but a few new pages too.
There’s the new “Projects” section which is powered by a nice little back-end script to let me easily manage links and data to all the projects I’m working on, or have worked on.
I added a “LifeStream” – based on the same concept that facebook uses to aggregate many social sites into one ‘stream’. Ironically, I disabled facebook from showing up on the stream because it was posting way too much. Though the upside[…] read more
Da Stank Bank Uploader – progress!
about 5 months ago - View Comments
Got a chance to sit down and finally do some more coding for this project which has been neglected for long enough now :/
I managed to add effectively full (for the program’s purposes anyways) youtube support to the program now. So it’ll batch render the mp3s to videos, and then upload all of them to youtube. The user can choose a youtube description for each file or just use the default one, as well as tags, the youtube category (synch’d with their schema), tags, etc…
Next up is figuring out the wordpress API to make posts on there,[…] read more
Da Stank Bank “Uploader”
about 6 months ago - View Comments
So, after seeing the process begin to get somewhat convoluted for our uploading of music to Da Stank Bank I decided there must be a better way to go about doing this stuff.
The current process goes somewhat like this:
[…] read more
UDK TD – Unreal TD
about 6 months ago - View Comments
So early last semester I began some work on attempting to create my own TD (tower defense) game type on the Unreal 3 engine when UDK was released to the public. Unfortunately, work kinda halted after designing a basic level since I couldn’t get much of the things to work and there wasn’t much public documentation at the time. But, I’ve recently come across a crowd-control tutorial that seems to give me what I’d want for the creeps the towers would kill so looks like I’m going to give it another shot.
So far I’ve figured out how to[…] read more
Da Stank Bank!
about 7 months ago - View Comments
The stank bank is a music blog run by my cousins, definitely worth a look! The best in dub, drum n bass, and electro
Visit Da Stank Bank
Possibly related posts:
Obligatory “Hello, World!”
about 7 months ago - View Comments
Well, new host, new site and new blog. Just a place for me to put anything I find interesting, as well as for people to find out about me if they are so inclined.
No related posts.