Tuesday, April 26, 2016

Congratulations, interns!

The Outreachy page has announced the interns for the May-August 2016 internship. There are five interns who will work with GNOME. I look forward to working with Ciarrai, Renata, and Diana on usability testing for GNOME. Congratulations on being accepted to the internship!

This is the first time I'll mentor three interns for usability testing. So for this cycle, I am looking to do things a little differently.

In previous cycles, the interns have pretty much worked in isolation, first learning about usability testing, then doing a usability test on GNOME. We passed those usability test results back to the GNOME Design team.

But in this cycle, I would like Ciarrai, Renata, and Diana to work more closely with others in GNOME. I'll do this in several ways:
First, I'll "launch" each week's topic by writing about it on my blog. I'll also email Ciarrai, Renata, and Diana separately. My intention is to use the comments section on my blog posts as a "discussion forum" for Ciarrai, Renata, and Diana. We might use emails for specific questions, but I think using a "forum" will allow the three interns to learn from each other as they do their own research on each week's topic.

Since my blog also appears in Planet GNOME, I encourage GNOME developers and designers to participate in the discussion. As we examine different topics of usability in open source software, please feel free to join the discussion via the comments.

Second, I want Ciarrai, Renata, and Diana to work more closely with the GNOME Design team. This will help the interns to learn about GNOME usability, including previous work in this area. The Design team can also share their insights to why certain GNOME design decisions were made. I would look for the most involvement from the Design team in the first half of the internship, since that is when Ciarrai, Renata, and Diana will learn about Personas and Scenarios. I think this will be emails and comments on weekly blog posts.

In the second half of the internship, I think the Design team might provide input to what design patterns they would like to have examined in a usability test, and comment on the Scenario Tasks for the usability test. As Ciarrai, Renata, and Diana focus on the Scenario Tasks and building their usability test, they will partner with the Design team to define the Scenario Tasks and comment on drafts of the usability test.

Finally, I'd like to have Ciarrai, Renata, and Diana collaborate to create the Scenario Tasks for their usability tests, so that all three are doing the same usability test with the same methodology. This will allow for interesting comparisons between tests.
Throughout the project, I expect Ciarrai, Renata, and Diana will do a lot of cross-commenting on each others' blog posts every week, as well as doing their own research.

I'm looking forward to working with Ciarrai, Renata, and Diana on usability testing in the May-August cycle!
image: Outreachy

Monday, April 11, 2016

The right to delete your own data

There's another version of this essay at my Coaching Buttons blog, also titled The right to delete your own data.
We have more protection for your credit card data than the information someone can use to set up a fake credit card in your name.

If you do anything online, your data is at risk. Always. Every time you open an account somewhere, you provide a bunch of personal information. Some sites don't ask for much more than an email address and a password. Other sites require more data about you. And other sites don't require many details to get started, but you add more anyway.

But websites get hacked all the time. And when they do, your data gets spilled out for any hacker to pick up and use to impersonate you online, or to leverage in an attack against more secure websites, such as your online banking. You are using a different password for every website, aren't you?

Think you're immune? You aren't. I'll bet if you search for your email address (like you'd use as a website login) at the Have I Been Pwned? website, you'll find your data has been breached somewhere.

Do you want your personal data out there if that website is breached? If you can delete your own account when you stop using it, then you can minimize your risk if the website is attacked. If you can't delete your own data, you can only hope the website doesn't get breached.

So it's very important that when you choose to leave a website, you must be able to delete your account. This is a data privacy issue.

When I left higher ed for a new position in local government, I started deleting any online accounts I didn't need anymore. Every week, I would login to another old account and try to delete it. Many websites have a "Delete my account" option right there, so you can choose to immediately delete your account. Other websites require you to work through their IT Support folks, who usually are happy to delete your account after first verifying who you are.

But not every website was that happy to let me leave. Some outright refuse to let me delete my own account there.

The website that's causing me the biggest headache is Educational Testing Service (ETS), the people who run the Graduate Record Examination (GRE) when you apply to graduate school. They also manage other exams. I took the GRE in late 2011 before I entered my Master's program in Spring 2012. As far as I know, I haven't accessed my account since then—until now, anyway. After finding no option to remove my own account, I contacted ETS in March 2016 (four years after I stopped accessing my account) to request they delete my account for me. I received this reply:
Thanks for your message! Unfortunately the MY GRE Account can not be deleted. Please note, it will drop out of the system as long as there is no access with the account.
Ironically, I'm also unable to delete my account at the White House petitions website. The "Contact Us" folks won't even return my queries. Thanks, Obama!

