Today was the first day of Microsoft’s UK Tech Days conference on the Windows 7 Phone format. It took place at the Fulham Broadway Vue and covered the topics involved in developing and deploying software ‘apps’ for the Windows 7 Phones.

Windows Phone 7 Review

Image by clintonjeff via Flickr

Content

Most of the content was made up of developers who have created some truly amazing apps, discussing their apps and showing off the code.

That’s one of the things about Software Development that doesn’t make sense. With all the NDA’s (Non Disclosure Agreements), patents and copyrights placed on Software, it almost doesn’t make sense that these guys would be showing off their code with such pride. But, that’s just it: they’re proud of the code that they’ve produced.

The keynote speech was provided by Brandon Watson, one of the many geniuses working over at Mircosoft, trying to make the Windows 7 Phone format as good as it can be. He seems like an awesome guy, and he had plenty of time for questions after his keynote.

He even took the time to answer my, probably zanny questions.

Code Examples

Most of the code discussions and examples revolved around data structures and performance – which is pretty cool. I mean, mobile phones only have a finite amount of CPU power and memory.  Some of the information given makes a lot of sense now that I think about it, again. I mean:

  • When a timeout occurs, or the screen locks, the program that is currently running is terminated. The program will restart from where it left off, when the screen is unlocked
  • De-Serialise (or load) data from storage into memory using a background thread, not the UI thread. Doing it that way works out as a better experience for the user, because you can keep animating your progress bar
  • As long as your program has a splash screen and a progress bar (for loading), most users will wait patiently for the program to load
  • Always assume that the network the phone is connected to is quite flimsy, and could cut out at any time. That way, you force yourself to use it sparingly
  • Target audiences always want simplification when it comes to mobile apps. They don’t need to know how the app works, just that it works

Excellent Quotes

Brandon started the whole day off with the best piece of pseudo-code I’ve ever seen. When a manager is asking you to provide some information about return on investment, just show him this:

[sourcecode language=”cpp”]
if (Developers.Happy())
return OnInvestment;
[/sourcecode]

Then there was this amazing gem of code. It’s C#, but will show up as C++:

[sourcecode language=”cpp”]
SomeFunction myFunction = new SomeFunction();
myFunction.SomeMethod += (s, a) => {
//code in here to catch an exception
};
[/sourcecode]

That code block is a short hand form of the standard way to catch a thrown exception. The only problem is, I’me not sure if it’ll only work on a W7P project, or whether it’ll work in a C# listing. Since I’m not at home, I can’t test it out.

That’s all for now, but I’ll make sure to post about what happens tomorrow (including some of the information about a press release that Microsoft are giving out tomorrow)

J

Jamie is a .NET developer specialising in ASP.NET MVC websites and services, with a background in WinForms and Games Development. When not programming using .NET, he is either learning about .NET Core (and usually building something cross platform with it), speaking Japanese to anyone who'll listen, learning about languages, writing for this blog, or writing for a blog about Retro Gaming (which he runs with his brother)