Monday, 11 November 2013

New Microsoft CEO..

Various sources are reporting that 2 potential candidates for the CEO position are considering shutting down Bing and and the XBox divisions.

I realize they are both currently loss making, but long term they will huge profit centres.

Any potential CEO whose only looking at boosting numbers short-term should only be considered short-term.

Microsoft need a engineer in the CEO role, someone who understands technology and can see where things are headed. The One Microsoft strategy has barely begun (a few years late) and already CEO candidates are looking to undermine it rather than bring the various divisions into a 'the sum is greater than the parts' enviroment.

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.

Sunday, 24 February 2013

Windows Blue

Some screenshots of what is reported to be Windows Blue have surfaced showing an update to the Kernel.

Will Windows Blue be a service pack to Windows 8, or is the transition of Windows to a rolling release?

What does it need to be successful? Here are a few suggestions:

Multiple/Virtual Desktops

The current desktop is now just a  ModernUI tile, therefore wouldn't be nice if multiple desktops were available? Maybe Microsoft thinks the traditional desktop is dead. But showing the desktop some love would go a long way to fixing the perceived neglect of the desktop in Windows 8.

Fix Sleep/Standby Issues

This seems to be a common issue. Search Google for Windows 8 sleep/standby problems and you'll find forums filled with complaints that suspend worked on Windows 7 but isn't working with correctly on Windows 8 with the same hardware. Many users can't wake suspended/sleeping machines. So much for Windows 8 working better on older hardware.

Fix Storage Spaces

Pooled storage is great, it's not just for Enterprise, home users can benefit too, but storages spaces doesn't seem to be stable. A quick Google search shows horror stories of storage pools going offline and not being able to be brought back online, not to mention the sometimes atrocious write performance. Instead of taking storage spaces offline when the pool is "full" how about making the pool read-only with a nice warning message to users? That way users have access to their data, if they don't happen to have a spare hard drive to add to the  pool.

Get Rid of Drive Letters

Drive letters aren't needed. Move to the Unix way of doing things with mount points. Use some clever hacks to keep older software working correctly but fix the file-system layout and use partitioning (in combination with working pooled storage this would be great).
  • /Windows - Partiton/Pool, just for Windows obviously
  • /Users - Partiton/Pool for users home folders. SSDs are becoming more popular, and there biggest advantage is speed. Users probably don't want to take valuable storage space on their SSD with Documents etc.
  • /Program Files - Partition/Pool for non-os programs.

Remove Advertising

Adverts in ModernUI apps, these just make the operating system look tacky.


The Verge has more info...

Thursday, 21 February 2013

PS4, Linux, Steam-Box?

By now anyone who is interested knows the PlayStation 4 hardware specifications have been announced.

The speculation that PlayStation was switching CPU again, from Cell (POWER based architecture) to a custom 8-core x86-64 architecture manufactured by AMD was proved to be correct.

However nothing has been announced regarding the OS. According to Wikipedia the PS3 system software is believed to based an on a branch of FreeBSD will the situation be the same for the PS4?

Currently the PS3 can use Valve's Steam content distribution platform, and recently Value have released an official Steam client for Linux. Now this is just a guess but...

What if the underlying system software on the PS4 was a custom Linux distribution? This would mean:

  • The Steam Linux client would be available from day 1
  • AMD would have a huge user base using Radeon on Linux - would this lead to rapid improvements in the closed source Linux Radeon Drivers?
  • The OS source would be have to be made available - I'm not sure Sony would want this as they locked users out of alternative OS's on the PS3.
It is more likely, that if the PS3 system software was a branch of FreeBSD then the PS4 will also be based on FreeBSD (meaning the source can stay private). What does this mean for the FreeBSD community?
  • AMD would have a huge user base using Radeon on FreeBSD - would this lead to rapid improvements in the closed source FreeBSD Radeon drivers?
  • Valve would likely want Steam to be available to PS4 owners. That could mean the development of a FreeBSD Steam client.
Given that Valve has committed to creating a 'Steam-Box' based on Linux either of the above are potentially possible.

In the event the PS4 is based on Linux, Valve have a Steam client ready to go, and the PS4 is not only a PS4 but it could be 'Steam-Box Compliant/Compatible'. That could be a big win for Sony when customers are making purchasing decisions.

