Monday, 24 June 2013

Microsoft Re-orginization

A few days ago I wrote about how I felt Microsoft was fumbling product launches.

Well it seems things might change. All things D has a story about internal restructuring happening at Microsoft. It seems CEO Steve Ballmer has been making significant plans to reorganise the company.

Rumors are that four divisions comprising: enterprise business, hardware, applications & services, and operating systems would be the cornerstone of the new restructuring effort.

If such a restructuring were to take place it would be a huge internal change. A more streamlined Microsoft would certainly help Microsoft overcome (mis?)-perceived issues with the company.

With all the hype, media attention and high expectations associated with new product launches it must still be remembered that Microsoft does make good products. However they should be making great products.

Part of the issue (and speaking as an outsider this is purely conjecture) is that there are too many layers to management. Rumors of internal conflicts between divisions often surface. Competition between divisions can be a good thing, inspiring teams to out-do each other, but when competition becomes conflict, through politics or personality conflicts, it becomes destructive and diminishes from the effort to make great products.

Hopefully internal restructuring will go some way reducing internal conflicts, allowing the divisions to build great products and services, only time will tell.

PS4, FreeBSD Orbis OS

A few months ago I wrote about the PS4 possibly being based on Linux and being Steam-box compatible. However much I wished this to be the case it seems that I was correct in suggesting the PS4 OS would be based on FreeBSD (similarly to the PS3).

Well the folks over at vgleaks have obtained more information, and it seems that Orbis OS is a modified version of FreeBSD 9.0

The next obvious question is given the lack of AMD graphics support on BSD will any of the drivers (or parts of drivers) be made available to the BSD project?

Sony/AMD is under no obligation to contribute back with the BSD license but doing so would certainly be appreciated by the FreeBSD community.

Given that Sony has done a better job of marketing it's embracing of Indie developers than Microsoft, would a code contribution back to FreeBSD allow more Indie dev's to participate in development on the PS4 using FreeBSD?

Sunday, 23 June 2013

Re-imagining Windows 8.1 (part 1)

The marketing tagline for the Windows 8 release was 'Windows re-imagined'.

Many things were changed, most notably the introduction of ModernUI and the start screen. However some fundamental aspects haven't be re-imagined at all. The file system layout hasn't changed, and it could certainly use updating.

Separating the OS & Data

One area where Windows still needs improving is separating the data and the OS. Windows 8 has the 'refresh my PC' option, but you still need to manually re-install some programs. Separating the OS and data has a number of advantages, and if Microsoft are serious about 're-imaging Windows' then this would be a good place to start.

Having the OS separated from the data allows users to 'nuke' the OS if something really bad happens without having to worry about their data or programs. SSDs are becoming common and ideally you want to put data on them that increases the overall system performance.

Currently if you have both an SSD and a HDD you have to manage your where your data lives manually. Typically the OS is put on the SSD, allowing faster boot times, but this has the side effect that the Users directory is now on the SSD. This means that every user will have their home directory and therefore all their data placed on the SSD by default. The limited storage capacity of SSDs means that unless you are aware of this, you can quickly run out of space, whilst the HDD with it's comparatively large capacity sits empty.

It is possible to use the libraries feature to have data saved to the HDD, but you have know this from the outset, or you need to move your data once you realise your hard drive is not being utilized effectively.

Re-Imagining the file system layout

Windows still use the antiquated system of drive letters. It still needs to support drive letters for legacy programs, but the time has come time to kill drive letters. The Unix way of using mount points is simply a better paradigm, NTFS supports volume mount points (as does ReFS), allowing another volume to mounted under a directory.

Using mount points would allow the each of the following directories to be on a separate volume.

/Program Files

Having each of these directories on a separate volume allows users to get the most of their available storage. The /Windows volume could be a volume on the SSD, whilst the /Program Files and /Users directories could be located on the HDD.

By separating the data this way the user has realized a tangible advantage. But what if the user only has a HDD?

