Update: Tools For Authors & Translators, and Poll about Support (at very bottom)

If you missed my last post Here: Tools for Authors and Translators under development I discussed some WordPress development I started. Namely, a widget I have written that allows for automatic page-navigation link creation in stories and a plugin that allows for bulk page creation.

In this post, I give an update on the plugin and widget I’m working on, give some other ideas that I am thinking about, and host a poll asking what level of support for development others would be interested in providing.

Some Background and Update:

If you missed my last post Here: Tools for Authors and Translators under development I discussed some WordPress development I started. Namely, a widget I have written that allows for automatic page-navigation link creation in stories and a plugin that allows for bulk page creation.

In case someone doesn’t realize -why- I worked on these. It was because I wrote explaining-why-font-and-background-color-choices-matter and some people felt that my post wasn’t as “useful” as it could have been because I didn’t cover edge cases and I didn’t really ‘explain’ why text vs background colors are important. I agreed with ‘half’ of that opinion… I could have been more ‘constructive’ but I honestly just typed it up real quick after finding a story I wanted to read that I felt was harmed by the poor color choices for text/background… And that lead me to just ‘assume’ that my somewhat snarky/quick post would be sufficient.

I had been thinking about and experimenting on my own developing the widget before the background/font post and had no intentions of distributing the widget when I got it working. Mainly, because I just hadn’t thought about it one way or the other. However, after thinking about it, I thought that I’d be better off just publishing the code on github.

So Here is my github repo where I’ll be publishing my code https://github.com/mawalker/wordpress-content . The repo is empty right now since I’m still not ready to publish even a pre 1.0 version of the code. But it will be where I publish the code… in addition to WordPress’s built in Plugin Directory where I’ll be posting my plugins, widgets (widgets are special ‘plugins’ in WordPress terminology), and even themes (More on this later in the post.)

So I’m -almost- ready to publish 1.0 version of my bulk page creator plugin. But I’m not at all happy with the page-nav-links widget right now.

I have updated the menu slightly to allow for some more customization:(allowing toggling of ‘space’ before&after separator character in Title) 

I’m still not ‘entirely happy’ with format for how to enter the info on how to create volume data.

The [ 1:1->24,2:1->30,3:1->23,4:1->49 ] being the format to tell the generator to create:    Vol 1 – Ch 1 -> 24    and  Vol 2 – Ch 1-> 30, etc…  Is by no means ‘great’ (It works, and will be what I stick with for now, but I’m thinking up other possible formats)

The reason I am not publishing the plugin right now, is because I want both the plugin and the widget to work together… and the widget right now only works when there is no volumes (if you look at the screen shot below you see there isn’t even any mention of ‘volume’ at all)


Rationale behind design decisions and reason for delay

Therefore, I’m thinking of possibly staying with the [  1:1->24,2:1->30,3:1->23,4:1->49 ] Format for creating pages for now, because it has a couple advantages that aren’t instantly recognizable.

  1. The format -is- relatively straightforward, and actually would allow for extension beyond the current format. (This section )
    1. Can allow ‘extra’ pages to be inserted easily. These ‘extra’ pages could be ‘bestiaries’, ‘stat pages’, ‘dictionary of terms’ etc.
    2. They can easily be inserted into the current format such as:  1:1->24->’Volume 1 bestiary’,2:1->30->’Volume 2 bestiary’->’Vol 2 Stat Page’, … etc.
    3. Would allow others to extend it (add options/features) via making contributions to my code or copying my code (called ‘forking’ in programming circles) and working on their own version.
  2. The auto-nav-link-widget would be able to share the same format. (This section helps both me(the developer) by not having to think up two formats..which helps create less bugs/less code/faster execution… and it helps the those who use either one of the plugin/widget by making it easier for them to move to using the other if they want with minimal learning curve.)
    1. This would allow a shared library of code for both.
    2. Shared library cuts down on total lines-of-code (a metric for tracking projects)
    3. Lower lines-of-code means easier to manage (less bugs) in the code.
  3. Would be able to create ‘global settings’ in WordPress via the Settings API of WordPress  (This section mainly helps those who use both the widget and the plugin together to help them save time)
    1. These settings would be created via the bulk-page-creator-plugin
    2. customized in widget’s settings page
    3. This would work to reduce workload of the person managing the WordPress installation/configuration (This actually takes a lot of time if you aren’t familiar with it)

