New Labour

I come from a North English town, a family that strongly supports Labour and a community that believes in traditional Labour values.

The recent turmoil in British politics has me activated. I’ve been thinking about lots of things and people are probably not surprised to hear that I support Corbyn. In the same way that I support Bernie Sanders here in the USA.

But I’m also trying to be critical of all this politics, because Science based Policy is something we desperately need in many places. When Gove started tearing into the education system in the UK, the process was driven by arrogance. The assumption that Gove and friends knew better than any body and were ill prepared to try to experimentally define policy. They didn’t define what results were being sort, have any exit in place for a policy that’s failing and what kind of remuneration is available for policies that fail and leave people worse off.

I’m still very much a socialist in the European sense and I’ll continue to believe that people are mostly good, mostly do better working together and caring for people is not always a bad thing. But I want to be just as critical of socialist policy as I would of neo-liberal policy. I’d like to see that any assumption about what policy might work, might be thought deeply about and all policies not be held quite so inflexibly to heart. Because we might find that it’s just not doing what we think it is.

How strong would we be if we could fail without fear.

What is my Work Ethic?

In response to this post about getting a job after graduating.

I think the core of finding a job and being motivated to do it is: How are you going to serve the people around you? At the end of the day society isn’t about what you can get out of it, but what possible super-power do you have which could effect the people around you in a positive way. Is that art? Is that cleaning? Thinking? Programming? I find that in the modern society too much emphasis is put on person gain, noble voluntarism or doing what’s enjoyable. The problem with these perspectives is that the focus is never on the individuals being served by the work and this blog post is a defence of direct service to others needs and having that be a mark of a successful career.

Doing a Thing

Sometimes something just needs doing. I think if you are in a strong community, you can sense when there’s pent up demand. I ran a campaign to raise funds to get aluminium computer case badges printed and this was before Kickstarter existed. I handled $4k and 20k case badges and they were sent around the world and I had an enormously positive experience serving the people who really wanted Ubuntu case badges. I was transparent about the money. I put the leg work into my relationship with the manufacturer and published news as soon as I had it. I published the designs so everyone knew what they were getting and in the end I had a thousand positive recipients and one negative one because they had been mangled in the post (sorry!) and I used my basic talents using a graphics package to put together something acceptable for users. Anyone could have done this, but to act is to be bold sometimes.

The side effects were more interesting. I asked people for ‘at cost’ payments which despite being based on estimates and the shipping costs wasn’t certain. People were generous and they almost always sent more than asked or needed, often with a note saying “keep the rest”. I didn’t feel bad about this, I think because I was honest with the costs and they were being served genuinely. The other effect was that we introduced the manufacturer to the idea of “open source” by licensing the designs under CC-BY-SA. I encouraged other groups or companies to use the designs to make their own. There are now many, many different aluminium case badges for different Linux distribution and I see them at conferences all the time. I feel good about this. Because imagine all the Fedora, Debian and Mint users who get something cool and the organisers who got a pattern to follow and a manufacturer to talk to. In a way I didn’t just serve people directly with the pre-sales, but also incidentally people through positive open source licensing and I can feel good about both.

Validity of Competence

But then, don’t I just feel good about it because I got praise for it? Well that’s true, I feel good when I get praise. But I think praise is more than just the warm fuzzies. It’s an important reminder to us that our work matters, that we’re still good at it and of the kinds of people who we have served.

One Harvard school gives awards to people who do good work in the anti-alarm professions. You know, those jobs where if the work is done well then no one even notices. But if something goes wrong the alarm bells ring loud. The facilities team, the system admins, the people who order those weird coffee machine cartridges. And that’s a really good thing to do, because it reminds those workers that their job is important and effects probably everyone else in some small way as well as for everyone to thank them once in a while. That feedback from server to served and served to server is the validity of competent altruism. I say it’s altruistic because only thinking about one’s self will not make you great at serving others.

