January 25th, 2012 at 3:00 pm
If you're new here, you may want to subscribe to my RSS feed. Thanks for visiting!
The ESPC are looking to recruit a software developer!
Essential
- Web UI techniques (.NET MVC, JavaScript, CSS, HTML)
- 2 years+ professional experience in object oriented programming: C# (or possibly Java)
- Unit testing (nUnit)
- MS SQL Server
- XML
- Content management, indexing & search
- Ability to take ownership of key project areas such as software design, implementation, integration, documentation, quality assurance, deployment & support
Nice to Have
- HTML5
- Native mobile app development (iOS, Android)
- Apache Lucene / Solr
- Agile (scrum) development methodology
- Continuous integration (CruiseControl.NET)
- REST
- nHibernate
- Windows Workflow
- Mocks (RhinoMocks)
- nAnt
- Subversion
Further information
http://www.espc.com/about-us/software-developer-opportunity
Tags:
developer,
Edinburgh,
ESPC,
software
November 11th, 2011 at 1:10 am
I’ve been reading Scott Berkun’s new book, Mindfire.
I’m not going to review it in this post, I’ll save that for later.
However, I’m will tell you why you should buy it!
Scott self-published Mindfire, a feat worthy of huge congratulations. He did so for a number of reasons. I was particularly taken by this one:

So, you should buy Mindfire if only to learn what it is Scott would like to write about that makes publishers run a mile.
I have deliberately added this post to the Project Management category, Scott is the project management guy
November 10th, 2011 at 10:01 pm
Scottish Developers are pleased to present two talks by Gill Cleeren on Wednesday 23rd November 2011 in Edinburgh.
Gill Cleeren is Microsoft Regional Director (www.theregion.com), MVP ASP.NET, INETA speaker bureau member and Silverlight Insider. He lives in Belgium where he works as .NET architect at Ordina. Passionate about .NET, he’s always playing with the newest bits. In his role as Regional Director, Gill has given many sessions, webcasts and trainings on new as well as existing technologies, such as Silverlight, ASP.NET and WPF. He also leads VISUG (www.visug.be), the largest .NET user group in Belgium. He’s the author of the upcoming book called Silverlight Data Access Cookbook. You can find his blog at www.snowball.be
Building a Windows Phone 7 app from start to finish
Have you been dreaming about browsing through the Windows Phone Marketplace and seeing your application at the top-selling list but don’t know where to start? In this session, we’ll take a look at how to build an entire Windows Phone 7 application from the very start to deployment in the marketplace. You’ll be creating your own apps minutes after you leave the room.
Windows Runtime and Metro Apps for Windows 8
At BUILD 2011, Microsoft announced Windows 8. This upcoming version of Windows is probably the biggest change the OS ever went through. Windows 8 focuses on web, apps, touch and the tablet form factor. For developers, things will change as well. They need to be ready to build applications, called Metro applications, tailored for Windows 8 or adapt their existing applications for the new OS. Together with Windows 8, Microsoft announced Windows Runtime (WinRT), a new way of working with Windows.
As you can see, that’s a lot of new stuff to get your head around! To help you, Gill Cleeren, Microsoft Regional Director and Silverlight MVP will explain you the new strategy that Microsoft is taking. In this talk, we’ll see what WinRT really is, how we can use it to build Metro applications with and how we can leverage C# and Silverlight knowledge to build Metro applications. We’ll take a look at a fully working application as well to give you a clear picture of all the knowledge you’ll gather during this hour.
By joining this session, the developer story for Windows 8 will have less secrets for you!
Location
The Corn Exchange,
35 Constitution Street,
Edinburgh,
EH6 7BS
Agenda
18.30 – Doors open
18.55 – Welcome
19.00 – Building a Windows Phone 7 app from start to finish
19.55 – Break
20.05 – Windows Runtime and Metro Apps for Windows 8
21.00 – Close
This is a free event, but you do have to register!
Tags:
Gill Cleeren,
Windows 8,
Windows Phone,
Windows Runtime,
WinRT
November 10th, 2011 at 9:53 pm

