Archive for September, 2011:

Missing From Metro – Invoking Applications

Imagine, if you will, a Windows 8 Metro app for managing multiple servers.  Ideally, you would want to be able to connect to each of these servers remotely.  And the way you would want to do that is by touching an iconic representation of the server, and then entering the remote desktop app to actually manage it.

In Win32 desktop land, this would be easy – you could either start up the remote desktop application from the command line, or you could embed a remote desktop control into your application.

Not so in Metro

If you want to get to a remote desktop, its back to the start menu and launch the metro remote desktop app yourself.

At least at the moment.

I can’t believe this situation will remain – and there are two ways that MS may choose to address it.

First, I want to say, it won’t be addressed by sharing.  Sharing has to be done through the the share icon on the right hand side panel – that would be a horrible UI to have to go though every time one app wanted to defer to another.

But it could be via two other contracts.  Two contracts which have gone unnoticed and undocumented

The first is Launch.  Launch is the contract used to launch every Metro app.  I assume it might also be used to unsuspend metro apps (but I don’t know – noone tells me).  Once could conceivably find the app you wanted to work with, and Launch() it.  Assuming we ever get told how to do that.

The other seems more likely, but is also more vague as every reference to it seems undocumented.  There is a contract called Send(), and I like to think the Send() contract might be a way of saying give the application registered as the standard way of handling something, some data to handle.  If so, by supporting a Send() contract we could get the appropriate remote desktop app to open and handle our request.

But until we get told about Launch(), Send() or some other contract which will handle this everyday situation we’re stumped.  And I can’t even begin to think about creating my killer application.


App Idea : Parking Metres

There are a bunch of apps which remember where you parked your car – and some of them will give you directions to get back to it.

There are a bunch of apps which tell you how long before your parking meter expires

I can’t find an app which, knowing where you are, and the directions to get back to your meter, will tell you your metre is going to expire – and give you enough time to walk back to it before it does


Of Rights And Laws

There is a problem with some laws: they gradually make you think that your legal rights are in some sense moral rights, deriving not from the law book but rather something in nature. One set of laws I see people be living are moral rights over and over again are intellectual property, specifically

Copyright – the right of a creator to prevent the copying of his work, and the creation of derived works

Patents – the right of an innovator to hold a monopoly over a particularly innovative idea’s use (there are those who claim patent law is payment for adding to the sum of human knowledge, but if this is true, patents would have to be expressed in a far clearer way than the law presently requires – and there would be no need to penalize independent inventors who wish to add their own take on the idea.)

To consider copyright to be a moral right would seem to fly in the face of human behavior – both now when many people feel they can share media they enjoy and create both mash ups and fanfic based upon it, and in the past when riffing off preexisting works led to the output of Shakespeare and Marlowe, not to mention the Bible.

Patent law as a moral right is less defensible, as it suggests that should I have an idea – a really clever innovative idea – I may not act on that idea in the privacy of my own home if someone else happened to have that idea first.  Even if I am completely unaware of the fact someone else had the idea.  No, that is not moral, indeed it seems to be bordering on thought crime.

So if these laws are not derived from moral rights, why were they enacted, and why are they tolerated? The answer would seem to be that they provide a benefit.  Most often I hear that the benefit they provide is that copyright encourages people to create, while patents encourage innovation.  But these arguments are too simplistic – I know many creative people, and in general, creativity is something they have in abundance.  They cannot help but create. And generally they enjoy sharing their creations with others.  The same is true of innovators- those with innovative minds cannot stop innovating, and generally would love to see the world improved by their ideas. Copyright and Patent law do nothing to help such people.

What copyright and patent law do is protect the next stage of development of creative or innovative work, the boring or expensive parts -the things no one would do were it not for the potential of financial compensation.  So when we consider patent and copyright law, we should not worry about the value of the idea, but rather the cost of the idea’s implementation.

