State of the Labs

SingularLabs has been struggling lately. Other projects and commitments have consumed most of my productive time over the last two years, and SingularLabs has languished as a result. In June we had our lowest ever monthly traffic at 68,000 pageviews. To put that in perspective, in June of 2014 we did 68,000 pageviews in the month’s first three days.

There’s three immediately identifiable reasons for this decline:

1. As mentioned previously, there’s been a significant reduction in the number of hours of development effort spent on SingularLabs products in any given week.

2: One of SingularLabs’ most popular products, JavaRa, has been rendered obsolete by improvements Oracle have made in the distribution and updating mechanisms of the Java Runtime Environment.

3: Usage of desktop computers, and particularly desktop computers running Windows and therefore able to use our products, is continuing to decline.

The keen observer may have noticed a sharp increase in activity at SingularLabs in the past month as significant “course correction” efforts have been made.

We shipped a new product that’s been in development for a while—the charming and useful Bzzt! Image Editor, a bulk image resize/rotate/compress/convert app that’s loosely based on the now-deceased Teeny Tokyo by John Saddington. Two betas and a stable version have been released, with an update and some exclusive features for our Pro Club members coming in the next few months. So far, it’s got just under 1,000 users and has been translated into three (I think?) languages.

A number of our other software titles have also been updated in the past few weeks. Windows 10 compatibility—both functionally and in terms of design—have been major factors necessitating these releases. Shipping new or updated localizations and cross-porting improvements to our underlying localization-handling architecture have also been a focus in July and August.

Finally, we’ve been making some design improvements to our website to help improve our marketing efforts. We’ve added a more traditional blog which we hope to use to increase the amount of content we’re sharing and (hopefully) in turn increase our engagement on social media. Similarly, we’ve made our email subscription signup form much more prominent and have increased our email marketing efforts.

I’m hopeful that this renewed focus and energy, ultimately culminating in better products for our users, will help SingularLabs to recover and eventually grow stronger than ever before.

The state of the Labs is strong. Well, strong-ish.

One World Trade Center, New York

I was only eight years old when the September 11 attacks happened. I was in a hotel room in Darwin, watching the live news coverage, with little understanding of the historical significance of what was happening.

Visiting One World Trade Center was an unusual experience. The building is unequivocally and gorgeous magnificent sight to behold as it triumphantly dominates its surroundings. But there is also solemnity lingering in the crowds in the plaza below. Groups speak in hushed voices and shiny eyes are everywhere, as though participating in a decades-long wake.

The elevators to the One World Observatory, floors 100-102, are a technological marvel—travelling 100 floors in under a minute. The elevator plays a visually stunning 3D animation of the tower’s construction and the 500-year evolution of the New York skyline on the way up. The CGI is quite remarkable.

The two fountains, each roughly an acre in size, sit in the footprint of the fallen towers. The names of the lives lost are inscribed on the fountains’ perimeter walls; on which white roses are placed on the victim’s name in celebration of their birthday. I found it impossible to read more than a few names without feeling a lump in my throat.

Hello again.

When I shut this blog down in 2015, there weren’t many people still reading. A few years prior there were tens of thousands of people reading each month; but gradually I ran out of things to say and they lost interest.

This time I don’t give a shit about building an audience or sticking to my niche. There’s no more grandiose design, no pompous about page or thousand-strong post archive detailing my every accomplishment — just a blank slate.

I might write every day. I might write every month. There’s also a non-zero chance that I’ll never write again. That’s all this is going to be: a nice place for me to write whatever I feel like, whenever I feel like it.

An image manipulation and compression app I’ve been working on.

After reading Jeff Atwood’s recent blog post on Zopfli optimization, I wanted to see how hard it would be to create a GUI to apply the compression algorithm to my PNG files.

The design is borrowed heavily from Teeny Tokyo. I don’t know whether I’ll ever release this thing, but if I do I’ll be sure to change the interface so John Saddington doesn’t punch me in the face.


The thing is actually completely functional – except for the image resizing stuff – and does reduce the filesize of PNG images considerably. Unfortunately the compression algorithm is horrendously slow, sometimes taking 15-20 seconds per file. Basically, the only way this ever sees a public release is if I can make it run considerably faster with some multithreading magic.

Atom Editor ‘Open With’ Assistant for Windows

Github’s Atom text editor is one of the best available. Unfortunately on Windows, there’s no easy way to set Atom as the default editor for specific file formats.

The issue was reported on Github and a viable workaround was devised, however the workaround has its own set of annoyances. Atom user bilderbuchi observes the following:

  • I got no way to select the Atom icon, I got an empty white rectangle.
  • It flickers the terminal for a split second, which interestingly does not happen when starting atom via the start menu. Annoying, but not vital.
  • It says “atom.cmd” in the relevant dialogs/menus, which is not exactly beautiful/elegant.
  • I can’t imagine a normal user to go through this dance to do this, compared to the experience in other editors like Notepad++.
  • I’ve created my own solution to this problem by adding an “intermediary” executable file that can easily be set as the default associated program for filetypes that then passes the file along to Atom. The most significant benefit of this method is that it correctly sets the file association icon.

    Simply install ‘Atom Editor OpenWith Assistant‘ and associate your code files with ‘C:\Program Files (x86)\Atom Editor OpenWith Assistant\Atom OpenWith Assistant.exe


    Files associated with the OpenWith Assistant will now display the above Atom icon designed by Tharique Azeez. The hastily written VB.NET code behind this program is available on Github.

    Display advertising is no longer a valid monetization strategy

    Producing great content and putting a few AdSense units into the sidebar was once a decent monetization strategy. Up until very recently, one could make a pretty decent amount of money with display advertising.

    Although the traffic on my blogs has grown in the last couple of years, the amount of revenue generated by AdSense has slowly declined. The is indicative of a wider industry trend, at least partially triggered by a massive increase in usage of adblocking tools such as AdBlock+.

    Performance_reports__Google_AdSense-800x342 2

    A recent report by PageFair claims that use of ad blockers has increased by 41% in the last year, with a total userbase exceeding 200,000,000 users and costing publishers an estimated 22 billion dollars of annual revenue.

    This isn’t another plea for people to disable their adblockers en masse so that we publishers like me can continue to rake in cash. The business model is obsolete, I get it. Years of creepy tracking, bandwidth intensive, intrusive and ugly ads has rightly pissed off a lot consumers and this is the expected outcome. Users don’t need to change their behaviour or inconvenience themselves to support the websites they love; the websites they love need to come up with better ways of making money.

    Though it’s incumbent upon publishers to change adapt their monetization strategies, users will inevitably need to accept that somebody must pay for the content they consume. Subscriptions, native advertising and pay-per-view microtransactions are going to grow prolifically as display advertising continued to decline. At least until someone comes up with a better solution.