Forget Metro.
Forget tablets.
Forget WinRT.
Forget building apps in HTML/JS.
The absolutely most important thing developers (and anyone involved in the creation, design, sale, marketing, etc. of software) need to know is based on the fact that it is designed to be used on multiple devices.
Which leads to my point. People (your users/customers) are starting to use a wider variety of devices. And...
Tuesday, December 13, 2011
Friday, December 09, 2011
Windows Phone 8 and WinRT
I've heard a lot of people claim that they think that the next major version of Windows Phone (which they assume will be called Windows Phone 8) will use WinRT as part of the phone's OS. I don't.At this point I should state that even though I have spent a few months earlier this year working at Microsoft (in their Windows Phone Centre of Excellence). I do not have any insider knowledge of Windows...
Monday, November 07, 2011
Recorded live at Nokia World 2011

On the 2nd day of Nokia World I was invited to be part of the audience at the recording of the 361 Degrees podcast.
Allegedly, the audience was made up of "bloggers and mobile gurus". As I'm not much of a blogger that must, finally, make me a "mobile guru"! ;) (maybe it was all the other mobile...
Nando's in London app
In, or visiting, London and want some PERi-PERi chicken but don't know where the nearest Nando's is?
Never fear, this app will help you find your nearest Nando's restaurant.
See it on a map, get directions, check facilities or just call for take away.
If you're a spicy chicken lover this is the app...
Wednesday, October 26, 2011
Nokia World Keynote Buzzword Bingo
I had the idea for this but completely forgot. If I'd remembered/had more time I'd have put this all in a proper bingo board format. Feel free to do that yourself if you so wish.
Regardless, here, in no particular order, are a few words I think we may be hearing quite a lot today:
ecosystem
mango
everywhere
local
payment
monetization
reach
efficiency
Qt
beautiful
opportunities
global
new
smarter
partnership
millions
services
maps
apps
community
developers
knowledge
future
devices
metro
pure
future
alpha
marketplace
hub
personal
cloud
And...
Wednesday, October 19, 2011
The popularity of TombstoneHelper
A few weeks ago, as you're probably aware, Justin Angel published an analysis of the apps available in the marketplace which included a breakdown of 3rd party libraries actually in use.
Down at number 26, is my Tombstoner helper library, which was apparently being used in 307 (or about 1% of all) apps.
It is of course very flattering to know that it is being used so widely and helping developers...
Friday, October 07, 2011
How to stop toolkit transitions affecting performance

I was recently debugging a performance issue in an app and couldn't work out why the fill rate was so high based on what was on the page.
It was so high (>3.2) that it was definitely having a negative effect on performance. Depending on who you talk to, you'll be told that the fill rate should be...
Wednesday, September 28, 2011
Renewing developer phone registration
I share this in the hope that it will help out someone else in the future.
Today I was surprised to see that when I tried to run an app on one of my devices I got a message saying that the app had been revoked and I must uninstall it.
This surprised me as it was an app that is still in development.
After a bit of poking around I discovered that the developer registration for the device had expired....
Tombstone Helper v2.5 now available
Just a quick note that version 2.5 of my TombstoneHelper library is now available. It fixes an issue where a textbox which had previously contained text which included a colon would throw an exception when restoring.
You can get it from nuget and codeplex.
Version 3 will hopefully be available soon. It will include support for ViewModels and the Silverlight Took...
Wednesday, September 14, 2011
Windows 8 does not use Metro!
"Ooh, ooh, ooh. Windows 8 looks just like Windows Phone 7 - it's metro too."
No.
Stop.
Wait.
Metro is the name of the design language for Windows Phone 7. If you've been paying attention, everyone (who's "on message") has been saying that Windows 8 is "metro-like" or "metro inspired" or the apps are in a "metro style".
Those suffixes are important.
This isn't just me being picky. There is an important...
Tuesday, September 13, 2011
Windows Phone 7 and Windows 8
Lots of details were announced about Windows 8 today at the BUILD conference.
One thing I heard quite a bit was "if you're a Windows Phone 7 developer you're now a Windows 8 developer too".
This is because you can use the same development tools & languages and share a design language heritage.
You may recognise this as being very similar to a phrase that was used a lot last year: "If you're...
Friday, August 26, 2011
Improvements in Music & Video hub integration #wp7dev

