Wednesday, August 22, 2018

Getting back into Outreachy

Outreachy is a great organization that helps women and other minorities get involved in open source software. (Outreachy was formerly the GNOME Outreach Program for Women.) I've mentored several cycles in Outreachy, doing usability testing with GNOME. I had a wonderful time, and enjoyed working with all the talented individuals who did usability testing with us.

I haven't been part of Outreachy for a few years, since I changed jobs. I have a really hectic work schedule, and the timing hasn't really worked out for me. Outreachy recently posted their call for participation in the December-March cycle of Outreachy. December to March should be a relatively stable time on my calendar, so this is looking like a great time to get involved again.

I don't know if GNOME plans to hire interns for the upcoming cycle of Outreachy, at least for usability testing. But I am interested in mentoring if they do.

Following conversations with Allan Day and Jakub Steiner, from GNOME Design, I'm thinking about changing the schedule we would use in usability testing. In previous cycles, I set up the schedule like a course on usability. That was a great learning experience for the interns, as they had a ramp-up in learning about usability testing before we did a big usability project.

But Allan and I would like to get interns involved more quickly. Also, Allan would prefer to have testing be more integrated to a current design project. Allan has a great point in saying, "rather than releasing something and having it tested weeks or months later, we need to be testing what we are working on right now."

My idea for the next cycle is to accelerate usability testing! I would imagine restructuring the internship so applicants would do a "crash course" in usability concepts the first week, then start doing usability tests immediately after that. Learn by doing!

For a 13 week internship, I imagine an intern or interns could spend almost the whole time leading usability tests, especially focusing on "you need five testers for an iterative process" so they are doing basically the same test throughout the internship, against different iterations of different designs. That would provide more immediate feedback to designs you are working on at the time.

A possible schedule could be:
  1. Quick study of usability testing background and methods
  2. Review test needs with Design Team; plan test #1
  3. Execute test #1
  4. Discuss results with Design Team
  5. Plan test #2
  6. Execute test #2
  7. Discuss results with Design Team
  8. Plan test #3
  9. Execute test #3
  10. Discuss results with Design Team
  11. Plan test #4
  12. Execute test #4
  13. Discuss results with Design Team; wrap-up

Based on that schedule, we could fit 4 usability test iterations in 13 weeks. We might do as many as 5 if things accelerate toward the end, such as shorter turnaround in refining the design. This depends on the time required to generate a new design based on the input of the usability tests.

The key would be to connect the design process and timeline to the internship timeline. And then to be realistic in testing. For example, we might have the intern do a paper prototype test one week, then spend the next week discussing results and figuring out the next iteration, and the intern does another paper prototype test, etc.

Paper prototypes are probably the fastest to turn around, because they don't require coding. But if there's a working interface or some animatic, the intern could do usability tests based on iterations of that.

For a simpler paper prototype, a more aggressive schedule could be:
  1. Quick study of usability testing background and methods
  2. Review test needs with Design team; plan test #1
  3. Execute test #1
  4. Discuss results with Design Team; plan test #2
  5. Updated prototype; execute test #2
  6. Discuss results with Design Team; plan test #3
  7. Updated prototype; execute test #3
  8. Discuss results with Design Team; plan test #4
  9. Updated prototype; execute test #3
  10. Discuss results with Design Team; plan test #5
  11. Updated prototype; execute test #3
  12. Discuss results with Design Team; plan test #6
  13. Wrap-up

But that may not be realistic, even for a paper prototype. There's still logistical issues, such as finding test volunteers. We'll have to adjust the schedule as we go. I think the thing to remember is we'd target at least 4 and maybe 6 usability tests during the Outreachy cycle.

If you're interested in participating in Outreachy, the anticipated schedule is:

Sept. 10, 2018 Applications and the eligibility check opens. Applicants can see and apply to listed projects.
Oct. 2, 2018 Last date for new mentoring community listings
Oct. 9, 2018 Last date for new internship project listings
Oct. 23, 2018 Application deadline
Oct. 30, 2018 Late application deadline
Nov. 5, 2018 Deadline for mentors to select interns
Nov. 14, 2018 Accepted interns announced
Dec. 4, 2018 to March 4, 2019 Internships period

Tuesday, July 31, 2018

The next step in open data is open source

Governments at all levels are moving to embrace open data, where governments share public data proactively with citizens. Open data can be used, reused, mixed, and shared by anyone.