There is a cross-walk near where I live where the snow had been repeatedly ploughed into the pavement one and a half meters high and had frozen solid with thaw. People walking to the train station would have to climb this mountain of snow to cross a very busy road. What if they had kids, or groceries or a bad leg? The night I thought about those people I got the ice breaking tools and shovel and cleared the whole corner. The next day as people shuffled to work, they probably didn’t notice their commute was a little better than before and had no way of knowing if it was the city or not. But I certainly reminded myself of all these slightly less miserable faces as I pounded away at the ice with the sweat pouring off me and the echoes of each thwack, crunch late at night for two hours.

Ethic

I hear about “work ethic” a lot, and it’s usually about “working hard to get on in life”. But anyone successful knows that there’s more to a good work ethic and I believe the largest missing piece is that is “one must work hard for other people, for them and not what one may want to do for them“.

There are communities in the Free and Open Source world who have chosen to work hard at imposing what’s good on their users. That’s a risky service ethic, a sort of pre-emptive competent guess. If your community has set up no way for your guess to fail or you mishandle the push back from your users then you can’t claim to have a good service ethic or to have actually served well. So how can these workers and their work be tied to the people they serve so that it heads in the right direction for the served rather than for the server?

I know that people will pay for good service. there’s no reason to slave away as a volunteer if your work is genuinely in service to others. Caveat, except for people who have nothing, but then grants, government programs, charities can help fill that hole. For my fellow Free Software developers, they do good work and yet many are failing to make the link between the work they do and the people they serve. Thus making it harder for them than it needs to be to earn a living from writing Free Software.

Being Good at what you Like

One part I’ve not talked about is getting a job that you like doing. This is a tricky one because being good at something makes you more likely to enjoy doing it. And Enjoying doing something makes you more likely to do it and thus overcome failures faster and become good at it. I say do what you are good at and like doing that gives the most benefit to others. It’s not as pithy a personal moto though.

A friend of mine who works in mental health once turned a job down for more money. Not just because it would mean serving people who really didn’t need the help, but mainly because being good at helping a certain kind of person with certain kinds of harsh needs is important work. Being good at this job wouldn’t mean there would be lots of recognition from patience, but it would mean truly serving and making a difference to those individuals. And it’s better to have the job one is good at making a difference than the job that could make a difference if only you were good at it or the job that makes no damn difference at all.

And serving individuals I think offers the best perspective on one’s own work. It motivates better than saving the world and feels more accomplished than earning stacks of cash. When one can see the good work well done and be validated for it there is no reason not to go to work every day and earn a living doing it.

I hope you’ve enjoyed hearing from me after a year of no blog post. Please leave your comments below as I love hearing from people.

Platform Money is Key to Free Software Success

Post was drafted Feb 2nd, delayed for review but is published now without finale edits.

Platforms are everything these days. They drive users in specific, and well structures ways and can make or break different ways of production. Take for instance the World Wide Web, it’s a platform that allows anarchy and it fundamentally breaks the traditional media’s economic model of charging for content per user. The World Wide Web does this by delivering content not just more cheaply, but more quickly and more succinctly than ever before.

By comparison consider iTunes which came well after. A platform which like the World Wide Web is built upon the internet with similar technology. This platform provided a more cohesive and contained experience for getting access to content that users could have gotten through the World Wide Web. Even though it was more expensive to do so, users have bought music and other media through the iTunes platform because the platform is more effective at delivering content to users than the World Wide Web’s anarchy.

The iTunes platform could be credited with helping solve a key economic problem that was befalling the music industry. How to get users to pay for music and thus make music creation worth being in involved in.

We Have Failed Here

Knowing this about iTunes, I’m jealous. That platform has achieved something which we in the Free Software industry have failed to do. That is; meaningfully provide the platform necessary to get users engaged in software production. Economically speaking, we need users who do not make code, but who want to use our software. Socially speaking, if we wish to Free users, we must serve their needs and therefore be willing to be told what they need and deliver on their expectant demand.

