WP7, Software Developement, programming, Windows Phone 7 »

[29 Jul 2010 | 1 Comments]

Just writing a quick article about going to the first Windows Phone 7 User Group @wpug last night. With the device release within touching distance I get a feeling there is more and more excitement growing about the device and what developers will be able to do with it.

First off a bit thank you to Matt Lacey for organising the event, EMC Consulting (especially Michelle Flynn)hosting the event and Microsoft for great information about what is happening, buying beer and showing off some prototype phones.

It was a great format, an opening presentation then 5 demo’s from participants an a closing presentation.

Is Microsoft doing any thing new?

Personally I don’t think that there is anything particularly new in what Microsoft is offering. What is new is how it has been packaged up and delivered to the end user with a lovely new handsets and OS. The core components of building applications on Windows Phone 7 are:

  • Visual Studio
  • Expression Blend
  • Silverlight
  • Xna

wpug All these tools are tried and tested, they are well known, they have excellent support from both Microsoft and the development community. I think this is fantastic, it really lowers the risk of developing an app for this device. Microsoft are just leveraging these existing technologies to make development easy.

 

 

 

Is Microsoft doing anything differently?

I think this is a big YES. Microsoft know that it is them ‘on the hook’ for the user’s experience so they are taking ownership of a lot of what controls this.

The devices are new but Microsoft have set a very high minimum specification for the hardware manufacturers. This is again excellent news, I feel that a number of the Windows Mobile handsets were underpowered and gave a poor user experience.

The Marketplace is the only way that you can get apps onto your handset (unless you have unlocked your phone via a Marketplace developer account). Again this is excellent news for two reasons.

  • Before finding an app was hard. They were very distributed with a few 3rd party market places or vendors selling their apps on their own websites. The new Marketplace means that there will only be one place to look and one way to purchase which puts this important part of the user experience right in Microsoft’s control
  • Microsoft can ensure the quality of the apps that are put on the Marketplace. This should mean that people don’t pay for or have to wade through 1000’s of sub quality apps that would reduce that all important user experience.

The last thing which I think will make a difference is how controlled 3rd party software is on the device. While the device is multi-tasking 3rd party apps are not allowed to leverage this. The reason being that badly behaving applications running in the background could drain the battery, use cpu and generally slow down the device. Making 3rd party software exit when a phone call is received for example is a sensible approach but a little frustrating for us developers.

A big thanks to Microsoft’s Paul Foster for his very interesting session about what’s going on with Windows Phone 7 and an even giving me the chance to use his prototype phone.

It is easy to create an application

Yes it is very easy. The development tools are free and can be downloaded from http://developer.windowsphone.com/ .

There are some excellent tutorial labs to follow which are very clear and easy to follow. They touch on all the key points of development using the development tools and the Windows Phone 7 os. I blogged about my attempt to create an iPhone app back in January which was a horrendous experience, I found this process much clearer and painless. I have been a .Net developer for 10 years which probably helped but I’m sure that the Microsoft tools are far superior to Apple’s XCode IDE.

Rob Fonseca-Ensor showed how easy it was to create an Xna game on the phone, and it was surprisingly easy. Create a picture, load it in the app and then pop it on the screen and that was about it.

At the user group there were 5 demo’s of apps that people had created. The app which I thought was the best (although I naturally voted for myself!) was Hosain’s tube app. It was a beautify clean design with lots of useful information being displayed from a data feed on the TFL website. I spoke to him afterwards and he had only spent about a week on the app, very impressive.

Other slick apps that were shown where UkTree’s CryoDefense which was a Tower Defence game. This was a very nice game created by seasoned mobile developers.

 KeyboardP had created a really nice app to store information that can be used In Case of Emergency (ICE) he also had the best line of the night:

“I hope you buy my app and never use it” KeyboardP

 

I didn’t spend much time on my app at all It was a client to read and display skillbooks from my www.skillbook.co.uk website. I spent a day doing the labs I downloaded and then a day writing the bulk of my app and it was really really easy. I had another few hours to do a few tweaks on the app but in total probably about 12 hours, plus it was the first time I had used Silverlight. I didn’t win the X-Box but I hope people found the concept useful, here is a video of my demo:

A video of me demoing my Skillbook App

 

 

 

 

 

 

 

 

 

 

 

Summary

I really enjoyed the event, it was great to see Microsoft engaging with the development community and to also see what other developers are doing on the platform.

I was pretty sceptical about the ‘new windows phone’ when I first heard about it because of the previous pain I have had with Windows Mobile. However Windows Phone 7 is a completely different beast and looks fantastic, and I for one am getting very excited about it’s launch in the not too distance future!

»

[6 Jul 2010 | 1 Comments]

I read a very interesting article today by Aaron about why he thinks Microsoft .Net Lags Among-Start-ups. There were a lot of interesting comments on the blog which I wanted to reply to so I start writing a comment as well but it just got too long! Aaron’s main theme was that .Net is used in big enterprises and the developers do not think and engage in a way that start-ups do / need to do to be successful.

I think I would have to generally agree with the view that a large number of .Net developers are so ingrained into enterprise solutions and climbing the corporate ladder working for 'The Man' that they do not look outside to see what is new and cool in the start-up scene.

There are 3 points I would like to make:

Enterprise software have big budgets and teams to deliver projects. It is hard to change that thought process

Here is my anecdote. I am your typical corporate dev who has worked up the ladder and got the the position of developer team lead in delivering £1m+ projects. A couple of years ago circumstances came together creating an opportunity to do something I had always wanted to do, create my own start-up and build a couple of websites on the .Net stack. My original idea didn’t work out but the two spin off websites from that idea http://www.skillbook.co.uk and http://www.tcbooker.com are starting to look good (lots more work required though!). I ran out of money at the end of last year to work on them full time and am currently back working for 'The Man'.

Why did I run out of money? I was used to the enterprise and having a large budget to spend on resources. So I carried that mentality over and hired a team of people to deliver the project. Looking back I could have done it a lot cheaper. I think this would be a problem for lots of enterprise devs – looking at a problem and making it harder than it has to be, over engineering the solution and probably giving up before they got started or not giving up and having a very high burn rate.

It is just not on .Net developers radars

I’ve been a software developer my whole adult life, I got my MCP back in 1999 and I only attended my first Hacking event a year ago. This was PayPal’s Charity hack. There were about 100 developers attending and guess what, there were only 2 .Net developers there. Myself and Lee Mallon.

The event was for the dev’s there to create an app in 24hours that could make money for charity. I teamed up with Lee and took my idea of allowing people who volunteer for charities to publish their expenses which can then be paid for by the public (we had to try and incorporate PayPal’s new API’s in the app btw) on the charities behalf. You know what we actually had a fully functional working prototype after 24hours. I’ve done a bit more work on it since but it is not quiet live yet: http://test.localvolunteers.org.uk/ I might finish it off at this years charity hack.

Why were there only 2 .Net devs there? This really highlights the lack of momentum there is in the .Net community around these sort of events. If you want to make a career out of .Net programming the safe option is to know about WCF and middleware development, not how to make social media work for you. Going to hacking events and learning what is on the bleeding edge just isn’t going to be useful in their work as big companies like to play it safe. Where else is there to go and earn a living as a .Net developer?

What will change things

Successful .Net start-ups will breed more successful .Net start-ups and Microsoft need to build a critical mass and I think Bizspark is getting there. The barriers to entry for .Net technologies are also getting lower.

If I was to look at working for a relatively new Internet companies which uses .Net technology I would be looking at companies like www.huddle.netwww.kashflow.co.uk, www.justgiving.com, www.unusualhotelsoftheworld.com.

The cost of running .Net apps is going to be more. However with the advent of cloud computing and Microsoft’s Azure platform application developers can now pay for what they use rather than trying to guess what they will use and I believe the pricing is pretty reasonable. (I actually use AWS for my websites as Azure wasn’t released when I went live). So I don’t think the price issue holds water any more, especially as Bizspark gives you free hosting for 3 years.

The barriers of entry are getting lower and competition is good and keeps Microsoft honest. Yes they do tend to copy ideas but I still think the tooling they provide for software development is excellent. There were comments that it was a steep learning curve for hobbyists, which I can sort of understand, but there are also learning curves for whatever tools get chosen.

Summary

It takes a long time to change peoples behaviours and until there is some proven success stories of people using .Net to build start-ups on then it will be seen by most .Net developers as a risky career option compared with that corporate ladder and working for ‘The Man’. I hope that there will be a growing .Net success stories (including mine) over the next couple of years and make it easier for the all those .Net devs working for The Man to think that it is possible to give it a go.