Toggl

Desktop Team’s Go Loco Week Sparks New, Creative Solutions for Toggl

Man in space suit in the fields

From time to time, we all need to do something different. In Toggl, we have found that giving creative freedom to our teams will give us great ideas, great projects, and great innovations. In the second week of October, the Toggl Desktop Team took on the challenge we call “Go Loco” week.

A Go Loco week is a week where everybody can pick their own project and work on it. No regular work is done during this week and all focus is on special projects. This time, the only constraint was that the projects had to have some connection to Toggl’s time tracker.

There are many benefits to this kind of “Out of the Box” week. Developers can work on things they’ve been thinking about and see if the ideas actually work when implementing them. Also, by picking a project and deciding a scope, team members learn to evaluate the size and duration of certain projects and features. And of course, this week is an opportunity to learn and work with technologies that you usually just don’t touch. It is great if something tangible comes out of this week, but it’s also okay if the week just serves as proof for some concept.

Here are the projects the Desktop Team tackled in our Go Loco Week:

Avalonia UI

We found this new cross-platform framework and it looked really promising. It’s written fully in C# and seems to compile great across platforms. We have quite a lot of C# masters in Toggl, so this would suit us pretty well.

Taras describes his project as follows:

This was me trying out AvaloniaUI framework by building a super basic cross-platform Toggl desktop client from scratch. The main goal was to find out the limitations of the framework when building a single app for multiple operating systems.

With Avalonia UI, you can work on it in Windows, build it and copy the file to Mac, and it works. We used it to create a very simplified concept of a desktop app to see how it would look and feel on different platforms. It was pretty easy to learn and worked smoothly. The project showed us that this framework has potential and when it’s in a stable state can be seriously considered as our next framework for cross-platform apps. With the project, our Windows Wiz, Taras, created a simple login logic and a mini timer that connected to the actual API.

All the code is open-source, check it out here.

AvaloniaUI

QML

We still use the good old Widgets in our Linux app and we’ve felt for some time that we should look more into the power of QML. As always, the to-do list is very packed and there just hasn’t been a time to sit down and look into it more seriously. With the Go Loco week, our Linux Ninja, Martin, decided to take that time and prove to us what the power of QML can really do. 

Martin describes his project as follows:

My project is an experimental UI, focused on exploring a new way to write the interface with more possibilities, especially in regards to animating the UI and making it more fluid to use. It was definitely not focused on the design itself. I managed to recreate most of the login and time entry views and started recreating the time entry editor (that can just display the data but not modify it).

He created many complex parts of the app UI in one week in QML. It looks many times better than the current design and added some cool animations to the app. With this proof of concept in front of us, we felt we had to finish it up and start planning the move to QML magic. Stay tuned: we’re making Linux nice, fast and shiny very soon!

All the code is visible in the goloco/qml branch in our desktop app repo. Check it out here!

Toggl Desktop Test

God Dashboard

This was one of the most ambitious projects of the week, as it meant learning Golang and React from scratch. We currently have a release flow where many things are done by running scripts from the terminal. We wanted to make it easier to execute things and minimize the need to dive into scripts and arguments when doing so. The God Dashboard project creates a dashboard that allows us to do a certain action, like releasing new versions or building specific branches with only one click. To the amazement of the whole team, our Mac Guru, Nghia, managed to learn the Go Gin server and React in one week and execute this nice dashboard.

Nghia describes his project as follows:

Toggl Desktop God Mode is an experiment to facilitate the complexity of the release procedures from the Toggl Desktop Team. It’s also a perfect opportunity to acquire new skill-sets (besides the desktop stack) and learn how to cooperate between frontend and backend parts. Toggl Desktop God Mode is a template to do a release, kill production apps, and check out the commits with just one click.

The code for this project is available on github. Go check it out!

Toggl Desktop God mode Dashboard

TogglBit

Toggl on Fitbit-what more do you want? We have had requests and discussions about wearable Toggl apps for some time now and this was the chance to make it happen. FitBit was the choice just because I happen to have one on my wrist. So in a week, we got a fully functional TogglBit app out there with some simple features:

  • Start and Stop the timer
  • Continue one of the recent entries (we show 5 recent unique entries)
  • Summary view to check out time tracked for today and this week

The app is open-source, so if you fancy checking under the hood the repo is here.

 

TogglBit screenshots

 

If you have a Fitbit (Versa, Versa Lite or Ionic) and want to give it a try please head out to this Fitbit gallery link and install it.

It is currently in an unofficial Alpha state, so if you really like it and want us to make it an official app, please share feedback in the comments or write a love letter for TogglBit to our support.

By On October 31, 2019