This isn’t just about making money for developers so they can quit their proprietary jobs and sustain their lives on making Free Software. This is also about the incredible disservice we give to users. Our ignored users. Those people who we SHOULD be serving with every key press but who we don’t pay attention to unless they morph into helpful bug reporters or fellow programmers. Which plenty do, just so they can be a part of the process.

This is a problem that not only hurts people’s perceptions of Free Software projects, but it also makes our industry weaker than it needs to be. Projects exhibit fragility and an inability to grow. Users pick software on existing features and compatibility and not on future prospects. User involvement is suppressed.

Just Saying No

There are many programmers, project leaders, Free Software members, who ask that money never be involved in Free Software production. These people do not know what damage they are doing to their projects. Not knowing how to get user money into a project is a typical problem, but there is a mindset from the leadership in some projects that having users pay developers should not be allowed. I _do_ understand why money is stigmatised, but this is a symptom of a project’s lack of codified user focus which would provide strong definitions of self-serving, charitable and user bought developer attention. No programmer serving his own needs should be jealous of another getting paid by serving user’s needs. We all need to grow up a little here.

What we need in committed Free Software projects is a meaningful service ethos that makes the users of software the firm target of the project. It would supply direction and impetus to many projects that can’t understand why users don’t like their code and provide economic input to drive projects faster towards those user centric goals.

User Focused not Business Focused

“But Open Source is very economically successful” I hear you say. Well, yes, if your a business it’s been great. The bigger your business, the more meaningful relationship you can have with projects by hiring developers. Having developers (or being a developer) is a sure way to have input. Open Source and the OSI have focused hard on making sure the business to business open source industry works.

I always wondered why Open Source was doing so well and yet doing so badly and it’s this: Big business needs are being met, small business and user needs are not. This isn’t good enough. As a developer if you’re not taking money from users then you aren’t serving user’s needs. Follow the money, follow the demand.

Social Justice

And if your thinking that this economic problem isn’t important for Free Software, think instead of all the users who are disempowered. This is what Free Software social justice is all about. A user is a super important component to development and with continuous development strategies and increasing segregation between developers and non-developers; we need to have thought about getting all users in a position where they can truly be a part of our development practices. They’re the core and source, not the periphery to be ignored.

Demand Change

I’ve been involved with two projects where I see a problem. The first is Inkscape, a project with no economic steam and plenty of users who have no idea how the inkscape sausage is made. It has direction, but no growth. Programmers, but no self-serving power left. Users with needs, but no way to meet them.

The second is XBMC plugins. Here there are thousands of tiny self contained projects and they’re all organised into a forum. Go onto any plugin forum thread and the pattern will be the same: “The plugin stopped working”, “It doesn’t work here either, where’s the developer?”, “I hope the developer comes back to fix it”, “I hope someone else comes in to fix it”, “Has anyone got it working yet”. Again and again, users who are putting their time into begging developers for attention. It’s a depressing situation that must put users off and certainly doesn’t speak well of the stability of XBMC when it’s most useful features are plugins which fail all the time from patchy maintenance.

Demand is important and getting user demand focused in a meaningful way has been our failure. Focusing on support models and business to business open source processes has been our distraction. Harnessing the paradime shifting nature of the platform should be out solution!

A Platform Example

The Ubuntu Software Center is a platform. The way it’s been set up is as a clone of Apple’s iOS store and it’s incompatible with the Free Software industrial process. Instead of helping Free Software it’s driving economic sustainability to proprietary software development and away from Free Software. It’s got unintentional institutional bias which is rooted in the ideas of the developers and managers at Canonical. The suggestion that donations are somehow a meaningful way to drive money to Free Software projects is a sure sign that a person doesn’t ‘get it’, Free Software isn’t a charity case in need of a one off anonymous tip. It’s an industry and with a unique production process that requires careful cultivation and sustainable connections that focus latent user demands to developers and potential developers attention. The USC and it’s makers fail to see that.

Use the User Force

