The Why and the How: Usability testing

When creating a digital service, there is often a rush. Often we want user-friendly experiences where users can interact with your product without a second thought. You want to make sure that your customers can find your service, and that things go smoothly. But there may not be much time or resources available. However, often … Read more

Miten käytettävyyttä kannattaa opettaa?

Johdanto Käytettävyys- tai käyttökokemus (UX) -koulutuksen on tavoitteena on yhdistää suunnittelun teoreettiset periaatteet ja niiden käytännön sovellukset. Se on monivaiheinen prosessi, aivan kuten se ammatti, jota sen tavoitteena on opettaa. Tässä kirjoituksessa tutkitaan käytettävyyskoulutuksen olemusta, sen ainutlaatuisia haasteita ja mahdollisuuksia tehdä siitä tehokkaampaa ja osallistavampaa. Käytettävyyskoulutuksen olemus UX-koulutuksen ydin on sen tunnistaminen, ettei suunnittelija voi … Read more

Conceptual Modeling: A Key to Great Communication While Building Complex Systems

Understanding the core concepts and their interrelationships is the foundation of any software system. Misunderstandings or misconceptions about these concepts can lead to system failure. To avoid such pitfalls, it’s crucial to communicate the conceptual system using a model. This model serves as a common language for professionals from different fields to discuss the core … Read more

Sincere words about impact + practice

Surrender Coronavirus has meant that I haven’t swam in months. It was warm today in Helsinki. So I decided to go to the beach. I took a few strokes, but didn’t really swim. I found myself watching the waves coming at me, feeling into what that was like. Feeling the forcefulness of the sea. Though … Read more

Desktop: JPEG Autorotate photo rotating app

“Ever had the problem of pictures taken in portrait showing up in landscape in emails, on your blog or on your mobile device? JPEG Autorotate is the solution. It’s quick, it’s simple, it’s free.” -Raquel JPEG autorotate website & download Published around 2005, still has 5-10K downloads per year in 2017. This solved an itch … Read more

The Risks of Modal User Interfaces: A Deep Dive

I love how much power understanding the fundamentals of UI/UX design can give you to build experiences that really flow smoothly! One of these fundamentals is modes – and how to use them well.

Modes are sometimes necessary, but they can be a risky choice in a user interface. This is true especially if the UI does not make the modes and their states clearly visible.

I’ll first discuss challenges when using modes. Next, I’ll offer some alternatives and finally, offer some quotations from literature to provide deeper understanding.

Read more

Rethinking Usability Education: Bridging Theory and Practice


During my working life I’ve taught some trainings and lectures on UX and courses on software development. Here’s some reflections on what I found central.

Usability or User Experience (UX) education plays an indispensable role in bridging the gap between the theoretical principles of design and their practical applications. This post explores the essence of usability education, the unique challenges it presents, and the opportunities for making it more effective and engaging.

Read more

Thoughts on concurrency and ubicomp development

Pile of devices
Not actually my devices, in case you were wondering

It has come to this. I am at breakfast table with five different portable/wearable devices.

They each have relatively low processing power. They get stuck all the time since I run so many apps.

So I’m thinking, couldn’t each of these devices effortlessly offload processing load to each other, wirelessly? How far are we from a future, where concurrency is so advanced?

This would seem to make it possible to make the user experiences a lot more fluid. We could make mobile devices that provide processing power where user focus is. Accordingly, it would allow deprioritization of tasks on devices the user isn’t currently interested in.

Read more

Adjust QTableView height according to contents

Sometimes we need to show all contents and get rid of that scrollbar

In my layout, my dynamically generated QTableViews seem to get resized to only show one row. I want to have the container of the table views to have a scrollbar instead of the individual table views, which should show full contents.

Qt doesn’t have anything built in for this apparently, you need to calculate and set the size manually.

Read more

Merge Qt .ts files

See also: A Practical Guide to Changing Default Language in a Qt Project Small desktop app to solve a practical developer issue. It allows combining the translation files of multiple separate Qt projects, so they can use a common file. April 2017 View on GitHub Other Qt things on GitHub

Desktop: Industrial Measurement Solution + Realtime automation

”In my opinion, the program reflects a philosophy of user-friendliness and simplicity that others could learn from. The machine allows for versatile testing in a safe manner, with a logical and simple user interface. Other similar testing programs are often unpleasantly complex and confusing, especially for less experienced users. Therefore, I see clear potential for this software to excel in competition, particularly in terms of user-friendliness.”

”I have tested ForceProof in a testing apparatus that allows us to simulate the loading and unloading stresses of a paperboard core inside of a paper roll, in addition to regular load testing. … Our criteria were safety, versatile functionality, and easy usability. We also invested a significant amount of time in testing before implementation.

