Mobile-friendly Clicky is here!

In a few months Clicky will celebrate its 13th birthday, and I'm happy to say it is now (finally) 100% mobile friendly, and our old dedicated mobile site is history. Almost everyone used the normal version of Clicky on their phones anyways, but now it should be a much better experience. This has been one of our biggest feature requests of the last 5+ years so I'm thrilled it's arrived!

Oh and we have a new dark mode too:

You can imagine a service as big and old as Clicky has built up a lot of cruft over the years! Making Clicky mobile friendly was going to be a big project no matter what, but I knew I was going to be updating so much of the layout code anyways that I should take the opportunity to gut it all and redo most of it from scratch and get with the times in terms of modern web design (e.g. CSS variables, and layout using grid and flex instead of floats and tables). This of course made the project considerably bigger, but I'm thrilled with the result, which we pushed out on Friday July 19.

Grid and flex are designed to be mobile friendly from the start. E.g. the dashboard now collapses into a single column on a narrow screen, without any silly javascript or media queries or anything. Just, BAM. It's great! We do use media queries to hide some other elements on narrow screens now as well, that's something we could have done before to make things slightly better, but trust me this update is a lot more than media queries.

Any change brings negative feedback to some degree but people have actually been reaching out in big numbers to say how much they like the change, which is encouraging (that's never happened before). But we are listening to the feedback. The biggest complaint people have had is that it's "too bright". The main reason it feels brighter is because we no longer have alternating row colors. This was not originally planned, but CSS grid does not have selectors for rows (which is honestly my only real complaint with grid - it's amazing otherwise) so you can't style them directly. You can style cells in a row but then you can't use e.g. grid-gap without looking ridiculous.

I was unsure initially about losing the alternating row colors, but I got used it very quickly and I think most of you will as well. But based on feedback so far, just this morning (Monday) I pushed out a few tweaks so the tabs and links are slightly darker, and there's a little more padding on most of the grid elements (which was the second biggest complaint, that things were too tight). We'll continue to tweak things as we hear more feedback but beyond the initial shock factor, we think most of you will get along just fine.

Here's some other things of note with this update:


We moved all colors over to CSS variables ("custom properties") which allows for easy theming. Right now we just have a dark mode as an option but we will be adding a few more options in the future. You can toggle dark mode with the light bulb icon in the top right corner. And to our white label system we added the option to create a fully custom theme to match your branding. (This replaces custom CSS, which was a nightmare to maintain).

Above the fold

Our old header made poor use of white space and was a mess. One of my big goals was cleaning that up and removing everything that wasn't used much, and now so much more fits above the fold on any page you're viewing. Some of you are asking for the trend comparison menu to come back, so we will likely do that.

Tab re-organization

We had 16 tabs on the main reporting screen. That was just too many so a few were downgraded to sub-tab status: Alerts is now under Prefs, and Custom data is now under Visitors). Big Screen is now a link from your user homepage instead of taking up a tab for no reason. Removing those 3 saved a lot of horizontal space, but we wanted even moer so Dashboard was renamed Home, and Preferences was renamed Prefs. Wowzers! And last, Spy moved way to the left, the purpose of which is to make it quick to access for mobile visitors. Its our most popular feature anyways so it makes sense that it's prominent.

MSIE is dead!

Grid, flex, and CSS variables are fairly new standards but all major modern browsers support them 100% perfectly (Firefox, Chrome, Safari). Note, MSIE's last major release was 6 years ago. Not only is that not modern, it's practically the stone age. Since Microsoft has declared it dead anyways as of a few years ago, and well less than 0.5% of our customers used it, we're biting the bullet and no longer supporting it. And let me tell you... designing a web site without having to constantly fight MSIE's bugginess was an amazing feeling. I've been doing this for 20 years and fighting that beast every step of the way. NO MORE!

Icons in all their pixelated glory!

We're still using the super old school "silk" icon set, mostly (there's a few customized icons and whatnot sprinkled in too). I dunno, it has a special place in my heart I guess. But these were created well before high DPI screens so they're 16x16 and they look terrible when browsers try to blow them up on high DPI screens. I only upgraded to 4K a few years ago but it's bugged me ever since. During this update, however, I discovered a fairly new CSS property called "image-rendering", that lets you tell a browser to keep all the amazing 90s-style pixels instead of trying to prettify everything, and I love the result. Maybe it's because I played a lot of Super Nintendo back in the day and lots of indie titles on the Switch currently that all look like they were from that era... at the very least, the icons now look like they're supposed to instead of a blurry mess. (I did try some alternative modern icon sets during this update, but they just didn't do it for me - but it wasn't a priority once I found this new parameter. Except for user agent icons, those are all new).