A platform like the Ubuntu Software Center should be made though. But made to specification for the Free Software industry instead of the Proprietary one.

Imagine it embed directly into every Free Software desktop and mobile distribution. The same user focused invitation to join a Free Software project, involving money and time without stigma. Think of a framework available to Fedora, Debian and Ubuntu at the same time, users able to come together and join us in the community by opening their wallets and telling us to get to work on their dreams.

Imagine the power, the vitality and yes, even the vibrancy of the ideas users demand we make for them; all developed into a platform that like iTunes could take a wild west and focus it with good design into a platform that delivers successful sustainability for creators and meaningful dialogue with users.

We need transparency in the accounts of projects to foster trust. Progress of bugs and roadmaps delivered to the desktop so users can see a future in our projects. Reviews and statuses of developers working and available to work. Users electing favourite developers as heros of their causes with monthly payments to kick their bugs before they ever get to the archive. Kickstarter style risk investments to push radical designs and brand new projects. Bug reports where money can be added to the heat to indicate demand for attention and the rewards for completion.

It’s all possible if we dare to make users the center of the Free Software universe and scale it big, VERY big.

We require the courage and vision of the leaders from Canonical, Red Hat, Debian, the FSF and every project leader out there to advocate for User focused Free Software and economic sustainability. With a willingness to embrace our industry’s unique software production method, good design of the frameworks and an invitation to users and paid developers we can make the Free Software industry a powerful and successful part of every user’s computer experience.

Are you with me? Let me know below in the comments.

NHS Reform & Other Privatisations

With the passing of the NHS reform bill in the UK last week, I’ve been reflecting on the discussion that went on between the conservative supporters and almost everyone else in the country who was deeply worried about any bill which would seem to meddle with a system that was fairly ok and doing quite well.

The frightening proposition is that health in the UK would be privatised. Not just like the system in the USA, but having to possibly pass through a system far worse in order to finally be dragged towards the regulated compromise the Americans have found themselves in.

The point we’re told from conservatives over and over is that capitalism and corporate business practice can bring many efficiency gains to the way health businesses operate. Competition is sighted as a key mechanism to achieving this result. Much needed capital could be found in the private sector and the whole system would be closely monitored to make sure it kept on curing people and setting broken bones.

But, as readers of my blog will know, I’m not really attached to any particular mechanic in achieving what we wish to happen in society. If a privately capitalised, for-profit business which takes it’s organisational strategy from Cadburies really is the best was to set up a hospital, then so be it. But on the other hand if you believe in capitalism in your heart, but not in your head; then one’s politics might be driven towards operational and funding mechanics which might be ill fitting. Politicians who probably aren’t evil or even that naughty, get confused by positive bias and fallacies from popularity and especially group think and persistent ideas.

Really thinking about the simple rules which allow such a mechanic to work well enough to provide all those great examples isn’t simple. Let’s start with a simple rule of markets: ‘Buyer must have the option not to buy’, do we think that health is something we can opt out of? Do we get a choice not to be saved if we’re in an accident and picked up by a private ambulance? That’s the unsettling thing about the USA’s ‘fairer’ health care bill, forcing people to buy products isn’t right there and it wouldn’t be in the UK either.

Here I’d like to slide into a wider concern. Health is something of an important system, without this service the economy would be very quickly loosing people to illness and injury. The pain felt in the USA is not just by individuals, but keenly by companies big and small. They often pay for some or all of the health coverage for all their employees because having employees without health care would be detrimental to their own operation. So clearly some functions are so important, that organising them collectively has great benefits.

Then there’s competition. Is it a good thing? Well the first thing to ask is what competition hopes to achieve. In market terms, competition is a group selection process which hopes to push forward the fitness of each organisation as it strives to out bid other organisations for available resources, other organisations that can not claim enough resources are deemed unfit and are allowed to fail. This system of evolution does require (system-wide) a larger amount of resources to invest. In organisations which will fail and organisations which will perform activities outside of their core function to innovate. It’s a bet on the future which requires a trade off between cost today and expected organisational innovation tomorrow.

