Cassidy James

Personal blog/musings of Cassidy James Blaede.

Jul 23, 2014

Misuse of Terms in UIs

Throughout the years, I've noticed several recurring misuses of terms in user interfaces. Designers or developers often don't know when to use one term over another, or what the difference between two similar terms is. These really are grammar rules, but they specifically apply to user interfaces.

As a general rule, if there is a term with two words and another term with those two words written as one word, the former is considered a verb and the latter is considered a noun.

Log In vs. Login

Log In: (verb) To authenticate or provide an identity to a website, app, or service.

Katie logged in to Facebook.

Login: (noun) 1. One's credentials or identity for a website, app, or service. 2. The specific page, section, or feature that provides functionality for logging in.

  1. Katie provided her login to Facebook.
  2. Katie visited the login page.
  1. It's best to avoid using login for credentials as it can be confusing to users. Instead, specifying "username and password" or similar required credentials is more explicit.
  2. Login can be useful when referring to pages internally, but should be avoided in user-facing text in favor of the action verb log in.

...and Log On

Log On: (verb) 1. Usually synonymous with log in. 2. Informal: to visit a website.

  1. Log on to the computer.
  2. Log on to www.example.com to see our latest posts.
  1. It's best to avoid this one as well since log in is more common.
  2. A better term would be "visit."

Sign In

Sign In: (verb) Synonymous with log in.

Katie signed in to Facebook.

Using sign in versus log in is a preference. However, be sure to use only one of the terms, and use it consistently.

Log Out and Sign Out

Log Out: (verb) 1. The opposite of log in. To deauthenticate from a website, app, or service. 2. Informal: to leave or close a website, app, or service.

  1. Katie logged out of Facebook so her sister could log in.
  2. Katie logged out of the website by closing the window.
  1. Logging out should be an explicit action.
  2. Although log out is commonly used this way informally (especially by those who are less computer literate), it's best to avoid it.

Sign Out: (verb) Synonymous with log out.

Always use the parallel verb for your log in or sign in.

Set Up vs. Setup

Set Up: (verb) To prepare or initiate.

Katie set up the computer for her sister.

Setup: (noun) The process that involves preparing or initiating.

Katie performed the setup of the computer.

Less vs. Fewer

Less: a smaller amount when the item is not countable.

Katie has less hair than her sister.

Fewer: a smaller amount when the item is countable.

Katie has fewer hairbrushes than her sister.

If the subject you're comparing is not commonly referred to as a countable quantity of individual items, i.e. lots of sand, use less.

If it is commonly referred to as a countable quantity of individual items, i.e. three grains of sand, use fewer.

If you're unsure, ask yourself, "Is it how much or how many?" Much = less, many = fewer.


Are there other terms you've seen misused in user interfaces? Let me know in the comments.

Jul 7, 2014

Shortlist: July 2014

I hate wishlists. Making a big long list of all the things you want just seems both tedious and selfish for some reason. I get that some people might want to get you gifts for your birthday or Christmas or some random occasion. But by making a wishlist, I feel like I'm saying, "Get me anything as long as it's on this big long list."

Instead, I've come up with the idea of keeping a personal shortlist. What's the difference? It's a list of a few things (I still haven't decided on a cap, but definitely ten or fewer) I really want. Not just, "Oh this looks nice, add it to the list." But like, the things I'd like to get for myself if/when I can afford it. If someone really wants to get an awesome gift from my shortlist, I will absolutely love it. Otherwise, they can use that list as inspiration for other things I'd like. Or they can give me something more personal/handmade, and that's cool.

Current Shortlist

  1. Nest thermostat
  2. Lockitron
  3. Destiny for PS4
  4. Moto 360

Right now, it's at four items. It could grow to five or six, but these are the top things I'm currently in love with but don't own. :)

You may notice the top two items are decidedly grown-up; Katie and I are now married and living in our own apartment, so I have an excuse to use these smart home gadgets. :D

Apr 24, 2014

Life Changes

There comes a time when you want a change in your life. After dating my girlfriend Katie for nearly six years, I asked her to marry me. But that's old news (and the wedding is fast approaching).

Apparently I didn't think that was enough of a change in my life, so I went and accepted a position at System76 in Denver, Colorado. Katie and I will be moving out there this summer after our wedding.

It's quite the move from Iowa and we'll greatly miss our Iowa friends and family, but it's also an incredible opportunity for us to start our own family together.

I'll be hopping on board as a front-end web developer, making the System76 site (and other projects they work on) rock. I'm excited to meet the team in person and work with the people who make my favorite computer.

If anyone is around the Denver area and has tips for moving/getting settled there, let us know.