I have extensive experience in using similar software in product development and testing, as well as in scientific research. In 2004, I completed my doctoral thesis, … In that study, I conducted numerous tests using various types of material testing machines, including a similar tester to the one on which ForceProof was recently installed. The software for the previous hardware was developed by a different party, so I have a good basis for comparison. …

… You also had to create custom add-ons to manage, for example, the operation of the rotation motor used in testing in sync with the rest of the loading equipment. We also had very high safety requirements.

The user-friendliness of ForceProof was highly valued since the machine had to be operable with a reasonably short training period while ensuring safety. All user-related risk factors had to be minimized. Some adjustments were made to the program and system during testing, but the end result is highly successful.

In my opinion, ForceProof reflects a philosophy of user-friendliness and simplicity that others could learn from. The machine allows for versatile testing in a safe manner, with a logical and simple user interface. Other similar testing programs are often unpleasantly complex and confusing, especially for less experienced users. Therefore, I see clear potential for this software to excel in competition, particularly in terms of user-friendliness.

… I believe this program should be maintained, further developed, and actively marketed as a versatile, customizable, and user-friendly option for the needs of both science and industry.”

Marko Ilomäki
Sonoco-Alcore Oy
Senior Research Scientist, D.Sc. (Tech.)
Kotka, Finland

Key takeaways:

  • We have been on this product development journey since 2010, and ongoing.
  • We’ve engaged customers in industry and in educational institutions in Finland, Sweden, the Baltics, and in Germany
  • This versatile software framework has been continuously iterated to build about fifty devices during the project’s lifetime.
  • In 2022-2023 we have effectively built a minimum viable mini-DSL and GUI for generating it, for building versatile measurement applications efficiently. The UI building framework of ForceProof was built with Qt.

ForceProof is a 21st century, comprehensive software and hardware product solution for materials testing.
Entrepreneur; Product Management, UX Design

What I feel proud about with this product journey is the long term commitment we’ve had with staying connected with our user base. This has enabled us to actually make long term decisions in relation to what matters to our users.

“to make the easy things easy, and the hard things possible” -Larry wall

Despite growing the featureset throughout the lifetime of the product, we never became a feature factory. What I mean by that is that I feel we stayed quite disciplined in prioritizing the overall UX. I.e. I think we managed to prioritize actual needs of users such that the experience has stayed balanced.

Read more

User Experience Design in Open Source: Inviting the Users

In any software project, we need to understand the people who will use the product. There are many different points of view onto what approach we should take. Spool: Vision, feedback, culture Some promote approaches to usability practice alternative to User Centered Design (UCD). Spool (2008, 2009) calls the attention of the usability community to the … Read more

Getting Twincat XAE to function on MacBook Pro

I finally got sick and tired of all my windows laptops breaking physically one way or another. First there was ThinkPad Edge, then there was the ultrathin Sony Vaio (bought just before Sony sold the business and discontinued the thing).

Computer Says Yes: Intel Processor Identification Utility Says Yes

Developers, Linus Torvalds included, online seemed to agree that MacBooks are the best hardware on the market.

So bought one, and installed Windows 10 with Bootcamp. All was swell, until I decided to try the Beckhoff TwinCAT XAE environment for PLC (programmable logic) programming.

Read more

UX Design Concept: Learnable Regular Expressions

Reach: 91K
~1700 recommendations (Hacker News, Reddit, Twitter & Medium)

Regular expressions you can read: A new visual syntax (and UI)

Regular expressions are a technical tool, not unlike a domain specific programming language. It is intended for situations where you need to match patterns in text, in order to filter or manipulate it in various ways.

I created a novel design concept for learning and editing regular expressions (regexes). The main goal for this design is to aid learning and support memory of this tool that has a hard to memorize syntax for many.

Read more

Web: sleepCal

A sleeping calendar for circadian rhythm disorder patients (G47.2). Built for a friend in 2012. This is a simple single page PHP script. A key reason this is listed is to demonstrate that often it doesn’t take complex tech or extreme polish to meet a need and provide a lot of value.

Test driven development and usability testing

See also: Usability and being human blog

Robert Martin spoke charismatically about test driven development in RailsConf in 2009. (Video link expired)

He promotes the idea of having automated tests (unit tests) and running them all the time to prevent your code from becoming an enormous, unholy mess. When you have tests, you are not afraid of making changes. (In fact, you are effectively improving the user experience of programming1.) You can play all you want, because you know exactly when anything in your code breaks as a result of you changing the code.

Guess what? It applies to UX, too. Three points:

Read more