You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@superset.apache.org by Fabian Menges <fm...@twitter.com.INVALID> on 2017/09/11 22:43:26 UTC

New exploration UI

Hi everyone,

I've been working on a new exploration UI for Superset over the past few
weeks and just opened a merge request; mainly so I could share the code and
get some feedback.

https://github.com/apache/incubator-superset/pull/3449
(there are gifs in here that show the UI)

*Swivel, a new exploration interface for Superset*
>


Swivel is a new exploration interface with a primary design goal of fast and
> interactive data exploration.
> It currently only supports the following visualizations:
> * Table
> * Line Chart
> * Bar Chart
> * Area Chart

The main features of Swivel are:
> * Drag and Drop support for `groupbys` and `filters`
> * Splitting query results into multiple charts
> * Interactive range selection within charts
> * Full undo/redo history (ctl/command + (shift) + z)
> * State stored in local storage (multiple tabs with history)
> * Running in auto and manual query mode
> * Opening Swivel from existing explore view and vice versa.


There are a couple reasons why I chose to implement a new/separate UI
instead of enhancing the old one:

   - The state model of the current explore view is flat which makes some
   of the advanced state management difficult to implement. (Auto
   run/undo-redo/persisted state)
   - The state model of the current explore view also didn't match the
   fundamental logical layout of the components (Groupby/Filter components).
   - In case we could not get the UI upstream it would be very easy to
   maintain as a separate view with little to no dependencies to the rest of
   Superset.

That said I don't think that both UIs are so different that we could not
merge both of them. I've used the same packages and technologies that are
already utilized in the current explore view.

The longterm goal for me is to get this upstream, but I obviously realize
that there is still quite a bit of work to do.

I would love to get feedback on how people feel about this and and start a
conversation of how we could integrate both UIs.

My company is currently rolling this out to a couple power users that were
looking for a fast and responsive exploration UI that targets datasources
like Druid and Vertica and we will continue improving this UI for the
foreseeable future.

Fabian

Re: New exploration UI

Posted by Nishant Bangarwa <nb...@hortonworks.com>.
Just had a look at the attached gif's and they are really great.
Fabian Thanks for the awesome PR.
Really excited to see swivel. 
 
--
Nishant Bangarwa
Hortonworks
(M): +91-9729200044






On 9/13/17, 4:29 AM, "Maxime Beauchemin" <ma...@gmail.com> wrote:

>Another option would be to have Swivel ship along with our build perhaps in
>a `contrib/` folder and a new `superset_config.py` option to switch it on
>or off, until we provide a best of both worlds experience.
>
>Curious to hear what the community thinks!
>
>Max
>
>On Tue, Sep 12, 2017 at 3:54 PM, Maxime Beauchemin <
>maximebeauchemin@gmail.com> wrote:
>
>> Fabian thanks for sharing this amazing work.
>>
>> I can speak for the folks at Airbnb being excited to see Swivel, and after
>> some conversations we generally want to work in the direction of having a
>> single React app for exploration and "publishing/tweaking". It brings the
>> question of whether we should make Swivel more like the current "explore
>> view" or the explore view more like Swivel, or move forward with 2
>> different apps.
>>
>> I really encourage folks in the community to try Swivel and take part in
>> the conversation around how we move forward which can take place in this
>> thread.
>>
>> Max
>>
>> On Mon, Sep 11, 2017 at 3:43 PM, Fabian Menges <
>> fmenges@twitter.com.invalid> wrote:
>>
>>> Hi everyone,
>>>
>>> I've been working on a new exploration UI for Superset over the past few
>>> weeks and just opened a merge request; mainly so I could share the code
>>> and
>>> get some feedback.
>>>
>>> https://github.com/apache/incubator-superset/pull/3449
>>> (there are gifs in here that show the UI)
>>>
>>> *Swivel, a new exploration interface for Superset*
>>> >
>>>
>>>
>>> Swivel is a new exploration interface with a primary design goal of fast
>>> and
>>> > interactive data exploration.
>>> > It currently only supports the following visualizations:
>>> > * Table
>>> > * Line Chart
>>> > * Bar Chart
>>> > * Area Chart
>>>
>>> The main features of Swivel are:
>>> > * Drag and Drop support for `groupbys` and `filters`
>>> > * Splitting query results into multiple charts
>>> > * Interactive range selection within charts
>>> > * Full undo/redo history (ctl/command + (shift) + z)
>>> > * State stored in local storage (multiple tabs with history)
>>> > * Running in auto and manual query mode
>>> > * Opening Swivel from existing explore view and vice versa.
>>>
>>>
>>> There are a couple reasons why I chose to implement a new/separate UI
>>> instead of enhancing the old one:
>>>
>>>    - The state model of the current explore view is flat which makes some
>>>    of the advanced state management difficult to implement. (Auto
>>>    run/undo-redo/persisted state)
>>>    - The state model of the current explore view also didn't match the
>>>    fundamental logical layout of the components (Groupby/Filter
>>> components).
>>>    - In case we could not get the UI upstream it would be very easy to
>>>    maintain as a separate view with little to no dependencies to the rest
>>> of
>>>    Superset.
>>>
>>> That said I don't think that both UIs are so different that we could not
>>> merge both of them. I've used the same packages and technologies that are
>>> already utilized in the current explore view.
>>>
>>> The longterm goal for me is to get this upstream, but I obviously realize
>>> that there is still quite a bit of work to do.
>>>
>>> I would love to get feedback on how people feel about this and and start a
>>> conversation of how we could integrate both UIs.
>>>
>>> My company is currently rolling this out to a couple power users that were
>>> looking for a fast and responsive exploration UI that targets datasources
>>> like Druid and Vertica and we will continue improving this UI for the
>>> foreseeable future.
>>>
>>> Fabian
>>>
>>
>>

Re: New exploration UI

Posted by Maxime Beauchemin <ma...@gmail.com>.
Another option would be to have Swivel ship along with our build perhaps in
a `contrib/` folder and a new `superset_config.py` option to switch it on
or off, until we provide a best of both worlds experience.

Curious to hear what the community thinks!

Max

On Tue, Sep 12, 2017 at 3:54 PM, Maxime Beauchemin <
maximebeauchemin@gmail.com> wrote:

> Fabian thanks for sharing this amazing work.
>
> I can speak for the folks at Airbnb being excited to see Swivel, and after
> some conversations we generally want to work in the direction of having a
> single React app for exploration and "publishing/tweaking". It brings the
> question of whether we should make Swivel more like the current "explore
> view" or the explore view more like Swivel, or move forward with 2
> different apps.
>
> I really encourage folks in the community to try Swivel and take part in
> the conversation around how we move forward which can take place in this
> thread.
>
> Max
>
> On Mon, Sep 11, 2017 at 3:43 PM, Fabian Menges <
> fmenges@twitter.com.invalid> wrote:
>
>> Hi everyone,
>>
>> I've been working on a new exploration UI for Superset over the past few
>> weeks and just opened a merge request; mainly so I could share the code
>> and
>> get some feedback.
>>
>> https://github.com/apache/incubator-superset/pull/3449
>> (there are gifs in here that show the UI)
>>
>> *Swivel, a new exploration interface for Superset*
>> >
>>
>>
>> Swivel is a new exploration interface with a primary design goal of fast
>> and
>> > interactive data exploration.
>> > It currently only supports the following visualizations:
>> > * Table
>> > * Line Chart
>> > * Bar Chart
>> > * Area Chart
>>
>> The main features of Swivel are:
>> > * Drag and Drop support for `groupbys` and `filters`
>> > * Splitting query results into multiple charts
>> > * Interactive range selection within charts
>> > * Full undo/redo history (ctl/command + (shift) + z)
>> > * State stored in local storage (multiple tabs with history)
>> > * Running in auto and manual query mode
>> > * Opening Swivel from existing explore view and vice versa.
>>
>>
>> There are a couple reasons why I chose to implement a new/separate UI
>> instead of enhancing the old one:
>>
>>    - The state model of the current explore view is flat which makes some
>>    of the advanced state management difficult to implement. (Auto
>>    run/undo-redo/persisted state)
>>    - The state model of the current explore view also didn't match the
>>    fundamental logical layout of the components (Groupby/Filter
>> components).
>>    - In case we could not get the UI upstream it would be very easy to
>>    maintain as a separate view with little to no dependencies to the rest
>> of
>>    Superset.
>>
>> That said I don't think that both UIs are so different that we could not
>> merge both of them. I've used the same packages and technologies that are
>> already utilized in the current explore view.
>>
>> The longterm goal for me is to get this upstream, but I obviously realize
>> that there is still quite a bit of work to do.
>>
>> I would love to get feedback on how people feel about this and and start a
>> conversation of how we could integrate both UIs.
>>
>> My company is currently rolling this out to a couple power users that were
>> looking for a fast and responsive exploration UI that targets datasources
>> like Druid and Vertica and we will continue improving this UI for the
>> foreseeable future.
>>
>> Fabian
>>
>
>