For example, The US Government has an open data portal that publishes data on various topics, including agriculture, education, energy, finance, and other public data sets. Where I work (Ramsey County, Minn.) we established an open data portal that shares expenses and other public data about the county that users can access in different views.

Through open data, governments become more transparent. We have seen this in several instances. The Oakland Police Department used a 2016 open data study from Stanford University to address racial bias in how officers behave towards African Americans versus Caucasians during routine traffic stops. In 2017, Steve Ballmer launched the USAFacts website that uses open data to reveal how governments spend tax dollars to benefit citizens. Also from 2017, Los Angeles, California’s comprehensive “Clean Streets LA” initiative uses open data to assess and improve the cleanliness of public streets.

Governments at all levels have recognized that open data feeds citizen engagement. By sharing data in a way that encourages citizens to remix and transform open data to provide new insights, governments and citizens move closer together. According to the Open Data Barometer, many municipalities already provide open data for geographic information, transportation, trade, health, and education, with a mix of other open data sets. Those governments that do not yet provide an open data portal are likely working to provide one.

What is the next step beyond open data? After sharing data, what is the next evolution for governments to engage with citizens?

I believe that next step is open source. Where we provide government data sets for anyone to view, adapt, and remix, we need to offer government source code for others to view, adapt, and remix.

While there is a balance to be made in moving to government open source, the default should be to share as much source code as possible. Just as governments found a balance in providing open data, government open source must consider what software can and cannot be shared as open source software. In the same way that some data needs to remain private because it identifies individuals or because it contains certain nonpublic data, some government source code may need to remain “closed source.”

In adopting government open source, we should follow the open data model. The default in government open data is to share as much data as possible, to release public data for public consumption. That should be the same with government open source. In cases where government application development teams write custom software, we should make as much of our source code available to the public as possible.

Some government agencies are already moving to an open source model, and that is good. In August 2016, US Chief Information Officer Tony Scott and US Chief Acquisitions Officer Anne Rung issued instructions for federal departments and agencies “to release at least 20 percent of new custom-developed code as Open Source Software (OSS) for three years.” In support of this directive, the US Government established an open source portal at Code.gov to share government source code under the Creative Commons Zero (CC0) and other open source software licenses. Via the open source portal, users can download open source projects, toolkits, installer profiles, online forms, JavaScript widgets, and other code samples.

The challenge we face in moving to government open source is not technical, but cultural. Many governments have relied on proprietary or “closed source” software for decades. Through the lens of these government IT departments, all software is proprietary. This view often extends to software that is custom-developed by municipalities.

It will take a culture shift for governments to release their source code for public access. But governments faced that same culture shift in moving to open data, and we overcame that cultural inertia. We can do the same with open source.

The benefits to adopting a government open source model are many. Like open data, government open source will provide additional transparency to citizens. Users will be free to investigate the source code, and re-use it for other purposes. Motivated citizen developers may modify the source code to fix bugs or add new features, and contribute those improvements back to the government. This last example is the ideal model, providing a feedback loop of engagement where the government partners with its citizens to improve services.

I believe the next iteration from open data is open source. I encourage government Chief Information Officers at all levels to investigate how software created by government application development teams can be made available to outside users. Use the US open source portal as a model to set goals and measure progress. Finally, establish relationships with partners most likely to engage in government open source, including local universities and businesses.

Through open data, governments became more transparent to citizens. With government open source, Chief Information Officers have an opportunity to lead the next evolution in citizen engagement. Through open source, we can take government transparency to the next level.

Monday, July 30, 2018

What an icon says about you

Icons are an important part of modern computing. We see icons everywhere, from actions on the desktop to navigation in an application to action icons on a website. You can't go long without seeing an icon.

When I first started doing usability testing, I focused on icons. How will users perceive the function exposed by a single button, especially if that button is an icon? Icons can be abstract or representative. For example: in a word processing program, what icon would you click to print a document? The icon you have in mind probably looks something like this: (*wikimedia)

That is a fairly artistic rendering of a printer. But how simple can you make the printer icon, and still recognize it as a printer? (*wikimedia)

This high contrast icon is still recognizable as a printer to many users. Especially when presented on a toolbar with other icons, usually on the left end of the toolbar near the new-file and open-file and save-file icons, you'd probably recognize this as a printer icon. (In this case, certain icons can be learned based on association. In most applications, the "Print" action is usually near the "New File" and "Save File" actions.)

