A Blogging Milestone

12,000 page views in 365 days

Published on 04 September 2020


Today my blog hit a minor milestone: over 12,000 page views in the last 365 days. That's over two-thousand page views a month! While a long way short of other notable tech bloggers (yes, I'm looking at you Hanselman), I think it's a pretty decent number, particularly when considering the somewhat limited audience for my very targeted content. In this post I provide insights into my "Top 20" posts and my plans for the coming months.

Top 20

Posts By Weighted Page View

While looking over the blog statistics for the past year, I was very interested to understand which were my "top" posts. Initially I thought total page views for each post would be a good metric but, given older posts will naturally have more hits, I decided to weight total page views by publication date. This gave me the following:

Weighted Posts

In this chart the outer ring is the Top 20 blog posts based on weighted total page views and the inner ring is the same 20 blog posts based on actual total page views.

The Top 20 are as follows:

Post Weighted Views Total Views
On the incredible value proposition of .NET & the Uno Platform 152.19 739
Less ReST, more Hot Chocolate 112.25 1741
Running UWP on Linux With Uno 100.57 445
Running UWP on a Raspberry Pi Using Uno Platform 88.17 348
State-of-the-art ML in UWP 87.87 299
Building .NET Core 3.0 With Azure Pipelines 62.03 1138
Cross-Platform Real-Time Communication with Uno & SignalR 56.38 401
The Seven GUIs of Christmas 53.81 1028
Augmenting the .NET Core 3.0 Generic Host 47.2 806
Many platforms, one world - Part 4 31.36 340
Light-weight run-time composition for the .NET Core 3.0 Generic Host 28.24 488
Uno WebAssembly Containerization 25.47 220
Network Booting Many Raspberry Pis 22.61 355
Many platforms, one world - Part 1 19.54 230
Many platforms, one world - Part 3 12.12 138
Reactive State Machines 11.83 442
Giving Uno Some Swagger 11.63 105
Using a Hyperlink in MVVM 11.44 440
Many platforms, one world - Part 2 10.69 124
A Kata for Katas 10.47 98

This Top 20 by weighted total page views accounts for almost 90% of the page views this year and, interestingly, aligns pretty well with my (hypothetical) favourite blog post list.

Posts By Weighted Engagement

Next I was interested to see if there was a close correlation between page views and "engagement". In this instance I deemed engagement to be based on the average time spent reading a given page but, given readers will naturally take longer to read lengthier posts, I weighted time spent on the page by word count (excluding posts with less than 500 words). Here's what I ended up with:

Post Word Count Average Reading Time Weighted Engagement
Home Network Monitoring - Part III 849 00:08:08 16748
Reactive ReadModels 1069 00:09:02 16577
The absolute easiest way to use SVG icons in UWP apps 663 00:05:59 13942
Dart web development with Visual Studio Code 1538 00:07:25 11347
Nano2Docker 1870 00:07:33 10476
Tech Adventures in Sustainability 1364 00:05:54 9585
A Kata for Katas 1979 00:07:05 9554
Home Network Monitoring - Part II 1384 00:05:19 8575
A SmartHome... NoT - Part II 1883 00:05:52 8112
CQRS/ES & MVVM using RX, EF & SQL in UWP & PCL 1081 00:04:24 8030
Using A Touch Overlay, In Portrait, On Raspbian Buster 620 00:03:16 7872
Fluent Namespacing 1165 00:04:14 7442
Reactive Behaviors 926 00:03:43 7328
Running UWP on a Raspberry Pi Using Uno Platform 1808 00:04:56 6961
Many platforms, one world - Part 1 2037 00:05:05 6769
Combining the UWP SpeechSynthesizer and AudioGraph APIs 965 00:03:21 6470
Home Network Monitoring - Part I 2183 00:04:58 6378
A SmartHome... NoT - Part I 2187 00:04:21 5581

Interestingly this bares little resemblance to the "Top 20 Posts By Weighted Page View" and contains many of my older posts. My guess here is that these are posts that people have come across these posts by actively searching for related keywords. As such, they're likely to have spent longer reading the page in more depth or interactively following steps therein as they're related to what they were searching for. In contrast to this, I imagine a large number of posts in the "Top 20 Posts By Weighted Page View" list are encountered via social media (Twitter) or news aggregator (The Morning Brew, Dotnet Kicks, Dew Drop, etc) and, as such, are read out of idle curiosity rather than specific interest which might explain the lower "engagement".