The Developer! Developer! Developer! series of conferences has gone from strength to strength. This year saw DDD North added to the lineup to join Belfast, South West and of course Scotland as regional events taking place through out the year after DDD 9 in January.
Scottish Developers have teamed up with the people who brought you the NoSQL Autumn Conference last year and are proud to be bringing another DDD north of the border, to Dundee!
DunDDD is a 3-track, 15-session FREE conference that will take place on Saturday 19th November 2011 at the Queen Mother Building in the University of Dundee. There is an entire track dedicated to NoSQL and Big Data, a track dedicated to The Web and Web Technologies and a general track that isn’t based (too heavily) on any single platform, language or framework.
This is a fantastic opportunity to network with local developers from all across Scotland, learn some new tricks or even revisit some old ones. Spaces are limited so get registered before you miss out!
http://dundee.dddscotland.co.uk
Tags:
DDD,
Developer Developer Developer,
Dundee
October 24th, 2011 at 10:50 pm
Earlier this week, over at The Guardian, Matthew Baxter-Reynolds essentially asked the question: Where do the Windows Mobile developers go now?
Except that the article was actually called Why Android is the natural alternative to Windows Mobile for developers. The strapline for Matthew’s article added a little more meat to that statement: “When Microsoft killed off Windows Mobile, it left would-be developers with experience in its tools who wanted to build ‘line-of-business’ apps with a problem: what could they target?”
Matthew’s article covered many topics. It touched on:
- fabrication of Windows Mobile and Android devices
- line of business application development using the iPhone, Android and Windows Phone
- patents
- BlackBerry and RIM
It’s a well-written piece and I would urge you read it and Matthew’s other material.
I’d like to focus on one small piece of Matthew’s article. Specifically the piece about Windows Phone:
Windows Phone is also a pain because no one has them and no one (yet) wants to buy them. I believe this will improve when Windows 8 hits the market next year, but until then it’s difficult to pitch to customers. Plus you would think migrating software and apps from Windows Mobile to Windows Phone would be easy. It’s not, because of the radically different Silverlight-based user interface model. Windows Mobile is .NET-based and Java-esque.
It is fair to say that much has been written [during 2011] about the uptake of Windows Phone devices. The phone manufacturers [HTC, Samsung, LG, etc.] must be furious with the way the phone carriers [the likes of O2, Vodafone, T-Mobile, Orange, Three] have failed to market their Windows Phone products. It wasn’t until I was at DDD North on the 8th of October 2011 that I saw more than one Windows Phone device in the same place. In fact, as @scottisafool noted, by virtue of there being a handful of Windows Phone devices in the same place, it put many High Street stores and supposedly phone-savvy supermarkets to shame.
Every market has to start somewhere. Windows Phone is the new kid on the block and it has moved into a block that’s already very well established; current residents include Android, iOS and to some extent BlackBerry. Given that major pundits are referring to Windows Phone as the third member of the mobile ecosystem, I believe it’s fair to follow Matthew’s recommendation to ignore BlackBerry. Unless RIM have an ace up their sleeve, I have to agree with Matthew.
Despite this apparent low uptake, it hasn’t thwarted the application developers. As of today there are some 35,000 applications in the Windows Phone Marketplace. Many of the reputable news sources for Windows Phone report that about 90% of the core apps and games that “the others” have on their iPads, iPhones and Android tablets are available for Windows Phone devices. Whilst that suggests the market is pretty much sewn up, there are still gaps that need filled. Contrast this with the fact there are over 500,000 applications available for iPhone and Android devices and it’s fair to say Windows Phone has some catching up to do. Assuming, of course, that you believe catch up is required. One has to ask how many of the 500,000 or so applications are unique or are so trivial that calling them an application is an overstatement.
Nokia’s presence in the Windows Phone ecosystem should not be under-estimated. Rumours about their device line up have been rife. Leaked photographs of their proposed Windows Phone device(s) have been published, analysed and analysed again. This weekend, October 21st and 22nd 2011, TV viewers in the UK started to see subtle hints from Nokia, the Sea Ray made very short but pointed appearances between adverts in major shows on Saturday evening. This advertising, albeit very short, is very welcome. Windows Phone marketing has been beyond disappointing, a fact that cannot be denied and a fact that isn’t UK-specific. I would hope that advertising picks up as we get closer to Nokia World, October 26th 2011, when Nokia’s devices will be revealed to the public for the first time. Nokia have the ability to produce, market and sell millions of devices. In Europe, they are virtually independent of any particular demographic: kids, teenagers, housewifes, workers / business users, pensioners, the military…they all use Nokia devices.
Whilst Matthew believes no one has them [Windows Phone devices], he does believe that people will want to buy them in the future. And that’s the key: the future. The future for Windows Phone isn’t 12-18 months away, or further. It’s between now and Q1 2012. It’s now. Microsoft’s careful approach, whereby they built Windows Phone version 7.0, used customer feedback to refine it with NoDo and subsequently with Mango, mean they have an operating system that is a first class citizen in the mobile space. It can compete, and win, against the likes of iOS and Android.
Windows Mobile developers will continue to have their market in line-of-business applications for as long as there is demand and device availability. Where should they turn to next? Matthew believes that Windows Mobile developers should be focusing their future development efforts in the Android space. I have to disagree with that thought! The Android market is saturated. Android is an operating system that suffers from considerable fragmentation; there are many versions of Android, spanning major version numbers, still in use today. Examining the various platform versions, I see there are only a few flavours of Android that are “accepted” as primary development targets, which is a step in the right direction. Even if you target the three major versions of Android, the open source nature of Android means that developers might find themselves having to work around issues that are very device-specific.
Windows Mobile developers will find themselves moving from Microsoft’s .NET platform over to Java, which is means moving away from Visual C++ and the Visual Studio IDE. Thankfully, the existence of third-party tools such as MonoDroid, allow us to write C#/.NET code that can be deployed to the Android platform. However getting started with MonoDroid will cost you at least $399, which is very much worth it if you wish to avoid entering the Java camp. On the plus side, once you’ve written your application, it can be submitted to the Android Store and available for sale within hours. Ultimately, moving from Windows Mobile to Android should be considered a complete platform change: all of the tools, software development kits (SDKs), frameworks and deployment targets have changed. You could be buying into a whole new set of problems.
Windows Mobile developers who are considering a move to iOS are in for a similar surprise. Apple’s iOS relies on the Objective-C programming language. I won’t go into Objective-C in this post, but if you need to read more, there’s good content in this article over at The Guardian. Whilst iOS developers don’t suffer from Android’s OS fragementation, they do suffer from Apple’s lengthy application submission process. I’ve heard some developers say the application submission process can take weeks. I’ve also heard that Apple can reject applications without providing any reasons as to why the rejection occured – I believe Apple have gone as far as to ignore some Google application submissions! Not surprisingly, tools such as MonoTouch exist, whereby we can write C#/.NET code that runs on iOS. If I was developing for iOS, I’d be seriously considering the $399 cost for MonoTouch. Again, moving from Windows Mobile to iOS should be considered a complete platform change and one that may have a significant cost attached to it.
Contrast Android and iOs with the Windows Phone modus operandi. Windows Phone applications can be developed using a tool that Windows Mobile developers should be reasonably familiar with: Visual Studio. Windows Mobile developers have been used to working in a managed code environment for some time now and they are particularly comfortable with the Visual C++ language. Windows Phone development will mean developers use their choice of C# or Visual Basic – this shouldn’t be a major undertaking as it’s not a complete platform change. Windows Mobile developers should have a good grasp on the .NET framework. The move from Visual C++ to C# is, in my opinion, fairly painless. Yes, they will have to contend with a new deployment target, however it’s not a case of “all change” as it would be for Android and iOS, developers get to stay in the overall Microsoft ecosystem. And or course, the Windows Phone development tools are free, which is always good.
Many businesses are already allowing Windows Phones to form part of their device portfolio, whether the device is on the corporate asset register or simply owned by an individual. Once the consumer market opens its mind to the fact there are alternatives to Android devices, iOS devices, BlackBerry devices, the business space will see similar such uptake. Consumers have day-jobs, they don’t want to find themselves using a state-of-the-art Windows Phone device to manage their personal life and then to have to use a candy bar to make phone calls in their corporate life. Nokia used to be in the candy bar market, especially for corporate customers…I still have a Nokia 6021 gathering dust! Ironically, I carry a Palm Treo 750 (Windows Mobile 6) instead of the Nokia 6021. I also carry an HTC HD7 Windows Phone – it’s my personal phone. The HD7 gets more use than the Palm does – putting Windows Phone aside, the screen size makes it so much more useable.
Whether Windows Mobile developers choose Android, iOS or Windows Phone, they will still find themselves building their line-of-business applications using a new user interface metaphor – gone are the small buttons and stylus-inspired Windows Mobile user interfaces. Windows Phone, like the iPhone and Android is all about touch, sliding, pinching and tapping. Despite the ease at which I believe a Windows Mobile developer could pick up the Windows Phone development environment, it’s not the main reason I believe that they should move into Windows Phone application development. The ease at which a Windows Phone application can be developed is certainly a very important reason, however it’s not why I’ve written this article.
The primary reason is the exponential growth that we are about to see in Windows Phone uptake, particularly in the consumer space. As noted earlier in this article, during the week leading up to Nokia World, the commercial UK TV channels carried a number of subtle adverts. Even today, Monday 24th October, the free Metro commuter newspaper carried an advert for the HTC Radar – granted it could have done with having more than a “cake” on the screen, it could have showed off the OS! Assuming Nokia World proves to be the catalyst that Windows Phone needs and deserves, Q4 2011 and Q1 2012 are going to see massive uptake in the Windows Phone space. Demand for Windows Phone applications is going to go through the roof early next year, 2012. We need to be developing applications to meet that demand and we need to be doing it now. Rarely do we get a moment like this, we have six months notice that good times are coming: action, now! The Windows Phone market needs you!
So, you see, now, 2011 is a great time to move into Windows Phone development.



