7 ms·
To the posted article, I think it's impressive they are shipping a single codebase for mobile and desktop. Modular features you can turn off for different views
by NelsonMinar 7y ago
To the posted article, I think it's impressive they are shipping a single codebase for mobile and desktop. Modular features you can turn off for different views. It's smart and I'll be curious to see if other sites follow suit.
Unfortunately they've now ported one of the most offensive feature from mobile to desktop. The "Home" timeline, with tweets out of order. And the real kicker; you can still select "latest Tweets first" but then the app literally undoes your preference every week or two, forcing you back to their "Home" view. It's offensive.
Also a small thing, but the new desktop Twitter now has obfuscated CSS classes for everything. The names change frequently too, maybe at every deploy? Anyway it makes it a lot harder to modify the desktop HTML presentation with an extension or set of ad blocker rules.
- lykr0n 7y agoThat's a feature, not a bug (the changing CSS)!
- spaceribs 7y agoThis anti-scraping tech is getting a little ridiculous, and will only end in accessibility issues (while still not actually preventing or even slowing down scraping).
- SippinLean 7y agoBut it is a feature, there's a few different (good) reasons to do that. Here its almost surely tied to CSS-in-JS/React. HTML class names would not affect accessibility.
- wpietri 7y agoThat's still not a feature, in that it's something that serves developers, not users. I'm fine with people making better CSS tools; they should feel free to add dynamically named classes. But when the remove the static ones, they break things for some users. That's definitely not a feature.
- SippinLean 7y agoIt's a feature for developers, because it's in the code, and it doesn't break their product. It won't affect anyone but users like you and I that are developers themselves, it might break their code, but that's not Twitter's responsibility. Non-deterministic class names are quickly becoming the norm for a lot of good reasons.
- munk-a 7y agoSorry, what are these good reasons that aren't in the realm of specifically impeding user's ability to use the site as they please? My understanding is that the sole reason for dynamic class names is to confuse user style sheets that may reformat the page (how dare they not use our beautiful UI!) or to combat tools trying to ad-block based on a CSS selector rule. Is there some advantage other than removing these two features that dynamic CSS classes provide?
- cbeley 7y agoSince they are likely using CSS modules or some other type of scopped CSS, it means the classes they write are human readable, but not guaranteed to be globally unique. For example, you have FooComponent and BarComponent. Both may have a button, so as a developer, you decide to make a class called 'button' for both of those components. The tooling will then create a unique CSS class name in each of those cases and replace FooComponent.button and BarComponent.button with a hash of some sort. The best they could do to make it less obfuscated is to include the name with the hash. So the class name may look like 'fkljdkldjf9303-button'. However, the hash may change if the component changes for example, so still not super reliable from your point of view. Also, most users won't care, so they'd just be including extra page bloat to add the human readable names along-side the hash in production builds. I'd argue that CSS modules and similar reduce many many bugs I've seen people make over the years and that it's a huge win in terms of developer speed and reduction of bugs. I highly doubt anyone made the decision explicitly to obfuscate the CSS...
- heyoni 7y ago
- ajkjk 7y agoIt's most likely not at all intended stop or affect scraping. Although I haven't looked at how obfuscated it is. https://github.com/css-modules/css-modules https://github.com/css-modules/css-modules or similar does this because the CSS global scope is more and more painful as applications get bigger.
- vernie 7y agoIs it that impressive? The desktop experience looks like I'm being served the mobile site.
- dejawu 7y agoI've stopped using the timeline entirely: I follow nobody and create private lists of the people I'd like to keep up with. When you view a list the tweets show up in chronological order and as a bonus, you don't see promoted tweets.
- heymijo 7y agoList functionality operates annoyingly different from timeline functionality though. In the TL, if I click out, it remembers where I left off. With lists, if I swipe out, it loses my place. Small issue but it puts a hamper on me using lists.
- WillPostForFood 7y agoIn the TL, if I click out, it remembers where I left off really? One of my major gripes with twitter is I'll be about 20 (ajax loaded) pages down the timeline, click on some retweet or name, and lose my place. At best it takes me to the bottom of the first page. What browser/os are you using?
- heymijo 7y agoTwitter App for iOS 12.3.1
- sp332 7y agoHave you tried Tweetdeck? It has ads but it fixes the chronological timelines and helps keep up with multiple lists.
- dawnerd 7y agoSometimes it switched back to "Home" while you're using the app. I don't know why they're so against just letting me make the change constant. I really hate when companies think they know what I want more than I do. ublock origin also seems to block the ads just fine at least.
- nightfly 7y ago> Unfortunately they've now ported one of the most offensive feature from mobile to desktop. The "Home" timeline, with tweets out of order. And the real kicker; you can still select "latest Tweets first" but then the app literally undoes your preference every week or two, forcing you back to their "Home" view. It's offensive. Sounds just like Facebook now.
- chipperyman573 7y agoFacebook doesn't switch me back. I've been in chronological mode for ~3 years now. I think it's per-device though so you do have to set it if you login somewhere new. There may be A/B testing going on though.
- Fellshard 7y agoI can say Facebook does switch this back every time I visit, and sometimes switching it to 'latest' literally causes the site to cease loading posts after one or two pages.
- Mindwipe 7y agoSame.
- rurp 7y agoThey might have changed it since I left Facebook but they absolutely did change that setting back frequently in the past. My frustration with that is one of the reasons I stopped using the site.
- ben_w 7y agoDoes Twitter show the same posts multiple times right next to each other? Because I’m getting a lot of that on Facebook right now. Not that I actually like either platform [1], but they are the de facto way of keeping up with everyone. [1] I’m kinda glad Twitter doesn’t force me to have an account, no account makes it so much easier to not get sucked into the reply-rants.
- 7y ago
- ilamont 7y agoNothing showcases the failure of the Twitter algorithm to deliver relevant, timely information than seeing yesterday's tweets about impending bad weather.
- SippinLean 7y ago> Twitter now has obfuscated CSS classes for everything Non-deterministic class names have been popular for a while, especially in React; open up Chrome inspector on a Gmail tab. Sometimes they are used for minification. This might not be a (strictly) hostile change. It annoys me too, I write custom CSS for any site I use a lot.
- notamy 7y ago> Also a small thing, but the new desktop Twitter now has obfuscated CSS classes for everything. The names change frequently too, maybe at every deploy? I would be a little surprised if this wasn't just caused by using a library like styled-components for managing CSS. I'm sure it could also be partly anti-adblock or anti-scraping, though.
- wpietri 7y ago> then the app literally undoes your preference every week or two To my great rage, some Twitter design poobah was energetically explaining how they could "prove" that was better. Actual people saying no, it was actually worse for them were of course ignored. As much as I love Twitter, the extent to which users are the product, not the customer is obvious. At best, you're a dairy cow, producing valuable content. Maybe you're a beef cow, carved up and sold to the real customers, the advertisers. And maybe you just end up eaten the rats that are always in the shadows and frequently come out in hungry swarms.
- georgebarnett 7y agoI’ve lost count of the number of designers who tell me that the way I use the product is wrong. OK. Won’t use the product then.
- takeout 7y agoAs for obfuscated CSS classes, this is likely to use scoped CSS, which allows for components to share class names but not share class attributes. That's kind of against the point of CSS, but it's also a useful dev tool to make your code more readable. I agree that it can be annoying on the user side, but it makes sense that they made this change. Also, most likely, these change every deploy (when the depedency manager builds the app).
- guelo 7y agoI think it's more likely that this is a user-hostile feature to prevent scraping or styling scripts that might mess with ad views.
- takeout 7y agoI really, really doubt that. At worst, it's both. CSS scoping and obfuscated class names are really popular and part of any modern JS framework.
- dstaley 7y agoIt's certainly not the primary driver. Twitter is built using React Native for Web, which uses a pattern called "Atomic CSS".[1] So it's just a result of the framework they're using. [1] https://github.com/necolas/react-native-web/blob/master/docs/guides/style.md https://github.com/necolas/react-native-web/blob/master/docs...
- TolstoyDotCom 7y agoI wrote an open source application that uses Webdriver to scrape tweets; it used to show how heavily Twitter censors all kinds of users. Twitter used to have a tweet's "quality" (per them) right in the HTML: "HighQuality", "LowQuality", and "AbusiveQuality". They put some tweets in the "tombstone" section. I now need to change the app to deal with them obfuscating the "quality" and all the rest. I've run a Twitter ad for the app so at least someone there knows about it. I don't know if the app was a factor, but certainly hiding what they think of their users' output is in line with all the other sneaky things they do to their users.
- 7y ago
- rasfincher 7y agoOne of the main things that keeps me using a third-party client (for as long as I can continue using one) is the Home vs.Latest Tweets feature. I NEVER want to see the home timeline. I always want a reverse-chronological list of tweets. It is user-hostile to have to continuously select Latest Tweets. I'm sure they see more engagement with the Home timeline, but I just want to be able to flip a switch and never see it.
- hanoz 7y agoSearch results in reverse chronological order is Twitter's killer feature but, bafflingly, it seems like they've been going out of thier way to prevent that for years now, especially on mobile. Why? Also, if there's any Android app which lets you do that without having a Twitter account, I'd love to know about it. I used to use a nice little app called SearchBird for this, but it's disappeared and I can't find a replacement.
- losteric 7y agoEither hard to efficiently implement at scale, or they want users to forget about reverse chronological ordering in hopes of monetizing feed rank
- ssalka 7y agoI'm pretty sure it's easier to sort by -timestamp than to run a complex ranking model across all recent tweets (which would have to be windowed by timestamp anyway), and then sort by the output of that. Seems to me like they are going out of their way to force their "top tweets" algorithm on users.
- losteric 7y agoIt's a global platform with billions of users, with many users follow hundreds of people, some users followed by millions, huge volumes of media tweets, broad distribution of posting frequency... even with those basic scaling concerns, I don't see how consistent reverse chronology could be implemented as naively as "yo just sort by -timestamp". I would bet "top tweets" improves engagement with the passive consumption audience while saving money by abandoning consistency and improving caching.
- empyrical 7y agoOne thing I really hope they fix is the timeline is very jumpy when new tweets come in from the top. The previous design was very good about keeping whatever tweet you were scrolled to in focus when new tweets come in. I'm not sure how widespread this issue it, but I have seen other people in my personal feed express frustration with this issue.
- skybrian 7y agoFortunately you can still go to realtwitter.com (which is just a redirect) and click latest. Two clicks, but it's easy to make it a habit.
- Pxtl 7y ago"A bunch of your friends are hate-following this obnoxious prick, let's show you that guy's tweets to ramp up engagement!" Yeah I'm not a fan of the "Home" view.
- bazzargh 7y agoThe Aria attributes can be used to block at least some of the junk, eg in ublock origin: twitter.com##div[aria-label="Timeline: Trending now"] twitter.com##aside[aria-label="Who to follow"] twitter.com##a[aria-label="Search and explore"] twitter.com##a[aria-label="Bookmarks"] there's stuff that's no longer easy to block this way, like promoted crap in the replies to a tweet. But if that gets to be an issue, I'll just greasemonkey it. Even with obfuscated classes, the injected content is easy to identify, it's just that css doesn't let you style 'elements containing (some complicated several layers deep selector)'
- goatinaboat 7y agocan still select "latest Tweets first" but then the app literally undoes your preference every week or two, forcing you back to their "Home" view. It's offensive. Never forget: you are the product. On whatever is the ad industry equivalent of HN, there is probably someone gloating about how much they love that it does that. I wonder also if it’s cheaper. Computationally I mean. You don’t need to worry about consistency if you don’t care about ordering. You can also just show the same few popular tweets to everyone without needing to compute an individual timeline for each person.
- gregknicholson 7y agoMore generally, always consider: what is the maker's motive? Is it to make the best tool for conversation, or is it to make money? If it's both, how important is each?
- NelsonMinar 7y agoBad news: Twitter slammed me back into the "Home" view in less than 24 hours. Guess I'm now at war with their user interface.
- SkyMarshal 7y agoOne other thing I hate about the mobile app is that Lists are unordered (or ordered by creation date which isn't helpful). The website automatically alphabetizes lists, which is great, no idea why the mobile app can't too. For heavy Lists users it's physically painful hunting through the unordered list on the mobile app every time you want to add someone to a list.