Speaking of icons, here's a great example of why I'm beyond ecstatic to be done with MSIE support! Back in 2006 when Clicky was born, MSIE didn't support transparent PNG files. So at that time, I just converted all the silk icons to GIFs. Even today, that's all fine as long as your backgrounds stay white, but guess what: Themes. GIF transparency looks AWFUL on any background that's not white. I had go through and find all the original icons again (a lot of which I had changed the names of) and recopy them and then find every single icon in every single file and update to point to ".png" instead of ".gif"... this was a very solid 3 days of grunt labor and it's all because of awful MSIE and their horrible support for any kind of standards over the last 20 years. Good. Freaking. Riddance.

PDFs update

The tool we used to export PDFs, wkhtmltopdf, is based on Chrome 13 which is 8 years old, well before grid was even a twinkle in the W3C's eye. It doesn't support any of this new stuff so we had to temporarily disable PDF exports while we move to a new solution. We're looking at Puppeteer which is based on Chromium and maintained by Google so its engine stays up to date. Give us a few weeks on this one.

UPDATE 7/26 We got Puppeteer up and running and the PDFs look great, they're fully enabled again in the UI export and email reports. This went a lot faster than expected so that's a big win for everyone. Bonus is that the graphs work 100% now, whereas with wkhmltopdf they were very finicky, especially for the email report ones.

Anyways, if your initial reaction to the design refresh is negative, please give yourself a few days and see how you feel then before telling us we're blockheads. But we are listening and will be tweaking things based on our own gut feelings and your feedback!
6 comments |   Jul 22 2019 6:35am

Major tracking upgrade - sendBeacon(), etc!

Yesterday we pushed up a major update to how tracking works. The purpose of these changes is to make the code work even faster and smoother behind the scenes. 24 hours later, no sneaky issues have cropped up, so we're officially announcing it now.

We've migrated most tracking-related beacons to use navigator.sendBeacon instead of appending a [script] element to the HTML document. We've had our eyes on this for quite a while as its purpose is literally for making tracking faster and more reliable, but there's been very little discussion of it anywhere even though most browsers have officially supported it for years now. But earlier this year, Google announced "parallel tracking" for Google ads, which uses sendBeacon instead of redirects to track clicks on ads. Google relying on it for their revenue backbone was a sign that it was ready.

Unfortunately we had to keep the old [script] method for the initial page view, because it echoes back javascript code that needs to be executed in the scope of the page being tracked, e.g. on-site analytics, heatmaps, setting first-party cookies for inactive sites that tells our code to stop logging traffic - this isn't possible with sendBeacon, which works outside of the page scope and is a downside in this instance. But everything after that - pings, events, goals, heatmap data, clicks on outbound or download links - uses sendBeacon, which is pretty noice.

The [script] element method has also itself been updated though so that the [script] elements are appended to document.body instead of document.head, which should have a big impact to help speed up that initial page view tracking. This change should have been made ages ago but it wasn't until I was knee-deep in this upgrade that I learned that dynamically injected [script] elements still block, even if you create them with the 'async' parameter. They shouldn't, but they can and do. Sigh.

sendBeacon = No more pauses on download and outbound links
sendBeacon works outside of page scope which, as mentioned above, has one major downside for us. But the major upside is its reliability. sendBeacon works in the background even after a page has unloaded, so tracking should be much more accurate and reliable. We've entirely removed the 500 millisecond 'pause' that we were creating for tracking clicks on download and outbound links, which was needed to give enough time (most of the time) for a round trip to our tracking servers to log the click before the page was unloaded. It was a necessary evil 10 years ago when we added this feature.

How much of humanity's time have we collectively cost because of this pause? I'd lowball estimate we've tracked an average of 50 million clicks per day on download or outbound links over the last 10 years since we added this feature.
50M * 365 * 10 = 182,500,000,000 clicks x 0.5s = 91,250,000,000 seconds = 1,056,134 days = 2,893 years. Traveling back in time that many years would land you in the 9th century BC where you could travel to central Europe and witness the beginning of the Iron Age. Dude.

The code you copy and paste onto your site has also been changed. Instead of 3 versions of the code, there is now just 1, and it's fully asynchronous by default. And it's much simpler and more reliable than the old version of the (optional) asynchronous code. This one just uses a normal [script] element with the 'async' parameter embedded directly in it. It's now 2 lines instead of ~10.

Reinstalling the code is optional, but we do recommend it to get the full benefits. Also now we recommend the code go into your [head] element instead of at the bottom of the [body] since the default code is now fully asynchronous and does not include the badge or noscript image elements (which can be added back with the checkboxes, if you add those in then put the code in [body] instead).
10 comments |   Nov 27 2018 1:38pm

Personal data management tools for GDPR requests

As promised, by May 25 we are releasing tools to help you find and then export or delete personal data requested by your end users.

We cleaned up the user homepage a bit as you can see below. If there's a new blog post within the last 30 days, the link/title is in the top right corner. This gives more room to the main links on the left, which are now in a single row instead of 2 rows. A bit easier on the eyes. And the link to manage personal data requests is in the "Your web sites" area. Couldn't come up with a good icon for it since we already had a "person" icon for the sub-users link, so we just used a turtle which we had lying around because hey it's cute.

