Clone this wiki locally
I’ve started development on a new version of Web Platform Daily (WPD). Here are some details on that.
More content, curated lists, and other useful features
The main content of WPD are daily issues which consist of around 6 entries. These entries will now contain more content: a title and a body consisting of one or more paragraphs and optionally other embedded content (code blocks, screenshots, etc.).
Curated lists will be the main new feature for supporters. Think of it as a high-level counterpart of the (existing) search feature. A curated list displays selected entries from past issues on some topic, in reverse chronological order. For instance, if an issue contained an entry on “persistent storage”, below that entry would be a link to the curated list about that topic, which I would manually compose and maintain. (I am fairly confident that I can automate this process to a high degree.)
There will also be a “Read next” column which will suggest past issues based on the user’s reading history (stored in
localStorage), and I will also try to expose the search feature inside entries (in cases where a curated list would be overkill).
I’m planning a “sixth issue” which will contain stuff that doesn’t fit the WPD format. It will be non-formal (i.e. my thoughts) and relatively short, and like with WPD itself, I will aim to provide unique and useful content.
A presentation optimized for “conversions”
The goal of the new site is to get 500 supporters, so I’ll make sure that the new design communicates the site’s reader-supported nature clearly (in a non-obtrusive way, of course). I’ll also replace PayPal with a payment service that offers a variety of payment methods. After launch, I will focus on promotion, but more on that in a future update.
Based on new code and tools
The old code wasn’t very maintainable to put it mildly (a case of jQuery spaghetti code), so I’m starting from scratch. I need a framework to provide structure to my code. I’ll also use ES modules (
export syntax) and async functions (
await syntax) to improve code readability. All in all, there are a bunch of new tools, APIs, syntaxes, etc. that I’ll use for the first time: Webpack, Babel, ES6, Preact with JSX, Sass, SVG icons.
One of the aspects that I need to focus on during this rewrite is automation. Ideally, running a
publish command should generate the issue, update any affected curated list, and update the email list on Mailchimp and schedule the daily email. I would also like to automate the emails sent to supporters. The more I can automate, the more time (and energy) I have to create content for the site, so it’s worth spending time to optimize this.
Over the last several weeks, I have written a design document for the new website, familiarized myself with the React/Preact frameworks, and created a setup for working on the new site based on Webpack. Note that I’m not an practicing web developer — my job consists of creating and publishing (hopefully great) content — so these preparatory tasks have been quite challenging for me.
I have since started working on the site itself, and thanks to the new tools, the codebase is organized much better now, which will allow me to develop at a fast pace. I originally planned to resume publishing on January 16, but that seems impossible now. I will have more information in the next update.
Supporters will be refunded for January
At the end of January, after the new site launches, the ~120 active supporters will be refunded for the month of January. I need to focus on the job and cannot worry about my supporters right now, so I thought I’d just give the money back to have peace of mind.
The importance of the new site
I’ve already outlined my goal in the previous update and I don’t want to bore you with the details, but the gist is that the site absolutely cannot launch before I’ve completed all the tasks defined in the design document — there is no deadline this time. I will have little wiggle room after launch, and if the new site can’t reach its goal, I might as well throw in the towel. That being said, I am confident that after I resume publishing, the new content will be significantly better, so I’m already looking forward to that.
I will perform a test run via a closed beta (for active supporters) starting in the week of February 27th. (I need to test the new content format and server code.)