Branding is another form of an icon. You can associate a product or a brand through its icon. You can immediately recognize certain products through their icons, from the Nike "swoosh," the McDonald's "M," the Apple "apple," and the AT&T "Death Star." Open source software has its own recognizable icons, including Tux the Penguin, the GNU gnu, and "Beastie" the BSD Daemon.

Once upon a time, the Netscape "N" was instantly recognizable as the web browser's brand icon. Later, the organization spun off into Mozilla, represented by a less memorable big red dragon head. Finally, we have Firefox, represented by a stylized fox wrapped around a small globe. The fox icon has represented the Firefox brand for years, although now the Firefox organization wants to change the brand icon.

From an article in Venture Beat: "For most people, Firefox refers to a browser, but the company wants the brand to encompass all the various apps and services that the Firefox family of internet products cover," and "The fox with a flaming tail 'doesn't offer enough design tools to represent this entire product family'." The Firefox name will remain, but the branding will change.

This is a tall order. Changing any well-known branding for an organization or a product family is tough. Will users continue to recognize the product as one they have used before? Or will the new branding suggest to users that everything has changed, and the product they've used and known for years has now flipped to something completely different?

Firefox has proposed two possible branding options:


Venture Beat describes the icons as follows: "The first icon is the Firefox masterbrand icon, an umbrella under which all the product lines will live" and "The next [two] lines, in order, are as follows: general purpose browser icons (including Developer Edition and Nightly colors), singularly-focused browser icons (Firefox Focus and Firefox Reality)"and the last five icons are "new applications and services."

First, let me make some guesses about the new applications and services, represented by the five icons in the last two lines. I'm not sure what the first one represents, but I think the second is some kind of photo service, perhaps something like Instagram or maybe a static photo hosting service like Flickr. At least, that's what the green icon suggests to me. The third icon is clearly some kind of password management service, like LastPass or 1Password; the hexagonal "lock" icon is a clearer representation of a password service.

I'm not sure what the last two are. These are too abstract for me to interpret what they mean, but perhaps the last icon is some kind of interaction service, such as a private chat application.

Jumping back the the rest of the list. The first line of icons (the standard web browser, the in-development web browser, and the nightly-build web browser) are still recognizable to me. I don't use the Firefox Developer Edition or the nightly builds, but the different colors in those two icons suggest to me that they are not the standard web browser.

The System 1 icons are more familiar to me, compared to the current Firefox logo. I think if Firefox used the first row icons from System 1, their users would be satisfied that the browser product isn't completely new.

The second row of icons (including Firefox Focus and Firefox Reality) are a mix for me. I'm not sure what Firefox Focus is, based on this image. The Firefox Focus web page describes Focus as a "dedicated privacy browser with tracking protection and content blocking." I don't get that from either the System 1 or System 2 icons. Similarly, the icon for Firefox Reality doesn't suggest what Reality does for me. The Firefox blog describes Reality as a "cross-platform browser for mixed reality." I don't get "augmented reality" from any of the icons in System 1 or System 2.

What about the "parent" logo, the Firefox masterbrand icon at the top? For me, the System 2 icon better represents the "Firefox" family of products. I get the abstract fox icon from System 1, but I think it's too abstract. When I first saw the icon, I assumed it was a red book icon, but the designer had set the alpha channel to be too transparent, so the yellow diamond underneath the book was visible. (And now you probably can't un-see the "book" icon. Sorry.)

But negative space means something, too. As humans, we naturally look for negative space, and read a lot into what shapes we find there. For example, most people see a rightward arrow in the FedEx logo, suggesting speed.

Applying this negative space visual concept to the Firefox logos, my mind naturally tries to find meaning in the negative space of the System 2 icons. I'm less bothered by the negative space of the System 2 masterbrand icon, because the negative space forms a rough circle. But look at the first row of icons. What shape is that? I'm confused.

My recommendation to Firefox is to use the System 2 masterbrand icon, but use the first row of the System 1 icons to represent the web browser. Use the green "Photos" icon (or something like it) and the hexagonal "lock" icon for the Password application.

But go back to the drawing board for Focus and Reality, and the three other extra applications. I'm not sure what those represent, so I think they need more work.