Consider, for instance, the process of writing a book.  The first draft is a hard slog.  Each rewrite more and more painful.  Copy editing and proof reading something akin to inserting nails through your eyeballs.  Thus a finished book is something that costs money to produce.  Consider on top of this the cost of printing, distributing and marketing the book.  These also cost money – though with the rise of electronic media, the printing and distribution costs are falling, and authors are increasingly responsible for their own publicity.  Moreover, they do not add value to the work – they add value to the work of the bookseller (the guy who makes it as easy as possible to find the book you will enjoy the most).  I would therefore argue that these costs do not need to be protected – or paid for – by copyright (as a bookseller would prefer to perform any marketing on the version of the book he can profit most from selling – without caring if the author gets a cut)

So the authors ideas – all of them – without the slog of putting words to paper, then endlessly fixing them, have no value.  Does the slog add to the value of the ideas?  My initial thought was yes – since one can perform all sorts of boring tasks which do not produce value.  The value comes from the fact the slog of writing encapsulates the ideas.  However, there are also many other kinds of slog which take skill, but do not require ideas in order to make an idea containing work more valuable.  Proofreading is an example.  Ultimately, creatives generate ideas for fun, and might even pay for the opportunity to generate ideas were ideation somehow restricted, in exactly the same way that you and I pay to watch TV.  The entire amount of work an author does is the slog involved in putting the ideas to paper.  That is what they need to be rewarded for.

The same is true for the inventor.  And the programmer.

The authors only argument against this is that they hold a monopoly over their ideas, and may charge what the like for them.  I am inclined to agree that this is true before they have distributed their work – but afterwords, the ideas have been transmitted  the author no longer has a monopoly on them – anyone could now take those ideas, and, given time and effort produce the same work.  If we ban people from thinking those thoughts the author has transmitted, we seem to have banned the reading of the book.

So an author could request a bounty before releasing his ideas, but cannot control their spread once he has done so.

As such, it seems once the ideas are released, we need only pay the author for their work in writing the book (and those who assist).  If I wish to distribute the book, I simply need to pay the author for his time in producing it.  And once I have done this, I would have the same level of rights to the work as the original author – it would be as if he were retrospectively my employee.  Judging this cost would  be, in theory, up to the author… but we could make assumptions based on a maximum fee per hour to determine a fair upper price (and even allow court cases where this could be challenged).  Once one person has paid off the author, they could then sell rights for the same price (Or lesser rights for less)

The same concept could base software reproduction rights on the cost of development (there would be no room for software patents), and mean patent law becomes replaced by the cost of development based on the patents (which would suit the pharmaceutical industry).  It would become much harder to lock up good ideas and prevent them from being used.  It would also kill business process patents – which seems the best thing to do with them.

This does create a new right – the right to be compensated for hard work.  I currently fail to see a way to encourage hard work without this right.  And also still gives you the right to not share an idea without compensation (but not to control the idea thereafter), which does seem, to me, to be a natural right.  But it takes away many of the non-natural rights and is my proposal for movement to a fairer system of idea creation and exchange.

Microsoft’s Missing Metro Messages

There has been a lot of hoo-ha about Build and WinRT and Metro apps.  Most of it warranted (well, the hoo-ha I penned was certainly warranted!)  But there are some missing pieces in Microsoft’s Metro Jigsaw where they haven’t told us how things are going to work.

Metro and the enterprise

Assuming your new client computer will come with Metro on, and user facing apps will be written with Metro in mind, we can assume people will find Metro on their new business PCs.  Microsoft have made a fair story of Metro apps following you around, and turning up on whatever PC you use.  This will be a headache for enterprise admins.  So there needs to be a way for enterprise admins to stop Metro apps floating to their PCs.

The Metro Store is another enterprise question.  Apparently the Metro store is the only place we’ll be able to download Metro apps from.  What is an admin to do – does he now require each user to go to the store to get what would previously have been preinstalled software?  How do they pay for it?  Again the enterprise story is missing

Finally, hardware drivers now come with the ability to install Metro softwaqre straight from the store.  How will this work on private networks without direct internet access.  We’ve always had non-net connected ways to install drivers – as well as WSUS to manage exactly what we install via Windows update.  How will we get our device driver support applications offline?