It's disturbing to me that some websites make it impossible to remove my account. While I can understand that some systems are just not set up to accommodate deleted accounts (Wikia tracks edits by account, for example) at least most websites don't actually store personal information. But some websites do keep personal information about you, and they don't let you delete your account or remove (or edit) your own personal data after it's in the system. This should be a large concern for anyone these days.

It's unsettling to have an account out there that I cannot remove. Especially one like ETS, which by its nature needs to know several personally identifying details about you so they can verify your identity for any exams you take through them. If the ETS website is ever hacked, my personal information is out there. As will be thousands of other users who have taken the GRE or other exams.

We need the right to delete your own data. It's your data. We need the right to manage and protect our personal information online.

We can change this. But I need your help!

I'm planning to reach out to U.S. Senator Franken (my Senator) on this issue. I think it's something worth fighting for. Please support me!
If you live in Minnesota, please contact Senator Franken's office (phone or email) and ask him to support the right to delete your own data. You can also tweet to him via @alfranken.

If you live elsewhere, I encourage you to reach out to your own Senator and ask that they support the right to delete your own data. Feel free to use the reasons I've shared here.

If you are on Facebook, I recently started a Right to delete Facebook group about this issue. Please join and share the Facebook group.
You can also support me by sharing, Tweeting, Facebooking, and reblogging this article. Post this on Reddit, put it on Slashdot, share it with your local news.
image: Sammynetbook (cc-by)

Tuesday, April 5, 2016

How did my March Madness brackets do?

I don't really follow the sportsball. But I do like to engage with others at my office who do. So every Spring, I feel somewhat left out as everyone at my office gets wrapped up in college basketball fever. I watch them fill out their NCAA March Madness brackets, and I always think about participating, but I know nothing about the sport other than you have to dunk the orange ball in the other team's hoopy net.

I'd like to take part in the fun, maybe put my five dollars into the office pool, but I just don't know enough about the teams to make an informed decision on my own March Madness bracket. So a few years ago, I found another way: I wrote a little program to do it for me.

I shared a version of that program a few weeks ago as "March Madness" in a shell script. (See also Bash Shell Script: Building Your March Madness Bracket at Linux Journal.) I've been using this method for a few years now. In brief, you can borrow the D16 die-roll method from tabletop role-playing games to fill out a "March Madness" basketball bracket.

The point of using a script to build your NCAA March Madness basketball bracket isn't to take away the fun of the game. On the contrary, since I don't have much familiarity with basketball, building my bracket programmatically allows me to participate in the office basketball pool. It's entertaining without requiring much familiarity with sports statistics. My script gives me a stake to follow the games, but without the emotional investment if my bracket doesn't perform well. And that's good enough for me!

How did I do this year? I generated a sample bracket for my blog and another bracket for the article I wrote at Linux Journal. Let's break down the results based on each article.

"March Madness" in a shell script (opensource-usability)

In the first round of the NCAA March Madness, you start with teams 1–16 in four regions, so that's 64 teams that compete in 32 games. In that "round of 64," my shell script correctly predicted 23 games. That's not a bad start.

March Madness is single-elimination, so for the second round, you have 32 teams competing in 16 games. My shell script correctly guessed 9 of those games. Still not too bad.

But things fell apart for me in the third round. This is the "Sweet Sixteen" where 16 teams compete in 8 games, but my script only predicted 3 of those games. My East bracket was a complete loss.

And in the "Elite Eight" round, my script didn't predict any of the winners. That wrapped up my brackets.

Building Your March Madness Bracket (linuxjournal.com)

The sample run I shared in my Linux Journal article turned out not to be so great. Starting at the first "round of 64," my script correctly predicted 19 of the 32 games. A poor start.

My bracket didn't have much to work from in the "round of 32" where 32 teams compete in 16 games. With a weak first round, it's not surprising my second round only correctly predicted 7 correct outcomes.

Going into the "Sweet Sixteen," my shell script didn't fare much better. Only 4 correct predictions here. My West bracket was completely correct, but my East bracket was wiped out.

The "Elite Eight" round eliminated my brackets altogether. No correct predictions, ending my brackets.

What were the final scores?

Following the standard method for How to score March Madness brackets, each round has 320 possible points. In round one, assign ten points for each correctly selected outcome. In round two, assign twenty points for each correct outcome. And so on. From that, the math is pretty simple.

"March Madness" in a shell script (opensource-usability)
score: 530