Finally, I encourage Firefox to do a quick usability test. They may have done this already to create this first set of design concepts. Find a bunch of users, and show them the icons in isolation. For one set of testers, don't provide context. "What does this icon mean to you?" Let the user give a reply without knowing what application the icon might be used to represent. For another set of testers, provide some context, but don't indicate which icon is intended for which application. "Which icon represents a web browser?" "Which icon represents a Photos application?" You can probably do this with ten testers in each group, but I'd recommend a larger sample such as twenty testers in each group.

Compare your results. Do the unprompted testers associate the same icon with the same application as the prompted users? If the testers have strong agreement, then you've identified icons that most users will recognize for the purpose you intend.

Thursday, July 5, 2018

First impressions of PureOS

My new Librem 13 arrived yesterday, and it was my first opportunity to play around with PureOS. I thought I'd share a few thoughts here.

First, PureOS uses GNOME for the desktop. And not that it matters much to usability, but they picked a beautiful default desktop wallpaper:


Because it's GNOME, the desktop was immediately familiar to me. I've been a GNOME user for a long time, and I work with GNOME in testing usability of new features. So the GNOME desktop was a definite plus for me.

It's not a stock GNOME, however. PureOS uses a custom theme that doesn't use the same colors as a stock GNOME. GNOME doesn't use color very often, but I noticed this right away in the file manager. Clicking on a navigation item highlights it in a sort of rust color, instead of the usual blue.


Overall, I thought PureOS was okay. It doesn't really stand out in any particular way, and I didn't like a few choices they made. So in the end, it's just okay to me.

However, I did run into a few things that would seem odd to a new user.

What's that file icon?


When I clicked on Activities to bring up the overview, I was confused about what looked like a "file" icon in the dock.


I understood the other icons. The speaker icon is Rhythmbox, my favorite music application. The camera icon is clearly a photo application (GNOME Photos). The blue file cabinet is the GNOME file manager. And the life ring is GNOME's Help system (but I would argue the "ring buoy" icon is not a great association for "help" in 2018; better to use an international circle-"?" help symbol, but I digress).

Two icons seemed confusing. The "globe" icon was a little weird to me, but I quickly realized it probably meant the web browser. (It is.)

But the one that really confused me was the "file" icon, between the camera and the file manager icons. What was a "file" icon doing here? Was it a broken image, representing an icon that should exist but wasn't on the system? I didn't need to click on it right away, so I didn't discover until later that the "file" icon is LibreOffice. I hadn't seen that icon before, even though that's actually the LibreOffice icon. I guess I'm used to the LibreOffice Writer or LibreOffice Calc icons, which is what I launch most of the time anyway.

No updates?


I wanted to install some extra applications, so I launched GNOME Software. And from there, I realized that PureOS didn't have any updates.


Really? Linux gets updates all the time. Even if Purism updated the OS right before shipping my laptop to me, there should have been a few updates in the time FedEx took to deliver the laptop. But maybe Purism is slow to release updates, so this could be expected. It seemed odd to me, though.

Where's the extra software?


Once I was in GNOME Software, I realized the "store" was quite empty. There's not much to choose from.


If this were my first experiment with Linux, I'd probably think Linux didn't have very many applications. They don't even have the Chromium or Firefox web browsers available to install.



But really, there are a ton of applications out there for Linux. It's just the packages that PureOS makes available through GNOME Software seems pretty limited.

The terminal is broken?


Finally, I'll mention the terminal emulator. PureOS doesn't use the standard GNOME Terminal package, but rather the Tilix terminal emulator. It's a fine terminal, except for the error message you see immediately upon launching it:


I wondered why a pre-configured operating system, aimed at the Linux community, would ship with a broken configuration. I clicked on the link shown, and basically the fix is to set Tilix as a login shell, or to do some other setup steps.

Presenting an error message the first time the user runs a program is very poor usability. I haven't run it yet, so I assume the program should be using defaults. Everything should be okay the first time I run the program. I assume things will "just work." Instead, I get an error message. If I were a novice user, this would probably turn me off PureOS.

Overall


In the end, PureOS is a GNOME desktop that runs well. But with a few confusing issues or problems here and there, it doesn't exactly stand out. To me, PureOS is just "okay." It's not bad, but it's not great.

I think my biggest concern as a longtime Linux user is that the distribution doesn't seem to have updates. I'm curious to hear from any PureOS users how often updates are pushed out. I run Fedora Linux, and I get updates pretty regularly. What should I have expected on PureOS?

Tuesday, July 3, 2018

