Mathematica (M-) is a mathematical computation software, used for research and development purposes. It is widely used in industry, research and academia but is a heavy desktop software. In order to make Mathematica available to more users, a version running in the cloud was necessary.
Research, brainstorm and design potential use cases, actions, features and functionality for a cloud version of Mathematica.
- Provide a light weight way for users to try Mathematica. No installations.
- Provide a better way for users to access Mathematica through mobile devices.
- Provide a good way for users to share their Mathematica output with others.
Motivation and Users
The motivation for the project came from the fact that we saw a steep increase in the use of demonstrations which is a light weight consumable format of Mathematica. A number of users wanted to create these demonstrations quickly and on the go without having to download a heavy desktop application. We therefore started building a cloud version of M-.
We realized that we had a good opportunity to target not only new users who have never user M- before but in a way support the long time users of M- by utilizing the cloud aspects of sharing and collaboration.
This was also an opportunity to innovate by leaving behind the constraints of the desktop version (including compatibility to older versions). We started adding a number of features that would cater to the new users including code completion, predictive interface(patent pending) and starting points.
Mathematica(M-) had behind 25 years of development experience and there were many features which the UX team was not aware of. We started with a survey of the features in M- and tried making sense of features which were relevant to the cloud version.
We also did a number of competitive reviews of primary and secondary systems to get an idea of what is out there and what features are other systems providing.
Next up I started prototyping the overall look and feel of the system, carefully iterating after each team review to get the best ideas forward. A number of times the prototypes required modification as the current technology could not support these. After this each feature was detailed to specify the intricate interactions. These were then passed over to design and development for implementation.