• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar

Dion Almaer

Software, Development, Products

  • @dalmaer
  • LinkedIn
  • Medium
  • RSS
  • Show Search
Hide Search

UX

Wife Swap? Role Swap!

November 19, 2015 Leave a Comment


In the world of management your job is partially to build the team that builds the things. As an engineering manager, I sometimes find myself thinking:

“Man, dealing with computers…. so nice. So rational.”

People are complex and predictably irrational. Fortunately, I actually like people and find the challenge of helping teams a rewarding one, even if there are some days that I come home quite pensive.

While asleep my brain is off trying to find patterns, and this act leads to connections such as comparing how teams are related to each other and their behavior and how families are structured.

When it comes to these, and peer-to-peer dynamics, one root cause is often a lack of empathy and a slew of assumptions that your brain has created in order to try to understand the complex world around it. This leads me to think “man, if they could walk in each others shoes for a day….” from time to time, and I wonder why we don’t do more to make that happen?

Some companies do a good job of having shadowing programs, moving people around so culture and knowledge can be shared, and experience can be gained. It also happens organically, as people naturally move about. But would it make sense to do this much more regularly?

I have seen the need in a few situations:

Understanding another role

It isn’t always easy to understand the trials and tribulations of someone in a very different field, or in a different role. It is easy for us to think that what we do is hard and complex (as we know about the complexities) whereas their work seems easy (as we see the output vs. the toil and training that went into it).

This also can become an issue if there are roles where people feel like more input is directed at them, and they can’t give the same level of input back. My typical example here is the engineer and the designer. A designer on my team once complained that it wasn’t fair that the engineer was giving so much feedback on their wires. They felt like they were the expert and that “I can’t do a code review and give feedback there!” That was the real issue, the perceived asymmetry. Since we are all users of computing platforms, many of us feel like we have opinions on the UX of a product that we are building. That doesn’t mean that we have the same level of deep understanding of a UX expert though, which is why they are responsible for the experience. That responsibility does NOT mean their job is to come up with all the ideas though, which is why a good UXer will listen to all and look for good things they have missed.

Also, although you may not be capable of a code review, you can review the engineering. You can look for crashes, UX bugs, jank, etc. That is very much in scope, so in reality you can have a lot of feedback back to engineering.

Understanding another team

The same notion of “I understand the complexity and only see your output” also kicks in with teams. From the outside it is easy to think that another team is under performing based on your assumptions. This doesn’t mean that they are NOT under performing of course, and it may be that this is a team that you know well, and have a deep understanding of their domain, but it isn’t always the case.

This can often happen between the “business” and “product development” worlds. The business naturally wants features and functionality and often tends to wonder why its so hard to get those screens up and running! They can also easily run into “I saw them do screen A in a day, so why is screen B taking a month!” when the complexity differences are huge. If the misunderstanding is this far off though, then the product development team isn’t doing a good enough job at explaining what they are doing 🙂

Understanding at another level in the chain

The pointy hair boss. What a moron. He has the easy job at the top! Why doesn’t he always do thinks that I want him to do? Our strategy is dumb and “if I was in charge….”. I admit to meeting plenty of pointy haired bosses, but it turns out that it isn’t as fun up there as you imagine it is. They have to manage multiple teams with complex priorities and unclear answers.

You know your area of the org deeply, but take a minute to think about what is going on in the other parts of the org, or in other parts of the company. Do you understand the strategy? Do you think you have a good handle on the context? If not you should get it from management, and it is poor form if they haven’t pushed it down to you. You can’t be expected to make the best decisions if you don’t have the context.

It is for these reasons that I think it is wise to think about how to keep organizations a little more dynamic. Change is constant these days more than ever so why not embrace it and think about how to use it to dispel some tension and gain shared understanding?

Why I am bloody excited about “Right Click” getting to iOS

September 15, 2015 Leave a Comment


There was a fair amount of snark over 3D Touch:

“Really? bringing the right click menu to iOS? Isn’t that a failure Apple?”

I remember all of the huff and bother when Apple brought the two button mouse to their computer platform. People lined up to watch them eat crow over that one:

“See! See! You said that one mouse button was all you need!”

Sound familiar to the Apple Pencil?


I came from the Sun UNIX work stations where I got to use a three button optical mouse, and using one button felt like I had one hand tied behind my back!

I understand that simplicity has beauty, and that it is fantastic to see people develop truly usable input devices. I am excited about the new Apple TV remote because it finally catches up to the Xfinity X1 remote in that it supports voice (I can’t believe Apple is catching up to Comcast??? ;)