The personal data management page has some brief info at the top about the purpose and how to use it, then there's a form below that lets you search based on UID (tracking cookie), IP address, or a custom data tag if you're using that feature. The screenshot below shows the search results for a UID that I entered into the form at the bottom.

You can click on any of the session IDs to view the session, or click the export or delete buttons at the bottom. If you delete the sessions, you will be asked for confirmation first. If you choose export, it will export all the data from every matched session (visitor info and all actions) in a plain HTML table. It actually just shows it to you instead of being a "forced" download, it's kinda handy to just see right there. Use your browser's "save web page" feature to save it as an HTML file and send it to the person who requested it.

The search form has no max date range, unlike the rest of Clicky, so it can take quite a while if your site is high traffic. Let us know if you have any questions or issues about this tool.

2 comments |   May 25 2018 6:55pm

GDPR update!

We just pushed the fruit of our labor up to production servers and holy cow is it delicious! Take a big ol' bite and dig in boys and girls.

When you login you will see a message at the top that our terms and privacy policy updated so please review the changes to them by clicking the link. That page also covers the changes to Clicky itself, which are pretty much almost exactly what we mentioned in our last post.

As requested and as made sense as we did research, you are in control of your visitor privacy settings. The new default setting is to apply max privacy to "all visitors" and but you can change that to just "EEA visitors" or "no visitors" - but you can't select "no visitors" until the new terms have been accepted because that is the setting that will log "Personal Data" for visitors in the EEA (European Economic Area).

There's tons of new info all around the site so I will leave you with the following links.

Page to review all changes and accept new terms and privacy policy

Change your privacy settings on your user prefs page

Lots of juicy info has been added to our knowledge base

Our privacy shield certification is still pending, not sure it will be ready by May 25 but know that it's coming as soon as possible!

Lastly we haven't yet finished the tools to help you respond to Personal Data requests from EEA visitors. Those are in process though and will be ready by May 25.

Have fun!
10 comments |   May 14 2018 11:43am


Hello there! It's been way too long!

As the May 25 deadline for GDPR (General Data Protection Regulation) approaches, we've been getting a lot of questions about it. So without further ado:

Yes, Clicky will be GDPR compliant. In fact we can't wait. I mean, what company isn't jumping for joy at the prospect of crippling their own service to be compliant with a law made on another continent by politicians who have no idea how the internet works?

...Is this thing on?

Some features will have to be drastically changed or removed entirely, because it is now illegal anywhere in the world to log personally identifiable information (PII) of a European person without either consent or an extremely valid reason (e.g. logging a customer's address when taking their billing info). For example, we've offered the option to anonymize logged IP addresses for many years, but anonymized IPs are the future for all of you now.

A big reason we charge money is so that we don't have to sell your data to make money. If you're not paying for the product, you are the product. The only person who has access to a site's data on Clicky is the account owner. There's no cross referencing of visitors between sites, we don't build profiles of people for all the sites they visit and then sell it to advertisers like Facebook does. We could, but that's the kind of shit that free services pull, and we're not free. I would feel dirty anyways if we sold your data. The data is just... there... for site owner's to analyze. And that's it. Seriously!

Does GDPR care? Have you not been paying attention. If I gave you a nickel for every ounce that GDPR cared about legit services like Clicky, you would actually be poorer.

Think about the huge Facebook data leak that just happened and how fucking irresponsible Facebook was to let companies intentionally access that kind of data on their users in the first place. In terms of privacy violations, that's about as bad as it gets and that is the kind of thing that needs to be stopped. We just want to provide you with traffic reports for your site, but we're being grouped together with the likes of Facebook, who I now consider one of the most evil internet companies around. Cool.


Here is a partial list of the changes probably coming soon to a Clicky near you:

  • Viewing data on our site may require full user authentication (no more private links or "public access").
  • IP address anonymization might be forced rather than optional for all accounts.
  • Third party tracking cookies may be disabled. These are to help track the same visitor across multiple domains in your own account but this may be an issue now.
  • "Do Not Track" headers will be honored.
  • Public opt-out page for people to opt out of being tracked by all sites running Clicky.
  • Widgets that display individual visitor info will be changed/removed.
  • Custom data tracking - since this allows you to attach any data you want to visitor sessions, some of which may be PII (such as emails or usernames), something will need to change. Perhaps you'll need to check a box to assume full responsibility for any PII you choose to log before custom logging will work for your account.
  • Tools for you to comply with GDPR requests from your visitors (data you have about them, ability to delete it, etc).
  • Clicky will be Privacy Shield certified.
  • ... and so much more! Subscribe today!

    This is a partial list. We'll have more details within a few weeks as work continues on this.

    I'm sorry I couldn't keep the snark out of this post, but rest assured we are taking the law very seriously as we know the future of Clicky depends on it. This is top priority and the only thing we're working on until it's done.
    23 comments |   Apr 17 2018 4:03pm

  • Next Page »

    Copyright © 2020, Roxr Software Ltd     Blog home   |   Clicky home   |   RSS