Tags:
Android,
Matthew Baxter-Reynolds,
The Guardian,
theguardian,
Windows Mobile,
Windows Phone,
Windows Phone 7
October 19th, 2011 at 4:21 pm



Podcast feed – subscribe here!
Welcome to show number 60, a bit of a milestone, but there’s no celebration!
In this show I’m talking with Rachel Hawley and Paul Stack. Rach and Paul talk about the first UK outing of the GiveCamp concept. Perhaps not the first UK developer charity event, but certainly the first outing for the GiveCamp concept in the UK. Over the course of 20 minutes, Rach and Paul explain what GiveCampUK is all about, what’s involved, who is involved and what to expect on the weekend it takes place!
The show was recorded at the Stadium of Light in Sunderland, just after the hugely successful DDD North! There is a little bit of background noise from time to time, 150 developers were enjoying a post-DDD dinner graciously sponsored by Developer Express!
Please do visit the GiveCampUK sponsors page – it wouldn’t be possible without their support!
This podcast: http://www.craigmurphy.com/podcasts/060-Rachel-Hawley-Paul-Stack.mp3

Resources
http://www.givecamp.org.uk/
Follow GiveCampUK on Twitter
What to expect when you arrive at GiveCamp UK
Paul Stack, JetBrains academy profile
Paul Stack’s blog

