Let's review 2019

December 29, 2019

As 2019 comes to a close, it’s time for me to take a look back at my goals and accomplishments throughout the year. 2019 was definitely an interesting year for me in a lot of ways, especially in the developer space. Without further ado, 2019 in review.

Goal 1: A decentralized Goucher community

The Gopherdon apps

At the start of 2019, I planned to start the foundational work that would bring the Mastodon social network to my college, Goucher College, in hopes of continuing to sustain Goucher’s culture on a technological scale and to bring the Goucher body into the fediverse. I think I might have pulled it off this time…

Towards the end of January, I started a project that consisted of an alternative frontend for Mastodon that college students would actually bother to use. This project became known as Hyperspace, and it took off very quickly. Hyperspace has been a very popular client in the fediverse for a while, and it has been created by a couple of Goucher students, now with an extra member from the GitHub community. Hyperspace turned 1.0 a few months back, and a specialized version of Hyperspace for Goucher was created in the process.

But the process didn’t end there. In April/May, I started working on bringing the Mastodon community at Goucher to life. I bought myself a Raspberry Pi, a MicroSD card, and some other small tools to get a small version of Mastodon running. Within a couple of weeks, I had Mastodon live on Goucher’s campus with a Goucher domain. Since May, I had an internal private beta running between a few people, and it’s been somewhat successful. I also had given this project an aptly-fitting name since saying “Mastodon at Goucher” was a mouthful: Gopherdon.

When I came back from summer break, things really took off. During my fall semester of 2019, I continued running the private beta and updating Mastodon and Hyperspace as necessary. Things for Gopherdon were looking up. Towards the end of November, I released the stable versions of the Gopherdon apps for desktops and the web with a brand-new icon. And, during December, I upgraded the Gopherdon server to much more capable hardware with more storage for media (thanks again, Prof. Tom!).

Suffice to say, this project took off quickly. I had anticipated the project to fail within a few months due to a lack of motivation or lack of interest from the community; however, I am grateful to have had the motivation and support from the Goucher community to make Gopherdon possible. I can’t wait to get Gopherdon off the ground and launch a public beta in the spring semester.

Goal 2: The App Store, but with Termina

Last year, I began a small project consisting of making a single-user dungeon in Swift called Termina. It was my first time making a dedicated Swift project for macOS and iOS using SpriteKit, and it certainly was fun to play around with. I released a public beta that year and hoped to get the full game onto the App Store at some point this year.

Mac App Store page of Hyperspace

Although my plans for Termina to come to the App Store failed miserably due to a lack of interest in the project, I am proud to say that I finally did publish an app to the Mac App Store this year. In the winter/spring of this year, I did manage to create a workflow in Hyperspace that gave me the ability to deliver Hyperspace through the Mac App Store. After five failed attempts and several revisions, I finally got it on the Mac App Store, and I couldn’t be more grateful for the opportunity. I had finally established myself as a Mac developer (let alone an Apple app developer) and accomplished one of my biggest dreams since getting my first Mac in 2014. Sadly, I had to take it down due to an issue with Electron, but I will still remember this event (and keep the email records of it). Hopefully, I can bring Hyperspace back once my friends and I make a brand-new version for the Mac and iPhone/iPad specifically.

Goal 3: The Angel shall finally return

Haha, nope, that didn't last

Sadly, The Angel Returns didn’t quite get finished as I had hoped. Ultimately, I decided to deprecate the project due to a lack of interest in writing the story, as well as the mod turning more into a showcase of AliceOS than a decent mod for DDLC. However, I did try again with a new mod called Forgotten: A mod for Doki Doki Literature Club!, though I have doubts that it would get finished in time. There are more chapters planned, but I have yet to get everything fully together. Despite the troubles surrounding DDLC mod development, it did give me inspiration to try something completely new: writing a visual novel myself. I had done it before to test out Ren’Py; I had intended to recycle a story I wrote with a friend by turning it into a VN. I didn’t finish that project exactly, but I think I might have something decent this time around.

Other accomplishments and notes

A completely Unscripted experience

Unscripted screenshot

That being said, I did work a bit on this new visual novel project. I intend for this project to shine a light on the turbulent and trying process of submitting an app into a place as prestigious as the App Store and to be a reflection on who I am as a software developer. This project, Unscripted, tells the story of a developer who arrives to a new city to start a new life as an indie developer with the intent of publishing his/her/their video game to an arcade service with high reputation. I released a demo on Christmas Eve after several beta tests and readings with my friends (thanks, Steven, Eitan, Linus, and Alejandro). Currently, anyone can grab the demo from Itch.io and follow the respective Twitter account at @UnscriptedVN. There’s also a Discord server if that fancies anyone.

Cool wallpapers, I guess?

Zephyr

With the release of iOS 13 and macOS Catalina this year, I couldn’t resist but to try to get the iOS 13 wallpapers on my Mac. I released a small repository that contained some boilerplate material to build these wallpapers using the wallpapper tool for macOS and some images from a third-party website. What I did not anticipate, however, was for that repository to gain a whopping 24 stars on GitHub, let alon an article from Lifehacker on how to build them. Here’s a small snippet:

To do this, we’ll be using the open source macOS program Wallpapper, which allows you to create dynamic wallpapers out of image folders. Creating a dynamic wallpaper file from scratch takes a bit of coding, but thanks to Github developer alicerunsonfedora, the wallpaper images have already been compiled into directories that we can use in Wallpapper.

I was kind of surprised. This wasn’t completely novel; anyone could’ve come up with this given the resources and materials. Nonetheless, it is something of note that I should consider since a lot of people seem to really like it.

In conclusion

I didn’t really meet all of my goals set for this year; there’s only really one that took off as intended. However, these goals did lead me to create new and exciting projects that I want to really continue for at least the next few months. I’m grateful that I didn’t really set these goals in stone; they became starting points for new journeys that I went on this year. 2019 has been an exciting year, and I can’t wait to see what 2020 brings.