Building Your March Madness Bracket (linuxjournal.com)
score: 490

Ah well. I'm not really bothered by my brackets. If you recall, I said this about the script's output:

Every time you run the script, you will generate a fresh NCAA March Madness basketball bracket. It's entirely random, based on a D16 prediction similar to Dungeons and Dragons, so each iteration of the bracket will be different. In my experience, the D16 prediction works pretty well for the first few rounds, but often predicts the #1 team will make it to the fourth round. It's not a very scientific method, but I'll share that my computer-generated brackets usually fare well compared to others in my office.

So I expected my script to do well in the first few rounds, but fail to correctly predict the championship winner. But I had a lot of fun following the games.

I'm curious if anyone out there used the shell script to fill out your own NCAA March Madness brackets. How did your brackets fare this year?
image: Wikimedia (public domain)

Saturday, April 2, 2016

A brief history of visual interfaces

Last week, I wrote about the visual brand and user experience. In that article, I introduced the concept of breaking down a user interface into distinctive visual elements that truly represent the core identity of the graphical desktop.

In that article, I demonstrated that shapes and arrangements used in the presentation define a user interface's visual brand. In this way, the shapes influence our perception and create an association with a particular identity. Even without the distinctive wallpaper background, we can recognize particular arrangements of shapes and colors as different user interfaces. We recognize a particular arrangement and connect that pattern with a brand.

To demonstrate, I provided a visual "quiz" to demonstrate how a few colored shapes and simple symbols can depict a recognizable operating system interface.

Rather than simply reveal the operating systems listed in that little quiz, allow me to expand on that topic a bit. I thought it would be interesting to show a brief history of the visual brand of operating systems using that list. Through this brand history, you can see the evolution of operating system interfaces.

In the beginning was the command line. While early computers were programmed by means of wires, switches, and cards, the first recognizably "modern" computers used a simple command line. Evolving from teletype terminals, the command line provided the most fundamental interactive interface to the computer. The operator typed in a command, and the computer did the action requested.

The command line should be familiar to anyone who used Unix systems "back in the day." You will also be familiar with the command line if you used the original Apple computer, or MS-DOS or any of the other DOS systems from the 1980s and early 1990s. (In 1994, I created a free software version of DOS, called FreeDOS. Many people still use FreeDOS to play classic DOS games, to run legacy business software, or to support embedded systems.)

Today, the command line interface continues as a comfortable "power user" interface, especially when working on Unix servers.
FreeDOS command line (Wikipedia)
In the mid to late 1980s, computer systems began to sport graphical user interfaces. The "desktop" concept was still nascent, but generally used separate windows for separate processes. Every user interface was different, but generally these windows used a tab or title bar over a rectangular display area.

The most recognizable consumer-oriented desktop from the era was MacOS (1984). Native to Apple's Macintosh computer, MacOS popularized several user interface metaphors still used today. A "trash can" contained to-be-deleted items, a file manager (Finder) used a graphical representation of files and folders, and desktop icons represented available disk volumes.
Apple Macintosh original desktop (Wikipedia)
The MacOS desktop has become part of Apple's visual brand. Over the years, Apple has done little to modify that brand. In the latest versions of MacOS, the white menu bar is still prominent at the top of the screen. MacOS X (2001) also introduced a Dock at the bottom of the screen to launch commonly-used programs, and to represent running applications.
Apple MacOS X 'El Capitan' desktop (Wikipedia)
The first graphical user interface I used was Microsoft Windows. Windows 1.0 (1985) was a sad representation of a graphical desktop; I think Windows became "ready for the desktop" starting at Windows 3.0 (1990). My first graphical user interface for Unix was TWM (1987) which featured a similar interface with a blank desktop and overlapping windows. Other contemporary Unix graphical interfaces used a similar visual style, including Motif, Open Look, and NeXTSTEP. You may also be familiar with FVWM (1993) which was a derivative of TWM.
Windows 3.0 desktop (Wikipedia)
TWM desktop (Wikipedia)
NeXTSTEP desktop (Wikipedia)
OpenLook OLVWM desktop (Wikipedia)

Microsoft further refined the Windows system with the release of Windows 95 (1995). This version introduced a "task bar" along the bottom, with new way to launch applications via the "Start" menu. The task bar also represented running applications as clickable buttons, with other system applications represented in a "system tray."

