Timi's menu bar plugin

Timi menu bar plugin

Overstap van Freckle naar Timi

Sinds 4 maanden gebruik ik Timi. Daarvoor heb ik 5 jaar lang het Amerikaanse Freckle gebruikt. Freckle is een gebruiksvriendelijke timetracker gemaakt door Thomas Fuchs (die van o.a. zepto.js). Inmiddels zit er een volledig team achter die de applicatie door ontwikkelt en support levert.

Waarom?

De reden voor mijn overstap was onder andere:

  • Moneybird integratie; eenvoudig je gemaakte uren op een factuur doorzetten
  • Data opslag in Nederland; een Nederlands bedrijf dat valt onder de Nederlandse wetgeving
  • Project budgetten en timers; je stelt een budget in voor een project en krijgt een waarschuwing als je uit de pas loopt
  • en natuurlijk het supporten van Nederlandse developers!

De migratie

In samenwerking met Jankees van Timi heb ik al mijn uren van 2013 tot nu kunnen importeren. Dat ging via een handmatige actie in een CSV bestand. Na 2 keer opnieuw importeren en wat wijzigingen van mijn kant zat alles erin! \0/

De projecten zelf heb ik met de hand aangemaakt. Deze moesten bestaan voordat de import kon worden gedaan. Dit had ik ook via de API kunnen doen uiteraard.

Even wennen

De overstap naar een nieuw software pakket is altijd even wennen. Waar kan je alles vinden? Wat werkt er anders en hoe werkt het dan wel?

Zonder dat je het merkt ben je zaken aan het vergelijken en zoek je de functionaliteit van het oude pakket ook in het nieuwe pakket.

Tijdsregistratie

Een van de dingen waar ik aan moest wennen was de taal detectie om uren te schrijven. Timi gebruikt natural language (met een hippe Backbone integratie) om te begrijpen wat je precies wilt doen. (Zie hoe dit werkt) Een functionaliteit die je vooraf moet instellen. Per project kan je een zogenaamde 'alias' opgeven die er voor zorgt dat hij begrijpt voor welk project je een tijdsregistratie doet. Dit kan ook tegen je werken op het moment dat je meerdere dezelfde aliassen gebruikt. Even opletten wat je doet dus.

Geen desktop app

Een belangrijkere feature die ik miste is een macOS app. Voor Freckle (en ook bijvoorbeeld Harvest) is een fijne menubar applicatie beschikbaar die aangeeft dat je een timer hebt lopen en laat zien op welk project je aan het boeken bent.

Na een korte zoektocht kwam ik op BitBar terecht. BitBar is een macOS menubalk applicatie waarvoor je eenvoudig je eigen plugin kunt schrijven in een taal naar keuze (Ruby, PHP, Node, Python etc). De plugin is een klein script bestand die je plaatst in een map. De output van deze plugin wordt uitgelezen en komt vervolgens terecht in de menu balk. Easy does it!

Enter Timi-bitbar

Met deze app kon ik eenvoudig een plugin ontwikkelen die er voor zorgt dat ik de functionaliteit die ik zo miste terug heb. Hiervoor heeft Jankees de API van Timi uitgebreid met een time_entries endpoint. Super fijn!

PHP is de taal waar ik het meest in thuis ben, dus ik heb er voor gekozen om die te gebruiken. Het resultaat is te zien op GitHub en gratis te gebruiken.

Screenshot van app

Aan de slag

Het is redelijk eenvoudig om aan de slag te gaan. Doorloop de volgende stappen:

  • Download BitBar van GitHub en installeer deze.
  • Download de Timi BitBar plugin van GitHub.
  • Voeg het script timi.30s.php toe aan de plugin map van BitBar.
  • Open het bestand in je favoriete tekst editor en voeg je email adres en API token van Timi toe
  • Zorg er voor dat het script uitvoerbaar is met chmod +x timi.30s.php. (Mogelijk werkt het ook al zonder dit uit te voeren.)
  • Vernieuw de BitBar door deze te openen en op +R te drukken.

Functionaliteit van de plugin

Met de plugin is het mogelijk om binnen de mogelijkheden van de API de volgende acties te doen:

  • Weergeven of er een timer actief is
  • Weergeven op welk project de timer actief is
  • Weergeven hoeveel tijd er vandaag is geboekt

Het was binnen de huidige API niet mogelijk om:

  • Timers te stoppen
  • Timers te starten

Dat werkt uiteraard wel perfect via de Timi site zelf. De belangrijkste functionaliteit is voor mij dat ik kan zien of er een timer actief is.

Wensen en aanpassingen zijn welkom

Voel je vrij om de code aan te passen en te verbeteren waar nodig. Ik ben geen hardcore PHP developer dus het kan waarschijnlijk beter/mooier/sneller dan de huidige opzet. Stuur me een PR via GitHub zodat iedereen profijt kan hebben van de verbeteringen.

Succes!

Rutger - Lekkerduidelijk

Geschreven door Rutger op 29 maart 2017

We helpen je graag op weg!

We leren je graag beter kennen. Je kunt ons dan ook altijd bereiken via e-mail en telefoon voor vragen, opmerkingen, feedback, complimenten of zelfs als je alleen maar even een praatje wil maken.

Wist je dat...
  • Een applicatie in de cloud is? Je geboekte uren zijn altijd en overal online beschikbaar en op ieder device beschikbaar.
  • Veilig, betrouwbaar en altijd bereikbaar dankzij partners als Stripe, Cloud66 en DigitalOcean.
  • 14 dagen gratis en vrijblijvend te proberen.
  • Na de proefperiode maar € 7 (ex. BTW) per gebruiker per maand.