My five year old can pick up the remote, hit a button, and ask for Paw Patrol. Having to go through TV menus? A world of frustration for him. Apple is touting how apps are “ the future of television” but many of us just want to get to our content. I don’t want to remember which “app” houses a particular show, just like how I don’t want to remember which station it is on. I am curious to see what type of app-y experiences and great games come to the platform, but if I just want to sit down and consume some content I just want a quick way to get to it.

I definitely don’t want:

“Oh, for Big Bang Theory I can download an app, but for Paw Patrol I need to get the Nickelodeon app”.

Voice can be a very elegant way to cut through all of the menus and apps on your devices. It is the quickest path to get to what you really want to do. I can’t wait for a future where I can say:

  • “Hey Siri, I want to add a photo to Facebook”
  • “Hey Siri, I want to take a selfie”
  • “Hey Siri, I want to message Ben on Facebook”
  • “Hey Siri, I want to watch the most recent Modern Family”
  • “Hey Siri, I want to watch the Joe Biden interview with Colbert”
  • “Hey Siri, I want to study with Recall”

To accomplish this we need to make sure that our apps and services are able to tell the platform what they could make available.

Spring right in from the SpringBoard

There are other times where you want to jump right to a particular action. The home screen on the iPhone has been kept very simple. God forbid you would want to have some empty space in the middle of a screen, or easily find where something is. There has been so much talk of how mobile apps need to be single use case and simple, that some designers poo poo the notion of launching the app to a particular area. In that case, have another app! Er, another app to deep link and take up more screen real estate?

That is an anti-pattern. I have worked on some applications that have various use cases, and there are appropriate times to split out the functionality into its own app. For some of the time you may want to do a Facebook Messenger, and have a separate app, but have another app have knowledge of it and cross launch nicely. It all depends on your situation and how your users use your service. Whenever I have thought “man I want a separate app, just because there are competing use cases for using the app, and I want to go directly into one of them often enough that it warrants its own launcher” I knew I was doing the wrong thing. But haven’t we all been there? It is frustrating to launch an application when you want to do the secondary action. Ideally this action is a second tap away, but it may be further.

Add vs. Consume. Read vs. Write

This is why I am excited about the 3D touch feature on the homescreen that lets me go exactly where I want to from that icon. It only allows me to get to somewhat simple sections (vs. get directly to the end of a search such as the Joe Biden example above) but this is still gold. There will be some common patterns that will form. One that I clearly see is the notion of adding something vs. consuming it.

I add something to Asana at least as often as I want to see my list. Let me add directly and be on my way. Let me go directly to different workspaces so I don’t have to load up the last one I was on before heading off in another direction.

The Long Press

I hope that Apple adds this for all of the folk who don’t upgrade to devices that support 3D Touch. Why can’t we change the long press on a home screen icon to not just put the entire screen in the wiggly rearrange mode? We can instead use the same drop down right click menu effect but also have rearrange as an option.

I understand that we don’t have to put long press actions all over the shop, but it drives me nuts when I get into a situation where I would buy a beer for an engineer to sneak it in.

Here’s an example:

I want to long press to delete Google Calendar!

Whoops. I have two entries for Orange Theory. I would really love to be able to long tap on the first one, and have an action to delete it. But no, instead I have to go into the entry, find the edit circle icon, and then hit delete at the bottom.

God forbid I have to do a bunch of deletions, as then I get into the slow UI hell of jumping from master to detail again and again. Let me swipe the item off the stack, or just let me long tap.

Power User Features FTW

Much of the functionality that will be added thanks to 3D Touch will be power user features. This doesn’t mean that the designers did a poor job, and the UI should have been so intuitive that these features were needed. We use our phones all day long, and if we can shave off some time so we can get right to what we wanted to accomplish, that is fantastic.

We have all watched someone go through a million menus on a laptop when we knew a shortcut key that would get us right there. The easy path for the newbie may not be the same as the path that the advanced user has put to memory.

I try to hide as many power user features as possible. These are often the magical features for the advanced user. I have had many a time when I open up a Settings dialog and get giddy at that one cool option the developer put in there for me. I may be the 0.1% of users that even goes into that Settings dialog, but man it made me happy and more productive. Giving the user the gift of time is worth so much, and it shows you care.

So, I can’t wait for more power user features, and to be able to do some advanced tapping action along with the ability to use my voice to get to the task at hand.

Have you ever wished to be able to long tap for an action that you use all the time?

The Increase in Gardening with Mobile

August 31, 2015 Leave a Comment


I do a lot of gardening these days. I am not talking about the physical kind (I am not as cool as Joe Hewitt!), although I do find myself wondering why we have so many lawns instead of veggie gardens.

