Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Crashes when the repo name is wrong #24

Closed
kachkaev opened this issue Jun 3, 2016 · 3 comments
Closed

Crashes when the repo name is wrong #24

kachkaev opened this issue Jun 3, 2016 · 3 comments

Comments

@kachkaev
Copy link

kachkaev commented Jun 3, 2016

Hey @timqian, a very useful repo!

I've struggled with one thing a few times and it seems to me that the issue may be topical to other people too. When you mistype a name of a repo and Github API returns 404, the app crashes. Seeing an alert means that you now have to reload the whole page and start pasting the names of the repos you want to compare from scratch. This is a bit time-consuming.

A need to carefully pick a part of the github url seems to be a bit redundant too. Could the app understand timqian/star-history, https://github.com/timqian/star-history https://github.com/timqian/star-history/, github.com/timqian/star-history or even git@github.com:timqian/star-history.git equally well? This must be quite easy with regexps.

Could the app be a bit more tolerant to human mistakes? Maybe having a list as proposed in #23 where some rows get a coloured marker and some get crosses will be the best solution from the UX perspective. Here is an example of what I mean:

• facebook/react
• https://github.com/jquery/jquery
× timqian/hello-world
• timqian/star-history

A user just types the names of the repos separated by a newline. The markers automatically appear on the right just like the numbers in a text editor. A cross means that a repo does not exist, and a coloured bullet (or a dash) refers to a line in a chart. This way a textfield serves both as the input and the output and we no longer need a legend since its job has already been done.

What do you think of this idea?

@timqian
Copy link
Member

timqian commented Jun 5, 2016

Hi, @kachkaev Sorry for the late apply and thanks for your advices, they sounds reasonable. Hopefully I will find time to add the first two advices in the next week(as I am busy building something else recently)

  1. prevent 'crash'
  2. multiple input style

As for the UX perspective, I don't see much necessity to display repos not existed on github(maybe an alert information will be enough). So it might won't be added. What do you think?

@kachkaev
Copy link
Author

kachkaev commented Jun 5, 2016

Hey @timqian, thanks for your reply and for willing to implement the new stuff!

I'm not quite sure that an alert is a good solution from the UX perspective. It blocks useful parts of the UI and requires a user to move the mouse, then carefully stop on top of a button, click it and finally move the mouse back. All this without a reason, because pressing that button in an alert does not tell the interface perform any action. Such case of a modal window are well-described in literature on interfaces, e.g. The Humane Interface by Jef Raskin. An error can be reported much easier and without causing a distraction. E.g. the input's background can temporary change to red, the input can shake (like in OSX login screen) or a gentle notification can appear next to a field. This is in case if we have a one-liner.

The reason why I suggested to keep the non-existing repos too is because I see the list of them as a single multi-line input rather than an array of the individual ones. This way it is much easier for a user to control what they want to display in a chart. A person just types whatever he or she wants and the image updates either on each key press, after hitting enter / shift+enter / control+enter or after pressing some "accept" button. The app does not control what is in the multi-line input, it just reacts to the changes in it.

Therefore, if you paste a poem into the text field, the interface will just show [×] next to each line, because none of the lines will match the expected regexp. No requests will need to be made to check whether the repos with such names exist. In a normal situation, people will just be typing or pasting real repo names, either one by one or in bulk. If there is just a single multi-line input with some status icons on the side, a user will have to perform the smallest number of actions ever possible to get to their result. They can easily swap, remove or change the names of individual repos without having to press custom controls and without you having to implement these controls. The app gets a lot of features for free an the UX is as simple as typing stuff in a Notepad.

@timqian
Copy link
Member

timqian commented Jun 30, 2016

@kachkaev It has been 25 days, and I have made some updates of this repo. The alert box is changed to a notie. See the new version.( But the "displaying repos not existed on github" feature is not added.)

Updates includes:

2016-6-30: Alert to notie

2016-6-28: Add clear btn

2016-6-28: Better view for "many star" repos(use current star number as the last point on the graph)

2016-6-26: Store repo info into url hash

2016-6-26: multiple kinds of input styles(eg: github.com/timqian/star-history, ...)

2016-6-26: Better view for less star repos #28

2016-6-14: Toggle search by hit enter #26 , prevent crash while searching for not existing repo

@timqian timqian closed this as completed Jun 30, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants