Code Monkey home page Code Monkey logo

tad's People

Contributors

robertutterback avatar

Watchers

 avatar  avatar

tad's Issues

Feedback form

Easy to access, maybe a little help icon next to profile picture.

Menu overflow in DataTable / Improvements to Wrangling Table

Clicking a menu in DataTable often causes scrolling, when really I want overflow. I partially fixed the issue with overflow: visible, but it still doesn't work right. I don't know enough about CSS, nor why the MDC classes seem to make overflow hidden.

Perhaps they discourage putting form elements in a data table, in which case I need a different component that looks similar.

Upload error snackbars don't work

If you have multiple errors, they all show the same message.

Either use an array and a keyed-each (although they will still overlap, the user can see them by closing them one at a time), or maybe try stackable Banners?

Uploading large files

Uploading small files is no problem, but we will probably need changes to handle large files.

  1. Compress them?
  2. Use streaming so they don't all have to be buffered at once. I'm
    think Sveltekit is still working on some things in this area.
  3. Do we need to submit files separately? Does it help? It does
    actually help with having separate progress bars for each file,
    which is kind of nice.

Consider websockets for pushing results

In previous prototypes I used websockets to push results as they were reading, which I still think is the right approach. This way we don't overload the server and many viewers can easily subscribe to get the results of any given analysis.

However, Sveltekit doesn't easily support websockets. I think it can be made to work (search for relevant issues in the sveltejs/kit repo, although getting it to work both in dev and adapter-node is a pain. I think they are working on it, but given their insistence of providing first-class support serverless adapters, it may be a while. (Someone should fork Sveltekit and just focus on node adapters to make faster progress...)

So my choices are:

  1. Just do polling (which I am doing now)
  2. Wait until Sveltekit provides better support
  3. Switch to plain Svelte with my own setup, probably express or polka.

I'm not even experienced enough to know where Sveltekit holds me back, so there are probably other benefits to (2). Especially since I do not care much about the SSR features of Sveltekit.

Visualization Library

Options:

There are others, of course.

The last option is most flexible. At first it doesn't seem feasible, but actually with the Svelte component approach it's possible. There are examples floating around the web.

Pancake is Rich Harris's approach, and it looks nice, although I'm not sure has time to keep it maintained. Keep an eye on it.

D3 and Vega/Vega-Lite are both powerful and well-known. D3 seems the most powerful, though I'm no expert. In either case, they are not really taking advantage of Svelte's approach, and might be a little bloated. Regardless, I am leaning towards Vega/Vega-Lite just so I can quickly get some prototype visualizations together.

Charts.css looks awesome, and I think theoretically it's the optimal approach. My only concern is getting interactivity, which I would really like.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.