Tags:
charity,
GiveCamp,
GiveCampUK,
Paul Stack,
Rachel Hawley
October 16th, 2011 at 11:11 pm
What:
If you are a developer looking to start developing for Windows Phone, but you haven’t yet taken the plunge, this free day of training is the quickest way to find out all you need to know. You’ll get all the information you need to get up to speed with Windows Phone in a packaged and compressed form, ready for your consumption, without having to trawl through books, blogs and articles on your own. There will be experienced people available to guide you through a series of hands-on workshops and tutorials, allowing you to work at your own pace and select what is most useful for you. Once you have the basics in place, you’ll be off and running and ready to develop your own apps.
Where:
John McIntyre Conference (Microsoft Event)
Edinburgh First
Pollock Halls
18 Holyrood Park Road Edinburgh EH16 5AY
United Kingdom
When:
12 November 2011
Further Info:
https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032496497&Culture=en-GB
Tags:
Windows Phone
October 16th, 2011 at 11:11 pm
What:
If you are a developer looking to take advantage of cloud computing, but you haven’t yet taken the plunge, this free day of training is the quickest way to get up-to-speed with Microsoft’s offering; Windows Azure. We’ll take you from knowing nothing about the cloud to actually having written some code, deployed it to the cloud service and made a simple application available on the public Internet. You’ll get all the information you need to get up to speed with Windows Azure in a packaged and compressed form, ready for your consumption, without having to trawl through books, blogs and articles on your own. There will be experienced people available to guide you through each exercise. Once you have the basics in place, you’ll be off and running.
Where:
John McIntyre Conference (Microsoft Event)
Edinburgh First
Pollock Halls
18 Holyrood Park Road Edinburgh EH16 5AY
United Kingdom
When:
11 November 2011
Further Info:
https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032496082&Culture=en-GB
September 26th, 2011 at 10:54 pm
I’m pleased to announce that I’ve written my first Windows Phone application! It’s not an application that will land space shuttles or control your orbiting satellites, however it’s a first step! It’s a small application that will save you carrying around a printed copy of the DDD North agenda!
I had a false start last week, whereby the application didn’t meet Windows Phone Marketplace regulations, for a reason I won’t mention here. On the premise that the regulatory infringement had nothing to do with my code, I’m expecting the application to hit the Marketplace this week.
I’m planning to extend the application to be more generic such that it will handle future DDD events, whether they have two tracks, three tracks or however many tracks, etc. And, of course, I’ll be recompiling the application for Mango…at some point during the Fall or Holiday season.




