Wednesday, November 28, 2012

dev4good holiday hack

On 24th November 2012, possibly the most productive single hack event started.... I may be biased

After a few years of organising hack events, I was beginning to get a bit annoyed by the fact that we can bring together some super smart people with amazing skills and ideas, but not get around to pushing these ideas out to market. Maybe we were doing something wrong, targeting the wrong charities?

To prove to myself that you could build an MVP project in a weekend I built a dev4good windows 8 app in around 30 hours, so I knew it would be possible as long as you kept it as a simple a product, it could be pushed to market. With knowledge I had some mental leverage (not the crazy kind) to show people what could be done.

This time around we decided to bypass the charities altogether, instead we invited developers designers, marketers, ideas people and anyone who was interested to join us at Google Campus for the weekend. In the end we had 40 people, a few familiar faces, a few crazy ideas and a load of passionate volunteers looking to make a difference.

Our holiday hack mantra for the weekend: MVP MVP MVP (keep your eye on the Minimum Viable Product) Along with things like "you are not at work, if it is wrong tell your team, they cant fire you", "hey crazy boy, no we are not adding that to the project", it will all come together shortly"
The only rules were each team must be made up of different skills, a team of developers would never get finished and a team of designers might look good but wouldn't get out of Photoshop, it was all about co-operation and finding the right people with the right skills when you needed them.

With an initial intro from Heidi (our co-organiser from The Giving lab), Amy (the dev4good design/UX guru), myself and Jas (API architect from the Giving lab) we started everyone off with ta simple question. Think up new ways for people to give to charity, you have 10 minutes....

20 minutes later (scope creep can start at anytime), the groups came together and pitched their initial ideas to the masses. This (for me anyway) is where the magic happens at these events and if it doesn't happen you might as well head for the hills, people just start working in teams. It reminds me of those 60s horror films with each idea (the blob) just moving about consuming people, spitting them out until it finds the right group of people to start hacking.