The two solutions to these problems that I’ve thought of are:

1) Local stores – which can be populated from the official Windows store by admins, and which users PCs can be exclusively pointed at (by the domain controller).  The local store could be the only route for new software

2) WSUS improvements – perhaps the windows store will use windows update as its way of downloading new Metro apps.  If so, WSUS might be improved to support or block the distribution of apps and app updates.  That said, not a wonderful story about getting new apps – though I can think of a number of possibilities here.

Metro and the Programmer

Right now, on windows, I can install Python, then run any scripts I or anyone else might have made.  Under metro this is less easy.  While I could conceivably write a metro python interpretor, it would have to have every capability enabled to allow the full python library to be available.  I doubt Microsoft would allow something like this in the windows store – after all, that’s about increasing security, not about introducing new open security holes into the currently locked down model.

The alternative is following the Javascript model – each python script having to come with a manifest that specifies the capabilities it wants to use.  The problem here is, that makes each python script a standalone metro application – and can only be installed via the store.  MS have a workaround for this – you can self-sign metro apps for local use if you have a developers licence – but at the moment, you get this licence by installing visual studio 11 – and there is no story about what the future path will be for getting this licence (and for which programs are able to do the self signing… if you allow anyone to get a licence, and any app to sign, you’ve effectively made a new ‘install anything’ capability)

Right now its looking like MS may control the entire dev environment for Metro, and not have a convenient way to let individuals make their own choices about what languages to support – or at least require the use (and purchase) of Visual Studio before they let you develop a line of code.


ARM and Windows 8

Aside from demoing ARM tablets, we know little about what ARM based Windows 8 devices will be like.  John Gruber, over on Daring Fireball has been suggesting that ARM tablets won’t run the windows desktop.  But Gruber’s comments seem less insightful than he usually is with Mac based ponderings – perhaps because he doesn’t  know as much about the architecture and environment of the new Windows 8 sphere.  So here is my take on the matter:

Originally, I guessed that we would only see .net/javascript on ARM.  I was wrong here, MS have already said you’ll get native ARM code for your applications – mainly for power reasons, as far as I can tell (we’re in an interesting situation here – low power is now trumping high performance, and some of the benefits of writing for high memory/disk/hertz systems are now being taken away from us again).  That said, those applications will have to be recompiled – and possibly have certain bugs fixed.

The metro apps you see are actually glorified COM components which offer up a number of interfaces (the contracts we’ve heard so much about, and the most important, but least spoken about contract:  Launch – the contract that causes your app to lauch).  These interact with the new WinRT runtime, which they call through vtable indirection.  Very simple, very clean.  Now, there is no reason why metro apps can’t call the win32 runtime – in fact they can – they just won’t be allowed in the Windows Store unless they do.  And anything which can call win32 can be a desktop app if the desktop exists.  And it does… the Metro UI is actually explorer.exe as far as I can tell – it is, itself, a win32 app using at least some of the desktop’s functionality to do its magic .  So unless Microsoft say “no Win32 tablets” that makes it impossible to say “no desktop apps”.  Personally, I think too many things – even if not metro apps – are going to rely on Win32 for this to be a plausible approach.

Now, there is another issue – people, right now, are talking about ARM servers (withs lots and lots of low power processors in them).  These are going to run win32.  They may not have the desktop (there is lots of talk of servers being only ServerCore these days), but they will also have win32 – nothing else makes any sense for the server – at least not for a long time

So either we will have win32 ARM apps that run on servers but not on tablets – which seems an unlikely restriction to me, we will almost certainly have desktop ARM apps.

(There is one other thing in favour of desktop ARM apps – Visual Studio is a desktop app, and I would seriously expect it to be ported to Windows ARM.  Being able to run your dev environment on your ARM tablet will be a potential major boost for MS developers)

So Desktop ARM apps – what will they be like?  IF MS do their job, mostly unused.  They’ll be there (but most desktop apps won’t be ported), and the consumer or business traveller – the real target for the ARM tablet, either will choose to stick to metro and the web, or will be connecting back to base remotely.

