Live data from Hacker News

Designing GitHub for Mac

warpspire.com

21–30 of 80 posts

Re: Designing GitHub for Mac

#21
There is no layout engine for Cocoa. If you want two elements to rest side to side, you’ll need to calculate the pixel size of the text, padding, borders, margins — then manually position the next element.

This is getting a lot better in Lion. If you browse the WWDC 2011 videos, look for Session 103 "Cocoa Autolayout".

Re: Designing GitHub for Mac

#22
post #4

What a f'ing fantastic article. Thank you so much for writing this. I spent a decent chunk of time last year building up a somewhat large Cocoa application (a telling synecdoche of how ambitious the app is: it integrates libevent with the Cocoa loop and involved writing a whole new evented Redis-backed HTTPS cache in ObjC). But unfortunately, I got to the UI part of this project ("UI part", heh) thinking "this is goi…

When confronted with porting a previous Win32 app to the Mac, we ended up just rewriting every piece of UI we could in HTML+CSS. It was literally easier to embed Gecko into our app than it would have been to get the UI up and running in Cocoa.

HTML+CSS being easier and more expressive than Win32 didn't hurt either. Shared codebase!

Re: Designing GitHub for Mac

#23
post #19

Earlier quoted context omitted.

I had the same experience with my first Cocoa Touch/UIKit project. The GUI stuff far eclipsed the rest of the app in terms of development effort, which I did not expect. This hadn't been the case with previous GUI stuff I'd done (Windows apps, game UIs and the web), and took me completely by surprise. The "no layouting engine" issue mentioned in the article applies to Cocoa Touch in the same way as it does to Cocoa,…

Any interest in either open sourcing said layout system or perhaps even selling it to those of us who struggle with these sort of problems (a la Sensible TableView)?

Thanks for the link to Sensible. Are there any well-known apps using this stuff?

Re: Designing GitHub for Mac

#24
> Death of the SSH key. People should be able to connect to GitHub with their GitHub username and password.

This sounds like a wrong design decision. I wish nobody could log into my github account using anything but my SSH keys.

This is also true of my AWS account: my ec2 instances are protected by SSH keypairs, but if anyone gets my AWS password, he has full control over everything.

I'm not a security expert, but SSH keys feel way safer than passwords, especially with all those recents article showing how easy it can be to bruteforce passwords.

Re: Designing GitHub for Mac

#25
> Simplify the git fetch, pull (--rebase), push interaction. Synchronize — don’t make the user figure out what they need to do to get their local commits remote and remote commits local.

What about conflict resolution? That's one of the hairiest, least-user-friendly scenarios in my experience.

Re: Designing GitHub for Mac

#26
post #2

Has anyone been using this client, is it worth using as far as GUI's go?

I've been using it. I like it a lot, but I can't figure out how to "git add ." in it! I don't know why people are trashing this app. It's not exactly hard to use the command line if you don't like this app. Using a GUI on git is just a convenience, and probably most useful for new git users.

What I think part of the problem people have with it is that it doesn't necessarily do what a seasoned git user would expect when syncing remote repositories, such as the fact that it pushes and pulls at the same time, and the pulls aren't normal pulls, they're rebase pulls.

Re: Designing GitHub for Mac

#27

Great article for sure, but I take issue with these bits: > Unfortunately for everyone involved, every OS X application that’s showed up over the years gave up and tried to turn CLI commands into buttons. It's my understanding that for a really long time there was no linkable library for interacting with Git. So unless these devs wanted to first write said library they were pretty much left with putting buttons on th…

His point was that the OS X applications he saw were just a thin layer over the CLI program - they provided no new abstractions. Whether the OS X application calls a library or calls the CLI program(s) is an implementation detail not relevant to his point.

Re: Designing GitHub for Mac

#28

> Death of the SSH key. People should be able to connect to GitHub with their GitHub username and password. This sounds like a wrong design decision. I wish nobody could log into my github account using anything but my SSH keys. This is also true of my AWS account: my ec2 instances are protected by SSH keypairs, but if anyone gets my AWS password, he has full control over everything. I'm not a security expert, but SS…

I think their goal was to make GitHub (and by extension git itself) more accessible to people who code, but are not familiar/comfortable enough with command line Unix or SSH to generate SSH keypairs. There are a lot of these people.

Although I agree that SSH keypairs feel more secure than a username/password, it would make setting up a new machine for development a lot easier than generating a new SSH keypair and adding it to my GitHub (or any other git server) account.

Re: Designing GitHub for Mac

#29

> Death of the SSH key. People should be able to connect to GitHub with their GitHub username and password. This sounds like a wrong design decision. I wish nobody could log into my github account using anything but my SSH keys. This is also true of my AWS account: my ec2 instances are protected by SSH keypairs, but if anyone gets my AWS password, he has full control over everything. I'm not a security expert, but SS…

Holy crap, yes. This was incredibly alarming. SSH keys are far and away more secure than username/password. I would be far more comfortable if it were possible to use GitHub with nothing but my SSH key. The ability to create a passcode-secured key is vital to me, because the keys and the passcodes have to be stolen to be useful at all.

And if you use ssh-agent, I'm pretty sure it doesn't even send your private key; SSH creates a challenge that your key is used to compute, so even someone eavesdropping with a keylogger on the server won't be able to sniff your password.

Re: Designing GitHub for Mac

#30

Great article for sure, but I take issue with these bits: > Unfortunately for everyone involved, every OS X application that’s showed up over the years gave up and tried to turn CLI commands into buttons. It's my understanding that for a really long time there was no linkable library for interacting with Git. So unless these devs wanted to first write said library they were pretty much left with putting buttons on th…

programming is hard, let's go shopping!
Post reply on HN