charity »

[14 Sep 2010 | 1 Comments]

I’ve just made a short 7min video blog about the results of the questionnaire I put out to help be shape what the app I create at Charity Hack will do. I hope people find it interesting!

»

[5 Sep 2010 | 0 Comments]

It is two weeks until PayPal’s charity hack and I have been working on an idea that I want to do for this years event.

My idea this year is to ‘Help the homeless’, I need to gather a little bit of information to help shape the app so this post contains a quick questionnaire I’ve put together. If you would be kind enough to anonymously fill it out that would be very helpful. I will do another post at the end of the week to say how the app is shaping up!

Employment, entrepreneur, internship »

[6 Aug 2010 | 0 Comments]

I recently read this article on the BBC website: http://www.bbc.co.uk/news/business-10822784 it outlined how un-paid interns are probably illegal and they can claim back pay for the last 6 years at the minimum wage. This made me feel as if someone had poured some cold water on my entrepreneurial spirit as I had been seriously considering looking for some interns to help get my websites off the ground. In this article I will outline why I think that there is a lot of value in having un-paid internships for both the employer, the un-paid employee and UK plc as a whole.

So what is the problem

image The problem is there is a risk that an employer could be sued and then be liable to pay backdated pay for 6 years. This could be a lot of cash all of a sudden when there was an open and well know agreement in place between consenting adults.

If the cost of hiring an Intern was known up-front then it could well have been that the employer would have decided it was not worth having them in the first place. There are such things as cost benefit analysis and if the numbers don’t stack up the it is not worth doing it. In my view business deciding not to take risks makes everyone a looser and having cheap labour to try some things out is a good thing.

Employing people is expensive

image From personal experience I can safety say that employing people is really expensive.

  1. There is the obvious bulk of the cost, salary.
  2. There is national insurance to pay to the government as a thank you for having 1 less person on the dole.
  3. There is getting them a chair, a desk, a computer, coffee, toilet paper, heating, ink for the printer, paper for the printer, phone calls, etc (there is a lot more)
  4. There is then buying insurance to cover them from hurting themselves when at work or being negligent to one of your customers, extra payroll costs to the accountant, mileage, travel expenses etc.
  5. There is the sick leave and holiday you have to pay for.
  6. If someone goes on maternity you have to keep paying them and keep the job open
  7. There is training them and showing them what to do. This takes up my time which means is costs me money.
  8. I’m sure there is more but that is just what comes to mind

Will I employ people again? For another self funded start-up or idea i have, probably not. For an organisation that makes money, yes – in fact I have a knack of putting together great delivery teams in companies I contract for.

Experience can be better than cash

image So an Intern will be taking home a £0 salary. Perhaps some travel expenses but that will not be much so why would people do this work? The answer is getting experience, industry knowledge and making business contacts. This, in my opinion, is better than cash. If you get the right experience the you can convert that to cash later on in life by getting a better job or work on a better project or know how to do your own start-up. In fact this is the exact argument that the government uses about levying student fees on university courses in the UK.

If I was an employer looking to hire someone and I saw that a candidate had worked un-paid in the industry just to get relevant experience it would say a few things to me:

  1. They are keen about the industry
  2. They have a good work ethic to achieve a goal in their life
  3. They understand about long term investment / strategy for reward rather than short term gains.
  4. A good attitude and a will to get on in live, knowing that it isn’t always fair but something will work out and that nothing is truly given out in this world.

It would certainly set them apart from candidates that have not done this. It does not guarantee them a job but it will certainly help.

Helps pre-revenue low revenue start-ups at a time of need

image So I’m pretty sure that I cannot afford to employ anyone at the moment, but I still believe there is value in my websites. The whole project would really benefit from having someone do some basic customer management, research and social media updates. It is not going to be technical stuff but it needs someone to put in the hours. The cost benefit analysis is marginal but if I had the time then I would want to be doing this work.

