14 ms·
What should have been an IMG element became this
- cmroanirgo 7y agoGoogle search results are equally abysmal. Most of the download has little to do with the 10 URLs that we want.
- netfl0 7y agoI remember when they introduced ads and it was jarring. After switching to DDG about a year ago, it’s very frustrating to try to interpret google results of I’m ever presented with them. I have to do this mental dance: * are these ad links? * are these knowledge graph links? * how many results did I get? It is a bit tiring.
- nyolfen 7y agoa few years ago i resisted switching to DDG because google was still noticeably better in many ways in terms of search results; the balance has been shifting significantly since, and i use DDG for over half my searches at this point. the main downsides are less 'magic' when using very vague descriptions as queries, and more spam domains. but the image search is easily much better at this point.
- 345218435 7y agoalright, i‘ll make an exception and ask for constructive „criticism“: what better alternatives are out there?
- random42 7y ago>... i‘ll make an exception and ask for constructive criticism Tangential, do you not usually do that? why?
- 345218435 7y agowell, constructive criticism for me is just calling out bullshit as well. if the receiver elects to be pissed instead of reflecting over the reason, i‘m not sorry. example: if my web service is bloody slow and somebody tells me „that‘s some slow bullshit“ i can go and investigate the claim „slow“ or bitch and mourne „can‘t you say that in a nicer way? be more constructive and suggest improvements?“. well, yes i can. but i don‘t have to do your job. since facebook and politics discovered the internet, it‘s full of emo‘s unable to handle anything. everything needs to „be nice or i‘ll need some psycho counseling and you pay for it!“. it‘s ridiculous. edit: you‘re welcome, members of the motherfucking vote brigade. oh how i love you butt-hurt generation-z-kind.
- random42 7y agoI think you are saying 2 different things, in your definition of constructive feedback 1.) The feedback should be nice/not brash/not toxic. 2.) The work needs to be done by the person to give more detailed feedback. While 2.) is a not a reasonable expectation it is pretty simple to achieve 1.), by keeping emotions out of your feedback. For example I would just go with "The webservice is slow, could you take a look? It is affecting xyz".
- dang 7y agoWould you please stop posting in the flamewar style to HN? We ban accounts that break the site guidelines like this, and you've done it elsewhere recently too. https://news.ycombinator.com/newsguidelines.html https://news.ycombinator.com/newsguidelines.html
- capableweb 7y agoAnywhere where you can directly link to a image without the hoster doing any funky redirects. Usually, the image hosts starts being like ^ while then slowly transitioning to more and more user-hostile patterns. Only way I found to avoid this is to setup my own Hetzner box (unlimited traffic) running nginx to serve images. Use `scp` to upload them.
- 345218435 7y agoobviously. got my own server as well. but i‘d like to know some side-project kind of thing. those are hard to find for me - in the age of seo-ridden search results trying to sell you everything and their mother.
- csande17 7y ago> Usually, the image hosts starts being like ^ while then slowly transitioning to more and more user-hostile patterns. Hilariously, Imgur itself followed this trajectory: it started out as a super-simple image hosting site whose creator was fed up with all the nonsense that other image-hosting sites did[1]. Now, though, Imgur has become the website everyone complains about! [1]: https://web.archive.org/web/20090227183112/http://www.reddit.com/r/reddit.com/comments/7zlyd/my_gift_to_reddit_i_created_an_image_hosting/ https://web.archive.org/web/20090227183112/http://www.reddit...
- miki123211 7y agoSomebody should set up a service that links with a GitHub account, makes you a repo, and publishes the images you upload as a Github page. This could even be easy enough to work for non-devs. That would mean absolutely no lock in, no pages, redirects, ads or other marketing campaigns. You would literally download the image, nothing else. Nowadays, using Keybases cloud might work, as it lets you set up direct links with no intervening pages.
- faissaloo 7y agoServer side rendering
- 345218435 7y agowell, my wording. i’m asking for alternative services.
- 2sk21 7y agoMaybe there is a potential revenue model lurking here - pay extra to get the lighter version of a page? (half joking)
- capableweb 7y agoI think you're right in the first part. Image hosts have been relying on ad-revenue to survive, but it destroys the user experience of a image host, so then the revenue quickly disappears and the host goes down. This is the life-cycle of a traditional image host. I could see two different models solving the problem. One is a donation model where the image host is collectively paid for by contributors who'd like the host to remain free and independent. The second model is to have funding per image. When a image is first uploaded, it gets 1 week of free hosting, and if people want the image to be available for longer, people can donate for that specific image to stay online for X days, depending on funds donated. Basically crowdfunded media hosting.
- rasz 7y agoYou could offer hotlinking with a twist - instead of original file you get modified one with Ad encoded into upper 20% portion of image.
- slig 7y agoBundle it with a URL shortener that sticks the usual Analytics tracking crap (utm_source, etc) and a QR-Code and you're golden!
- mattigames 7y agoThis has little to nothing to do with overengineering, its because Imgur.com revenue depends 100% in you clicking the small thumbnails on the side bar or one of the ads placed there (and make sure that if you do click a thumbnail the next image and its comments do load really fast to get you hooked to those dopamine shots), because _that_ is where the money is, meaning when you waste your time there because the longer you spend the more likely you are going to click their ads (and download their app and sign up and everything else that may help that goal)
- manigandham 7y agoNone of that requires 5Mb of cruft or an entire React app to load. It would take a few lines of JS for some dynamic comments. This is the very definition of overengineered. Compare that to Stackoverflow which generates completely dynamic pages with more interactivity in 50 ms. Also making the site faster would generate more revenue as more users would actually finish loading page.
- user_50123890 7y agoOh yeah, every software project ALWAYS seems really easy with the classic line being "i could hack that up in a weekend" until you actually get around to implementing it. please stop the circlejerk already.
- mattigames 7y ago"Some dinamic comments" is easy to see you are not understanding all it does here, the comments are more than 100 per image, replies are hidden until clicked, the points of each comment update in (almost) real time, the comments are posted using Ajax to never lost the scroll position, same than all the other interaction such as upvoting, downvoting and report, like everything is over Ajax it needs to keep track of url history itself, all this needs to work on IE10 and other shady browsers (due being one the most popular sites). They don't have much control over some of the assets because they are from the advertiser and have little say what's going on there if they want to win money. Is one of the top 20 sites visited in the United States and I seriously don't think being slightly faster would help much or maybe at all. And most important than all that: All the assets are properly cached, so despite bothering thousands of engineers for most people the load nuisances only happen once or at most a few times.
- vfc1 7y agoI think the whole comparison of imgur with a blank page with an image is a bit silly. It's not just the image, its a whole application with comments,image galeries, video playing ability, and of course a ton of iframes with ads which load a lot of content (more images etc.) Try to do the same feature set without a Javascript framework and using only plain Javascript or even plain HTML and CSS, and then come and tell us about the results. Also, a lot of the bloat is probably not under the developers control and is added by non technical marketing departments, which want a tracking pixel for this, a tracking pixel for that etc. But yes its true its insane and its getting worse, and 4G and HTTP2 will not be a solution for most of us anytime soon.
- gbuk2013 7y agoIt is not difficult to implement all those features using plain Javascript, in fact I would recommend it as a great learning experience. What is difficult is doing it in way that is maintainable over a long period of time. The nature of the language is that without iron code discipline Javascript code inevitably turns into a mud-ball. Apart from the obvious “many-eyes” benefits, frameworks also provide structure that buys extra time before this happens.
- capableweb 7y ago> The nature of the language is that without iron code discipline Javascript code inevitably turns into a mud-ball. Could you outline what you think makes JS more likely to turn into mud-balls compared to other languages? In my experience, no matter what language you use, or with what pardigm, unless you model and design your software architecture with discipline, you gonna end up with a mud-ball. Has less to do with the language and more about the process you use to model your domain.
- adimitrov 7y ago> Could you outline what you think makes JS more likely to turn into mud-balls compared to other languages? Plain JS is hell to refactor. Between arbitrary autocasting, little tooling and no useful type system, if you don't have a very detailed test suite, you won't find the parts of your code that are broken now. Also, if you do, you now have to reimplement all those tests that did nothing else than to check your call signatures. Ease of refactoring is a major indicator for a good enterprise language, as constant refactoring is basically the main development process. If your devs are afraid to touch certain pieces of code because nobody knows what the ramifications are, your software is already dying. That's why TypeScript is taking off so nicely. People crave those static guarantees that JS doesn't have.
- yayana 7y agoIs there a static Twitter thread cache somewhere? Loading this fails with "something went wrong" and then "you are rate limited". If Twitter's dark pattern to force login/app usage were just a little closer to the headline, I would have thought the failure was the punchline of this posting.
- tedunangst 7y agoYou need to reload the page. The refresh button is useless.
- jml7c5 7y agoThis happens _every single time_ I open a link to twitter if it's been >~1 hour since I last viewed a twitter page. Different devices, different networks, etc. It's been this way for at least a year. All I can think of is I don't have some tracking cookie they're using to guess that I'm not a bot. Reloading the page (w/ F5) fixes it. Presumably logging in or using their app would fix it, but I've got far too much spite for that. Instead I just avoid the site where possible.
- sigotirandolas 7y agoThis happens to me on iPhone (Safari) as well, and looking for it, it turns out it's been a well-known problem for months (if not years). Astonishing.
- dspillett 7y ago> What’s even more even more disgusting is that THIS IS THEIR M-DOT SITE. This was a deliberate strategy for serving mobile devices. More likely incompetence than malice, designing for mobile in terms of screensize and UI but neglecting to consider network bandwidth and memory+CPU resource. That and no doubt a fair chunk of that payload relates to advertising in some way. If it _is_ by design then I suspect it is intended as a way to funnel people into installing their app, much like reddit's user-hostile mobile design (I should thank them, they've saved some time in my day by song me bothering with that site on mobile).
- gameshot911 7y agoi.reddit.com is the only way I browse on mobile.
- greenleafjacob 7y agoFormer Imgur engineer here who worked on the desktop site and helped on mobile when I could. A lot of the code that is loaded supports features that are used by a long tail of users [1]. However, they do serve the javascript with appropriate cache-control headers and serve them from Fastly's CDN so analyzing a cold load is a bit misleading to say the least. Moreover, as other commentators have mentioned, they optimized more for the subsequent images than the initial pageloads (they'd prefetch the next N images). Keep in mind Imgur is not a large company despite their high traffic, even at their peak of employees the engineering team was pretty small (probably about 12-15 people after series A), and the mobile web team in particular was a handful of people, with a handful of people on iOS and Android, and a handful of people on desktop/backend/API (where I worked). That said, I think Alan does care about these things. I know at some point they did support NoScript and did care about the experience with JavaScript off (and had code to support uploading images and viewing images with no JavaScript at all). But it's hard to have it as your top priority when Reddit and Instagram are trying to eat your lunch. I'm sympathetic with the page bloat problem and noscript and I do think more effort should be spent on optimizing this stuff, especially because bandwidth is much of their opex. [1] Posting, voting, commenting, uploading, accounts, tagging, albums, search. There is even a hidden-ish feature to "auto-browse" in a slideshow-like manner which you can find if you crawl around the source code.
- samastur 7y agoI'm sympathetic to what you say, but optimizing for following pages might be a tad optimistic if I leave after first failed load attempt.
- ludocode 7y agoIt also doesn't help privacy-conscious users who clear their cache regularly. I use Firefox Focus on mobile and have Firefox in permanent private browsing mode on desktop, so I always get a cold load.
- bsenftner 7y ago12 to 15 developers can be a significant, if they are experience and with good leadership. Lacking experience and good leadership you get what we're seeing here. I'm older, been coding since the 70's and smaller teams than this wrote many well known operating systems, many major brand-name applications, and the majority of the classic video games were created with teams 1/2 to 1/4 that size. Looks to me like Imgur has inept engineering management.
- stupidcar 7y agoThis is a big problem, but calling it over-engineering seems too generous. I'd characterise it as under-engineering: Developers unwilling or unable to give proper consideration to non-functional requirements such as performance and design an optimised solution, and instead just layering on more and more dependencies. There's a happy medium between serving a single <img> tag and this monstrosity. It would be totally feasible to use PWA techniques and a lightweight JS framework to build an image host that was performant and still provided all the other features Imgur does. But let's face facts: It's not going to happen, no matter how many angry Twitter threads get posted to Hacker News. The web platform is completely unsuited to mobile, and there are simply too many perverse incentives in commercial web development to expect that most developers will expend the effort to build an optimised PWA when they can slap something together with React, knowing it'll work fine on the CEO's iPhone on office wifi. The only real fix would be a complete reinvention of the web to fix the myriad design flaws. That is what Google's AMP was supposed to be, but people seem to hate it and see it is proprietary and evil. Maybe it is, but from a technical perspective, it's likely the only kind of solution that has a chance of working.
- draw_down 7y agoThis doesn’t really have anything to do with JavaScript. JS didn’t make these people unable to use an img tag.
- Sawamara 7y agoAs someone have pointed out in the thread itself: this is not in any way React's fault. If you want, you can add (p)react for a few kb to your page, serve a max 20-25k js code with it and still do not match the served image's size. However, when websites decide to instead track the everliving hell out of their users, this is what happens. Absolutely pathetic. Another similar experience I have with mobile sites is Reddit, its intentionally throttling the site and tries to turn you towards their app.
- ajot 7y ago> Another similar experience I have with mobile sites is Reddit, its intentionally throttling the site and tries to turn you towards their app. That's why I use the .compact version of reddit on mobile. It's as ugly and clunky as it's snappy.
- lovetocode 7y agoThis is a naive assessment. Imgur is running a business and with that comes all the surrounding cruft Harry is complaining about. I hate including marketing and tag management tools in my project at work but that is what the business wants.
- buboard 7y agoYou don't care to optimize those ? Don't you guys realize that snappiness is one of the core reasons people keep using a webapp?
- csswizardry 7y agoOP here. My beef wasn’t and isn’t with the ads or monetisation: it’s with the engineering decision to bury the product’s primary content in a 1.2MB JS application. The image itself just needs to be an `IMG` element in a server rendered page—ads, tracking, comments, upvotes, etc. can and should be all loaded as secondary content. My beef is with a ‘mobile-optimised’ image hosting platform taking over 40s to display an image on mobile.
- halfjoking 7y agoImgur used to be just an img tag. They found out they couldn't make money that way. Eventually the images became the 110th most important thing on the page. That wasn't an engineering decision - it was a business decision made to force people to switch to the app. Ever try browsing imgur on mobile web? You can't - it keeps popping up the 'download the app' button. Infinite scrolling breaks because of that popup (by design). If you don't want to support a business that tries to force people to use their app by making the mobile web version horrible you don't have to.
- jml7c5 7y ago>If you don't want to support a business that tries to force people to use their app by making the mobile web version horrible you don't have to. There's no hypocrisy in using something while complaining that it's absolutely terrible. (Particularly if there isn't a real alternative; "don't ever open any link to any image hosted on imgur even though you'd prefer the person had hosted it somewhere else" is not reasonable.)
- buboard 7y agoIt's funny because their website is pretty basic in features. Also try dragging multiple pictures to upload , there is no progress bar, no feedback nothing. It seems to upload 1 or 2 of them and then stop. Anyway good thing you can just copy the image URL and send that one instead
- tannhaeuser 7y agoI think we're at the point where these abominations should be served as application/html rather than text/html. At the end of the day, users come for content, so let them decide to block crap that serves no purpose and wants to reimplement a browser in the browser. I've found that the value of content correlates inversely with the amount of JavaScript on a page.
- cryptica 7y agoI've been saying this for years. Capital is distorting science and technology. The React ecosystem succeeded mostly because it was backed by and associated with Facebook. Most popular tools these days are popular because of some social or business connection to a large pile of capital. There are a lot of amazing tools which are not popular because they are not connected to capital. But those tools are great precisely because they are not connected to capital. Too much capital invariably leads to overengineering. For example, if you consider the PHP Hiphop compiler by Facebook. It tooks years to create it. It's an over engineered solution that did not need to exist. They could easily have rewritten their software in a different language instead if they really cared about saving a bit of CPU. The speedup which HipHop provided was a constant factor. In fact, they could probably have achieved a higher speedup with a simple rewrite even in PHP without HipHop (with just simple algorithm optimizations). Corporations are extremely innefficient. Their main purpose is to create useless jobs.
- jancsika 7y agoHow much of that bigness is devoted to exfiltrating data? If it's non-zero then you must compare to an IMG element design that can also efficiently exfiltrate the same amount of user data. Otherwise you're comparing apples to oranges.
- jancsika 7y agoOh, and your design should also be equally extensible. If I want to add ambient light readings to the data set it should be essentially free to ship the change to the img element design across all browsers.
- danShumway 7y agoThe hoops people are going through to justify this are crazy to me. The comparison is not no-JS vs a business-capable website. They could serve a static image tag that would load quickly, and then load the comments/content around it. Progressive enhancement has been a well-known development pattern on the web for a very, very long time. The comparison here is, "serving your content, and then doing whatever the heck you want", and "dynamically fetching all of your core content on the fly after synchronously downloading and executing all of the auxiliary content that >85% of your users do not care about." I think Youtube is overengineered as well, but at least Youtube has the good sense to prioritize loading the video first, and the recommendations/comments second. It is surreal to jump from a thread with a Google dev telling me that user-agent scraping is necessary because progressive feature detection would require shipping unnecessary polyfills to modern browsers, to a conversation with an Imgur dev telling me that because 5% of their users need a special feature, everyone should wait twice as long to get core content served to them. I realize these aren't the same people, and the web development community is diverse, but... I don't know how to reconcile those perspectives. We will jump through so many crazy, horrifying engineering hoops to get bundle sizes down: using statistics/user-behavior to calculate dynamic bundles on the fly, user-agent sniffing, compiling Javascript frameworks, prefetching URLs, HTTP2. But serving an img tag with our core HTML is a bridge too far?
- zzzcpan 7y agoIt goes deeper than that. They actually do have plenty of tags in the generated source directly linking to an image, like twitter:image, og:image, image_src, they just don't want you to load the image before you load all their javascript crap.
- jacobolus 7y agoModern Google apps (Gmail, etc.) are incredibly bloated and buggy compared to the ones from 10 years ago, without any (to me) useful new features, so while I laud one engineer’s principles, it’s not clear they are succeeding at following them as an organization.
- folkhack 7y ago
- bayindirh 7y agoFor me, this is just the revealing of the inevitable because of the mentality of: - The network is reliable - The bandwidth is cheap - The hardware is also cheap All three statements are wrong, because everything is fast when the n is small. We're past that point. Network is not reliable, bandwidth and hardware are not cheap. At least in terms of time, and my time is neither cheap nor free. Developers don't or can't optimize because it's either too much work, or it's working reasonably fast. Reasonably fast is not fast enough. We're wasting too much resources in cases like this. <img> old man yells at cloud </img> </rant>.
- Asooka 7y agoThe entire modern web feels like someone reading that joke interview with Stroustrup and not realising it's a joke and you shouldn't actually keep piling complexity and building an infinitely tall job security tower. Or put another way - it's developers working in a way that optimises for profit and job security (which we all want, duh), but the incentives higher up are so aligned that good simple engineering is never the optimal strategy for maximum profit and job-security. There's probably several books on project management and sociology to be written from examining how the mis-engineering of the modern web came to be.
- fortran77 7y agoImgur is struggling and gasping for a business model. They do serve a useful purpose, but there's no possible way for them to make money without wrapping images and trying to engage users to stay longer (and eventually get served with an ad).
- nyolfen 7y agoimgur becoming somehow more bloated and less usable in every way over time is perhaps rivaled only by skype's trajectory
- pflenker 7y agoThe author of the tweet missed the obvious reason for that performance, even though he even mentioned that this is the mobile behavior: They want you to use the app! The button to open/install the app is clearly visible at an early stage. And since imgur users are the product, and not the customer, you want them in the app where you can retain them more easily (think notifications) and ad-target them more precisely based on all the data you can collect directly on the devices.
- manigandham 7y agoThat's not obvious at all, and many people would rather leave the site than install an app.
- hu3 7y agoBy that logic Reddit does the same: horrible website that pushes users into installing the app. Hasn't worked with a single person I know. I tend to correlate bad website with possibly bad app and I suspect others do too.
- pflenker 7y agoI think reddit is very obvious about it. They only care enough about their mobile website to add huge, impossible to miss „download our app“ callouts and ignore the rest.
- gsaga 7y agoIf you right click on an image you get an option named "open image in new tab". You can just share the direct link to the image.
- miyuru 7y agoThat does not work most of the time. Browsers send different http accept header when image is clicked vs hotlinked on img tag. imgur looks at the header and redirect the image to the image page when clicked on the direct link.
- gsaga 7y agoIt is possible: https://imgur.com/gallery/8zv0AJ7 https://imgur.com/gallery/8zv0AJ7 https://i.imgur.com/vjdfNOe.jpg https://i.imgur.com/vjdfNOe.jpg
- miyuru 7y agothat is possible too, even though they don't encourage it. what I meant was when you click on the last link, sometimes it redirects to https://imgur.com/vjdfNOe https://imgur.com/vjdfNOe making the direct link pointless.
- hombre_fatal 7y ago> This industry needs some sort of regulatory body. Yikes. If you can do it better and make money, then build it and compete with them. What kind of bureaucratic dystopia would even "fix" this?
- ben509 7y agoYup, the market is a regulatory body.
- deanCommie 7y agoI find it ludicrous that amongst the hundreds of comments between here and on Twitter, people seem to completely ignore that this is a FREE WEBSITE. But one that is likely incredibly expensive to operate. How to reconcile this and attempt to make up the shortfall? You're looking at it. Imgur started as hardly more than an IMG element. It burned and burned and burned money, and their users were happy. Then it added ads, but it didn't matter because people direct linked from reddit anyway, which was the vast majority of the traffic. Then imgur realized they need to break their dependency on the reddit social mass, and built their own to apparently great success. Now people go to imgur for images directly, and stay. So. All that "bloat" came around for a reason and it was to try to make the company sustainable as a business. Dammed if you do, and if you don't.
- saagarjha 7y agoAnd in doing so, they made their website awful for the one thing that most people were using it for.
- nsgi 7y agoDoesn't matter, people still use it. It's not completely awful for what people use it for as long as it stays up.
- flukus 7y ago> So. All that "bloat" came around for a reason and it was to try to make the company sustainable as a business. Until someone comes along with a simple basic service that just works, exactly like how imgur replaced imageshack.
- deanCommie 7y agoImgur now is still multiple orders of magnitude better than what Imageshack and Photobucket were when it disrupted them.
- ALittleLight 7y ago
- LandR 7y agoIf the dev doesn't use a hundred different javascript frameworks what on earth are they going to put on their CV!
- anon4242 7y agoAnd then when Leftpad-Azer removes his packages the next time the image won't load at all...
- boomlinde 7y agoThis cycle seems consistent with past popular image hosting services. First, attract users with a simple, no-nonsense service. Second, shove ads in there. Third, try to build some sort of community. More ads. Lastly, fade into obscurity.