Windows 95 immediately became very popular, due to its ease of use—especially compared to previous versions of Windows. Other user interfaces mimicked the new look and feel of Windows 95, including FVWM95 (1995), KDE (1996), IceWM (1997), and GNOME 1 (1997).
Windows 95 desktop (Wikipedia)
FVWM95 desktop (Wikipedia)
GNOME 1 desktop (Wikipedia)
Microsoft Windows maintained this visual brand for many years, until the release of Windows 8 (2012). I'll skip my discussion of Windows 8 and Windows 10; we can pick that up in another post. Also, I don't have a lot of experience with Windows 8 or Windows 10, so it's hard for me to comment on it.

I'll add that Windows has changed the task bar color over different versions, but continued the brand element of the task bar. In Windows XP (2001), the task bar was a deep blue. Windows Vista (2007) switched to the Aero glass-like theme, and the the task bar became smoky grey. Windows 7 (2009) also used Aero, but with a light blue task bar. Throughout, the task bar remained a key branding element for the Windows desktop.

KDE has similarly maintained its visual identity, updating the look and feel over time. The latest versions of KDE use the Plasma desktop which incorporates the Air theme with a light "glass" look reminiscent of Windows 7 Aero.
Windows 7 desktop (Wikipedia)
KDE Plasma 4 desktop (Wikipedia)
While Microsoft remained steadfast with the Windows user interface, other popular desktops continued to evolve. GNOME 2 (2002) modified the user interface arrangement, placing a separate task bar at the top where users could launch programs, and where GNOME displayed the date and time. A separate task bar at the bottom showed running applications. It was around this time that I helped friends and family to transition to free software, using GNOME 2 on the desktop. I explained GNOME 2's arrangement as "things you can do" (top) and "things you are doing" (bottom).

While the two task bars deviated from other popular desktop environments at the time, the arrangement was not too dissimilar to more common graphical environments, so was easy to learn. At the time, I found GNOME 2 to be a sort of hybrid between Windows (bottom task bar shows running applications) and MacOS (launch applications using the top task bar).

Interestingly, the KDE 1 desktop (1998) had previously introduced dual task bars, although implemented differently from GNOME. The KDE interface used a bottom task bar to launch programs, but a separate top task bar displayed running applications and allowed users to switch between them. This approach was abandoned in KDE 2 (2000) to use the more familiar single task bar interface still in use today.
GNOME 2 desktop (Wikipedia)
KDE 1 desktop (Wikipedia)
An update to GNOME's user interface was first proposed at GNOME's annual GNOME User And Developer European Conference (GUADEC) in July 2008. The team wanted to address several perceived design issues that had become more pronounced over time: Finding windows was frustrating and difficult. Workspaces were useful but not easy or natural to use. Launching applications was labor-intensive and error-prone. The panel suffered from over-configurability; applets were little used by most users.

GNOME 3 (2011) removed the traditional task bar, in favor of an "Overview" mode that shows all running applications. Instead of using a launch menu, users start applications with an "Activities" hot button in the black top bar. Selecting the Activities menu brings up the Overview mode, showing both things you can do (an application dock to the left of the screen) and things you are doing (window representations of open applications).
GNOME 3 desktop in Overview mode (Wikipedia)
Today, computers are more than a box with a monitor, keyboard, and mouse. We use smartphones and tablets alongside our desktop and laptop computers. In many cases, "mobile" (phones and tablets) displace the traditional computer for many tasks. I think it's clear that the mobile and desktop interfaces are merging. Before too long, we will use the same interface for both desktop and mobile.

The key to making this work is a user interface that truly unifies the platforms and their unique use cases. We aren't quite there yet, but GNOME 3 and Windows 10 seem well positioned to do so. I think MacOS X and iOS (Apple's mobile platform) feature similar interfaces without uniting the two. Perhaps Apple's is a better strategy, to provide a slightly different user interface based on platform. I think it will be interesting to see this area develop and improve.
images: Wikipedia

Friday, April 1, 2016

I hate Microsoft Office

In my professional career, I've been fortunate to run Linux on my work desktop for pretty much forever.

In my first job after university (1995) I was the Unix systems administrator for a small technology company. The standard desktop was Unix (a mix of Apollo DOMAIN, HP-UX, and SunOS) for the developers, and Windows 3.11 for everyone else. As the Unix systems administrator, it wasn't a big deal for me to run Unix on my desktop.

Maybe you remember Slackware Linux? There was an alternative spin called Slackware Pro that was very nice, and came with (limited) phone support. That's what I ran on my work desktop. I didn't need the support, but my bosses liked to have the option. My computer was dual-boot, switching into Windows on the rare occasion I needed to run Office. But most of the time, I ran happily in Linux all day.

