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.

Update:

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...

HTC One

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.

Conclusion

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.

Layout

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:

Welcome

  • 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: 0.fedora.pool.ntp.org" 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)

Keyboard

  • 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.

Network


  • 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.