![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Having just shared an EW article on Facebook, it crystallized for me a point about LJ's recent "+1 button" flap.
The thing that bothered me about the whole +1 feature, I am now realizing, is that it was a solution in search of a problem. That is, my sense was that LJ was mostly doing it to keep up with the Joneses, with no thought to what the actual effects on the community would be. It was notable that they never said, "Here is a problem we're trying to address, and this is the way we're planning to deal with it" -- they just said, "Here's a new feature", with no rationale presented at any point aside from the fact that Everybody Else Does it.
And the thing is, I don't actually *like* this feature on FB or G+, because it is too ambiguous. I certainly use it, but I am always bothered by it. FB's "Like" is connotationally wrong in many circumstances: what I usually want to say is, "I agree with this post" -- but there are a lot of posts on horrible subjects, where pressing the "Like" button is just plain squicky. And Google's "+1" is (deliberately, I suspect), semantics-free -- it is never quite clear *what* somebody means when they press it. Sometimes it indicates agreement, sometimes it's a cheap-and-quick way to share the link, sometimes it is simply a way to store this link for future reference.
(Of course, the truth is that both buttons mostly exist for the purposes of giving more information to Facebook and Google, so that they can more accurately profile you, to sell you as an advertising target.)
When I ponder it, I find that I wouldn't actually mind buttons with clearer semantics. A simple "I agree" button would have some downsides (in that it would reduce the impetus to actually comment meaningfully), but at least I would understand its purpose. Frankly, an "I read this" would fulfill the social-back-scratching that many people mean when they say "Like". A configurable mechanism, that let you design your *own* buttons on your blog, and choose from a palette of canned options, might be downright spiffy and interesting. (If more challenging to implement.)
This is leading me to wonder which features from the big social networks I actually *want* in LJ. The one that jumps out to me is "Share". I've wound up doing most of my link-sharing via FB these days, simply because it is so damned *easy*: click the button, type my meta-comments, and it's done. I'd love to have something similar for LJ, but of course LJ can't make sites pick them up, and nowadays they're sufficiently minor that most sites won't. I suspect the right answer would be for someone to implement this as a browser plugin that detects the presence of a Facebook "Like" button and injects the LJ version. (Or possibly just adds a right-click that lets you Share any page via LJ.) Does this already exist?
Anyone have other ideas? LJ's comment system is vastly better than FB or G+'s, and it had the concept of distinct flists long before they picked the idea up. Are there any other features of the other social networks, or variations thereof, that you think would be positive additions to LJ? And for that matter, what features *have* you always wanted to see on LJ?
The thing that bothered me about the whole +1 feature, I am now realizing, is that it was a solution in search of a problem. That is, my sense was that LJ was mostly doing it to keep up with the Joneses, with no thought to what the actual effects on the community would be. It was notable that they never said, "Here is a problem we're trying to address, and this is the way we're planning to deal with it" -- they just said, "Here's a new feature", with no rationale presented at any point aside from the fact that Everybody Else Does it.
And the thing is, I don't actually *like* this feature on FB or G+, because it is too ambiguous. I certainly use it, but I am always bothered by it. FB's "Like" is connotationally wrong in many circumstances: what I usually want to say is, "I agree with this post" -- but there are a lot of posts on horrible subjects, where pressing the "Like" button is just plain squicky. And Google's "+1" is (deliberately, I suspect), semantics-free -- it is never quite clear *what* somebody means when they press it. Sometimes it indicates agreement, sometimes it's a cheap-and-quick way to share the link, sometimes it is simply a way to store this link for future reference.
(Of course, the truth is that both buttons mostly exist for the purposes of giving more information to Facebook and Google, so that they can more accurately profile you, to sell you as an advertising target.)
When I ponder it, I find that I wouldn't actually mind buttons with clearer semantics. A simple "I agree" button would have some downsides (in that it would reduce the impetus to actually comment meaningfully), but at least I would understand its purpose. Frankly, an "I read this" would fulfill the social-back-scratching that many people mean when they say "Like". A configurable mechanism, that let you design your *own* buttons on your blog, and choose from a palette of canned options, might be downright spiffy and interesting. (If more challenging to implement.)
This is leading me to wonder which features from the big social networks I actually *want* in LJ. The one that jumps out to me is "Share". I've wound up doing most of my link-sharing via FB these days, simply because it is so damned *easy*: click the button, type my meta-comments, and it's done. I'd love to have something similar for LJ, but of course LJ can't make sites pick them up, and nowadays they're sufficiently minor that most sites won't. I suspect the right answer would be for someone to implement this as a browser plugin that detects the presence of a Facebook "Like" button and injects the LJ version. (Or possibly just adds a right-click that lets you Share any page via LJ.) Does this already exist?
Anyone have other ideas? LJ's comment system is vastly better than FB or G+'s, and it had the concept of distinct flists long before they picked the idea up. Are there any other features of the other social networks, or variations thereof, that you think would be positive additions to LJ? And for that matter, what features *have* you always wanted to see on LJ?
(no subject)
Date: 2014-06-17 12:47 pm (UTC)(no subject)
Date: 2014-06-19 05:44 pm (UTC)For LJ, I think it would be keenest if (0) it were for comments not posts[*], (1) the owner of the journal turns it on or off for their journal if they want (opt in for extant journals, opt out for new journals), (2) if on for a journal, can be turned off on a by-entry basis, and (3) the list of values (up to N, where N is an integer like eight) are journal-owner customizable, so that whatever the values represented are, are the ones that they want for their journal.
Now /. allows (allowed?) you only to assign up to one point to only one category per comment. But I'd love it to be able to vote a comment "well-written", "thought-provoking", and "disagree" (i.e. "wrong") all at once.
[* I don't know why, but I have a strong visceral reaction that having this feature on posts would be Bad -- highly aversive and discouraging to posting. *shrug*]
(no subject)
Date: 2014-06-17 01:08 pm (UTC)For example, I've given up trying to follow board games talk on any large-scale social media. There's just no way to narrow down to the few parts I'm interested in. I think the key feature is the formal structure of who-replies-to-what is the key feature, because it allows for trimming branches of a discussion. I have e-mail configured the same way, but the metadata is more likely to get lost.
(no subject)
Date: 2014-06-18 12:30 am (UTC)The ambiguity of its meaning actually works in its favor. It becomes multi-determined, multipurpose. Sometimes it even means something different to sender and receiver, and that's okay; people stumble through conversations not realizing both sides have different understandings, all the time, but both understanding a deeper level of connection.
One downside is the recurring conundrum of "my horse died / I like this", where you really want like to mean "ack". That meaning has local traction or lack thereof; I've chastised people who have Liked bad things, and I've used it in that way myself, depending on context.
On G+, "+1" carries an extra connotation of "I agree with this", as opposed to a simple "I read this". This can be useful when implicitly voting on answers to a question, though the vote up/down nature of sites like Reddit and Stack Overflow are much better suited for that. But those sites are set up around a central model of one-call-and-many-responses (possibly in a tree, on Reddit, or flat on SO)--not a conversation with multiple first-class speakers. I find it less positively-valenced than Like (obviously), and that gives it less power--it is a social tie without heart, a cold gesture. The symbolism of that, against the somewhat emotionless, out-of-touch perception of Google as a company, is striking.
Twitter's equivalent, starring a post, is a little different; it's kinda +1ish. But with the retweet button right there, you have a much stronger mechanism--taking action, instead of just plinking. Showing, not telling. By resharing (on Tumblr) or retweeting, you're very much saying something about the post--you're saying it's important enough to bring into your own stream, to pull it into your own cycle. That has all sorts of good side effects, and indeed the RT is why Twitter still exists. It also promotes side-conversations, pulling third parties in, and forming new bonds. (About 75% of the people I add on Twitter I find out about through RTs.)
So what *do* I want? ...
(part 2)
Date: 2014-06-18 12:50 am (UTC)Twitter is the most stream-like; two hours, and you've lost context. FB and G+, you can skip a day and still perhaps catch up, in the Swiss-cheese fashion they now enforce, but catch up a little. Tumblr varies wildly, but at least it doesn't "lose" posts the way FB does. But LJ, you can just keep poring back through history for hundreds of posts, which these days is weeks.
It's still easy to lose old posts, though, once you've started participating. FB (and G+, though the G+ mechanism is clunky) do a good job of alerting you when you should re-engage an old topic. LJ, less so--you get comment notifications, but unless you track every post, only for stuff "at" you. Twitter muddles this up a bit; communication and sharing look similar, but the medium is flexible enough people invent new ways to get and give notification. (@foo vs. ". @foo" vs. "MT @foo" vs. "RT @foo"...)
FB purposely tapers notifications off after a while--you don't get more notifications on two-day-old stuff, not unless something changes, so topics drift off into the sunset. LJ doesn't do this, and back in the day it was problematic. Only the relentless creation of new content prevented things from getting stuck--and the lossy notification scheme actually helped, there. Otherwise we get stuck in old arguments until the end of time. (This was a major problem with Usenet: old flame wars simply NEVER died. Usenet had another problem, the one-microphone problem, which exacerbated this.)
So what *do* I want?
I think it's a way to remain engaged with the conversations I want to remain engaged with, and a way to ignore the ones that are bad for me to stay engaged with. I want a quick and easy way to let people know I am still present, and another one to let them know I read what they wrote.
I want them voluntary (like turn signals) not involuntary (like brake lights)--because sometimes it's important to be able to lurk. Sometimes a mere presence indicator is too strong a signal. Sometimes, I just want plausible deniability; we behave differently when observed, in a more constrained fashion. This is why I don't like systems that automatically display when I've read something (e.g.: FB posts on a commercial page, Outlook mail receipts).
And "read" is too ambiguous an action: I might have opened your post in a tab and never fronted the tab, for example, or I might have read it but not retained it. But the recipient will usually interpret "Foo read this" to mean that Foo read it and understood it and thought about it. This leads to poor outcomes, e.g.: if Foo didn't respond, maybe they hate me? Or the office nastygram, "I know you got my email! Outlook told me so!!!" So wording is very important here. FB tries, with "Seen by X", which is gentler than "Read by X", but still too strong...
Commenting *proves* you read something, often: it's evidence you thought about it, even more so if you mirror or expand in the comment. "I read this" is the degenerate comment that says this. (Whereas to me "." really means "I'm here", a different signal.)
But comments always come out worse than we mean; almost everyone forgets to start the comment with "great idea! here's my alteration of it" or other such problems. I'll often Like-and-comment, in the hopes that this communicates to my recipient that I am thinking positively about what they posted, and expanding on it. I'm not sure why this is easier than just starting my comment with "Great idea!" or whatever...
So: a way to say I'm here and sympathize. A way to say, I'm thinking positively of you. A way to say I agree. A way to share this with my own circle, to bring it into my voice while leaving breadcrumbs back to you--but only if you let me. And, of course, a way to comment--to continue the conversation.
Perhaps also a button for "a promise for engagement later"--I feel like you've posted two
Re: (part 2)
Date: 2014-06-18 01:05 am (UTC)So in keeping with the spirit of your point, I don't want to just leave this, but I'm a little overwhelmed - you've put more thought into this than I have, and I need to spend some time internalizing it.
I'm dropping this one into my Querki to do folder, because I'm going to have to chew on the ramifications more seriously. I may come back to it here, or I may buttonhole you in person for some conversation on the topic...
(no subject)
Date: 2014-06-19 03:08 am (UTC)This is basically the only thing I want, and I don't need site owners to embed a button -- a js bookmarklet might be totally adequate. But I want something like G+'s amazing click-and-it-summarizes-and-picks-the-illo feature. G+ is leveraging Google's omniscience and awe-inspiring computational power, so unless there's something obviously clever to be done, LJ won't be able to do that.
(As an aside,
of course LJ can't make sites pick them up, and nowadays they're sufficiently minor that most sites won't
I was just an hour agao shocked to see, when clicking the "Share" link on a Youtube video, the last little icon on the list was LJ's. It's been so long since I've seen it, I had to mouseover to make sure it really was a post-to-LJ button, and not that some new company was stepping on LJ's trademark. But I digress.)
That's it. That's the only social networking feature I've ever encountered that I've wanted on LJ.
I can think of all sorts of features I want for LJ, and (1) none of them are social networking features -- if they even exist, they're forum and blog features -- and (2) few of them are in evidence on other sites. I want to see LJ develop the sorts of LJ-specific features that leverage and multiply its strengths, which are not what generally goes under the banner of social networking these days.
I want better comment moderation tools (I have specific requests), so that I (and everybody) can stop misusing privacy (read-access) controls as moderation (write-access) controls, and thus be more public. I want users to be able to appoint other users moderators in their journals.
I want better archive management tools. Right now, LJ's archive management tools, which are terrible in that they barely exist, are AFAIK, best-in-class for social networking.
I want tagging to be better in lots of ways. I want LJ's interfaces to use tagging better, because it was pasted on late and never properly leveraged in user interfaces.
I want LJ to liberate our data. If LJ gives us better ways to download, backup, and maybe even upload our data, then maybe we'll be even more keen to share it with LJ.
I want filter-sensitive search: I want a logged in user to be able to do a google-style word search on every entry and comment they have access to read. I'd compromise on logged in users being able to search single journals at a time.
I want LJ to have community wills and/or other means of planning and implementing ownership succession for comms.
I want LJ to pay down its technical debt and just fix a lot of bugs, because (1) that would be intrinsically awesome and make most of us users infinitely more happy than the latest GUI outrage and (2) making the LJ code not suck means it's not impossible to then make LJ a proper FOSS project, and then...
I want LJ to have an actually developer community. I want LJ to have the benefit of developers out there doing awesome things to the LJ code and submitting them as patches. LJ, STOP BEING SO HARD TO HELP AND LET US GIVE YOU FREE LABOR.
I want an OAuth implementation or some more reasonable equivalent so that third parties can implement means of posting to LJ that don't require users to give them their full LJ credentials. Make a sub-authentication scheme that allows third party apps (e.g. IFTTT, DW's crossposter) to post entries (optional ticky box: and edit them) without also giving them access to read flocked posts in fourth-party's journals, and without giving them delete privs. This also could be used to supply trusted others with limited access to update one's journal should one become incapacitated.
I want the Scrapbook to support other file types, like PDF, so musicians can share scores on here.
I want an email receipt when one posts via email, a receipt which includes the URL of the new post (h/t Wordpress).
[continued]
(no subject)
Date: 2014-06-19 12:25 pm (UTC)True. I tend to take that for granted, since both G+ and FB do it decently, but it's not at all easy.
I want better comment moderation tools (I have specific requests)
Would you be willing to say what those are? Besides my usual deep interest in this topic, I'm thinking about Querki's moderation design pretty actively these days -- it's going to be a crucial feature, and I'd like to get it right.
Right now, LJ's archive management tools, which are terrible in that they barely exist, are AFAIK, best-in-class for social networking.
Sad, but probably true.
I want LJ to liberate our data.
Mmm -- yes. The inconvenience of backing up my LJ bothers me regularly.
I want LJ to pay down its technical debt and just fix a lot of bugs
Yeah, I've long found it curious that the only people seriously working on the LJ codebase seem to be DW. (And I gather that, by now, they've diverged pretty seriously -- it sounds like a lot of the LJ code is grungy enough that they've scrapped it and rewritten.)
I want an OAuth implementation or some more reasonable equivalent so that third parties can implement means of posting to LJ that don't require users to give them their full LJ credentials.
Heck, a first step would be documenting the APIs they *do* have. (IIRC, the DW-to-LJ crosspost feature is based on a more or less completely undocumented API.)
(no subject)
Date: 2014-06-19 05:15 pm (UTC)I've wondered if there was a way to use google's -- an API that let's you submit a url and get back that info in JSON format or something similarly useful.
Would you be willing to say what those are?
First on the list is the ability to set the commenting and comment screening levels to custom security settings (i.e. filters). One should be able, e.g. to make a post public, to allow comments on it from all authenticated readers, but only the comments of people on a filter (or in the union of multiple filters) to post unscreened. Voila, white-list moderation. Someone doesn't play well with others? They can be removed from your privileged commenters list, but still read, and still comment though screened. New people can be friended without having to worry how they'll interact with the other guppies in the tank: they start out with their comments screened, until they prove themselves by how they comment.
Similarly, one should be able to make a post (public or locked) where the only people who can comment at all are those on a filter. Other people can read the post and discussion, but they aren't allowed to participate. The day I get that is the day y'all get to find out what's been happening on my clinicians' filter. Almost nothing in there's secret, I just use a filter to prevent n00b questions and Dunning-Kruger suggestions, so we shrinks can chat about our lives.
I expect this feature would also be very useful to many social justice groups, that could allow discussions among people in oppressed groups to happen where they can be read by others who might benefit by it, without opening those groups up to derail; it allows the software to enforce the "the first step is to shut up and listen to us, instead of talking over us" paradigm.
It would also be keen if it were possible to set the comment area, as a whole, for a post to a different (more restrictive) security level than the post, such that users don't even see the comments (looks like comments turned off) unless they are authorized at whatever permission level (friends lock, filter) the comments are set to.
Second, disemvoweling.
Third, the ability to review all of the comments a user has made in your journal. It's easier to figure out if someone is being a subtle problem if you have some way to go back and check.
Fourth, the ability for the owner of a journal, or the moderators they designate, to rate comments +1 or -1, and for a running tally to be kept on each user, so that the owner/moderator of a journal can see at a glance, "Hmmm, this user's making a lot of -1 comments." This would be particularly powerful combined with the above, so that when new people show up, their contributions can be noted, so that it's evident, "Hey, this person is contributing well; we should white-list them." It's hard for humans to track the quality of comments across new usernames. But these scores would not be visible to anyone except the owner/moderators of a journal, and would not be aggregated across journals.
(no subject)
Date: 2014-06-19 07:00 pm (UTC)Querki is going to have some of that out of the gate (eg, "Can Read", "Can Read Comments" and "Can Comment" are already completely separate permissions, with fine-grained control), and others are coming (eg, whitelisting is going to be a first-class standard feature), but the latter suggestions are good food for thought for me.
I don't think any of it is fundamentally hard to do -- most of the effort would probably be the UIs to make those features easy and clear enough for non-experts to use them effectively. One lesson Querki is driving home to me is that architecture is relatively easy; good UX is hard...
(no subject)
Date: 2014-06-20 11:59 am (UTC)(no subject)
Date: 2014-06-20 04:04 pm (UTC)(no subject)
Date: 2014-06-20 04:07 pm (UTC)(no subject)
Date: 2014-06-20 04:16 pm (UTC)(You can? Huh. WP.org or WP.com?)
(no subject)
Date: 2014-06-20 04:28 pm (UTC)https://gist.github.com/timmc/c697c31e8ca6ff29b38d
(no subject)
Date: 2014-06-30 06:44 pm (UTC)But there are some easy ways to get close. Amazon does this with their universal wishlist button. Searches for a dollar figure and presents that as the cost amount. Grab the pictures on the page and present a thumb. Grab the page title as almost every eCommerce site puts the name of the item in the page title for SEO reasons. Etc. All being editable fields so the user can comment/alter the data pre-posting.
I agree parsing and summarizing is hard, but presenting a workable option at all isn't, and so it shouldn't be pushed down the wishlist because we let perfect be the enemy of good.
And there is a (somewhat) API documentation at http://www.livejournal.com/doc/server/ljp.csp.protocol.html
(no subject)
Date: 2014-06-19 03:09 am (UTC)I want the character limit on comments to be raised, and the size of the comment textarea to be twice as tall.
I want an alternative view for friends/filter pages with an apparent in-page control for toggling between the regular view and it, where in the alternate view, the posts are reverse chronological order of most recent comment, not entry date.
I want a first-class interface on LJ to see and work with comments, both in my journal and wherever I comment. The Inbox is not that. I want a Friends-type feed of entries on which I have commented, which show not only how many comments there are total, but how many replies (recursive) my comments there have gotten. And with an Ajaxy little triangle I can click on to unfold the (compact) list of my comments and their replies' subjects.
I want an opt-in setting, "Automatically subscribe me to comment notifications for discussions in other journals and communities I comment in."
I want four times the number of filters. Or more. I have various features I want to make reading filters better.
I want LJ to actually pay attention to suggestions.livejournal.com. I'm under the impression there's some great stuff in there.
I want to be able to "invite in" specific other users, who are not on a filter, by name, to be able to view locked posts without my having to add them to the filter, or even friend them, and I want it to be temporary with setting an expiration date a mandatory part of the interface, and the expy being no more than a month into the future.
I want to be able to set the filter of a post to "filter minus this one person" (without having to create a new filter just for this purpose). I call this the Surprise Party Planning Feature.
I want the option of having on each public post in others' journals and comms, pie-chart icons which show you how much overlap there is between the friends list of the person who posted it and your friends list: make it obvious whether the other people on your friends list saw it, to inform the reader whether it is worth reposting it oneself. Heck, make links in posts mouseoverable (opt-in feature) that shows in a little ajax pop-up an aggregate number/percent of people on your flist who have seen a post with that link in it (i.e. sum across different friends posting the same link). Answer "have all my friends on LJ seen this already?"
I want when someone goes to change the privacy settings on a post to be more restrictive, or to delete it, or to substantially edit it (length reduction), I want the user notified if that post is in any other user's Memories. "Hey, before you take that down, did you know that 20 people save at link to that in their memories?"/"Hey, user X, who won't have access under your new setting for this entry, had put it in their Memories. Are you sure you want to kick them out? y/n" I want there to be a mechanism that encourages users to schedule such changes in advance and alert subscribers to those pages to save a copy now while they can -- but not mandatory. I want putting something in Memories to mean you're subscribed to notifications (opt-in account setting) of changes to that post.
I want LJ not to rely on Ajax. Asynchrony in interfaces turns out to suck in that things can fail to happen, or get temporarily hung up in media res, and you have no idea. Also, I want to be able to use LJ on antique browsers and hardware.
I want a lot of things. But they're not things other platforms are doing.
(no subject)
Date: 2014-06-19 12:37 pm (UTC)Better -- I'd like it to autogrow as you type. This isn't rocket science any more: Querki's had that feature for a long time, based on an open-source component.
I want to be able to set the filter of a post to "filter minus this one person" (without having to create a new filter just for this purpose). I call this the Surprise Party Planning Feature.
Heh -- yeah, that's an awfully common use case. Sadly, I suspect that the data structures in their current form don't support it.
Answer "have all my friends on LJ seen this already?"
Intriguing. This one would actually be useful on any social network, but I can't recall ever seeing anything like it.
I want a lot of things. But they're not things other platforms are doing.
Fair enough, and this is quite a good list of suggestions: I agree with pretty much all of it. Thanks...
(no subject)
Date: 2014-06-19 05:22 pm (UTC)I hate autogrow. Never works well in my browsers.
Intriguing. This one would actually be useful on any social network, but I can't recall ever seeing anything like it.
It's astronomically processor intensive. I toyed with the idea of setting up a third-party service, like LJToys, to implement it via greasemonkey script and paid subscription service to do the set crunching. It couldn't handle friends filters, though; public posts only. And it would have to monitor your list of friends (people friended you) and the list of all your friends (people-you-friended's people-who-friended-them), and cache all that. Which is... interesting, both socially and technologically.
(no subject)
Date: 2014-06-19 07:10 pm (UTC)Interesting. What are you using? (I've seen a minor bug or two so far, but need to know if there are bigger problems than that.)
It's astronomically processor intensive.
Well, it's a pretty classic Big Data sort of problem -- I'd certainly tackle it using Hadoop or its equivalent to play map-reduce on it. Still expensive, but I suspect it's not crazy by modern standards.
Which is... interesting, both socially and technologically.
Yaas. It wouldn't be very hard for the walled-garden services (which already have all that data, and aren't shy about using it), but doing it ethically in an open environment is, as you say, interesting.
(no subject)
Date: 2014-06-19 08:01 pm (UTC)Camino 2.0.9, Firefox something recent, Safari 5.1.10, and Blazer (on which autogrow will never work).
There's a site (that shall remain nameless) with autogrow that I visit in FF (haven't for some time, so don't know how more recent FFs behave or if this has been fixed) and the comment window has the most amazing typing lag. I have no idea why.
(no subject)
Date: 2014-06-19 08:13 pm (UTC)Okay, good reminders to me of more to test. (Especially Camino and Blazer, which I probably haven't even looked at yet.) Thanks.
I'll have to ponder the right way to handle this. I suspect it's going to involve being realistic about whether autogrow works on a given platform, and making sure that if it *doesn't* work right, we fall back to a UI that still doesn't suck. (Which it might well already do, but that assumption should be checked.)
Hmm -- this may require giving the Space's designer the ability to specify how tall they would prefer a given Large Text field to be. That's not hard to do, but doesn't exist yet...
There's a site (that shall remain nameless) with autogrow that I visit in FF (haven't for some time, so don't know how more recent FFs behave or if this has been fixed) and the comment window has the most amazing typing lag. I have no idea why.
Likely the code doing something excessively clever in Javascript, and not sanity-checking it. It's an easy trap to fall into, and if you're going to do a lot of "live" stuff as the user types you need to always think about how much you're trying to do per keystroke.
(This is a bit front-of-mind for me: some of the WYSIWYG stuff I would like to do in Querki is potentially a quagmire of lag unless done carefully...)
(no subject)
Date: 2014-06-19 08:57 pm (UTC)They're antiques. Honestly, if your site works in Netscape 4.7, it will work fine in those. :D
Slightly more seriously, AFAIK, js continues to play poorly with assistive tech. Having js-free (or at least "js only at load time", or "js conveniences") sites is an accessibility bonus.
Likely the code doing something excessively clever in Javascript, and not sanity-checking it.
Yeah, I just can't figure out what it's doing that's so demanding. Is it sending every keystroke back to the server and waiting for a response?? (I could read the js, I suppose, but haven't troubled to.)
(no subject)
Date: 2014-06-19 09:33 pm (UTC)Yep, known issue for some time now. (Pretty much since LJ rolled out its new commenting system and broke lots of assistive tools.) The medium-term plan is to support alternate UIs, specifically because of this pair of issues (older browsers and good assistive support). There is a very deep tension between trying to build new-and-sexy UI vs. supporting those properly, and I'm disinclined to kid myself that I can solve that hard problem.
Instead, the plan is to call a spade a spade, architect for multiple UIs, and plan for an alternate UI that is *specifically* designed to play well with older browsers and assistive tech. That's more than simply tweaking a few UI features: it potentially implies a real rethink of some workflows. That, in turn, has a lot of architectural implications: the system needs to think in terms of internal APIs, with UIs as drop-in modules, so that it's sufficiently flexible.
(While it would be lovely to have The One True UI that works great in every circumstance, I'm betting that it's a pipe dream.)
I'm not going to be able to do much about it this year, while I'm still getting the core bootstrapped. But I'm trying to move the architecture in that direction (albeit slowly), and it's in the plan for next year to properly prioritize this. (And I have a couple of folks who have volunteered to help me understand the assistive tech better when I get there.) Actually, that's a good reminder -- there, I've just added it to the formal Roadmap, so I don't lose sight of it.
Is it sending every keystroke back to the server and waiting for a response??
Not impossible -- I've certainly seen naively-designed systems that did that. (Usually built by programmers who have a 5ms latency to the server, and don't see any problem with it.)
(no subject)
Date: 2014-06-19 09:44 pm (UTC)You can have that if you can implement it on Netscape 4.7. :)
In reality, the other huge problem to be aware of is that ever growing number of people using the web from handhelds. Quite aside from the js (and CSS and HTML5) issue, there's the fact that UIs should work differently when you have different amounts of screen real estate to work with -- and different amounts of bandwidth and processor power. For instance, inline editing is lovely on my desktop machine. But don't make my not-so-smart phone reload and redraw the entire huge page just to present me with inline editing -- take me to a new, smaller, page with just the editing fields.
"Responsive design" is apparently only about layout, not about workflow. And thus has been a big disappointment to me.
(no subject)
Date: 2014-06-20 12:33 pm (UTC)That's going to be a constant battle, though, not something I fix and am done with -- if Querki winds up successful, I suspect I'm going to need people focused on mobile, regularly testing everything on both the phone and tablet form-factors, and arguing about how they should be different from desktop. Once again, I doubt that there's a *good* one-size-fits-all answer, and the alternate-UI mechanism will eventually come into play there as well.
The hardest problem is actually going to be in promulgating best practices via the tech, though. Since Querki is more a platform than an app, I can't entirely dictate that people build their Spaces in ways that are ideal for mobile. Instead, I have to look at it as a second-order problem, providing them with tools such that mobile compatibility flows naturally from the easiest choices. Some of the basics are fairly easy (using Bootstrap gets us the basic responsive-design stuff), but I suspect we'll find that we need to focus on having the user say what they want to accomplish, and choose the right UI for the circumstances...
(no subject)
Date: 2014-06-19 09:52 pm (UTC)It seems to me a large amount of the problems I've seen in web UI have been rooted in this failure of perspective taking.
(no subject)
Date: 2014-06-19 10:15 pm (UTC)So this is about 40% of what I do at work--represent the user's point of view during the design phase, so that the interface matches their mental model and is written in their language. Otherwise yeah, the front end is built to resemble the underlying data structures. I suspect LJ doesn't have a UX team, just some folks with UI coding experience and probably a designer who has opinions about colors and fonts (not based in functionality, judging from the recent eye-squinting changes)...
Querki's in an odd position because it has a middle mental model, namely, users are allowed to push Objects around. This makes things extra tricky, because the user's mental model looks like an object model, but isn't quite.
For most web UIs there simply isn't a good excuse these days, though. Tons of experience, learning, books, etc. out there ("Don't Make Me Think!" being the classic). It's hard work, but it's not uncharted territory!
(Relurks)
(no subject)
Date: 2014-06-20 12:48 pm (UTC)Yaas. Indeed, I've long considered this to be Querki's hardest problem to overcome, and it's why I'm unabashedly focusing on techies as my initial early-adopters, since they are already somewhat comfortable with the idea of breaking down a problem. (It is also why Querki's preferred workflow is kind of evolutionary, and I'm going to be putting a lot of weight on making trial-and-error not *too* painful.)
I figure the hard part is going to be figuring out how to elicit an object model from non-technical users, that at least approximates what they want. I'm not sure how much existing literature there is on that front, but I anticipate a *lot* of learning over the next few years...
(no subject)
Date: 2014-06-20 12:42 pm (UTC)Relatedly, I've long since found that good UI *code* and good UX are often closely related, and that's not accidental. Poorly-factored code often suggests that you don't have a clear mental model of your representation, and that often surfaces as confusing UX. Improving either aspect often (although not always) improves the other -- getting the factoring of UI code right often forces you to understand *why* you are building what you are.
That's not a hard-and-fast rule -- sometimes good UX demands things that look weirdly fiddly from a pure code perspective -- but it seems to be a good 80/20, in my experience...
(no subject)
Date: 2014-06-20 04:14 pm (UTC)Indeed. And not just confusing UX, but frustrating UX.
Remember, when the user can't figure out how to do something in your app, their first assumption is that they're stupid, and they feel shame; when the user can figure out how to do something in your app, but it involves a ridiculously elaborate, inconvenient, and frankly unnecessary set of steps ("AUGH WHY COULDN'T YOU AUTOPOPULATE THAT VALUE?! AND IF I HAVE TO LOOK IT UP AND ENTER IT MANUALLY, WHY TO I HAVE TO CLOSE THIS WINDOW TO DO SO?!"), their first assumption is that you're stupid, and they feel rage.
(no subject)
Date: 2014-06-20 06:58 pm (UTC)One of the most important (and challenging) disciplines for building Querki has been considering not just every user complaint but every user *question* as a potential bug report. Doesn't matter if it makes oodles of sense to me; if the folks using it don't intuit what's going on, I should be looking for ways to improve it...
(no subject)
Date: 2014-06-19 05:28 pm (UTC)*shrug* By now you'll have read the comment I made on moderation, which blows this out of the water for sheer ACL complexity implementation ramifications.
This just requires that authorization checking be two-pass: first whether you're in a group that is permitted, and if so, second, whether you're (not) on the list that is forbidden. It's an "and" in the interface layer, and a new db table or two (hell, this might be an occasion to denormalize, and just store the list of forbidden users on each post as an array of max dim something small, right on the entries table.)
(no subject)
Date: 2014-06-20 02:42 pm (UTC)I would like it to be more obvious when I'm not logged in without having that ugly toolbar that some people have on their pages.