I was on a team at Google that used both Critique and GitHub very heavily, so I was able to constantly see the side-by-side and understand the pain engineers faced when doing external code reviews (as a whole, people actually liked working on GitHub).
After I left I created CodeApprove (https://codeapprove.com) to bring a lot of Google's best code review practices to GitHub. It doesn't give you everything Critique did, but I think it brings the same speed, clarity, and focus in a way that's still compatible with the rest of your GitHub workflow.
This looks like a good tool, and I was tempted to try it, but it costs twice as much as GitHub itself, and I'm not sure it would give us twice as much value.
Honestly that’s fair because GitHub is very good and probably too cheap. If they doubled their prices tomorrow I wouldn’t even consider leaving.
What would you pay for CodeApprove? Also if you email
me I’m happy to set you up with a 6-month free trial with no credit card required. Maybe you’ll like it more than you think!
Yeah, that's probably true, it's just that I'm getting subscription fatigue, with every little tool like "Google Meet links for Slack!" wanting $5/mo/user. I commented something similar upthread, but maybe "free for the first five users, $9/mo/user after" would be much more aligned with your customers' incentives, and would allow you to get a foothold in companies when they're small, and be paid as they expand.
I don't know yet what I'd pay, as I haven't tried it and don't know what value it gives me (it might well be worth the $9!). I'd appreciate a trial, I could send it around the company and see if it makes reviews less painful.
Shameless but relevant plug: I built CodeApprove (https://codeapprove.com) to bring the best parts of the Critique workflow to GitHub PRs. Obviously there are many things that don't translate (Google doesn't use git, and it has insane CI/CD integration) but CodeApprove gives you the same workflow. You always know which conversations are resolved, which PRs need your attention, etc.
Feel free to reach out via email if you're curious.
I'm a former Google developer and current CodeApprove customer, and I just want to endorse CodeApprove. They're the closest thing I've found to Critique outside of Google.
The UI is really straightforward, and Sam (the founder) has been responsive to feedback.[0]
I have no relationship with the company except just being a satisfied customer.
Almost 1.5 years in, here is my opinion on Critique:
Github < Critique < Azure DevOps (or actually, I think it's called Azure Repos)*
*might have changed because I was at MSFT until mid 2021, but development and review used to look sort of like this: https://www.youtube.com/watch?v=dGCid5W-HK0. I just felt the UX was really clean and clear, plus it immediately tied into the walled garden of tools like private package repos, CI, and Azure deployments.
To answer your question, Azure Devops / Azure Repos (at least at the time) was not inside the Azure portal. It was its own website. Bit of a confusing name, eh?
Actually you can’t comment on lines that haven’t been changed if they’re too far from the changed lines! It’s a weird limitation of GitHubs data model.
(source: that’s one of the features that people like most about the review tool I created, CodeApprove)
Annotations can be added by "checks" anywhere, though, I believe.
I like to use that to surface cross-references (annotating anchors whose references appear in changed or context lines, and references whose anchors do).
Bias warning: I created CodeApprove to give GitHub reviews a better UI.
GitHub PR review UI is … fine. But it has very little depth. Unlike an IDE it’s hard to grow into a power user of it. It seems to be optimized for simple reviews with 1-2 rounds of a few comments each.
When you do dozens of code reviews every week you want something more. You want something snappy and dense with keyboard shortcuts. You want something that draws your attention to where it’s needed and something that helps you ensure all your conversations reach resolution.
So there’s a lot of room for improvement and GitHub hasn’t shown much interest in improving this area. So 3p UIs are stepping in (Graphite, CodeApprove, Reviewable, etc)
I think in the end we should not expect GitHub to provide the best option here. We should expect them to provide a basic option (which they do) and for sophisticated consumers to pay more for a much better option. Everyone should be shopping for code review tools!
I disagree on this; GitHub should be building the best option here if they have the resources to do so. The fact that the review interface is as basic as it and so prone to accidentally marking the wrong comments as outdated is a major issue (one that other software like Phorge[0] already shows is possible if we're sticking to the realm of "non-mailing client reliant git servers").
Having to bolt extra features on top of GitHub to make it work properly is a shortcoming of GitHub, it shouldn't be an opportunity to build more tooling the customer has to pay for on top of it. Granted, I can see that conversation would get us nowhere given your income relies on selling people features GitHub is languishing on - you have an obvious interest in keeping that feature shitty.
[0]: Phabricator was disabled in 2022, Phorge is the new fork.
"I think in the end we should not expect GitHub to provide the best option here. We should expect them to provide a basic option (which they do) and for sophisticated consumers to pay more for a much better option. Everyone should be shopping for code review tools!
"
I understand this linke of thinking might suit you but I fear it is not as convincing as it sounds to you. At least it's not to me.
Here's how I like to think about it: GitHub is a generalist. They have a big platform with lots of features besides code review, so even though they also have lots of employees they won't be able to focus on code review as much as a dedicated company could. They also have a huge number of users to please so they can't afford to rock the boat too much or make the learning curve too steep.
I think therefore it's pretty much inevitable that if you need a more advanced code review tool you'll end up picking a third party one. Though admittedly, as the founder of Reviewable, that thinking does rather suit me too. ("It is difficult to get a man to understand something when his salary depends on his not understanding it" and all that. :D )
How you do PRs is definitely important, and should be part of a company's consideration here, but remember that PRs are already a layer of abstraction over the SCM. Self-hosting Git is definitely not as easy as setting up a GH account.
Not to mention that you get an easy way to spin up your CI/CD workflows in GH Actions (which of course definitely has its own problems, which there was another popular HN post about recently). There's a reason why it's the default for new companies -- if there was something much better, it wouldn't have the market share it does I think. Familiarity coming from OSS is also important.
Most frequently, I think it's because you want a single platform to store all company code, but not all teams agree on using GitHub PRs vs a more advanced code review tool. Other potential reasons include having access to the other GitHub features: issues, actions, security stuff, the merge queue, etc. You could pull all these together from less-overpriced more-specialized alternatives, of course, but sometimes it's nice to have a single integrated platform even if you decide to replace one of its features.
GitHub is a platform with dozens of tools, I think of it as a basic toolbox. It's great, but if you're hammering nails all day, you should invest in a nailgun. Doesn't mean you don't use the hammer or the wrench in your toolbox, but when you care about one task a lot, you invest in the tool to do that task better
Question: does CodeApprove place related files in closer proximity during review? I would _love_ to have a class and its test next to each other instead of sorted alphabetically. I'm tired of jumping around all over the place, trying to traverse through my review thought process.
I can't speak for CodeApprove, but Reviewable has file grouping capabilities so users can groups files based on anything they want (using a javascript function to do it)
CodeApprove does not have that feature because we don't currently do any smart code parsing to understand what would make a file "related". I think Viezly (https://viezly.com/) does the best job at that.
That's like saying it's OK to expect (say) Ford to make a car with no steering wheel. GitHub basically define the baseline for the entire industry and have millions upon millions to blow on trying to do better.
(OK, Saab did actually do that once but they're weird)
The tail is not as painful as real engineering but as an industry we throw away billions in value every year to dumb processes. There is more to this than just the scar tissue.
It's not just a feature, the model is fundamentally different and much more conducive to delivery, feedback, and happiness.
> We should expect them to provide a basic option (which they do) and for sophisticated consumers to pay more for a much better option
GitHub is fairly feature rich imo, _especially_ when compared to something like CodeCommit on AWS. I’ve been forced to use CodeCommit on client engagements and it’s absolutely horrid. Honestly if your tool supported CodeCommit I’d say the value proposition would skyrocket.
Large OSS feels like a different use case than the big company one, to be honest -- I think that what maintainers care about is vastly different than what companies do. GitHub feels optimized for the former (OSS) as it is today.
I am biased because I make/sell an alternative UI for GitHub code review (https://codeapprove.com) but I think most of us can agree that GitHub's tools for code review are not nearly as good as they could be.
We all spend time picking our VCS, our IDE, and our CI/CD systems. But for code review we just accept what comes out of the box!
There are so many good tools out there to level up your code review! Here are a few of my favorites:
This looks excellent! I really like the design and I fully agree with most of the problems you’re trying to solve.
The biggest issue with code review tools is that we’re mostly all using the same one (GitHub) with no customization. We should care as much about our choice here as we do about choosing our editors/IDEs.
I’m in the same space (CodeApprove.com) and if you ever want to chat my email is in my bio.
I love seeing projects like this! In general I have always been extremely impressed with the coverage of GitHub's APIs. They're generally well designed, well documented, and available publicly around the same time as a new feature is announced. Which makes it possible to develop alternative UIs like this that aren't complete hacks. Very few other platforms have this type of coverage!
I've used the GitHub APIs on CodeApprove (https://codeapprove.com) to replace the part of GitHub that bothered me the most: Pull Requests.
After I left I created CodeApprove (https://codeapprove.com) to bring a lot of Google's best code review practices to GitHub. It doesn't give you everything Critique did, but I think it brings the same speed, clarity, and focus in a way that's still compatible with the rest of your GitHub workflow.