But with a system like the NHS, which will always be tightly controlled. Will there be added resources to cope with this new evolutionary requirement? Will there even be the flexibility to change the organisation in such a way as to find new and brilliantly innovative organisational methods?

Then I see we have a combining. If I like the idea of competition, does it follow I have to swallow private capital funding too? So often we fail to be able to articulate well when we’re talking about funding source and the organisation’s market forces. The lack of distinction and separation of the two probably doesn’t allow us to come up with more interesting rules or more innovative funding ideas. Although it’s amazing to think that the Government of a G8 country, can’t seem to put the money together for anything any more.

In conclusion: When the government says they want to privatise a working public service, what they probably mean is: “We don’t have the money to make it better and we don’t trust the current public sector operators to know their job well enough to improve it’s operation.” and not “We have some added cash to turn this inappropriately publicly operated function into a number of well functioning business concerns.”

Sculpt vs Mold Programming

I really like the idea of test suites, they give me a positive feeling that the code I’m making is probably going to do what it’s supposed to do. Not only that, but I feel far more confident about hacking the code to pieces in a random fit of creative genius if I know I can run a set of unit tests at the end and make sure all my designed APIs still work from the outside.

But why should I feel so good about tests? Isn’t writing the tests just like writing the code? except for the second time?

Well the logic of tests may mean that you have to do all the same kinds of logic, but it’s not really the same logic. You’re telling the computer what you expect to happen, not what happens. Take the analogy given in the title: If you were to carve/sculpt a masterpiece, you could be expected to gain some great notoriety for being a genius artist; alas much like code without tests it’s a one shot deal. As soon as you try and change the work, change it’s material and reproduce it for more customers you suddenly find yourself with lots of work making, remaking, fixing and refixing.

Any hired programmer will recognize the situation. Conversely software with complete testing (of all three kinds) will be much more like a mold, given any language with enough consistent code you could fill the mold many times to arrive at the same quality as before. The tests aren’t the same as the original sculpting, they’re much more like the framework that shows how to reproduce the work with ever tighter testing resulting in ever more accurate reproduction.

This assumes of course you imagine programming cycles as if they were mass production units.

Enough waffle! what do you think?

Replacement vs. Reinforcement

I came across an idea about how machines interact with people while watching some TV. They were joking about Sat-Nav devices and all the silly voices they can make when it occurred to me that Sat-Nav devices are indeed replacing our natural abilities to navigate and know where we are and how to move around in our urban areas. (Most of us have long since lost our ability to know where we are and how to get around in the wild)

This is an example of a device which replaces a natural talent so well, that we find we don’t need our mental functions any more. But of course the one great evil of this is that we no longer know how to operate without them, thus Sat-Nav will always be required by people who use Sat-Nav a lot. (forgetting of course people who couldn’t operate at all until Sat-Nav came into being)

Picture showing a set of microschips on the left, a nerve cell on the left.

So what’s the alternative to technological replacement? I think one idea is technological reinforcement; the idea that the best technology improves the human operator through it’s use. Take Wikipedia; the fear is that no one will never need to remember anything and we’ll all forget to remember everything. But using Wikipedia seems to do the opposite, reinforcing information and making us more certain about some of the billions of facts we can hold in our heads. (but maybe it hasn’t been around long enough to show it’s effect)

So this got me thinking about what I would like a Sat-Nav device to do, to help me reinforce and hone my skills navigating the streets. Partly it could help by always stating the names of the roads when you’re in a local or frequently visited place. “Turn Left” is an instruction but “Turn Left at Washington Street” is educational and reinforcing if I take that route a lot. The information is certainly being presented at the right time for me to combine it with other sensory information so I can call it back up later. Another idea is to mention the absolute direction, North, South etc so we get a feel for the absolute direction we’re traveling in.

