Hello website… it’s been a long time. With a kid occupying the majority of my waking hours outside of work, leaving only a few hours to myself outside of that, there hasn’t been much desire or time available to devote to technology projects.
However, I’ve spent the last several days of the holiday break considering all the things I would like to do in my “moonlighting” hours of the evenings, and now that I’ve settled on a few items, I figure I’d write about them before they all slip away.
[[Oracle]] Assistant
For the past several months, I’ve been kicking around the idea of building my own virtual assistant to aid in various work-related tasks that remain unfulfilled by existing digital assistants.
I am heavily invested into the Google Ecosystem at this point (beta Chromebook, beta Google Glass, beta everything Google), but as good as the Google Assistant is, I would like even more specific tasks to be handled with voice commands than are currently available.
I’ve been working with the DialogFlow interface to create a set of voice interactions that will understand what I want to do, and interpret them to the correct variables for executing. I just haven’t pulled the trigger on the Fulfillment part of the setup yet, given that it is necessary to make requests into my work environment to execute the commands at this time.
While this approach is working well for what I’ve done thus far, I decided to go bigger, and hooked up [[Oracle]] as a Discord Bot, where Voice Input is replaced with an @-message in my Discord Server (over on https://guild.the-spot.net, if interested). After initially standing up my own npm-server bot for Discord, I decided to allow all commands to flow into DialogFlow, but I have yet to finish setting up the Fulfillment side, so nothing actually does anything yet.
This is one of the many projects. I’d like to get the bot a presence via my tsn Slack Channel, as well as figure out a way to more tightly integrate it into the phpBB forum architecture for the-spot.net.
The-Spot.net & #tsn9
I recently posted my “decade in review” article, but due to the level of personal details and the audience it would make most sense to, I posted it over in my Journals thread on the-spot.net forums.
While doing so, I encountered all kinds of bugs from the upgrade to phpBB 3.2.8 that were not addressed in the tsn8 templates due to the sheer number of differences between it and the default proSilver theme. Those errors, and the 5-year-old #tsnSpecialReport thread about a new design idea got me in the mood to actually do something about it.
To be fair, every year, around this time, I have nothing but time, and always think about what it would be like to finally get around to updating the site again to fulfill that design. However, this time, I am 5-years smarter than I was when I originally posted it…and I have a pretty good understanding of what it takes to get the pieces in place.
So while #tsn9 is going to be the main project for 2020, it comes with a couple sub-projects…
tsn phpBB Extension
When tsn8 was developed, I tried my best to rely as much as possible on the phpBB Event architecture, but there were just some places that the data I needed was not exposed via event emission, and I had to write custom code into the core files.
The first project, thus, is going to be extracting all custom code into the tsn phpBB Extension, and confining my work to that repository instead of allowing myself to edit “vendor” files.
#tsn9 & Material Design Components
The main driver of the updated design concept was to treat Forums like Directories & their Topics like email threads. Then to cleanup the layout of the old-style forums to be cleaner and more representative of single-threaded communications: basically, emails.
Usually when I redo the website, there is an educational factor behind it all. Last time was tsn8 and I had just learned about front-end frameworks and the responsive design / grid system. I barely knew what I was even looking at when I did it, and was especially surprised to see that phpBB had anything at all for responsive design, since that didn’t exist until then.
This time around, it’s a double-whammy learning curve. I’ve got the responsive stuff, and I’ve got (at least a super basic understanding of) design principles… so this time I’m learning to use the Material Design Component library for Web, and going deeper into whatever it is phpBB wants developers to do for their extensions.
It’ll be far easier than building an “API Theme” as I originally started out doing, with the intent to put a front-end layer on top of that. For this, I’ll focus only on rebuilding the templates that make tsn unique, and then I’ll move to reworking everything else that is left in proSilver.
[[Oracle]] & #tsn9
The last bit of project that I’d like to work into the decade is a deeper integration of the [[Oracle]] Assistant and the #tsn9 forums.
This idea is a little more fluid at this time, since the Assistant is still largely undefined. However, there are a couple ideas that I come across randomly which have broad third-party support or libraries that would make better sense if they were consolidated into the same bot.
Some examples:
- Asking [[Oracle]] if there is anything new to see on the site
- Getting a notification for Private Messages, or mentions
- Sharing outbound from the site…or maybe inbound to the site.
- [[Oracle]] as a pass-through from some chat service to the forums
- Better forum search functionality with questions to [[Oracle]]
I’m open to any other ideas for what forum users would like to do, or even what you may wish some social media platforms would let you do. Leave those in the comments if you have some.