Hacker News new | past | comments | ask | show | jobs | submit login

I'd be interested in learning how they implemented the UI - it looks like it's native to Windows 8 but runs just as well on Windows 7. Would be interested to hear what toolkit they used. So far, the UX has been impressive for a tool that has historically not run very well on Windows.

Edit: They've mentioned the toolkits used at the bottom of the page. Apparently this is written in C#.




The UI was implemented using WPF4 and Blend. We also use a framework called Caliburn Micro as well as a framework I wrote called ReactiveUI which orchestrates connecting the UI to data via binding.


It looks great and I am installing it now on Windows 8. I'm curious why you chose to use Caliburn Micro over, say, MVVMLight? Do you plan to share some of the technical decisions made for this product on GitHub's Blog?

Edit for spelling


We used Caliburn Micro for its Screens / Conductors implementation and its convention-based wireup of views. We use ReactiveUI for all the ViewModel code though.


Any chance you will open source this app - it would be nice to have a real world example of using Caliburn Micro and ReactiveUI.


Thanks for the info. It looks like you chose to embed Chromium for rendering markdown? What was the reason for not using an embedded IE instance (which is already part of every Windows installation).


IE doesn't participate in the WPF rendering system, so it would have all kinds of glitches like it sitting above all other controls (referred to in the docs as "Airspace Issues"), as well as unthemed controls (specifically the scroll bar - stuck out like a sore thumb). The markup that READMEs use is really simple, IE would've been fine for it.


Airspace issues have been the bane of my existence until WPF3.5sp1. D3DImage! Side note -- I also advocate Caliburn.Micro, it's great!


Probably because IE is a giant failboat.


Nice! :) Did you used some component for the window like http://wpfwindow.codeplex.com/ or is it manually designed?


If you run the app, click on the "tools and options" cog then "licences". This page lists a lot of libraries.

> Apparently this is written in C#.

You sound surprised. To me it looks like a quite slick WPF app, which aims for a metro-ish look. But I've seen nothing in the UI that is particularly challenging for WPF. WPF is very, very flexible.


I am surprised (and I say this as a person who has written a lot of C# and likes the language).

I assumed that doing any sort of integration with Git would require C-level bridging. Didn't realize there was any sort of decent C# bindings for Git.

Also, I have not seen very many Windows apps with slick UIs like this that were written in C#. Even the WPF ones that I've seen were quite clunky.


> I assumed that doing any sort of integration with Git would require C-level bridging.

Short of re-writing git in c#, it does require bridging. That's what unsafe code is for - calling out to dlls written in c.

> Didn't realise there was any sort of decent C# bindings for Git.

I kind of just assumed that there was. There usually is. The licences page lists "libgit2", so it's probably this one: https://github.com/libgit2/libgit2sharp#readme (edit yep, LibGit2Sharp is mentioned later on in the licences)

The file LibGit2Sharp/Core/NativeMethods.cs seems to do a lot of the bindings.

> the WPF ones that I've seen were quite clunky

I said that WPF was flexible, I didn't say simple or easy :P Also, to get good design, you usually need the help of a designer. Most coders will produce "clunky" UIs. I would. Somehow, the Windows desktop space has been very slow to deal with this.


Someone mentioned MarkPad/DownmarkerWPF in the thread but Code52 has a few other projects that use WPF that are good examples. Mishra Reader (https://mishrareader.codeplex.com/) and Espera (https://github.com/flagbug/Espera) are two other apps I also like.


Are you serious? I ask this out of genuine ignorance, knowing only a little of what has gone on in the Windows world the last ~4 years. This is what Windows 8 apps are supposed to look like?


Not sure why you're getting downvoted -- this was my reaction as well. Particularly the lack of any sort of top or bottom border makes the app feel very cramped. Also, some of the mouse interactions I've become accustomed to in Win7 don't seem to work (such as dragging a maximized window from one screen to another) but I'm not sure what to blame for that.


I guess GitHub's apps are kind of the hipster git clients on all platforms. I don't really like the Mac version (I'm faster in GitX), but this looks actually pretty decent and also what I was expecting for a Metro app. I'll give it a try later to see how productive I can be with it.


This is not a "Metro app" in the Windows 8 sense of the word. This is a "desktop app" that looks like a WinRT/Metro/"modern app". Just as a heads up since there is already terminology/tech confusion.


I don't actively use any git GUI client, but my reaction is to the style in general rather than anything git-specific.

I don't claim to be a design guru, but it looks like somebody was going for minimalism, but used a nuke instead of a scalpel. My eyes don't know what to focus on, there's limited indication of what things are, and in places it's hard to tell at a glance where one component ends and the next begins.

It's not so much ugly as it is intensely vague and somewhat undiscoverable.

Edit: Just to be clear, I don't want this to be seen as a criticism of this app or its developers specifically, I'm operating under the impression I'm getting from other commenters that this is very Windows 8-ish in general, so take this as bewilderment at the Windows 8 style.


It's quite similar, at least, so it'll blend in with native Windows 8 programs (on the desktop, not in Metro).

http://www.theverge.com/2012/5/18/3029547/microsoft-windows-...




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: