Hydrogen: Roadmap

Created on 21 Mar 2017  路  10Comments  路  Source: nteract/hydrogen

The old roadmap is due for an update:

Roadmap 馃殌

Short term 馃敎

  • [x] Fix issues left from MozSprint. Great for first time contributors: #828

Our documentation is due to a overhaul:

Medium term

Since #627 there've been a lot of refactoring throughout the code base in order to ultimately rely on more nteract component and to make Hydrogen more maintainable and easier to test.
To get there, we're going to want to make some targeted refactorings, namely:

  • [x] In continuation of #655 we should refactor the following as real react components:

    • [x] Result View probably powered by @nteract/display-area

    • [x] Spinner component

    • [x] Component for inline result

    • [x] Component for multiline result

    • [x] Component for rich output (I think we could even remove it and use the multiline output for simplicity and to have a more consistent appearance)

    • [x] Watch Sidebar

    • [x] Watch View component

  • [x] Refactor List Views to use atom-select-list instead of the deprecated atom-space-pen-views which relies on jQuery. This will reduce the package size by about 2 MB @BenRussert
  • [ ] Reduce size of main.js since after the above everything should be a lot more modular
  • [ ] Once kernelspecs can detect the default python installation we should switch to it for kernel detection. This would remove jupyter as an external dependency and make kernel detection faster.

Long term

I would love to switch to enchannel-zmq and rx-jupyter for kernel messaging

Ongoing efforts

Hydrogen is quite stable but still largely untested. In continuation of #650, #648, #656:

  • Add more tests (will become easier once more of the above points are completed)
  • Add more flow types

Any help is greatly appreciated and needed! Feel free to edit or comment on this issue and claim bullet points or ask questions 馃槃 馃帀

discussion

All 10 comments

Refactor List Views to use atom-select-list instead of the deprecated atom-space-pen-views which relies on jQuery.

I started messing around with this last night, hoping to have some WIP this week. I was starting with watch picker to avoid conflict with #722.

@BenRussert Very cool! Checkout https://github.com/atom/atom/issues/13254 if you need a real world example on how they did it in Atom itself.

Hear are some ideas I think would be awesome to explore:

Ideas

Make use of Atom's new docks API

Atom 1.17 beta introduced a a new docks API. I think we could use this to make our panels more flexible:

  • [x] Inspector
  • [x] Watch sidebar

Possible new panels:

  • [x] External output display similar to http://junolab.org/ #760
  • Rich jupyter console connected to the running kernel. Maybe we could make use of atom-ink:

Nice! I really like the output display with junolab.

A separate (single and combined) output display would be great.

Looks awesome! Is there any plans to switch from react to "native" atom's etch for ui?

Friendly reminder that neither etch nor ink have good docs yet... unless anyone can point me in the right direction. I just simply couldn't figure them out :'(

@kolya-ay There is no plan to switch from using React, we want to use common components across various projects in nteract (and :soon: jupyter)

@rgbkrk @kolya-ay For the time being it is not actually viable to switch over, but as soon as they provide documentation expect I'd recommend at least accepting pull requests for the conversion process.

The GitHub / Git integration in Atom uses React instead of etch so I think we can probably assume React is perfectly alright in Atom land.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

onyxfish picture onyxfish  路  4Comments

homocomputeris picture homocomputeris  路  4Comments

ethan92429 picture ethan92429  路  3Comments

olegantonyan picture olegantonyan  路  3Comments

tobiasbj picture tobiasbj  路  4Comments