So my situation is that I think I have a good idea but can’t afford to take the risk of paying to see if it works or not. I looked at getting grants from the likes of SEEDA and Business Link (I won’t miss you when you are gone) but that would be a lot of work with no guarantee of money or benefit at the end of it. I would be better off spending that time doing what I felt needed doing.

So a good solution in my mind would be to able to give an eager motivated person the opportunity to prove (or disprove) my idea. They can get some real work experience of dealing with customers, technologies and business tools and I get to see if my idea works at a low cost (remember I would still have to pay for the interns running costs). If they do a good job, I’ll give then a professional job reference to further their career or perhaps I know of other opportunities they could take advantage of.

What can be done about it?

I have a couple of ideas which would make me think about spending my time and effort to getting an intern.

  1. Formalise an clear path for interns to be un-paid and take away the risk of employers being made to cough up back pay for the last 6 years.
  2. Can I just become a department at the University of Life? I could then charge interns (which then makes them students) to take my Business Course. These students will graduate with excellent and relevant business experience. Perhaps I could even get some government funding for my new department?

Round up

I’m not going to risk trying to find an intern at the moment. I just cannot afford to justify it. In the economic climate where it is hard to find jobs, University funding is being cut, student fees will probably be raised soon, there is talk of a ‘lost generation’ we surely need to encourage people to try things, get new skills. If this means that they have to work for free, then so be it. At least it will allow those who have a healthy outlook on work will be given the opportunity to show what they can do.

If people with industry experience and ideas can be given the opportunity to see if the idea works at a low cost then this is surely the definition of a win-win-win situation for the entrepreneur, the Intern and UK Plc. Allowing un-paid internships is an enabler of the Entrepreneurial Spirit of both Interns and businesses.

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.

Microsoft Expression »

[29 Jun 2010 | 0 Comments]

This is a short promotional video about something called Sketchflow which can be found in Microsoft Expression Studio 4. I thought it looked pretty cool so thought I would share it.

It is a collaboration tool to help prototype the functionality of a site and allows the customer to view and comment on the prototype via a web browser using Silverlight – which is pretty cool.

I have downloaded it and when I’ve had a good play around I’ll create a longer post with what I think of it but in the meantime if you can spare 90seconds to watch the video please do!

»

[25 Jun 2010 | 0 Comments]

This is a short article about a workaround for a really annoying problem I had when trying to run some unit tests in visual studio. The tests would not run because of the following error:

The location of the file or directory ‘c:\projects\bowlingkata\bowlingscorelib_test\bin\debug\Rhino.Mocks.dll’ is not trusted

My situation

I’m working on a large Microsoft Dynamics Crm project at the moment. Dynamics Crm has something called Plugins which fire when something is saved. However they are not the easiest things to unit test so I decided to follow Luis Rocha’s article on how to use Rhino Mock to help.

Looked good, so I created a test but it didn’t run. A quick look on google lead me to David Starr’s article which was the same problem. I tried the unblock thing but it didn’t seem to work.

I asked myself the question, why was this .dll blocked? The answer was because I downloaded it from the Internet onto straight onto my development machine.

The solution

The solution was to download the Rhino.Mocks.dll onto another computer on the network first then copy it to my development machine. This way the Rhino.Mocks.dll came onto my development machine from a trusted source.

After this my tests ran. A real WTF moment!

»

[3 Jun 2010 | 0 Comments]

I hope that this post might help a few people who have been having the same problem as me.

I have been creating a custom workflow for my project that can calculate working days for the organisation. This went really well until I tried to deploy it to my Crm instance. All I was getting back from the Plugin Registration Tool was:

Creating CRM Connection...
* 1 Duplicate Solutions Deleted
Solution Registered: Thg.Ohov.Crm.Core.Plugins
*** Error occured execution Request
*** <error>
  <code>0x80040216</code>
  <description>An unexpected error occurred.</description>
  <type>Platform</type>
</error>

This was no help. I tried changing a few things in my workflow but it kept errorring. To get some more information about the error I downloaded the Crm Diag Tool and turned on tracing. The trace had the following entry:

