Loo-sing It

I’ve created a little spreadsheet costing up the various bits I’ve assembled so far for the toilet replacement.  It’s pretty much on budget so far but that will soon get blown by the tiling and flooring as of course they didn’t come in as prime considerations at the time I started planning.  Initial thoughts went like this:

 Hey.  Let’s change the toilet!

  • Ok, first we need to rip out the old one and replace it with a snazzy new one on a frame!
  • Yeah, and a new sink!
  • Yeah, and new walls!
  • Cool, let’s get all that stuff and make a start!

The stuff duly arrives plus I spend two weekends trawling DIY shops and I’ve done the prep work and then I eventually realise that as this is a wall mounted toilet you need to work out what the final floor height will be for that to make any sense.  I will also need to tile the frame of the toilet before I can actually mount the thing.  So despite the fact I’ve got most of the stuff now I actually still need tiles and floor right now if I’m to mount it correctly and keep downtime to a minimum.

Small rooms mean lots of thinking.  Plumbing supplies no matter how ‘easy fit’ still require planning and have proprietary hieroglyphs and youtubes instead of written instructions.  I bought a flexible water hose to connect the cistern because that was the only one I could find with the right fitting in the shop.  I wasn’t totally sure I wanted to install a flexible hose where I couldn’t see it and finally I find a step-by-step guide to doing this kind of thing that says No, Don’t Use A Flexible Hose – Use Copper Pipe You Moron.  I then realise I should’ve just ordered the default compression joint it recommended alongside with the toilet as that would have saved this hassle.  Then I start panicking that I’ve got the wrong thickness plasterboard for tiling over and that my walls will now come out too far and basically it’s all a complete disaster.

However, it’s not a disaster.  Not yet.  I’m essentially no further on than I was two weeks ago but I’ve managed to half fit the sink and I at least have a roomful of bits.  I’m still running a simulation on the second part of this build – assembling parts, playing through scenarios.  It’s certainly 90% planning when you’re doing this for the first time.  It’s mentally exhausting but I’m learning a lot.  I’m also very glad I didn’t take the old toilet out just yet..

Golden Gameplay

I love this thread on Slashdot which pretty much sums up my thoughts on games and gaming in general.  The thread is inspired by this article which takes a view on the current state of the nation in gaming.  We all know what a huge business gaming has become in all aspects: in browser, on mobile, on console, on computer, on handheld.  The argument has always been that the more money comes into the business the more that gameplay and game longevity suffers.  This argument has been around as long as video games have.

My take is that big games companies are lazy, risk averse and profit-driven and that independents are so confused by the panoply of platforms they can target that they become paralysed by anxiety.  Additionally the third-party tools that aim to ease the confusion are the only true winners at the moment.  Either you need to be a focussed independent or a major label looking to try something new.

Now, this doesn’t always work.  Remember Mirror’s Edge?  And check out The Unfinished Swan.  Great looking games with great feel don’t always succeed at the box office.  Innovativation hardly ever assures success, gameplay is golden, and gold as we know is impossible to synthesise.  To make a great game today you must combine graphics, environment, interaction – find a balance – sprinkle on that fairy dust.

Delivering the One-Man Project

In a recent email conversation I touched on the ability, or more often inability, of a one-man software project to deliver regular controlled packets of code.  Or to put it another way the the ability for many one-man software projects to deliver very little or nothing at all despite setting out with the best intentions and a following wind.  At the heart of the problem lies the following rather messy aphorism:

You don’t get concencus in a one-person software project.

Concencus by definition is a group activity.  A one-person project or software product can have concencus but this is only arrived at by interaction with others, usually your users, and if you don’t have a delivered product or a project then you don’t have users.  Concencus is vital to give you the confidence to deliver what you’ve been developing.

So the question turns to how can we form a concencus on project decisions when there is no code to attract users?  What we’re seeing increasingly is the use of crowd funding to drive software development.  Crowd funding is proving to be very useful for software developers and not just from a financial point of view.  More importantly crowd funding can help drive direction, delivery and scope and also help test the choppy waters of marketing by trying out ideas on an interested and motivated audience.  This works better for established companies or old-timers than it does from unproven individuals with new ideas simply because old-timers already have a track record and an audience.  So let’s back up a bit further.

A Kickstarter project commits you to a direction – a product usually – and an intention.  You scope is inherently limited by the promises you make, the videos you release, the decisions you’ve already made when you’re coming up with your Kickstart concept.  It’s all about selling a promise.

A one-person (software) project is usually driven to scratch a particular itch, and its scope may not necessarily include getting to a point where you can sell something.  You might want to make an open-source framework, you might want to come up with a vaccine, who knows?  What you do know if that you as a one-person team have limited time to accomplish this and you want to make incremental progress.

How can you deliver progress?  Well, I’m going to tell you what I do.  I do it by giving myself more than one thing to do in my spare time.  Instead of deciding to deliver one project, I will deliver three or four or five projects simultaneously.  Each will have its own technology associated with it that is slightly different, each will offer something slightly different that allows me to enjoy working on it for a different reason.  It’s me after all that I’m pleasing here.  I’m also out to help others and provide something they might like and find useful but I’m doing this, for me.

The premise may sound slightly insane – why should you make your life more complicated when you want to focus all your spare time on doing one project really well?  In the next few weeks I’ll take you through how I do this and what techniques I use to keep myself interested and focussed.  Above all I want to show you that you don’t need to despair when you look at the calendar and realise that the code is still not out.

Replacing an Art Deco toilet

I’m lucky enough to live in a nice neighbourhood in Amsterdam dating from when the Olympics were last in town in 1928.  The style of the houses is the know collectively as the Amsterdamse school and is typified by an Art Deco and Expressionist theme – curves, use of repeating lines, horizontal ladder effects, extensive use of marble and occasionally opulent materials all go to give the streets an almost magical character if you’re a fan of the style.  These themes are continued in wood, window frames, chimney breasts inside the houses.

While our house is not amazing to look at from the outside it has some lovely detailing in plaster and wood, big single glazed windows and high ceilings which look fantastic but have of course made the place pretty cold and prone to draughts.  This goes double for the toilets which both are on external double brick, uninsulated walls that are tiled with a stone floor.  Having survived three cold winters with these toilets we (particularly female house members) finally have had enough of their cold beauty and I’ve plucked up enough courage to start to tackle them.

So prompted by impending Winter this weekend I’ve finally made a start on the first toilet with a view to improving thermal performance and make it reasonably modern looking while preserving its Art Deco heritage.  Here is a before photo:

Note the beautiful stone floor, the large amount of tiles, the precariously perched sink, the lovely window frame and the hideous glass above the door.  It’s a real mixed bag of a room and currently it’s very cold with no heating.  My plan is to put in a false wall with 2cm polystyrene insulation along with a free standing corner built floating toilet.  Finally we’ll cover that freezing floor with some thin space-age insulation I’ve found and on top of that some form of easily maintainable surface.  The sink will be replaced with something sympathetic but less splashy (see the current height of the tap) and we may even put a heated towel rail in there too.

So far, I’ve stripped the tiles and made a start on the plasterboard and insulation.  As it’s double brick I’ll have to watch the ventilation as the bricks will still need to breathe out the moisture they absorb if they’re not to freeze and crack.  I’ll be saving some of the original tiles for re-use.  A lot were already damaged and broken on the wall as they had been applied directly to brick in mortar and patched up multiple times.  Despite that though they seemed to come off easily enough…

Next week I’ll work up to replacing the toilet itself, mounting the new sink and finishing off the walls.  Then the part I’ll be really looking forward too is the detailing and seeing what I can re-use and save from the room, what I can improve.  The intention is of course it should be a lot warmer but I also want this room to become an updated version of its original intention.  If I can get it right here then perhaps I’ll get motivated enough to tackle the other toilet, the kitchen and the million other things that will then need doing.

