Android Studio Collaboration: A How-To Guide on Pair Programming of Mobile Apps
Android Studio's collaboration limitations are among a list of reasons the IDE's popularity is under arrest since its introduction by Google back in 2014. The Android OS, Studio, and even data management tools are all from the same company, giving the developer tools—wait for it—for free. Yet it always stays below competitors in the Android mobile application development IDE space.
This post will focus on the quest to collaborate from within Android Studio. This attempt will not tarnish the platform, on the contrary, I hope to actually help Android Studio users finally experience what it feels like to work as a team.
To achieve this aim, it's only fair to normalize the idea of collaboration. Let's dive right in.
What Does Collaboration on Android Studio Mean?
Collaboration, in general, involves two participants taking part in a single (or more) task. In Android Studio's context, the task will most likely be a mobile application project. Given, this is easy if developers are sitting next to each other, taking glances at a single physical monitor as they take turns to code, review, and test in real time. That's as real-time as things can get, right? (There's a better way—keep reading.)
Why Is Collaboration on Android Studio Helpful?
Being the one suite that Google provisioned to make Android apps, Android Studio has plenty of tools other IDEs can only invoke as APIs. This makes it powerful to some extent. Say your team is working on an app within Android Studio; collaboration brings a couple of advantages:
- Increased chemistry as all developers stay up to date with changes and challenges quickly
- Faster project progression
- Fewer meetings conducted
Collaboration can and must include non-technical staff to appraise them on the project's progress in less time than would be required with scheduled meetings.
What Collaboration Features Come With Android Studio?
Android Studio comes stocked with a single collaboration tool: version control through Google Cloud, Git, SubVersion, and Mercurial.
How Do You Activate Android Studio Collaboration Features?
VCS integration into a project is really simple. Assuming you've already created a repository on the platform of your choice, simply click on the "VCS" option on the toolbar. This opens a menu as displayed in the screenshot above. Select "Enable Version Control Integration" and pick the control system you want to associate with the project.
After successfully configuring VCS, members of your team should be able to take part in adding code to the same source. We won't get into the details of how to use Git or any of the other systems at this point in time. However, even when just starting to use them, it's possible to add a project to a version control system even late into its progression.
Even when you know that team members will see the code you're patching the main files with, VCS alone doesn't give a developer the feeling of full collaboration. You can't help but feel like things could be done better.
To scratch this itch, plug-ins can help extend some features into Android Studio.
Collaboration Features Provided by Android Studio Extensions
The next logical step in search of pair programming capabilities on Android Studio is hunting on the IDE's plug-ins marketplace.
Access the extensions marketplace in Android Studio (Android Studio >> Preferences >> Plug-ins) and quickly run a search for "collaboration." A list of extensions with different collaboration features will return.
How to Enable Collaboration Features With Plug-Ins
When you reach this point, it's worth applauding you for the effort you've put into the search for collaboration tools. However, after trying out a handful of plug-ins, a trend you'll notice is how no single extension fully addresses our quest. The perfect plug-in will have the following features:
- Screen-sharing: Coding doesn't just happen in the IDE window, so why should collaboration be limited to just that? You want a tool that shares even the text files and illustrations open in other tools.
- Real-time pair programming: The ideal plug-in will show two or more cursors entering code to the same file. This allows faster project progression. Such code reviews mimic how a senior developer would hover and point out improvements in an office (not that we encourage hovering!).
- Voice and video communication: Your code might suffice when communicating your effort to the project, but you'll get your point across more clearly by speaking. Better yet, show your face and explain your snippets in person.
Not finding these features included in the IDE by default, and then failing to find an extension that would make it possible, is frustrating. It could well be the reason why developers make Android apps outside of Android Studio. But what if you didn't have to leave?
How CoScreen Enables Cross-IDE Collaboration
CoScreen takes collaboration on projects to a new level. To demonstrate how CoScreen achieves this, let's review a few of its features. We'll also address the little annoyances we've so far discussed in the sections above.
CoScreen Moves Collaboration Out of the IDE
The first irk would have to be how plug-ins restrict any collaboration effort within the IDE. As soon as you minimize Android Studio, every sharing and joint work effort comes to a halt. CoScreen puts a stop to this. Taking collaboration out of the hands of an IDE allows it to focus on managing files and taking in code.
Hard to miss is how moving from plug-ins also solves the platform preference issue. Your Android development team doesn't have to work from an IDE that's anything but hanging on a thread. As long as you're connected to the same VCS, developers using CoScreen can enjoy the powerful features imported from other IDEs—all while still being able to work with developers who prefer Android Studio.
Share Your Entire Screen
CoScreen shares an entire screen—no pun intended—and not just the IDE window. This makes note sharing a breeze. In effect, it creates your screen and makes it available to members of your team—more like an intersection on which anything you pull to it becomes visible to the rest of the team. Color-coded cursors that move and add code independent of each other replace the code-and-wait routine that we experienced when testing out some plug-ins in Android Studio.
See and Talk to Team Members
Then there's the video and voice communication feature. This brings back the vibrant office feeling a lot of remote working devs (like me) sometimes miss. No more long meetings after each release, since everyone concerned, can just tune in and watch as a project takes shape. If you absolutely must, meetings through CoScreen are smoother than some tools we've adopted thus far. It would be as though you fastened thrusters to the normal way of doing meetings online.
This CoScreen feature is what you'd get if Zoom screen sharing allowed other members to interact with the objects on someone else's desktop. I know I've wanted to do this ever since my first Zoom meeting.
As long as we're social distancing, we might as well take a screen and reserve it for collaboration. Make it as though everyone owns the space and can do pretty much anything (not just share code) through it. Collaboration on Android Studio projects becomes so much better when you do this.
This post was written by Taurai Mutimutema. Taurai is a systems analyst with a knack for writing, which was probably sparked by the need to document technical processes during code and implementation sessions. He enjoys learning new technology and talks about tech even more than he writes.