Back in January I wrote about some of the Gotchas when integrating with the Music and Video Hub.
With the latest/mango update to Windows Phone 7 there are a couple of changes/improvements to note.
MediaHistoryItem.Source
This is property still exists and is still not used for anything but it no longer...
Wednesday, August 24, 2011
#wp7dev NoDo Tools won't deploy to Pre-Mango phone after Zune upgrade to 4.8
This morning I had an issue where after updating the desktop Zune software to the new version (4.8) Visual Studio (running the NoDo development tools*) became unable to deploy or debug apps running on a phone. This was the case with a phone running a Nodo version (specifically 7.0.7392) and another phone running a pre-NoDo build.
Obviously, losing the ability to deploy to and test on an actual...
Sunday, August 14, 2011
Catching an uncatchable exception
Recently we had an interesting issue in a Windows Phone 7 app I was working on that proved awkward to address. The code in question related to playing a video via the MediaPlayerLauncher.
The code in question looked like this:
new MediaPlayerLauncher { Media = fileUri }
.Show();
The issue we had was that if the user triggered the launching of the MediaPlayer...
Microsoft and me. A disclaimer
If you didn't know, I'm a freelance developer. If you're looking for someone to do some mobile development, particularly on Windows Phone 7, then please get in touch.
Recently I've been doing some work for Microsoft. They're keen that I make it clear that anything I say on this blog, or via my Twitter account (@mrlacey) is entirely my own thought, opinion, etc.
Nothing I say here is the opinions...
Wednesday, August 03, 2011
Getting version numbers and names right is hard
Rant alert! You have been warned!
Managing platform & SDK version names and numbers can be hard. When you want a simplified, public name for these that can be used in marketing and promotion things can easily get confusing.
Let's consider Windows Phone:
Once upon a time there was "Pocket PC"
Then there was "Smartphone" - before it became a generic term.
This was followed by "Windows Mobile"
When...
Monday, July 11, 2011
To those who said I was certifiable...

... you were right!
It seems that a few other people on Twitter are reporting that they haven't received their results from taking the beta exam yet. As I received mine yesterday (I tend not to check email at the weekend) I'm guessing that results are being sent out slow...
Thursday, July 07, 2011
Creating a horizontally scrolling list #wp7dev
I recently needed to show someone how to make a ListBox scroll horizontally rather than vertically. Here's what I did:
The key part is: '<StackPanel Orientation="Horizontal" />'
It's this that controls the direction. of item display.
The next two parts...
Must have game: Sonic 4 Episode 1 (for WP7)

Disclaimer: This review is part of a shameless attempt to win fabulous prizes.
If I think back, it's with a slight sense of regret that I probably spent more time playing computer games than doing homework while I was at school. The vast majority of the time I wasted away was spent playing 4 games...
Do you want a .app domain for your app?
This is cross posted on the WPUG blog.
In 2012 ICANN will make the gTLD of .app available. As you can imagine, there is likely to be a lot of interest in controlling this due to the potential demand for such domains.
The .app project is a community funded and executed project to obtain rights to the .app gTLD:
"We’re looking to gain support from the community together the funds necessary to build...
Tuesday, June 21, 2011
yet more examples?
It's been suggested that I make more of this blog. One common suggestion is that I post some examples of how to do common tasks on Windows Phone 7.
There are already quite a few sites/blogs which do this. I'm a bit reluctant to be another "me too" and contribute more content which is little more than a rehash of content already on MSDN.
Sorry if that's a bit critical of some others.
What do you...
Friday, June 17, 2011
XNAUK + WPUG = #DevChatUK (July 21st)
+
Come join both XNA-UK and WPUG for a mad bash twitter evening in a DevChat style Mashup on:
Thursday 21st July
7 – 9 PM UK time
#DevChatUKWe’re going to hijack the twitter hashtag #DevChatUK and do a wide scale Q&A / Chat session on all things Phone, XNA, Silverlight and Mobile development...
Sunday, June 05, 2011
Book Review: 101 Windows Phone 7 apps - Volume 1: Developing apps 1-50
The prospect of a book with over 1100 pages long can seem a bit daunting. Considering this book is only volume 1 and only the first 50 apps it could seem even more so. The good news though is that this book is easy to read, thorough and full of up to date information.
The "unconventional" structure of the book where each chapter shows how to create a separate app is interesting and different but...
Wednesday, June 01, 2011
TombstoneHelper V2.0 released #wp7dev

