Mathematica Online Access Panel

Mathematica cloud objects aka Mathematica notebooks, are the cloud versions of computable Wolfram files. For anybody who does not know what Mathematica notebooks (.nb) are, they exactly what .java is for Java or .py is for Python. Mathematica Online allows the user to code and compute in Wolfram language and save their notebooks on the web. Mathematica users can easily share files by setting permissions in Wolfram Language, however there was a need to create a UI which would eliminate the need to code.

Collaboration is a tricky thing. From outside it looks like all it entails is simply creating a public link or sharing it privately by attaching it to an email. However, the internal mechanics are usually quite complex and convoluted. To understand what the industries considered 'File Sharing' in general I initiated a kick-off meeting with all the folks involved and had a brainstorming and white-boarding session.

Brainstorming with teammates

It was interesting but not surprising that everybody wanted sharing to the as simple as of Google drive. Editing or interacting with files on google drive does not cost substantially amount of money ( don't kill me for this ) because in both the cases there is no computation. Mathematica notebooks are linked to the Wolfram kernel and every interaction cost in GPU seconds. In simple words it costs money every-time a user does 2+2 or wants to Plot a sine curve. Wolfram language allows the owners to have complete control over the notebooks. Each notebook is divided by small sections called "Cells" . Each cell is individually computable, interactive and can be shared independently. You can share a cell in mathematica as " Read, Write, Interact, Execute, Cell delete, Cell edit ". I wasn't sure i wanted to expose all these options to the user. Based on my Comparative analysis, meetings and general specifications, I came up with an initial wireframe.


Initial wireframe

This wireframe did not go well with the stakeholders. I had to change the wireframe based on the specifications provided during the meeting.


Specifications suggested by stakeholders


End to End Access Panel Workflow

I conducted a few user interviews and usability tests in order to understand what users typically expect and do while sharing their file.

User interview and Usability test. The User Interview made a few things clear that 9/10 users did not even know that permissions like execute, 'cell delete' and 'cell add' exist. Additionally, they also found the process of changing permissions via. Wolfram Language very convoluted. Most users wanted an easy system to share files with each other, which would allow them to easily set 'Read Access' or 'Edit Access' to their files. We took all these research findings to the stakeholders. The idea was to convince them that the word access was not intutive and that we should begin with read and write only. That was a small victory.


Final accepted wireframes