Throw in some coffee, pasta, work tables, beanbags, sweets and the whole place was alive with people sketching ideas, writing code (and in one case launching their project before 1pm on the first day http://www.shevember.org .
At 4pm we had a quick meetup with everyone to see where they were or what they needed to get things done.

Other than Shevember ho were onto making their site work better and trying to arm twist people to donate through their site, the other teams were all at different points of their build. But the Shevember roject really highlighted the fact that keeping it simple makes sense and most importantly means you can push ideas out to the internet very quickly. Which I think spurred the other teams on, there is nothing like a constant reminder of 'hey my site is live, how is yours' to make any developer grit their teeth and weep a little.

Unfortunately I wasn't on site for the Sunday, but when I left on Saturday night I was stoked and very very proud of the work everyone had done. These people had given up their weekend to come along to a building with absolutely no idea what was going to happen or what they would achieve. And the fact that we were looking at 3 maybe four projects being ready to go live, I was a happy organiser.

All in all we had 5 or so products live by the end of the weekend, with a couple more close to going live and one in the iTunes store being authorised..... A massive achievement by anyone's standards and as far as I know (I could be wrong) the most 'to market' projects ever written during a hack weekend (imagine if we were allowed to stay overnight)

As for 2013, there are a lot of plans for new events, bigger events and even more products to market! If you have an idea that could help a charity or a community in general, send it to ask@dev4good.net you never know we could build it in a weekend.

Massive thanks to everyone who came along to work with us, even bigger thanks to Heidi, Amy, Jas, Dom and all those who made it possible, see you all next time!


Thursday, November 15, 2012

My Learning worx, turning the corner in e-learning

A few months ago I joined forces with a team of people with an idea to try and change the way people teach and learn online.
Our goal is to ultimately change the world, nothing big there then.

At the moment there are a large number of sites around that allow people to take courses, mostly based on SCORM which is the industry standard for e-learning. If you have taken any courses at work for Office, Health & Safety etc it was proabably a SCORM based package.
The problem with SCORM is you need to buy software and know how to use it before you start.
Making a course is relatively easy, but you then need to host it somehow, or run it locally on your own PC, which could make it difficult for others to use.

What we want to achieve is to give the power of authoring to anyone with an internet connection, without the need for a training course on how to build a training course.
My learning worx allows anyone with a basic knowledge of the internet the ability to create a course,  promote it and then sell it (or give it away for free).

The better your course and the more sales you make, the more money you can make.

So if you have an itch to teach or want to learn the easy way, we would like you to check out the site and give us feedback - but most of all to try your hand at authoring some courses.

We will be looking for developers to help me build a Windows 8 (& phone) app for the platform in the near future, so keep an eye out if you are interested in e-learning.

We're giving prizes of Amazon Kindle Fires to the best courses published before Christmas.
Course authoring is really easy, all you need is an idea on what you want to teach people.

To read the blog and get more information go to: My Learning Worx Blog
Or signup and start making courses - http://www.mylearningworx.com

Wednesday, August 22, 2012

Is windows 8 that bad - I dont think so

This is a reposnse to www.pcgamesn.com/article/why-i-m-uninstalling-windows-8

I started writing it as a comment to the looooong 'uninstalling windows 8' post, but it got a bit out of hand so here it is instead;

Dear Tim,

A few things, I have had windows 8 running for ages and yes it is 'different' to other windows experiences and yes some of it works better on touch devices, but I dont think uninstalling it is really the answer. The more feedback we can get out for others to comment on the better, good/bad or otherwise.
 Microsoft needs to see and use this feedback to make it better and to be fair they have listened to some of the feedback with regards to the new Visual Studio, maybe this will herald a new beginning for the application life-cycle of MS products?

I really don't think Windows 8 is that bad, its not 'Oh my god, the best OS in the world' but none of the current ones are either, they all have their quirks.
They are built by humans, I mean we aren't perfect and creating an OS that keeps every single user happy is impossible.

There are a few keys that you have missed off your comments that I think may help you with some of your usability issues.

The windows key will always take you to 'home' (this being the tiled metro homepage)
Using windows key combinations you imitate touch gestures;
Windows + Z, Windows + X, Windows + C all bring up different menus while inside an app or 'home'
Windows + D still works to take you back to the old faithful desktop
Windows + Tab & Alt + Tab still shuffles you through the active windows
Windows + R still brings up the run command

The full list of old and new key combinations is here - http://www.pcworld.com/article/251022/windows_8_consumer_preview_keyboard_shortcuts.html 

Yes I realise that we shouldn't have to use the keyboard, but it is one of the 2 most used input devices we have.

Okay there is no start button (start scary horror soundtrack music), but to be fair most consumers  and remember Windows 8 is designed for the general public who are consumers of information, not geeks like most of the people who read this who are pro-sumers - that is we make stuff. They will use a dozen or so 'apps' on a day to day basis and don't care if they cant see the 'control panel' menu or most of the other options under the start button as they everything they need will be visible on 'home'.
So as long as they see their main app tiles they wont care either way.

I think if you are a geek or gamer you will feel unjustly forced down the 'app' centric route, it took me a long time to come to like iPad because of this. For a long time I wanted to get into the nitty-gritty and play with the folders hidden inside the OS. I even bought an android pad to do this... waste of time and money. Anything with a 10" screen is NOT designed for inputting large amounts of data.
You take a picture upload it to face book, send 140 character message to a friend, tell the world what you are eating for dinner, check whats on TV, watch a TV show,find a recipe, listen to a song, job done - it is nearly always consuming data.

I was also a bit confused with the whole home vs desktop idea. I am a dektop man, we all are I guess, everything gets dumped on the desktop first (or in the downloads folder) to be used whenever we need it and then left to clutter up the view, I used fences for ages to help clear this up.
But in windows 8 there is this clean (and easily read) blocked out 'home' interface that just allows me to see the top 20 or so tiles that link to the apps I use the most, not 4 screens (I have  a lot of desktop space) of random files, links and shortcut, I mean really how on earth could that be easier and more productive? (sarcasm)

Windows 8 has made me do things differently, much the same way Mac users do things differently to windows folk. I now store nearly everything on skydrive and dropbox, very little is stored locally.
My laptop only gets the files I need to use, then they are stored or deleted, I just don't need them.
It has forced me to be more organised, I have not installed anything that I dont really need and do install a lot of crap that just hangs around, but if a tile stares at me long enough and I don't use it I remove the app, as the old meerkats say 'Simplesss'.

I will be lining up to buy a Microsoft Surface (not the old surface or pixelsense as it's called now, the new tablet one) when it launches in the UK. Why you may ask, well its really because android and I just don not see eye to eye and I am still not convinced the iPad is for me. Don't get me wrong it is a great platform with an awesome design/UX, however it just does things I don't like and I want to see if a Windows 8 touch device feels better and this is the big thing for me.

This is the crux of the whole mobile device OS issue. The difference between one OS and another is not how it works or what it looks like or if it crashes every 2 seconds, but how it 'feels' when I am using it; is it tactile?, does it make sense when I am doing a task?, does it allow me to access something in a way that feels right? can I use it how I want to use it?

I might be biased towards Windows 8 as I have a windows 7.5 phone, an Xbox 360 and rely on Microsoft stack and it's technologies to help pay my mortgage, but I personally think that Windows 8 is going to make people stop and think about how they work and what they 'really' use their PC/tablet/mobile device for.
And from a financial point of view, even if only half all current windows users move to Windows 8 that is still a shed-load of consumers who will be in the market for new shiny apps and that can't be a bad thing for us developers/designers.

One last thing, when reviewing an OS we shouldn't really focus on the apps that it runs, I know the mail client is pretty basic (although not that bad really), it is Outlook express at the end of the day and is not Outlook.
In general the apps are written outside of the OS, so shouldn't we review them in their own context?



regards,
Craig








Tuesday, July 31, 2012

Dev4good 2012 deconstructed - part 2

Please, please, please listen! I've got one or two things to say. 

I have been writing code of some description since 2000 and would consider myself fairly knowledgeable when it comes to UI design, user interactions etc. I am realistic and know that I couldn't design my way out of a paper bag and that there are always better ways to do things...
And I guess most developers think the same, we all code our systems to be designed around the functions we build and the specifications we are given...

My way of thinking was about to be beaten with a stick (probably with a few rusty nails stuck in it).

Stwike him, Centuwion. Stwike him vewy wuffly!

Picture the setting (this isn't me), its 230am on a Sunday morning, you have been coding a project since 11am the previous morning and you turn the developer across the table and say 'something just isn't right'. The UX consultant who has been trying to tell everyone in the team about something called 'stakeholder', behavior, touch points for the last 15 hours turns and says "Boys I have an idea".
Queue 3 mini coopers, a bus going over the alps, or at least - 3 developers a super smart UX consultant and a whiteboard....

As I mentioned, I wasn't actually in the scene above (a lot of literary licence was used), I called in right towards the end (heading for what would turn out to be an incredibly uncomfortable bean bag) just to say goodnight, only to be told "Craig, Amy has just told us we don't need an IT solution for the Gaza project". Bearing in mind the gaza team had already split and it was nearly 3am, I thought what the hell this could be interesting.
Amy went through her presentation and I went from being completely shattered to being completely awake, everything she was talking about made sense. It appeared we had all missed the 'human' aspect of the problem and looking at the problem from a different angle (not the developer 'must write code' angle) meant the solution was extremely simple - we need somewhere for people to meet and share information.
This was where I dropped a bombshell, 'why dont you just do a mashup?'. Use the data feeds from all of the other projects, plus blogs etc and create a place for people to see the information they need to see.
The Gaza1 team came in as well to say they had realised that their solution was not going to work, mainly for technical reasons. They had framework issues and were stuck, everyone discussed options and they headed back to try some new options.

After an hour of discussing the different approaches of developer and designers I went to bed, feeling enlightened.

I've been here five years, they only hung me the right way up yesterday.

It will probably sound very cheesy, but the early morning lesson really struck home. I am reading the Nail it, then scale it book at the moment and there is a lot of talk about doing the minimum right first. You build a minimum feature set first and seeing what people think/need before adding more to it, this is exactly what the teams should be doing (lightbulb moment), thinking as a developer you always build to the end specification and would never (rarely) remove functionality just to get a build/release.
However thinking about the human problems and behaviours of the stakeholders you very quickly realise that actually most of the functionality in the spec is down to what you (or they) think they need not what they need.

This would prove to be a valuable lesson that I think nearly everyone learnt over the weekend, all for different reasons

Two days to dismantle the entire apparatus of the Roman Imperialist State

I digress, the morning started slowly, actually I think it was more like Saturday, just became Sunday so there was no real start and everyone just got up and carried on.
More coffee, monster energy, coca-cola was drank while the teams started on the home straight.



Wednesday, July 11, 2012

Dev4good 2012 deconstructed - part 1


Life of Dev4good 2012 - part 1

I have to admit there are a few grey spots from the dev4good weekend, I think the lack of sleep and overdoses of caffeine, taurine and sugar are probably the reason or a middle aged brain or a bit of both, anyway here is my dev4good, deconstructed.


I sometimes hang awake at night dreaming of...

On the 7th of July at 8am I wandered up from Charing Cross station to 101 St Martins Lane (mozSpace London) to begin dev4good 2012. As ever when I run events I like to get there really early, more out of a weird recurring dream that I sleep in and missed my own event, than anything else.
I am always apprehensive about how many people actually turn up, I had 57 registered but with 4 other hack events within a 20 mile radius it was a busy weekend for developers.
I had everything organised, from badges indicating the skills of the wearer (developer, designer, other) to chilled beer and energy drinks. 

But what had I forgotten?
This when the fear (F**k Everything And Run) kicks in, the nervous energy and adrenalin start pumping….
Thankfully people started to arrive, massive relief and more adrenalin (wuick flash back to Waynes World - if you book them they will come). John from Mozilla let us in and the fun began.

The early starters were given jobs while I headed to Tesco to pick up breakfast. All I had to pick up was 80 pastries to go with the Lavazza coffee we had been given. However the staff at Tesco had an issue with this and kept asking me how I was going to carry 80 pastries, “in a bag” I kept saying but they still couldn’t comprehend the purchase.
Anyway after much packing of pastries I got back to mozSpace to find a few more people getting ready to go drinking the freshly brewed coffee. Still not the 50 or so people I was expecting, but by this stage I had forgot the numbers problem, we had enough for 1 solid team and that’s all you need for a good hack.
We waited for a bit longer than I had wanted to, but everyone was happily chatting and meeting the other geeks, just on 30 people had turned up - stoked!


Welease the dewelopers

After Intros from me, the Givey Team (Dave and Nick), Mozilla (John) and Iyas who runs Hope and Play, plus a quick cameo from the naked guy out of friends at the window across the courtyard kicked the weekend off.

As you will see only one charity had a representative, this might be down to me not communicating the importance of this as well as I should (note to try harder next year) and to be honest it was something I was initially concerned about. This worry was quickly dispelled while listening to Iyas talk about his recent trip to Gaza, how bad it really is on the ground and what we could to do help. 
I remembered that we are working on problems ‘seeded’ by charities and the more input the charities have in front of the teams the bigger the chance our projects will come to solving the ‘real’ problems, more on this later.
I have to admit some of things I used in my opening speech may have had a bigger impact on the weekend than I had anticipated (in a good a way I hope).
Things that come to mind “if you are in a team and are not doing anything constructive, leave and join a team that needs you”, “last year teams wasted a lot time on trying to make an existing platform do something that it wasn’t designed to do, it might be quicker make it from scratch than to rebuild existing code” or “use the skills you have already, focus on your strengths and use them, learn where you can and teach where you can, but remember time is limited”...


What have the Developers ever done for us?

The goal for each team was to produce and demo a mvp (minimal viable product) in front of everyone else, sounds simple enough doesn’t it?
Queue the mission impossible theme tune.
So project intros were complete and now the scariest part of any hack event…. Will the people do anything when the gun goes off?

Another fear moment (probably a recurring dream about this too), everyone has heard the pitches and then decide to not take part and leave.  However I forgot I had a room full of some seriously smart and passionate people and after running around, trying to find the man size post-it notes, I came back to find the organic process of a group of individuals turning into teams.


Popular people front - splitters

This is a process that if you haven’t seen is quite cool to watch, it’s hard to explain but is a bit like the opposite of the Big Bang or like kids playing with play dough.

You start with a few people talking and others walking past overhear something interesting and get pulled in, if the conversation isn’t what they want they head off on a different trajectory. The bigger the group the more gravitational pull they seem to have on others, then all of a sudden the group will disband and people start to wander off again.
This continues until the groups stop disbanding and regrouping…. A very weird herd/pack thing I guess.
This happened last year as well, so there must be an anthropological reason for how/why this happens, whatever it is, it is very cool to watch.
The teams then headed off and started the first stint before food arrived, time for me to put on the “client” or “devil’s advocate” hat on. For the next couple of hours I bounced in and out of projects when asked to (or not) listen to their ideas, pitches and try and help them to keep their ideas within the rough specs we have. I think I was helping out but it is hard to tell this early on in the day, I am sure I pissed a few people off. My goal of the weekend was to make sure everyone built something that worked end-to-end, I think people enjoy to complete something and show it off.


Otters noses, badgers spleens

Food arrived at 12 on the dot, there was enough food to feed a small army.  The herds snuck out from the safety of their territories (air conditioned in some cases) to eat at the watering hole then moved back to continue working. There was a serious buzz around the place and nearly everyone seemed to be locked in to whatever they had been tasked with.


More splitters, the developers front of tower.js

This is where the fun began, there had been much talk about platforms, frameworks etc, with some very strong ideas about which is best for this and that. One of the teams had already split in 2 by this time, so we had Gaza1 and Gaza2, this was down to platform/framework choice I think.
I have to admit there had been murmurings from some, those mumbles of wrong framework, bad ideas etc and a few people had moved out of teams to help elsewhere.
Something I really liked (it took some balls to drop out of a team) and not something people can do at their day job - “Sorry boss I don’t like the database structure we are using and I am going to head off and work in the canteen this afternoon, ok, thanks, bye

One of the best quotes of the weekend has to have come from one of these particular incidents - “They all went for a cigarette, but never came back”.


The aliens/ufo scene

Between lunch and dinner there is a large grey spot in my memory, I do remember bouncing in and out of scrum meetings, making fresh pots of coffee, but not much a lot of detail. There seemed to be a lot of work going on and a lot of people sitting at their laptops with headphones on, just getting on with it.

Solidarity brothers, solidarity

Pizza arrived and this is where the teams had their first proper long break of the day, everyone came together for a some chill out time before heading back to the keyboards - dedication!

It was about this stage that I realised what I had asked everyone to do, last year the goal was to have  a good weekend hacking and have some fun. This year they had to build something that worked, then show it off and as any developer knows #failure is not an option when it comes to a live demo (Win95 and a USB device anyone).
I also had a chance to check out the project whiteboards and reflect on what had been planned by each team, they all had pretty big ideas and were way above what I thought was possible (proof of the skills and knowledge of the teams taking part).

I'm not the Messiah! Will you please listen?

There was a lot of coffee, monster energy drank over the next 12 hours, plus a tiny piece of sleep and in the early hours of Sunday morning, something close to a geek revelation took place for 2 developers (and me).


Crucifixion party, one cross each, by the left, wait for it...

big thanks to

Thursday, April 19, 2012

Dev4good, Mozilla Foundation and a lesson learnt

I have learnt a lot while running the dev4good events (registration is open for 2012 – http://dev4good.eventbrite.com) and sometimes you learn something that makes you stop and think.
Last week I was left speechless, which doesn’t happen very often, I was up in London meeting Desigan Chinniah (@cyberdees) who is a firestarter at Mozilla (possibly the coolest job title ever) to talk to him about the Mozilla foundation and if there was anything they could help me with for this year’s dev4good event.

I arrived early so did the normal thing in that everyone who has time to kill in London does and found the nearest US-style branded coffee shop. Grabbed myself a coffee and wasted a 45 minutes thinking about how I could have arrived a little later.
At a few minutes before the appointment I headed into the unassuming building and was met by a burly security guard, after the generic, who/what/where conversation I was issued a visitor badge and escorted to the lift and swiped in….
I arrived up to the Mozilla reception on the 3rd floor and waited a bit as there was no one there, then signed myself in and emailed Dees to say I was here but there was no one on the desk.

A few minutes later Dees wandered through to the reception, my preconceptions of Mozilla were about to be blown apart.

I have been to a number of tech offices in the past and there is always the feeling that you shouldn’t be there, you are just a visitor, you are a small dude in a big fish tank etc.
Mozilla have been around for ages, since Netscape released their source code and I always assumed they were just another big tech company with loads of staff cubicled up tapping away at their keyboards, powering the corporate engine.
I honestly thought I would be filtered off into a meeting room hidden amongst the cubicles to talk shop, get a few obligatory t-shirts and asked kindly to leave, oh how wrong could I have been.

To start with Dees arrived without any shoes on and let me know there wasn’t a receptionist and to make myself at home, I kind of liked the approach that silicon valley chilled feel.
We went through to the main space where Dees explained how the Mozilla foundation works and what a mozspace was
  

“So, let me get this straight, this place is free to use and anyone can come and use the space at any time?” – ‘yep
Pause, while I took this all in, “And I can use this for dev4good?” – ‘yes your event fits in with what we are trying to achieve here

In 5 mins I had just wiped over £2000 off the setup costs for dev4good… stunned, more pausing for thought…

MozSpace?
Mozspace is a new concept here in the UK, there are other spaces all over the world that work really well, but it will interesting to see what the uptake will be. As it is a new venture there is still a lot to work out like a scheduling system (I think we can help out with this at dev4good 2012), written fair use policy, access out of hours etc. The Mozilla community is pretty strong (a lot stronger than I imagined) here in the UK so I can’t see this being a problem as the mozSpace grows in use, it is really up to the people using it now to build the framework for the venue.

I personally think the mozSpace idea could really be a game changer for other places in London that offer this sort of environment at the normal London short term rates.
Places like http://www.centralworking.com/ were a fantastic idea until I found out about mozSpace, even if your average coffee shop is becoming a little more lenient when it comes to people with laptops hanging out for extended periods of time.
Even with the advent of the new centralworking space at google campus, which as a sceptical entrepreneur I can see being an interesting place for google to find new tech while its cheap. The mozSpace has no corporate buy out feel to it, yes they expect the people using the space to hopefully take part in the Mozilla community, some will some wont and it is a gamble for them.

This is when I started to realise this simple idea of allowing anyone to use a free space could seriously change the way people like me (freelancers of no real fixed abode) work and run their businesses, not just IT freelancers either, architects, designers, musicians anyone!
I now had the opportunity to use my time in London better, any time that would normally be wasted drinking coffee, being made to feel like a trespasser (some coffee shops are hopeless) could be used to my benefit in an awesome environment with like minded people.


Community space
This kind of concept is also a big reminder/kick in the pants to the other tech companies/organisations who want to have their own active community – (speculate to accumulate?) you really need to give back before you get anything in return.

I remember when the .Net framework was launched and Microsoft was spending a fortune on the MSDN road shows every year and other big developer events, they needed a UK community of people to be passionate about their products.
There was rich pickings (freebies, swag, networking etc) for any developer happy to go along or join the community and use their tools, maybe we pillaged too much all those years ago?
These days the MS developer community is really run by the community leaders, there is very little in comparison coming from Microsoft to what we used to get, please don’t get me wrong Microsoft are still 100% behind the community. It’s just the offers and availaibity of those perks we used to get are no longer there. To be honest this probably isn’t a bad thing, it has forced MS developers and MS themselves to take on different avenues to ‘be good at what they do’

I realise Mozilla and Microsoft run completely different business models and Mozilla is a web thinking company, however there are still a lot of things Microsoft, Google and Yahoo can learn from this open work/community space concept, I mean if a non-profit organisation can rent a space like this and then make it available to everyone, is there any reason larger corporates can’t do this as well?
If you were a big corporate and you had office space in London that what going to waste, the idea of inviting Joe Blogs and his mates in to use the internet would be scary. But what if Joe was a great software developer and was able to help us out with a tricky problem, do you think Joe would charge you for his all of his time if he had been using your office for free? – interesting position to be in….

More on mozSpace London
Basically the entire floor of the building is the mozSpace, which the Mozilla Foundation are using as part office for their staff and part ‘open working environment’ for anyone else who wants to use it. The mozillians (as they like to be called) hang out and work where they want, the rest of us just fit in wherever we can (and there is a lot of options).
Along with the main space there are 3 big board rooms and from memory 5 smaller rooms, plus a couple of smaller breakout rooms as well.
The main space will have a full AV setup, plus if you run events you might be able to stream live to the web and/or record video too.

Whoever turns up can meet/interact with the Mozilla staff and with anyone else using the space. A fair use policy is in place (community enforced), that is if you think you are going to turn up every day and run your startup/business from this space you should probably find somewhere else before you get a tap on the shoulder.

To use the space I think everyone needs to remember a few things;
-          It’s a free environment, don’t abuse it
-          Respect the people who are there already
-          Use it as much as you want, but not too much
-          Tell people about the space, but use it yourself first so you can pass the right info on to them
-          You never know who you will meet there, be good
-          Treat the place like your parent house, just without the keg party (well….)

I am not a mozillian, not yet anyway, but I can see why their community is a strong one and why it will continue to grow, they engage young people (I met
Everything is centralised around a single idea ‘keep the web open’ and now they have a central space to call home I can see their numbers growing fast (they have a new community member, me at least).


If you are in London and want to check it out, mozSpace is on St Martins Lane, you can miss it if you are looking for a big sign that says ‘Here’; 101 St. Martins Lane,Suite 300,London,WC2 United Kingdom  
Next time you need a space to run an event in London, don’t hesitate get a hold of them MOZSPACES@MOZILLA.COM if it fits with what they are doing, or if they like the idea you could be the next event on their calendar

All in all I am very impressed with what Mozilla are doing, who knows how it will go in London, if it is not abused I really think we could be seeing some awesome community event take place and projects developed all because of the free open space they are making available to us all.



The next dev4good event is on the 7/8th of July, if you can write code, design stuff or know your way around a database – we need you!

Friday, October 28, 2011

Silverlight 4– MVVM – binding & dependency property injection

 

I am not going to try and explain MVVM in depth, there are loads of post about what it is and how it works In essence its splitting the code and UI into separate (and testable) layers within your application while trying to keep the business logic out of the UI.

What I thought I should do is a simple example of one way you could bind your data.

One of this problems I hit very early on, was how do I use MVVM and allow data to be passed through from parent to child UserControls (these have to be generic - one for the address, one for a single phone number, etc) that are coded to validate themselves without having to understand the data context they are being used in. The big plan is to use them across multiple projects without having to rewrite/create each from scratch every time.

I started by dumping everything into one massive view model, this was the wrong way – it was nearly impossible to manage the code and with each control only needing the field(s) to do its single job it proved tough.

I looked at all the MVVM frameworks around, all are great, but none do all of the tasks I seemed to need. I also wanted to understand how MVVM worked in the background and using a framework would hide this from me.

No framework this time, I just coded my own simple modelBase to manage the standard bits and bobs.

What I ended up doing with the databinding is an MVVM application that uses dependency properties in the control code behind to manage data binding to some UI elements while still using MVVM to do the logic and control data storage.

I am building a Silverlight control to manage/create new customers so they can be vetted/contracts created etc for a telecoms company.

I have broken the form up into a number UserControls to try and make development easier and hopefully make each UserControl useable in other parts of the application.

The control forms a part of a larger control/view that manages an entire customer account, so being able to access the same customer data across (possibly) multiple Views is important.

How I did it (this time)

I am using web services to build the objects/classes/observable collections, these are all stored in a set of static classes that are all run before the application loads the UI, I had issues with loading everything asynchronously as if the customer loaded before the list of categories for example it would crash (there is probably a work around for that).

The main page holds all user UserControls , each UserControl is populated with static data before I load the customer view and ViewModel which will set the selectedvalue on any databound controls or text property for text etc.

Injection into user control code behind;

I am adding a binding my Customer ViewModel object to the LayoutRoot grid’s DataContextProperty, however you could add this to any property on any control. Or you could add a single field from the DataContext as well to any UI property.

My child UserControl code behind =

namespace Project.Controls.Customer
{
    public partial class ContractDetails : UserControl
    {
        public ContractDetails()
        {
            InitializeComponent();
            LayoutRoot.SetBinding(Grid.DataContextProperty,
                  new System.Windows.Data.Binding
                  {
                      Source = this,
                      Path = new PropertyPath("PropName"),
                      Mode = System.Windows.Data.BindingMode.TwoWay  
                  });

        }

        public static DependencyProperty DataProperty =
                DependencyProperty.Register("PropName", typeof(GenericDataService.queueCustomer), typeof(ContractDetails), null);

        public GenericDataService.queueCustomer PropName
        {
            get { return (GenericDataService.queueCustomer)GetValue(DataProperty); }
            set
            {
                SetValue(DataProperty, value);
            }
        }
    }
}

I hva set the Mode to TwoWay, you could set this to OneWay, OneTime or change this at runtime depending who who is logged to force the binding to be readonly.

I then pass the data into the child UserControl above in the xaml of the parent control;

   <my:ContractDetails  PropName="{Binding TheData }" x:Name="contractDetails1" />

One last step is to set the text property of the textbox that is on the child UserControl , in this case it is the phone number, I use a text filter command to only allow numbers and there will be some UK phone number validation as well.

    <TextBox Text="{Binding ElementName=LayoutRoot, Path=DataContext.PhoneNumber, Mode=TwoWay}" />

<TextBox Text="{Binding ElementName=LayoutRoot, Path=DataContext.Fax, Mode=TwoWay}" />

<ComboBox Height="23"  Name="CBContractDuration" Width="120" Grid.Column="2"

ItemsSource="{Binding Path=ContractDuration, Source={StaticResource StaticData}, Mode=TwoWay}" 

DisplayMemberPath="Name"  
SelectedValuePath="id" 

SelectedValue="{Binding ElementName=LayoutRoot, Path=DataContext.ContractDuration, Mode=TwoWay}" 

/>

From the ComboBox sample above you can see the control is filled with data form my Static data class, however the selected item is set by the Customer ViewModel data passed in through the dependency property up in the first example,

(I have tried to show the linking between the three steps by colouring the keywords, sorry if this is confusing for anyone)

It is important to remember that even in Xaml the binding keys are case sensitive  so in the above example PropName="{Binding TheData }"  is okay, but PropName="{Binding Thedata }"  will not work.

The above works well, but there are instances where you end up doing the validation on the control within the ChildUserControl in the code behind rather than the ViewModel, this is not perfect MVVM, but it works, so is good enough for me – at least until I work out how to do it all in the view model.

Summary

From what I have seen so far, its only been a few months of a steep learning curve (decided to move form VB to C# at the same time – glad I did), but there is no limit to what you can do in MVVM/Silverlight/Xaml, its really down to working around the eccentricities of the framework to make it do what you want it to.
Databinding is one of them, which I hope the above example explains - at least one way to do it.
Please note this may not be the best way, however in the rough and tumble of agile development, it works and it has shipped.

Thursday, August 11, 2011

Silverlight 4 – error in FrameworkElementMetaData

Booted up my PC and opened the latest project only to find when I try and view any of the silverlight VStudio just gives me this error: The type initializer for 'Microsoft.Expression.Platform.Silverlight.SilverlightCommonDesignTimeProperties' threw an exception.   - Nice and helpful.

There was only 1 result on google that sent me to https://connect.microsoft.com/VisualStudio/feedback/details/669751/the-type-initializer-for-microsoft-expression-platform-silverlight-silverlightcommondesigntimeproperties-threw-an-exception#

Thanks to dgcaron for his workaround;

I had this very same issue when i installed the WP7.1 templates from the MVVM light toolkit. i was able to build and use my projects after i :
- removed the system.windows.interactivity.dll reference
- cleaned my sln
- readded the reference

 

Tuesday, August 09, 2011

Activity.log – visual studio 2010?

Every now and then I have a pop up saying that something went wrong in visual studio and it is probably an add-on component that did it and I should run visual studio in  /log  mode to see what is happening in the activity.log

After a little playing in the command line trying to get this so work, I found this; http://blogs.msdn.com/b/visualstudio/archive/2010/02/24/troubleshooting-with-the-activity-log.aspx by Bill Weinberger

A great post, explaining how to do it and what to look for!

Now to work out what is happening.

Tuesday, August 02, 2011

Identity theft how simple is it

Armed with a few spare minutes and nothing but a mobile number for an eBay seller I was picking some kit up of I wondered how much I could find out about this person?

Step 1 – Asked Google

Google gave me a few spammy hits plus a link to a page on Facebook called "I have lost my phone, please tell me your mobile number again", I mean come on people. There were about 90 mobile phone numbers alongside this persons ‘friends’ names.

Step 2 – Facebook

Following through to the person profile for my ebay seller, a quick skim through their wall showed a load of birthday wishes a few months back, whilst their profile details mentioned they graduated from XXX university in 2002.
He also had a picture of his pride and joy, a beat up VW polo with its number plate visible in the photo.
So some simple maths gave me their date of birth +/- a year.

Step 3 – some more public sites

A quick scout of Linkedin gave me a few more clues on where they worked and adding this to the Facebook data a rough idea of where they lived too.

Twitter had no results, so they weren’t a geek (he works in a hotel btw)

Via BT, whitepages and 123people, using name and rough location I got a hit on an address, same surname but different initials (maybe lived with parents?)

 

So in half an hour I had;

1. Full name
2. Date of Birth
3. Postal Address
4. List of friends,mobile numbers (and all their names too, possibly DOBs)
5. Current employer and their address
6. Car number plate, although not sure what I could use it for?

This is probably enough to do bad stuff with, or at least cause some havoc.
I really don’t think people understand how easy it is now to piece together a full identity of just about anyone.

Yes there are bad people on the net that look for this stuff, but we really need to make it hard for them don’t we?

 

Prelude

I picked up my eBay purchase (from the address I found above it happens – strike 1), from the sellers father (strike 2), when I asked how his son was getting on at his new job (maybe pushing it a bit far with this), he said good but then looked at me a little bemused.

But I had already paid for the items so all is fair in identity theft and eBay purchases.

Keep it locked away

Its a dirt internet, keep it clean and hide the data you don’t want people to know about. You wouldn’t write your PC password on a post-it note and stick it to your screen would you?

Tuesday, July 05, 2011

Running a developer event – sponsors

They may not come through when you think they will and even if they say they will, others though will come out of the wood work. But they will never find you first.

But don’t let that put you off!

There are a few or companies who support the UK MS development community that you could say will be guaranteed to help out in some way, make contact with these guys as early as possible as they always run their sponsorships on a first come (with the best idea) first served. And they take the longest to get money signed off and paid.

Now its the hard(er) bit, start sending emails out to every business contact you know, anyone could be a sponsor. I didn’t go for the give us cash or forget it, it was important for me to get ‘stuff’ that could keep the costs down and I never said no to a sponsorship offer.
The email that went out was heavily focused on what I was trying to do, not on how much cash I needed, actually for most first contact emails I never asked for cash. If there was a positive email, then I would send a gracious thanks and mentioning cash needed.

My initial thoughts were to ask for small amounts (trying to avoid a ‘no’), after speaking to someone who knows about running and organising a lot of successful events (Simon Sabin from SQLBits), I realised that I should be asking for the full amount from everyone and seeing what happens… First try on this was surprisingly effective.

Don’t stop looking for sponsors, you cannot be certain of anything until the cash arrives.

Be prepared to cover some(or all) of the costs for the event yourself, hopefully it wont come to that. But you do need to bear this in mind, this will also keep you focussed on finding both sponsorship and the right venue.

Phase1 – the people you know
Phase 2 – the people you know through people
Phase 3 – random companies that you have seen advertising in the magazines you read, who may or may not have any link to the event
Phase 4 – repeat 1,2,3

It takes balls (not literally) to run an event, if you approach people confidently and know what you want to achieve you will get a better response. If you know what the sponsors can get out of the event, you will get a better response.

My initial emails were basically crap, it took me awhile to get my story of what I was trying to achieve straight.

Once you have your sponsors, do keep them in the loop, now this is not something I did on the run up to dev4good, but I will be sending a thanks and summary to them all within a few days of the event finishing.
While the event is on, make sure every attendee knows who the sponsors are and what they paid for, I did a lot of this on day1, but forgot about this on day 2.

And most importantly don’t lie to sponsors, ie this is our 5th year, we have 200 people registered, your closest rival has given us £xxx etc It will only get you bad press when the truth comes out and you will find it very hard if not impossible to get these people to ever take you seriously.

Well that’s a few bits on sponsors, don’t hesitate to contact me if you want to find out more, tweet me @chillfire

Running a developer event - venue

My biggest piece of advice to anyone looking to run ANY event
Get your venue sorted FIRST

That’s about it really, except a few other things to consider;

suitable for the Event

Make sure you focus on venues that fit your event, there is no use chasing a venue that is not suitable, if you can go to the venue before you say yes or put cash down, expect to out a deposit down well in advance of the big day, to secure the booking.
Keep in contact with the venue, make sure you know what they need from you and that they know exactly what you are expecting them to do.
When you go to the venue, try and imagine how the event will run in your head, ask about everything you may need and make sure anything verbally agreed is also bounced around in emails too.

Location

This will set your cost per person straight off.
In London its going to be a lot more than in the sticks, saying that you wont get as many people travelling to somewhere that doesn’t have a train for example.

Infrastructure

Public transport is a must, if it’s out of range to walk, then is their parking?

Accommodation

If you plan to run the event over night or not, people may want to stay the night before to save an early trip. I used a hostel as an option for anyone who didn’t want to kip on the floor. Saying that a few said they would have crashed on the floor if they had to. Also I could have saved a lot of cash by booking beds rather than dorm rooms that were not full due to last minute drop outs.
I was very lucky when I found www.hammersmithriverside.co.uk, this was all down to an opportune email. They allowed me to use the venue overnight (this was the biggest hurdle for dev4good, I wanted people to be able to work through the night if they had to (or sleep for free). I spoke to a few businesses and insurance was the problem, so was security. I tried real estate agents as well, looking for empty buildings, but again insurance and security were the problem.
I also looked into YHA hostels, as the initial event idea was for it to be a code retreat, but there are very few that have an internet connection (even 3G) and even fewer that are close to civilisation – they are a very cheap option though.

Services

Can you get the internet, is their 3G, how many people are you planning to have on site?
We had 25 people using 2 wifi points on the same Adsl and we crashed this quite regularly. One team ended up in the pub next door using theirs for a few hours. If you are using a corporate venue this probably wont be an issue, but do go wandering around your venue and make note of any ‘public’ wifi spots, cafes etc

Food

After the venue itself this is the second biggest cost, at dev4good I covered all food costs + coffee/tea/biscuits through the venue’s kitchen. We ordered pizza in on day 2 as it is a pre-requisite for any coder event.

backup

I didn’t have one, but its always worth having a backup in mind, especially if you are booking a long way in advance, don’t stop looking for other venues, you never know hen you might need them.
If you have any questions, tweet @chillfire and I will see what I can help with

Saturday, July 02, 2011

dev4good day 1

Day one has been a great day for learning!

The 3 charities all came to us with completely different problems.

Hope and Play (www.hopeandplay.org) were looking for a way to locate and manage resources. And allow other charities or people to do the same.

The Ministry of Stories (www.ministryofstories.org) are looking for a way to get more young people writing stories and publishing these to the world. All while helping to generate a little more cash along the way.

The Design and Craft Council (www.craftanddesigncouncil.org.uk) want to be able to automate their awards processes

For me one of the big worries about the event was how to get the teams to work on all the projects.

Fortunately after much post it noting and milling about, the teams magically built themselves!

Then came much discussion and planning

Then the internet and wireless connections started to fail our multi user downloading of updates/platforms/frameworks. So much so that one of the teams retired to the pub next door to use their wireless (well that’s their story anyway)

More pics from day 1

http://www.flickr.com/photos/64749203@N03

Its been a great day and there will be more code and frivolity tomorrow.

Wednesday, June 22, 2011

These are not the mind waves you are looking for

A few weeks ago I was watching the ‘Best if the Gadget Show’ and one of the task they showed was how they controlled a gantry crane with nothing but the power of their minds.

This was in my mind something straight out of the Sci-Fi shows I watched (and still do) as a kid.

This coincided with me trying to find some cool kit for the volunteers coming to dev4good (www.dev4good.net), we had the Kinect, we had the MS Surface, mind control was definitely on the cards.

Two days ago my Neruosky Mindwave arrived, queue the Star Trek theme tune.

Out of the box

inbox

Un Boxing the toy was easy, getting the sticker off their USB dongle was tricky. Unboxed there is not much to the system.
A weird headset similar to the one used in universal soldier (maybe there is a hint of irony here) and the aforementioned USB dongle.

That it I thought, this is all I need to control the world?

I did need a single AAA battery though.

There was also a CD, installing this gave me the option to install the latest software which was 400mb…

The headset is fairly lightweight and feels fairly solid, although not sure about letting the kids use (as the pictures on the box show).
When its on your head, it feels a little odd at first, its not something I would wear in public, at least until I can get my Jedi mind tricks working to make people forget they saw it.

I am guessing the positioning of the main contact and the forehead pad is important, but it does feel weird.

Install

Simple, just agree to the Licence and its off, took about a minute and half to extract.
Plug in the dongle when told, 30 secs later and MindWave manager opens and asks you to add put a fresh battery into the headset.
Once on it auto searches and pairs itself to the headset and tells you the serial number.

Up and running

Once installed the ‘App Central’ application kicks off image

and the mindset becomes active.image

Using mind control in the real world

Okay its all a little more grey than I thought, there is a great set of free apps/games installed by default. But while playing them you never really know if its you actually doing anything. This I think because you are not interacting with things in the same way.

When I type on a keyboard, I can feel what is happening, I am thinking a millions times faster than my fingers can type – but I know that its me that is doing it.

Sounds strange, but the mindset reads you brainwave and there are you you use for most of the games

- Alpha waves for relaxation
- Beta waves for focus.

But as I don't know how to control them, its a ll a bit hit and miss.
I guess the more you use the hardware and apps the more you understand how your own brain functions.

Now all I need to do is find an application I can use this for!

 

good place to start for developing against the mindset

- http://developer.neurosky.com/
- http://thinkgearnet.codeplex.com/

 

more to follow as I start to code my world domination platform up"!

Saturday, May 28, 2011

dev4good - who what where why?

I have been asked quite a few times why I am organising dev4good and every time I answer that questions it seems there is a different reason.

History

The initial idea came to me while watching a short film a friend Dave Hawes made, while taking part in the PayPal charity hack last year. I thought ‘hey I could do that, but just not with a single platform/API’.
I had no time so the idea was filed into my “great idea, no time folder”
R.I.P Build bunny

Time flew by and we had our first codefest evening at Devevening where we (Matt Lacey usually) writes a player app (noughts and crosses) that everyone attending had to compete against with there own self written player. Everyone had 2 hours to work on it, at the end we had a play off and the winner got - bugger all actually.

But the point was it was quite impressive what you can achieve in under 2 hours, some of the guys paired up and worked as a team to build their player and even though it was a competitive event, everyone was happy to help those needing a point in the right direction.
We have had a few of these events now and they are by far the most enjoyable code events I have taken part in.
Fast forward to early 2011 and I find myself brainstorming exactly what this hack day will be.
It had to be a simple format, otherwise I would never get it sorted in time. And it had to be based around solving problems, I wanted people from different backgrounds involved, there must be a competitive edge in there, a time constraint, sleep will be optional and we will need a tonne of coffee.

We also needed something to work on, something that we would not work on during the normal 9 to 5 slog.
Lets face it if you work in IT, normally your job is to make something that does stuff that makes money for someone. Or you end up developing something to remove the need for human interaction.

I though that charities always have problems they need solving and most don’t have the funds to realise their dreams or the technical staff to help them do it.

ideas + skills = results

 Developer stereotypes

Personally I think developers (of the software variety) tend to have the reputation for working late, in the dark, illuminated by their multi screen setups hunched over their wireless keyboards, sipping on a cup of coffee mere mortals would have tipped out hours ago – or is this just me?
Joking aside, for a lot of us isn’t too far from the truth, at least a few night a week anyway.
Saying that I really like working with other people, however as a freelance developer up until very recently anyway, its usually just me, myself and I writing code and solving problems and trust me, never listen to I and myself can be a little flaky at 2 in the morning.
So having an event that forces developers to work with people they would never normally work with on projects that they would probably never work on – it’s got to be a good thing right?
So the question was “What would happen if we took our codefest idea, but this time threw in 30 developers. The problems would be real world ones form people who really need the help.
Most importantly if we solved any of these problems we would be directly helping a person somewhere.
It seemed like a win win situation to me.

Enter dev4good

In march I was lucky enough to meet a man who had a building in London that basically cried out ‘hack day’, it had a bar!
He was happy for us to use the place for an entire weekend (including overnight, which for most corporate venues as this is not allowed due to something called insurance).

That pretty much set the ball rolling, dates were set, websites were knocked up (literally), then the social network wheels started turning.
3 months later we have 30 registered developers, over £5000 worth of prizes (thanks to them all), people coming from all over the UK (plus one form Holland) and a tonne of free coffee (hmmmmmm).
Also we have (so far) 2 fantastic charities that really need our help;
- www.hopeandplay.org
- www.ministryofstories.org
Dev4good is a social experiment of sorts, lock 30 developers in building with some serious problems and see how they work their computer sorcery to solve them.

Revelation

During the last few months while organising dev4good, I have met some amazing people along the way and we haven’t even had the event yet!
It is so refreshing to work on a project that a) isn’t IT based for a change and b) allows you to meet and talk to really cool people.

So come on, why?

To make a difference (cheesy I know), but I really do believe that we  (that’s all 30 of us) can make a difference over the course of a single weekend and if we can help 1 person then all the hard work will be well worth it.
I am also fairly sure that everyone attending will gain a lot from just working with the other people there. It’s an awesome team of people who are coming.

Right I want to join in the fun

You can register over at dev4good.wemoot.com
There is a load of info on out wemoot portal, feel free to look around

If you cant come, but would like to be involved?

We are still on the lookout for sponsors contact dev4good (or ask@dev4good.net)  if you can help financially or have a product you think could help our team out.
Spread the word, we will be running these events every year in London, or if you would like to run one in your region/area/town/country get in touch.
You can also follow the event on twitter @devfourgood and the hash tag is #dev4good

Wednesday, March 30, 2011

dev4good – developing for a better world

One of the cool things about doing what I do, is the simple fact I can build something from nothing with nothing but an idea and notepad (okay I haven’t hand coded a website form scratch in a few years, but I could if I had to).

Another cool part of my job is the people I work with, the other IT professionals, designers and developers (other people are cool too).

I help run @Devevening (Surrey based developer user group) and a few weeks ago we had another hack night, where developers are given a problem and 2 hours to solve it. Every time we hold these events I am amazed at how much can be done in a very short amount of time (this time was a battleship client that you had to pit against a fellow developers client to see who would win)

I am getting to the point honest…

So I wondered what would happen if you got  a group of developers together for say a weekend, throw in some real world problems (donated by a few charities) and see what amazing stuff could be done.

This idea has grown slightly and I am in the process of setting up the UK’s first ever Developer/Charity hack event, called dev4good, check out the site www.dev4good.net for more details.

We have a venue in London, on the river Thames no less (www.hammersmithriverside.co.uk) which is awesome!

If you think you would enjoy a weekend of coding with developers from all over the UK in possibly the craziest working environment, register for updates and provisional places, follow @devfourgood on twitter for updates.
Anyone from any IT background, any platform can help, designers, IT professionals, hobbyists, get in touch, we need your skills.

If you are a UK charity and think you have a problem that only the “A-team” could help with, let us know.

Obviously all of this is going to cost money, so I am looking for sponsors to help out with food/drink costs. There are no costs for charities, there may be a small registration fee to stop the ‘no-show’ effect for developers, but that’s it.

 

So what do you think, do you have what it takes to help building something cool, that could change someone’s life?

Friday, March 25, 2011

Home media platform project

I was asked to setup a home music centre for a friend, nothing too hard I thought. The requirements seemed standard, so I said yes let me at it.

3 weeks later, I found myself still trying to piece together the components, none of which I had ever used before – fun!
(This was 3 weeks fulltime)

The requirements were;

  1. Must use optical out (its connecting to high end amp)
  2. Needs to look like it fits in and around high end audio gear
  3. Headphone out
  4. Low power
  5. CD drive play/burn
  6. Internet access
  7. Auto rip function
  8. Remote control for playlists etc
  9. External touch screen
  10. Silent
  11. Small footprint
  12. Easy to use for a non technical user

Server/Base unit

I went off looking first of all for a base unit, the mini-itx platform looked like the best of what is available. And the boards are cheap enough these days to make home cinema/media PCs available to everyone.

But what I found was although the boards are cheap, its the extra bits that add up. By the time I added an external power supply, remote control, ram, hard drive it was still looking at +/- £400 with a decent case.
Add to this the problem of adding a slim line CD drive to some ITX cases, it seemed that if you did this the case got big quick.

I did find that the Acer Revo PCs were a pretty good fit, add an external CD drive and bingo, but I really wanted an all in one unit.

I found it in the form of the Asus EeeBox EB1501P Net Top PC.
It had optical out, internal CD (one of those funky soft eject ones too), Windows 7 Home Premium, WiFi, HDMI, eSata and although ebuyer didn’t mention anything, it came with USB keyboard/mouse, Media Centre remote control and a vesa bracket.

All powered by an Atom D525, Dual Core 1.8Ghz with 2Gb Ram for £270 +vat (its dropped by £30 now….)

Base unit was sorted, the screen was a little more fun, I wanted something small enough to be usable and not too big that you would notice it in the room. There are a number of 10” USB driven touch screens on the market (be careful some don’t work on 64Bit OS)  and after a chat to the guys at New IT I went for the iMo Mini Monster a 10” wide screen, single touch  monitor. It has a built in stylus that is hidden in the bezel too.

So that was the PC side of things completed sorted.

Remote controls at the ready

I wanted a tablet for the remote, but not an iPad, they were just too expensive for this project. I opted for a 10” Android ePad (10.2" Android 2.1 ZT-180a Apad/ePad 1GHZ CPU 256RAM) and threw in a 4Gb micro SD card for good measures.
I headed off the the android market place for a remote control to control the music…. I installed and uninstalled every single ‘free’ remote control literally in the market. Both iTunes and Windows variants… All were basically crap they worked most of the time or did everything except display the media library.
I did find one app that was fantastic when you had under 100 or so tracks, however as soon as we broke this level on while ripping we saw a massive drop in speed. It doesn’t cache anything on the tablet, so EVERY time you go to load an artist, genre etc it goes off and asks the server for the list, then waits until everything has been sent. We were waiting for 5 mins for a screen update… uninstalled that pretty quick.

This was when I put my IT hat on and realised that there must be a remote desktop app, there were lods of them, all were paid for and because I am tight I didn’t buy them.

What I did, which I think when looking back was a genius move and I should have done it in the first place, was to install TightVNC on the PC with the android TightVNC app on the tablet.
Instant connectivity, full screen, lag-less (pretty much) experience.

To make this better we put a wireless AP in the room that the kit lives on and only the devices in that room use that network, for an extra £40 it was worth it, the tablet and PC chatter to their hearts content without losing out to any other traffic.
The other reason for the added AP was the house we were installing in was built in the 1700’s so had walls about 1m thick of stone, which have the ability to block WiFi.

I used 3 home plugs one at the router in the 3rd floor office to run the network down to the ground floor conservatory and to the kitchen to a second AP just for the kitchen/liveing area as the BT router upstairs was dropping to under 1 bar most of the time.
The home plugs where sitting around 20Mb throughput, but this was expected as the wiring itself is a little flaky from time to time.

Conclusion

This was a great little project, the client is over the moon, a few minutes on how to connect the tablet to the PC and he is instantly in an environment he knows.

We ripped just over 3500 tracks in 2 days (used the Asus + 2 laptops running in parallel, ripping to the shared media folder – the whole D drive). The rip speed of the Asus is about 70% of my old HP laptop, not sure why this is, I am guessing the speed of the soft eject CD drive may be the problem.

If I was to do it again and I will for myself at least, I would throw another 2Gb of Ram in the Asus. It streamed DivX films okay over my network using Home plugs (70-80Mb) while playing on my TV via the HDMI, but for video I think the more ram you have the better.
When SSDs come down in price these boxes will be perfect for them, they use net to no power anyway, heat is minimal, but with an SSD it will just be that little bit better.

I would probably fork out for an eSata drive as well, or at least a NAS box/home server setup to work alongside this, the storage is great for MP3s, but would get eaten quickly with video storage.

Pics

So we have the 10” screen next to the tablet running TightVNC!WP_000516

The 10” screen on its own
WP_000514

The Asus EeeBox

WP_000515

Nice to do something that doesn’t involve writing code for a change!

Thursday, February 24, 2011

The end of the IT department

My response to http://37signals.com/svn/posts/2785-the-end-of-the-it-department

That was a very interesting read, not what I would call a balanced view though and made me write;


My company is the IT department for a number of companies in the UK and I have been the IT manager in charge of departments in the past.
In part I agree there are parts of the corporate IT world that need to be relaxed, but most are based around very old fashioned thinking and cost of upgrading

The IT world is an ever changing industry, people with the right skills today need to upgrade these skills next week.

Also normally the people who work in the IT departments are not the same people that make the decisions to what can and cant be changed in the company.
If I had my way every PC, server would be replaced every year and always be patched to the latest versions of their software, this is however impractical to most companies as the cost of this is inhibitive.

Yes the 'cloud' is amazing and will lower the number of IT support staff in the building, however it just moves these people and their skills outside of the business, wont this just create a hole in the companies shared knowledge?

I have moved a number of companies to the cloud (not really the cloud, but they call it that, I call it dedicated outsourced server hosting) and they are all happy, but in doing this I had to upskill to understand the implications of these technologies for each company to make sure it will do what they need it to.
Now the big problem we are facing is the local adsl circuits are topping out and we are reliant on 100% uptime from not only an adsl line, but also the infrastructure at the other end.

So when a server goes down, exchange plays up, the problem is passed to an outsourced support company, who place the problem in their 'queue', then we wait.... we have no control or input... 9/10 I could fix the problem if I had access to the servers myself (10 years of IT support do count for something) but I cam not allowed access so we wait.....

The cloud idea is good, but I can see companies jumping on the 'save money' band wagon and then realising that moving their infrastructure outside of their control could cost them more in the long run.
one thing that no one ever asks is  "So if it goes wrong (the cloud) and doesn't work for us, how much will it cost to move everything back?" - the answer - LOTS, probably more than the move out as you will need new hardware, licensing, staff, skills...

The cloud is not for everyone, be very careful about what goes where and who controls what.

Wednesday, February 16, 2011

utilising the power of 'remote'

Among other jobs I manage the IT for a number of small businesses and in a bid to not be on site very often (save costs,fuel,carbon etc), I have been testing a few remote support platforms.

The 2 that remained after testing were Microsoft Remote Desktop and Teamviewer.

All of my clients are Microsoft based, so when working on their servers Remote Desktop just made sense.
The down side is that there needs to be a public IP address linked to the server you are trying to connect to if you don't use a VPN that is.
On hat note VPN's are great, however they don't always give you the best user experience, like trying to connect across a 3G dongle to fix a problem can be clunky, remote desktop does hog a lot of resources. It can be done though, don't get me wrong. While on holiday in Kefalonia I did connect into a server over a very ropey 3G connection using Remote Desktop.

Teamvier has a citrix(y)/go to my PC feel about it and for connecting adhoc to client PC's it is fantastic.
You dont need a VPN (although it has one built in anyway), your client connects to their server which managed the authentication and initial connection. As far as I can tell it then drops the 2 connections together like a VOIP call, dotn quote me on that I have not done mush research into this side of things.

What teamviewer does do is alleviate the need for public IP address and firewall routing, it uses port 80 from both ends of the connection and encrypts the data as well.

I have been saved on a number of occasions by teamviewer, as you can install it to run when windows starts up, I can remote into a PC and fix VPN's etc without too much hassle.

The other big seller for me is the client PC's do not need to have teamviewer installed, they can download and install a 'no install' client for windows/mac and just tell me the ID and secure password, presto I am in.

There is no downside for me anyway with using teamviewer, its free for non commercial or you can buy a lifetime licence.
When you add in its ability to allow you to do remote presentation, VPN, VOIP calls, chat, file transfer etc, the cost of a single licence is quite resonable +/-£440

Just checked and there are clients for PC, Mac, Android and IPhone and iPad.... 

The most complicated thing I have had to try and do is move some files to a secure web server and my access is IP based, so I only have access from my office.
This happened while on a train;
I used teamviewer to get onto my desktop in the office (had to call to have it turned on though
Then remote desktop'd onto my clients PC that is on their office network, copy the files from the designer's PC to the server in the DMZ through the PC I was logged into.
Long winded and slow, but I did it without having to break any security by telling someone how to do it and it meant the client didn't have to wait for the job to be done the next time I was 'passing by'

If you do IT support and need a remote support platform to use (did I mention you can white label it as your own?).

Teamviewer gets a thumbs up from me.

Friday, February 11, 2011

Nokia + Microsoft ?

This morning BBC breakfast announced that Nokia was going to make a big announcement, possibly that they are going to work with Google on their next range of phones....

1 hr later I get to work and in that time Uncle Steve (Boom baby thats what we are talking about) Ballmer announces that Microsoft and Nokia are forming a strategic alliance.
http://blogs.msdn.com/b/ukmsdn/archive/2011/02/11/windows-phone-and-nokia-enter-strategic-partnership.aspx?wa=wsignin1.0

http://www.microsoft.com/presspass/press/2011/feb11/02-11partnership.mspx

I like the nokia handsets, the OS has been getting increasingly out of date, so I moved to windows phone 7, as a developer the plan was to build some apps and get rich and famous.
I haven't done any of that, but I have realised that MS is onto a winner with their mobile OS, I thinks it really good and possible even better than the competition.

But what does this alliance really mean for the day to day phone user?
Probably not much unless you are a symbian OS developer, maybe more flexibility and choice as Nokia do make cool handsets.

WIll be interesting what Nokia say later on today.