Writing my first API: Project McFly
(P.S. not my image, its a screenshot of a sky I encountered when I played the amazing game Firewatch)
In a consulting business, it is important to account for your time spent on a project in an accurate way. This does not include the need for “ease of use” in terms of business value. The app or method only needs to be accurate. This has lead to a spawn of many time tracking apps and methodologies to encourage focus and accuracy in billing.
There are a lot of great time tracking apps, they might work a bit differently from each other, but essentially, they attempt to track what task you are doing, for whom you are doing it, and how long you worked on it.
This becomes cumbersome as it leads to having to document how long you spent on a task before moving to another one, or else it becomes inaccurate (and therefore, useless). Meaning, that, not only do you have to juggle multiple tasks for multiple clients, you must remember how long you spent in the tasks, or actively track the tasks for each client. Remembering this and entering it can become a slogging process throughout the day, week, and pay period.
Right now, at my day job, we use a very well-put together app from our in-house team for tracking our time. They have done an amazing job in putting together something that works well and tracks time in a great way. Through absolutely no fault of the application, I hate tracking my time. This is due to my own abhorrence of tedious repetition that takes away from time I would otherwise be spending on client projects.
I managed to find a device through a random ad on instagram that might help me out. I am not going to go into too much detail on what the device is, other than it is like a big, many sided ball with a sensor in it. This sensor is like a gyroscope and can tell what face of the device is pointed up. When the device is turned, it starts tracking how long that face is turned upwards. It assigns that time to a task, which is assigned to a client and a project. Meaning, as you switch tasks, you turn the ball to the side with the task you are going to work on next, and it will stop tracking time for the previous task, and start tracking time to the current task.
This blew my mind.
I immediately looked up more information on the device and others like it to see if they were practical or useful. I found that people have been using them and besides having connection issues (they connect to a mobile app through Bluetooth, I would love to see it pick up passive wi-fi eventually), it seems to work well.
I ordered one of the devices and am currently in the process of using Zapier to connect the app for the device to the app my company uses for time tracking.
I had never tried writing a custom Zap before, and was really intimidated by the process, but a really awesome coworker gave me a one-sentence idea that pretty much unlocked how this thing is going to work: “You could make it that they talk at a certain time of day.” As soon as I made the trigger for the Zap to go off at a certain time of day, they started talking.
I was not able to convince my higher ups to give my time during the work day to work on this, which I wasn’t expecting, it’s not a big deal, it just means it is going to take longer to create.
I talked to some of my coworkers about possibly using it to track their time against projects. They were incredibly positive about using the device, and agreed that they hated having to manually track and enter time for tasks. I am sure I will be able to get buy in from fellow employees, but to get it to work across the entire company, I would need to create another application. And for that to work, I first need to get the Zapier working. And then I need to make myself a use-case. And then I need to show popularity of the idea among fellow employees. And then I would need to create a crappy version of an app or get with the team behind our time tracking app and build an alpha inside our app myself, so that it would not have to rely on Zapier. And then I would need to sell the app, unless at this point I am approved to build it in tandem with other devs and designers (which would be amazing).
So, at this point, I am probably 15% of the way through this being a viable solution, but it’s still exciting.
Project: Ready Players Four
It’s about to get nerdy, feel free to look away.
My Dungeons and Dragons campaign is shaping up really well. By scouring through reddit and some helpful posts and blogs sent to me by some of my players and friends, I have found a few awesome tools.
(none of this is sponsored, I have no connection to these tools, (all rights belong to the respective tools and companies who own them) beyond finding them useful in telling D&D stories with my friends, and they are not paying me to talk about them)
The first one I used was Inkarnate to create an overall map of my world. I have not sprung for the pro version (yet) mostly because I wanted to see how it worked and if I even needed it. As it turned out, it is a very well put together web app that can generate old looking scroll maps very quickly and easily, and it helped me immensely in establishing my world.
Next I plan on using Pymapper to map out the dungeons.
As of now, the party I DM from my job uses Roll20 to conduct sessions, which works really well with Pymapper (all of this is free, btw, but you get awesome extra cool goodies like spell effects and dynamic lighting if you go for the $10 a month option on roll20). Sometimes we are not able to be in the same room to run a game, this site helps us keep up, immensely so. To start, the tool is wide open in terms of customization and you can map any kind of dungeon you can imagine. It took a bit of getting used to and a bit of tinkering to see how it all worked, but once I got into it, I could never go back.
Unless I go to miniatures, which I am strongly considering. Mostly because I like having something physical to move and play with, but also because I like things.
The campaign I am writing for the party is so massive I am using roll20 to handle the dungeons and location maps (big city maps with significant locations pointed out on it), and Notebook.ai to set up story sequencing, scenes, characters, magic systems, etc.
I cannot get into detail yet on what all my characters will run into, in case they find this blog post. But what I can say, is that the locations, NPCs, and storylines for the campaign are all ripped straight out of pop culture, with a much larger arc overall that will unfold over time. I probably will not be able to talk toooo much about what those characters specifically are, lest the powers that be strike me down for CI, so I will give hints through imaginative descriptions as the campaign goes on.
The timeline for running the campaign is going to be lengthy, I expect that the story will be well over a year’s worth of 5-8 hours of campaigning a week. The challenge for me will be to write enough to keep up with my players. In my DM of Phandelver I constantly felt behind. I feel that, with myself writing the story, I will have a much better grasp on where they will be headed at each turn and can give them a lot more open-ended missioning and exploring.
Thanks for reading this far, you really didn’t have to, so thank you! I hope to have more engaging and detailed stuff for next time. Until then!