Simplicity or flexibility?

Torn between an IDE and the IPython Notebook

Rudraksh MK
2 min readFeb 25, 2014

Long before MathHarbor came into being, I got hooked onto the IPython Notebook. A web-based interface where I could mix code, graphics, plots, MarkDown, iframes..whoa. Hooked. And then, much later on, when I started work on an F# kernel for IPython, it was clear that this was the neatest interface to code on. You’ve got the Sage Notebook too, now — it’s based on the IPython Notebook, with some significant differences — but IPython wins.

When work on MathHarbor began in earnest, our idea was to make things flexible for math nerds who wanted to run numerical models. And that’s where we hit a wall. But first, let me talk a bit about MathHarbor’s architecture. We run a web app, that allows users to start a Docker container, that contains a lot of tools — IPython, Numpy, Scipy, Sage, Octave, R, and more. Once the container spins up, the user can access a web-based IDE(based on Codebox), where they have a nice editor, file manager and terminal. Or, they have the option to run the IPython Notebook, with custom kernels for Octave, R and Sage — we’re working towards adding kernels for Haskell, F#, Julia and Clojure too. So anyway, they have that option too.

And that’s where the problem arose. What would users prefer? Would they prefer an IDE where they have to manually run commands to run code, or would they prefer a notebook, where a lot of the details — however important they may be — are abstracted away? A lot of time(read, months) went into figuring this out. And to make matters more complex, users, both existing and potential, were divided too. Some preferred the IDE approach. Others felt happier with the notebook. And to this day, the debate continues.

What do you think? Personally, I love notebooks. And by spring, it seems the IPython Notebook will have it’s own file manager of sorts. Except that it may not run in Docker containers anymore, seeing that they’re baking in Linux auth into the notebook.

Oh, well…

--

--

Rudraksh MK

Historian. Linguist. Writer. Coder. Mathematician. Product advisor. | Read what I read → https://refind.com/rudrakshmk?invite=53ce06612b