Themes and adding widget areas

I now want to talk about the ‘themes’ I’d been discussing above. I already have 2 ‘themes’ I’ve made (they also aren’t ready to be released publicly). But, As my previous posts have stated… I am -NOT- ‘artsy’ so… the idea of me releasing themes might seem counter-intuitive… However, the reason I worked at all on any ‘theme-ing’ is because I found the default themes lacking in customization options.

Namely, the default ‘WordPress Themes’ (TwentyTwelve, TwentyFourteen, TwentySixteen, etc.)  and others all seem to be lacking compared to where I would want ‘sidebars’ to be. Note that ‘sidebar’ is a generic term and realistically only means ‘place where you can put widgets’

TwentySixteen Theme has 1 sidebar and 2 ‘content bottom’ sidebar locations

TwentySixteen Theme has 1 sidebar and 2 ‘content bottom’ sidebar locations WITH 2 ‘content top’ sidebars

The ‘ONLY’ thing my ‘theme’ (I honestly am a little reluctant to call it that… since honestly It has no additional features other than 2 additional widget locations) Which you can see the difference right here (‘Content Top 1’ is above the title, ‘Content Top 2’ is below the title & above the ‘text area’, and ‘Content Bottom 1’ is below the ‘text area’ (I didn’t include ‘Content Bottom 2’ but that ‘could’ be done))…

Twenty Sixteen Custom default Theme example with no ‘top’ ‘sidebar'(s)

Twenty Sixteen Custom Child-Theme example with 2 ‘top’ ‘sidebar’ widget locations.

Plugin, Widget, Theme, etc. Ideas I have:

However, as much as I enjoy working on OSS (Open Source Software) I don’t have the time to invest on this code like I would want to. Therefore, I figured I’d ask people to see if they would be interested in supporting me doing support like this (on these plugins and themes I’ve described, and depending on the level of support, continuing on to work on plugins that I have ideas for…)

