As I've been template-izing my ASP.NET MVC work (here and here) and thinking about public-facing websites holistically, I came across an interesting metaphor around users, applications, and the Internet itself. I found a bug in the code I posted (and, yes, it's been fixed) in my Account controller where a view was named "Logon" and its backing Action was named "Login." My initial reaction was of course that I simply had to follow MVC conventions and just match them up.
Since it was faster to rename the Login method in the controller to Logon than it was to rename the view's cshtml file, I went with "Logon." But that looked kinda funny. It sort of makes me think of the name of a species from a science fiction movie."The Logons are invading sector 4G7!" or whatever. So what about Login? I changed both components to this, and liked it a little better.
"Login," for whatever typographical reason, still manifests that a verb and a preposition have been smushed together into a verbosition, which is a part of speech I just invented. So from a glance at a webpage, seeing "Logon" makes me think of aliens while "Login" makes me think of passwords. So, psychologically, I'm going with the latter, both in terms of intuition and grammatical aesthetics.
But I was still curious about this metaphor. Well, it's not really a metaphor per say; it's not like saying that "Authentication is like the facial recognition region of your brain" or "Logging in/on is like falling in love" or anything like that. It's really more of a physical consideration around an ethereal action.
All these ones and zeros are floating around in the air; files, web pages, databases, etc. don't exist as physical entities. Of course, there are servers and circuit boards and chips and transistors. But there's no way to reach out and touch a web page as you would a newspaper. (Or at least not yet...) But like I said, I started thinking about this ethereal stuff more concretely anyway.
So do you log into a site or onto a site? I'm thinking about these verbs physically. When you're using a site, are you physically in side of it? Or physically on top of it? What do each of these mean? I'm going to dig into metaphorical cyber space here, and hopefully find some sort of relevance for us back in the real world.
Like I said, I prefer login to logon (neither of which interestingly offends Word's spell checker). Comparing a web site to a house: you can visit different pages (or rooms) connected by navigation links (doors) which can be locked (security). Or course there are also architectural similarities where sub systems support the rooms or pages that visitors are consuming. The word "plumbing" is used to refer to the minutia of data access layers, business objects, and other non-UI functionality. And we "wire" up event handlers just as an electrician wires up a fuse box.
So when you get invited to a house party, and you ring the bell, are you asked to "come inside" or "come onside" their place? If I showed up to a friend's apartment and was asked to "come onside" I wouldn't really know what to do. You are in the house. It is perfectly valid to be on a house, but that is nonsensical in the context of a social visit. And, living downtown Chicago, I've been on plenty of rooftop decks and patios; although they are indeed situated on top of a building, they are used as room rather than a roof. So while you're technically outside (and onside), you're logically inside; you're still constrained by floors and walls and doors.
It's the same story when you visit a web site. You are inside it. You can't see the rest of the Internet when you're on a particular site. In fact, the web is rather opaque to that extent: you are always using a page, or an FTP folder, or a network drive. There's no ubiquitous "lobby" to the Internet. You're always somewhere. You're not on a site. If you were, it would be like being on a house or apartment building.
When you're standing atop a tall building, you can't really say that you're in it, because you can see what's around it. When you're really INside something, its four walls define the extent of your current universe. It's like being in a tent in the middle of the forest. It's sort of like being in love. But when you're on something, it is elevating you to see beyONd it. It's serving you, giving you a boost, almost obsequiously.
Or think of it in terms of time. If you're "on time" then you've mastered time; you are on top of it as you are "on schedule" or "on task" or "on mark." You are perched on time's shoulders, staying just above it or ahead of it. However, if you are "in time" that generally means that you had to expedite something or in some way put yourself at disease to arrive punctually. You are in time; you are inside of time, it owns you and swallows you up.
A good web site should be immersive, starting with conveying to its users that they are "in" it, and ultimately getting to a point where they don't even realize they are using a site at all; they are simply doing the thing that your site allows them to do. It's like letting your mind wander while you jog and forgetting, for only a few seconds at a time, that you're actually running.
Compare this to being "on" a site: you're just perched up there, deciding if you want to dive in. It's like standing on the bank of a pond with your shoes and socks off. There're no walls and the water's cold. But like I said, there's no cyber-lobby; you're in or you're out. Even search engines are still just sites. Operating systems are really just programs! There's no "white room" like in The Matrix when everything's loading. You are logged into a site or an app or a computer; the only thing you're "on" is probably a chair of some sort.
There's no lobby, no starting point, no origin: just a closed system of circuit boards wired together. Much like cells in an organism, everything's specialized; some of these circuit boards are grouped into database tables and some are really good at being memory processes while others are soldered together to make network cards or threaded into Ethernet cables. These organisms form an ecosystem that is the Internet. It's the universe that all one's and zero's live in. In.
So when we think of being "on" something, the Internet itself is the lobby. Everything is the starting point. I don't want to get into quantum mechanics, but like electrons in the cells above, all websites are everywhere at once, buzzing around with no exact, permanent physical location. IP addresses change, hard drives change, and servers change; web sites live on in one layer of abstraction on top another. On.
The "on" for us being "on line" is our Internet connection. We are "on" the Internet, connected by a "line," whether it's a phone line or a fiber optic line or something in between. Once your NIC does its thing and DNS does its thing, you are online; you are on the Internet. You're connected; you have the potential to visit any resource in the whole world to which you have access, and login to it. The Internet is what you're on whenever you're in a site, but you're never actually on it; only inside of one logical piece of it at a time.
So we're online and logged in. There's really only one more positional metaphor I'd like to play with. We've talked about servers and pages and networks. But there's one more facet of being online that's really only half online and half logged in: Email. You're not on Email. You're not in Email. You're at Email. Of course, you need to be online to receive and send Email, but not to read it, compose it, sort it, delete it, etc.
And of course, you need to login to something to access Email. If you use Gmail, or any other web-based Email client, then it's pretty much the same story as any other website, except the content just happens to be listings of messages. But what about checking Email on your phone? Or via Outlook at work? These are client programs, and use your credentials the same way a login form would on a page to log you in. However, unlike the web, you can still do at least some things if you're offline. In a way, you're offline and logged in!
But the "at" component is what's interesting. Before, I said that you're not "in" your Email. And that might seem to be true at first; a lot of clients (especially in the SharePoint world) tell me that they "live in their Email." And on the surface, that's valid. However, if you dig a bit, you see that they don't live in their Email, they live in their Email client. The molecules of air that support such a life are the Email messages themselves. And these messages would never reach them and oxygenate their inboxes if they didn't know where the person was at.
So in much the same way you live at a street address, you very much so live at an Email address as well. You have a unique name at a unique location. You might live in a house...that's on a street...but at an address. If you standing on top of a sky scrapper, and fired up a mapping application on your phone, it wouldn't be able to discern your location with respect to the building. As far as your GPS is concerned, you're at the building, not in it or on it.
In the Internet universe, you're in some things, on some things, and at some things. For me, the takeaway from these metaphors is the realization that positional pronouns can help us design better systems. If you're a web person, whether you're technical or creative, (or indeed both) image your users being in your work. Is it immersive? Is it intuitive? Do people get excited about using it and feel compelled to share it with their friends? Does it make their lives easier?
If you're a hardware or network person, consider the experience of users being on your infrastructure. Is it fast? Is it really really fast? Is it reliable? Does it protect itself from outages or data loss? Does it scale? Are you doing everything you can to ensure that your corner of the Internet is a safe environment for people to store their work?
And if you're an administrator, be cognizant that users have identities at your location. This goes beyond just Email: network accounts, authentication, authorization, and all of that come into play as well when someone is at somewhere dot com. Is onboarding simple and automated? Are passwords managed well? Are permissions granted - and revoked - properly? Does everyone have everything they need?
Think about this stuff and build beautifully.