Using an iPad for Data Science in 2021! | by David Hundley | Jan, 2021
Checking out some apps to support your data science learning path on an iPad
I. Love. My iPad. Ever since its launch in 2010, I had to have one. Back then, I was still a poor college student, so I had to save a hefty penny to save up for my first one. And I did not regret getting it, even though you really couldn’t do much on it.
In my opinion, the iPad is unquestionably the best consumption machine. Whether it be watching your favorite show on Netflix or browsing the web, the iPad is the best personal large screen experience that isn’t a full blown laptop. But admittedly, the iPad has always lacked the stuff to make it a really good machine for production.
As time has gone on, Apple has slowly added more and more features to make the iPad more and more of a production machine. From adding keyboard support to allowing for a really nice graphic design experience with the Apple Pencil, the iPad has creeped further and further into true laptop replacement territory. In fact, before I became a data science student in 2018, there was a time when I totally ditched my laptop in favor of solely using an iPad. Of course, I quickly had to get myself a new laptop in early 2019 as it became clear that I was going to need it for data science.
But here we are in January 2021, and Apple has continued to make strides for the iPad to become more of a production machine. With the groundbreaking support for using a cursor in iOS 14 to baking in a trackpad in their latest iPad keyboard, I’m now curious to revisit how viable the iPad is as a data science machine. In the remainder of this post, we’ll see how we can make use of the iPad in the data science field and give a final verdict on how useful the experience is.
Without further ado, let’s get into it!
(Oh, and one more thing… I am 100% aware you can definitely get by with using the iPad as a production machine if you use cloud services like AWS or GCP, but that feels like cheating. This post is going to cover the iPad hardware, software, and apps for an experience not reliant on cloud computing.)
I think it’s safe to say any iPad that’s been released in the last two years has strong enough performance to rival most regular laptops. We’ll get into this further on down with our apps, but using the apps to load in datasets from CSVs and exploring them using Pandas has been a very snappy experience. I personally a 16″ MacBook Pro for my day job as a machine learning engineer, and for working in Python, I’d say my iPad Pro is equally as fast as the full MacBook Pro.
But we can’t ignore the giant downside: the iPad in and of itself is a big touchscreen. Using a virtual keyboard and using your finger as a cursor is a very clunky experience. (Not to mention the fact that the virtual keyboard takes up a ton of valuable screen space.) It’s been a while ago now that iPad added support for physical keyboards, and that has helped a ton. In summer 2020, Apple formally added cursor support in iOS 14 to use Bluetooth enabled mice and more. Again, this was another huge leap forward in using the iPad as a production machine, but these extras don’t come cheap.
If you have a regular iPad and have no interest in buying these additional accessories, you just flat out are going to have a terrible time performing data science activities on your iPad. Is it possible? Technically yes, but the experience is so awful that I’d rather use a lower end laptop for my work at that point.
Though Apple has made strides toward making iOS more appealing to production customers (even recently rebranding iOS on iPad as iPadOS), it’s still iOS at its heart. It’s ultimately limited in some of the things that I do on a regular laptop that I unfortunately could never truly replace something like my work laptop for an iPad. Namely, I can’t do things like work with the command line and command line tools, build Docker images, and more.
But that doesn’t mean we’re at a total loss. We can still do a lot of cool things that we’ll cover in the apps section, but staying at the base level of iOS, there are a few things worth remarking. First is the iOS file system. It’s nothing like we’d expect out of a traditional laptop, but at least Apple added their own variant of this a few short years ago. This is great as many apps can now make use of the same files across all apps, just as you would with any file on a traditional computer. Additionally, Apple’s inclusion of the iCloud Drive makes syncing files you work on between all your Apple devices a breeze. (Of course, there’s a bit of a premium on that last one if you work with really large files.) And I’d be remiss to mention the very nice UI for side-by-side apps!
Kudos to Apple for making these big improvements, but at the end of the day, they don’t mean much without good apps. Let’s explore what some of those apps include as of early 2021.
The bread and butter of the whole iOS ecosystem lies in its App Store, and fortunately, some great folks have come out with some great apps to help out with the whole code development and data science process. We’ll even cover how these apps can function together and even since your work to GitHub, but I have to be 100% transparent: it’s not exactly an easy process. You eventually can get used to it as I have, but it’s definitely not nearly as seamless as using a traditional computer.
Let’s jump into the apps I’ve found a lot of value in for data science.
Juno for iOS
(Price: $14.99, Link in App Store)
It probably goes without saying that using Jupyter for things like exploratory data analysis and data visualization is a great asset, and Juno brings just that. Juno is an app that allows you to run a Jupyter notebook interface that really works with a Python kernel and even some packages like Pandas and Scikit-Learn. As mentioned before, apps like Juno can now directly interact with the iOS file system, so you can easily download a dataset from something like Kaggle and directly work with it within Juno. Nice!
Juno unfortunately isn’t without its drawbacks. Being built on top of iOS, it can’t run traditional shell commands. Additionally, while you can install some additional packages from PyPi, they have to be purely written in Python. If they aren’t purely written in Python, then they cannot be downloaded to Juno. (For example, for model transparency, I could download LIME just fine but not SHAP. Go figure.) Juno can also be a tad clunky when navigating the file system, but ultimately, I think Juno is an amazing app and look forward to see how it continues to get built out over time.
(Price: $9.99, Link in App Store)
Working in Jupyter is great, but when it comes to formalizing your code for training and inference, we really need to step outside the Jupyter world. Fortunately, Pythonista is an excellent Python-based IDE for the iPad that does just the trick for us. Like Juno, it also seamlessly syncs with the iOS file system so that you can have both your Jupyter notebooks from Juno and Python scripts from Pythonista all in the same place. Pythonista also comes with some really cool examples of what you can actually accomplish within the app, so check them out for some neat ideas you can consider in your next data science effort.
(Price: Free for basic features, $19.99 for premium features, Link in App Store)
Remember when I said that you could save your work back to GitHub? That’s what this app is all about. Just like Juno and Pythonista, Working Copy can directly reach into the iOS filesystem to create a Git repo that can be synced back to GitHub. (Or Filelocker or GitLab or more!) It’s a simple app, but it is a super nice addition for working on the iPad. Between these three apps and the iOS filesystem, you can now collectively work from a single place on the iPad that can be easily synced up to a source code repo. Nice!!
Of course, I do have to mention a small drawback: the user interface. Call me crazy, but I actually love using the command line, and that obviously is not present due to the iPad’s reliance on iOS. Working Copy does have a UI to perform those traditional Git commands, but… it could use some work. The good news is that the core functionality is there, so if the developers of this app can really optimize their UI, I think this app could shine even more than it already does. But regardless of the UI, it’s still nice enough that I still use it for my own work.
The three apps mentioned above are the “must haves” for performing data science on an iPad, but there are still other apps that I think might be worth checking out. I’m sure I might be missing some you’d add to this list, so feel free to sound off in the comments what you would like to see here.
Textastic (Price: $9.99): Textastic is the most popular coding app on the App Store as it does an excellent job at syntax highlighting and more for many different languages. But because I mostly work in Python, I don’t have a huge need to use this app over Juno or Pythonista. It’s still nice to have it hanging around for things like markdown file editing though.
GitHub (Price: Free): This app came out fairly recently to support the popular source code repository. I love using GitHub for showcasing all my personal work, but the iPad app isn’t a “must” in my book. I personally don’t do any multi-person collaboration on GitHub, but it does appear to be more useful in those scenarios. And because it’s free, why not download it?
Carnets Jupyter (Price: Free): This was the app that I was using for interacting in Jupyter notebooks, but then I switched to Juno and honestly can’t remember why. It wasn’t a bad app at all, and of course, it’s free which nobody can deny.
And so we finally come to the question we’ve all been waiting for, and that is, can we finally use solely the iPad for data science work? The unfortunate answer is ultimately no. Because iOS isn’t a traditional operating system, there are many things I cannot do due to my reliance on command line tools, Docker images, and more. I’ll be interested to see if Apple is ever able to overcome these hurdles, but they’re unfortunately still here in January 2021.
But this doesn’t mean data science is totally dead on the iPad. I’ve found with the right hardware (e,g. physical keyboard and mouse/trackpad), the iPad is an amazing learning and proof of concept tool. If you’re writing some basic code, wanting to do some simple exploratory data analysis, or test out some new skills you just learned, the iPad is finally more than capable of doing all those things. At the end of the day, I’m definitely not getting rid of my laptop, but it’s nice to know that I can get by with my iPad if I really wanted to.
Read More …