Wednesday 25 January 2017

Bad Dpi Scaling: Bane of current day UX?

We live in a world where every company is forever in pursuit of increasing pixel density. There was a time when quad-HD (a resolution standard) was considered off limits to all screens except for very high end computer monitors used by content creation professionals. Now, any flagship phone released in the past 2-3 years will sport that particular resolution, with rumors of even higher resolutions in the pipeline.

In principle, it could be argued that this could possibly better the user experience. It is true that not being able to resolve individual pixels makes the experience of using a screen more pleasing for the end user. However, there is evidence that the human eye is unable to appreciate any improvements from 300 ppi onwards. This doesn't seem to have swayed companies from releasing ever more high density screens, however.

Take, for instance, this flagship monitor announced by Dell in CES 2017:


Now here is what the regular Windows 10 UI looks like:


Are there any differences that are immediately noticeable?

For one thing, the bottom screen seems to be consistent with Fitt's law. Icons are large, various menu elements are well separated, the text is easily resolvable by the human eye etc. The first picture, on the other hand, sports a UI that is tiny. Keep in mind that the monitor is 32 inches diagonally. So a person may be sitting a distance of 1.5-2.5 feet away from the monitor. Even from those distances, effetively manipulating the UI will become a massive hassle and will disrupt regular workflow.

The thing is, it doesn't have to be this way. There are many systems that incorporate perfect UI scaling such that low end, low res monitors and high end, high res monitors can both sport UIs that are optimal and are scaled consistently. There are algorithms that can granularly scale a UI instead of having to have a programmer "hard-wire" a couple of pre-set UI sizes for a couple of pre-set resolutions. I think this is one of those cases where we can appreciate a real world difference between 'coders' and 'computer science professionals' and 'hci professionals' because a coder unfortunately cannot appreciate the importance of UX in the same way someone familiar with the field can. They also may not be able to understand the idea that UI can inductively be scaled regardless of resolution, which is why they stick to "hard-wiring" only a couple of pre-set UI sizes.

I hope this disconnect between sub-optimal UI and ever-increasing resolution is addressed soon because otherwise, it is the end user who has to suffer.

Friday 13 January 2017

First Post! Hello World!

Welcome to my first post on my CSC318 Blog!

I am a student of computer science in my final year of study. Over the past couple of years, I have learned various things that have deepened my knowledge on the mysterious black boxes that power so many facets of our lives in the 21st century. As I started to learn more and more, however, one thing became clear - much of what is learned in Computer Science revolves around the abstract. For example, as someone who has taken an advanced operating systems course, I can describe various esoteric algorithms on designing the scheduler of a kernel or how to prove the correctness of a concurrent algorithm on synchronizing threads or how many faulty aspects of a system can be reduced to an instance of the Byzantine General's and so forth.

But if I were asked to describe how the GUI in linux works, I would be hard pressed to go into any more detail than just stating some of the superficial aspects of the X windowing system. This has made me realise that I want to know more about GUIs - both the computations behind what make them possible as well as the more abstract and philosophical aspects of what constitutes good design. I want to be able to look at a user-oriented application and confidently identify whether or not it employs good design principals. I want to know more about the history and current state of the art of UX.

I am very confident that CSC318 will be a useful course as I enter the latter part of my degree. I hope this blog can bring some enjoyment to you, reader!

T.K.