commit icon indicating copy to clipboard operation
commit copied to clipboard

Discussion on retired commit feature of Enki

Open jordanfish opened this issue 7 years ago • 40 comments

We’re very interested in hearing if you liked this feature and would like us to investigate a new (and more scalable) way of integrating your progress with GitHub, or with a personal profile.

This time, we’ll try not to get in trouble with GitHub.

jordanfish avatar Dec 13 '16 23:12 jordanfish

I already miss this feature. For me, it was a huge motivator to keep me going on a daily basis to see my progress recorded via github. I liked that it was all in one place with all my other code exercises.

When I would share this app around the office, the github integration feature was almost always the key selling point. It definitely sets the ENKI app apart from any others I use

enphnt avatar Dec 14 '16 23:12 enphnt

Visiting my GitHub-profile and seeing those nice green dots does definitely have some charms to it... Although it would be great if there also would be an external solution to that problem, I have to say that seeing my workouts on GitHub does boost my motivation. @enphnt really described my point of view. Maybe add an additional feature that allows us to share our finished workouts using GitHub (while also using your own solutions)?

TheRealVira avatar Dec 15 '16 08:12 TheRealVira

++ Seeing your own progress on your GitHub profile helps boosting motivation.

iMarv avatar Dec 15 '16 09:12 iMarv

Github integration was a big motivator for me. Would be nice if we can get the feature back.

subramaniashiva avatar Dec 19 '16 14:12 subramaniashiva

What about doing commit --amend whenever possible and do a force push when e.g. updating the leaderboards so that you dont have many many commits doing the same thing. Git GC runs every now and then, cleaning up the repo and removing dangling commits.

xdevs23 avatar Dec 19 '16 14:12 xdevs23

What if initiation of the feature forks a repo under the enki account into our personal account, and progress is tracked against the forked repo in our own account? Then you're still able to see who's using it (by looking at forks of the base repo), and progress tracking repos are smaller because they're atomic at the user level. Since the repos would be public, you could hook into GH's API to generate leaderboards, etc.

geekmuse avatar Dec 19 '16 14:12 geekmuse

@xdevs23 we still need one commit per day per user to have the github streak

@geekmuse Yes that's a possibility. There is a something to consider though: we would need to ask write access to your public repo. Would you mind? Of course we wouldn't do anything else that accessing your commit repo but it could be hard to explain this to someone who doesn't already know what is the commit repo

mathieudutour avatar Dec 19 '16 14:12 mathieudutour

Well, i mean the leaderboard updates of that enkibot...

xdevs23 avatar Dec 19 '16 14:12 xdevs23

oh yeah but it's 1 commit per day is nothing compared to the thousands coming from the users :)

mathieudutour avatar Dec 19 '16 14:12 mathieudutour

Would shrink down the size of the repo a little bit tho

xdevs23 avatar Dec 19 '16 14:12 xdevs23

@mathieudutour Can you share exactly what Alex from GitHub said to you about the creation pattern? Just to give better understanding for what we have to avoid.

jordanfish avatar Dec 19 '16 14:12 jordanfish

I agree with geek muse that using a forked repo with each personal account would be better. You app could submit automatic issue requests on improvement or feedback and make use of the gist features. This is really a feature that would be better tracked by a database and using something like firebase would be a great scalable way to do that. They have a javascript API that would work easily with what you already have.

almoore avatar Dec 19 '16 14:12 almoore

@mathieudutour No, not at all -- I would generally view that as a very fair ask of a service/app that's doing something like what you are doing (of course, you guys have a bit of a challenge conveying that to new users concisely from the app UI when asking someone to allow it).

geekmuse avatar Dec 19 '16 14:12 geekmuse

@almoore We're already tracking this with a database internally, but we created the commit feature so people could integrate their dev learning habit onto their primary dev profile. We've heard from users that they'd prefer to have activity on their GitHub page than an Enki profile, for example, and we think all dev activity should have a home on your GitHub if you want it to live there.

Forked repo is an option we're considering. Nice to hear from @geekmuse that the permissions ask isn't too much of an off-put, that was one of our primary concerns.