ARM desktop apps will exist – they’ll be available and work – but they won’t be used, and, as such, they won’t be a problem.


Windows 8 – First Impressions

Windows 8 is something new.  Microsoft have been billing the Build Conference as something as important as Windows 95 was to the PC industry.  And from their point of view, I can absolutely see their point.  With Windows 8, we have a step change similar to that of Windows 95 – in that We have a similar operating system, with a new shell, and a new way to interact with the shell.  Sure, the shell allows you to wrap up and use your old applications, but they are a second class citizen in the new world.

Its a brave move.  Its also a different move from the rest of the industry.  The rest of the industry are saying

“Sure, you can keep your desktop PC or your laptop for doing heavy duty stuff – but when you’re wandering around, you don’t need all of that – you want something cheap, light and simple”

Microsoft are saying

“Once you’ve used touch, you won’t really want to go back.  So the PC industry is going to have to move towards touch everywhere.  What we want to do is be ready.  So you’ll have touch on your desktop PC, and you’ll have touch on your laptop (which now might be a tablet…).  We’ve developed a new way of writing lighter weight apps that work well with touch and will run on minimal hardware – which is probably all you’ll want when you’re out and about, so you can use a low cost sub-laptop tablet.  When you’re back on your main machine, everything from your tablet will sync to it, and you’ll be able to use your desktop apps too”

Microsoft are also reminding us that some things – such as Photoshop or Integrated Development Environments – work better as keyboard and mouse driven applications.  And that you’ll always need a desktop type system for that sort of job.

So:  What do I think of the test machine I’ve been handed to play with:

Well, the first two things to say are that it works, and also that its buggy.  Neither are surprising – you wouldn’t be able to get developers to be even slightly productive on something that didn’t work – and if it wasn’t buggy, surely MS would be shipping it now.  It certainly isn’t unstable enough for me not to consider using it though.

The UI is different from the rest of the tablet crowd, and seems to have been well thought out.  There is a clean and simple design language, and a simple but powerful mouse gesture language (which rely heavily on the side of screens – Microsoft have recognized a replacement to Fitts law for then 2010s).  I’m not going to say its entirely clear how to navigate everything though, it certainly isn’t entirely intuitive to me yet.  I’m sure before long everything will become second nature, but right now you have to know how it works before you can find out what is possible.

MS have made a lot of integrating with web services they don’t control.  This is an interesting move – I may be wrong, but it seems to me that we are seeing Apple restricting access to the non-apple world, while Microsoft are increasingly embracing it.  I may be a mad optimist, but Apple and Microsoft today remind me of Microsoft and IBM at the turn of the century.

But the main thing to point out is that what I’ve been given isn’t a tablet in the way the iPad is a tablet – what I’ve been given is a machine comparable in power and capability with any laptop – but with an additional UI which hides the power away and makes it usable in exactly the same way and iPad is.

Right now, playing with the tablet, I would say it was on a par with Android tablets I have seen – the released version is very likely to outshine the android tablets of today.  Will it blow away the iPad?  Probably not.  But it will set the iPad new challenges – challenges the iPad might find hard to meet.  It does have the potential to relegate the iPad to a niche – or even to inspire Apple to produce a pad+mac device (which is really what this would be the PC equivalent of). Weirdly they’ve done it by fixing what was wrong with previous generations of tablet PCs rather than copying the market trend.  As I said, brave.

In the past I’ve suggested that Microsoft know nothing about design, and are hamstrung by backwards compatibility.  I think Windows 8 provides a little evidence to allow me to refine this argument:

Microsoft are hamstrung by backwards compatibility.  And this leads them to making decisions because it satisfies the most people, not because they are the right decision.  I don’t see anything new here.

But Microsoft are also able to come up with quite attractive, well thought out systems when given a blank sheet of paper.  Which is what Metro is right now.