Great news - Version 2.0 of TombstoneHelper is now available from http://tombstonehelper.codeplex.com/
Actually it's been there for a fortnight, I've just been very slow to finish this post.
According to the change history it includes the following:
A bunch of fixes
Added the ability to limit the...
Thursday, May 26, 2011
Simplifying use of SQL CE in Mango #WP7Dev (1 of n)
One of the features that the "Mango" tools introduce for Windows Phone development is a built in SQL Compact Edition (SQL CE) database. While learning about how to use it I was struck by how much better the experience could be.
As such, here is the first in what I hope will be a series of pointers and tips for making working with a database easier.
If you want to learn more about using SQL CE with...
Consumer features coming in Mango
I'm sorry but this is more shaky video. I hope you can cope.
Nick Hedderman demonstrates some of the new features coming in Mango.
Communications
Apps
W...
Wednesday, May 25, 2011
Move aside and let the MANGO through!
If you're interested in Windows Phone 7 development and were offline, for whatever reason, today or have been sleeping under a rock, you may have missed that the Beta version of the next version of the Windows Phone 7 development tools (codename "Mango") were released today.
You can read more details at http://windowsteamblog.com/windows_phone/b/wpdev/archive/2011/05/24/developer-news-beta-mango-tools-available-today.aspx...
Tuesday, May 03, 2011
WP7 OS Version numbers
For my own reference and because I couldn't find anywhere else where this had been documented. Here are the different OS Version numbers for each of the WP7 releases/updates.
7.0.7004.0 - Original public release
7.0.7008.0 - "Pre-Nodo" update (contained changes to support the NoDo update)
7.0.7390.0 - NoDo (No-Donuts) update (included performance improvements and cut and paste)
7.0.7392.0 - Security...
Tuesday, April 26, 2011
Minify the size of your XAP file with some help from Telerik