Tags By Total Time

Lastly I was interested to see just how much of the internet's time I've occupied with my myriad ramblings. The chart below shows the total time the internet has spent reading articles on my blog by tag (calculated as average time on page * total views):

Tags By Total Time

Somewhat amazingly, over 6 person-days (!!!) has been spent reading articles on my blog about XAML and over 5 person-days reading articles about Uno Platform. That's pretty cool - although I very much hope this time has helped developers achieve goals rather than just killing time at work.

Anyway, here's the full Top 20 (apologies if some of the tag links don't work, I've been a bit inconsistent with casing):

Tag Total Views Average Time On Page Total Time On Page
xaml 3018 00:03:04.4648148 6.00:27:37
uwp 3784 00:02:18.4156249 5.20:28:43
uno platform 4271 00:02:05.8527777 5.13:24:03
.net core 6184 00:01:36.6097803 4.10:16:13
android 2414 00:02:01.3119047 3.00:51:41
raspberry pi 1263 00:02:18.9000000 2.13:32:44
mvvm 440 00:07:32 2.07:14:40
rx 684 00:03:11.2500000 2.05:01:45
ios 1233 00:02:16.9366666 1.23:31:10
reactive 522 00:02:45 1.21:19:07
patterns 481 00:03:57.6666666 1.17:36:22
state machines 442 00:05:24 1.15:46:48
linux 793 00:02:57.9000000 1.12:00:19
rest 1852 00:01:28.7192982 1.10:04:10
nswag 1846 00:02:02.5789473 1.10:02:04
surface 832 00:02:12.0208333 1.06:04:33
graphql 1741 00:00:59.1578947 1.04:36:34
dual 492 00:02:43.2500000 1.02:27:20
gui 1181 00:01:22.2500000 1.01:20:31
webassembly 726 00:02:06.6166666 1.01:08:42

Still Being Brave

Just under a year ago I wrote "Be Brave. Like BAT, man!" about my transition to using the Brave browser and signing up to the Brave Rewards Creators Program. I'm pleased to say that I'm still using Brave as my default browser on Android (additional browser on PC) and have yet to find a website that didn't work correctly (or at least no worse than Chrome) despite having lots of ads/trackers blocked.

Furthermore the Brave Rewards Creators Program has proven to be relatively lucrative. Here's my current Uphold wallet:


While earnings of £50 (it was actually > £60 just a few days back) certainly aren't going to see me retire any time soon, it's still a decent amount for doing nothing. Indeed, I'd have written these blog posts anyway so any earnings from them are a bonus. Moreover, it's got me into the "crypto game" - effectively for free - and I'm very much enjoying speculating on relative rise and fall of BAT and BTC using just my Brave Rewards earnings.

Should you be a privacy conscious person - and you really ought to be - then I'd definitely recommend dumping Chrome ASAP and moving to a browser not created by a company that makes most of it's money from selling data about you. Firefox is a great choice for PC, especially with their Multi-Account Container extension. On mobile though I would definitely recommend Brave due to it's additional privacy features which save you time and money.

If you'd like to try Brave browser, then please use my referral link here as it'll net me a few additional BAT.

The Future

Writing this blog has been - and continues to be - a fantastic experience. Not only has it put me in contact with loads of brilliant people but it has also fundamentally improved my understanding of many of the technologies I've written about. Or, to quote one of my personal heroes:

Moving forwards my hope is to publish at least a couple of new posts each month. I've got loads of interesting projects afoot which should afford me the opportunity to expand on some of the technologies I've already covered (i.e. Uno platform, ML, etc) and a whole new bunch of technologies I'm currently interested in (Azure AD B2C Authentication and RDF stores/ SparQL queries to name just a couple). I'm also considering migrating my blog from Wyam to Statiq (both written by the amazing Dave Glick) and will certainly write about the migration if/when it happens.


... a huge thank-you to my readers! I sincerely hope you've all enjoyed reading my blog as much as I've enjoyed writing it. If there's something in particular you'd like me to write about (either expanding on a previous post or something new you feel I might be interested in) then just drop me a line using the links below or from my about page; I'm always happy to make new acquaintances and always interested in new collaborations.