System.Web.Services.Protocols.SoapException: Server was unable to process request. ---> System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.TypeInitializationException: The type initializer for 'Thg.Ohov.Crm.Core.Plugins.CrmWorkflows.CalculateWorkingDays' threw an exception. ---> System.ArgumentException: Type 'Thg.Ohov.Crm.Core.Plugins.CrmWorkflows.CalculateWorkingDays' does not define a static dependency property with name 'InputStartDatePropertyProperty'.
Parameter name: ownerType

The clue was the phrase:

'Thg.Ohov.Crm.Core.Plugins.CrmWorkflows.CalculateWorkingDays' does not define a static dependency property with name 'InputStartDatePropertyProperty'

I didn’t define the property called ‘InputStartDatePropertyProperty’ I had just called it ‘InputStartDateProperty’

I then found by renaming the property to just ‘InputStartDate’ fixed the problem:

public static readonly DependencyProperty InputStartDateProperty =
           DependencyProperty.Register("InputStartDate", typeof(CrmDateTime), typeof(CalculateWorkingDays));

That was the fix! I hope that helps someone out there ;)

»

[24 Mar 2010 | 0 Comments]

MicrosoftCrm4Logo It is quiet clearly stated that the deployment tool with the Microsoft Crm Dynamics Toolkit does not work on 64bit servers but I always like a challenge. I worked with Dave Blake and Alex ‘The Genie’ Bojenko on solving this problem for the current CRM project I’m working on.

After a lot of digging around and trying various solutions I have come up with a workable solution, although it is not particularly pretty.

First: Update the deployment framework to use the latest version of PSExec.exe as version that comes with the tool does not work on 64bit environments. I’m using v1.97.0.0. The path to the file is:

<solutionroot>\BuildScripts\bin\Deploy\1.0\Framework\bin

Second: The core problem is the 64bit operating systems of Vista, XP, Windows Server 2003, Windows Server 2008 has two branches in the registry one for 64bit entries and one for 32bit entries. If you install Crm on a 64 bit server puts its settings in the 64bit branch and the MSCRM Toolkit deployment tool looks in the 32bit branch which causes the error.

I looked at various ways to change the deployment tool to read the right branch but they were very complicated and required a lot of rework as the problem is it is not possible to specify which registry branch to read with .Net 3.5. However .Net 4 does allow you specify which branch to read so I am hoping that Microsoft will update the Microsoft.Sdc.Tasks.dll registry classes to enable the reading of specific branches.

So what is the answer:

1) Export HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSCRM from the registry

1-ExportCrmRegistry

2) Edit the exported file and put in the 32bit path which is:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\MSCRM

2-EditExportedRegistry

3) Run the edited registry file so that it is added to the operating system’s registry

That is it! You will now be able to run the deployment tool.

It is interesting that Windows Server 2008 R2 and Windows 7 do not used the same approach for 64bit and 32bit registry keys so it is possible that the tool will work out of the box on these operating systems.

PS. – If you are using IPv6 do not enter ‘localhost’ to run the tool but the servername otherwise it does not work!

»

[16 Mar 2010 | 0 Comments]

I was reading an article in the Evening Standard on the 10th March 2010 called ‘Forget the degree, go for the gap year’ about the lack of value in getting a university degree in subjects like English and History. The general thrust of the article was that one of the City’s leading professional bodies were saying that only degrees that teach vocational skills, such as medicine, law or architecture are worth doing as you can use those skills to get a job. If you get an arts degree like English or History you run the risk of only having the skills to get a job asking ‘do you want fries with that?’ This got me a little annoyed; I believe that people get really valuable skills out of studying subjects such as English and History that enables them to be more successful in whatever career they choose later in life.

I studied History A Level at school so that is the subject I am writing about, which is supposedly not worth studying anymore. I will say why I believe studying History is more valuable today than it was 16 years ago, before the dawn of the commercial Internet, and I will also say why I think that employers are being very short sighted and blinkered if they disregard people that study this subject.

