Shadow is probably best known for their remote gaming PC platform. Nextcloud-based Shadow Drive will allow users to store their data while keeping it accessible from anywhere.Read More
When Nextcloud kicked off, the Android app community, led by Andy Scherzinger and Tobias Kaminsky, immediately created the Nextcloud Android app and has been developing it at a very high velocity ever since. Introducing major improvements like easy account switching (1.1.0), Calendar/Contacts integration (1.3.0) and SD card support (1.4.0) among many others, the client has drawn a lot of praise from users. We decided it was time to shine a light on the people behind this, starting with Andy Scherzinger, one of the lead developers.
Swapnil: Can you tell us a bit about yourself and your involvement with open source/Android development?
I am a dev-turned-manager and work as a vice president of telecommunications at an IT company. During workdays, I work for customers on individual software projects in different roles like consultant, business analyst, project manager, etc. I reserve one day for the team I am responsible for doing one-on-ones, working on innovations regarding customer offerings and products, software engineering excellence streams and also trainings.
I love my job but I miss writing code, creating software and toying around with technology. That is why I started contributing to open source software as a hobby.
My background is in Java backend development so it came naturally for me to look into Android app development when it got popular some years ago. That is when I got involved in Android app development, Andlytics, which was later open sourced. That’s how I started contributing to open source projects regularly.
A few years ago, I was looking for a self hosted cloud storage solution and that’s when I found ownCloud and started contributing to its Android app. Down the road, Nextcloud was born and the founding team offered me a unique chance to push forward the app’s development since I would get maintainer rights which at that time was a huge step forward.
Swapnil: Do you still develop apps for Android?
I don’t offer any apps of my own anymore since I don’t have the time to maintain them. I am part of the Nextcloud team, as a community member, that maintains the Android app.
Our vision is to put Nextcloud in your pocket bringing the features that you use on the web front onto your Android device through the app. On top of that we also offer additional features like auto upload, pushing your photos to your cloud.
Other than that I recently started to also contribute to other Android apps within the Nextcloud ecosystem that provide e.g. SMS backups, notes or password managers.
Swapnil: May I ask why you chose ownCloud (later Nextcloud) in the first place when you were looking for a self hosted cloud storage solution?
From a user’s perspective, I chose Nextcloud to take control of my personal data, without having to rely on free or commercial cloud-based offerings. Whether their services were free or paid, their terms and service would allow them access to my personal data. So from a user’s perspective privacy was a big issue for me. With Nextcloud, I didn’t have to sign any such ‘agreement’ or agree to their terms.
In addition, I also chose it because it’s open source, which gives me the possibility to participate in the discussions about its direction. I have a programming background, so I can check its source code to make sure the software isn’t doing anything evil with my data.
From a developer’s perspective, Nextcloud provided me with the opportunity to actively push its development, create new features that I would like to offer or the features that the community requests.
The two main reasons why I started contributing to Nextcloud are:
Swapnil: What are the core features in Nextcloud that you think benefit users the most?
The most obvious feature is the cloud storage solution which is very easy to install and operate with clients available for all major platforms, including Linux, macOS, Windows, iOS, Android and Windows Mobile.
The other feature, which is not so obvious to the user is that Nextcloud is a platform. Developers can create apps on top of this platform to add more features and functionalities not part of the platform, which in turn expands the overall functionality of Nextcloud itself, bringing more value for users.
Last but not least, Nextcloud comes with what we call ‘federated sharing’, so users can share data with other users — friends, family members, colleagues, customers or partnering companies — running Nextcloud instances. It’s not limited to Nextcloud, you can also share data with other cloud storage solutions which support federated sharing.
The biggest advantage, as I stated in the beginning is that it gives a user complete control over their own data, without dependency on any third parties.
Swapnil: What kind of challenges are there when it comes to packaging and distributing open source apps on mobile?
Fortunately, mobile operating systems define the packaging mechanism which simplifies the process as there are tool chains you have to use. Distributing the app and any updates is also not really a challenge because we offer the app through the Google Play Store. We also offer the app through f-droid, an open source app store. In addition to these we also offer the app as a file download on Nextcloud’s website.
One challenge regarding Android is that there is a bit of fragmentation regarding different Android OS versions, devices and OEM specific customization of the operating system. Here we rely on the user’s feedback on issues with specific phones and then we have to rethink solutions to cover all those variations of environments while still maintaining a general solution and not adding any case specific implementations.
Swapnil: Do you also offer an iOS version of the app?
The Nextcloud community offers mobile applications for iOS, Android and Windows Mobile and all of these are open source.
Swapnil: What features do you think are missing in Nextcloud?
Personally I am happy with Nextcloud’s feature set. I am focusing on the Android app so any requirements I have for the backend are usually extensions of features we want to implement on the client app that need some kind of server side support to be implemented.
However, thinking about enterprise use cases, I’d like these features: