One of the main selling points to me for Windows Phone 7 was the opportunity to write mobile apps in a .NET environment. I thought I would summarize here my experiences over the last few months from signing up as a developer, writing and deploying for the first time and working with the Marketplace.
Becoming a Windows Phone developer could not be easier, the Microsoft Developer Network (MSDN) has a section solely for developers working on XBox and Windows Phone; create.msdn.com. Having signed in with a Windows Live ID, you complete the standard registration type form and wait for the slightly ominous sounding next step, Identity Validation. The name of this step is a lot more scary than it actually is, they simply require a scan of some form of official document to verify you are who are claiming to be. They claim this process could take up to a week however mine was turned around inside 24 hours, now either I’m really easy to track down or they aren’t checking into you that deeply.
One of the best things about the .NET framework is the development environment, Visual Studio is without a doubt one of the best IDEs out there for doing just about anything; desktop development, web or cloud and now mobile. If you have the full Visual Studio 2010 then you can download the Windows Phone development tools as a plug-in however if you don’t have the £500 to drop on an IDE (if someone would like to donate to get me a copy I’d appreciate it) then you’re in luck you can get almost the same functionality for nothing with Visual Studio 2010 Express, this lacks some of the fancier features of the full program (plug-ins, team support, etc) however it is ideal for experimenting with Windows Phone. With either option you get a new build target of WP7, this target launches the emulator which is fluid and does not feel anywhere near as clunky the Android one tends to.
Okay so that’s the environment, but what is it actually like to develop for Windows Phone 7? If you’ve developed for Silverlight or WPF then you’ll have no problem at all getting up to speed with the WP7 specific libraries. There is a thriving Windows Phone Developer community sharing a wealth of knowledge and components, so even if your development experiance is limited you can quickly get help when you do hit a roadblock. If you have experience with Visual Studio you will be familiar with the “designer mode” for creating UI elements, the Windows Phone SDK adds a range of phone specific version of many UI elements, better tailoring their design to the touch interface. The templates for pages and controls can be used to get you up to speed very quickly with designing within the Metro UI guidelines, however I thoroughly recommend having a read of Jeff Wilcox’s Metro design guide for developers as this will take an average looking app and give it beautiful metro polish. However there will come a time when what you want to achieve is just not in the standard toolkit of components but designing a custom control seems a bit overkill. For many of these situations you can turn to the Window Phone Developer community I mentioned earlier. One toolkit I would strongly recommend is the Coding4Fun Windows Phone Toolkit, this contains a range of additional controls, converters and helpers to speed up your phone development. The control I needed was the TimeSpan Picker which extends the lovely looking (and very touch friendly) time picker control from the SDK to help users input TimeSpans, ideal if like me you are writing anything requiring timers. The only control in the set I am hesitant to recommend is the About prompt, while it looks very slick and makes writing a quick about info pane as simple as possible I noticed some jarring animation when running this on an actual device. If you want to write an about page for your app I suggest looking again to Jeff Wilcox who created a beautiful, detailed and performance friendly Pivot based about page for his app “4th & Mayor” which he details here. I have implemented a similar model for PBTrainer 1.2 and have to say it feels a lot more polished than using the dialog.
Well after waiting nearly a month with no end in sight for T-Mobile to finally get some stock of the Desire HD, I caved and cancelled my contract. What prompted this? The new Windows Phone 7. I’ve fled back to O2 to get the O2 exclusive HTC HD7 and I must say upfront i’m very happy.
As a piece of hardware its a beautiful, beautiful fingerprint magnet. The massive 4.3 inch screen dominates the device, while not as vibrant as the Super AMOLED screen on the Sumsung Omina 7 its still lovely. Some reviews have expressed concern over the build quality of the device I have seen nothing to back this up, yes the back in plastic rather than aluminium but it still feels sturdy and does not creak. My only initial concern was the kickstand which surrounds the camera sensor however having lived with the device for a week I’ve been convinced that there is nothing to fear here. The kickstand opens and closes with a reassuring snap, I’m sure if abused it would eventually break away however that is true of any phone.
I picked my HD7 up shortly before going on the road for a week…this meant that if the setup didn’t go well it was going to be a difficult week. However I was pleasantly surprised, I signed in with a blank live id which has no associated email account for it to search, I then added my gmail account and was relived to see my contacts sync down to the phone. There have been mumblings of contacts not being synced from Google if they are not properly formatted, either my contacts are perfect (very unlikely) or these fears are exaggerated. Next up I added in my Facebook account, this is where the Windows Phone 7 Hubs feature comes into its own. As my Facebook friends synced with the phone it automatically integrated with my Google contacts where there was obviously overlap. This works surprisingly well it was even able to suitably match up account information for friends who have the same name. There were of course a hand full which have to be manually tweaked for people who I didn’t have complete information for (or had silly things in their Facebook name). Hubs makes navigating this aggregation of information really easy, when you first launch the people hub you are shown a list of all of your contacts, swipe to the left you a given a ‘what’s new’ feed with status updates from Facebook, swipe left again and you have a number of your recently accessed contacts. This panorama of data looks awesome while being beautifully functional.
There’s been a lot of press floating about today about a new Firefox extension called Firesheep. This extension sniffs networks for HTTP cookies for a number of popular social network services and captures them ready for one click session highjacks. Thanks to the publicly available APIs for these networks Firesheep performs a lookup to see exactly whose’s cookie you have allowing greater refinement of attack.
A lot of people have responded to this by advocating MiFis and VPN solutions to prevent ever using public WiFi in the first place. However this requires extra kit and therefore extra expense, you could recommend users only use the SSL encrypted pages but really how many people while remember to do this for ever site they visit?
In the mind of fighting fire with fire you can fight extensions with extensions, KB SSL Enforcer for Google Chrome provides a near zero effort solution to the problem. This extension will automatically redirect the user to a SSL encrypted copy of the page if one is available. All the security with much less hassle.
Have been meaning to post these up for a while but here they are at last, the 2011 Reading Entity jersey!
I’d like to say thanks to our sponsors for next year GI Milsim, the NSPL, UCZ paintball parks and PB Warehouse, Planet Eclipse, Paintball Pictures, Dark Sports, Tanked, Full Bore Images, NXe, Custom Products and BullitProof Monkey.
For updates from the field the Entity Twitter feed will be in full force throughout the off season.
Last week saw the push of the latest release of the Zune desktop software, normally a new release is the indicator of new functionality. Following the update there was a flurry of postings to the Zune community forums complaining about the mysterious disappearance of serveral parts of functionality, namely all of the social functionality and the recently introduced Smart DJ function. As these posts rolled a pattern emerged…they were all from international users.
Now Microsoft has prior for attempting to block international users from accessing the Zune social, which I have discussed at length here before so rather than drag that up again we’ll focus on Smart DJ. Smart DJ was introduced with the Zune 4.0 software and greeted with applause, it provided the functionality to automatically build a playlist of similar songs based on a selected album, track or artist ala last.fm. This feature obviously adds value to the product, and competes well against iTunes Genius playlist, there seems to have been no reason to limit this to US users only.
Fortunately EwanD over on the Zune.net forums has posted a cunning work around which re-enables Smart DJ.
…well damn its been a while since I’ve written a post on here. But life has been more than a little hectic over the last few months, exams, moving house, graduation and starting a new job.
Well four years after I started there I have graduated from the University of Kent with an upper second class bachelor of science with honors in Computer Science with a year in industry. It has without a doubt been an amazing four years, I’ve met some brilliant people, experienced so much and enjoyed myself immensely. I’d like to thank all of those who have been there over the last four years, early morning drives to practice, late night coding sessions, many awesome nights out and just kicking back to watch the world pass by. Without these people I would not have been able to achieve what I have.
I’ve been very fortunate that I’ve been able to secure myself a job, which I will not go into on here for many reasons. Its nice to be in a position to apply what I have learnt over the last four years, spend my working day with people who have an genuine interest in technology and most of all enjoy the work I do. After all what is a 40+ hour working week if you are only waiting for the other 128 hours?
Last December I was fortunate enough to attend the ‘Annual Centre of Excellence Distinguished Lecture’ from Dick Wall (of The Java Posse fame). At the time I was intending on writing a short post about it but it never quite materialised, however the other day while rummaging around the departments open-lecture series announcements I came across the recording from this lecture and I thought I would share it with you all. It is publicly available from the Kent Computer Science department here. Dick covered a range of very interesting topics including the progress of Computer Science in the last 20 years, the abundance of frameworks, open source, stateless computing and the Furby grid.
One of the points Dick mentioned that really grabbed my attention was the habit of graduates to build everything from the ground up dispite the wide availablity of open source solutions. Instead he emphasizes how much more important it is to work on the problems no one has tackled yet, it is this ambition to push development that really drives me to continue expanding my knowledge. It was truely fasinating to attend and having spent the last hour enjoying it again I highly recommend you take the time to download it and give it a listen.
Chris has written an interesting introduction to our final year group project on his blog. Our project has been an to implement a working secure peer-to-peer file system over the internet with anonymity as the key. I can honestly say it’s without a doubt one of the most enjoyable projects I have worked on in a long time. The core of my work has focused around the development of the Windows GUI and I’m working on a post about this, until then I highly recommend giving Chris’ introduction a read.
A while ago I wrote about my experiences with the Zune, my only complaint was the fact that the Zune social features are locked out if you live outside of the continental United states. Well this evening I returned to my attempts to get access, first I tried the FroxyProxy plug-in for FireFox I but could not find a usable US based proxy. However the delay caused in contacting the proxies did allow me to snag the URL for Zune.net’s sign-up page before it redirects to the region error that has been taunting me. After a few further searches I came across a forum post proposing that for some reason Opera was allowing users outside the US past this redirect. I have an alpha build of Opera 10 installed so I gave it a try and …. it works! I’m not sure why exactly but it allows you to complete the sign-up process without a hitch.
So a couple of months after getting my Zune I’ve finally got onto the social. So what do I think? Well it looks like I’m still locked out of the marketplace so I can’t give a view on that, other than that it doesn’t appear to add much to the already solid Zune experience when viewed within the application. However if you look at your Zune.net profile in a browser you see a lot more information. There is the normal web 2.0 recent activity feed and a comments section, in addition to this there are stats tracking most played tracks and artists as well as what your friends are playing. Lots of this information is incorporated into the Zune Badge which is clearly being targeted to the MySpace and Facebook crowds. My friend feed is looking a bit empty at the moment so if this has been of use to you please feel free to add me (AndyMarch)
Get Meshed 26th January, 2009
I got a pretty good reaction to my post about DropBox so I thought I’d share my latest experiment with synchronisation software. Microsoft have released a new version of their Live Mesh software, I had a developer licence for this several months ago but never really had chance to use it in anger. I’ve just downloaded the latest build and I must say it has definitely improved.
Live Mesh has taken a really good approach to cloud storage, they have implemented a web interface that mimics the environment you would find on your Vista desktop. Sure this makes the site a little heavier but makes for a far more familiar experience, which is crucial when sharing files with less technically inclined friends and family. Sharing is one thing that is handled very nicely by Live Mesh including proper file permissioning. One thing I did notice during the course of this reveiw is that Live Mesh has implemented one of the things I cried out for in my review of DropBox and that is the ability to select which files and folders are synchronised to each computer the software is installed on.
One problem I did come across while using Live Mesh on my desktop was with UltraMon. If you haven’t come across UltraMon before and you have a multiple-monitor setup go now and get it by far its the best £30 you can spend. UltraMon’s SmartTask bar spreads across all your screens showing which windows are open on which screen. I rely on this application so much, so when I turned on my machine this morning and could not get it to work I was rather frustrated. After some rummaging I came across the ignore monitor functionality, Live Mesh had added another monitor for remote desktop as display two horribly confusing UltraMon. If you ignore this remote desktop for the purposes of UltraMon you get your taskbar back. A little frustrating but easily remedied.
Both of these tools make it much easier to share your files across devices and access this information on the go. Sure there are glitches and the odd bug or two but overall they are both incredibly impressive and I highly recommend experimenting with both to find which you prefer if you even infrequently need access files remotely. My opinion so far is that DropBox is a better solution for the large majority of people who just want to put files into a folder and go. It will be interesting to see what direction the Live Mesh team take their product as the Live Desktop is crying out to be used as more than a glorified file browser.