Why is learning about the historical events useful?

The quick answer is it is not at all useful in everyday life, perhaps it is if you are at a pub quiz or get on Who Wants to be a Millionaire but that is about it. What is useful are the skills you are taught and use during your studies.

What are the skills you learn when studying history

To study historical period in any detail you need to look at a lot of primary evidence, evenElizabeth_I_450 more secondary evidence and even more analysis and debate of this information. One of the periods of history I studies was the Tudors, lots happened during that period in the UK which shaped the world we live in today, The Spanish Armada, discovering America, leaving the Catholic Church to name but a few. So why is this useful? I cannot remember needing that information, however I found it taught me how to collect, analyse and rank large amounts of information to make informed decisions on who to believe and create a reasoned argument supported by evidence.

The easiest way to get these skills is to study a period of History which is well documented. The events and their consequences are known and perhaps more importantly evidence of the motives of those involved has come to light. This then allows lots of debate and analysis around the events and the supporting evidence. The history of Tudor’s has had 100’s of 1000’s of hours of analysis done on it, countless books and documentaries created, feature films, fierce debates rage about the interpretation of the evidence. So in summary there is a lot to get stuck into, it is a very stable set of information and having good Information Management skills is critical.

Some questions should you ask about evidence

  • How do you know you can trust it?
  • Why does it says what it says?
  • What has motivated the author to comment?
  • Why should you believe them?
  • Are they well informed?
  • Do other subject matter experts reference their work or use the evidence?
  • Are there other people that have similar views?
  • What does the Primary evidence tell us?
  • Should you do your own research and analysis on the Primary evidence?
  • What are the consequences of this information being wrong?
  • Who will benefit from you believing this information?

Why these skills are more useful than 16 years ago

We are now living in the ‘Information Age’ and these information management skills are so much more important now and will become even more important for the foreseeable future.

ghostbusters1216 years ago there were established ‘Information Gatekeepers’ who filtered out the bad and the ugly information then published the good to the masses via what we now call Old Media. For example The Encyclopaedia Britannica, other published books, documentaries, news papers. The information gatekeepers are highly skilled in ranking, gathering and publishing information so the masses did not have to be.

Then the Internet arrived and the rules changed, suddenly anyone could publish a website with whatever they thought on it. This lead to a new breed of Information Gatekeepers, the search engine. The key to Google’s success has been to rank websites based on the relevance of their content. The more relevant and referenced a website is the higher it’s Google ranking. This meant that the masses could still use this filtering mechanism to trust their sources but now needed to do a limited amount of assessment of the information they looked at.

However the rules have changed again in the last few years with the rise of services likegoogle-facebook-twitter Facebook and Twitter which we can call Social Media. These platforms have allowed individuals to share their own and see other people’s information, views and experiences in a completely unfettered way and this time there is no Information Gatekeeper at all. It is down to the individual to have the skills to be discerning about the information they are reading. People need to ask the same questions of Social Media information as a historian would ask about historical evidence. These Social Media platforms provide a number of tools to help people do this, such as the number of followers a Twitter account has, but have people been trained to know how to use this information?

In Summary

Those that believe subjects such as History are outdated and irrelevant in the modern world are being naive and short sighted. The skills gained in these subjects are becoming more important than ever before. Learning things is hard and so trying to teach people on a moving platform, such as the Internet, is a really bad idea. By using a stable platform, such as a set period in History with lots of high quality information, makes it much easier to teach people how to become effective Information Gatekeepers.

If you are an employer wanting to hire someone, you should consider giving more weight to the skills people have from non-technical subjects. Most people learn industry skills on the job and someone bringing skills learnt from subjects such as history is more likely to bring quality to the information used in their work and your company. This could in turn well lead to more quality to the business decisions that are made.

Remember, there’s a lot of crap on the Internet, it doesn’t mean you need to tread in it.