Let’s go for it

So I still have some bugs to squash – but I want you all to have a look at what we’ve got so far so today we’re releasing the Friendlier Beta.  It’s fully functioning until the end of July so please download it and give it a whirl and let us know what you think.

In the last couple of weeks I sat down and sketched out a roadmap to see where we are and where we’re going.

At the moment things we know about Friendlier are:

  • Beautiful 3D user interface
  • Touch-like navigation (moving between windows, zooming)
  • Full screen/windowed modes
  • Syntax highlighting (C++)
  • Multi-level undo/redo
  • Stunning visual compare (you have to try it)
  • Build integration (Standard Out and Standard Error capture)
  • File management
  • Project and file level statistics
  • Single Friendlier project file architecture

Planned features for Friendlier (Q4 2012):

  • Multiple Friendlier project files
  • Improved C++/Qt support and syntax highlighting
  • Project import functionality (Makefiles, directories, Project files)
  • Improved java build and syntax highlighting
  • Autocomplete for Qt/C++ and Java
  • Source control integration (Subversion, Mercurial histories/compare integration)
  • Microsoft Kinect integration and speech support for navigation and build tasks

 Features beyond that:

  • Debugger integration
  • Multi-user project level paradigm including gamification of coding
  • Browser and notification integration
  • Graphical filesystem management
  • Windows 8/touch integration

The further features are dependent on where the next six months take us.   So far Friendlier has been in development for just over six months and we have a good platform for moving us forward.  Now we’re sending the challenge out to potential users to download it, give it a go and tell us what they think.  By offering the ability to pre-purchase Friendlier 1.0 we will also give early adopters the opportunity to shape the near term future of the product.  We call this futureware – it’s here, it works already but we want you to tell us where to take it.

Get Real Coders

The next time you’re asked to do a coding test in a job interview, ask them why? If your potential new bosses aren’t able to determine from your CV and from talking to you what level of experience and understanding you have then you probably don’t want to be working for them in the first place. Take it from me, they’re just trying to fill headcount – this is fine if you just need a job (because let’s face it, sometimes you just need a job right?), but if you want a career then forget about them or at least as them “Why?”

I’ve had lots of interviews and I’ve given lots of interviews. I’ve never given anyone a coding test and I never will give anyone a coding test. The attribute that every coder must have is honesty – honesty to themselves firstly and realising that you are fallible as well as honesty to others and realising that what you build affects other coders, users and everyone who will come into contact with your solution. Having a nice portfolio is useful, having experience is perfect, but honesty about yourself and your abilities is more important to me.

Spending an hour telling someone who is really not that interested in hearing it what polymorphism is, or the difference between an abstract class and an interface is a waste of everyone’s time. Do they not know themselves? What are they trying to prove by having you tell them? How does this help you fulfill the dead-end job they’ve got lined up for you?

Don’t spend the rest of your life working for idiots. One of these days I’ll be hiring.

Microsoft Surface or Sink?

Well, in the end it was a bit of a disappointment I suppose. Microsoft have announced a tablet computer in two flavours – ARM and Intel, in two form factors, with an integrated keyboard and stylus support. As a lot of commentators are saying it does raise a few more questions than it answers in some ways – not least how is this going to play with the hardware manufacturers that are Microsoft’s usual bedfellows?

As a point-in-time view though you have to say that Microsoft simply didn’t have any alternative. They have a semi-successful hardware business already, they have been shown the way by Apple with the iPad and the enormous sales potential. They are releasing a new operating system version with intrinsic pad support which also is backwards compatible with the existing desktop software. Microsoft and Apple agree with the rest of the world that there is a huge market in tablet computing and there is plenty of space for everyone.

The remaining questions are will it work and where will we be in a year’s time? Some of those versions mooted of the Surface may not. But is this seemingly scattergun approach to seeing what works going to be successful? I’m looking forward to seeing it more out of interest than anything else but with this profusion of interfaces – keyboard, stylus, touch, will that work? How will that work? We’ll only know when we get one in our hands.

However in the meantime it’s nice that wiki is already disambiguating the old Surface from the new one.

Feature Complete

The amount of actual merging of Rosegarden for Windows that has gone on in the last couple of weeks has been minimal as I’ve been implementing the final features for Friendlier 1.0 Beta.  And jazzing up the website and thinking about how I’m going to sell this thing.  You’ll find out more soon but suffice to say Friendlier will not only be pleasing on the eye, but also pleasing on the pocket.  You’ll also get some great benefits for being an early adopter.  More details to follow soon on pricing and availability but I’m pleased to say that Friendlier is now feature complete for V1.0.

In the meantime I’m thinking more seriously about Git following this article from El Reg.  Version control integration is going to be a core part of Friendlier and it seems there will be no avoiding Git and GitHub going forwards.  I’m looking forward to putting those features towards V2.0.

The Key Man and Making Things Work

A couple of things have come to my attention recently.  Firstly the flawed concept that having a Key Man (or Woman) is a risk to your organisation.  Secondly that as IT people we don’t spend enough time just getting stuff working.

Hierarchies tend to want to avoid globbing knowledge in one place – they want people to share, for the assets to be equal and for everyone to have enough time to go on holiday.  No really, they do.  They want bums on seats, they want square pegs and square holes – everyone wants an easy life and for everything to be equitable.  This is because those in power are scared of vesting too much trust in one person and therefore keeping a modicom of control without having to actually learn anything or do anything themselves.  They want to trust their staff and the best way of doing this is to ensure they keep talking to each other.  Make sense doesn’t it?

So a few years ago the buzzphrase ‘key man risk‘ came about and suddenly we were all running about and trying not to learn too much, or making sure we spend enough time doing knowledge transfer so that no single person holds all the cards.

However, organisations are only as good as the individuals that are involved in them and people working in organisations are inherently lazy and inflexible.  That’s not to say they don’t do a good job but people will always have a tendency to make their life as easy as possible despite what is mandated as being good for the organisation.  This is as true for the boss as it is for the shop floor worker.  Everyone makes all the right noises but when it comes to actually addressing problems and making tough decisions to mitigate these risks everyone would much rather not make them and just leave things the way they are because it actually makes life harder to make these changes.  To reroute information or processes takes effort.

Hence all organisations will continue to suffer key man risk – it’s pretty much unavoidable.  So if it’s unavoidable is it actually a desirable situation?  After all – you have someone who can do the job, shouldn’t you be celebrating this rather than trying to obviate it?

Along with organisations that just work (any old way) don’t we want solutions that Just Work too don’t we?  So this takes us to my second thought – rather than choosing and implementing different software paradigms or methodologies to help us manage complexity, growth and the future what happened to just getting things done.  Just tackling the actual problem rather than planning our way around it.

This second thought is less well defined – it’s new and it’s raw.  I will call it Solution Oriented Programming and I will come back to this shortly.   Essentially there’s a link here between key people and getting things done – you take risks to make progress – and those risks may only be ones that you’re already carrying.

Interesting to read also on Slashdot about the possibilities of getting back to the hacker culture.  Celebrating the fact that there are people around who can actually improve processes for you very very quickly.    So indeed if you did want to eliminate that key man risk, if you did want to just get things done – perhaps you should spend a little time just listening to your local friendly neighbourhood hacker about what can be done and then act on some of those ideas?