top | item 21303759

(no title)

greenleafjacob | 6 years ago

Former 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.

discuss

order

zzzcpan|6 years ago

> A lot of the code that is loaded supports features that are used by a long tail of users

Bounce rate 53% according to alexa. So, majority of imgur users don't appreciate it, do hit cold load, etc. A user probably has to be dozens of interactions deep for initial loading cost to not be so high, but more likely there is no way to ever offset overhead of all that bloat for any user.

Personally, I use an extension to fix imgur brokenness and extract images from imgur pages without loading anything else.

PretzelFisch|6 years ago

Or the signal indicates most visitors are a result of an accidental link click.

gameshot911|6 years ago

Which extension? Sounds very useful.

ken|6 years ago

> 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)

12-15 engineers is small? I'd call that a full-size team, for any single project.

"Officially" Google makes an entire web browser with less than double that: https://www.quora.com/How-large-is-the-Google-Chrome-team/an...

Conway's Law in action here. If it were one person, it'd be one IMG tag. When you put 12-15 engineers to work making a social website for serving one IMG, you get this.

oldmanhorton|6 years ago

Chrome.... definitely has more people working on it than that. It's absolutely ludicrous to try to say Google only pays 23 people to work on chrome. Perhaps that quora answer is being pedantic and saying only 23 people work on the closed source, non chromium bits?

Regardless, 15 engineers to make a webapp and mobile apps with all of the features mentioned for a site that gets "lots" of views (not sure how many but I'd guess we are counting in hundreds of millions of clicks a day at this point) seems pretty efficient to me?

CydeWeys|6 years ago

Chrome has hundreds of people working on it, at least. Aside from that Quora link likely being wrong anyway, it's also 7 years out of date.

saagarjha|6 years ago

Even Safari/WebKit has like a hundred people working on it, and the Chrome team is much larger. Probably an order of magnitude more.

ben0x539|6 years ago

> 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).

I've been opening imgur links on my phone and watched it do nothing for like ten seconds, and I just assumed it was intentionally slow/broken so I'd install the app or something. I'm flabbergasted that it's actually the outcome of a deliberate optimization.

samastur|6 years ago

I'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|6 years ago

It 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|6 years ago

12 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.

manigandham|6 years ago

Serving less code is more important than serving lots of code from a CDN. All that javascript needs to be parsed too after downloading, and that's probably taking the bulk of the time on mobile devices.

tinus_hn|6 years ago

Earning money is important so serving ads is important. The masses don’t care about them including 20 frameworks so serving less code is not important.

astura|6 years ago

We are considering 12-15 people a "small team" now? I've worked on large enterprise applications and I've never worked on a team that big!

deadcat|6 years ago

Reddit is trying to eat their lunch?

Imgur sprung up as a fast image host for Reddit, then Imgur turned into a social media site - a competitor for Reddit.

In that process Imgur became shitty at their core function... hosting images!