I love seeing people's systems for managing their work. Even those of fictional people. This short from The Bear on managing the restaurant's guests and their orders is great.
Showing posts with label ui. Show all posts
Showing posts with label ui. Show all posts
Jira is software management's Pakistan’s truck art
Completing tasks stepwise
After waiting on an improbable response from the HealthSource RI health benefits web app I lamented on Twitter
1. A user is able to disconnect from their session and return at a another time and continue where they left off.
2. A user is notified when requested work has been completed or can continue using their immediately appropriate notification mechanism.
In the HealthSource RI situation I was signing up for 2020 benefits. There is a short window of time to make these benefit decisions and there are many people making them. These circumstances put a strain on an implementation not designed to scale. Even an implemented designed for the cloud will be handicapped when there are choke points. That is, one or more resources that every request needs to interactive with. There are a number of technical solutions to these, but there are also user interaction solutions also. The easiest solution is to ask the user to come back later to complete the work.
On the surface interrupting the user seems the wrong action to take. The person is here and now and so the system should use this opportunity to complete the task. The rub comes when the system slows down and the task is taking longer than the person has time to give here and now. It is better to let the user leave and notify them when the system is ready to continue. When the user returns the system reestablishes the user's context, ie it brings them back up to speed, so as to not unduly prolong the time to completion.
If I were designing HealthSource RI I would make interactions interruptible. Long tasks are broken down into short tasks, each of which can be completed with limited (near zero) interaction with the system. Each time the user returns to work further on the long task they are presented with a plain summary of what has been accomplished and what is left to accomplish. This summary can be written or visual. When a long task is interrupted the user will be contacted, repeatedly if necessary, to return and complete the task. For time critical tasks the contact mechanisms may need to escalate; a person might need to actually phone the user and compete the task over the phone.
People are used to completing tasks stepwise in the physical world. Why not make enabling that a norm in the virtual world too?
Every time I have to wait for the interactive response of some application I wish the Envoy Framework was common. December 20, 2019So what was so great about the Envoy Framework, a framework that was designed 28 years ago for a pre-Internet environment? You should read the whole article, but in short there were two user interaction aspects that I wanted
1. A user is able to disconnect from their session and return at a another time and continue where they left off.
2. A user is notified when requested work has been completed or can continue using their immediately appropriate notification mechanism.
In the HealthSource RI situation I was signing up for 2020 benefits. There is a short window of time to make these benefit decisions and there are many people making them. These circumstances put a strain on an implementation not designed to scale. Even an implemented designed for the cloud will be handicapped when there are choke points. That is, one or more resources that every request needs to interactive with. There are a number of technical solutions to these, but there are also user interaction solutions also. The easiest solution is to ask the user to come back later to complete the work.
On the surface interrupting the user seems the wrong action to take. The person is here and now and so the system should use this opportunity to complete the task. The rub comes when the system slows down and the task is taking longer than the person has time to give here and now. It is better to let the user leave and notify them when the system is ready to continue. When the user returns the system reestablishes the user's context, ie it brings them back up to speed, so as to not unduly prolong the time to completion.
If I were designing HealthSource RI I would make interactions interruptible. Long tasks are broken down into short tasks, each of which can be completed with limited (near zero) interaction with the system. Each time the user returns to work further on the long task they are presented with a plain summary of what has been accomplished and what is left to accomplish. This summary can be written or visual. When a long task is interrupted the user will be contacted, repeatedly if necessary, to return and complete the task. For time critical tasks the contact mechanisms may need to escalate; a person might need to actually phone the user and compete the task over the phone.
People are used to completing tasks stepwise in the physical world. Why not make enabling that a norm in the virtual world too?
The end is nigh for NetBeans and Java GUIs
I recently updated my Mac to Mojave -- yea, just days before Catalina was released! I did this for a few reasons, but mostly I was unsure if JDK 11 would work on the macOS I was running and I needed JDK 11 for some consulting work. Since updating to Mojave I have found both NetBeans 8.2 (using JDK 8) and Apache NetBeans 11.1 (using OpenJDK 11) to be unstable. They don't freeze, but parts of the interface just stop working after a few hours of use. Mouse clicking fails in some places. Some keyboard commands fail. Typed input fails. The only solution is to restart NetBeans. This is not a good nor long term development environment tactic.
I have been worried for some time that Java on the Mac is at an end. Apple abandoned Java back in 2017. I didn't expect Oracle or anyone else to really put much effort into keeping the Java GUI toolkits current with macOS changes. I don't even expect Java GUIs to remain for much longer, either. JavaFX was dropped in JDK 11. I am sure Swing would have gone too if it were not for some very important customers that are still dependent on it, for example, the US military and especially the Navy.
I have similar observations about NetBeans. NetBeans always seemed like Oracle's unwanted stepchild from the Sun acquisition. Updates were infrequent and with little innovation. Oracle has now passed it on to Apache, but how much attention is it going to get there? There are commercial applications that are built on top of the NetBeans platform and so some support will come from them, but it would be foolish for these commercial applications to remain desktop bound for too much longer. Even Eclipse, the quintessential Java tool for building Java tools, has moved its focus from being a desktop application to being a web application.
It is finally time to move off of NetBeans and to move off of any Java GUI application. I say this with a heavy heart as I have enjoyed and benefited from both over very many years. RIP.
Aside: If you are interested in large scale, pluggable, user interface design then do read everything you can about the NetBeans platform. It is remarkably well designed.
I have been worried for some time that Java on the Mac is at an end. Apple abandoned Java back in 2017. I didn't expect Oracle or anyone else to really put much effort into keeping the Java GUI toolkits current with macOS changes. I don't even expect Java GUIs to remain for much longer, either. JavaFX was dropped in JDK 11. I am sure Swing would have gone too if it were not for some very important customers that are still dependent on it, for example, the US military and especially the Navy.
I have similar observations about NetBeans. NetBeans always seemed like Oracle's unwanted stepchild from the Sun acquisition. Updates were infrequent and with little innovation. Oracle has now passed it on to Apache, but how much attention is it going to get there? There are commercial applications that are built on top of the NetBeans platform and so some support will come from them, but it would be foolish for these commercial applications to remain desktop bound for too much longer. Even Eclipse, the quintessential Java tool for building Java tools, has moved its focus from being a desktop application to being a web application.
It is finally time to move off of NetBeans and to move off of any Java GUI application. I say this with a heavy heart as I have enjoyed and benefited from both over very many years. RIP.
Aside: If you are interested in large scale, pluggable, user interface design then do read everything you can about the NetBeans platform. It is remarkably well designed.
healthyrhode.ri.gov and the worst online and telephone process
That Rhode Islanders have Health Source RI is great. Unfortunately, healthsourceri.com leads you to healthyrhode.ri.gov and this is by far the worst online and telephone process I have ever had to go through to get any kind of service. That the end result is a family's healthcare coverage means the stakes are really high for every customer interacting with the service. It better be rock solid and crystal clear to both the customer and the support representatives. As long as governments continue to select service designers the same way they select pickup trucks or any other interchangeable commodity we will continue to get crap.
Update: Coincidentally there was a useful Twitter thread about this same topic.
Update: Coincidentally there was a useful Twitter thread about this same topic.
Gists, Terraform, horizon charts, and PDF thumbnails, but not all at the same time
I was working my way through the Terraform Two-Tier example and after finding omissions I wrote down the missing parts and posted them to a GitHub gist. I used a gist as, I think, search engines will likely rank this higher than a posting here in my blog and so is better for folks looking for help.
I don't use GitHub gists much, but, apparently, I have been using them them for a long time -- 11 years! I had forgotten about some of the work I had done and dropped into gists. The horizon chart gist was part of my Horizon Chart blog post. I don't seemed to have posted anything about PDF Thumbnailer, however.
I originally created PDF Thumbnailer as part of a larger project to enable public commentary on South Kingstown, RI's budget. (SK is my home town.) When this project started in 2007 there were no available online tools for multiple users commenting on a PDF. So I needed to build one. The web interface consisted of just two principle pages, an overview page containing thumbnails of the whole budget with comment indicators laid over the thumbnails, and a details page of the whole budget and commentary interleaved.
To interleave the comments I needed to place them between the text, charts, and tables of the budget document. Parsing and rebuilding the PDF or converting it to HTML and rending it in the browsers of the time was more work than I could commit too. Instead, I compromised on the spacial proximity of a comment and its context. I converted the PDF pages to images and sliced each image into 1" tall strips. I could then interleave strips and comments on the details page as needed. While a comment was not attached to the context it was close enough to establish the connection.
In these sketches the pages are bounded in red, the strips in blue, and the comments in purple.
The project was never completed, but it did leave behind the thumbnail creator. I rebuilt it this morning and here are a few example pages from Rescue.org's recent report Missing Persons: Refugees Left Out and Left Behind in the SDGs
I don't use GitHub gists much, but, apparently, I have been using them them for a long time -- 11 years! I had forgotten about some of the work I had done and dropped into gists. The horizon chart gist was part of my Horizon Chart blog post. I don't seemed to have posted anything about PDF Thumbnailer, however.
I originally created PDF Thumbnailer as part of a larger project to enable public commentary on South Kingstown, RI's budget. (SK is my home town.) When this project started in 2007 there were no available online tools for multiple users commenting on a PDF. So I needed to build one. The web interface consisted of just two principle pages, an overview page containing thumbnails of the whole budget with comment indicators laid over the thumbnails, and a details page of the whole budget and commentary interleaved.
To interleave the comments I needed to place them between the text, charts, and tables of the budget document. Parsing and rebuilding the PDF or converting it to HTML and rending it in the browsers of the time was more work than I could commit too. Instead, I compromised on the spacial proximity of a comment and its context. I converted the PDF pages to images and sliced each image into 1" tall strips. I could then interleave strips and comments on the details page as needed. While a comment was not attached to the context it was close enough to establish the connection.
In these sketches the pages are bounded in red, the strips in blue, and the comments in purple.
The project was never completed, but it did leave behind the thumbnail creator. I rebuilt it this morning and here are a few example pages from Rescue.org's recent report Missing Persons: Refugees Left Out and Left Behind in the SDGs
We are all a seafaring people