Re: New exploration UI

Posted by Maxime Beauchemin <ma...@gmail.com>.
Fabian thanks for sharing this amazing work.

I can speak for the folks at Airbnb being excited to see Swivel, and after
some conversations we generally want to work in the direction of having a
single React app for exploration and "publishing/tweaking". It brings the
question of whether we should make Swivel more like the current "explore
view" or the explore view more like Swivel, or move forward with 2
different apps.

I really encourage folks in the community to try Swivel and take part in
the conversation around how we move forward which can take place in this
thread.

Max

On Mon, Sep 11, 2017 at 3:43 PM, Fabian Menges <fm...@twitter.com.invalid>
wrote:

> Hi everyone,
>
> I've been working on a new exploration UI for Superset over the past few
> weeks and just opened a merge request; mainly so I could share the code and
> get some feedback.
>
> https://github.com/apache/incubator-superset/pull/3449
> (there are gifs in here that show the UI)
>
> *Swivel, a new exploration interface for Superset*
> >
>
>
> Swivel is a new exploration interface with a primary design goal of fast
> and
> > interactive data exploration.
> > It currently only supports the following visualizations:
> > * Table
> > * Line Chart
> > * Bar Chart
> > * Area Chart
>
> The main features of Swivel are:
> > * Drag and Drop support for `groupbys` and `filters`
> > * Splitting query results into multiple charts
> > * Interactive range selection within charts
> > * Full undo/redo history (ctl/command + (shift) + z)
> > * State stored in local storage (multiple tabs with history)
> > * Running in auto and manual query mode
> > * Opening Swivel from existing explore view and vice versa.
>
>
> There are a couple reasons why I chose to implement a new/separate UI
> instead of enhancing the old one:
>
>    - The state model of the current explore view is flat which makes some
>    of the advanced state management difficult to implement. (Auto
>    run/undo-redo/persisted state)
>    - The state model of the current explore view also didn't match the
>    fundamental logical layout of the components (Groupby/Filter
> components).
>    - In case we could not get the UI upstream it would be very easy to
>    maintain as a separate view with little to no dependencies to the rest
> of
>    Superset.
>
> That said I don't think that both UIs are so different that we could not
> merge both of them. I've used the same packages and technologies that are
> already utilized in the current explore view.
>
> The longterm goal for me is to get this upstream, but I obviously realize
> that there is still quite a bit of work to do.
>
> I would love to get feedback on how people feel about this and and start a
> conversation of how we could integrate both UIs.
>
> My company is currently rolling this out to a couple power users that were
> looking for a fast and responsive exploration UI that targets datasources
> like Druid and Vertica and we will continue improving this UI for the
> foreseeable future.
>
> Fabian
>