Archive for the ‘Windows 8’ Category:

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.


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.

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.