jordanfish avatar Dec 19 '16 14:12 jordanfish

What about like pushing the stuff to a git server of yours, and like every week push the stuff to github... I guess that would still give that commit streak in the github profile.

xdevs23 avatar Dec 19 '16 15:12 xdevs23

Can you share exactly what Alex from GitHub said to you about the creation pattern?

Essentially, keeping all commits under the same repo is bad. Removing the script won't help and nor will pushing empty commits. Creating a fork network with tens of thousands of repositories in it would cause similar issues to the current one. So the only solution is we want to keep something like this is to create a new repo per user on their own account.

You app could submit automatic issue requests on improvement or feedback and make use of the gist features.

@almoore I'm not sure what you mean, could you explain a bit more?

mathieudutour avatar Dec 19 '16 15:12 mathieudutour

@geekmuse has a solid idea in that the one repo per user will act like normal. GitHub will see little impact compared to many commits by many people that was the original idea. While there may be some who are against giving enki write permissions. This seems like a good first solution.

tfroseman avatar Dec 19 '16 15:12 tfroseman

Github uses the git alternates method to maintain forks keeping sizes low so I don't think thousands of daily updated forks are a big hassle to them with regards to size

msfjarvis avatar Dec 19 '16 15:12 msfjarvis

@MSF-Jarvis they explicitly told me so ;)

mathieudutour avatar Dec 19 '16 15:12 mathieudutour

I think asking for write access and publishing it to our personal github profiles is the best. I know I would be open to it.

nowendwell avatar Dec 19 '16 15:12 nowendwell

Please don't do it Leave github alone :-(

When I first saw this feature I thought "hey - that's really original. And cool". My second thought was "github was not meant for that. Also, it's an abuse of a free platform (I wonder if they pay for that). I wounder how long before it starts causing problems. Or maybe I'm too paranoid".

Bottom line - Enki is an awesome app even without the github integration. We love Enki. We also love github. Please don't risk breaking github again.

Also - There are still many things, IMHO, to improve in Enki. Much more important. Why not focus on that? One example that annoys me - 'try it yourself' is usually just reciting the lesson, it's nothing like w3schools try it yourself.

pinkasey avatar Dec 19 '16 15:12 pinkasey

Personnal repo to track personnal results and a global db that push information to enkidev repo just to keep general track (one commit per day or so...) Would be awesome i think.

jonathanlaf avatar Dec 19 '16 15:12 jonathanlaf

@pinkasey The idea is we build something in a way that doesn't risk breaking github at all - and still lets people have the feature if they'd like to use it.

We're always working to improve all aspects of Enki, and since using this feature made people more likely to commit (heh) to their habit and learn more, that's something we're interested in!

jordanfish avatar Dec 19 '16 15:12 jordanfish

I really liked this feature too. It also helps when joining in other projects, people see the daily or quite frequent commits which is a proof of our motivation and 'committedness'. :P

78juli avatar Dec 19 '16 15:12 78juli

Think it's nicer to have a repo on your own Github account, so your stalkers can see how awesome you are :)

FinlayDaG33k avatar Dec 19 '16 18:12 FinlayDaG33k

So how would that work? The app would create a repo as you sign up and then commit to it after every exercise?

chirag-jhamb avatar Dec 19 '16 23:12 chirag-jhamb

@chirag-jhamb yes :)

FinlayDaG33k avatar Dec 20 '16 07:12 FinlayDaG33k

If a personal repo is easy to realize, do that! Great idea. However personally I wouldn't mind if the feature was dropped alltogether.

fpnick avatar Dec 20 '16 10:12 fpnick

It should be doable with the Github API I guess. but I'm not the dev of Enki so it's up to them.

FinlayDaG33k avatar Dec 20 '16 10:12 FinlayDaG33k

I'd vote for a personal repo with separate files for each language/topic, within these files, the app commits the topic that was presented through its workout (maybe one topic or brief description per line?). That way we keep the motivation up as users, and also each user would have a simple way of tracking all the development snippets they digested through the Enki app.

Either way, keep up the good work peeps!

m-alani avatar Dec 21 '16 00:12 m-alani