►
From YouTube: JupyterLab Dev Meeting, February 10, 2017
Description
Meeting of the JupyterLab development team, February 10, 2017.
Meeting Notes: https://jupyter.hackpad.com/JupyterLabNotebook-Weekly-Meetings-UUJ3gIQ3iBS
A
B
That
I
think
we're
all
in
the
middle
of
adding
notes
that
I
assure
the
kids
at
a
stark,
so
I've
been
doing
a
lot
of
work
this
last
week
on
just
usability
and
design
related
things
for
the
beta,
and
things
are
looking
like
overall
in
lab
right
now,
it's
very
very
usable
I've
been
using
it
in
my
teaching
and
it's
really
starting
to
shape
up
and
I'm
really
excited
about.
It.
C
D
One
thing
to
consider
is
if
we
can
somehow
take
advantage
of
platform
stuff
so
like
on
a
Mac,
if
you
do
command
shift,
curly,
brace
one
direction
or
the
other,
it
goes
through
tabs
in
pretty
much
every
app
that
has
tabs
so
suppose
on
the
Mac
we
did
ctrl
shift
curly
space
and
then
on
a
PC.
We
did
excel
shift.
That
way.
We
don't
we
don't
mess
with
Windows
users
or
Mac
users,
but
we
keep
a
keyboard
shortcut
that
is
vaguely
familiar
as.
C
An
FYI
when
you
specify
a
key
binding
you
don't
you
can
specify
these
linings
to
use
on
specific
platforms.
So
there's
a
Mac
user
option
and
the
wind
keys
option
is
a
linux
keys
option
that
will
take
precedence
depending
off
take
precedence
over
the
default
keys
option,
depending
on
what
platform
you're
on.
So
we
already
have
the
ability
to
do
that
and
the.
A
B
About
a
option
shift
or
alt
shift
right,
left
bracket.
Part
of
what
I
like
about
that
is
my
right
hand
is
bound
eternally
to
this
33
finger,
cord
of
command
shift
left
and
right.
Tab
and
I'll
have
to
do
on
a
Mac
keyboard
has
move
my
thumb
over
one
and
I'm,
navigating
through
Jupiter
lab,
where,
as
there's
no
right.
C
B
D
D
A
A
B
A
B
C
A
D
Ship
yeah,
the
best
part
in
the
windows
key
on
Windows,
is
a
switch
for
Mac
to
a
pc
and
you
you're
used
to
hitting
a
command
l2
guurl.
You
will
lock
your
machine.
C
So
the
other
nice
thing
is
that
the
browser,
the
dom
specification-
has
a
medic
e
modifier
on
keyboard
events,
but
it's
only
ever
true
on
back,
like
none
of
the
browsers
actually
support
the
windows.
Key
is
the
Medicaid
yeah,
which
is
would
just
find
anyway,
because
the
windows
10,
like
those
actual
windows,
button,
supersedes
every
other
application.
So
it
would
be
useless
anyway,
understand.
D
Don't
well
I'm,
not
sure
thing
so
then
one
of
the
things
that
so
we're
just
talking
about
navigating
back
and
forth,
but
there's
also
the
ones
that
a
lot
of
people
use,
which
is
control,
one
control
to
control,
3,
PC
or
command
123
on
the
mac.
So
it
might
just
be
that
some
people
never
get
used
to
the
navigation
one.
D
C
But
I
put
it
I
posted
an
idea
on
that
issue
about
doing
something
like
that
by
leveraging
the
fact
that
final
objects
have
a
demonic
index,
which
we
use
menus
I
kind
of
dumb.
So
we
can
have
a
shortcut
that
basically
puts
the
doc
panel
into
like
a
quote:
unquote,
mnemonic
mode
to
where
the
mnemonic
characters
of
tabs
are
actually
displayed.
C
But
when
you
press
that
key
the
thought
kenneled
and
finds
the
tap
with
that
mnemonic
character
and
then
jump
to
that
and
takes
itself
out
of
mnemonic
load.
So
it
would
be
like
a
chord
where
a
shortcut
and
key
binding
would
enter
you
into
that
mode
and
it
would
have
to
install
its
own
key
handler
to
process
for
the
monix
properly.
But
that
can't
generally
be
a
shortcut,
ok,
so
the
club.
That
would
be
one
way
to
do
that.
But
we
still
probably
want
another
shortcut
for
navigating
extra
ingredient
paths.
So
I
like.
C
B
A
C
E
D
Yeah
I
think
I
think
so.
I
think
that
why
not
by
the
time.
D
Nice
ya
know
I,
think
I.
Think
bronze
suggestion
is
probably
look.
I,
think
we
need
to
find
something.
That's
just
seen
and
doesn't
club
or
something
I,
don't
think
we're
going
to
find
something.
I
deal
I,
think
the
ideal
is
everyone
sets
their
own
and
it's
such
a
constraint,
because
this
OS
level,
one
that
is
browser
level
ones
and
more
third
year.
So
everyone's
already,
you
know,
slim
pickings
at
this
level,
yeah.
A
B
B
The
monospaced
fonts
are
pretty
painful,
or
something
like
this,
and
so
right
now,
I'm
using
our
UI
font,
which
is
a
what
ivetta
canoe
hall,
detica
ariel
and
then
some
syrup
and
the
other
is
trying
to
make
prompt
slightly
more
subdued.
The
visual
representation
of
the
prompts
in
lab
communion
class
is
really
strong
and
I
think
it
detracts
from
the
user
content
it's
distracting,
and
so,
if
folks
want
to
1691
look
at
that
and
initially
I
tried
to
use
some
opacity,
but
Chris
rightly
pointed
out
that
that
made
it
look
like
they
were
disabled.
B
A
B
B
D
D
A
B
A
A
A
I
was
just
working
today
on
getting
when
you
clear
the
outputs
for
cells
that
it'll
clear
the
widget
area
as
well,
but
it
turns
out,
that's
probably
going
to
need
a
one-line
change
in
the
notebook
to
note
how
cells
notify,
when
they're
being
cleared
so
that
we
can
tap
into
that
notification.
So
that
might
necessitate
a
four
point.
Four
point:
well,
I,
guess:
technically
it
should
be
a
4.5
because
it's
adding
a
new
feature,
but
maybe
we
can
fudge
and
say
four
point
four
point:
one:
it's
one
line,
adding
a
notification
that
nobody
would
notice.
A
A
B
A
14
yeah,
I
should
be
around
at
like
one
o'clock,
pacific.
A
D
So
yeah
I've
been
continuing.
This
separation
of
concerns
of
the
plugins
that
interact
with
consoles
in
notebooks
and
I
got
the
complete
are
working
now,
which
means
that
you
could
change
the
shortcut
that
invokes
a
completer
but
in
the
way
that
it
currently
works
requires
kind
of
cumbersome,
a
hack,
because
what
we
really
needed
to
get
it
to
work
for,
for
we
were
just
talking
to
the
DA
ourselves
and
using
events
and
the
catching
events
in
the
capture
phase.
D
But
the
key
map
manager
currently
is
catching
everything
we
said
is
to
catch
everything
in
the
in
the
bubble
phase
and
we
want
that
to
remain
the
default.
So
there's
a
there's,
a
new
feature
that
Chris
is
going
to
be
building
in
to
prosper,
one
which
will
have
which
will
have
the
ability
to
add
a
binding,
that's
going
to
be
caught
in
the
capture
face,
but
in
the
interim
I've
got
to
work
around
based
on
the
aps,
and
we
have.
D
There
was
a
way
to
interrupt
every
single,
subsequent
key
down
after
you've
invoked
your
completer,
so
that
basically
I
can
catch
and
say:
oh
actually,
you
hit
tab
again.
Don't
love
that
tab
go
through
to
the
editor,
but
what
that
means
is
that
currently,
in
order
to
invoke
a
completer
I
have
to
limit
you
to
a
shortcut
that
is
a
single
character.
D
D
The
reason
that
PR
is
not
finished,
though,
is
because
just
looking
at
the
architecture
of
these
plugins
work,
it
just
occurred
to
me
that
it's
not
enough
just
to
have
the
plugins
themselves
be
a
totally
external
to
notebook
on
consoles.
You
also
want
the
plugins
themselves
to
not
privileged
the
existence
of
notebooks
and
consoles
by
basically
adding
commands
that
say:
do
this
with
the
notebook
tracker
or
do
that
with
the
console
tracker,
because
if
somebody
else
shows
up
and
they
create
a
foo
class
that
should
be
completed
all
they
should
have
first-class
access.
D
All
these
things
so
I'm
separating
it
out
in
a
way
that
basically
had
the
pattern
is
that
say:
you're
an
inspector
or
your
completer.
The
plug-in
file
creates
a
core
service
plugin
and
that
returns
some
sort
of
manager.
Basically,
that
you
can
talk
to
you
could
hand
off
a
some
sort
of
generic
interface
for
completa
belfinger,
nothing
to
you
that
you
can
keep
it
updated
like
when
your
editors
swaps
or
whatever
or
if
it's
super
simple
like
the
tooltip,
it's
just
a
one-off,
you
just
you
just
send
it
and
you
forget
about
it.
D
But
but
the
point
is
that
it
won't
lock
you
in
and
won't
privilege
the
the
notebooks
and
consult,
even
if
that
same.
So
so
right.
So
that's
the
one
plugin
then
there's
two
other
plugins
in
there,
one
for
notebooks
and
one
for
consoles.
Just
because
those
are
defaults
that
we
have,
but
there's
nothing
magic
about
them.
They
don't
have
access
to
any
private
information,
and
that's
that's
sort
of
so
I.
Think
every
stage
of
this
process
has
been
alright
evolve.
D
It
even
more
and
make
sure
these
things
are
completely
sort
of
decoupled
from
each
other
and
I
think
this
is
the
final
phase
of
that
decoupling,
which
will
make
it
easier
for
other
people
to
just
make
use
of
functionality
that,
just
like
a
month
ago,
was
kind
of
woven
into
our
core
classes.
So
I
think
it's
pretty
positive.
How.
A
D
D
If
there
was
a
service
that
talked
with
an
API
that
is
semantically
similar,
not
like,
obviously
not
like
the
same
alpha,
but
but
has
the
same
semantics
of
our
aps,
completion
request,
then
what
you
could
do
is
you
could
subclass
the
completion
handler
class
and
basically
override
its
make
requests
function?
Have
that
request
go
to
whatever
your
service
is
and
the
rest
should
just
work
out
of
the
box?
Everything
else
is
agnostic
to
where
the
data
is
coming
from
remote.
B
The
other
place
I
think
was
pad
will
be
really
useful
is
for
the
notebook
and
text
editor
search
capabilities.
I
think
we'll
sort
of
want,
like
different
types
of
documents,
to
expose
some
sort
of
api
that
a
search
functionality
can
use.
So
we
don't
have
to
sort
of
rewrite
search
for
different
document
types
and
I
think
that
sort
of
decoupling
will
allow
us
to
implement
search
in
a
way.
That's
not
tightly
coupled
with
a
different
document
types.
D
Yeah,
that's
a
good
point:
I
hadn't,
even
thought
of
search,
but
that's
like
one
of
the
most
powerful
things
that
I
do
in
my
text.
Editor
and
I
needed
all
the
time.
So
yes
good
point,
and
you
really
want
that
interface
to
look
the
same
everywhere,
even
if,
even
if
it's
doing
different
work
under
the
cover,
so
yeah
good
point.
D
A
E
Since
our
last
meeting,
at
finish,
the
cell
tools
editor
and
then
swapped
out
the
night,
the
text
area
for
an
actual
code
here
and
we
released
with
a
bug
where
it
wasn't
doing
exactly
what
I
wanted
it
to.
But
there's
a
fixed
and
master
now
I
think
once
emergency
more
PRS
we
can.
We
haven't
changed
an
API.
E
Since
the
last
release,
we
can
actually
put
out
a
patch
release
that
have
styled
and
some
external
fixes,
and
so
in
general,
been
there
working
on
beta
issues
attacking
them
as
best
I
can
try
and
get
the
numbers
down
there.
Open.
Mostly
love
bug,
fixes
no
no
features
other
than
the
soap
holes
and
it's
running.
G
So
I've
been
doing
continued
work
on
having
sort
of
more
hierarchical
collaborative
objects.
One
of
the
things
that's
been
particularly
tricky
and
I
think
it's
going
to
need
some.
Some
work
on
the
observable
vector
interface
is
to
have
a
smarter
factory
object
for
constructing
a
collaborative
object
on
the
fly
they
use.
The
particular
use
case
that's
coming
up
is
say,
a
user,
not
you
insert
the
new
cell.
G
My
approach
in
the
past
has
been
just
you
know:
serialize
it
to
Jason
and
then
deserialize
it
which
we're
fine.
But
it's
not
a
very
the
changes
you
can
make
to
that
are
not
very
granular.
So
basically,
what
I
need
is
a
smarter
factory
object
that
can
take
something.
That's
more
like
a
more
like
an
observable
map
and
construct
a
cell
from
that.
G
G
A
A
A
A
On
the
front
page
of
hacker
news,
I
think
so
as
hundreds
of
comments
awesome
Chris,
could
we
get
an
update
from
you
one
of
the
things
that
we'd
hoped
before
releasing
our
widget
6
was
to
migrate
to
phosphor
one
since
we're
we're
basing
widgets
on
fox
right
now,
but
we
don't
want
to
block
too
long
on
that.
Can
we
get
an
update
from
you
yeah.
C
A
F
Nope
now
listen,
I
am
working
a
diagram
of
all
of
our
teams
across
the
project.
That
I
would
love
to
share
with
the
team
at
some
point,
but
we
are
working
on
some
team
assignment
still
so
as
I
work
through
some
of
those
questions
and
clarified
them
once
I'm
done
with
that
I'll
I'll
share
that
booty.
B
What
what
we're
finding-
and
this
is
a
really
weird
quirk
in
how
Altair
and
Vega
and
big
a
light
work,
is
that
we
have
a
custom
JavaScript
based
render
for
that
line,
type
that
renders
to
canvas
or
SVG,
and
that
works
great.
We
can
grab
the
P&G
from
the
canvas
and
then
save
it
as
a
PNG
mime
type.
What
we
find
is
that
for
really
large
notebooks,
though
you
end
up
carrying
around
the
massive
amount
of
data,
is
required
to
create
the
canvas
visualization
and
the
PNG,
and
so
there's
some
in
it.
B
Basically,
it's
you
quickly
run
into
situations
where
you
just
can't
have
many
I'll
tear
visualizations
at
a
single
notebook
and
so
what
but
like
what
would
help
us
is
with
for
that
injector
to
also
be
able
to
delete,
mimetypes
and
then,
most
importantly,
delete
the
mime
type
that
is
using
the
injector.
Currently,
basically,
it's
a
way
of
Emani
hydrate.
B
B
No
I
mean
the
P&G
is
written
immediately.
This
is
it's
not
written.
Talk
to
you,
yeah,
okay,
no,
now
one
one
thing
that
we're
going
to
run
into
likely
is
vague
and
vague.
Megabyte
is
soon
going
to
get
interactive
graphics
and
then
yes,
we
would
want
the
ability
to
trigger
an
event
to
write
a
current
state
to
a
PNG,
and
so
now.
E
E
A
Do
it
at
once
with
them,
so
we've
talked
about
having
actually
all
of
them
rendered
in
different
tabs
or
something
or
lazily
rendered
in
different
tabs
and
and
I
mean
you
could
you
could
still
delete
tab
and
add
tabs
as
the
one
displayed
is,
is
changing
things,
but
but
we've
talked
about
putting
each
of
the
mime
types
on
equal
footing
as
well
or
having
a
configurable
in
order.
So
the
user
to
look
this
thing
for
an
opal
in
frontentia
yeah.
E
B
A
A
B
A
Just
give
it
the
whole
mind
bubble:
yeah,
yeah
I
think
we
still
need
to
make
the
changes
in
the
render
put
in
the
rendering
infrastructure
to
let
a
renderer
reject
rendering
like
the
widget
manager
needs
this.
If
it
gets
a
widget
state-
and
it
says
oh
wait-
actually
I,
don't
know
anything
about
this
widget
I
want
to
reach.
I
want
to
say
actually
I'll
pass
on
this
one
and
and
then
you
know
let
you
choose
some
other
render,
which
would
be
a
text
render
saying
this.
B
Okay,
yeah:
let's
you
can
open
issues
on
those
things
and.
A
A
Awesome:
okay
and
you
laugh
other
things
all
right:
goodbye
internet.