Hacker News new | ask | show | jobs
by altacc 1777 days ago
One of the problems with examples like this is that it gives an unrealistic expectation to non-technical people that large & complex sites are actually quite basic. There is a lot of functionality that a typical user never sees and is often where the complexity lies.

And as the "app too busy" error message proves, there is a lot more to a site than it's front end alone and cloning a front end does not clone performance. Good for proof of concepts or low use, non-critical apps but I would hesitate to build a business on one.

5 comments

Ironically, it seems this clone does a great job of cloning the performance of reddit, at least when I tried it (bunch of unnecessary requests that takes multiple seconds each, sometimes just returning errors)
Hard to meet a person that doesn't at least dislike reddit, but at least old.reddit.com is quite an efficient page.

I had an internet outage that left me with a few kilobytes/s upstream/downstream. Most of the modern web was plainly unusable, often requests got terminated before all data was transmitted.

But reddit among few other sites did work quite well. Of course not for pictures and media, but the text and comments were quickly displayed. In hindsight I am not sure if that was better than a complete outage, but that is a content problem.

I will only ever use old.reddit.

If they take that away, I will kill my account. My account is 15 years old on Reddit, with near daily use.

Just use old reddit. It's fast. On mobile https://www.reddit.com/.compact (with a dot before compact) still works.
On mobile web, you can also select an option from the hamburger menu to tell it to give you the desktop interface (which persists until you clear your cookies), and in your user settings you can set your default desktop interface as old reddit. Call me crazy for using the desktop site on mobile, but I find it far more usable to pinch and zoom than to navigate the redesign.
Nope not crazy at all, I do the exact same. I’m not sure what exactly needs to change about the mobile reddit design (I’m not a UI designer), but it’s just obviously worse when compared to using the desktop version, even on mobile.
Have you tried the /.compact mode? It's not the same as the redesign, it's essentially old.reddit.com resized for a mobile interfact
> And as the "app too busy" error message proves, there is a lot more to a site than it's front end alone

I get at least monthly "our servers are busy" messages when accessing Reddit, and their (redesigned) website is so bloated that it takes great effort to replicate such bad performance in a simple clone.

Reddit is the one site where you really can't make this argument, it's bloat incarnate.

It does handle many orders of magnitude more users than this thing does though. As a site that is the source of many hugs of death, it's serving a hell of a lot of traffic, mostly successfully.

It could serve even more traffic if it was less bloated of course.

EDIT: Some random stats from 2019 suggest that they're handling ~1000 pageviews a second on average over a month, and a view can take >100 requests to load. Combine with surge load and you're dealing with some serious requests per second.

Over 100 requests per load? That has to be static files like images, right? Do they not have a cache system for that (like what Cloudflare provides)?
Articles, thumbnails, comments, votes, awards, users, I'm sure it all adds up considering the dynamic nature of what each user sees. And they do do a lot of caching to make it work:

https://redditblog.com/2017/1/17/caching-at-reddit/

A friend worked on a project that reached several hundred requests at one point.

Basically they had a 10 request component. Only one on the page so even though it wasn't that efficient, they didn't care.

But then their PM wanted 20 of them on a page. It was a Scrum team so velocity mattered, so they just had a for loop generate 20 of them.

Great point. There's certainly much more that goes into building a site like Reddit than what goes into building a clone in two weeks. The purpose of this is to show the potential of what can be done in no-code.

No-code is still in it's very early days, and I think that a lot of its capabilities will improve over time. Also, it's very possible that a lot of the inefficiencies in no-code apps are a result of the builder not the platform (i.e. me in this case). I've been building with Bubble only for a few months, and this is only the second app I've built. I'm sure there are a number of inefficiencies in my workflows, but I'll also improve on that over time as well.

> No-code is still in it's very early days

This is simply not true. WYSIWYG is no code and has been around since long before people had catchy names for it. Dreamweaver and FrontPage were early examples of it, the benefit they provided was they attempted to let you design by a GUI first, then they'd let you peak the code underneath. Usually, no-code or low-code these days does not come with the source, which makes it especially useless to anyone who wants to do anything meaningful with it.

I would define no code & WYSIWYG as different things. No code includes deeper, server side functionality; whereas WYSIWYG for HTML is simple page editing. Even the Javascript based actions an editor provides are only client side.
Isn’t no code and GUI software builders an idea that has been tried for decades? Wasn’t Adobe dream weaver one of the early tools?
Dream weaver was a WYSIWYG website builder that offered the ability to edit the “raw” HTML. If you want mockups/wireframes/etc., there’s Adobe XD.

Tangent: who names these things? XD? Where did that come from? It looks like a laughing emoticon…

XD stands for eXperience Design but I like the emoticon interpretation.
Performance and the deep level tweaking is exactly what I would worry about with a no-code app (much like with WYSIWYG UI editors you end up with inefficient oversized webpages). Generally having less control over the details results in the details needing to be overly complex generalizations.

Of course, maybe someone will solve that problem. (Or computers will get so powerful efficiency ceases to matter). It also doesn’t change that things like no-code could be great for people less programming focused to prototype ideas, or create scripts to run over data much like people have used excel for ages. It might just remain necessary to eventually pass the implementation onto a non-visual programmer when scaling the solutions up for production.

I didn’t intend to slight your work, so apologies if my comment came across too harsh. My concern is with no-code in general, which I think is a great toolset for some use cases but can quickly become too complex to handle. I’ve seen non-programmers get into all sorts of messes using no code applications as they didn’t want to go through IT (for understandable reasons) and ended up with applications being buggy, inefficient and, in one case, insecurely harvesting & storing credit card numbers. They then turn to IT to fix their mess, which is difficult as being a programmer and knowing a no-code ecosystem are very different skill sets.
Of course, the only reason Reddit has value at all is also its user community providing and ranking curated information. It's not the frontend, but it's also not the reliability or scalability or whatever else they have going on in the backend. Just as no one ever bought Encyclopedia Britannica back in the day because of the technical quality of the binding, though I'm sure it was top notch.
Reddit’s reliability is a major point and it’s something that has actually gone better. As horrible as the new UI is, back when the old ui was the main one, the site would go down almost daily and often for hours at a time.
And yet Reddit is a success
Users will ask for three things they can describe in a simple sentence. One will take someone half a day, one will take a whole team a two-week sprint, and one will require fundamentally rearchitecting the project, or not be possible at all.