9 ms·
What y'all really want is Google Critique. You just don't know it yet, because you haven't experienced it, as it's internal to Google. The closest public produc
by m0zg 8y ago
What y'all really want is Google Critique. You just don't know it yet, because you haven't experienced it, as it's internal to Google. The closest public product that I could find is http://reviewable.io http://reviewable.io (no affiliation) which, while it looks weird/amateurish, nails most of the points which make Critique so amazing. There's also Gerritt, but it's too invasive in terms of workflow, whereas Reviewable integrates with GitHub in a more lightweight fashion.
- piotrkaminski 8y agoReviewable author here -- thanks for the compliment! Redoing the UI is on the to-do list, once the migration from Angular to Vue is done.
- m0zg 8y agoThank you for putting it together! I switched folks over and we've been paying customers for well over a year now. I can overlook the UI deficiencies when I have proper review workflow, but the problem is that people who don't know the Critique workflow might be put off by the UI. Personally, I encourage them to give Reviewable a good try anyway. Anything larger than a few dozen lines and/or needing multiple rounds of feedback is just untenable in plain GitHub. I can say with certainty, our code would be worse if it wasn't for Reviewable.
- piotrkaminski 8y agoThanks again, I might have to quote you on the home page. :) And yes, the UI is often the sticking point for adoption. I don't know if it's just the style / toolkit (an old version of Semantic UI) and switching to something like Material Design would take care of the problem, or if it's a deeper design / UX issue. A good onboarding flow would likely help as well but I haven't figure out what that should look like yet either. More feedback and advice is always appreciated -- and if you happen to be (or know) a UX expert who knows how to fix it I do have some budget I could throw that way. :)
- osel 8y agoFrom my brief play with your demo it's a bit of both. The toolkit is very small and lacks good definition of elements (both visually in that it lacks contrast, and practically in that I have no idea what is clickable or editable). The page structure isn't that clear either, where are the column headings? And on my widescreen browser window the isn't a limit on horizontal stretch - I have to play with the browser to find a good width. Also, I can expand code, but how do I shrink/hide it?
- piotrkaminski 8y agoThanks! Sounds like switching toolkits should address many of these issues. And no, you can't shrink/hide code, other than by re-diffing. What can I say -- it's surprisingly hard to implement and didn't seem worth it.
- sexyrouter 8y agoDo you've experience with Google critique? Did you work there in past or something? How did you copy their features without seeing their product?
- piotrkaminski 8y agoI worked at Google ~2006-2012. Most of my experience was with Mondrian, but Critique was coming online shortly before I left. I used it long enough that the general "feeling" of using it stayed with me, but not long enough that I actually remembered specific features to copy -- especially since I didn't start even thinking about Reviewable until ~2014. So really it's more of a "spiritual ancestor". :)
- sandGorgon 8y agoWill you guys support bitbucket ? Some of your older comments/support bugs have refused to support anything other than GitHub.
- piotrkaminski 8y agoSorry, not going to happen as things stand. A big part of Reviewable's attraction is the tight GitHub integration, so supporting other platforms (BitBucket, GitLab) would essentially require a fork or some pretty heavy-duty abstractions. Either way, future maintenance would become much harder, so I can't build a business case for it. Perhaps if BitBucket or GitLab were larger / growing faster, or if Reviewable was a much larger company with many developers to throw at the problem...
- xorgar831 8y agoBitBucket doesn't have a large OSS community, but it does have a lot of larger business that need Jira and Confluence integration. So it could be worth it, just the user base isn't as visible as GH.
- piotrkaminski 8y agoDefinitely something to think about then, since I think larger businesses are the sweet spot for Reviewable and that's where most of the growth has been coming from in the last couple years. Still, forking the codebase _really_ doesn't sound appealing...
- oaiey 8y agoAbstractions are sometimes really good for understanding the business. But yeah comes with a price tag and potential mismatch to the real niche (like GitHub add on)
- piotrkaminski 8y agoBTW, does anyone where to get better-than-anecdotal data on userbase size and composition for GitHub, BitBucket, and GitLab? And, ideally, growth trends?
- cmarschner 8y agoThanks for redoing the UI. While evaluating, I really loathed the childish style, and I had problems finding the buttons I need when I needed them. The UI is cluttered and not self explanatory. It was a non-starter for me. That said, reviewable has fans in my immediate surroundings, so the problems are not with the system design.
- piotrkaminski 8y agoThanks, I'll take that criticism to heart. :) Can you expand on "childish style", though? My design philosophy is best summarized as "minimalistic but with touches of whimsy", but perhaps that comes across as childish?
- hopler 8y ago"edoing the UI is on the to-do list, once the migration from Angular to Vue is done." Is what makes me uncomfortable about modern webdev. Valuable product work constantly deprioritized by migrations to new frameworks. Magpieing has always been a risk in hobby projects, but in the past there was a smaller torrent of nee things to always be migrating to.
- ambulancechaser 8y agoThat doesn't seem particularly different that desktop software. Pretend s/he said that once they got to off of WinForms and onto WPF they could iterate on the UI design. or maybe once they upgraded GTK, or whatever.
- piotrkaminski 8y agoEh, I don't think it's as bad as you make it sound. It's not "constantly", it's the first major migration effort for Reviewable. And honestly, I probably could've stayed with Angular 1.x for a few more years (it's still being developed, after all), I just got tired of working around its performance issues. There's also 4 years of learning how best to architect an application like this that led to the creation of a Firebase-centric model layer where Vue happened to be a good platform to build on. And even if we didn't switch platforms, a thorough refactoring would've been necessary after many years of accumulated technical debt.
- PretzelPirate 8y agoWhat makes Google Critique better than Codeflow?
- m0zg 8y agoHow would I know, CodeFlow is internal to Microsoft. As far as I can tell from public sources, it's trying to solve some of the same problems (keeping track of structured, possibly multi-party and multi-round conversations over revisions), but it's a Windows app, and Critique is really Google's V2 or even V3 of this kind of thing that runs in the browser and is deeply integrated with the rest of their engineering infrastructure. I hope it eventually makes it into Google Cloud, it really is that good.
- forrestthewoods 8y ago> How would I know, CodeFlow is internal to Microsoft. Lots of people have worked for both Google and Microsoft. The article said CodeFlow was good. You said no, Critique is better! But I guess you don’t actually know one way or the other. Which is too bad. Because it’d be great to hear thoughts from people who’ve tried both.
- m0zg 8y ago>> You said no, Critique is better! Nope, I did not. I just said that people really want Critique, which they do. Even CodeFlow itself is evidence of that.
- forrestthewoods 8y agoMaybe what I really want is CodeFlow. Maybe Critique is evidence that I need CodeFlow in my life! It could be that you want CodeFlow in your life, you just don't know it yet.
- m0zg 8y agoSeeing that I haven't willingly used Windows in the last decade and wrote zero code for it, I highly doubt it. I would, however, pay for Critique+Blaze+Forge if Google offered it on Google Cloud. It's an incredible force multiplier.
- kerng 8y agoHave you used Codeflow? It seems pretty amazing as described. I'd like to see input from someone who worked at both Microsoft and Google to chime in.
- m0zg 8y agoI worked at both, but I left MS before CodeFlow was created. An earlier version of what is now Critique (called Mondrian) was already in use at Google when I joined, and predated me by several years. There might have been something similar before it, I don't know.
- brainwad 8y agoI've worked at both. My memories of CodeFlow are a bit faded but I don't remember it doing anything that Critique doesn't. Critique has the advantage that it's hosted on the web, while CodeFlow was a janky Win32 application.
- premun 8y agoI have worked for both and prefer CodeFlow, my more detailed comment is above.
- akhilcacharya 8y agoI’m confused, how is this significantly different than Amazons CRUX tool? Anybody been at both know?
- eyjafjallajokul 8y agoHaving only ever used CRUX (and ReviewBoard prior to it), I'm honestly surprised that most of what is discussed in the article is not common outside of Amazon.
- guitarbill 8y agoHaving used CRUX (and ReviewBoard prior to it), I'm honestly surprised it's considered an okay solution? Maybe 10 years ago it was fine, but the productivity it zaps and bad habits it encourages are a staggering waste of developer time. GitHub/GitLab is light years ahead, to the point where even small shops (can) have better code review process IMO. (Gerrit is decent, too, but the weak UI and interesting process cancels out other advantages is has over GitHub/GitLab.)
- bogle 8y agoWhat were the bad habits in code review that you were thinking about? I'm stuck with TFVC and the code review in TFS is very poor but I used ReviewBoard about 8 years ago and thought it was the best F/OSS available at the time.
- chipx86 8y agoNot to hijack the thread too much (I'm also very curious about the answer -- I'm one of the Review Board founders and these discussions always interest me), but we support TFS these days in Review Board by way of our Power Pack add-on product, if you'd like an alternative solution. I can talk to you more about this off this thread if it's at all interesting to you.
- guitarbill 8y agomainly for CRUX and the surrounding ecosystem: it's very hard to protect the main branch from pushes that don't meet approval, that's done afterwards during deployments. this is obviously and horrendously dumb, you really want to catch stuff before it goes in master/mainline, and having to fix this stuff before deploying it also a great use of time /s. but it gets worse. the UI can't or won't do trivial rebases. so either you upload a new, rebased revision, and get the reviewers to re-review (because stale reviews get wiped), or just rebase, push, and mark as merged. i get you are supposed to review rebases, but this can grind a team to a halt. you're waiting for approvals, but by the time you get them someone else has pushed a new change... a colossal waste of time (edit: especially if you require 2 approvals, which i do think is good practice, and some AWS teams do it). this also means people are trained to ignore the merge button or expect it to be greyed out. but it might be greyed out for other reason though. in GitHub, you have big green check-marks or red icons to indicate which conditions have and haven't been met (reviewers, CI, merge conflicts). in CRUX, hovering over the greyed out merge button gets you one cause at best (there is a page/tab that shows more detail, but almost nobody looks at it). obviously it depends on your team, but it requires near constant vigilance to maintain high quality with CRUX, especially with a big team or less experienced devs contributing. process is supposed to make quality easier, not harder! there are many other smaller issues, but that's the big one IMO. as for ReviewBoard, personally i prefer Gerrit, which itself doesn't have a great UI, but makes up for it in the workflow.
- xorgar831 8y agoWhat were the points that made Critique amazing?
- premun 8y agoI have worked in both Google and Microsoft and even though I see how people can be efficient in Critique, I must say I prefer CodeFlow. In CodeFlow any comment is a floating object with a line connecting it to whatever selection it was created for and you can move it around as you like. You also can easily filter out visible comments by state, author, participation in them.. Features around comparing iterations, marking already reviewed files and similar are the same as far as I remember. Another reason for my opinion might also be that CodeFlow is probably better optimized for large screens, but this might be caused by the weird Google standard of 80 column limit for source code which I will just never understand in the 21st century where everyone has 24" and up full HD to 4k screens. I am comparing state of both from 2015 where I worked with both in the same year.
- leetcrew 8y ago> this might be caused by the weird Google standard of 80 column limit for source code which I will just never understand in the 21st century where everyone has 24" and up full HD to 4k screens even if you have a big screen, it's still useful to be able to fit two or three files side by side on a single screen. 80 chars might not make sense as a hard requirement for, eg, a c++ codebase, but it's still a worthy ideal to shoot for.
- premun 8y agoYeah, I agree, but do 120, not hard 80 limit for every language. I remember C++ and JS code where you wouldn't fit even the for() definition in one line and that just becomes crazy
- kartayyar 8y agoAs a Xoogler, I really miss Critique. Amazing tool. Great integration with version control, code search, continuous integration.