What’s New
in the World of
Cloud Notebooks

Jan Poeschko
Wolfram Research

Wolfram Technology Conference 2018

Introduction

Numerator[Integrate[2018/(17-x^10),x]]

Plot3D[Im[ArcSin[(x+I y)^4]],{x,-2,2},{y,-2,2},Mesh->None,PlotStyle->Directive[Yellow,Specularity[White,20],Opacity[0.8]],ExclusionsStyle->{None,Red}]

Button["Print Factorial",Print[200 !]]

Manipulate[ParametricPlot[Evaluate[MatrixExp[{{a,b},{c,d}} t,#]&/@pt],{t,0,10},PlotRange->5],{{pt,{{2,0},{0,1},{-3,0}}},Locator},{{a,-1.1},-2,2},{{b,0.9},-2,2},{{c,-1.4},-2,2},{{d,0.3},-2,2}]

Stability

No more “Session timed out” requiring a full page refresh

No more “Initialization timed out” due to changing kernels

Notebook rendering more robust w.r.t. large cells [1.49]

Table[Button[i],{i,3000}]

Performance

Server-side (pre-) rendering of notebooks

Server generates static HTML to be shown while the client downloads & execute JS for “live rendering”

Low-level JavaScript code optimizations

Some rendering times down to 30% from before

Batching multiple evaluations into one request [1.47, 1.49]

Table[Dynamic[d],50]

Look at notebook devtools using ⌘+Alt+⇧+D (Mac) or Ctrl+Alt+⇧+D (Windows) or append ?devtools=true to the notebook URL

Compiled Manipulate [highly experimental]

Idea: Compile plotted function into WebAssembly, so client can update Manipulate immediately

Relies on the upcoming Wolfram Language compiler

CloudSystem`$EnableCompiledManipulate=True;

Manipulate[Plot[Sin[a x],{x,0,2Pi}],{a,1,3}]

Design details

Modernized control design

Button["Hello",Pause[3];Print["World"]]

Growable characters rendered as a single path [1.49]

Sqrt[Graphics[Disk[]]]

Cell brackets using vector graphics [1.49]

(x/y)

Dynamic geo graphics [1.49]

DynamicGeoGraphics[{EdgeForm[Black],FaceForm[Red],Polygon[(EntityClass["Mediterranean countries", EntityClass["Country","Mediterranean"], "EntityClass[\"Country\", \"Mediterranean\"]", "countries"])]}]

Typesetting editor

Converting cells from InputForm to StandardForm

TeX input [work in progress]

Enter TeX code to typeset math using Ctrl+$

Related talks

“Wolfram Compiler” by Tom Wickham-Jones (Thu 10:00)

“The Native Wolfram Player for iOS” by Jason Harris (Thu 14:00)

“CDF and Notebooks Update” by André Kuzniarek (Fri 9:30)

“FE/Mobile Talk” by Parth Pratap (Fri 13:00)

“Developing a Cloud Application using Cloud Notebooks” by Jan Poeschko (Fri 14:30)

Get in touch

jpoeschko@wolfram.com