I still think there are aspects of metro which are not well thought through, and the integration between metro and the desktop seems less well done than it could have been.  It isn’t the product of one man’s eye, but rather a set of well engineered design decisions.  And it shows that Microsoft engineers are more than capable of thinking differently when they are given a chance.

The Future Of The High Street

Amazon has killed book stores.  In fact amazon has killed the high street as we knew it.  Why buy from a shop on the high street any more – you can find things cheaper online, often with better customer service and returns policies.  And without having to pay for parking, or spanding even a second away from your desk, or television (depending upon your preference).

What is left for the high street:

Shops which sell things you want straight away – the convenience store (and I count huge supermarkets such as any out of town Tesco barn as a convenience store – what is more convenient than a 24/7 shop that sells everything and has good parking?), the DIY barn (because you never know when your toilet is going to start leaking, or which tool you find you don’t own -or in my case have lost – just when you’re ready to put up that shelf, and things like card shops, places that sell last minute presents etc.

Shops which sell things you really want to touch and feel:  Clothes shops are the obvious choice here – while you can buy clothes online (and many people will), if you don’t know exactly what you want before you start shopping, and there is going to be a tactile element, then there will be a place for a shop.  Sports shops (where you want to get a feel for the running shoes or tennis racquet) and Cosmetics shops (be they Boots, Lush or Body Shop). Toy shops probably fall into a similar category – I remember the Argos catalogue always offering me too much choice as a kid, but the experience of the inside of a toy shop makes it easier to settle on the ideal toy.  In many ways, these lead onto my next category

Shops where shopping is part of the experience – people shop for leisure, and sometimes the shop is as important as the things which get bought.  Clothes and toy shopping are both examples – and back in the days of Borders, I found book shopping as my own leisure shopping equivalent (though these days a combination of Kindle and previews let me do that fromt he comfort of wherever I happen to be).  We must also consider Starbucks here – you can drink coffee at home, but you choose to spend a small fortune to do it in a Starbucks for added fun.

And then there is the Apple Store.

The Apple store is something different.  The commonality of all the things you might buy in an Apple store are that they are made by a particular company – not that they all do a particular type of thing.  Moreover, all the things you can buy in an Apple store are available elsewhere.  The Apple store works not because it is a place to sell Apple equipment, but because it is part of the value you get when you buy Apple equipment.  It provides all the services you might get from other shops:

The Apple store is convenient – if your computer dies, you can take it to a store and get a genius to look into it

The Apple store sells Apple products which are alla bout design, all about toch and feel – its in Apple’s interest to get you to touch and caress them,, as this is part of what differentiates an Apple product from the competition

The Apple store is an experience – Apple stores offer speaking events, they let you spend time playing, and they offer personalised advice.

So how can other companies replicate the Apple Store?

Well, firstly, any companystore can only sell goods made by that company (and goods which enhance that company’s goods) – this is because the company needs to profit wherever you buy the goods – be it online or instore.

Also a companystore will only work if the company brand is strong enough that people will know what they might find in the shop.

I’m also thinking the companystore wil do best if the brand has a premium perception – and if there are additional things such as advice or upselling – or indeed crossselling that the company can benefit from

So what would this work for?

It has already worked for the Disney store (which has similar characteristics to Apple in many ways… including prominent board members).  We could pick other brands – Sony have stores, but they are – I believe – often franchise operations, and they don’t seem to offer the level of advice, or corporate branding you might expect.  But out of the tech world, Black and Decker could probably do good DIY equipment shops, and I would expect there could be good cookware shops under the Le Creuset tag.

But beyond this, I’m thinking of my beloved bookstores – the first shops amazon targeted on the high street.  Bookshops selling just books – outside of airports (where they get the convenience tag) are dead – or at least dying. But publishers are going to remain – and right now must be looking around for reasons to exist given that self publishing is getting easier.  In Cambridge right now we have a Cambridge University Press bookshop – but why not a Harper Collins?  Why not a Random House?  For the more metaphysically inclined why not a Hay House?

These stores could promote their hot books, sell their best authors, hold the promotional events they way – and set up bookgroups that specialise in their books.  they could raise their own brand’s (or imprint’s) profiles while providing a leisure shopping environment… and not care where you eventually buy the book from.

Amazon may have changed the face of the high street – and are certainly killing the bookstore… but with a bit of inspiration, apple might have just saved them both.

Windows 8 Explorer Ribbon

While it seems safe to say that the images of Windows 8 Explorer’s new ribbon toolbar are not the final version, and there will no doubt be a lot of prettification yet to come, I think what has been said about it shows a lot about the thought process of Microsoft, and why we can never expect Microsoft to be like Apple.

The explorer ribbon is justified by the following statements

  • This is all based in statistics – 80% of clicks are on just 10 features
  • We’ve kept all 200-odd features, and made them available in the ribbon
  • We’ve made it easy to find things we think you want

None of these are particularly bad goals, but together they manage to be contradictory:

  • If 80% of clicks are on 10 features, do people really care if all 200 remain around?
  • If very few clicks are on some of the features we think you want, are we right in thinking you want them?
  • If we want to make it easy to find the good hidden secrets of explorer, should we really be keeping all 200 features as buttons?

The answer to all three questions, in my view, is probably no. The reason why the questions remain is that the way decisions seem to have been made in designing the new explorer UI is not one of coming up with the best tool, but rather coming up with the tool that it is easiest to justify to senior management, or to big customers. So they end up thinking:

“We can’t remove any features, because one of our big customers will depend on the feature we choose to remove, and go off and sulk if its missing. Anything we do change, we have to be able to justify – and number make it easy to justify things.”

At Apple they do the opposite – when they came to revamp Final Cut, they changed it – and there were howls of indignation. But Apple knew what they wanted and they stuck with it. Because Apple’s argument was “We have a guy who knows what he likes, and we’re going to make this so that it looks and feels nicer to him”

This isn’t to say that Apple are right, and Microsoft are wrong – just that Apple look to make each device as lovely as they can, while Microsoft care more about making each device work with the myriad other devices they have sold, and making sure that their customers have no excuse but to keep buying them. So with apple you get lust and technojoy, and with Microsoft you get better the devil we know.

You might think was going to say that Apple’s decisions are those of an artist, and Microsofts are those of engineers, but that would be wrong. How microsoft approached this looks, at first glance, like engineering – lots of statistics and justifications – but if they are engineering anyone, they are engineering management and customers. Because their statistics don’t hold out:

If 80% of operations are on 10 buttons, then why are there other buttons on the front page? What is their justification for being there? The answer we are given is that these are hidden features which MS engineers think users would like to know about. Its a reasonable sounding answer. But they stats don’t hold up. Because of the 10 buttons used 80% of the time, we are told in existing UIs only 2 appear in the toolbar. Customers know about the other buttons they use – why are we so sure they haven’t simply found these features not particularly attractive? Once the stats break down, you know its just an exercise in convincing people you’re right, not an exercise is design.

The Apple approach to engineering managers is simple – its to find the decision maker – the person who has to love the software, and to show him the software and ensure he loves it. Meanwhile the engineering is the process of making sure those features work as well – and as transparently as possible.

Microsoft have had a change to throw away explorer with the introduction of Metro. Maybe they will – maybe for everything we use in Metro we won’t have to interact with a filer at all… but knowing the insides of MS operating systems, that seems unlikely to me. So why couldn’t we have had a Metro file manager which tries to make file management different, simple, clean and easy, without the need for anything like explorer? Can’t we try to deprecate the existing desktop features of windows as much as possible, and just leave them for power users and people who can’t cope with change?

What we actually have is not a conflict between engineers and artists, but a conflict between two political systems – Apple are more like a monarchy, and all the while they have a Good King, they will be making Good Things. Microsoft is a democracy, and not the good sort of democracy we all imagine, Microsoft is the just about functional democracy we all live in where spin and satisfying special interest groups wins over making the best choices every time. The strangeness of this is, I would bet on Microsoft’s style lasting longer, because Good Kings eventually go away, and the world hasn’t been short of Bad Kings.