Librem 13: Review

In May, I decided it was finally time to replace my old laptop. Technically, there wasn't anything wrong with my old laptop (Lenovo Thinkpad X1 Carbon, first-gen) but after six years, I thought it was time to replace it.

Of course, I wanted my new laptop to only run Linux. After some searching, I decided on the Librem 13, from Purism. Purism laptops are designed and built for Linux, and I wanted to support a hardware vendor that aimed squarely at the Linux and Free/open source software market.

Unfortunately, I had a few problems with the Librem laptop. The Intel on-board video card "flickered" when I used the internal display, and sometimes would go to "sleep" (not sure it was really in sleep mode or just shut itself off, but when the screen goes black and the laptop is still running, that feels like "sleep" to me). I contacted Purism, and they suggested this was a hardware fault they've seen on some laptops, and they gave me an RMA to return it for repair.

A tech later emailed me to say they couldn't repair the laptop, so they sent me a new one instead. My new Librem 13 arrived today, and it's great!

System information

I've highlighted the ordered specs and the system details so they are easier to compare: memorydisk, and CPU. Here's what I ordered: (copied from my order confirmation)

  • Keyboard: English (US)
  • TPM: Include
  • Memory: 16GB (1x16GB) (+$209.00) $209.00
  • Storage (M.2 SSD): 500GB (NVMe) (+$499.00) $499.00
  • Storage (2.5" SATA 3 SSD): None -$99.00
  • AC Adapter Power Plug: US
  • Wireless: Include Wireless
  • Operating System: PureOS
  • Warranty: 1 Year

I figured I'd max out the memory. I'd like this laptop to last a long time, and memory is a good investment there. Also, I swapped out the standard SATA SSD storage for a 500GB M.2 SSD storage. The prices here reflect those changes.

And the technical details: (*see note)

$ free -h
              total        used        free      shared  buff/cache   available
Mem:            15G        2.5G        5.5G        616M        7.6G         12G
Swap:          7.9G        263M        7.6G

$ cat /proc/cpuinfo |egrep '^processor|^model name'
processor : 0
model name : Intel(R) Core(TM) i7-6500U CPU @ 2.50GHz
processor : 1
model name : Intel(R) Core(TM) i7-6500U CPU @ 2.50GHz
processor : 2
model name : Intel(R) Core(TM) i7-6500U CPU @ 2.50GHz
processor : 3
model name : Intel(R) Core(TM) i7-6500U CPU @ 2.50GHz

$ sudo fdisk -l /dev/nvme0n1
Disk /dev/nvme0n1: 465.8 GiB, 500107862016 bytes, 976773168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x46f877a1

Device         Boot     Start       End   Sectors   Size Id Type
/dev/nvme0n1p1 *         2048   2099199   2097152     1G 83 Linux
/dev/nvme0n1p2        2099200 940814335 938715136 447.6G 83 Linux
/dev/nvme0n1p3      940815444 976768064  35952621  17.1G 83 Linux

First impressions

Overall
I've been using the new laptop for a few hours now, and I'm happy so far. This is a great system.
Video flicker is fixed
I'm happy to report that the video "flicker" problem is not present on this model! So that seems to have been a hardware fault, and not a driver problem. Very pleased that ended up being a fixable hardware issue.
Wrong key code for backslash and pipe
The keyboard issue is still there. The Purism laptop uses a keyboard that sends the wrong key code for the backslash key (\). The "shift" on this key is the pipe symbol (|). Try running any commands at the Linux command line, and you'll quickly run into a problem where you can't send the output of one program into another program. You need the pipe for that. Or try escaping a character at the command line, or in program code. You need the backslash for that.

This is a known issue on the Librem, but it's easy to fix. You need to run setkeycodes 56 43 to reset the correct key codes for that key system-wide. To make the fix permanent, create a new /etc/rc.d/rc.local file that is executable (I used mode 750, but anything that's executable and owned by root should do) and has these lines:

#!/bin/bash
setkeycodes 56 43
exit 0

