CreativeApplications.Net is currently running an experimental mode for non-logged in users/non-members to explore alternative to ad-driven revenue by trading visitors’ CPU for an ad-free environment.

Using the service Coinhive, and inspired by Mario’s tweet, we have incorporated a JavaScript miner for the Monero Blockchain that is embed in our website when the users are logged-out. You, the visitor are currently running the miner directly in your Browser and mining XMR cryptocurrency for us in turn for an ad-free experience.

To mine Monero, we have to calculate hashes with an algorithm called Cryptonight. This algorithm is very compute heavy and – while overall pretty slow – was designed to run well on consumer CPUs. There are solutions to run the Cryptonight algorithm on a GPU instead, but the benefit is about 2x, not 10000x like for other algorithms used by Bitcoin or Ethereum. This makes Cryptonight a nice target for JavaScript and the Browser.

Of course, when running through JavaScript performance still takes a bit of a toll, but it’s not that bad. The miner installed on CreativeApplications.Net uses WebAssembly and runs with about 65% of the performance of a native Miner. For an Intel i7 CPU (one of the fastest desktop CPUs) we see a hashrate of about 90h/s. A native miner would get to 140h/s.

We have currently set the crypto miner to operate at 80% 50% capacity using all of the cores on your CPU. This means it will not completely overtake your CPU but you will notice significant speed drop if you are performing other tasks and the fans on your laptop/desktop will most certainly come on.

Finally, we get 70% of the average XMR that is generated. The 30% goes to Coinhive to operate the service and to (hopefully) turn a profit.

Since this is something quite new, and something that is unusual in the blogosphere, we will try to run this miner with as much transparency as possible.

Here are some recordings. We will update this page as we move forward with tests.

Update 4: Two Months Later

Notes 13/12/2017: The miner has now been running for approximately two months and has generated around 2.00XMR, near equivalent to $500 USD thanks to the recent rise in the XMR value, fulled by the general cryptocurrencies fluctuations (Bitcoin, etc). This has allowed us to retain revenue similar to Google AdSense while removing the miner from the main pages of CAN. The miner is now exclusively running on article pages keeping revenue consistent with AdSense but reducing the load on the visitors’ CPU. While we have exited the “Experimental Mode”, we need more time to implement the miner in the way we think would be more valuable to the visitor. Here are some of the things we are still planning to do:

The miner is currently running at 50% capacity (throttling) which we feel it is sufficient considering the revenue it is generating. We are considering increasing this slightly since its enabled on article pages only. The miner is disabled for mobile. We may enable this but throttle at 80-85%, it should be barely noticeable. We need to incorporate dashboard reporting in the sidebar, similar to this. This will let visitors see exactly what is going on with the miner and if it is running. We need to utilise Battery.API (Chrome only) to disable the miner when the visitor’s computer is running on battery power. Miner remains active ONLY for non-members. Please consider supporting CAN by becoming a member.

We understand that there is still a number of issues mostly related to acceptance of mining as a valuable alternative source of income for online publishing and services. In addition, and unfortunately, most security plugins now list Coinhive miner as malware meaning the visitors will get messages/interruptions when visiting some pages on CAN. In a more extreme example, some universities that rely on third party virus scanning services block pages using these miners. This is one of many issues we need to monitor and respond accordingly. For now, we are taking one small (and careful) step at a time.

Update 3: Two Weeks Later

Notes 02/10/2017: We’ve made a number of tweaks to the miner since last update. First of all we have increased throttling to 50% meaning that only 1/2 of the resources will be used. While this affects miner’s performance, it will drain less resources for the visitor. Second, we have disabled the miner to run on mobile. We’ve had few reports that it drains the mobile battery pretty quick so that won’t do. We are also considering adding the panel in the sidebar to monitor/adjust performance. The option also includes reducing the number of cores used but this would need to be implemented via a cookie so the settings are saved for the next visit. We may include this if we decide to go with the miner for good. Finally, the miner has generated equivalent to around $50 USD for the last twelve days – hitting the 0.5XMR mark for the minimum withdrawal. The funds have now been withdrawn to the MyMonero wallet and currently staying there. The next step would be to trade/convert these to USD or other currencies. Also worth pointing out that this is about 30% more than what AdSense would generate, even with throttling at 50%.

We’ve also had an opportunity to talk to the users about their experience. Most concern or doubt has been around the concept of a website using computer resources in the background to monetise. While this may be conceptually problematic, technically it is not much different to ad networks collecting data or serving CPU demanding ads to the end user. Solving complicated math problems with the CPU feels a lot more ethical than acting as a bridge to an ad network that collects visitors data.

We are also considering some other improvements to how the miner is implemented on CAN:

– Keep the miner mandatory for logged-out users with option to reduce available resources.

– Investigate Battery API to automatically scale the performance of the miner dependant on whether the computer is plugged in or not.

– Check of the tab is foreground and if not pause the miner (Firefox does this already).

– Separate pop-up if mine block is implemented to notify the user.

– Optional miner in the form of screensaver (see also below)

– Visitor minimum hash count to disable miner for visitor – ie you need to reach a specified hash count and the miner will be disabled on your next visits until set time – like a point system running in the background.

See also some very interesting discussion happening here after CoinHive blog update.

Update 2: 24 Hours Later

Notes (19/09/2017): After 24 hours of running the miner, we have generated (average) almost equal of earnings that Google AdSense would provide using basic functionality – ie serving semi-random and mostly irrelevant ads based on your search history/emails/etc without much optimisation. While this may not be “fantastic” we are nonetheless very satisfied with the results. This could definitely prove to be a great alternative to AdSense. At the same time, we are still way off from premium-advertising, ie when we are approached directly to promote events / products / etc. Also, we still have to consider that Google may start punishing or blacklisting sites that do this – to protect their own revenue. The test continues…

Update 1: 4 Hours Later

Notes (18/09/2017): After 4 hours of running the miner, the results are proving very promising – when compared to Google AdSense as a basic advertising revenue. Whereas AdSense can be a very powerful tool and generate 10x the revenue when non-defaults are applied, CAN does not exist to turn a profit or exploit or trick its visitors into clicking on ads. Instead, we believe we should be able to generate minimum that keeps the site going offering a fair solution. After 4 hours of running the miner, we have generated approximately $0.30 USD.

Last updated: 13 Dec 2017 – 15:08 GMT