Even when I later became associate manager of the IS team, I mostly ran Linux at work. Linux did everything I needed it to do. We were a small company, so we didn't pass a lot of printed memos around. Most of our inter-office communication was via email or in meetings.

At my next job, I was a working manager at another small company. I think there were five of us in my IT support team, including me. Again, I ran a dual-boot desktop computer, and most of my time was spent in Linux. By this time, I'd switched to Red Hat Linux, which ran better (faster, more stable) on my hand-me-down workstation than Windows 95. I was aided by a great office program I'd purchased for home, and had work buy for me at the office. StarOffice was very compatible with Microsoft Office at the time. I could edit and exchange Word documents and Excel spreadsheets with my colleagues.

Later, I again changed jobs, moving to a university. Like many in higher ed, we could run whatever we wanted on our desktop computers, so I installed Linux. I was dual-boot with Windows NT, but still ran Linux most of the time. Instead of StarOffice, the now-open source OpenOffice let me interact with Word, Excel, and Powerpoint files. We ran a Novell network with Novell's groupware, but there were Linux programs that let me interact with the email and calendar systems, and to access my Novell drives.

A few years later, around the time I moved up into a larger management role, we retired Novell. Instead, we moved the back-end to a CIFS/NFS network storage system, and implemented a version of webmail. With this, I didn't need Windows as a "crutch" anymore, and I finally switched to Linux full-time at work. It was great! For a few years, anyway.

In 2009, I was promoted to senior manager of operations and infrastructure for the university. With the new role, I got a new director, and he took a dim view to anything that wasn't Microsoft. We went back and forth about my Linux desktop, until ultimately I re-installed my work computer with Windows.

It was the first time I'd run Windows in quite a long time. I'd been a Linux user since 1993, when I was a student at university, and since 2002 I'd been fortunate enough to run Linux full-time at work. The difference between Windows and Linux was shocking, to say the least.

I'll save the long story, but eventually that guy left, I got promoted, and I ran Linux at work again. For the last six years, Linux was my primary platform. We converted to Google Apps for Education, so while I could still use LibreOffice to work on Office files, the local software didn't matter that much anymore. We all used Google—Gmail for our email, Google Calendar for scheduling meetings, and Google Docs for Word, Excel, and Powerpoint. But I still enjoyed using Linux on the desktop, and only rarely dual-booting into Windows for some one-off thing I needed to do there. GNOME on Fedora Linux was a far better experience than Windows 7.

Until my current job. I'm in local government. And local government is very pro-Microsoft. So I'm back to using Microsoft on my work desktop again.

The shift to using Microsoft Windows after so many years of running Linux has been interesting. The usability of Microsoft Windows and Microsoft Office is just weird. If you don't mind, I may share the occasional thought (or gripe) here as the mood shakes me.

Here's one to start with:

We are running Office 365. This effectively moves Office into the Cloud. So while you can use the desktop versions of Word, Excel, Powerpoint, and Outlook, you can also use Office 365 via a web browser. We didn't go all-in on the Microsoft Cloud, but at least the web option is there for those who prefer it. But to get the most out of Office, it seems Microsoft just wants you to use the desktop version. So I'm using the desktop version of Office for now, and the web version is a sort of "remote access" option.

But I have to say it: I hate Microsoft Office. At least, I don't like the interface. I'm used to the simple, straightforward user interface in Google Docs. Even the user interface in LibreOffice, is laid out in a fairly logical manner, somehow accommodating additional bells and whistles. While I admit LibreOffice is not flawless (LibreOffice sometimes does things in a really stupid way) but at least it's something you can figure out.

Now I'm using Microsoft Office again, for the first time in … I don't remember how long. And the interface seems very klunky to me. And very busy. As much as Microsoft wants Office to be smooth, there's a lot of friction. The interface seems confusing to me, especially after having used Cloud-based software and open source software for so many years.

Here's an example: The icon to delete emails in Outlook is a swooshy "✗" icon. That seems out of step with the smooth appearance that Microsoft seems to prefer. The swooshy "✗" is probably supposed to make Office look cool, but to me it just looks old. Like, that was a neat idea in the 1990s or early 2000s, but today that's just clutter.

The rest of Office just seems confusing and overwrought. I have a hard time using it. I've been using Microsoft Office for three months, and only recently did I discover that I can cancel out of previewing an attachment in Outlook. Seriously, all this time I've been clicking into other emails just to exit out of the attachment preview mode.

Yeah, the usability in Microsoft Office is weird.
image: Wikimedia (public domain)