If you have one of those other devices, one of the DDD North speakers has produced a similar “app” for their platform! I’m sure that “apps” for the green fruit vendor’s device are also available!
Tags:
agenda,
app,
application,
DDD,
DeveloperDeveloperDeveloper,
North,
Windows Phone
September 8th, 2011 at 1:06 am
Justin Angel‘s Windows Phone Marketplace Statistics post makes very interesting reading. Justin has done a stellar job downloading all of the Marketplace applications and performing a lot of statistical analysis.
I was particularly interested in one of the statistics: 97% of Marketplace apps aren’t obfuscated. On the off chance that you haven’t come across obfuscation yet, here’s something from wikipedia to get you started:
Obfuscation is the concealment of intended meaning in communication, making communication confusing, intentionally ambiguous, and more difficult to interpret.
http://en.wikipedia.org/wiki/Obfuscation
Obviously this means that a mere 3% of the apps in the Marketplace have some form of obfuscation. Justin was looking for PreEmptive Solutions Dotfuscator signatures, which is currently the only Windows Phone obfuscater available. Regardless of the obfuscation monopoly, 3% for what is currently the de facto tool is surprisingly low and worrying. I think back to my days in academia and how source code was something to be protected. Getting your hands on somebody else’s code was (for some students) a real boon – if you were struggling, picking up a top student’s discarded source code could provide you with something from which gave you a start. I witnessed this a few times, it happened “back in the day”, and I’m sure it still happens today.
Traditionally, we’ve used reflection to provide us with some insight as to the contents of .net assemblies. We used, almost exclusively, .NET Reflector, although recently we’ve seen similar offerings from JetBrains (dotPeek) and Telerik (JustDecompile) to name but two other reverse engineering or decompilation tools. Typically, these tools looks for .dll or .exe files. Windows Phone apps are deployed via a .xap file, we need to crack open the .xap and extract the .dlls that we are interested in looking at. Given that .xap files are actually no more than .zip files, we can simply rename the .xap to .zip and pull out the .dlls from there.
An Example
About 20 years ago (ahem!), my Pascal tutor set us a programming exercise. The full details are documented in this post. In a nutshell, we had to create a [Pascal] program that accepted a letter A thru Z and plotted a text-based triangle, where the chosen letter was the “middle” of the triangle. Once you see the screenshot (and the code), all will become clear.
Needless to say, the problem wasn’t as simple as it sounded. As soon as students demonstrated a solution, others were keen to look at the algorithms and tricks used to arrive at the solution. The code below presents a re-hashed version of my original submission, updated slightly such that it runs as a Windows Phone app.
private void button1_Click(object sender, RoutedEventArgs e)
{
char widest_char;
int next_char, finish_char, wide, range, direction, position, spacelength, loop;
widest_char = 'F';
wide = (int)widest_char;
direction = 1;
spacelength = 1;
position = 1;
next_char = 66;
finish_char = 65;
range = 2 * (wide - finish_char);
// Calculate initial left indent
int mid = wide - 65 + 1;
String firstLetter = Char.ToString((char)finish_char);
firstLetter = firstLetter.PadLeft(mid + 1);
textBlock1.Text = firstLetter + "\n";
for (loop = 1; loop < range; loop++)
{
textBlock1.Text += (" ".PadLeft(mid - position));
textBlock1.Text += ((char)next_char);
textBlock1.Text += (" ".PadLeft(spacelength));
textBlock1.Text += ((char)next_char);
textBlock1.Text += "\n";
next_char = next_char + (1 * direction);
position = position + (1 * direction);
spacelength = spacelength + (2 * direction);
// Flip direction when the middle of the diamond is reached
if (next_char == wide) direction = -1;
}
textBlock1.Text += firstLetter;
textBlock1.Text += "\n";
}
Here's a screenshot of the output:

