Hacker News new | ask | show | jobs
by uptownJimmy 1162 days ago
I like GitHub, fwiw. I am not someone who requires everything to be perfect, and I've learned to be tolerant of our human reality, where imperfection is the norm.

But GitHub is not a great Web app. It is frequently/constantly out of sync with the latest data/status. You quickly develop the habit of manually refreshing the page every time you are preparing to do anything with a PR, and that's not something that should be necessary these days.

It surprises me to see a loud and proud blog post detailing GitHub's process of staying so relentlessly up to date with the latest and greatest version of Rails: the app is not properly responsive, for whatever reason, and to a degree that would not be tolerated where I have worked. I would rather read about how they are trying to fix this issue.

2 comments

I agree with this, but that seems to be a problem with Github's frontend code, not their server code. I don't think that detracts from this blog post's message.
I guess my implied question should be stated more explicitly: is GitHub's front end code entirely separate fro the Rails code? That's not how Rails apps usually work, I thought.

Admittedly, it's been a long time since I looked at Rails code, and I don't have the slightest idea how GitHub is actually architected. But I don't remember the "front end code" in Rails being a separate thing from the server code, typically: the whole point was server-side rendering. Is GitHub using one of the JS/TS frameworks for the front end? I do remember that being a developing trend, a few years back.

Rails can just serve JSON or GraphQL from an API to an SPA frontend, or you can do full server-rendered, or Hotwire to do HTML fragment updates, or any combination thereof. IIRC Github used something like Hotwire but home-grown. I've not done Rails development for a while so not sure what the state of things is for web sockets, but I would think that's not a problem for the framework.

Point is, there's nothing about Rails in particular that would prevent fixing these issues, that's probably the result of development and business priorities, legacy code, etc. that would be an issue with any tech stack.

Order as I remember it: Github initially used pjax, https://github.com/defunkt/jquery-pjax, (maybe "invented" by defunkt?) which I believe was the precursor to turbolinks, https://github.com/turbolinks/turbolinks, which was the precursor to Hotwire.
Makes sense to me, yep. Thanks for the info. I have buddy who works there, I am going to grill him at our dev meetup this week!
What do you mean by the app not being properly responsive? I've never had any problems with it on mobile.
It takes a significant chunk of time for any approvals or change requests to show up in the desktop UI, if ever, without just manual refreshing. This is not a niche observation, fwiw. It's a common complaint.
Ah, responsive as in "responds quickly", not responsive as in "renders appropriately for different viewports". We need more words!
I think I used the wrong term, sorry! Solo dad + software dev = brain slowly melting away.
Ah, I haven't used GitHub Desktop, just the website. That sounds annoying!