If on the other hand the PS4 is based on FreeBSD, I'm sure Valve could port Steam to FreeBSD, but would the PS4 still be a 'Steam-Box Compliant/Compatible' device?

The biggest question is, would Sony allow another content distribution service to run alongside the PSN? It seems the industry as whole is moving to a 'walled-garden' approach, when it is apparent that consumers would benefit from being able use whichever content providers they prefer.

All of the above is just conjecture, but possibly exciting times ahead...


So HTC are trying to gain market share after losing out to Samsung.

The new HTC One physically looks great, but I wont be getting one. Since the earliest HTC phones, HTC have customized the android interface with their custom UI - Sense. As with all things UI based this is a subjective area, some people love the SenseUI, other would prefer a Vanilla Android experience.

It seems nearly every phone manufacture is trying to differentiate their product based on UI customization. This begs the question - "is this what end users want?"

I don't think it is. Sure some customizations are nice but I think there are other more important things on end-users wishlists. The biggest complaint in the Android eco-system is fragmentation. HTC could be the first company to address this and by doing so win back customers.

How could HTC do this?

  1. Vanilla Android
  2. Commitment to OS updates
  3. SenseUI and Apps on Google Play (Respecting Customer choice)

Vanilla Android

Early version of Android weren't the best looking. But things have changed now. Android 4.2 looks great and doesn't really need customization. But the beauty of Android over other smartphone platforms is that end users can customize if they want.

Currently to get a Vanilla Android experience you are limited to Nexus devices, or to using a custom ROM - not practical for most end-users. No other manufacturers offer a vanilla Android experience, why?

Differentiating on hardware is no longer about the hardware specifications, most smartphone hardware is essentially the same, variations in CPUs, memory, screen sizes, pixel density, but all manufactures have comparable offerings in different value segments. Differentiating on hardware comes down to design - how the device looks, and feels in the users hand.

This should be what phone manufactures concentrate on, but they focus on product differentiation through UI modification.

Developing a custom UI takes time, resources and slows product releases. More importantly product OS updates take longer on phones with customized UIs this is something that end users care about. Security vulnerabilities need to be fixed quickly. If  the fix is available in latest Android code then it should be available to the end user as quickly as possible.

Commitment to OS updates

When releasing an Android phone make a commitment to OS updates - and keep it.

"This phone will receive Android updates for the next X years. For the first N years updates will be available within a month of an official Google release, after N years updates may be released on a slower timeline."

End users want this. Make no mistake. I want to know my phone with get all the improvements available (provided hardware support - NFC etc) with the latest Android release.

SenseUI on Google Play

Give end users choice. This is a value add.

Developing SenseUI takes time and money, some users might prefer it to the vanilla Android experience. So give users the choice of UI. Ship with vanilla Android but make the SenseUI and HTC apps available for free to HTC phones through the Google Play store.

Users that want SenseUI can install it (at the expense possibly of slower OS updates). Customers also get to download the HTC apps they want.

By using the Google Play store HTC get metrics on what apps are popular i.e. should they make a paid app for non-HTC phones? How popular is SenseUI with users, is it worth continuing development? Should it be made available on non-HTC phones?

By moving the software differentiation to the Google Play store HTC would be respecting its customers by giving them the choice to use SenseUI or not. If they have their is HTC app that every HTC user downloads, then maybe that's an app that can be monetized by making it available to non-HTC users.


By moving the software "value-add" (custom UIs and apps) to the Google Play store, products can ship with vanilla Android builds - this should reduce time to market for new product releases. The metrics from the Google Play store and be use to refine UI development (based on geography, carrier etc) or abandoned if it proves to be unpopular.

Allowing users to choose between faster Android updates or slower updates if using a custom UI allows you to win customers as they don't face an either/or choice. 

Friday, 15 February 2013

Fedora's New Installer Updated

Based on feedback I've updated the designs.

It was pointed out that the new installer uses the 'hub-and-spoke' model for navigation, and the mock-ups I created where closer to a traditional 'wizard' model.

Based on this I've mocked up the Date & Time spoke using the hub-and-spoke model.

I believe that this new design improves consistency with the Gnome Control Center.

  • Each spoke should have an exit button (same as the control center)
  • The spoke name should appear in the title bar as a navigation aid.
  • The done button should be replaced with the 'hub' button.