Visual Studio 2010 created a .xap file that was deployed to the emulator or physical device. In order to extract the .dll that makes up the diamond application, we rename the .xap file as a .zip file, from there it's just copy and paste.
It's a different story for dotPeek now. It can still inspect the .dll with ease, however the meaningful variable names have been largely lost. The crux of this particular code example revolves around the algorithm that is used to create the diamond shape - some students were very keen to get a glimpse of an algorithm! The algorithm is still very obvious from the code fragment below:
private void button1_Click(object sender, RoutedEventArgs e)
{
char ch = 'F';
int num1 = (int) ch;
int num2 = 1;
int totalWidth = 1;
int num3 = 1;
int num4 = 66;
int num5 = 65;
int num6 = 2 * (num1 - num5);
int num7 = num1 - 65 + 1;
string str1 = char.ToString((char) num5).PadLeft(num7 + 1);
this.textBlock1.Text = str1 + "\n";
for (int index = 1; index < num6; ++index)
{
TextBlock textBlock1 = this.textBlock1;
string str2 = textBlock1.Text + " ".PadLeft(num7 - num3);
textBlock1.Text = str2;
TextBlock textBlock2 = this.textBlock1;
string str3 = textBlock2.Text + (object) (char) num4;
textBlock2.Text = str3;
TextBlock textBlock3 = this.textBlock1;
string str4 = textBlock3.Text + " ".PadLeft(totalWidth);
textBlock3.Text = str4;
TextBlock textBlock4 = this.textBlock1;
string str5 = textBlock4.Text + (object) (char) num4;
textBlock4.Text = str5;
TextBlock textBlock5 = this.textBlock1;
string str6 = textBlock5.Text + "\n";
textBlock5.Text = str6;
num4 += num2;
num3 += num2;
totalWidth += 2 * num2;
if (num4 == num1)
num2 = -1;
}
TextBlock textBlock6 = this.textBlock1;
string str7 = textBlock6.Text + str1;
textBlock6.Text = str7;
TextBlock textBlock7 = this.textBlock1;
string str8 = textBlock7.Text + "\n";
textBlock7.Text = str8;
}
Obfuscating the .xap using PreEmptive Solutions' Dotfuscator, changes the playing field quite significantly. Whilst Dotfuscator can obfuscate a Windows Phone .xap file, we still have to rename it to a .zip before we can inspect the assemblies found inside it. Extracting the assembly that draws the diamond, then firing it through dotPeek results in the following, rather lengthy, code fragement:
private void ᜀ(object A_0, RoutedEventArgs A_1)
{
int A_1_1 = 6;
switch (0)
{
default:
label_2:
char ch = 'F';
int num1 = (int) ch;
int num2 = 1;
int totalWidth = 1;
int num3 = 1;
int num4 = 66;
int num5 = 65;
int num6 = 2 * (num1 - num5);
int num7 = num1 - 65 + 1;
string str1 = char.ToString((char) num5).PadLeft(num7 + 1);
this.textBlock1.Text = str1 + MainPage.b("ሗ", A_1_1);
int num8 = 1;
int num9 = 1;
while (true)
{
switch (num9)
{
case 0:
label_8:
num2 = -1;
num9 = 5;
continue;
case 1:
case 4:
num9 = 3;
continue;
case 2:
if (num4 == num1)
{
num9 = 0;
continue;
}
else
goto case 5;
case 3:
if (num8 < num6)
{
TextBlock textBlock1 = this.textBlock1;
string str2 = textBlock1.Text + MainPage.b("㠗", A_1_1).PadLeft(num7 - num3);
textBlock1.Text = str2;
TextBlock textBlock2 = this.textBlock1;
string str3 = textBlock2.Text + (object) (char) num4;
textBlock2.Text = str3;
TextBlock textBlock3 = this.textBlock1;
string str4 = textBlock3.Text + MainPage.b("㠗", A_1_1).PadLeft(totalWidth);
textBlock3.Text = str4;
TextBlock textBlock4 = this.textBlock1;
string str5 = textBlock4.Text + (object) (char) num4;
textBlock4.Text = str5;
TextBlock textBlock5 = this.textBlock1;
string str6 = textBlock5.Text + MainPage.b("ሗ", A_1_1);
textBlock5.Text = str6;
num4 += num2;
num3 += num2;
totalWidth += 2 * num2;
num9 = 2;
continue;
}
else
{
num9 = 6;
continue;
}
case 5:
if (1 == 0)
;
switch (1 == 1 ? 1 : 0)
{
case 0:
case 2:
goto label_8;
case 1:
if (0 == 0)
;
++num8;
num9 = 4;
continue;
default:
goto case 1;
}
case 6:
goto label_15;
default:
goto label_2;
}
}
label_15:
TextBlock textBlock6 = this.textBlock1;
string str7 = textBlock6.Text + str1;
textBlock6.Text = str7;
TextBlock textBlock7 = this.textBlock1;
string str8 = textBlock7.Text + MainPage.b("ሗ", A_1_1);
textBlock7.Text = str8;
break;
}
}
Clearly the Dotfuscator version is much harder to understand. This is about as far as most obfuscation methods can go, they won't make it impossible to reverse engineer your application, but they will make it very time-consuming for those trying to read and understand the code.
If you are planning to obfuscate your Windows Phone apps, be sure to test them after they have been obfuscated. Like any tool that alters code post-compile, there is a chance that something may cause your app to fail. As part of the Windows Phone SDK, the Application Deployment tool is your friend. It will let you deploy .xap files to the emulator or a physical device outside of Visual Studio 2010. In other words, once you've built and tested your app, after you've obfuscated the .xap, use the Application Deployment tool to re-test the deployment.


