Now come with me: follow the line of my thoughts and tell me if I’m correct. This is a blog written by a member of the Microsoft Technical Support (sorry, it’s “Customer Service Support”), right? What’s a Support Engineer good for? (Feel free to add any comment, but I’ll ban out the ones I don’t like… ) Can you ask a Support Engineer about beta technologies that will be released in 1-2 years time? Well, yes – but purely because he may have spent some spare time on this. This is indeed the job of an Evangelist. Can you ask a Support Engineer to architect a solution based on the “Mobile Accelerator” that suits your exact scenario? Well, yes – but actually he usually works on solutions that have already been architect-ed and it may be that his knowledge-bag misses some guidelines that instead Consultants must surely have.
What’s in my opinion a Support Engineer is really good at is “Troubleshooting”. Developers ask for our intervention when they don’t know how to continue debugging a nasty problem, or if they think that the problem may be related to a bug, or to know if they’re coding the right way, and so on. The blogosphere is so full of really cool and interesting blogs written by “Mobile Programmers” that share their smart code, I can’t compete with them.. In conclusion, what I can probably offer to the Developer Community is some hints and suggestions about how to face a problem when you have it.
This is basically what some of my co-workers already do, see for example Carlo’s blog. “Ahh.. ”, you may say, “that’s Web Development: for that you have plenty of troubleshooting tools and techniques, this is not the same in our tiny niche. ”. Above all, we’re no longer a niche.. see MEDC: it’s now part of the “main-stream” TechEd. And see also how many blogs & web-sites about Mobile Programming recently proliferated. But you’re right about the other aspect: unfortunately we don’t have many tools that desktop programmers take for granted.
So my intention is to share some techniques that might guide you to the solution when facing a problem during mobile development. Hope it'll be useful, and sorry if I'll write something that may appear obvious to many (but not to all).