root log: June 2017 (log)

I wanted to give a quick technicals update for mid-June here and talk about where we are, and what is going to be going on in the next couple of months

Support info

First off, I want to state that the preferred backup support channel is email or posting in the Facebook group. If you have having an issue with your account or if the page isn't loading, then raising me via one of those channels is best. Facebook is often quickest, but I understand not wanting to make an account there if you don't already have one. Email is the second-best option with mail to accounthelp@everything2.com going right to me as well

TLS update

Looking back a bit https/TLS is going quite well. After some advice, we've stabilized how we are doing it, and it's now being handled by the Amazon load balancers, and the site remains snappy and performant. The previous implementation was killing some of our spam and DDoS prevention mechanisms so those are re-enabled and strong again. I haven't heard much in the way of technical problems with site access, so we're going to chalk that up to success. Additionally, Google has started to unpenalize our pages because of it and overall organic traffic is robust and the site is healthy from a technical and a financial perspective.

Recent developments

I've been making hundreds of small changes on the site that I haven't bothered to announce because they don't impact material operations day to day. Some people have noticed a few of those changes, such as certain legacy nodelets going away, and older features such as the "printable display" link leaving the node display. That last feature is because you can just hit print, and it largely does the right thing. If there's a use case that I'm not considering, let me know and I can restore or modify our current cases.

One thing that I want to make people aware of is that increase in Server Errors that you might see around the site. This is not because I've broken anything (though that isn't off the table), but is largely because architectural changes in the engine are simply no longer burying the errors. This is fine, and if you see something, please raise it to me and I'll squash it relatively quickly. I'm going to put something in that will help us find and squash those errors and warnings, as I'll talk about a bit lower in future developments

Additionally, the front page algorithm has changed so that links rotate randomly among the best few nodes every five minutes or so. Enjoy your time in the sun!

API development has slowed immensely because consumption of some of the initial APIs is the next point, and that will make it clear where to guide the next set of improvements. It's all still underway, but I've been focusing in on main engine routing code and getting code out of the database.

More code is out of the database, specifically htmlpages. For those of you in edev or with a sense of how the site works under the covers, all of the code that powered the Controller/View hybrid known as htmlpages are out of the system and are in a perl module that emulates Everything::HTML. The code that is left in the database is the "pages" set: superdocs (such as Log In, Sign Up, or Message Inbox, and their cousins edevsuperdoc,fullpage,restricted_superdoc, etc. These contain various site utilities and with the launch of the new Page system in HTMLRouter, we can start to pull those out as well. This will allow me to modernize the site doc by doc is the last piece of code needed to do so.

Upcoming developments

User interface development

With the above HTMLRouter.pm adjustments complete so that I can atomically ship fullpage nodes, I'm ready to start the new user interface feedback cycle. There's nothing public yet, but over the next few months we'll be doing up wireframes and prototype displays to get feedback around the new look and feel. It's going to be mobile-first, responsive, and modern and clean looking. At least that's the hope. If folks have any development experience or would like to be involved in the UI planning, please message me, and we'll get a group going. There's plenty to do here. I only have a limited number of devices so people helping to test or give feedback is quite useful, even if you aren't particularly technical.

Automated error reporting

As more code comes out of the database and modernizes into Pages and templates, then we're going to need a system to automatically collate and notify me on the errors and warnings that exist. This includes raising me if I've pushed code that increases the error rate above some known threshold. This will be helpful for all future development, and I've spent a couple of weeks trying to kill the top several hundred errors and warnings that were clogging up the logs. There's a lot to do in order to make that prospect less noisy, but the less junk we write to the logs the faster the site will be and the more meaningful new warnings or errors will be. Spiritually, we are paying down the technical debt of having 15+ years of coding with no insight into warnings, performance data, or access to server deployment code.

The Business

From a business perspective, the mobile readability of the site is the largest inhibitor to growth, so continuing to work on that is next milestone to hit to bring the site up to a modern and competitive level. Once that's done, we'll have a discussion about how to showcase existing stuff and develop new types of content, and how we can plan on engaging in user acquisition activities. At the current rate of development, the UI is going to take a few months to nail, but we'll have plenty to show for it along the way.

Lastly, from a site viability perspective, we are financially strong enough to last for another few years without making another penny. I've been asked that a lot privately, but we're doing fine there and have the advertising revenue parts strongly operationalized and low-touch.

If people have any questions or would like to help out with the new UI effort, drop me a /msg
-Jay