Of course, if you are targeting Windows Phone Mango, all of this becomes rather academic. As Justin points out, from Mango onwards, .xap files will be DRM protected. Whilst your .xap will be downloadable from the Marketplace, the file itself can't be cracked open in the same way I mentioned earlier in this post. However, if you are planning to target Windows Phone 7.0 "NoDo" 7392/7390 builds, obfuscation might be something for you to consider.
Tags:
decompile,
dotPeek,
JetBrains,
JustDecompile,
obfuscate,
obfuscation,
PreEmptive Solutions,
Reflector,
reverse engineering,
Security,
Telerik,
Windows Phone 7
August 31st, 2011 at 11:40 pm
I’m not slating the phone vendors in this post, however their web-sites don’t lend themselves to selling Windows Phone devices. I visited five of the the UK’s most popular phone vendors and found a disappointing slant towards ‘droid devices and Samsung as a device supplier.
O2′s site had a “Phones with the best” drop-down menu that included “Android operating system” in the drop-down. I’m with O2, as is my wife, we think they’re great…however c’mon guys, that menu option is very wrong!

Vodafone had some promise. However that good feeling soon disappeared when they offered to help me choose between iPhone, BlackBerry and Android. Their selector wasn’t much help, it was too limiting.

Three were very much the same, just offering direct links to the big three, “i” device, ‘berry and ‘droid.

T-Mobile shared O2′s weird classification, including operating systems and phone suppliers in their choice:

Orange had a dedicated link to a Windows Phone 7 page, which was good. However the emphasis on the “i” products is still there. Notice that the “i” tablet device is listed separately, yet there is a “tablets and pads” section.

It’s not just me…