As every good Windows Phone 7 developer knows. It's generally a very good idea to make the size of your XAP file as small as possible. Among other things this can help towards faster app loading times.
For an app I've been working on recently (more off than on) I wanted to get the start up time as...
Monday, April 25, 2011
#WP7Dev app feedback #7
This is part of my series of app reviews.
After a long break I finally got round to providing some more reviews. In the hope that these points (from multiple reviews) will help you think about your apps, here are some of the (anonymized) feedback points:
There’s no way (currently) to get back to the settings after first launch. (As you’ve requested location permission this should be a cause to fail...
Tuesday, March 29, 2011
The marketplace needs a higher quality bar for screenshots!
I know nothing's perfect and I know the Marketplace team are doing a great job of a difficult task. It just seems like more should be done to
From the Windows Phone 7 Application Certification Requirements (section 4.6).
"Screenshots must only contain application graphics, and must not include any...
Saturday, March 26, 2011
TombstoneHelper now in NuGet

My new Windows Phone 7 library for helping with tombstoning (http://tombstonehelper.codeplex.com/) is now available via NuGet.
Also at http://www.nuget.org/List/Packages/WP7TombstoneHelper
Please use, and suggest improvemen...
Friday, March 25, 2011
Tombstoning = A Top Tweet

I thought a "Top Tweet" was something only celebrities got.
Seems tombstoning is a popular subject. Check out http://tombstonehelper.codeplex.com/ and let me know if it's helpful or you have any questions on using it.
If you want to see more on handling it, also check out this post by Peter To...
Thursday, March 24, 2011
Making tombstoning easier [#wp7dev]
Sometimes tombstoning can be tricky.
Often it takes a lot of boilerplate code.
Things just got much easier.
Now all it takes is 2 lines of code:
protected override void OnNavigatedFrom(System.Windows.Navigation.NavigationEventArgs e)
{
base.OnNavigatedFrom(e);
this.SaveState(); // <- first line
}
protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs...
Wednesday, March 16, 2011
Binding to static classes in Windows Phone 7
It's a common request to be able to bind to a global variable in various parts of an application. It's often common that such variables are static.
This question seems to pop up in forums rather regularly and often the advice given is that this isn't possible or to include the "global" variable as part of the model being used as the DataContext of the page. Such duplication of functionality in the...
Thursday, March 10, 2011
Gotchas when forcing the theme colour in a Windows Phone 7 app

Windows Phone 7 support two background themes: light and dark.
When combined with the accent colour, this allow the user a level of customization and personalization of their device and the applications they use.
As a general rule it's good to allow your application to reflect the theme and accent...
Wednesday, March 09, 2011
#WP7Dev app feedback #6
Here's the feedback I recently gave to the creator of an app.
This is part of my series of app reviews.
In summary, I said it was "a nice app which is well executed".
Here's the feedback:
It would be nice if the main screen would remember the selected panorama item after being tombstoned.
When viewing items and swiping from side to side, there's no indicator of when the end of the list of items...
Tuesday, March 08, 2011
#WP7Dev app feedback #5
Here's the feedback I recently gave to the creator of an app.
This is part of my series of app reviews.
In summary, I said it was "a simple, well executed app".
Here's the feedback:
On the main/menu page I would disable scrolling of the options/list as everything fits on the screen without needing to scroll.
When searching the word list it would be good to indicate when no words match the entered...
Monday, March 07, 2011
#WP7Dev app feedback #4
Here's the feedback I recently gave to the creator of an app.
This is part of my series of app reviews.
In summary, I said it was "a lovely simple app which is well executed. It has impressive performance in terms of the speed of loading remote data."
Here's the feedback:
In the Marketplace description, some names are not capitalized correctly.
The highlight effect you have applied to the application...
Thursday, March 03, 2011
Still not got the pre-update? Fake it!

<justforfun>
You've sat quietly by as the rest of the world seems to be going on about the first Windows Phone 7 update (the pre-update) but have yet to have your device let you know that the update is available to you.
Well, if you want to get a feel for what it'll be like when that moment...
Wednesday, March 02, 2011
WP7Clipboard - A clipboard API for #wp7dev

Background
Windows Phone 7 doesn't have an API for a Clipboard. (Actually, in the current version it doesn't even include a clipboard. - But, the ability to cut, copy and paste text will be added in the update coming later this month.)
I wrote an app, back in December 2010 (see video and please comment...
Tuesday, March 01, 2011
How ScratchPad does copy and paste ... [#wp7dev]
In response to public demand I'm going to explain how I got Scratch Pad (my Windows Phone 7 app which supports cut 'n' paste and a shared clipboard API) to work.
This is the first of 2 posts on the subject. In this post I'm going to explain how I manipulate the text to create cut and paste within the app. In the next I'll show how I created a shared clipboard. And how you can add the functionality...
What hackers can teach us about what might be coming in future versions of Windows Phone
Ever wondered why so many of the "hacked" Windows Phone 7 apps show loading additional ringtones or accessing the camera directly?
Well I've had a little look at what some of the hackers have been doing and have found a few managed assemblies that aren't publicly available and it seems to be these that most of the people exploring in this area have been looking at.
So, for your amusement, interest...
Tuesday, February 22, 2011
#WP7Dev app feedback #3
Following on from my offer to provide some detailed analysis/feedback/review of some apps. Here's some more feedback from another app. It's been anonymized and I've removed a few specific points but hopefully the following will still be of general use.
Marketplace description: That’s a very long first paragraph. Try and break it into two or more or shorten it. A large block of text can be off-putting...