Posted on Thu, Mar 09, 2017
Whether we are controlling an instrument or performing a measurement, our ability to write code for our experiments is vital. At Ossila, we also need a means of providing code to our customers so that they can get the most out of our equipment. In the past, we used proprietary software for this. However, although the polished user interfaces are functional and aesthetically pleasing, they present several difficulties for our community: The code can only be edited by those with a paid license for the parent software (which can be prohibitively expensive), and by those who have the experience to do so. If we want to use free software, it needs to be flexible enough to adapt to an individual’s experimental requirements, and simple enough to use for those with a limited understanding of programming.
Our solution was the Python programming language: It is free to use, versatile, and has a huge amount of support from the online community. We began our Python journey by learning to control the Xtralien X100 source measure unit. While we were proficient in other programming languages, most of us had no prior experience of using Python. During the process of installing Python, finding an editor, and installing libraries - we realised that there was a significant barrier to entry for people who may not have much programming experience.
As Ossila aims to enable individuals to easily design and program their own experiments, this barrier was a problem. We wanted to eliminate the complexity, and dreamed of an absolute beginner being only a few clicks away from their first experiment. This vision of ours did not seem to exist, so we decided to make it a reality ourselves.
After some brainstorming, our efforts resulted in Xtralien Scientific Python. We took one of the most popular Python editors (Spyder), added the Python libraries that we consider the most useful for creating experiments, and (perhaps most importantly for new users) packaged these components together into a single installer.
Now that we had a way of getting people started, we needed to show people how to actually use Python. We wrote Python tutorials that demonstrate general Python coding at a wide range of difficulty levels. This was followed by our scientific Python tutorials, specifically for use with the Xtralien X100 - because experimenting with this was what kick-started the process in the first place.
We are continuously updating our tutorials, and would love to have your feedback to help us improve them. We hope to build a comprehensive programming environment for beginners and experts alike!