How easy is it to find Windows Phone devices once at a carrier’s web-site?
I am pleased to see that O2 have a dedicated Windows Phone 7 page on their web-site: O2 – Windows Phone 7.
Similarly, Orange have a dedicated Windows Phone 7 page on their web-site: Orange – Windows Phone 7.
Vodafone’s page was rather disappointing, so here are the direct links to today’s phones: HTC 7 Trophy and LG Optimus 7
I couldn’t find any Windows Phone 7 devices on the Three web-site. I was under the impression that they were going to carry the Samsung Omnia 7, it seems not.
T-Mobile didn’t have Windows Phone 7 device offering either. Again, I was sure that they were carrying the Samsung Omnia 7, evidently not.
Hopefully this is a situation that will change as soon as Nokia get their marketing and distribution engines fired up.
August 31st, 2011 at 11:33 pm
In my last post, I was singing the praises of Windows Phone and the devices that it’s installed on. This post is going to serve as a brain dump of my thoughts relating to smartphone marketing, as I see it in the UK. It seems so unbalanced, it seems to favour specific devices, platforms and device providers.
Since it’s launch, Windows Phone has picked up significant momentum such that it is a very credible alternative to the other black slab smartphones that are out there. I’m not planning to use this post to share huge amounts of “market share” information with you, there are plenty of sites doing that already, some better than others. However, what I do want to get off my chest is the unbalanced advertising that I see for the other black slabs. Everywhere I turn, I see full page spreads offering me ‘droid devices, ‘berry devices or the “i” device. Around about the launch of Windows Phone during late 2010, I did see some newspaper adverts, however they seem to have all but dried up.
So what’s the deal? How do the phone vendors and carriers decide which devices to promote? I’ve heard that in the US, staff that sell a particular device receive additional commission. I can’t imagine it’s much different here in the UK. However, since it’s always the ‘droid devices, the ‘berry and the “i” devices that are the subject of such huge promotion, it makes me wonder how Windows Phone devices will ever reach the mainstream. I’m fairly hooked into the developer community and I know that there is a lot of excitement in the Windows Phone application development space. What can we do to take that excitement and enthusiasm for the device out to the consumers?
That leads to my next question, are the phone vendors and their staff geared up and armed with sufficient knowledge to sell Windows Phone devices? If they are receiving a higher commission for selling a ‘droid device over a Windows Phone device, why should they skill up on Windows Phone? All they have to do is convince the customer / punter that the ‘droid device is the device they are looking for. The playing field has to be levelled if there is to be genuine competition. The phone vendors need to play a major part in balancing their pitch point and they need to ensure that their staff are given all the necessary training to be able to compare, contrast and sell Windows Phone, ‘droid, ‘berry and “i” devices.
The key draw of the application logos in the cutting below is clearly there to capture the social audience, those with an interest in online shopping and the casual mobile gamer. Windows Phone can do all of that; it has an official Twitter app, an official eBay app, an official Facebook app, Amazon and of course the much-played Angry Birds. So why does this particular advert need to use an array of five non-Windows Phone devices? Both adverts in this post carried the word “free”, yet also had a monthly cost of £15 or £25 attached. There is the obvious irony of “here’s something for free, that will cost you ££ per month”, however that’s not for discussion here!
Choice is important in the marketplace, so why offer such an array of devices, yet limit the actual choice of phone operating system? I’m confused, I’m looking for answers and I can’t find them; well none that don’t involve money in some way.

Perhaps this is what the marketplace actually wants? Is today’s phone buyer driven by much little more than the knowledge the device is the right colour, it looks good and it can run Facebook and Angry Birds? What does the competition really look like? Are we looking at an underworld of competition between Apple, Google and RIM? Looking at the vendor sites, it certainly looks like it’s a tight market with directed competition. I really want to see Windows Phone succeed and make its way into the “top 3″ sooner rather than later. However, until the phone vendors and carriers iron out their competitive issues, I think it’s going to be a struggle.
Of course, Microsoft’s partnering with Nokia should provide a means of getting Windows Phone devices in front of vast numbers of consumers, certainly in Europe. I understand that Nokia have built bridges with the carriers in the USA, which does bode well for market penetration over there too. Nokia are well-known in Europe, they’ve recently ordered a couple of million devices, which suggests that they mean business. One would hope that with the might of Nokia, its existing distribution infrastructure and its need to succeed in the smartphone space that we’ll see some serious competition for the “i”, ‘berry and ‘droid devices that are omnipresent in the newspaper adverts.
I’m keen to hear what you have to think about this subject, please feel free to comment. Thanks in advance!
In the meantime, ignore the phones above, the Windows Phone devices below can run all of the big name apps, games and tools!
And there’s all this other Windows Phone swag at Amazon too!
Tags:
Android,
Apple,
BlackBerry,
Google,
iPad,
iPhone,
Microsoft,
O2,
Orange,
RIM,
Samsung,
T-Mobile,
Three,
Vodafone,
Windows Phone