Maps might not be the territory, they often define a world view. This Spilhaus Projection drawn by Clara Dealberto is a stunning example of such a map. We are all a seafaring people.
Grumble about Google Calendar display of vacations
Does anyone else hate the new Google Calendar display of vacations? I only want one weekday column highlighted and that is today. Not P's vacation day on Friday. Not M's midweek vacation next week. G's all-day event block at the top of Friday's column is fine; even better is T's multi-day vacation line at the top of the day columns. Really, Google Calendar UI design team, what were you thinking!?
Gaming with Alexa
I am an armchair tabletop wargame and broadgame geek. I say armchair as I mostly seem to read and speculate about games far more than I play them. In part this is due to available opponents and in part to simply not making the time. Nevertheless, I persist.
When my children were very young I noticed that they would spend long periods of time studying the details of intricate pictures. This was their "dinosaur period" and so it was mostly illustrations of Jurassic flora and fauna. I had the notion of a game set on a large rug sized illustration they could scamper around on. The rug was pressure sensitive so the children's location was known. The rug would speak and listen. The children would respond to its directions either alone or in small groups. They could be the hunters, the hunted, the treasure seekers, the jungle veterinarians, etc.
The game remained speculative, but the ideas of location aware game boards, audio interaction, and physical game pieces has continued to interest me. I explored using old school pen digitizers, old school touch screens that used infrared interference for locating, magnets and mechanical switches, RFID, image pattern recognition with and without QR-codes or colored dot markers, etc.
Gaming in wild came under scrutiny. How would LARPing or scavenger hunts change with augmented reality? What about audio only games? What would a naval or starship strategy game require from a driver stuck in commuter traffic? How much of the map or simple orientation could the player keep in their head? Clearly, these would not be realtime games or there would be high likelihood of distracting the driver into actual vehicular combat.
When Amazon's Alexa was introduced I read the SDK documentation with excitement. Amazon had done the hard work of creating a conversational model for audio interaction. I think a small, jet fighter combat oriented over the driver's car roof is a game well within the skills of even a moderately skill programmer. Now to make the time.
So, how little data are too few?
Don't use percentages when the data you have are too few. If you have 3 data points then saying "%67 of reviewers gave it 5 stars" is both accurate and misleading. It is better to say "2 out of 3 reviewers give it 5 stars." Doing this assists the reader's intuitive grasp of the usefulness of the rating. When I was following the local school district's quantitative heavy presentations it was obvious when they chose to use percentages and when they chose to use counts in order to give a positive depiction of bad news. Don't cause your reader to doubt your trustworthiness.So, how little data are too few? I would say anything less than 100 data points.
Graphviz online
I like Graphviz for quickly creating network graphs. Xin Huang compiled the code to JS and created this useful online editor. https://github.com/dreampuf/GraphvizOnline
Two kinds of noise
I started to read Twitter again. The user experience sucks. Twitter is mostly for information delivery. Let's look at a page of contents as presented and as is actually present:
Three tweets in 100 square inches of screen space. (Large editorial photos and illustrations do not count as content.)
Three tweets in 100 square inches of screen space. (Large editorial photos and illustrations do not count as content.)
Which did you read first?
I swear that no one reads email anymore. Anything after the first sentence, nay the first line, is never read. Perhaps I should only communicate via bullet points.
- I swear that no one reads email anymore.
- Anything after the first sentence, nay the first line, is never read.
- Perhaps I should only communicate via bullet points.
Grumble about messaging conversation indistinguishability
Why, why! oh mighty God, do Slack, Skype, Messenger, iMessage, and every other messaging application not make any visual distinction between two or more conversations? Squint at the screen and you will see that every conversation looks identical -- even across messaging applications! How many times have you and I and, most likely, the developers of these applications sent a message to the wrong conversation? Lots. Please, oh pretty please, allow me to at least change the background color of conversations.
PDFs, comments, and Dropbox
I love commenting on long-form documents. If the author put the necessary work into creating a cogent examination of a topic then I am going to put in the effort to understand it. And I do that by making comments. Some are questions. Some are observations. Some are petty, especially the typographic ones.
When you like commenting you want to have the space needed to comment. I seem to recall that I once forced an author to use double line spacing and an extra wide right margin so that I had room to write. That was great. When Microsoft Word added the comment bubble user-interface I did not think my commenting life could be better. I was wrong. Online collaborative commenting is even better.
Most of my documents are written using Google Docs. Docs has weak formatting and content structuring tools, but it does have great commenting (and version control). I am willing to lose a little structure and style for that. Not all documents come my way via Google Docs, unfortunately. Most of them use Adobe's PDF as authors want structure and style over commenting. Especially, it seems, those working in elementary and secondary education. Sigh.
Today I wanted to read and share my comments on RIDE's "Creating a Shared Understanding of Personalized Learning for Rhode Island," a PDF document. So I looked around the web for tools. There are a fair number, but I was happy to find that Dropbox allows for online collaborative commenting of PDFs. Just add the document to Dropbox and share it. Anyone viewing the document sees the comments and anyone wanting to add comments need only login with Dropbox or Google credentials.
Another online problem solved.
When you like commenting you want to have the space needed to comment. I seem to recall that I once forced an author to use double line spacing and an extra wide right margin so that I had room to write. That was great. When Microsoft Word added the comment bubble user-interface I did not think my commenting life could be better. I was wrong. Online collaborative commenting is even better.
Most of my documents are written using Google Docs. Docs has weak formatting and content structuring tools, but it does have great commenting (and version control). I am willing to lose a little structure and style for that. Not all documents come my way via Google Docs, unfortunately. Most of them use Adobe's PDF as authors want structure and style over commenting. Especially, it seems, those working in elementary and secondary education. Sigh.
Today I wanted to read and share my comments on RIDE's "Creating a Shared Understanding of Personalized Learning for Rhode Island," a PDF document. So I looked around the web for tools. There are a fair number, but I was happy to find that Dropbox allows for online collaborative commenting of PDFs. Just add the document to Dropbox and share it. Anyone viewing the document sees the comments and anyone wanting to add comments need only login with Dropbox or Google credentials.
Another online problem solved.
Primary and Secondary Tools
Earlier today I was in a UX design meeting and I used the terms "Secondary Tool" and "Primary Tool." (Application and tool are interchangeable terms.) Understanding the difference between these two is very important as their UX needs to be very different. Most application teams think that they are building a primary tool when, I am sorry to inform them, they are not. Very few teams work on primary tools. So what is the difference? I hope the following helps explain this.
Primary Application/Tool
A primary tool is one that the user uses daily. It is one where the user will have many sessions within a short period of time -- a few weeks. This rapid experience of having successes and recovering from failures builds the user's confidence in the his or her ability to use the tool. Moreover, this confidence encourages the user to explore the tool for better means to perform tasks and opportunities to use the tool for unforeseen outcomes. This confidence brings with it the need for far less feedback that an operation has been completed successfully and instead feedback can be limited to erroneous results.
Secondary Application/Tool
A secondary tool is one that is not a primary tool. It is used infrequently -- less than once per week. This infrequency disposes the user to having to relearn the tool's operation at the start of a session. Only the most rudimentary operational knowledge is retained between sessions. The user is most successful when he or she is guided in performing a task from its beginning to its ending. Redundant orientation information such as task milestone displays, activity histories, and possible future work, etc are displayed beside the specific task step at hand. Feedback for success and for failure is always provided.
Primary Application/Tool
A primary tool is one that the user uses daily. It is one where the user will have many sessions within a short period of time -- a few weeks. This rapid experience of having successes and recovering from failures builds the user's confidence in the his or her ability to use the tool. Moreover, this confidence encourages the user to explore the tool for better means to perform tasks and opportunities to use the tool for unforeseen outcomes. This confidence brings with it the need for far less feedback that an operation has been completed successfully and instead feedback can be limited to erroneous results.
Secondary Application/Tool
A secondary tool is one that is not a primary tool. It is used infrequently -- less than once per week. This infrequency disposes the user to having to relearn the tool's operation at the start of a session. Only the most rudimentary operational knowledge is retained between sessions. The user is most successful when he or she is guided in performing a task from its beginning to its ending. Redundant orientation information such as task milestone displays, activity histories, and possible future work, etc are displayed beside the specific task step at hand. Feedback for success and for failure is always provided.
Keiichi Matsuda's Hyper-Realty
Keiichi Matsuda has updated his 2010 haunting vision of an augmented reality with his new Hyper-Realty. Worth watching and, be advised, it is a horrible place.
Meeting room geek lights
I have been giving more thought to the meeting room occupancy display. Right now I am considering what would be a minimal presentation. There are 2 reasons for this. The first is that the problem is not about showing details of who has reserved the room, but, instead, is the room free for squatting and, if so, for how long? The second problem is a technical one and that is the display device should run for weeks on a single battery charge. (I am assuming no mains electricity.)
So here is the new display.
⬤⬤⬤⬤⬤⬤⬤⬤⬤⬤⬤⬤
Each light, red and green, represents 10 minutes of time. The display shows a total of 2 hours of time. The above display indicates that the room is reserved for another 40 minutes, free for the following 60 minutes. and then occupied for at least 20 minutes -- it could be more, but the display can't indicate for how much more.
⬤⬤⬤⬤⬤⬤⬤⬤⬤⬤⬤⬤
Here the room is free for another 20 minutes, then reserved for 30 minutes, and the free again for at last 70 minutes.
Update 2025-03-17: The Japanese stationery manufacturer King Jim has created a similar product, the Visual Time Bar (VBT10). When I wrote the original post I had not considered the cultural situation of reading the display from left-to-right or right-to-left. The VBT10 is read right-to-left.
Its handheld not handsheld, people.
Finally, a sane design for a handheld device! The Kindle Oasis. Hopefully it rotates for lefties and for righties when writing notes on paper.
Staples and large format prints
A reminder that Staples prints large format (eg 36"×48"), black and white, engineering drawings at a very reasonable cost. They is currently having a sale on printing 24"×36" engineering drawings for $3.59. So, the next time you want a map of your dungeon crawl, space combat, 40K coloring poster, or you have the need to Feel the Bern (source) get it printed at Staples Copy & Print.
Subscribe to:
Posts (Atom)