Of course none of this might work, so to test we could see how Sat-Nav devices effect people’s ability to judge medium and long distances. Most devices mention how many yards/meters it is until a junction so it’s already going into our heads and reinforcing something in there, but maybe we can’t process it because we don’t really have a sense of speed (in a car, I do on my bike of course). Maybe the brain just throws all the information away, but I find that hard to believe since brains are really good at learning to understand all sorts of data.

What do you think?

Please Upgrade My Phone like Ubuntu

Ubuntu gets bad rep for having releases which have an unfortunate number of bugs which is partly due to the higher number of users and partly due to the size of the testing community compared to user number. But give me a flakey Ubuntu release any day of the week compared to Android…

This new phone I have (Samsung Vibrent) I love, it does a bunch of useful things and has been one of the first devices I was excited to own and test out. So don’t get me wrong when I say:

I’m mightily annoyed that I can’t upgrade it from Android 2.1; at least Canonical doesn’t stop me upgrading Ubuntu even if it will break, at least they don’t stop the community getting involved to fix issues with getting the latests and greatest software working on the latest and greatest hardware. This is particularly poignant since the GPS on this phone under Android 2.1 is known to have a serious bug which can place with hundreds of meters away from your location. Bit of a flaw there.

Anyway, I’m stuck because tmobile, samsung and google all have their own little plans for what I should be allowed to do with my phone and how much they want to put into upgrades for phones they’ve already sold. I am now as convinced as ever that the mobile phone sector is not the greatest opportunity for linux, but the greatest danger to freedom if we as a community can not hold tightly onto some of out even basic rights to install what we like, modify as we like and mess up our stuff and paint it black like the punks of yore.

Update: I wanted to make clear that this is a rooted phone, but what use is that for installing upgrades to devices when there are no releases, no installers or guides. It’s pretty much every man for himself and everyone must be a programmer to get these things upgraded. The phone networks and manufacturers have created a drag on the economy with this sort of thing and I have half a mind to say that it should be illegal to put any sort of lock on any sort of hardware or software owned by the customer.

Your thoughts?

Angry Birds

God damn this game and it’s attractive graphics and addictive game play physics.

There is another game that we designers and game players could learn from when it comes to addictive and attractive qualities in software interfaces. I mean take a look at the way the interface is laid out:

It’s a selection of levels, you can see how many you’ve got to go through, enjoy, it’s not too many like a giant block of levels like you would see if every level was present at the same time. And most importantly it’s cute and attractive with drawn graphics on everything and decorating every space.

Your thoughts?

Birthday Today

Taking the day off really from doing much… or I would be if only I hadn’t booked myself solid with community work. Alas it never ends.

I did have a wonderful breakfast and dinner made by my lovely wife who I adore. And not just for occasions like this, but these warmest of events do fire the whole adoration somewhat more than say a ham sandwich would.

SysAdmins in the Clouds

So you’re an admin eh, and you find yourself out of work or just down on your luck?

Perhaps there is a way to satisfy the hunger that small businesses have for properly maintained systems by using the cloud, the power of the canny businessman and Free and Open Source software and target customers which none of the big dogs are chasing. Basically the plan is this:

Use your nouse to get together a bunch of SMEs, charities or other orgs and nail down some simple requirements for services they could very much do with having. Sign them up for a time share in yourself or some other sys admins that could do with the cash and set them up everything from email and authentication to storage and version control.

No service is too complex for FOSS and no help page too long to read to get the job done.

With the cloud you can set each of your customers up with their own dedicated and secure “machine” and run their services in non conflicting ways. The users are happy because they have all their services delivered by contactable and usually local businesses in a way that doesn’t open them up to much of a security problem (if you do it right of course). And sys admins are happy because they get to eat more than pot noodle and beans on toast.

Extra bonus points for hosting it in a very reliable location and super extra bonus points if you have terms in your contract with your customer that allow them to move providers and take their instances with them.

Your Thoughts?

P.S. I just got back from Orlando and UDS so my brain _is_ a bit fried and this entry isn’t as edited or refined as some of my readers are starting to expect.