Live data from Hacker News

Show HN: Crocodile - Better code review for GitHub

crocodile.dev

11–20 of 62 posts

Re: Show HN: Crocodile - Better code review for GitHub

#11
post #5

Earlier quoted context omitted.

Adding Y to Xy is already a tough sell, but when the upgraded Y costs more than all of Xy? I sympathise with GP. GitHub can do it from an economy of scale and probably 'should' be more expensive, but it can manage not to be (maybe cheaper is actually optimal, given how many more will pay for it, point is it's in some sense 'worth' more) which puts OP in a tough spot. Imagine trying to sell a better WYSIWYG editor for…

Hence my suggestion, if your product saves me $500/seat/month then I'll gladly pay $50/seat/month. Wordpress is a great example, rather than build another Wordpress, solve one problem Wordpress doesn't solve (example: Elementor) and do it far better (depth vs breadth). We are using this Github Action ( https://github.com/flowwer-dev/pull-request-stats ) for now, it adds stats to every PR, it has helped the team visua…

How does the metrics shown in the action help you?

If someone adds a lot of comments, are they nitpicking too much or providing more valuable feedback?

Does lack of reviewing PR hints lack of contribution or person being focused on something?

Re: Show HN: Crocodile - Better code review for GitHub

#12
post #7

This looks fantastic! I'd love to try this out, but I don't have admin access to the repo I work in and IT will definitely not approve a random new app. Any chance I can set this up with a personal access token instead?

Thanks for taking a look! Yeah, not having admin access is definitely a problem. Using a PAT is an interesting idea that I'll have to think about that from a security and liability perspective.

Re: Show HN: Crocodile - Better code review for GitHub

#13

Earlier quoted context omitted.

Hence my suggestion, if your product saves me $500/seat/month then I'll gladly pay $50/seat/month. Wordpress is a great example, rather than build another Wordpress, solve one problem Wordpress doesn't solve (example: Elementor) and do it far better (depth vs breadth). We are using this Github Action ( https://github.com/flowwer-dev/pull-request-stats ) for now, it adds stats to every PR, it has helped the team visua…

How does the metrics shown in the action help you? If someone adds a lot of comments, are they nitpicking too much or providing more valuable feedback? Does lack of reviewing PR hints lack of contribution or person being focused on something?

> How does the metrics shown in the action help you?

We've mostly looked at "Total reviews" and "Total comments". When I put the action in place, I told the team that the goal was for everyone to contribute to the process.

I was expecting to look at the stats, make some observations and action items and bring it up during our 1:1. I didn't even need to do that. Everybody took it to heart and contributed in different ways. Our most junior engineer ended up contributing in the most meaningful way and set a new standard for how far we take testing.

At this point, it's pretty clear that I see this more as a tool for individuals. For me, I am a bit constrained on time, I can check the table, notice a variation in the number (the action doesn't show variation so I do it out of memory) and decide to take an hour to explore the contributions. The goal being: how can I help them grow?

As an IC, I perhaps could project myself a bit based on my experience, if I am a junior engineer then I can see who comments the most, explore their comments and learn from them. As a tech lead, I'd want to make sure the tone of the comments are constructive (ie. definitely not toxic).

Re: Show HN: Crocodile - Better code review for GitHub

#14
post #7

This looks fantastic! I'd love to try this out, but I don't have admin access to the repo I work in and IT will definitely not approve a random new app. Any chance I can set this up with a personal access token instead?

Thanks for taking a look! Yeah, not having admin access is definitely a problem. Using a PAT is an interesting idea that I'll have to think about that from a security and liability perspective.

Just today I had to go through the work of auditing a GitHub app, for compliance reasons. Having the source available made that possible. Since your source isn't available, the barrier to entry would be a SOC2 report or you filling out a vendor survey.

Compliance is a PITA but it's a real thing for companies. How are you planning on clearing that hurdle? I wouldn't want to put you through the vendor survey gauntlet and SOC2 is a lot to ask of a solo dev but the aforementioned IT team could likely be persuaded if you did Type 1 at least.

Re: Show HN: Crocodile - Better code review for GitHub

#15

This provides better UX but adds one more redirection when you are using github. Do you support features like github suggestions which can be committed easily by author? Given your history with Microsoft and their internal tool which this is inspired by, how long until github copies some of the ideas? How many active users does this have? Are there potential problems you see outside of current product? I remember a s…

> Do you support features like github suggestions which can be committed easily by author?

Not right now. The suggestion feature is something I want to add in the future if there's interest though!

> Given your history with Microsoft and their internal tool which this is inspired by, how long until github copies some of the ideas?

No idea! But CodeFlow had been around for many years before they acquired GitHub so they've had plenty of time to do it! I think this is an existential fear that anyone building code review tools has. For Crocodile, I think the long term strategy will be to decouple this from GitHub so that it can work with any source control provider. I architected it this way from the beginning but decided to target GitHub first because they have mindshare and because it made it really easy to dogfood since I host my code on GitHub.

> Are there potential problems you see outside of current product?

There's the one you already mentioned, which is GitHub improving their PR system, but there's not much I can do about that. Current problems I'm looking at are roadmap related. I have a few ideas of features I'd like to add, but no real indication on what to do next. Hence, posting on HN to get feedback. :)

Thanks for taking a look and the feedback!

Re: Show HN: Crocodile - Better code review for GitHub

#16
> * Comments float above the code

> * Comment on any text selection in the file

> * Comments don't get lost when code changes

This addresses my main pet peeves with GitHub/Bitbucket reviews!

2 questions:

With regards to comments not getting lost, how well does this work across rebases and force pushes?

Are you considering supporting other products like Bitbucket and Gitlab?

Re: Show HN: Crocodile - Better code review for GitHub

#18
This is cool! I'm happy to see more options in this space.

The best code review tool I've ever used was a tool at Google called Critique.[0] They've open-sourced it as Gerrit[1], but there are sadly no hosted versions available for under $15k/yr, and it's complicated to self-host.

I've been using Reviewable, and my experience has been good not great. Github's native code review has caught up a bit, but Github's review tool falls apart if your review lasts more than one round.

Here are my gripes with Reviewable:

Steep learning curve - Every new developer who joins the team spends their first few reviews being confused and frustrated by Reviewable.

Performance - Reviewable has awful performance. It takes about 10 seconds to load a code review. It seems like it's doing some odd websockets stuff where sometimes my "connection" to Reviewable will drop and I can't add comments. I've never experienced this with any other web app. It's gotten better over the last few years, but it's still annoyingly frequent.

Complicated configuration - I just want the reviewer to be able to hit an "LGTM" button to mark their approval. Reviewable's decision about when a PR is approved is based on this complicated function combining whether the reviewer typed the text ":lgtm", how many people looked at the review, whether they also hit the approve button. Each repo has its own configuration, and I can't make org-level changes without changing every repo one at a time.

Excessive permissions - This might be a Github thing, but you can't grant Reviewable permissions to a particular private repo - you have to grant it permissions to all of your private repos. Several developers who join my team need to create a dedicated Github account to avoid exposing their other private repos to Reviewable.

Thread state is unclear - The options are "discussing", "satisfied," "blocking," or "working," and it's not obvious who's supposed to move the thread to what state at what point.

No development - I've been a paying customer of Reviewable for about 7 years, and I can remember only 1-2 minor features that have been added during that time. They haven't updated their blog[2] in 6 years, and they've never communicated with me as a paying customer to tell me anything they're doing.

I checked out Crocodile, and it looks like it has potential. I'm not sure I'd pitch it to my team to switch yet. Here are some of my thoughts:

* When do the reviewer's comments become visible to the author? One of the must-have features for me is that both author and reviwer(s) can prepare a set of notes, but they're not visible to anyone else until they hit "publish" to share them with the team. Sometimes I make comments in one spot, and then as I read more of the code, I revise a previous comment. If all my comments publish immediately, I can't revise comments like that. Github, Reviewable, and Gerrit all support a flow of preparing comments and then committing them in a separate step.

* Crocodile touts the floating thread thing, and I've never used a tool that has it, but it doesn't seem better to me. Inline comments do break the flow, but floating comments actually cover up the code and prevent me from reading it. I see I can close threads, but I can't figure out how to get them back.

* Being able to comment on character-level granularity is cool!

* I think your thread state is better than Reviewable's, but I'd prefer an even simpler model where threads are either "open" or "resolved." When an author responds to a comment, the default action is to resolve it, but the author can override the default and leave it "open" if their comment is asking for clarification rather than declaring a fix. The reviewer can reopen a thread if they feel that the author has misunderstood the note. 95% of the time in my reviews, the reviewer makes a note and the author resolves it, so having a whole extra confirmation phase for that last 5% feels unnecessary when the reviewer can just reopen it instead.

* Ditto for review state. The only two states I've ever needed for a code review are "pending approval" and "approved." I've never wanted to mark a PR as "rejected" unless it's just a spam submission from a stranger on an open-source repo, and even then, I'd close it from Github rather than my code review tool. The worst I'll do to a teammate is withhold approval until they address my notes, but I'd never mark it as "rejected." I don't need an explicit state for "pending review" or "waiting for author" because if the author is the last commenter, it's implicitly pending review.

* I like that there's a view of all the comments at once. I like to review all my comments before pushing them to the author.

* I'd like a way to mark a comment as "no action required" when I just want to say something nice[2] about the code that doesn't require action from the author.

* I couldn't understand the "iterations" UI control. It's not obvious to me what the different circles represent.[4] Once I compared two diffs, I couldn't figure out how to compare to the the full PR to the base branch (i.e., all commits aggregated). I think it's replicating a control that Reviewable actually does pretty well, so I recommend giving it a look for inspiration.

* It looks like I'm only allowed to make code-level comments, but I'd like to make review-level comments as well for high-level notes about the review as a whole.

Hope that's useful. I'm very interested in code reviews, so if you want to do user interviews, feel free to reach out. You can find my contact info through my HN profile.

[0] https://abseil.io/resources/swe-book/html/ch19.html

[1] https://www.gerritcodereview.com/

[2] http://blog.reviewable.io/

[3] https://mtlynch.io/human-code-reviews-2/#offer-sincere-prais...

[4] https://i.imgur.com/3ZhDAR1.png

Re: Show HN: Crocodile - Better code review for GitHub

#19

I am a bit at odd with the pricing. My team has 6 engineers and base price for Github is $24. Your product would increase our bill by $48, an increase of 200%. $48 is nothing compared to the salaries of 6 engineers but I am not convinced the feature set would make my team more productive. If you told me that your solution help my team ship faster and saves an hour per engineer per week then that's easy math: your pro…

Suggestions:

- It sounds like you’re micromanaging your team’s metrics at a rate that’s fractional to one contributor’s hourly cost even though you don’t understand what helps them to be productive. Don’t do that.

- You’re asking for a Show HN to eliminate its price tag and give you everything the poster finds valuable for free, and offer an entirely different product. I’m pretty sure you’re not the audience for this product.

Re: Show HN: Crocodile - Better code review for GitHub

#20
post #3

I am a bit at odd with the pricing. My team has 6 engineers and base price for Github is $24. Your product would increase our bill by $48, an increase of 200%. $48 is nothing compared to the salaries of 6 engineers but I am not convinced the feature set would make my team more productive. If you told me that your solution help my team ship faster and saves an hour per engineer per week then that's easy math: your pro…

I’m going to disagree, I think the model they have is both familiar to me as a potential user and priced such that, if it is even slightly better than GitHub, it’s a no-brainer. I wouldn’t pay extra for analytics, though, it just sounds like another thing to check. IMHO if the one-month free trial isn’t enough to know whether a SaaS solution is worth an $8/head price, it’s probably not worth that price.

It’s not a GitHub replacement though, it’s an integration.

Is it still better? Maybe it is.

I don’t think that turning a PR comment into a floating box is a value-add… anyone can do that with a userscript or inline bookmark.

And ultimately…you can’t solve a people problem with tech.

Post reply on HN