
Announcing GitHub Desktop Beta - smoser
https://github.com/blog/2362-announcing-git-integration-for-atom-and-github-desktop-beta
======
lol768
> We've rebuilt GitHub Desktop from the ground up in Electron to create a
> simplified user experience focused squarely on how you use GitHub

Would be really interested to see some benchmarks comparing the performance of
the Electron version and the previous version. Start-up time, time to perform
common actions etc.

Personally I think it's a bit of a shame, since I seem to remember the
previous version making use of the platform's native toolkits and widgets,
e.g. WPF on Windows and Cocoa on Mac. I suspect the overall UX will now
suffer. I guess it's easier to develop though, and works on Linux now?

Edit: Oh, there's still no build for Linux.

They do detail some of the reasoning ([https://githubengineering.com/how-four-
native-developers-wro...](https://githubengineering.com/how-four-native-
developers-wrote-an-electron-app/?)) behind this decision in the GitHub
engineering blog and it looks like they've put a lot of work into this. But
even the menu bar they've come up with
([https://github.com/desktop/desktop/pull/991?](https://github.com/desktop/desktop/pull/991?))
for Windows is _obviously_ not native. The decision seems to boil down to
(paraphrasing) "lots of people are doing web stuff" and "now we can reuse our
code" ... which is fine, but again seemingly prioritises the development over
the user experience.

~~~
frogfuzion
That's the whole point of Electron period. Cut development costs. Meanwhile
end-users (including developers) will suffer, because along with their chrome
instances using hundreds of MB in ram, they will have electron apps open using
similar (and in many cases more) amounts.

~~~
HalfwayToDice
I don't care too much about RAM, I do care about the carnage it wrecks on my
battery life.

~~~
geodel
Maybe few extra battery packs will take care of battery issue too?

~~~
electroner
I like the way you think

------
devwastaken
I don't know why these kinds of applications aren't developed in far better
performing frameworks and languages. Github desktop has to process a lot of
textual information. With the current version, I've frozen it and crashed it
many times due to large files. I actually can't use it anymore due to that.
Make it in c++ with QT or some other native toolkits, like every other gilded
application of old has. It will 'Just work', which is what developers need.
Not fancy UI's

~~~
zeptomu
> It will 'Just work', which is what developers need. Not fancy UI's

The whole existence of the GUI client itself is an argument against that as
the Git command line interface already works just fine.

~~~
stinos
I assume that with 'just works' the OP actually meant to say 'just works
without too much hassle/overhead'. For example: staging lines/hunks on the
commandline does 'just work', no denying that, but in most UI's it's way more
efficient and pleasant.

~~~
jamescostian
Just like how you want a nice UI for staging individual lines, some of us want
a nice UI in general, and few of us have low enough standards to consider qt
to be "beautiful"

~~~
roblabla
Qt can be made beautiful. Just like most other UI toolkit out there that
support theming. HTML by default is pretty hideous.

It's mostly a matter of knowing how the theme engine works. As an example,
[https://tox.chat/](https://tox.chat/) qTox looks pretty nice in this
screenshot :)

------
Grue3
>a new release of Atom with Git and GitHub Integration and the new GitHub
Desktop Beta, completely redesigned on Electron.

So how many gigabytes of RAM does it take to run both of these at once?

~~~
ehsankia
I've been having a lot of performance issues with sourcetree so honestly, I
don't care how much ram this uses as long as it manages to push a commit to my
medium-sized repo in less than 30 seconds...

~~~
madamelic
`git commit -am`

Boom. Less than 30 seconds. Even quicker if you have an alias like `gc`...

------
pikzen
2012: [https://github.com/blog/1151-designing-github-for-
windows](https://github.com/blog/1151-designing-github-for-windows)

>We specifically made the decision to write each application in a language
native to the platform, and this has turned out to be hugely beneficial to us.
Because of this separation we've been free to tackle the problems that are
most pressing for each platform and work in the best possible tools instead of
being constrained to the lowest common denominator.

2017: GitHub discovers software development is hard, falls back on lowest
common denominator.

EDIT:

80MB installer. Automatically unzips into %ROAMING%. 140 MB of RAM used with a
single repo loaded. Yep, sounds like Electron.

Oh, also, it doesn't even list any of my repos after logging in.

~~~
amcca029
> Automatically unzips into %ROAMING% blame MS for that garbage > 140 MB of
> RAM used wow, that would be alot in the 90s

~~~
pikzen
> blame MS for that garbage

Uh... As far as I know, installers work well. Sorry for wanting to choose
where I install my stuff. Spoiler: It's not on C:\\. Chrome started that trend
of install-less installs, and I've hated it ever since.

>wow, that would be alot in the 90s

Indeed, let's see which processes I have running that take up less than 140MB,
shall we?

* Battle.net. Full app launcher, with patching capabilities, okay. * OpenHardwareMonitor. Does a shitton more than GitHub. * Mumble. Does a shitton more than GitHub. * Windows Explorer. Does a hell of a shitton more. * Steam. Finding a pattern there? * Origin. Skype. Task Monitor. Intel XTU. The list goes on and on. All doing infinitely more than what amounts to little more than an UI on git.exe

Thing is, sometimes I actually need that RAM. To run games, Photoshop, or
Atom, depending on how much I hate myself right now.

But hey, it's okay, as a developer, you can choose to disrespect your users,
that's your choice, not mine :>

------
Dirlewanger
So they went from a subpar native application to an even more subpar
application on Electron. I think I'll stick with SourceTree. At least that
won't take 10 seconds to boot up.

~~~
conover
I've never used Github Desktop but SourceTree has its own set of glaring
problems from interface to functionality. I stick with the command line these
days.

~~~
chinhodado
SourceTree just became worse and worse with every release, to the point of
unbearable. I am using an old version of SourceTree (1.5.2) and it works
great.

~~~
RubenSandwich
I hate to be the bearer of bad news but that version of SourceTree is affected
by this security vulnerability:

[https://confluence.atlassian.com/sourcetreekb/sourcetree-
sec...](https://confluence.atlassian.com/sourcetreekb/sourcetree-security-
advisory-2017-05-10-900820365.html)

------
misterbowfinger
Will this also, without my permission, delete repositories & forks from my
laptop that have been DMCA'd on Github?

~~~
macspoofing
Yikes. They did that?

~~~
gregmac
There seem to be a lot of repositories taken down from Github.com [1] -- over
30 in the past week alone. I am not sure if they've removed repositories from
local PCs ever, but presumably with control over the client they could,
similar to what Amazon can do with the Kindle [2].

[1]
[https://github.com/github/dmca/tree/master/2017](https://github.com/github/dmca/tree/master/2017)

[2] [https://arstechnica.com/gadgets/2009/07/amazon-sold-
pirated-...](https://arstechnica.com/gadgets/2009/07/amazon-sold-pirated-
books-raided-some-kindles/)

------
chinhodado
Every time I see a native app rewritten as a "cross platform" webapp I get
flashback of the tragic story of pgAdmin and die a little inside.

------
mariusmg
Sometimes i think Electron is literally the worst thing that happened to
desktop apps. Fuck these bloated, +10 seconds startup on a i7 + SSD , non
native looking "desktop applications".

~~~
lol768
Yeah, it's a "fad" that I hope ends reasonably soon. I guess a lot of
businesses just care moreso that using Electron reduces costs and the user
experience and performance isn't a priority.

------
kogir
Will the native versions also be open sourced when they're retired?

I'd be willing to volunteer some time to bring the Windows one back up to
speed. All I wanted in a new version was for it to respect my system accent
color and switch to using system webviews internally (neither of which this
new version does either).

------
RubenSandwich
Congratulations Github team!

One thing that worrying to me is that you include an 'undo' button that
rewrites history. This is bad, as it could affect everyone downstream of you.
That button should be turned into a 'revert' button.

------
winteriscoming
I use git and github regularly for my hobby/side projects and even for
contributing patches to some open source projects hosted on github. My
typically workflow is using git command line for commits and the usual things
and then a git push to my remote github repo and use their website to submit
PRs, respond to reviews etc...

I am curious, how people use desktop app for github and what value it adds
when compared to just using github website.

~~~
lol768
From personal experience, GitHub Desktop is great for teaching people new to
Git about how it works /prior/ to them being comfortable with Git on the
command line. It's not something I'd use on a daily basis, but it does make it
very easy to make your first commits and PRs - and visually see where you are,
what changes you have staged etc.

------
sandGorgon
If my browser had the capability to set watch on multiple different
directories for a service worker, you could have an almost desktop like
experience without a different software.

With service workers, this would be pretty much do everything that the Dropbox
or Github clients can do.

------
blackoil
I use VSCode now days, as my primary git commit interface. Some improvement
are required in diff / merge, but it is very clean interface and never caused
any ambiguity.

It is also an Electron application, but taking 1/2 battery then Slack, so
reasonably efficient.

------
fletchowns
Between git command line, gitk, and git gui I don't really see the need to try
tools like SourceTree or this new GitHub Desktop Beta. Is there a compelling
reason I'm missing?

~~~
i_am_viet
This tool is not for me or you. It is to ease the entry friction for those who
have never worked within our ecosystem.

------
pencilcheck
In my opinion, I still think Gitup is much better.

------
electroner
In this thread you'll find many native app developers who are dismissing
Electron because they feel threatened.

Cross platform apps are the future. Each day I run at least three Electron
apps simultaneously and have no problem whatsoever. You have to be paying
close attention to notice, and the reality is that most people do not care.

In fact, I was so intrigued by Electron, that I started developing my own app.
So far the experience has been pure bliss.

~~~
pikzen
>Created 18 minutes ago

I didn't know 'open source project shill' was an occupation. I'm feeling
audacious, I'll bite.

You run three electron apps simultaneously and don't care, but your users are
not running on heptacore 16GB RAM machines. They care, a hell of a lot.

Hell, even I with an heptacore and 16GB RAM care when Electron apps
appropriate two full cores to render shit a CPU from 15 years ago could have
done with native technologies.

~~~
casiotone
I run the following browser-based apps, concurrently, every day:

Atom (electron), Discord (electron), Spotify (electron-like), App Store
(webkit), Steam (webkit), Safari, Chrome.

I have all of these running, without a single problem. Performance is great. I
don't need a "heptacore 16GB RAM machine" to do it - I run all of this on a
2016 Retina MacBook. The 8GB RAM, 1.2GHz dual core Intel M5, passively cooled
ultrabook.

So, what was it you were saying again?

~~~
pikzen
>Atom (electron)

50% CPU by staying idle.

>Discord (electron)

Does better, only uses one full core, 25% CPU!

> Spotify (electron-like)

Actually one that doesn't decide my cores belong to it, thankfully.

>webkit derivatives

Steam notwithstanding because only parts of it are webkit and is uses CEF,
these are not wrappers around chrome repurposed.

>I run all of this on a 2016 Retina MacBook. The 8GB RAM, 1.2GHz dual core
Intel M5, passively cooled ultrabook.

It's almost as if you were running on the same hardware as these people
develop it on and care about when they dirnk their lattes in a Starbucks.