Visual Studio 2012 and WOWZAPP

I saw the Microsoft WOWZAPP 2012 hackathon event as a real opportunity for Microsoft to engage with developers at grass roots level and convince them that they should spend their time creating apps in VS2012 for the Microsoft Store.  Therefore it was with some excitement that I arrived the other day at my local event.  The coffee and cookies were flowing and the day had a quiet if measured start.  I had been told to come along with my laptop loaded with Windows 8, VS2012 and the examples SDK.  I did this and made sure I didn’t peek at any of the developer resources ahead of the day in order to give myself a one-shot completely immersive experience.  This is it Microsoft – show me what you’ve got.

The WOWZAPP event has its very own W8 app and this can be downloaded and installed via Powershell as it’s not available (slightly surprisingly) through the App Store itself.  The app package then provides an icon on the desktop and some links to resources.  The choice was then up to you how you used these resources to build an app of some kind.  I wanted to write a little HTML5 game so I quickly found the relevant resource and started building.  The resource was fine if hastily assembled and provided good detail and a nice walkthrough of the features of VS2012.  So far so good and within an hour or so I had a working game and could start to play around with.  However I also wanted to see what the examples SDK could show me so I started investigating the C# and C++ samples with a view to getting perspective on other dev techniques.

This is where the WOWZAPP experience starts to get a little thin.  I went back to the WOWZAPP app to try and find some more info and something else to look at in more detail and quickly realise that that is pretty much it.  There is no depth here – a couple of links to marketing and HOWTO websites and you’re on your own for the rest so I resorted to Googling around for tips and tricks for example on how to get my XNA game built and running inside VS2012.  This is something I would normally be doing at home or in the office but somehow I expected something more to be unveiled at the event.  I expected the scales to fall from my eyes and the path to app nirvana to be shown.  I hoped for some tutorials, some walkthroughs, even some linked branded articles from MSDN say that provided clear declarations of expected modes of behaviour and best practice in development for a variety of ‘target apps’.  Yes there was some information on style but more basic information – like for example what VS2012 technology should I pick for which app type might also be good?

As an experienced developer I’m confused and from seeing the selection of apps created on (or prior to) the day I’d say that I’m not the only one.  Simple case solutions work but in VS2012 there is a confusion of technologies crammed under one roof – C# and C++ sit uneasily side by side.  HTML5/Javascript seem a different world.   I’m still not sure how Blend and the XAML world can fit together with the rest.  At times I feel I’ll want to use all of these technologies but as to how they can work together and how this limits my ability to deploy it to a target environment.

 The only way, like so many times before with so many technologies, will be just to try it all out and see what happens.  As soon as I work out the best development model for the app you want to write I’ll be sure to share it.

Microsoft: Putting the User at the Centre

I’ve caught up with some of the Microsoft Build developer conference videos now.  Between the non-jokes about the weather in Seattle being bad but not as bad as it is back East and giving away oodles of hardware to attendees there were some pretty interesting things to come out last week’s meeting.  It was of course an opportunity for Microsoft to show off Window 8 and Windows 8 Phone along with some of the hardware that is available shortly.  A lot has been made of the Microsoft Surface (and touch interfaces in general in Windows 8) and of course WP8 but I think if we can take away something more fundamental about Microsoft from the themes running through this event.

At Build 2012, developers were told they should be excited about Windows 8 and Windows 8 Phone.  Since watching the videos I’ve come away with the idea that developers had better be excited because I believe this generation of software potentially changes everything for the user.  Indeed I’m pretty blown away by the joined up thinking going on in Microsoft land.  What Apple have been hinting at, Microsoft have just said “Screw it, let’s do it”.  Xbox gaming integration, Xbox music (which I love) even Live Tiles are all starting to make sense.  Suddenly I feel like my desktop PC is like an Xbox or like my PS3 – it is a game console with other capabilities.  Except now the sometimes clunky way that games consoles deal with personalisation and network integration is somewhat, hopefully, relegated to the past.

In existing mobile devices we have many apps and platforms providing some form of integration with other services – some of it ok (say iOS Mail for example) and some pretty terrible (too many to mention) – but what is clear is that there has been a lack of systemic thinking by software architects on what constitutes providing a service to the user rather than as a service to another piece of software.  A lack of clear thinking on user bound services has also been compounded by a tentativeness to execute on a totally user-oriented experience.  Microsoft have shortened the pipe between data and user giving less wiggle room, less API elasticity.  This can only be a good thing.  For example I have an iPhone but I’ve not had the need to get involved with iCloud as I don’t have a Mac.  I have Windows iTunes but I still need to plug my iPhone into it to upload my existing music (if I want to avoid buying it again from the Apple store).  Microsoft through Windows 8 is trying to change the linear approach to device management.  Windows 8 wants to better integrate devices that I already own rather than necessarily forcing me to buy new hardware to do cool stuff.  In fact this is where the underlying marketing strategies between the two companies perhaps differ – Apple say you’d better buy the hardware if you want our software to continue to work, Microsoft say you can have some great software which will work on your existing hardware and you can also buy new hardware later if you find it useful.

With Windows 8 and Windows 8 Phone the ability to share my account across devices is implicit.  As Microsoft themselves say – the user is at the heart of the experience – it’s all about personalisation on all your devices but doing this consistently.  While this sounds a lot like they are just paying lip-service to what everyone else has been doing badly already it seems however like they are actually trying to do this thing properly.  The cloud integration is seamless across devices and somewhat surprising – for example I notice I get my file view preferences taken across between W8 PCs without having to specify them on each device.  Of course apps-wise Windows 8 and of course Windows 8 Phone lag far behind and much has been made of the numbers in the various app stores.  What should not be underestimated is the amount of software already there in Windows 8 already doing most of the things you need.  Indeed until you link up your Facebook and your Skype accounts you don’t really understand what Live Tiles are about – but then suddenly you see that the experience is personal, and it’s personal across all devices and I can seriously consider logging into my desktop or my laptop in the same house and now having to worry about having all the documents I need being to hand (if I take advantage of Sky Drive).  I imagine I’ll be thinking twice before renewing my LiveDrive account next time around.

Slow erosion of boundaries between apps and services has been going on for a while but what Microsoft has done has said – ok you want a properly personalised experience on every device?  You can have it.  And not just through Microsoft services – you can have everything in one place and we won’t stop you integrating so the ability to bring Twitter, Facebook, LinkedIn and undoubtedly many others right on to your new look desktop directly without installing anything from a third party.  You don’t need to worry about putting a pretty picture on your desktop because the pictures are everywhere.

Of course one question that pops up is how this level of integration will work when it comes to security.  The paranoia exhibited by all presenters at Build when they were saying “I’d better lock this as it’s my actual device” is probably as much a testament to how much of their lives are on that device (or at least the services to which it interfaces) as it is to corporate sensitivity.  If all of your accounts are at the mercy of your single Windows Live sign-on then you’d better be very careful with whatever devices have access to it – longer term this could have serious implications for security officers everywhere.

Many other questions still remain of course not least over the newly released Windows Phone 8 SDK.  A requirement on using 64 bit hardware only for developing is a shame and there is a lack of clarity on the purpose of the bundled XNA 4.0 among others.  What is clear however is that with Windows 8 and Windows Phone 8 Microsoft have delivered a big bundle of software to play around and have fun.  The results from devs will come in over the next few months to years.  As an enticement there is a stack of engaging hardware to play around with this stuff on.  Putting the user at the centre of the experience is something that only developers can do – Microsoft can only go so far with their intentions – and as the phrase has it, the market ultimately decides.  However I know I can’t wait to get my hands on some proper Windows 8 and Windows 8 Phone hardware to see, and also to try and deliver, the fully integrated experience that people have been waiting for probably since the invention of the Smartphone.  Maybe it won’t be this iteration but by betting this big, Microsoft are getting mighty close.