The type of gardening that I do is splitting up flows as I use online services, mainly because of my heavy use of mobile. I think that many of the services that I use could benefit from thinking about to let users deal with their own gardening.

Quick Input

When I get a thought (a note, or a task to do) I try to capture it immediately. I may be at my computer, but I will definitely have my phone in my pocket. I fire up Asana and tap to add [+].

ASIDE: I have a love / hate relationship with Asana. I love how I have been able to contort it to be a personal database vs. the “team productivity” tool that it has become. I dislike various parts of the experience though. The relevant frustration here is that it doesn’t work well offline. This means that I have to use an alternative workflow when connectivity is poor, which results in me: a) inputting into a local note named “Add To Asana”, and b) when online again move the info into Asana. This is an act of gardening itself!

A bit of Asana’s “add” modal

If I have time I make sure to put in as much information as possible. I fix typos. I make sure the data is in the right project. I tag the content appropriately. I attach images. Chances are though that I don’t have time to flush things out to my liking, and then the name of the game is to get the minimal info into a task. This thought could happen at any time, which may mean using voice input hands free.

Once the core information is captured I send it up as a “task for me”. This is my garden in Asana, the garden of new tasks. The benefit of getting something down on paper, is that my mind is free to move on. It also means that I got the information out of my head into my system without forgetting it.

More applications should not only have a trivially fast way to get input into their system, they should understand the need for partial incomplete information.

The Gardening

At a later time I do the act of gardening. I will go through the weeds that are the new tasks, flush them out and file them. I wish weeds didn’t grow, but rather than ignoring that they do, I have a process to deal with them.

I often hoe the garden on a mobile device, but when at my desktop I can get the power tools out. This is a somewhat obvious but interesting to think through in your applications. How does your mobile application help garden? How can your desktop application (including your website) do even more?

The Reaping

The third stage is often the actual reaping. This is where you do work that uses the data that you input. It could be that the input stage is enough (e.g. you sent the email) but generally there is more work to be done.

One example at the top of my mind these days is my spaced repetition learning system. Here are the stages:

Capture

Ah! I should remember this. You are having a conversation where something comes up. You don’t want to wander off to get all of the data into the learning system perfectly, so you through in “remember Bob loves cherry pie” into the garden.

Organize

When it is time to garden you go through and create the appropriate questions and answers for the knowledge about Bob.

  • “What type of desert does Bob love?”
  • “Who loves cherry pie?”
  • “What should I bake Bob for his birthday?”

You notice there are multiple questions pointing to this one piece of knowledge. I have found that this drastically improves my ability to learn. More connections for the brain.

I tag this knowledge with $Bob, #pie, #birthday, #food and place it in the “People” knowledge collection. Since I am on my desktop application I grab a photo of Bob and cherry pie to add visual connections to the mix, adding to the neural connections. Who knows, maybe I will dance on my left leg to add some movement connections too!

Study

I have time set aside every day for the actual act of studying my content.

Setting Aside Distinct Times For Stages

I have found it very useful to split up the type of work into separate time periods. I used to set aside time to look through Twitter and various technical content. I would find that I would quickly go down a rabbit hole and the time would get sucked up with whatever that rabbit hole provided.

Now I have time to capture content, which involves me going through Nuzzel, Medium, Twitter, TechMeme, and friends… adding anything interesting to Pocket. At a later time I have time to actually read content. At that point I can pick the content that looks the most important to me, and I end up spending time in better rabbit holes 🙂

Some kudos to Pocket. I love how they execute, and they just updated their application to suggest content, so I have another good source of great information. If I peak at my Pocket queue now I am reminded that there truly isn’t enough time in the day :/


Getting Things Done

Wait a minute, when I look at having my applications consider various stages and context for their user experience the above looks a little like GTD:

  • Capture what has our attention
  • Clarify what each item means and what to do about it
  • Organize the results
  • Reflect on them
  • Engage with those.

When looking through UX wireframes it is easy to fall into the false mindset that the user is always linearly going through steps in a process flow from start to finish. “Ok, first they will create a new item, then they will fill out all of the information, then they will move it to the next step, etc etc etc”.

In reality the linear flow may be anything but. Information may come in asynchronously, via multiple platforms, from multiple people, and with many constraints (e.g. “the user has something on his mind, has people around her, but wants to get this infomation into the garden for later processing as quickly as possible”).

Another good example of where a “garden” area would help me with Asana is when you have multiple workspaces or organizations. As soon as this decisions is made your ability to quickly input something into the system is compromized. I can’t use the “tasks for me” hack, as I have to first make sure I am in the correct workspace. The net result is that I find myself putting raw info into the wrong workspace all the time.

