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

Parameters make URL extremely long #6

Open
slominskir opened this issue May 20, 2020 · 1 comment
Open

Parameters make URL extremely long #6

slominskir opened this issue May 20, 2020 · 1 comment

Comments

@slominskir
Copy link
Member

Problems with long URLs include:

  • We may run into browser limits
  • Cosmetically the URLs look bad
  • Copying and pasting URLs more difficult

Possible solutions:

  • Shorten simply by using shorter keys/values (less verbose) - fairly easy to do, but won't shorten that much really and still looks bad
  • One extreme is to store a JSON object representing user configuration in a Protocol Buffer, and perhaps simply have a single parameter with a base64 encoded value of the protocol buffer - tons of overhead to set this up and protocol buffer support for JavaScript looks questionable at this point
  • Another extreme is to store configuration on a server (kinda like tinyURL generators) in which again, there is a single parameter or the path itself is the key, which can be very small, and this key is used to pass to the lookup server which stores configuration state. Tons of overhead to set this up, but probably nicest user experience (smallest URL).
@slominskir
Copy link
Member Author

Server Side Storage seems like the best option, but challenges include:

  1. Probably need to hook up some sort of authentication and authorization as saving (and deleting) state on the server should be handled carefully.
  2. Browsing/Searching existing state is another whole module
  3. Forcing users to login before they can do anything isn't great. Only require login if users want to modify/create/delete a saved chart that can be bookmarked. Users simply exploring data should be able to work without login. Maybe add transient state storage in browser "local storage" for unauthenticated case such that browser window closed or page reload doesn't erase their work?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant