Skip to content
This repository has been archived by the owner on Apr 17, 2020. It is now read-only.

Release status? #14

Open
rdeits opened this issue May 18, 2018 · 5 comments
Open

Release status? #14

rdeits opened this issue May 18, 2018 · 5 comments

Comments

@rdeits
Copy link
Contributor

rdeits commented May 18, 2018

It looks like WebIO, Vue, CSSUtil, and Observables have all been released, so all of this package's dependencies should now be available. Is there anything stopping us from releasing an initial version of InteractNext?

@piever
Copy link

piever commented May 18, 2018

I guess here is a good point to discuss what's the strategy going forward.

I've been using the JuliaGizmos ecosystem extensively for my GSoC Sputnik project and what I felt was that InteractNext works very well for small applications (i.e. a few sliders and a plot) but has some limitations for more serious usage:

  • It doesn't wrap all possible HTML5 <input> types
  • Automated layout is not very good, used in combination with hbox and vbox it quickly creates artifacts (text boxes are sliders get allocated 0 space)
  • We're tied to work with a specific design style (material design and the vue material design package)
  • The user has little options to style the widgets, even within the material design framework

To circumvent this issues, for the Sputnik project, I've created InteractBase and InteractSpectre, which provide a superset of widgets and works with pure HTML (in the Base case) or with the Spectre.css library for styling in the InteractSpectre case (it's quite easy to write new "backends"). It is in general closer to the HTML syntax and allows users to style their widgets using all the classes from the Spectre.css library. Layout seems to work fine and one can use tools from Spectre.css for responsive design (flexbox grid).

I would personally be in favor of copying over the features from InteractNext that are still missing in InteractBase (mainly @manipulate) and release those packages instead. Even if it's slightly slower than releasing InteractNext straight away, I think it's preferable in the long run.

In that scheme the current InteractNext would instead be replaced by a "material design" backend for InteractBase.

@shashi
Copy link
Member

shashi commented May 18, 2018

That's a good summary, good work! If @JobJob is ok with it, let's copy over @manipulate to InteractBase. We could then working on making this package serve as the Material design theme on top of InteractBase.

@shashi
Copy link
Member

shashi commented May 18, 2018

I have seen some weird behavior trying to use these widgets with CSSUtil as well... Would be good to not have those issues right off the bat.

@rdeits
Copy link
Contributor Author

rdeits commented May 18, 2018

That sounds good too. Honestly, my reasons for asking for a release are somewhat selfish: I'm helping with a Julia Robotics demo next week, and I'd love to have some InteractNext widgets as part of it, but I'd also like to make sure all the required packages are easy for our users to install.

In any case, I'm excited to see whatever the future of Interact turns out to be 😉

@JobJob
Copy link
Member

JobJob commented May 19, 2018

Yeah I think the InteractBase approach sounds really good. The vue-material/night-cat-cama slider just seemed like the simplest thing to get up and running at the time. Now, it seems like there are better options, and more may emerge so it's good to have a base api to extend. Good stuff @piever

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

No branches or pull requests

4 participants