Thoughts about multiple screen interfaces.

by Andy Masters 25. October 2011 20:22

I went to the .net User's group meeting today, where the discussion was about MVC.

Afterwards I had a chat with a few folks about how Microsoft was doing with Windows 8 (after trying the developer preview).

My thoughts:

  1. There seems to be a disconnect between Metro style apps and 'Standard' Windows 
    • Why do they need to be 'baked' into the OS - couldn't we get something just as rich over the web?
  2. MS is betting heavily on the future of PC input being "Touch".
Now the "Touch" interface thing got us talking about how we could see it working in the future:

You could have 2 screens (they are getting cheaper all the time):
  1. one for (horizontal) for navigation/display/input  (replacing keyboard and mouse)
  2. another (vertical) for display.
 The idea being that it's a lot less strain to drive things horizontallly. Additionally, with 2 screens, your hands aren't going to constantly be obscuring the areas of interest.

A really cool thing would be if the input screen was flexible. This would mean when keyboard input was required, a keyboard imprint could be raised from behind the screen, to create a keyboard with tactile feedback from the screen.


Another similar idea exists for the eBook format. Here you could have a book shaped device with 2 screens, one each side. To go to the next page, you turn it around, (right edge first). Previous page, turn around (left edge first). The 'next' page could be pre-rendered as soon as you turn (effectively double-buffering), this means the page turn speed is a quick as you can turn the device. I think this would be quite a natural way of reading, with NO buttons or pressing of anything.

Tags:

Ideas

Sound not working on my PC

by Andy Masters 7. October 2011 19:14

 

I've got Cambridge Sound works analog speakers (DT2200) 5.1 system from about 2001 still going strong (about the only thing about my PC that hasn't changed). The mini speakers and subwoofer are really great, I use 3 of them L,R,C and don't bother with rear speakers as it's quite a lot of wires.

Anyway, just now the sound stopped working. I've just spent an hour trying to workout why. I went through all the obvious stuff like 

 

  • do the speakers have power
  • are all the cables plugged in
  • check the volume isn't muted
  • check the volume settings aren't too low

 

Then I tried a few more esoteric solutions:

 

  • Windows 7: Troubleshoot audio playback wizard
  • Updating my Realtek Audio drivers
  • Swapping out audio cables and speakers

 

No luck. Just as I was about to give up, I realised:

The volume control dial on my speakers also has an adjustment for Front/Rear speaker balance. A certain small child had obviously 'played' with this while I was away, and adjusted it so that the balance was 100% rear speakers (which aren't plugged in).

So my suggestion to Microsoft is they add a step to their troubleshooting wizard:

- Have you checked that small children haven't fiddled with the front/rear speaker balance setting

Anyway, I thought I'd post this in case it helps anyone else with the same problem.

 

Tags:

Ideas

Factorial Bug Hunt

by Andy Masters 25. March 2011 16:06

I was playing around with TDD again. It highlighted to me just how bad a very simple and correct looking function can be.

In maths, Factorial(n) is written n!, so Factorial(10) is the same as 10!.

1! =1
2! =1*2=2
3! =1*2*3=6
n! = n * n-1 * n-2 * ... * 1

I wrote this function without TDD to calculate the nth Factorial number recursively:


public static long FactorialRecursive(int index)
{
   if (index==1)
   {
      return 1;
   }
   return index * FactorialRecursive(--index);
}

I then rewrote the function using TDD. I discovered 4 quite serious bugs in the above code, see if you can find them (answers in my next post, although I expect there will be others that I've missed too). I also tried a radically different approach to writing the function, how would you write it?

 

The benefit of unit-testing is that seemingly correct code should get smoked out.

The benefit of TDD is you get a better design, and just enough tests to prove it is correct.

 

 

Tags:

Development | Ideas | Testing

Amazon EC2 - Short Term Use Tip

by Andy Masters 11. November 2010 07:37

I just recently left one of my EC2 compute instances running for a week without meaning to - this gave me an extra $20 bill. Not the biggest in the world, but still annoying if you don't need to pay for it.

For my automated build server, I only need EC2 instances a couple of hours at a time never more than a day. So as a precaution:

  1. add a scheduled task running daily to automatically shut it down at 3am. (The command 'shutdown /s' can be run to achieve this on a Windows Server 2008 box)
This way, if I forget to shut down an instance it won't run for more than 24 hours before it shuts itself down :)

Tags:

Development | Ideas

Version Control your CV!

by Andy Masters 3. November 2010 08:51

I've just been updating my CV with my latest experience. I noticed that I've got a lot of different versions of it kicking around at different dates and basically all these files were becoming a bit of a pain. 

I've been using Mercurial (and FogCreek's Kiln offering hosted Mercurial) for Version Control lately (on personal and work projects) and it struck me as a good idea to put my CV into it's own mini repository. Having a local copy cloned to the cloud means it's backed up too.

I've got a plain text version which allows me to see the changes between versions.

Tags: , ,

Ideas

Powered by BlogEngine.NET 1.5.0.7
Theme by Mads Kristensen