Potential Plugin/Widget/Theme Ideas I have:

  • A plugin that would allow for automatic creation of epub and pdf files for stories. Either based on Volume, Arc, or possibly just ’20 chapters’ , etc. There are browser plugins that people can use to do this automatically, but in my opinion the ones I’ve tried out suck, and require a fair amount of understanding of the internal epub formatting and good tools to 1) allow you to either combine individual chapters together 2) insert pictures properly (so far the browser plugins I’ve found all suck at this) 3) auto-remove the nav-links/etc. from HTTP pages that make no sense in an epub/pdf (epub/pdf have their own table of contents format/etc.) 4) properly create table of contents, and possibly links/or ‘something’ for ‘bio’ or ‘definition’ of key words/names/places/etc. (more on this below for use while still in WordPress)
  • A plugin (backend only) that would make a post to a SubReddit(s) on Reddit when a page is published. (I have done the investigation and there is a premium plugin that does this already, but mine would be free & open source) I have looked into it a -little bit- and it could be done, and what I’m envisioning is a custom settings page that allows the author/translator to first enter the Reddit account info(most likely of a secondary reddit account) then a separate settings page where they could select via a drop down box each ‘story’ (in my example it would be PMA and Mad Jack-) based on the ‘parent page’ of each story. Then it would have a couple text fields where 1) the format rules for the /r/ post ‘TITLE’ would be and 2) the text that would go where the ‘TEXT’ on a Reddit submission is. (This would be a one time setup for each Story, and then whenever a page is published (I’ll have to think of something to do for ‘teaser’ pages, but not that hard, could make it a non-automatic button that shows up after a page is published, etc.) The WordPress installation would then read the secret info that would allow WordPress to make posts to reddit, and then the post in the desired SubReddit(s) would be automatically made.)
  • A collection of themes that extend themes already existing. (The WordPress official ones to start 2010->2016) and then others that enabled extension.
  • Potentially customize themes on demand based on suggestions/requests
  • A theme + plugin combo that would allow for words to auto-hinted. So for example… Power level names(Especially for series … Battle Through The Heavens.. where it is hard to remember), Character Names, So that a short non-spoiler bio shows up when you hover (computer), tap(mobile) the name(This would take -a-lot- of work to make it non-spoiler but also up to date for each chapter… This is more of a ‘pie-in-the-sky’ idea, but -is- possible… just would take a LOT of effort to write and then a lot of effort to enter the info in the popups.
  • A wiki-like system that would allow collaborative effort by non-site staff for WIKI pages for stories, for the ‘short bio'(s) from the idea above, and for submission of ‘typo’/inconsistencies (more useful for original authors, but still)
  • A plugin (backend only) that would allow site staff to replace words in previous pages with new versions. (This would be useful when translating and realizing later (with new info) that a previously translated word was incorrect. This way new readers get the ‘right’ term from the start. (A short notification at the top of each page where a substitution occurred would assist in people ‘in the middle’ of reading… Possibly other solutions, such as the above idea of having hover-over and tap-to-click popups on certain words would work too)
  • A plugin/theme/widget combo…or something… that would allow a (spoiler free) timeline to be built and linked to each chapter, that way 1) someone can figure out where they were ‘up to’ if they want to re-start reading a story. 2) someone can ‘get a grasp’ of a story they stopped reading, but want to know the ‘general’ ending. (if they select final chapter in the timeline) 3) Would be ‘neat’ to see 😉 lol
  • I have a couple more ideas… that I don’t want to spoil right now, because they actually relate to someone I know’s PhD topic, and I’m going to see if she would be interested in researching them. (These ideas are even more complex than the ones above, so I don’t want to give people too much hope (in case 1) it can’t be done… which is possible 2) it can’t be done easily with just ‘spare time’ from grad students (this is actually very likely 3) it can’t be done without legal authorization from original authors (This is very likely because we would probably have to seek University Review Board approval before we could work on this project publicly) 4) We would need to gain research subject approval from those contributing. (This is a 100% guarantee, and I don’t want to scare off Translators, Editors, or Reader -_- (Because we’d want to publish our research results from these ideas (Computer Science ‘research’ like what I’m thinking is actually being done on all of you who have accounts on Facebook, OKCupid, Google, MSN, etc. (You agree to this in the Terms of Service, so its not really a big deal, but would require the University’s lawyers to write up the ToS for us))))) (yes, I know I use Parenthesis too much, lol)


Therefore, I have created the poll below, that asks if people would be interested in supporting the development of plugins, widgets, themes, etc. like the ones described above official source. The more support that can be raised directly leads to more time spent on development. (If by some miracle (Which I DO NOT EXPECT) that enough support can be raised to allow me to take the summer semester off and concentrate on this development… I would do that. If there is no support, these ideas will probably take over years to be completed… but if there is limited support, then I can justify to myself spending a limited amount of time on this project.

(Also, if there is more support than I can give personally (meaning… if my own time is too limited, and the support doesn’t allow me to fully take time off from school) Then, I can contract out parts of the work to quality undergraduates or other grad students I know who would work under my direction (I have several years of managerial experience, so this would actually be fine.) I don’t intend to go this route(mainly because I don’t want to complicate things), but I ‘can’ if support out-strips my availability. (Or good heavens… if the amount of support is actually above what I would need to take the summer off, and would actually be enough to hire someone to help me) Plus the code will be Open Source under the GPLv2 license (the same as WordPress), meaning that if I suddenly die, get kidnapped by aliens, or whatever… someone else would be able to pickup where I left off easily, no problem.

You can select multiple choices. (This is an anonymous poll ,and all answers are hidden publicly, so feel free to answer how you really feel.) None of this lists what ‘patreon packages’ I would provide to those who support via patreon (I have no idea right now, but if people want to go that route… I’m thinking access to a private patreon-only forum, access to scheduled google hangouts(or some other similar tech), alpha/beta tester access to new plugins/features/etc, and others.)