I love my iPad Pro with integrated Smart Keyboard Folio, and believe we’ve come to a point where this ultra-portable tablet weighing less than 500 grams (11-inch version) can almost replace a laptop.

I carry it with me everywhere as the weight and bulk it adds to my “everyday carry” bags (briefcase on work days, cross-body sling on weekends) is almost negligible. It performs beautifully as a portrait-mode tablet when I’m reading books, magazines or PDF files, and when I tilt it to the side and snap it into the cover it becomes a laptop computer capable enough for surfing the web, calculating spreadsheets, writing documents or creating presentations.

In fact, this article was written and published to my blog using only the iPad Pro.

But much as I love the versatility, I still found myself requiring a proper laptop whenever I needed to do some proper data analytics, because the environments and workflows I’m used to (RStudio for R, Jupyter notebooks for Python) aren’t available natively on the iPad OS. While I do realize that there are apps like Pythonista, the use cases for it are more about learning the basic of Python or writing automation scripts, which is very different from what I use Python for (machine learning, natural language processing, predictive analysis, etc.)

So this got me wishing, “If only I could use RStudio on my iPad. If only it could be synchronised with my main computer so I can do quick analysis with my iPad on the go, then continue it when I’m home on my main machine”.

And then it hit me: what I want is essentially Cloud Computing.

Computing in the Cloud

With Cloud Computing, your entire computing process lives in the “cloud” meaning that whichever machine you use to connect to the platform is nothing more than a “window” into the cloud. So regardless of whether you’re logging in from your iPad, laptop or any other device, you’ll always be accessing the exact same working environment including any installed packages or even any files you have open.

In this series of posts, I’ll go through each step of setting up such a platform for yourself.

  • Part 1: Introduction (this post)
  • Part 2: Setting up a VPS
  • Part 3: Setting up RStudio Server
  • Part 4: Setting up Jupyter Notebook
  • Part 5: Setting up Visual Studio Code