Five days ago, on a train traveling home for Christmas, I was thinking about my personal highlights of 2019. While a lot of good things happened in the past 12 months (and I’m not going to talk about private matters here), from a professional point of view, there’s a clear winner: Giving a talk about mixed reality at the ACM Conference on Human Factors in Computing Systems (a.k.a. CHI) in Glasgow.
The talk was based on research I conducted together with friends from the University of Michigan (where I was a post-doc from 2017‒18), Michael Nebeling and Brian Hall. We had noticed that a lot of people we talked to had differing and partly competing understandings of what mixed reality (or MR) is. For instance, some relied on the original definition by Milgram and Kishino from 1994, which defines MR as a continuum (see below), while others adhered to a newer notion pushed by Microsoft, which also applies to experiences that are clearly VR.
Hence, we concluded that—even though it might seem the question What is Mixed Reality? should have a relatively simple answer—it would be worthwhile to discover and investigate all the different notions of mixed reality that are out there. And we were right, the situation wasn’t as easy as you’d think.
What did we find?
As we hypothesized, there is indeed not a single, “best” definition of mixed reality. Instead, we found six distinct and widely used working definitions:
MR according to Milgram et al.’s continuum (see above)
MR as a synonym for AR
MR as a type of collaboration (interaction between AR and VR users that are potentially physically separated)
MR as a combination of AR & VR (a system combining distinct AR and VR parts)
MR as an alignment of environments (e.g., synchronization between a physical and virtual environment)
MR as a “stronger” version of AR (e.g., HoloLens)
These can be classified based on a conceptual framework (some would call it a taxonomy) with seven dimensions:
number of environments
number of users
level of immersion (e.g., not immersive ‒ partly immersive ‒ fully immersive)
level of virtuality (e.g., not virtual ‒ partly virtual ‒ fully virtual)
degree of interaction (e.g., implicit ‒ explicit)
input (e.g., motion, location)
output (e.g., visual, audio)
I have also distilled our findings into an infographic:
How did we do it?
To discover the six working definitions as well as the seven dimensions of the conceptual framework, we conducted expert interviews that were augmented (clever wordplay, huh?) by an extensive literature review. First, we interviewed a total of ten experts working on augmented and/or virtual reality, from both, academia and industry (occupations ranged from professor to R&D executive to CEO of an AR company). These interviews yielded a preliminary set of four working definitions. Subsequently, we reviewed a total of 68 sources, mainly from the CHI, CHI PLAY, UIST, and ISMAR conferences from 2014‒18 (inclusive). These confirmed the four preliminary notions while we also discovered two more that were added to the set.
Ultimately, we derived the conceptual framework by identifying the minimum number of dimensions that still allowed us to classify all of the working definitions unambiguously.
Example: Pokémon GO
To give just one example (from our paper), let’s have a look at how Pokémon GO would fit into the conceptual framework. First of all, the viral game constitutes MR according to notion № 4: a combination of AR and VR in a single system.
It comprises oneenvironment since everything happens on the same device.
It can be played by oneuser on that device.
The level of immersion lies between not immersive and partly immersive.
The level of virtuality lies between partly virtual (the game’s AR view) and fully virtual (the game’s map view).
Interaction is implicit (the player moves in the real world, all explicit interaction happens via a HUD).
It uses the user’s geolocation as input and provides visual and auditory output.
Now, why is this important? Mixed reality is a trending topic. Many people are talking about it nowadays and the number of papers, research artifacts, hardware, and apps is steadily increasing. MR has the potential to become omnipresent in our everyday lives. Therefore, it is important to put one’s words into context. With our research, we hope to provide researchers, students, and professionals with a tool that lets them better communicate what they mean when talking about MR, and to reduce misunderstandings in a rapidly evolving field. We are also proud that our paper received an 🏅 Honorable Mention Award, which stresses the importance of the question at hand.
TL;DR:To get started with Scrum, grab one of the popular tools (e.g., Jira), implement all the Scrum artifacts and fill your gaps with some experienced people. It is not all too important to have the right task estimates, sprint lengths, etc. from the beginning or to follow the methodology dogmatically. The crucial part is to have a team that commits to the process, reflects critically, is eager to learn, and improves incrementally.
It took us a little while to get the second part of our series about agile development done, but Andreas and I had some pretty good reasons for it (or at least we hope so). While I moved back to Germany from the U.S. and started a new position as a UX Manager, Andreas is now not only the Head of Research at DATEV, but also started as a full professor of Web Engineering at Anhalt University of Applied Sciences.
But anyway, we somehow managed to also talk a little bit about Scrum. In this part of the series, we want to specifically focus on how to get started with it. There are many tutorials and introductions describing Scrum, such as Atlassian’s brief introduction to the topic. However, some questions that both Andreas and I have encountered over and over are often poorly addressed or not addressed at all. Let’s start at the very beginning:
Max:How do you get started with Scrum, i.e., when you want to implement it from scratch?
Andreas: When starting from scratch, in my opinion you should take one of the usual Scrum-supporting tool (like Jira, Meistertask, Sprintly, or Team Foundation Server) and begin by implementing the basic Scrum artifacts. That is, establishing the Scrum roles, establishing a backlog, the meetings (or “ceremonies”, in Jira’s words) etc. Based on my experience, it is important to follow the Scrum methodology at the beginning of the introductory phase closely, but not dogmatically. However, if the budget is available, then fill the gaps in your organization now (e.g., an experienced Scrum master). Additionally, I suggest to manifest the Scrum methodology explicitly by establishing a social contract in the team as a starting point of the transition process and to get the team members’ commitment. The social contract should cover the characteristics of the team, so that they know how to behave within the Scrum process, e.g., how to estimate task efforts (Scrum poker would be one possibility). Particularly, the Scrum master is responsible for permanently training the team and refocusing the process if required.
Max:I’ve experienced situations in which the Scrum master and the product owner were the same person. Do you think this is generally a bad idea?
Andreas: It is imperative that the two roles can be executed well with respect to an impact-driven product (the product owner’s responsibility) as well as an efficient process and a happy team (the Scrum master’s responsibilities). One has to be aware of the fact that often, these goals are competing, which requires a team setting where neither the product goals nor the team values and principles are sacrificed. Of course, it is hard to ensure a balance between these goals if the jobs are done by the same person. While it is the product owner’s job to get new features on the road as quickly as possible, the Scrum master has to defend the process and the scope of the sprint. However, similar problems might occur when appointing inexperienced people or one experienced and one less experienced person. My point here is that there are many situations in which an agile team might be influenced in a bad way, and not only because one person is in charge of the Scrum Master and product owner roles at the same time.
Hence, in my experience, the key to a successful agile team is a valid setting following agile principles. Appointing two experienced people capable of executing the roles as defined might be the perfect setting. Yet, one really experienced person doing the two jobs with some additional backup by the team can lead to success as well, but should not be a permanent situation.
Max:Once you’ve committed the team to the agile process, how do you determine the initial sprint length?
Andreas: For this, I suggest to first analyze the given goal. In many cases, Scrum is causing problems when the sprint length is not adjusted well. For instance, when new requirements are brought up in short iterations and thus break the sprint often, or because of a team not yet capable of applying the vertical slicing methodology properly, which often leads to unfinished sprints. Hence, start with a best guess, then observe the rough lenght of the cycles in which new requirements appear and adjust the sprint length accordingly.
Max:You’ve also mentioned task efforts before. Many teams seem to struggle in this regard. Do you have any suggestions for them?
Andreas: Very true! I’ve also observed that teams often struggle with defining some kind of useful estimation. I suggest starting with T-shirt sizes. Often, a best practice is that, together with the team, the Scrum master defines the minimum size as “S” (e.g., 1 day), then “M” (e.g., double of “S”), “L”, and “XL”. After some time and experience, the team will recognize that this approach might not be suitable for their complex tasks and look more into, e.g., Fibonacci-based story points and other more advanced complexity measures. From time to time, the Scrum master needs to carefully adjust, thus leading the team to a method which is appropriate, efficient, and—last but not least—accepted by the management. From this point of view, an objective suggestion might not be possible, since this is strongly dependent on the team setting and product situation. However, a common mistake is to have no agile-experienced person(s) in place. More than once, I observed teams failing to improve (in reasonable time spans) due to a missing experienced “guide” leading the team towards a productive setting.
Max:Following up on this, in which cases and under which circumstances would it be justifiable to work without task estimates?
Andreas: Well, there can, of course, be situations in which effort estimations are too difficult, inefficient, or simply frustrating the team. For instance, if no resource planning is possible due to external reasons, synchronization with many other teams is necessary, autonomy of teams is not ensured in general, or, particularly, transparency and trust are not established within the team or company, then it is a waste of time working on task estimates, since they will always fail. Hence, to ensure that the team is adopting the agile mindset, it is eligible to pause the estimation of tasks, in my opinion.
However, I strongly disagree with the sometimes expressed opinion that task estimates are not worthwile to work on or to improve, respectively. For an ambitious team, it is crucial to be self-aware regarding the impact of their work and the challenges (e.g., with respect to knowledge transfer) and to be able to justify particular tasks (see, for example, our discussion about technical goals in the first part of the interview).
Max:Getting back to the role of the Scrum master: Often, they are recruited from people who were not active in software development. What does a Scrum master who is (or was) not a software engineer themselves have to pay specific attention to?
Andreas: Well, again, this is a controversial issue. I think we can agree that software development is a very specific field driven by strong individual skills and team efforts. People with a background in software development mostly have experienced the specifics of this field, are prepared for upcoming situations, and simply speak the language of software engineers. Hence, they might be accepted easier by the team members, which is crucial for a Scrum master due to the lateral leadership relation in Scrum teams …
Max:… but this does not exclude people who were not active as software engineers?
Andreas: No, absolutely not! Actually, it is sometimes better to have a Scrum master who might team up with the product owner and help steer the process more towards product-related impact rather than focusing mostly on the technology, which happens, not always, but sometimes. However, with no background in software development one has to be really careful about common mistakes. For instance, with making statements about difficult tasks and assessing them as easy (or the other way around), the Scrum master might degrade himself in the eyes of the software engineers, who are usually very proud of their skills and their work.
Therefore, my tip for Scrum masters without a software development background, who plan to work with software engineers, is to observe a software development team for several sprints without taking a particular role and to learn the language, the specifics of the field and maybe even try to do do some tasks by themselves to experience the complexity of computing in general. This way, hopefully, the foundations can be laid for earning trust and being accepted as a valid contributor to the team goals.
Max:In comparison: What do Scrum masters who are software engineers themselves have to pay specific attention to?
Andreas: In my opinion, former software engineers have a particular advantage, if and only if, they embrace their role as a Scrum master and use their software development experience for tackling the challenges of their team. In many cases, I’ve experienced that a former software engineer had fewer problems of steering the process towards iterative delivery. However, the risk of micro-discussions is high, since software engineers often have a dedication for technical issues even if they are not responsible for implementing them themselves. But if—for example—retrospectives are wasted with technical discussions, the team will not evolve with respect to the process quality.
Hence, Scrum masters having worked as software engineers should really pay attention to the main characteristics of the Scrum master role: be focused on the agile mindset, improve the working environment, identify and clear obstacles, etc. Particularly, the relationship with the product owner needs to be carefully developed to establish the necessary positive atmosphere in the team. As product owners are often (unintentionally) considered as outsiders by the software engineers, it is very important to mediate this conflict by leaving some of the software engineering background behind.
Max:Is there a threshold in terms of the number of people below which applying Scrum doesn’t make sense?
Andreas: The creation of and working with Scrum artifacts requires some time. In my opinion, you need at least five people in a team, but if the Scrum master and product owner are exclusively assigned to one team, then more software engineers might be required, so that the delivery speed is high enough and the product owner and Scrum master are actually “utilized”. Additionally, it depends on the maturity of the team members and the company. Particularly, if the culture of the company is not following the agile principles, even proven scalable agile frameworks (like SAFe or LESS) have a high risk to fail. In such a non-agile environment I would suggest having a core team focusing on the demanded functionality and additional supporters at the intersection to other teams focusing on solving the obstacles.
In general, I would like to turn the question around: Do you need a Scrum process for, e.g., organizing just 3 software engineers efficiently? My pragmatic solution would be to ensure that they are working together using direct communication. If that doesn’t work, I suggest to temporarily hire an Agile coach and help them find a suitable way of collaborating—but without aiming directly towards a Scrum process.
Max:Can Scrum work without retrospective meetings? If yes, under which circumstances?
Andreas: A core principle of the agile methodology is to adapt and to improve. Retrospective meetings are the corresponding expression in Scrum language. Additionally, retrospectives, e.g., establish an official timespan for controlled experiments that might lead to improvements, and many more positive aspects. So, on the one hand, retrospective meetings are very useful—if not necessary—for successfully implementing Scrum. On the other hand, if there is a team in which the team members are trusting each other, are experimental, challenge each other during implementation, give permanent honest feedback, are transparent to outsiders, etc., then you don’t necessarily have to establish a retrospective meeting at the end of each sprint. In short: If the team is very mature and permanently working towards improvement, then the time span between retrospective meetings can be increased. Yet, skipping them altogether is not such a good idea, from my experience. There is always something that needs discussion and is difficult to resolve during daily work.
This concludes our deep-dive into the specifics of Scrum, in particular, the roles of the Scrum master and product owner, task estimates, and retrospectives. The key takeaway here is probably that it is not so important to adhere to a strictly predefined process. Instead, aiming for a positive environment—with a team and leaders that are able and willing to adapt and continuously strive for improvement—will lead to efficient and happy teams.
In the third and final part of our interview, we will have a closer look at agile methodologies in the context of start-ups and the future of agile development in general. Thank you for reading and stay tuned!
TL;DR:Two of the most popular agile methodologies are Scrum and Kanban. They mainly differ in the handling of prioritization (once per sprint vs. continuous) and deadlines (yes vs. no). Yet, independent of the approach, the key to success is to ensure focus and continuous delivery by: 1) creating small enough, manageable tasks, 2) prioritizing based on impact, and 3) finding a good trade-off between technical and business goals.
Many teams in software development and beyond are using agile processes to manage their tasks. However, working in an agile environment raises a variety of questions. Sometimes this is due to inexperienced team members, sometimes due to management deciding to use agile methods without having understood them.
Today, I have the pleasure to discuss agile development and two of the most popular agile methodologies—Scrum and Kanban—with Dr. Andreas Both, the Head of Architecture, Web Technologies, and IT Research at DATEV. Before, Andreas and I worked together at Unister, Germany’s biggest E-commerce company at that time, where he supervised my Ph.D. thesis. In this series of articles, our goal is to make agile development processes more understandable to people new to the topic and to dive a little deeper into the specifics of each methodology.
Max:To kick off the interview, we are going to start with one of the questions that is posed most often when people get started with agile methodologies and that I had to answer on way more than one occasion: What is the difference between Scrum and Kanban?
Andreas: In my honest opinion the core difference is the time taken for prioritization and iterations. While in Scrum the team is prioritizing once in an iteration, and during the sprint mostly only pull tasks, in Kanban the tasks are re-prioritized continuously. Hence, a task might be the next to be pulled from the backlog even though it has been raised by the product owner just seconds ago. Based on my experience, Scrum teams are feeling more freedom and less pressure due to the fact that in most companies the sprint is a protected area where external disruptions are minimized. Hence, development teams have more options to organize and plan their work, which might lead to higher happiness.
Max:Are there also differences in handling deadlines between Scrum and Kanban?
Andreas: A Scrum team delivers at the end of the sprint the latest. Kanban teams do not need an actual deadline, but if it takes very long to finish a task this might indicate a problem with slicing the task at hand into small enough, manageable subtasks. However, this problem also appears in Scrum teams. So, the differences with respect to deadlines are not significant if the process lead takes care. I think the core capability is to maintain a continuous delivery process.
Max:What is the best way or process to prioritize tasks?
Andreas: Based on my experience I’d say an impact-driven approach has the best chances of resulting in a successful project. It provides the opportunity for failing fast if the project is not executable. However, a mature team is needed in most cases to ensure success following this approach. For instance, the capability of slicing large tasks into smaller ones is required, so that manageable tasks are created and can be prioritized. Within inexperienced teams, you often hear statements like “We can’t slice it into smaller tasks,” which frequently leads to saving-the-world huge meta-tasks. Of course, there is no best process for task prioritization—just suitable ones for the current team’s or product owner’s maturity level and the product context. For instance, a simple approach might also help to establish a good acceptance of the product by the users. Finally, to live a methodology is crucial. A product owner should never be in the situation to not provide a justification or methodology for his prioritizations.
Max:So, from this, I conclude the process is not crucial in your opinion as long as the prioritization ensures focus. A different issue is that while establishing a backlog many teams struggle to prioritize requests of different kinds. How do you handle the conflicts between business goals and technical goals?
Andreas: I think there is no short answer to this question. When starting a project I suggest to favor the business needs over the long-term maintainability. This is due to a typical observation that requirements are unclear at this point in time. Early ideas about useful architecture etc. often do not hold and lead to wasted investments. At the same time, you have to communicate permanently to the (product) management that these early results and the velocity at which they have been created cannot be considered as regular and long-term. After some time teams tend to claim a certain amount of time to work on reducing technical debt. It is a question of maturity of the organization whether the development team can actually invest time to achieve technical goals or not. Unfortunately, we had to fight hard for this and lost many times.
Max:Isn’t there a risk that this leads to unsatisfied developers?
Andreas: Yes, there is a risk for sure. Unfortunately, reality shows that it is really hard to argue against killer arguments from strategic product management like “If we are not finishing this feature first, then the competitors will win.” Therefore, the Scrum master and the product owner have to work seriously on communicating the global priorities of feature completeness, maintainability, adaptability, etc.
Max:Very true. But what is your suggestion for a fresh product owner for prioritizing also non-business goals, such as the elimination of technical debt?
Andreas: In my experience, the key to success is to transform technical goals into business goals by finding related business KPIs. Let’s assume that the development team is annoyed because there is no time to refactor the source code and implementing unit tests for a certain component. While doing some analytics one might discover that the same component often contains bugs which need to be fixed in the sprint instantly. Hence, the missing tests are a reason for missing the deadlines for completing new features—leading to the business goal effectively encapsulating the technical goal. If the process lead and the product owner work closely together, then these justifications might be easy to find. However, if you do not find a reason, you should also talk frankly to the development team that it will not happen … and sometimes you just need to show courage and frankly inform your product management about the plan of aiming for a technical goal and just do it without justification.
Max:What are typical examplesof features that should be realized using Scrum on the one hand and Kanban on the other?
Andreas: In my opinion, Scrum is more suitable for development teams targeting product goals where they can predict the requirements of the business domain (at least a little bit). If this is not the matter, then blockers within the Scrum sprint are more likely, which reduces the predictability of results at the end of a sprint. On the other hand, Kanban can be applied more easily with teams working in less predictable fields (e.g., research teams) or which are triggered by external interrupts (e.g, IT operations teams). For larger teams, there are results from different domains that Scrum is doing better. However, if you have such a large project that several teams are required, then your teams really should be experienced in agile methodology anyways.
This concludes the first part of Andreas’s and my little introduction to agile development, where we mainly addressed general issues such as deadlines, prioritization, communication, and the differences between business and technical goals. Also, we’ve had a closer look at Kanban and how it is different from Scrum. In the next part of the interview, we will be paying more attention to the specifics of the latter. Stay tuned!
TL;DR:Hollow Knight is mainly characterized by dual-purpose design and general minimalism. A particular feature is the use of fluid builds based on charms that can be (un)equipped rather than a skill tree. However, changing builds can be too much blind trial and error while geo (the game’s currency) becomes too abundant too early in the game. One solution to this could be having the player pay geo for (un)equipping charms.
Hollow Knight is the story of a nameless bug who explores the depths of a fallen kingdom, thereby slaying countless foes with his nail and uncovering the history of the mysterious place as well as his own fate. It is a Metroidvania type of game released in 2017 and—as far as I’m concerned—one of the best (if not the best) installations of this genre so far.
One factor that makes this game so great is that it builds a lot on the concept of dual-purpose design. Dual purpose design, as the name suggests, means that one game mechanic serves two different purposes, e.g., Super Mario’s jump, which is used for platforming as well as defeating enemies. If you want to learn more about this concept, Mark Brown made a video about it for his awesome channel Game Maker’s Toolkit, from which I draw a lot of my design inspiration.
Apart from that, Hollow Knight also generally employs a rather minimalistic approach. There are only two weapons in the game and the primary weapon—the nail—can be upgraded a total of only four times. When you hit enemies with the nail, you take HP from them and at the same time gain soul (dual purpose!). Soul is used for both, healing and using one of the three spells you can collect during the game. This simple set-up has two particular effects that make Hollow Knight exciting: First, during fights, you have to decide between healing and attacking with the powerful spells. Second, when low on health (which is very limited) and out of soul, you are forced to risk approaching enemies and hitting them.
The second resource in Hollow Knight besides soul is geo, which is the kingdom’s currency. Since there are no health and magic potions to be bought (because soul), geo is exclusively used for purchasing items that let you advance in the game or make you more powerful (such as mask shards, which upgrade your health Zelda-style). Therefore, geo is essentially experience.
Finally, one of the most distinguishing features of Hollow Knight is the lack of a skill tree. Instead, you buy charms. These give you certain powers and upgrades—such as an increased nail range or a shield—and can be equipped and unequipped every time you rest on a bench. The number of charms you can equip at the same time, however, is limited. Charms make your build fluid, so unlike in similar games (e.g., Salt and Sanctuary), you don’t have to decide for or against a certain build early in the game. This is one of the strengths of Hollow Knight because you can (and have to) use wildly different strategies for each boss. Yet, in my opinion, it is also one of the games few weaknesses since equipping and unequipping charms before boss fights is too much trial and error and too little “living with the consequences”. The last boss fight didn’t work out? Just throw in some other charms and try a face tank. Didn’t work either? Don’t worry, I got some more charms for you!
Now, how would it be possible to prevent this? Let’s have a look at two potential solutions. As for the first one, I think a relatively simple design change could do the trick. What if (un)equipping charms would cost geo (starting with the second time a charm has been equipped to still facilitate some playing around)? This would solve two problems at once. First, it would prevent the blind trial and error with different builds. Second, geo becomes too abundant too early in the game. At the very beginning, you still have to pay some attention to your balance, but later, you just buy all the upgrades you can find and still have plenty in your bank account. The second solution could be simply reducing the amount of charms, but make each charm more impactful, and making geo less abundant—that would be more like the Cuphead approach. Less charms, less trial and error. Pretty straightforward, isn’t it?
However, there is a another issue. The excessive trial and error is not only caused by the sheer number of charms and the fact that it comes at no cost but also the often not really informative descriptions of what a charm can do for you. That is, a charm’s capabilities are not visible until trying it out, also in different combinations. Therefore, the above solutions would only work if the game had a way to better visualize the certain powers and advantages of charms. This could be achieved by, e.g., showing a little loop animation of your character performing all the actions possible with your current build plus the charm that you would add to the selection.
In conclusion, despite some little flaws, Hollow Knight is awesome. However, it is not just an awesome video game. It is also a lesson in good design and how “less is more”. I believe that every designer—no matter their focus—can learn some valuable lessons from this game—and from good game design in general.
Special thanks to Martin and Snuck for their valuable feedback.
TL;DR:After analyzing my old website, I decided to put more emphasis on (1) identifying and highlighting the pieces of information that are actually useful and (2) a two-dimensional approach to displaying my CV along traditional categories and skills/topics. Moreover, I set myself design constraints that forced me to keep my new website as clean and simple as possible, following the design philosophies of brutalism and Mies van der Rohe.
My new website has been up and running for a few weeks now and I suppose it might seem unusual to some of you. Therefore, in this post, I want to explain how I ended up with what I did. What motivated me to create a new website was the fact that OpenShift v2 was shut down by Red Hat and the new version of their hosting service was so unsatisfying that I decided to move to Github pages instead. This, however, also meant that I could not build on a Node server anymore, so I took the opportunity to start over with a blank slate and create something completely different.
As a first step, I analyzed my old website, and I noticed two things. First, it was more or less structured exactly like my CV, which is, to be honest, not the most creative way to lay out an online presence. Second, my publications were listed in a format that I would also use in the reference section of an actual research paper. However, that format was only really understandable and readable for scientists, which—as I could safely assume—excluded a certain amount of my visitors. After all, the only necessary pieces of information are the title (plus a link for those who want to have a closer look), the list of authors, and which topics the paper is actually about. From a title like “Ensuring Web Interface Quality through Usability-based Split Testing” one may conclude that I’ve done work on usability, but how would you know that this publication also addresses analytics and machine learning without reading it? The acronym of the conference where it was published or the CORE rating of that conference certainly don’t help the average user.
Therefore, the two central questions that informed the design of my new website were:
How can I present my work and skills in a better, more useful, and more memorable way than the standard paper CV structure—projects, work, education, etc.?
How can I more effectively communicate to people the topics I actually worked on and which skills I acquired rather than just telling them that I was an “Intern R&D at Unister”?
Additionally, I set myself the following design constraints to ensure I had to come up with something completely different and create a novel, unusual, and more memorable experience. The main drivers for these constraints were my love for minimalism and a desire to prevent unnecessary overhead as much as possible.
Make it brutalist. Originally, brutalism was an architectural movement known for “its ruggedness and lack of concern to look comfortable or easy”. Accordingly, brutalist websites have a rough, simple, and unfinished look. They are almost nihilistic towards user experience.
Make it as simple as possible. I chose this constraint in accordance with Mies van der Rohe’s architectural philosophy of “extreme clarity and simplicity”. He made his buildings purely functional and refrained from using anything ornamental.
Don’t use icons or images. Standalone icons are a bad idea in most of the cases anyway (as this nice summary explains). This led me to using smaller text with a solid, edgy border in places where I used icons for social media sites and the different sections on my old website.
Use only one primary color. The rest must be kept in black, white, and gray.
Work with typography as much as possible. Apart from the one primary color and white space, I tried to use only different font sizes and weights for structuring and highlighting information.
Finally, I came up with and realized a concept that is largely based on hashtags to communicate my skills and the topics I’ve worked on. Every CV entry on my website—be it a university degree, a job, or a publication—is annotated with a set of such tags. The entry about “Ensuring Web Interface Quality through Usability-based Split Testing” now tells the visitor that the paper is about #analytics and #machine learning, among other things. At the top of the page, I feature a list of skills that enables users to filter the page and hide everything that’s not related to a specific skill or topic they’re interested in. Moreover, I chose a two-dimensional approach to presenting my CV. That is, the visitor has the chance to display it either according to the traditional structure of a CV, or grouped by skill/topic. In the latter case, all CV entries that feature a certain tag are displayed in the corresponding section to be able to view them at a glance.
Technology-wise, my new website is based on standard web technologies, Less, and gulp.
Why I Don’t User Test My New Website
I asked some friends to have a look at what I created and they immediately came up with the idea of having a sticky menu—as they are used to from other websites—so that they wouldn’t have to go back to the top of the page (using the #top button in the bottom right corner) when they wanted to change the current filter or the way the CV is displayed. I started implementing this supposed improvement yesterday, but became more and more dissatisfied the more I progressed. While it would have made the website slightly more usable (sparing users a click from time to time), a sticky menu would violate the constraints that define my design and would make my website less unique in my opinion. After all, the average user prefers being confronted with and using things they already know. Therefore, I abandoned the idea and did not deploy the changes.
In this sense, the design of my new website is clearly not 100% user-centered, but rather an experimental piece of art.
TL;DR:Design Thinking is often considered a buzzword or bullshit and many people—even if familiar with the concept—struggle to define it in a brief, but concise way. In this article, I develop such a definition: “Design Thinking is the understanding that the process is the design and therefore all people involved, no matter their role, are responsible for creating a product that is useful, functional, aesthetically appealing, and affordable.”
Recently, I conducted a little ad-hoc survey with five friends who are all in some way involved in design or start-up environments. I asked them to answer the question What is Design Thinking? as briefly as possible without doing research beforehand. I did this because I noted that I myself wouldn’t have been able to spontaneously give a precise, one-sentence definition of Design Thinking. Therefore, I was very curious which answers my questionees would provide. This is what they said:
To think and work interdisciplinary and user-centered in order to solve problems.
To work solution-focused rather than problem-focused in order to find a really good solution rather than just fixing a problem, and ideally doing it interdisciplinary.
Methods to develop a design that has a good user experience.
Although not representative, these answers highlight several things that I’ve also consistently observed. First, there is the perception that Design Thinking is used in a buzzwordy manner, i.e., it “ha[s] much of the original technical meaning removed, being simply used to impress others” (Wikipedia). Second, some believe it’s a concept that doesn’t provide added value, which is related to the fact that many talk about or even apply what they believe is Design Thinking without knowing or understanding what it actually stands for (i.e., they are bullshitting). This again is partly related to the third observation: It is difficult to get consistent definitions or explanations of Design Thinking from different people, even if they have been in touch with the concept before. This was exactly what I expected.
Given the above observations—before we dive deeper into how to answer the question What is Design Thinking?—let’s first debunk three common misconceptions here:
Although Design Thinking might be perceived as a buzzword nowadays due to its heavy overuse, it’s not a novel term. Already in 1987, architecture and urban design professor Peter G. Rowe published a book titled Design Thinking.
Design Thinking is not bullshit, although it might be often perceived as such. After all, the term simply means “thinking like a designer”. This doesn’t exactly seem like bullshit to me since designers have created some pretty awesome things that have influenced and are still heavily influencing people’s everyday lives. Please refer to Susie Hodge’s book When Design Really Works for 80 very compelling examples.
Design Thinking is a mindset, not a process (otherwise it would be called the Design Process), just like entrepreneurial thinking is not a process (cf. Silicon Valley mindset). However, Design Thinking can very well be embedded in or lead to a process—a highly unstructured one—in which the three spaces of Design Thinking (Inspiration, Ideation, & Implementation) are visited and revisited in no particular order until a desirable solution is found. Such a process also highly depends on the environment and the artifact that is being designed. For more on this, please refer to my previous article On Design Thinking.
Besides the above, it’s also important to note that I’m not talking about graphic or visual design here, which are not the same as design, although many people believe so. Rather, they are more specific subdisciplines. Or, as Steve Jobs once said: “Some people think design is how it looks. But of course, if you dig deeper, it’s really how it works.”
With this as a basis, I now want to work towards a precise, one-sentence definition of Design Thinking. As already mentioned, essentially, Design Thinking means nothing more than “thinking like a designer”, which implies an understanding of what design means. So, in order to work towards the intended definition, let’s have a look at what (good) design actually is.
According to Avle & Lindtner (2016), a design is “the materialization of an idea either as artifact or product”. Moreover, Hodge (2017) explains that for such an artifact or product to be considered a good design, it has to have a range of practical applications, function optimally, and be attractive and affordable. On top, it should be timeless with respect to its construction, function, and aesthetic appeal (Hodge, 2017).
However, it is important to note that a good design is inevitably entangled with the process from which it emerged, which is why in their paper, Avle & Lindtner (2016) always speak of “design(ing)” rather than design. This is related to the following statement by Granfield (2017) from her excellent article about the current state of UX design: “The premise of design thinking is exactly this: All team members, regardless of their role, are responsible for the design because the process is the design; the screens and the experience are the end result.”
In my opinion, this is a very striking sentence about Design Thinking and therefore one of my favorite ones concerning the topic (in fact, it inspired me to write this article in the first place). With this, we now have all the ingredients to construct a concise, one-sentence definition of Design Thinking:
The understanding that the process is the design and therefore all people involved, no matter their role, are responsible for creating a product that is useful, functional, aesthetically appealing, and affordable.
This definition particularly implies that the process has to be interdisciplinary (as was mentioned in two of the answers above) and human-centered (also mentioned twice) since it is impossible to design a product that is useful, functional, aesthetic, and affordable without considering the user’s needs and desires. When having another look at my friends’ answers at this point, it becomes clear that answer № 3 came closest to a correct definition of Design Thinking.
To conclude, I want to note that we must keep in mind that design & Design Thinking always happen in a broader context than the above definition can capture. Or, as Avle & Lindtner (2016) put it: “design is as much about making artifacts as it is about producing national identity, reputation, and economic gain.” This, however, is beyond the scope of this article.
TL;DR:Usability is related to customer satisfaction and loyalty and therefore has a direct impact on profit. Yet, bad usability is abundant, especially on E-commerce websites. The Conversion/Usability Framework introduces usability as an additional lever on top of “traditional” means to increase profits, which can and should also be applied beyond E-commerce.
When businesses want to increase their profit (or simply keep it from crumbling), there are certain means that can be employed, such as restructuring processes, economies of scale, or exploring novel marketing strategies. Another lever to increase profit is the usability of products and sales channels, which is, however, surprisingly often neglected—even in E-commerce—although research and common sense suggest that it is directly related to customer satisfaction and loyalty. In this article, I analyze how usability influences revenue and costs (and therefore ultimately profit) and how the Conversion/Usability Framework can be used to improve both. Yet, to start off, let us first have a look at some basics.
Revenue, Costs, & Profit
Profit is at the heart of every business. It is determined using the profit function, which states that profit equals revenue minus costs . The different parts of this function are influenced—directly as well as indirectly—by a number of factors . Revenue is affected by both the price and the amount that is sold of the offered good. Then again, the amount of products a business sells as well depends on the price, which should be neither too low nor too high due to price elasticity. That is, customers will not buy an excessively expensive product, but at the other end of the spectrum it might be perceived as low-quality, thus also resulting in lower sales. Overall costs are composed of fixed costs and variable costs. The latter depend on the amount of products sold. The more you produce the higher the variable costs. Overall, this results in the following dependencies (the diagram has been adapted from ):
In E-commerce, Amount can relate to, among other things, a product sold through a website (e.g., shoes, books, & vacation trips), or a subscription to a web service or platform (e.g., a domain, cloud storage, & movie streaming). On such websites—be it consciously or not—companies often engage “traditional” sales strategies that result in so-called dark patterns. To create a sense of urgency and scarcity, almost all travel booking websites I know constantly display warnings that “X other users are currently looking at this offer”, “only Y rooms are still available on the given date”, or “the current offer is valid for only Z more minutes”. Such warnings are usually kept in extremely bright colors, clutter the interface and distract from the actual functionality and task. To give another example, in many cases, buttons for canceling checkout processes or subscriptions are made as nonsalient as possible (or are even hidden) while purchase buttons are strongly highlighted.
The Case for Usability
Yet, evidence suggests these are bad practices. Sauro  found that “[p]erceptions of usability explain around 1/3 of the changes in customer loyalty” in a study that investigated correlations between the System Usability Scale and Net Promoter Scores. “Overtime,” he states, “if people think your product is usable then they are more likely to use it, more likely to recommend it and you are more likely to sell it.” 
In different research, Kuan et al.  “found a relation between system quality and conversions, i.e., they identified three dimensions of usability that ‘explain over 70% of variance of intentions for planned purchase as well as future purchase.’ Thus, it is highly necessary for e-commerce companies to continuously evaluate their products with respect to good usability, in particular, to remain competitive.” 
Hence, the usability of an E-commerce website, as well as that of the product itself, directly influences sales numbers. Therefore, the above diagram must be extended to include the concept of Usability. From this results the following, which I call the Conversion/Usability Framework (due to the fact that sales in E-commerce are usually referred to as conversions):
Usability has an impact on three of the variables of the profit function:
Usability → Amount: Based on what I described above, usability directly influences the amount of products a company sells. The better the usability of the E-commerce website and/or the product itself, the more products are sold due to more satisfied customers and more recommendations.
Usability → variable Costs: Better usability also leads to lower variable costs related to help and support. A more usable product is more intuitive to use and triggers fewer errors , which reduces customer support requests and replacement of defect products.
Usability → fixed Costs: Ensuring good usability requires to set up corresponding processes or incorporate usability testing into existing ones. This additional effort leads to increased fixed costs. However, firstly, appropriate design and QA processes should already be in place and easy to complement, and secondly, the benefits of good usability outweigh these increased costs in the long term.
Applying the Conversion/Usability Framework
It is important to note that the Conversion/Usability Framework is not exclusively valid in the context of E-commerce, but can be applied regardless of the product that is being sold and the way it is sold. This is because every product is used for something by the customer, and everything that is being used has an inherent usability. A teapot, a faucet, and a microwave oven, for instance, have a certain usability just like a website has.
When a company wants to increase its profit, there are certain “traditional” levers one can make use of. One way is to reduce unnecessary fixed and variable costs, e.g., by restructuring and optimizing inefficient processes or taking advantage of economies of scale. Another way is to increase revenue by, e.g., better pricing, exploring novel marketing opportunities, or entering new markets. As described above, the Conversion/Usability Frameworks introduces the additional lever Usability that—independent of the company and product—should never be neglected and can be used in the following ways:
Increasing sales:In order to increase customer satisfaction and loyalty and as a result sell more products, take measures to optimize the usability of both your product and sales channels. The questions you have to ask are: Is my product easy to use for its intended purpose(s)? and Is my product easy to buy? To be able to answer these questions with “yes”, employ established design practices and conduct regular user tests.
Decreasing variable costs: To minimize your customers’ error rates and as a result reduce customer support efforts and the number of products that have to be replaced, ask the same questions as above. On top, you should implement a Lean Support approach based on which you can incrementally create a knowledge base that lets your customers help themselves. Here, you should apply the same usability standard as for your products and sales channels.
Decreasing fixed costs: Since every usability process imposes a certain amount of fixed costs, one way to bring down the latter is to review and restructure existing usability processes. Tests with representative sets of users and realistic tasks that collect behavioral and attitudinal data  usually yield the best results. However, they cost significant amounts of time and money. If you have limited resources and need to cut fixed costs, certain trade-offs are possible. For instance, according to Nielsen and Molich , a simple and inexpensive heuristic evaluation with only 3 to 5 evaluators is already enough to find the majority of usability issues in an interface.
Good usability is a key quality aspect of any product or website that is, however, surprisingly often neglected by companies. Especially, on today’s E-commerce websites, we can observe numerous dark patterns that try to trick the customer into purchases and subscriptions. However, this ultimately leads to dissatisfied, disloyal customers.
By applying the Conversion/Usability Framework on top of “traditional” methods, it is possible to increase customer satisfaction and loyalty, reduce variable costs and sell more and better products. This should be common sense in E-commerce settings but is also applicable beyond websites. For a successful business, it is important to develop an understanding of the importance of some sort of Usability Thinking, no matter how you sell your products and which products you sell—be it teapots, microwave ovens, cars, or SaaS subscriptions.
3 Lessons I Learned as the “Chief Data Analyst” of a Silicon Valley–funded Start-up
From 2015 till 2017 I helped grow HoloBuilder Inc., a start-up providing virtual reality solutions for the construction industry, as their VP of Customer & Data Analytics & Optimization, which roughly translates to “Chief Data Analyst”. The company is headquartered in San Francisco while I was a part of their R&D lab in Aachen, Germany. I was responsible for the whole data analytics* pipeline — from collecting data on the web platform using Google Analytics and own trackers to processing the data in Google BigQuery and visualizing it using tools like Power BI and Klipfolio. During my time in Aachen I learned lots of valuable lessons. Here, I want to share with you the three most important ones that are directly concerned with data analytics (please scroll down for a TL;DR).
1. Data Analytics ≈ UX Design
Data analytics is a lot like UX design. You have specific target audiences that expect to experience what you provide them with in the most optimal way — concerning content, presentation, and possibly interactivity. For instance, providing data for C-level management and for potential investors are two completely different stories. While management requires low-level insights concerning the software itself, among other things, for VCs we usually prepared more high-level business metrics including projections and forecasts, due to the different requirements. Moreover, internal data would usually be provided through dynamic dashboards that could be adjusted and customized while data for investors would rather be delivered in the form of PowerPoint slides that matched the layout of the pitch deck. Therefore, it is crucial to have the definition of a target audience (potentially even personas) and a requirements elicitation from that audience at the beginning of every data science process. At HoloBuilder Inc., this lesson became especially clear because of the split between San Francisco and Germany and the fact that most of the (potential) VCs were residing in the Silicon Valley.
I am convinced that a data analyst without some proper UX skills — and, of course, adequate requirements and input — cannot be successful.
2. Ask the Right Questions — and Do So early
This one goes hand in hand with requirements elicitation. Don’t provide analyses just for the sake of it!
This whole “let’s just analyze everything we can get” thing doesn’t work! It’s extremely important to define the questions you intend to answer beforehand. Tracking is cheap, so you can (and should!) track more than you need (at the moment). But the processing and visualization of data that nobody ever looks at eats up a whole lot of resources that would be required for the meaningful analysis and presentation of the few nuggets that are buried in your giant pile of big data. Also, having concrete questions in mind greatly helps with tailoring data structures more precisely to your specific needs. Of course, this doesn’t mean that your infrastructure doesn’t have to be flexible enough to quickly react to changing and new questions that need to be answered. In an optimal world, the data for answering new questions is already there and you “just” have to do the processing and visualization. In general: Expect surprise on-demand questions anytime! Therefore, anticipate and be prepared!
(While the questions that need to be answered can be seen as part of the requirements elicitation, I treat them separately here, because I give requirements a more technical connotation — e.g., “possibility to toggle between line/bar charts” or “include difference to previous period in %” — compared to key questions such as “Why do we lose users?”.)
To ensure meaningful data analytics, at HoloBuilder Inc., marketing manager Harry Handorf and I developed a boilerplate for a weekly KPI report that posed three crucial questions:
Which data did we collect?
What are the reasons the data looks like that?
What actions must/should be taken based on the above?
That is, the first part delivered the hard facts; the second part explained these numbers (e.g., less sign-ups due to change in UI); and the third part presented concrete calls to action (e.g., undo UI change). The report looked at those questions from the platform as well as the marketing perspective. Therefore, we had to extensively collaborate with software engineers, designers, UX people, marketing and sales to find meaningful answers. According to the second learning above, the basis of the report always were higher-level questions defined beforehand, such as: “Does the new tutorial work?”, “How can we gain more customers?”, and “Have we reached our target growth?”. In general, the interpretation of data is based on the processed data and the questions to be answered, rather than on technical requirements (see infographic above).
Again, because this is really important: Your data is worth nothing without proper interpretation and input from outside the data analytics department.
Ultimately, to conclude this article, I don’t want to withhold from you Harry’s take on the topic:
You might have heard of the metaphor for life feeling like a tornado. It perfectly applies to working with data of a young business — it spins you around with all of its metrics, data points and things you COULD measure. It’s noisy and wild. A good data scientist figures out how to step out of it. But that does not mean getting out of the tornado completely, letting it do its thing and becoming a passive spectator. It means getting inward, to the eye. Where silence and clarity allow for a better picture of what’s going on around you, defining appropriate KPIs and asking the right, well thought-out questions.”
—Harry Handorf (tornado tamer)
Data analytics is a lot like UX design! As a data analyst, you have to define target audiences and elicit requirements. Tailor content & presentation of your analyses to those.
Define the questions to be answered beforehand, then process and interpret the data necessary to answer those questions. Don’t analyze everything you can just for the sake of it.
Data is meaningless without interpretation. Extensively collaborate with other departments — especially UX — to ensure meaningful data analytics.
Traurig sein hat keinen Sinn, die Sonne scheint auch weiterhin.
— Farin Urlaub: “Sonne” (2005)
I know, I know. Not yet another one of those “How to find happiness” articles 🙄. So why am I writing this anyway? First of all, I think that writing is probably the best way of self⸗reflection—sadly, an art that is performed way too little by those who would need it the most. Second, because I moved to the United States recently—which can be considered a pretty significant life event I guess—I thought it might be a neat idea to read the various diaries and notebooks I’ve kept over the past ten years. So, while I was going through my diary entries—dating back as far as January 2007 (three months before I started my Bachelor studies at the University of Koblenz)—I noticed there might be some interesting patterns. And since I’m a guy who likes to play around with data from time to time, I prepared an Excel sheet and did a little number crunching. I’m not going to give you the raw data (because privacy), but it looks something like this:
met friends often?
had a goal?
worked out regularly?
read a lot?
Here are the higher⸗level results I found (spoiler alert: the following is kind of obvious). It seems like I was happier at times when I (in no particular order)
didn’t worry about money
often met with good friends
worked out a lot
did competitive sports on a regular basis
pursued my hobbies
compared to times when I did none or only few of the above.
You’re still reading the article? That’s nice! Of course, from a statistical perspective it must be noted that the above are mere correlations (threshold = 0.7). This means, it could be that I just work out more when I’m happy for different reasons and working out doesn’t actually contribute to my happiness, but that’s beyond the scope of this article. Since all of this is about myself, I can ensure that a certain degree of causality is given.
However, the point of all this is not primarily to just tell you what makes me personally happy. Rather, I’ve observed that quite some people are not really aware of what actually contributes to their happiness. As I noticed, in this case, it can be very helpful to keep a diary and do the same little analysis that I’ve done. It’s really insightful to simply note down what you did and didn’t do at times when you were happy and at times when you were not, then search for underlying patterns. Because every now and then, we all easily miss the obvious.