Apr 20, 2014

My elementary Wishlist

Occasionally I think of random apps or utilities that I'd love to be able to use on elementary OS. I jot them down and keep doing what I was doing, but today I decided to share in the hopes of inspiring someone out there to design and develop some cool things. :)

In each case I'm imagining the solution as a sexy, elementary-native, GTK3 utility. Something that would feel like it's a first-party elementary tool.

Synced Clipboard

Though not everyone has multiple elementary devices, there are some times when I copy something on one computer and want to access it from another computer. Right now, I pop open Geary and shoot myself an email as it's the quickest way to get that text onto another machine. Instead, it'd be interesting if my clipboard was just synchronized across my elementary devices—and possibly even my mobile devices.

To implement this, I'd imagine someone would have to tap into an existing cloud syncing backend. I can't share extensive details, but elementary is working on some pretty cool cloud backend magic. Collaborating there would be awesome.

Stupid Simple Remote Desktop

This is something I've brought up before, and I still don't think anyone has nailed it. Google has their Chrome Remote Desktop which is pretty easy, but it depends on the entire Google Chrome app being installed and running in the background at all times. VNC and Microsoft's remote desktop both work if configured properly, but every experience I've had there has been confusing or impossible due to firewalls.

What I imagine is a simple native app that each person installs. It has something like three options:

  1. Get Help (invite someone to control your computer),
  2. Give Help (control a friend's computer after being invited), and
  3. Access Your Devices (remote control your existing remote computers).

From a technical perspective, I'd expect it to use some sort of SSH tunneling to be secure, maybe using VNC through that. I'm not the most knowledgeable about remote desktop protocols or tools, but I feel like it should just work over the web with tunneling. Without me having to know what VNC, SSH, or tunneling are.

Simple & Smart FTP Client

Yes, I know Filezilla works (most of the time). But it's ugly, overly complicated, and excessive for most of what I do with an FTP client. What I'd much rather see is a beautiful GTK3 FTP client that lets me set up my projects and connect to them easily. I imagine it having a sidebar (SourceList in Granite lingo) with these projects, and two synchronized panes, the left for the local project files and the right for remote. It'd use the system's default filetype associations, could smartly auto-sync my changes, and would possibly even keep track of the changes with a sort of version control.

This is one that I haven't thought all the way through, but mostly comes from being extremely dissatisfied with the current landscape of FTP clients for elementary OS.

Launchpad for Desktop

As you may know, elementary makes heavy use of Canonical's Launchpad service for bug reporting, code repositories, blueprint tracking, etc. It's an extremely versatile and powerful service. But using it on the web feels excessively complicated.

I imagine a native desktop app for Launchpad. It'd remember my login and auto set up my public/private keys for authentication. It'd also give me access to projects to which I have contributed or can contribute. I could view the recent activity of the project, report and triage bugs, branch it to solve a bug, and submit merge requests. Essentially every time I'd typically go to the Launchpad website, I'd instead be able to complete the task in this beautiful native app.

Where this overlaps with a full IDE, I'm not sure. However, I see value here not only for elementary, but for anyone who develops for Ubuntu or its derivatives.


I'm sure I've thought of or will think of more ideas like these. I'll follow up this post with more once they're fleshed out a bit!

If you have any questions for me or want to start work on one of these ideas, feel free to contact me at +Cassidy James.

Apr 7, 2014

Why a music app shouldn't be a podcast app

Many popular music apps handle not only music, but podcasts. The thinking goes that since both are comprised of MP3s (or other audio files), that they should be handled in the same app.

Music

The mental models between a music app and a podcast app are vastly different, though. I don't go, “Hmm, I want to listen to one or more MP3s. Do I want that to be a series of songs, or a podcast?”

I go, “Hmm, I want to listen to some music,” or, “I want to listen to a podcast.”

Just because one underlying piece of technology is the same doesn't mean it needs to be the same app. Especially when you start to consider the unique aspects of podcasts like subscribing, downloading, streaming, video, etc. It's just a whole different monster.

Vocal

This is why I'm excited to see the third-party app Vocal being developed. It's a podcast app through and through. The elementary Music app can stay dedicated to organizing and playing music, while Vocal can take all of those podcast duties and rock at them.


Cross-posted to the elementary Journal.

Mar 31, 2014

5 Myths About elementary

Whether I'm browsing Google+, responding to tweets from @elementary, or telling friends about elementary in the flesh, I'm bound to hear some random myth about elementary that is just plain false. I've noticed a few (five, to be exact) that seem to keep cropping up. Rather than copy-pasta my response to each and every comment out there, I decided it'd be more worth my time to lay them out and tackle them one-by-one here.

elementary is just a theme on top of Ubuntu

Most people have seen what elementary is now, but some are stuck in 2010 and think it's all about the icon and GTK themes. While these are distinct and important aspects of elementary as a whole, we've grown far beyond just themes. elementary includes an entire operating system (elementary OS) built from an Ubuntu core, a desktop environment (Pantheon) and all of its components, several apps (Files, Noise, Audience, Maya, Terminal, Scratch, Snap, and Switchboard to name a few), a developer toolkit (Granite), a design style, and a set of Human Interface Guidelines. There's so much more to it than "just" a theme.

elementary OS uses GNOME Shell

GNOME Shell Screenshot

The first ever release of elementary OS in 2011, Jupiter, was built from Ubuntu 10.10 and subsequently included the core GNOME 2 stack. This included the GNOME session itself along with some of the GNOME apps. After Jupiter, we realized we could only improve the user experience so much by building from an existing desktop environment, and we started work on Pantheon, a modern DE. We stripped back the GNOME components that we didn't want or need, built replacements where appropriate, and started to nail the UX between WingPanel, Plank, Slingshot, and the other components. Around the same time, GNOME was hard at work with GNOME Shell, another modern DE.

elementary has never used GNOME Shell, and the user experience between the two is quite different. Because work on Pantheon was happening around the same time that GNOME was developing GNOME Shell, many people seem to think that Pantheon is actually a fork of or built from GNOME Shell.

Also, the panels are the same color (black), at least in Luna.

elementary Forked GNOME Shell or Mutter

Related to the previous misconception, many people seem to think that we've forked GNOME Shell and/or Mutter for our DE Pantheon or window manager Gala. Neither is true, but something more exciting is true.

Gala, a core component of our Pantheon desktop environment is built using LibMutter, the same core that GNOME Shell is built on for its window management. This means we can completely control our user experience while also benefitting from improvements and new developer-facing features under the hood.

Installing Pantheon on ____ is the same as using elementary OS

elementary develops Pantheon, our desktop environment, for elementary OS. Conveniently for many users out there, elementary OS itself is built from the same core as Ubuntu LTS versions. This means Pantheon tends to work on these versions of Ubuntu. However, Pantheon isn't all there is to elementary OS; we also have several changes under the hood that make the OS run better, and in some instances (like with the upcoming Isis release) we include newer libraries than Ubuntu, making it more difficult to use Pantheon on Ubuntu. In addition, we develop and test on elementary OS itself, and we can't always predict the conflicts users will run into when using Pantheon on other platforms.

We don't discourage users from installing Pantheon on their favorite compatible OS, we just don't officially support it and won't be surprised if they run into issues.

Luna is outdated

Ancient photo of Luna

Here's one I hear mostly on Google+: "Luna is so old and outdated, why don't you guys release a new version already?" This is crazy and probably attributable to the relatively fast pace of other open source releases. But look out into the greater pool of operating systems. Is an operating system considered ancient after a short six months? Especially if that operating system has received constant minor updates during that time frame with new versions of apps, fixes, and tweaks? Of course not; our current OS version is Luna and we're pushing out improvements to it all the time.

Further, thanks to the folks over at Canonical, we even have a new hardware enablement stack available to users that includes new drivers and a new kernel for hardware that came out after Luna was released. This is installable in Luna already, but we're also working on a new download image that has it (along with all updates to Luna) included, making installs on new hardware even easier.

Mar 25, 2014

Random Music: Mystery Love

Daniel Foré shared this song with me and I thought it was pretty groovy/funky. It's by +Hugo Millwood's band Galaxy Cat over on Bandcamp. Check it out!

Also, Hugo has given elementary permission to use his music in promos and whatnot, so don't be surprised to see that featured somewhere. ;)

Mar 25, 2014

New New Blog

That was short-lived.

If you follow me on social media (or just randomly visit my website), you may have noticed I said I was switching to Blogger.

As I am sucked more and more into Google's ecosystem (I use Android, Gmail, Drive, Google+, and more on a daily basis), it makes more sense to use Google's platform for writing.

Ha. Except Blogger, well, kind of blows. The only thing it's got going for it at this point is its Google+ integration, and that's something I can cook up myself later or just ignore for now.

So what am I using this time around? Scriptogr.am, a service/platform that basically runs on top of Dropbox and Markdown. It works for now and I'll be sticking with it so long as it stays operational and simple. I really enjoy the fact that I can write up posts wherever in Markdown then throw them into a folder and they get published. It's pretty cool and insanely easy.

Maybe I'll write more. We shall see.