As a researcher, I use a variety of software tools on a regular basis, and I’d like to share this list of tools here.
Writing and Collaborating on Papers
For writing papers, I use Sublime Text 3 with the LaTeXTools package installed. This allows me to edit and compile the document directly from ST3. I have the same setup with the Atom editor as well, and both work well.
For collaborating on papers, I prefer to use GitHub and host the source files (e.g., tex
,bib
) in a repository dedicated for the paper. I believe this gives each co-author the freedom to choose and set up their own work environment and tools (as opposed to something like ShareLaTeX).
Typically when starting to work on a paper, we use Google Docs to draft out an outline for the paper and reach an agreement on the direction of the paper. The commenting mechanism on Google Docs works well and supports brainstorming.
Other tools I typically use:
- LatexDiff, a command line tool, for generating visual diffs between compiled documents. Useful when outlining changes to reviewers between revisions. Similarly, Git-LatexDiff aims to generate a diff and simplify the process even further
- AbstractFormater for formating text. Very useful, especially for paper submissions
- BibTex normalizer for cleaning up the bibtex file
- doi2bib.org
- EZProxy plugin for accessing academic papers from outside of the university’s network
- Octobox for managing GitHub notifications
- Draft: a writing tool that I find helpful in overcoming writer’s block
Preprints and Study Data Sharing
- Zenodo: for sharing data from our studies (e.g., replication package)
- arXiv: for preprints or papers that are not archived elsewhere
English Prose
- Grammarly: is an English-language writing aid for the browser
- Proselint: works well with text and markdown files in Sublime Text and Visual Studio Code (no Latex support though)
- Write-good: a prose linter extension for developers
Team Communication
- Slack: most of our group’s communication happens on Slack, though we may switch to Mattermost later this year
- Keybase: it’s like a combination between Slack and Dropbox, that also leverages cryptography.
- Skype: video calls when we’re not co-located
Schedule and Time Tracking
- Google Calendar: we share a group calendar to coordinate our schedule
Keeping Up To Date
- Twitter + Buffer: following research-related people and products. I try to keep the number of people I follow at a manageable number (~150)
- TweetDeck: catching up with conference/event tweets
- Google Scholar updates and alerts
- HackerNews
- Feedly: to keep up with blogs (e.g., http://blog.ieeesoftware.org/) and tech news
- Podcast Addict: I subscribe to helpful and related podcasts (e.g., effortreport.libsyn.com, changingacademiclife.com, and changelog.com/rfc)
- YouTube: following research-related people and channels
Knowledge Management and To-Dos
- GitHub + Markdown files
- Google Keep
- Trello
Presentation Slides
- Google Slides: for creating slides. I also use Google slides as a brainstorming tool when starting to design a study/paper
- Speaker Deck: for sharing my slides
- Pexels / Unspalsh / Pixabay / unDraw / ManyPixels
Posters
- In the past I used PowerPoint to create conference posters, but I’m trying to switch to Inkscape
Collecting Data from Surveys and Interviews
- Google Forms: for conducting surveys
- Open Broadcaster Software (OBS): for recording interviews. The benefit of using OBS is that it works with any communication channel (Skype, Google Hangouts, etc…)
Data Analysis
- Google Sheets and R Studio: for data exploration and analysis
- RQDA: for qualitative data analysis (coding, memoing, generating themes)
- Tidyverse: a set of packages for data science with R
- DataGrip: when data-mining large SQL data sets
Creating Visualizations
- Some visualizations (especially graphs) we create with R and R Studio
- Draw.io: for diagrams and flowcharts
- The data visualization catalogue and the data viz project: for choosing the type of visualizations to use
- D3 library: great library for visualizations, very customizable
- Tableau Public
Coding Tools / IDEs
- Visual Studio Code: I recently started using it for learning React, and I really like it, reminds me a lot of Sublime Text
- Eclipse: for Java
- PyCharm: for Python
- WebStorm
- Sublime Text 3: for coding in Go
- DataGrip: for exploring SQL databases
- Robomongo: for exploring MongoDB databases
- Docker
- Insomnia: for working with REST APIs (better than Postman)
- Heroku: for deploying projects
- RegExr: for forming and testing regular expressions
App / Tool Design
- Balsamiq: for low-fidelity mockups
- InVision: for interaction design
- UX Check: for identifying usability issues using Neilsen’s heuristic evaluation
Creating Video Demos
- Shotcut: cross-platform video editing (works great in combination with OBS).
User Analytics
Website
- Jekyll + GitHub pages: for my own personal website
- Ghost: for our group’s website
Passwords
- KeePassXC + chromeIPass: for storing and managing my passwords
- Free OTP + YubiKey 4: for two-factor authentication
Backup
- Duplicity: for encrypted local and remote backups
Running a Research Seminar
- TinyLetter: for managing the seminar’s mailing list
- GitHub Pages: for sharing seminar info and schedule
Course Teaching and Learning Management System
- GitHub: I use GitHub for course material hosting and student assignment submission
- GitHub Classroom
Tools I wish I could use, but they’re Mac-only
- Sketch: for high-fidelity design
- Screen Flow: for creating and editing app videos and tutorials
- Origami Studio: for mobile interaction design
- OmniGraffle: for diagrams and visualizations
What tools do you use?
Any recommendations for other tools I should try?