{"action":"created","issue":{"url":"https://api.github.com/repos/sandstorm-io/sandstorm/issues/1087","repository_url":"https://api.github.com/repos/sandstorm-io/sandstorm","labels_url":"https://api.github.com/repos/sandstorm-io/sandstorm/issues/1087/labels{/name}","comments_url":"https://api.github.com/repos/sandstorm-io/sandstorm/issues/1087/comments","events_url":"https://api.github.com/repos/sandstorm-io/sandstorm/issues/1087/events","html_url":"https://github.com/sandstorm-io/sandstorm/issues/1087","id":113722761,"number":1087,"title":"Grain titles being petnames confuses people","user":{"login":"kentonv","id":4001805,"avatar_url":"https://avatars.githubusercontent.com/u/4001805?v=3","gravatar_id":"","url":"https://api.github.com/users/kentonv","html_url":"https://github.com/kentonv","followers_url":"https://api.github.com/users/kentonv/followers","following_url":"https://api.github.com/users/kentonv/following{/other_user}","gists_url":"https://api.github.com/users/kentonv/gists{/gist_id}","starred_url":"https://api.github.com/users/kentonv/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kentonv/subscriptions","organizations_url":"https://api.github.com/users/kentonv/orgs","repos_url":"https://api.github.com/users/kentonv/repos","events_url":"https://api.github.com/users/kentonv/events{/privacy}","received_events_url":"https://api.github.com/users/kentonv/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/sandstorm-io/sandstorm/labels/usability","name":"usability","color":"f7c6c7"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":7,"created_at":"2015-10-28T01:22:25Z","updated_at":"2016-04-21T22:54:29Z","closed_at":null,"body":"Currently, Sandstorm grain titles follow a petname model: when you receive a document shared from another user, initially the title is a copy of the title as seen by the sender, but subsequently you can change the title, and the changes are only visible to you (and people you later share with).\r\n\r\nThis is totally different from how most cloud services work, and it confuses people.\r\n\r\nPetnames have some nice properties, though, and I'd be sad to simply throw them out. In particular:\r\n* If someone sends me an overly-generically-titled grain (e.g. \"My todo list\", or \"Untitled Etherpad\"), I'd like to rename it for the purposes of my grain list.\r\n* If I'm looking for a document that I've opened before, I'll probably be looking for the title I remember it having. If the owner can change that, I might be confused.\r\n* There may be a phishing threat if a malicious user can rename a grain in my grain list to spoof some other grain that they know I have.\r\n\r\nNote that petnames are analogous to what happens when someone e-mails you a file: the filename is initialized based on the sender's filename, but once on your system, the sender can't change it, only you can. Another analogy is to variable names in a programming language: when a value is passed from one function to another, the name often changes, and this is considered a good thing, since the name is meant to identify the value *relative to* the context.\r\n\r\nBut that's all theory. Back here in reality, it seems that users do expect that the title (as shown in the top bar, at least) is part of the grain's _content_ and therefore is up to the grain owner to choose and change at will. We've seen plenty of examples of people being confused by the current behavior -- clearly it needs to change somehow. The question is, can we come up with a compromise that keeps the nice properties above but also makes sense to people?\r\n\r\nSome questions to think about:\r\n* Do people have different expectations for the topbar title vs. the grain list title? My issues mostly revolve around how the grain is shown in the grain list, but I think most of the complains focus on what appears in the topbar when the grain is open. Could these be disassociated somehow?\r\n* Could we solve my problems by showing more information in the grain list and top bar that provide sufficient context to avoid confusion? For example:\r\n    * What if we always show the author's name? \"From Bob: My todo list\" largely solves the problem of bad/ambiguous titles. It solves the phishing problem *if* we separately prevent people from spoofing names, which may require a petname system for identities, but that's something we probably want to do anyway. There is a possible problem, though, in that it's not clear that we are always allowed to reveal owners' identities to sharing recipients.\r\n    * Could we solve the searchability problem by matching search queries against all of the document's previous titles? Could we show \"Was: [old title]\" in the UI somewhere?\r\n* Should recipients still be given the option to specify their own title if they actively choose to do so?"},"comment":{"url":"https://api.github.com/repos/sandstorm-io/sandstorm/issues/comments/213150649","html_url":"https://github.com/sandstorm-io/sandstorm/issues/1087#issuecomment-213150649","issue_url":"https://api.github.com/repos/sandstorm-io/sandstorm/issues/1087","id":213150649,"user":{"login":"zarvox","id":307325,"avatar_url":"https://avatars.githubusercontent.com/u/307325?v=3","gravatar_id":"","url":"https://api.github.com/users/zarvox","html_url":"https://github.com/zarvox","followers_url":"https://api.github.com/users/zarvox/followers","following_url":"https://api.github.com/users/zarvox/following{/other_user}","gists_url":"https://api.github.com/users/zarvox/gists{/gist_id}","starred_url":"https://api.github.com/users/zarvox/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/zarvox/subscriptions","organizations_url":"https://api.github.com/users/zarvox/orgs","repos_url":"https://api.github.com/users/zarvox/repos","events_url":"https://api.github.com/users/zarvox/events{/privacy}","received_events_url":"https://api.github.com/users/zarvox/received_events","type":"User","site_admin":false},"created_at":"2016-04-21T22:54:29Z","updated_at":"2016-04-21T22:54:29Z","body":"A couple questions:\r\n\r\n* when we say \"upstream name\", is that a global bit of information (the grain owner's name), or is it the person-who-shared-with-you's petname for the grain?\r\n  * If the former, then it's basically \"only the owner can rename the grain for everyone\", so a resharer might rename their copy, but no one else will see their change.  On the upside, they'll see the \"renamed from\" `<global title>` message, so they'll at least have a name that everyone else can use.\r\n  * It's probably not the latter, because the sharing graph is a graph, so there's not a unique \"predecessor\" for a given user in the graph.\r\n\r\n* Could we rephrase the \"Was: <old upstream name>\" case to switch the placements of the two titles, and change the subtext to \"Now: <current upstream name>\"?  The intent there is to make the user's name for the thing always be the big text, and the upstream name always be the subtext.  Having to parse both names and subtext each time, especially if their roles may vary between items in the list, seems like more cognitive load than I want to do myself, let alone ask users to do.  If I know I'm looking for my name for a thing, it'd be nice to know to focus on the big text or the little one."}}