Creative Commons Licence
Mock-up designs by Daniel Davies are licensed under a Creative Commons Attribution 3.0 Unported License.

Thursday, 14 February 2013

Fedora's New Installer

I recently installed Fedora 18 as a virtual machine to tinker with. This Fedora release got a lot of press concerning the updated U.I. of the installer (Anaconda). Whilst it looks vastly better than the previous U.I. some screens are confusing, and the layout seems somewhat cumbersome.

Rather than be a complainer, I've mocked up some screens with suggested improvements with rationales.


One my main gripes with the current new U.I. is the placement of "Done" button, and the fact I can only quit from the Installation summary screen.

In order to remedy this I suggest moving to "window" like template.

This way the user is presented with a button placement layout that is intuitive from other desktop environments. The Exit button allows users to quit at any point, with a confirmation dialog.

Using this template I've mocked up the following screens:


  • The need for a quit button in the lower left is removed as the user can now quit from the familiar close button on the top right.
  • Removed the redundant check-box. By definition "the default" is what you get if make make no additional selection. Why ask the user to select the default? If the user doesn't want the default they will need to visit keyboard panel anyway. (Guessing the default it fine for most users - 1 less mouse click)
  • Changed the wording "Continue" to "Done" for consistency with other screens.

Installation Summary

  • Removed warning from bottom and placed towards top of screen. Whilst this is inconsistent with Gnome 3 notifications it has a different purpose. As I understand it, the notifications in Gnome 3 are supposed to be as non-intrusive as possible so as to not interfere with the users foreground workflow. Here we want to be somewhat intrusive. The user is installing the OS they aren't working on any other task so we want them to now what is preventing them from installing, and that warning should be front and center. It also helps maintain the window template.
  • Quit button removed.
  • Gnome 3 Emblems used with icons rather than placed next to text.
  • Changed the text to be more concise. - Why mention icons, what is the next step? (Should I be doing things in a certain order?)
  • Changed Date & Time to show the the date and time for current timezone. Also changed the wording from "Europe/London timezone" to "Timezone: Europe/London". I think the latter reads better. Showing the time on the summary screen allows the user to skip going into configuring the time if everything is correct.
  • Would be good to get the timezone from GeoIP, and maybe show something like "Time Server:" so users can verify if it's the time server they want (corporate users may want to  use a local time server).

Date & Time

  • Changed to fit the window template (still not an ideal layout, but more consistent)


  • Reduced the size of the added keyboards panel.
  • Removed the show keyboard layout button - redundant as keyboard layout depicted - saves mouse clicks in verifying the layout is what you expect.
  • Testing the keyboard is now text in the text box rather than a label - visually cleaner
  •  For a single keyboard layout switching is not needed/configured extra step that is not needed. Config button should be greyed out)
  • Changed "Options" button to to the gears button - consistent with the NTP settings in Date & Time.
  • Added a visual depiction of the selected keyboard layout.

Adding a keyboard

  • Adding a keyboard, changes the text indicating how to switch layouts. Gears button becomes available to configure a different layout switch key combination.
  • Adding a keyboard brings up similar screen to before, except the selection area is reduced in size, but still has a type-ahead filter. A preview of the selected keyboard is displayed - most intuitive way to see if the layout is correct without needing an extra mouse click on a preview button. 

Installation Source

  • Changed to fit window template for consistency.


  • Changed to fit window template for consistency.

I've missed the "Software Selection" and "Installation Destination" screens as they are the hardest in my opinion.

But I'll work on some ideas and post them here in the future. Any constructive feedback is welcome.

Creative Commons Licence
Mock-up designs by Daniel Davies are licensed under a Creative Commons Attribution 3.0 Unported License.

Thursday, 17 January 2013

Fedora 18 installation issues with VMWare Workstation

I've just tried installing Fedora 18 as a guest in VMWare Workstation 9. The install went smoothly but on reboot, I only got the desktop background - no login prompt. I tried to get to a virtual console to see what the issue was but I couldn't even get a working virtual console.

Eventually solved the issue by disabling 3D acceleration in the VM guest hardware settings.

I'm not sure where the issue is, either VMWare workstation, or Fedora 18 but if anyone else is experiencing the issue disabling the 3D acceleration will get you a working Fedora 18.

I've experienced this issue with both the install DVD and the Live DVD.