It still makes sense to have 3 volumes. Having 3 volumes does nothing to protect the users data, the data is still only on one device (back-ups are the only thing that can help when your HDD dies, or be prepared to pay for some expensive data recovery from a professional company) but it does allow the OS to be nuked without affecting /Program Files or /Users.

But the real advantages of acclimatizing users to this volume scheme comes with virtualised storage.

At the moment I wouldn't recommend anyone use the Storage Spaces feature in Windows 8, it's slow in many cases, volumes go offline when they are full, data isn't re-balanced when drives are added. Storage Spaces is a promising technology but it needs a lot of work.

Imagine a better version of Storage Spaces where these issues don't exist, using the scheme described above, but instead of volumes, storage spaces.

In this scenario the storage pool is comprised of both the SSD and the HDD. Storage spaces is smart knows that the SSD is fast, but has limited capacity and the HDD is relatively slow but has a much bigger capacity.

The pool is then carved into 3 thin provisioned spaces:

/Program Files

Which device(s) the data lives on is managed by Storage Spaces, which would optimally place the OS on the SSD, programs and user data on the HDD. However if file-system is profiled then Storage Spaces might determine that Photoshop is used regularly and it takes a long time to start up (as it's being loaded from the HDD). Being smart Storage Spaces relocates Photoshop within the /Program Files space to sit in the on the SSD part of the pool.

Because the spaces are thin provisioned they can grow as I add devices. If I reach the point where Windows  updates have made the /Windows space full Photoshop could be relocated back to the HDD. In order to make space for more updates.

When I add another HDD storage spaces could prompt the user if they want to have a degree of redundancy or just have more space.

Having a layout scheme like this also works for tablets and phones, if the user needs to perform a factory reset, they shouldn't loose their programs or personal data, and the file system layout looks the same across devices.

It's time to kill drive letters, and define a Windows file system layout that's consistent yet flexible across devices.

Saturday, 22 June 2013

Microsoft fumbling product launches

Despite my previous blog, I ended up buying Windows 8 during the upgrade offer. I've gotten used to it. There are things I like, things that need improving and things just plain annoy me. However I can see that it has potential.

Windows 8.1 Preview is only a few days away, so here is a round-up of things that Microsoft have already shown off.

  • The return of the start button (not the start menu) is good a good thing. It provides an always visible obvious way to get from the desktop to the start screen.
  • Another welcome addition is being able to set Start screen background to be the same as the desktop background. Such a simple thing but it will certainly  help remove the disjointed feeling between switching back and forth.
  • Allowing Metro more than two ModernUI apps to be visible, and allowing the user to choose how much of each is displayed (none of this pointless 33% 66% split rubbish)

Although these features fixes are welcome the big question is:

What the Hell took so long?

There was more than enough feedback from the Windows 8 Consumer Preview to see that users weren't happy, and these 3 simple fixes should go a long way to improving the overall experience.

It seems Microsoft is having a bit a of crisis at the moment.

Windows 8 Consumer Preview released to a lot of well founded criticisms. Criticism was ignored, and spun by the marketing people so Microsoft came of as just another arrogant 'we know best' corporation.

XBox One fiasco. Rumours of always on Internet connection required, no sharing games etc. were all over the Internet causing lots of negative press, then at the live press event they confirmed all these things 'We know best'.

Both situations caused a lot of negative publicity (you only get one chance to make a first impression) and basically tarnished both product launches. In both cases Microsoft has back-tracked to various degrees. How can Microsoft be so out of touch with it's consumers?

This is Microsoft's biggest problem, they have great engineers, great technical expertise, (and potentially great products) but it seems there are many, many layers between the users being heard and the products meeting user expectations. (Bad management?)

It's not possible to please everyone but they should at least aim for the vast majority...

Please Microsoft, stop trying to spin criticism. Acknowledge it, and if necessary delay the product launch to fix / re-think things. Then you can market how you listen to user feedback as one of your greatest assets.