This fixes the problem each time the system boots. You don't need to do anything at the user level. Note that I have my Librem connected to an external display, and I'm using an external keyboard and mouse. This key code fix doesn't impact backslash or pipe on my external keyboard, so I'm good there.
Operating system
I did end up re-installing the operating system. When I first booted the Librem, it was using the pre-installed PureOS Linux distribution. I played with it for a while, and actually did some work online with it, then decided I'd rather run the Fedora Linux distribution that I'm used to. I'll post an article later with impressions about PureOS.
*The numbers don't match exactly, and that's expected. Note that free and fdisk display powers-of-ten Gibibytes (GiB), while the specs from Purism display powers-of-two Gigabytes (GB). So 500 GB = 466 GiB and 16 GB = 15 GiB. (see comment)
Update: I'm still having screen flicker problems. It's just not as noticeable because the first screen flicker problem was wide "bands" of what looked like static. This new screen flicker problem basically looks like thin black lines that appear randomly on the screen, but just for a moment. I didn't notice at first because I use an external display as my primary, so my laptop display was just showing the wallpaper (a dark image) and my music player. But yes, Purism confirmed this is another hardware issue, so they are replacing it. They won't have new stock until sometime in August, so I'm using my old laptop until then.

Wednesday, June 27, 2018

A few thoughts on GNOME usability

I recently learned that GNOME developers have proposed moving the application menu off the "top black bar" and into the application window. The proposal is on the GNOME Wiki at App Menu Migration.

The wiki has a few mockups of how the menus would appear. The top-level application menu would be presented as a "hamburger" icon, and any secondary menus would appear as a "three dots" icon.

I have to say that I think this would improve usability. My previous usability testing shows that users prefer menus that are obviously part of the application (think "menu bar"). The application menu in the black top bar doesn't stand out as part of the application experience.

I was never completely a fan of GNOME's decision to put actions behind the application menu. I thought it was sometimes confusing. And in usability testing, many users didn't immediately realize it exposed a menu. Once you click on the application menu, in most applications there's just an option for "Quit" (which is the same as clicking the "x" icon in the upper-right, anyway). But in multi-monitor setups, the application window might be shown on a separate monitor from the display that has the black top bar. So you lose the association between the application menu and the application itself.

Moving the application menu into the application window makes a lot of sense.

My immediate thought is that the icons could be confusing. Instead, I'd recommend a "gear" icon for the top-level application menu, and any secondary menus appear as either the "hamburger" icon or a "three dots" icon. I'd pick the gear icon because most top-level menus are where you find the Preferences. I have a slight preference for the hamburger icon, but prototype usability testing would demonstrate which one was better for the user.

I have two recommendations:

  1. Make it very clear that one button is the top-level menu, and the other button is the secondary menu. For good usability, users want to find the right icon on the first try. They don't want to hunt for the right menu icon. Users need to make an immediate decision which icon to click. And for that, the top-level menu icon needs to be obvious, and the secondary menu icon needs to be visually distinct.
  2. Be consistent in where you place the top-level menu icon and the secondary menu icon. Having learned where to find the menu icons in one GNOME application, users should be able to transfer that knowledge to another GNOME application. My personal preference is to put the top-level menu icon in the left-most position (similar to the clickable program icon menu in GNOME 2) and to put any secondary menu icons in the right-most position. For application windows that use a split view, the secondary menu icon should always be on the right of the "pane" view.

As a quick html mockup of a few title bars shows the top-level menu always the left-most icon, and the secondary menu always the right-most icon:

Application×
Application ×
<Application ×
<Application+ ×
< Applicationz ×
< App name  Detail view+ ×

My html mockup isn't perfect, but I hope you get the idea.

I think the next step is for the GNOME developers to do a few prototype usability tests. Which icon would best carry the meaning of "top-level menu" and "secondary menu"? And where do users think to look for a "top-level menu" button vs a "secondary menu" button"?

Ciarrai did a great job with their prototype usability test of the then-proposed Settings app. Ciarrai and I co-authored an article for Opensource.com called Usability testing for early-stage software prototypes that provides a good model for how to do prototype usability testing. And remember, you only need about five testers to get "good enough" results, if you do iterative usability tests.

A few thoughts on Windows usability

FYI: I decided to take down this post.
If you missed it, the highlights are: I've been a Linux desktop user at home since 1993, and I ran Linux on my desktop at work from 2002 until the end of 2015. At my current job, we use Windows on the desktop. There are a few things about Windows that continue to bug me: ctrl-backspace isn't the same everywhere, PrtScr acts differently to me, and no virtual desktops.

I don't want to focus too much on Windows in this blog. But I thought the usability comparison was interesting. I took down the post because I decided I want my blog to be about open source software and not talk about proprietary stuff.