Productivity tools are software applications that help individuals and teams to manage their time and tasks more effectively. These tools can range from simple time tracking and task management apps to more advanced project management software.
The goal of productivity tools is to increase efficiency, organization, and accountability, allowing users to accomplish more in less time. They can be used for a variety of purposes, such as scheduling meetings, setting reminders, tracking progress, and delegating tasks. With the right productivity tools, individuals and teams can streamline their workflows, increase their productivity, and achieve their goals more easily.
I always use the first week of the year to evaluate my tools, workflows and software. I try to switch as little as possible within every 6 months, as I can not afford any downtime during my projects. This is the first year, that I am sharing a mostly complete list of things I use. Might be interesting for some of you.
Update: Not completely done yet, but close :)
Project / Task Management & Research
- Asana
“Asana is a web and mobile application designed for team collaboration and project management. It allows users to organize tasks, projects, and conversations in one place, and it offers a range of features, such as the ability to assign tasks, set deadlines, and track progress. It is designed to help teams collaborate more efficiently and effectively. Asana is a freemium service, with paid plans that offer additional features and integrations.”
Asana has been my go-to tool for the past years to organise my internal and client projects.
Helps to keep me and my clients informed about upcoming tasks and tasks closed. Also enjoying the REST-API, as it allows me to connect to many of my other tools.
I had a couple of clients that were skeptical about it, but many use it for themselves as well now.
- Kimai – Time Tracking
Kimai is an open-source time-tracking software. It is a web-based application that allows users to track and organise their time, and to generate reports on their activity.
Kimai has been one of the first things, that I setup on my Homelab Server. Will talk more about my Homelab setup later …
Its always difficult to grasp how much time projects take, especially when you are not doing generic projects.
Kimai helped me to track certain tasks over the years and help me to optimise my internal hourly requirements per task and costs per task / milestone in the end. Nothing will ever make time-tracking and cost calculation rock solid, but it helps to at least lessen some of the pain ;)
I also used to testdrive ActivityWatch, which has automatic watchers for different tools you use. Nice, but too involved for me.
Kimai has a REST-API to easily access data from other tools in my stack. I have a tightly knit set of tools for all my workflows.
Some of the features of Kimai include:
- Time tracking, with the ability to start and stop timers, and to manually enter time worked
- Support for multiple projects and tasks
- Reporting, with the ability to generate various types of reports, including a detailed project report
- Invoicing, for billing clients for the time worked on their projects
- User management and permissions, allowing for multiple users and different levels of access to the application
- Multi language support
- Integration with other tools as invoicing, project management, and more.
- Devonthink
is a personal information management and research application for macOS, iPadOS and Windows. It helps individuals and teams to organize, classify and discover their files, bookmarks, emails, notes and more. It uses machine learning, natural language processing, and other advanced technologies to help users find and organize the information they need, and provides powerful tools for researching, writing, and data management.
Additionally, DEVONthink provides integration with other applications such as TextExpander, and Hazel, feature for file encryption, backup, and syncing. It can also be used to store and organize PDFs, images, and other documents, and it can be used to create and manage databases, to-do lists, and other types of information.
Project Development Tools
IDE
- Adobe Dreamweaver
I know :) Tried to switch multiple times and always came back to it. I know where everything is and have not been asking for anything more in the past ;) But I am also trying to slowly phase out my Adobe subscription and switch to comparable tools without a subscription model!
I used PHPStorm for a while, but never really switched completely. Not a big fan of the underlying Java architecture.
- Nova
CSS, Diff, EJS, ERB, HTML, INI, JavaScript, JSON, JSX, Less, Lua, Markdown, Perl, PHP, Python, Regex, Ruby, Sass, SCSS, Shell Script, SQL, Tree-sitter Query, TSX, TypeScript, XML, and YAML.
Trying Nova right now, which might be my next IDE!
PROJECT PROTOTYPING
Pretty flexible, when it comes to these tools. I am working with different agencies and customers, some prefer Adobe XD and some Figma.
- Adobe XD
(Experience Design) is a user experience design software developed and published by Adobe Systems. It is used for designing and prototyping user interfaces for mobile and web applications. It provides a set of tools for designing and prototyping user interfaces, including vector-based drawing tools, prototyping tools, and design resources such as pre-built UI elements, icons, and typefaces.
Adobe XD has built-in support for creating responsive designs, by allowing designers to create multiple artboards of different sizes, layouts, and orientations, in order to visualize their designs across a variety of devices and screen sizes.
- Figma
Figma is a cloud-based interface design and prototyping tool that allows designers to create, collaborate on, and share user interface designs. It is focused on providing a real-time collaborative design experience, making it easy for multiple people to work on the same design at the same time.
MARKUP TOOLS
- MarkText
A simple and elegant open-source markdown editor that focused on speed and usability.
LOCAL TOOLS
I am a Mac and Linux guy. Windows only exists virtualised in my work environment ;)
- Homebrew
The Missing Package Manager for macOS (or Linux).
Allows you to get almost anything to run locally. Quickly install Go, specific Python or PHP versions.
Works perfectly on ARM by now. Still remember switching between ARM and x86 architecture / machines for some tools in the past.
CROSS PLATTFORM DEVELOPMENT
- XOJO
Not very mainstream, but has been in my toolbox for the past 20 years. Currently testdriving the Android Beta and developing an Android App with it. Has its limitation, but will allow to easily switch to iOS next.
“Xojo (previously known as REALbasic) is a software development tool that allows developers to create cross-platform desktop, web, and mobile applications. It is a high-level programming language and integrated development environment (IDE) that provides an easy-to-use interface for creating applications for various platforms, including macOS, Windows, Linux, iOS, and the web. Xojo uses a drag-and-drop interface for creating user interfaces and provides a wide range of tools for developing, debugging, and deploying applications.”
- IONIC
Mostly internal concepts and prototypes. I know my way around it and keep myself uptodate.
“Ionic is a free and open-source framework for building cross-platform mobile applications using web technologies such as HTML, CSS, and JavaScript. It allows developers to use their web development skills to build apps for iOS, Android, and the web (progressive web apps) all with a single codebase.
Ionic is built on top of Angular (a JavaScript framework for building web applications) and Apache Cordova (a platform for building native mobile apps using web technologies) and provides a set of pre-built UI components and tools for building mobile apps with a native-like feel. It also allows developers to use popular JavaScript libraries such as Angular, React, and Vue.js to build apps.
Additionally, Ionic also provides a command-line interface(CLI) to help developers quickly start new projects, build and test their apps on devices and simulators, and deploy their apps to app stores.”
- FlutterFlow
Also looking at FlutterFlow currently for some quick prototyping.
FlutterFlow is a website and app building platform that allows users to create mobile and web applications without writing code. It uses a drag-and-drop interface and a visual editor to make it easy for users to design and build their applications. With FlutterFlow, users can create custom layouts, add features like forms, galleries, and e-commerce functionality, and connect to external APIs and services. It also includes a set of pre-built templates and components that can be easily customized to fit the needs of the user. Additionally, it also provides hosting, analytics and can be integrated with Firebase for mobile app development.
BROWSER & APP TESTING
- LamdaTest
Lambdatest is a cloud-based, cross-browser testing platform that allows users to test their web applications across a wide range of browsers, operating systems, and devices. It is designed to make it easy for developers and testers to run automated and manual tests on a scalable, pay-as-you-go infrastructure. The platform uses real browsers and virtual machines to simulate different environments, and it can also be integrated with popular testing frameworks and Continuous Integration (CI) tools.
API TESTING
- RapidAPI (former Paw)
RapidAPI for Mac is a full-featured HTTP client that lets you test and describe the APIs you build or consume. It has a beautiful native macOS interface to compose requests, inspect server responses, generate client code and export API definitions.
ERROR TRACKING
- Glitchtip (Self hosted + Sentry compliant)
An open-source error tracking software that helps developers identify and fix issues with their applications. It allows developers to monitor and detect errors in real-time and provides detailed information about the error, such as a stack trace, context, and user information.
This information helps developers to quickly identify the root cause of an error and fix it. It can be integrated with various development platforms and languages such as python, java, javascript, c# and many more.
Glitchtip provides a variety of features to help developers and teams manage errors, including:
-Real-time notifications of new errors
-Automated workflows to triage and assign errors
-Support for grouping similar errors together for easy analysis
This has been one of the biggest pains to setup myself in docker, but works like a charm now :)
TRANSLATION
- PoEdit Mac App
Poedit provides translators and developers with a powerful and intuitive editor for gettext. It helps save time on mundane translation tasks with a lightweight and easy-to-use interface and smart features like pre-translation and machine translation.
- Weblate / Selfhosted in Docker
“Web-based continuous localization. Hosted service and standalone tool with tight version control integration. Simple and clean user interface, propagation of translations across components, quality checks and automatic linking to source files.”
VERSIONING
- BitBucket / SVN
Use this for all my private repositories.
- Github / Git
Some public, some private repositories. These are mostly hobby related …
- Homelab Git & SVN repositories
Use this for projects, documents and other things I like to keep versioned
sFTP / SSH / TERMINAL
- Transmit / sFtp
- iTerm2 SSH & Terminal
COMPILER / BUNDLER
- GULP
“Leverage gulp and the flexibility of JavaScript to automate slow, repetitive workflows and compose them into efficient build pipelines.”
This tool has been around for ages and is still my tool of choice for many tasks. I am keeping a preconfigured setup updated, so that I can easily reuse it when needed. There are some nice extensions available, like gulp notify, gulp fancy-log and vinyl-ftp.
I started with Webpack for some projects, but some things are still a lot easier to handle with gulp. Currently also looking at PARCEL, which has gained traction and is well supported.
- CodeKit
Compile Sass, Less, Stylus, CSS, CoffeeScript, Pug, Slim, Haml, TypeScript, JavaScript, ES6, Markdown, JSON, SVG, PNG, GIF and JPEG right out of the box.
Easy and fast to use, especially for smaller projects ;)
DATABASE
- Navicat
“Navicat Premium is a multi-connection database development tool which allows you to connect several types of databases within a single application: MySQL, MariaDB, MongoDB, SQL Server, SQLite, Oracle and PostgreSQL, create a quick and easy access to all your databases all at once.”
IMAGE PROCESSING / DESIGN
Again trying to free myself from the Adobe subscription model. Might be the last year and than I can finally transition away ;)
- Affinity Photo
- Adobe Photoshop
VECTOR DESIGN
Love to switch it up and again be flexible when it comes to customer preferences ;)
- Sketch
Love the eco-system around it. Artboards are quick to navigate and you can quickly export assets in the right format.
- Affinity Designer
- Adobe Illustrator
ANIMATION
- Keyshape for 2D and Lottie Animations
KeyShape is a vector animation software for Mac and Windows that allows designers and developers to create animations for the web, mobile apps and other platforms with a vector graphics editor. It’s an easy to use tool with a familiar design interface, that is built on top of industry standards such as SVG (Scalable Vector Graphics) and CSS, making it easy to create animations that are lightweight, scalable and perform well on various devices.
KeyShape was created with web designers and developers in mind, it is a great tool for creating animations that are optimized for the web and for adding interactive animations to mobile apps, It also allows for easy integration with other software and programming languages, like web development frameworks, it makes it a popular choice for adding interactive animations and effects to websites and apps.
- Adobe Animate / After Effects
Project Communication
- Slack
Slack is designed to simplify and streamline communication within teams, making it easier for team members to share information, collaborate on projects, and stay on the same page. It can be used by small and big teams, for different purposes and industries, and it’s accessible via different devices and platforms.
Used it far more in the past, but many of the things are centralised in Asana, other Homelab or external tools now. Still using Slack to centralize notifications.
It’s a cloud-based platform that allows teams to communicate and work together in real-time, by providing a range of tools and features such as:
- Instant messaging and chat, with support for direct messages and group conversations
- Channels, which are dedicated chat rooms for specific topics, projects, or teams
- File sharing, allowing users to easily share and collaborate on documents, images, and other files
- Integrations, which allows Slack to connect with a wide variety of other tools and services, such as Google Drive, Trello, and Asana
- Mobile apps, which allow users to stay connected and collaborate from anywhere
- Search, that allows to look for previous conversations, files, etc.
- Voice and video calls
Programming Languages
I am always staying busy, when it comes to programming languages. Have my side projects, that keep me exploring new stuff. My current top 8 ;)
- PHP
- Javascript / Node.JS / React Native
- Ansible / Shell Scripting
- Go / Golang
- Python
- Xojo (Realbasic) Desktop / Mobile / Console
- Swift
- C++
Homelab Tools
“A homelab is a personal laboratory or workspace that is set up in a person’s home, typically for the purpose of experimenting with and learning about various technology or IT related topics. This can include things like building and configuring servers, experimenting with different operating systems and software, and learning about network and security concepts.”
I started my Homelab 2020 to allow more flexible workflows, to play with Docker setups, lower costs for external services and have full access to any server tool when ever needed. Allows me to quickly mirror customer setups or simulate possible upgrade paths. Quite addictive once you start building your own server. And the things you learn, can be easily replicated to remote servers, which I just did last year. I am starting to move services from a long-time static server to a scalable docker based foundation.
Will follow up on this section soon ….
Enjoy coding ….