Does your application support a gardening approach? Are there flows where enabling this will be helpful for your users?

« Previous Page
Next Page »

Primary Sidebar

Twitter

My Tweets

Recent Posts

  • Stitching with the new Jules API
  • Pools of Extraction: How I Hack on Software Projects with LLMs
  • Stitch Design Variants: A Picture Really Is Worth a Thousand Words?
  • Stitch Prompt: A CLI for Design Variety
  • Stitch: A Tasteful Idea

Follow

  • LinkedIn
  • Medium
  • RSS
  • Twitter

Tags

3d Touch 2016 Active Recall Adaptive Design Agile AI Native Dev AI Software Design AI Software Development Amazon Echo Android Android Development Apple Application Apps Artificial Intelligence Autocorrect blog Bots Brain Calendar Career Advice Cloud Computing Coding Cognitive Bias Commerce Communication Companies Conference Consciousness Cooking Cricket Cross Platform Deadline Delivery Design Design Systems Desktop Developer Advocacy Developer Experience Developer Platform Developer Productivity Developer Relations Developers Developer Tools Development Distributed Teams Documentation DX Ecosystem Education Energy Engineering Engineering Mangement Entrepreneurship Exercise Eyes Family Fitness Football Founders Future GenAI Gender Equality Google Google Developer Google IO Google Labs Habits Health Hill Climbing HR Integrations JavaScript Jobs Jquery Jules Kids Stories Kotlin Language LASIK Leadership Learning LLMs Lottery Machine Learning Management Messaging Metrics Micro Learning Microservices Microsoft Mobile Mobile App Development Mobile Apps Mobile Web Moving On NPM Open Source Organization Organization Design Pair Programming Paren Parenting Path Performance Platform Platform Thinking Politics Product Design Product Development Productivity Product Management Product Metrics Programming Progress Progressive Enhancement Progressive Web App Project Management Psychology Push Notifications pwa QA Rails React Reactive Remix Remote Working Resilience Ruby on Rails Screentime Self Improvement Service Worker Sharing Economy Shipping Shopify Short Story Silicon Valley Slack Soccer Software Software Development Spaced Repetition Speaking Startup Steve Jobs Stitch Study Teaching Team Building Tech Tech Ecosystems Technical Writing Technology Tools Transportation TV Series Twitter Typescript Uber UI Unknown User Experience User Testing UX vitals Voice Walmart Web Web Components Web Development Web Extensions Web Frameworks Web Performance Web Platform WWDC Yarn

Subscribe via Email

Enter your email address to subscribe to this blog and receive notifications of new posts by email.

Archives

  • October 2025
  • September 2025
  • August 2025
  • January 2025
  • December 2024
  • November 2024
  • September 2024
  • May 2024
  • April 2024
  • December 2023
  • October 2023
  • August 2023
  • June 2023
  • May 2023
  • March 2023
  • February 2023
  • January 2023
  • September 2022
  • June 2022
  • May 2022
  • April 2022
  • March 2022
  • February 2022
  • November 2021
  • August 2021
  • July 2021
  • February 2021
  • January 2021
  • May 2020
  • April 2020
  • October 2019
  • August 2019
  • July 2019
  • June 2019
  • April 2019
  • March 2019
  • January 2019
  • October 2018
  • August 2018
  • July 2018
  • May 2018
  • February 2018
  • December 2017
  • November 2017
  • September 2017
  • August 2017
  • July 2017
  • May 2017
  • April 2017
  • March 2017
  • February 2017
  • January 2017
  • December 2016
  • November 2016
  • October 2016
  • September 2016
  • August 2016
  • July 2016
  • June 2016
  • May 2016
  • April 2016
  • March 2016
  • February 2016
  • January 2016
  • December 2015
  • November 2015
  • October 2015
  • September 2015
  • August 2015
  • July 2015
  • June 2015
  • May 2015
  • April 2015
  • March 2015
  • February 2015
  • January 2015
  • December 2014
  • November 2014
  • October 2014
  • September 2014
  • August 2014
  • July 2014
  • June 2014
  • May 2014
  • April 2014
  • March 2014
  • February 2014
  • December 2013
  • November 2013
  • October 2013
  • September 2013
  • August 2013
  • July 2013
  • June 2013
  • May 2013
  • April 2013
  • March 2013
  • February 2013
  • December 2012
  • November 2012
  • October 2012
  • September 2012
  • August 2012

Search

Subscribe

RSS feed RSS - Posts

The right thing to do, is the right thing to do.

The right thing to do, is the right thing to do.

Dion Almaer

Copyright © 2026 · Log in

 

Loading Comments...