Getting stuff done while on the move...¶
I have been thinking for some time now on how to optimize my mobile working capabilities.
But what does that mean? I guess it makes sense to first set out some goals and also to compare that with what I already have (or had in the past). Then I can consider what I think would be the next idea for me to try.
Being able to work from "anywhere"¶
This may mean different things to different people and it mostly depends on what you do. In my case, my typical work day consists of the following:
- Web browsing (searching, reading online documentation, access to AWS web console, working on Github and other sites)
- Code editing using a modern IDE (I prefer VSCode, but in a pinch Vim will also do.)
- Remote access to servers (SSH 99% of the time, but occasionally also a GUI remote session to a Windows system)
- Transferring files between my local development environment and remote systems
- Testing code locally, requiring the ability to often run a local web server or other tools. This will require installation of Python, Java and potentially some other tools
- More recently I also need some third party tools to manage Kubernetes clusters, including
kubectl
,eksctl
and similar tools - Build and test containers locally
- MS Office, although these days you could do almost all the basics online, so this could potentially be done in a browser
As expected, this is probably a profile very simmilar to many developers, DevOps and operations engineers.
The last part of the requirements is the "anywhere" part... What does this actually mean? For me this is about being able to work from where I also have connectivity to all my remote resources on which I am depending on a lot. It's is really hard these days to work a full day productively without some means of connectivity to the Internet - at least in terms of what I do for a living. Therefor, any remote work solution for me has to support connectivity to the Internet. I am hoping that in the near future services like Starlink will enable a true "anywhere" connectivity experience with affordable and easily portable satellite transceivers. For now, however, a good WiFi or GSM connection have to do. Together with this, a good VPN is also a must have to ensure your credentials/sessions cannot be intercepted while connecting to "public" infrastructure.
Laptops¶
For many years, I have been carrying my laptop with me. A couple of years back, my laptop bag was rather heavy, as I also needed to carry extra batteries since laptop batteries typically only last about 2 or 3 hours. Based on my current experience, the same still holds true for many Windows based laptops today. It seems you are very lucky if you find a model that gives you a true "half day" work capability while on the move. Occasionally you are lucky to end up at a place that has a power outlet available - but this is not something you can bank on.
The Apple Mac Books seems to be doing a lot better in terms of battery life. I remember when I just bought my first Mac Book Pro, I could get almost a full day's work done on one charge. I believe the Apple Mac Books with the new Apple Silicon (M1, as at the time of writing this), should in most cases also provide a full day's work on a single charge.
However, I have a couple of things against laptops:
- They are still a bit bulky to carry along everywhere. If you do opt for a smaller model, you usually pay the price in terms of shorter battery life, so that you need extra batteries or a battery bank for charging.
- Most laptops do not have GSM capabilities built in - you will need a dongle or pair it with your cellphone
- The heat factor still makes laptops uncomfortable to work with on your lap. You still need a desk or solid surface in most cases - especially for a full day's work.
It is these points that have made me wonder if there is not a better option.
The Tablet Alternative¶
Tablets have come a long way. Most tablets these days are virtually as powerful as laptops. However, they are limited in terms of their usefulness because tablets generally cannot run full applications like on Windows, Linux or Mac laptops. Until recently, limitations in local file management and other limiting features also prevented me from considering tablets as an option.
However, times have changed. From what I can tell, the iPad Pro seems to be the tool that can provide virtually all the benefits I'm looking for, baring still the critical requirement of being able to run a local development environment with all the tools I require. Accessories like keyboards and mouse support has also come a long way with the new iPad OS. The lines between tablet and laptop indeed seems to be blurring.
If there is a potential solution to get easy access to the development tools, then using an iPad will really be a good option.
I have considered a remote environment, like an EC2 Instance, which I can start any time I need to work with the tools I need. However, this has some other challenges:
- Cost! You pay by the hour so you really need to think about strategies to limit the running time of the instance to the absolute minimum.
- Interruptions in connectivity is a reality to deal with. It really frustrates me to have to restart connections when there are bad connectivity.
Recently I also created an easy to install Docker image of code-server that allows you to run VS Code in a web browser.
I am now at the point where I think that if I can solve the dependency on a remote server, the tablet may proof to be a much better alternative.
The perfect solution?¶
I have recently stumbled on Youtube videos demonstrating how to pair a Raspberry Pi with the iPad. The videos are embedded below.
My only concern at the moment is the power that the Pi will draw from the iPad, but otherwise, this looks like a really good solution which can be backed up by a remote server if/when needed.
Video 1: A video from 2019 discussing the potential of using the Pi as a "perfect" accessory to the iPad
Video 2: A much more recent video (March 2022), detailing the full setup guide. At this stage I think the dude from Tech Craft had enough time from the first video to really get the setup down perfectly!
Conclusion¶
I am seriously considering buying the iPad Pro later this year. I will wait and see what happens at the September Apple event (perhaps there will be a new model!) and then, should I travel back to South Africa for a month, I will really be in a position to put the concept to the test. Time will tell.