💭 ️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.
Continue reading

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

Continue reading

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

Continue reading

💭 ️The temptation to avoid usability work

At Fluxitek, I am involved not only in the design of the overall user experience, but also in implementation. The temptation to skip UX work is sometimes great for our team.

So: I, too have to keep convincing myself why usability work is absolutely crucial to our product success. I’m now trying to find a succint enough way to express the basic needs for the work.

This is what I’ve got now:

Continue reading

💭 ️Test driven development and usability testing

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:

Continue reading

💭 ️GTD app review: ThinkingRock, Tracks, Google Notebook, Toodledo, Checkvist

I have been through several apps for Getting Things Done (excellent Google Talks presentation video). ThinkingRock, Tracks, Google Notebook, Toodledo, Checkvist each had their times during the last five to six years. And, perhaps typical for a usability practitioner, I tend to have strong opinions about their user interfaces.

ThinkingRock home screen – thanks Dragos Roua for the screenshot.

Continue reading

💭 ️Algorithm: Create groups from sets of nodes

I have a list of sets (a,b,c,d,e in below example). Each of the sets contains a list of nodes in that set (1-6 below). I was wondering that there probably is a general known algorithm for achieving the below, and I just do not know about it.

sets[
 a[1,2,5,6],
 b[1,4,5],
 c[1,2,5],
 d[2,5],
 e[1,6],
]

I would like to generate a new structure, a list of groups, with each group having

  • all the (sub)sets of nodes that appear in multiple sets
  • references to the original sets those nodes belong to

Continue reading