The Interledger Foundation Community

Cover image for ProgNovel β€” Grant Report #1
Radhy for ProgNovel

Posted on

ProgNovel β€” Grant Report #1

Hello all πŸ™‹β€β™‚οΈπŸ™‹β€β™‚οΈπŸ™‹β€β™‚οΈ

It's finally time for me to submit my first Grant for the Web report. Before I'm diving in I'll be explaining what kind is my project Grant for the Web is funding, since officially this is the first post I made directly about Grant for the Web.

ProgNovel is a PWA project for webnovel that has been a working in progress even before I'm exposed to Web Monetization. The project came to be at first because I realized at some point, after trying to indie publishing my webnovel for a few years in many online platforms, that I wasn't suited for big platform publishing. ProgNovel came to be for an alternative for WordPress, since the 20 years old CMS, although good for general blogging, is inadequate in term of features and customisability when it comes to niche content form like webnovel, especially when indie publishers are in a pinch competing with big tech backed platforms and dozens of pirate aggregators.

Honestly the experience of ProgNovel development pre-Grant for the Web hasn't been a smooth sailing for me. I started ProgNovel as a developer cum webnovel author, which meant in case I got some kind 9-to-5 of jobs (which I don't sadly), I'll have be an adult and retire either as developer or webnovel author, or both. I guess this is also the reality for many young content creators and artists who aspire to live a dream life by having to work on something they love.

Despite financial struggle, though, I am still in need of resources like hardware refresh and some fund for daily expense. I was developing with VS Code on a 4GB ram of Windows 10 laptop, already at its limit even without opening Chrome for debugging. With budget around $5~$10 per month, my usual internet bandwidth was at 1GB/day, which is not enough for heavy internet user like me, and if I needed more I'd have to stay up midnight till morning for cheap internet bandwidth from my providers, which at some point I building up an habit of staying up the entire night and sometimes energized with 2~5 cups of cheap coffee in a single night (I wasn't even a coffee drinker before). Thinking it back since around 2017 or 2018 a day where I was getting my sleep at night was getting rarer and rarer. Then back a few months ago when waiting for grant funds to arrive, I participated in a bounty program started by another grantee Kendraio app was helping for my immediate financial situation, giving me room to purchase more internet bandwidth and better coffee for my daily coffee intake. Fast forwards a few months later, the GftW funds arrived in my bank account. That is when my life changed a lot. Now I'm developing my projects with more powerful setup, I'm using the fund to upgrade my old 4GB Windows 10 Laptop to a 8GB version of M1 Mac Mini, boosting up my productivity by lessening VS Code lags and other the development pains (up to 5x dev server startup and finally say to annoying lags when typing in VS Code!). In addition, I'm starting to slowly shake off my previously unhealthy habit of staying up late since I'm no longer in bind of midnight internet plans that I previously had to rely on (I still ended up getting addicted to coffee though).

Because many of experimental nature of ProgNovel I have struggled to gain support for the project. Around one or two years ago I went around offered for collaboration but came out with no satisfactory result. Most website owners either have their own in-house developers or would settle with established technologies and many not interested in modern web technique even though it might benefit them and their users. From what I'm seeing potential of a technology, case studies and researches are not enough to convince people to adopt new technologies - in this case I was once offered a WordPress website owner, whose website so slow it loads around 8 seconds here in Indonesia, to set him up a brand new, much faster JAMstack website without asking for a fee because I was their user for a long time; my offer for help was rejected. The reason I was rejected didn't have anything to do with the JAMstack technology. For them, it has to be a WordPress site because everyone else was using it - or rather, everyone else had success using it, and people tended to follow how other people succeed in doing something. I think this is also true for Web Monetization; a few conversations I had with strangers on the internet, I found people generally reluctant to adopt Web Monetization because ads and Patreon (or Kofi) already working for them (these are non developer folks I'm talking about so putting one line of meta tag for web monetization still not a trivial matter for people).

Fortunately, though, for Web Monetization, most people tended to show "wait-and-see" attitude and didn't completely rejected the idea of having alternative source of revenue after knowing the possibility of more open and fair payments than ads or third-party patron platforms, and some of them also got excited knowing the possibility of more novel business scheme like revshare and affiliate link made easy with Web Monetization. I'm hoping this was the case for my experimental projects too like ProgNovel.


ProgNovel uses CLI based content generation:ProgNovel CLI

The screenshot of the site ( ProgNovel
Web Monetization subscription call-to-action screenshot:Web Monetization 1
Color themes unlocked after Web Monetization subscription:Themes unlocked
Premium content locked UI:Premium content
Revenue share in action:Revenue share

How to use ProgNovel's instant affiliate link:

My new development set up:Dev setup
Testing on Android TV (perhaps add options for content creators to host videos too in the future?):ProgNovel on Android TV

Project Update

In here, Grant for the Web budget helps tremendously. I was finally able to refresh my hardware for development and developing ProgNovel wasn't as painfully slow as it used to, even allowing me to works on multiple projects at the same time. Latest iteration of Webfunding.js is only possible because I simultaneously develop Webfunding.js and tested it on ProgNovel for instant feedback loops. Without it, I probably would settle with the old Webfunding.js syntax because I'd spend my time developing with frustration of coding with lags instead of getting inspired.

In addition, there are some future plans that I previously mentioned in second chance proposal, that some ended up derailed from my original plan. This is because 1) hosting platforms that ProgNovel is optimized for is getting better, so some experimental tech like IPFS and Ceramic network I'd like to explore are being put on hold, 2) they're not part of GftW six-months roadmap so there's really nothing important feature getting dropped from the roadmap 3) other side project like Webfunding.js turned out works better with ProgNovel than I originally expected and I planned to focus on this instead.

Overall, basic UI for Web Monetization and relevant features in ProgNovel have been put into their places, with only polishing, picking up delayed roadmap I had pre-GftW duration, and planning out distribution for production release at the end of six-months GftW duration.

Progress on objectives

On the GftW roadmap doesn't have much significant hiccup during the development. There's a budget relocation during on hardware budgeting which is expected since I wouldn't have set on hardware I'd like to use since computers and laptops lining ups would change a lot between the time I wrote my proposal and the time I actually got the grant fund. I also settled the schedules with my contractor and agreed that their works will start at early October (this already delayed due to Covid), creating videos for marketing and explainer purpose for the rest of the grant duration--which means, promotional videos are in progress.

The documentation of ProgNovel is in progress since I plan to hold back writing documentation for features that yet I deem stable (or might get refactored during the development). Documentation on features outlined in GftW proposal however, like revshare and affiliate marketing, has been online, though isn't practical right now since ProgNovel hasn't been go into production yet and the documentation might get a rewrite once I settle on the flow of how ProgNovel is going to be used by users. (they're here:

Speaking of revshare and affiliate marketing, these features turned out quite well considered that it can be reused by others through open-source Webfunding.js library. I was kinda like how Webfunding.js turning out with chainable Web Monetization class that currently I'm experimenting with, since it would be straightforward if I'm (or other dev) wished to extend the feature beyond revshare and affiliate marketing; as an example of this, a few days since I wrote my recent post about Webfunding.js, I extend it with a useful utility function called .setBiasGroup() which allows payment pointer addresses to be separate into groups and their own rates.

Webfunding.js set bias group

With this Webfunding.js one-line utility function, I'm able to change how groups of payment pointers interact when picking up winner payment address when calculating the revshare pool. This allows me to manage rates of payment pointers by groups in ProgNovel, as seen on website staff against payment pointers from novel authors and contributors.

Beyond that, the developments of Web Monetization features of ProgNovel (chapter locks, affiliate marketing, etc) has been delivered in the latest iteration of ProgNovel. In month 4 I plan to release Web Component plugins based on ProgNovel but later I reckon focusing on Webfunding.js might be more helpful to the community in general than the plugins I previously planned on.

Key activities

There's not much of key activities to be listed here since this funded project meant for solo development, if I am to be honest, mostly involving tinkering through ProgNovel codebases in VS Code, consuming articles and tech-related youtube videos I subscribed for knowledge refresh and inspiration. Every two or three days I opened this community space to see if there's a notification for me, checking out for what others are doing with GftW projects.

Aside from that, I'm also occasionally cross-check how well the site perform in different browsers and devices. With this I found there are few UI bugs in Safari and some features are unavailable when browsing ProgNovel on Android TV web browsers.

Communications and marketing

There's not much marketing reach needed for this project since mostly during the six months of GftW funded duration spent on developing the codebase. However, I do post a few of community space posts like this and this. There are also two pre-GftW funded duration of community space posts that I published for the introduction of ProgNovel.

I'm also waiting for my contractors to finish marketing videos for ProgNovel, which (should be) begin the video production somewhere around early October.

What’s next?

As for the short term goal is for me to finalized UI and user flow for instant affiliate link feature--and while at it, preparing a more stable design of Webfunding.js to include the said feature for open source and public use after ProgNovel's grant funded duration completed. This month goal also is where documentation see more update since many of Web Monetization-related features of ProgNovel have become more stable.

What community support would benefit your project?

Please visit a few of my discussion threads and share your thoughts on the discussed topics. It won't take much of your time to share your opinions but we all will benefits from more voices as we can inspire each other with our own point of view and ideas.

Additional comments

For now there's no additional comment for me to share.

Relevant links/resources (optional)

ProgNovel demo site
Learn how Web Monetization works in ProgNovel


please visit my discussion threads:

ProgNovel introduction:

Discussion (2)

erikad profile image

Thanks for this very comprehensive update, Radhy!

radhyr profile image
Radhy Author

Yup you're welcome. I'm also appreaciate you leaving a comment here Erika! πŸ™