Skip to content

Blog

Waterfox, Its Legacy and Looking to the Future

The 27th of March 2018 marked 7 years since the first release of Waterfox, first posted on the OCN forums. It has been quite a journey, not one I had envisioned myself taking.

A Brief History

From an early age I was enthralled with the idea of building my own computer and being able to do the things I was reading about online. It was a sort of zealousness that is hard to describe. I wasn’t going to suddenly start creating animated shorts in Blender - but I wanted the freedom to be able to do just that if I ever so desired.

I was up to date with the happenings of the tech world, as I got my first “internship” (aged 14), 9,000 km away, covering press releases from companies, reporting on leaks and rumoured releases. From there on, the ‘addiction’ only grew stronger having my sight on one of those Core i7 processors. It was a large departure from the Core2 line and I could only imagine the glorious things I would accomplish with all that compute power. Realistically though, probably not much.

Unbeknownst to young me, it would be 3 years before I could afford to build a complete computer - buying each part separately over time. In the interim, I was saddled with a trusty HP Compaq TC4400 that I had managed to convince my parents to get for me as it was going to improve my school work, for a couple of hundred quid! Luckily, Windows 7 had just come out and touch support was much improved. It introduced me to a completely new world - 64-Bit computing. Not being able to overclock the laptop (not even being able to change the power settings!) meant I had to look elsewhere in regards to getting more performance out of the hardware I had available. What could accomplish that? Software, of course! There was a noticeable trend of hardware far outpacing the development of software and with the mainstream release of a 64-Bit Windows 7, I started to notice more software in that flavour. In fact, I started to notice Internet Explorer coming in this new version!

I was curious - what about my most used piece of software, Firefox 3.6? Mozilla’s website had no mention of any releases for it - in fact there was a bug filed somewhere stating they had absolutely no plans for a release in the pipeline for a long time. Here, I was flung into the world of open source as I started to discover various forks of Firefox offering their “Turbo” versions. I was so excited! Unfortunately, some releases were lagging and others were abandoned - I saw an opportunity and decided to have a look at how I could start to build it on my own. As I was already on OCN, trying to reach the famed “Grey” status, why not post the project, get some rep and maybe finally I’ll be able to trade on the forums. After the first post and a time frame of a week - 50,000 downloads. History had been made (at least for myself and Waterfox).

Keeping to the Path of “Goodness”

Throughout my time working on Waterfox, there have been countless offers to sell out and options to “monetize” aggressively. Honestly, while tempting - it was never something I felt inclined to do although financially it had been incredibly difficult at times.

I couldn’t bring myself to do it as I deeply care about this project, and especially the people who use it. More importantly is that I believed (still do) in what it can accomplish. I know, I know - this is such a regurgitated line you hear from a million different startups at Silicon Valley and their world changing software. But for me, I just wanted to do something that would have a positive impact - which in effect would hopefully be a minute contribution to the world.

I tried hard with my first startup that tied in quite nicely to Waterfox. It was a search engine where most of the profits would go to charity. In fact, the charity would be one that the user specifically chose. In return the charity would decide what kind of split we’d get. A simple concept and one that was actually working well. Unfortunately, a badly run startup will always fail, no matter how noble the idea and even the success it was starting to achieve.

After that defeat, it was hard to envision where to go from here. Luckily, the folks at Ecosia reached out and something really nice happened. It wasn’t the dream I had envisioned, but it was a good step towards it. In fact, the experience has been so good, that Waterfox users have helped to plant over 350,000 trees in 2017! Honestly for something that started out as a side project, this was quite the feat.

The Future

In order for Waterfox to grow, it needs to do so in more than one sense. Thankfully, with the arrival of a new contract with a rather popular search engine (and a good track record for privacy), this is now possible.

On top of that, development has been rather slow due to me actively pursuing a development team. That is actually progressing well, and I can hopefully update you all very soon with that information.

So, where does that leave Waterfox currently and what will its future incarnations look like?

Well, Waterfox as it is is where I want it to be:

  • It is stable in terms of development time
  • There is good support for (most) classic add-ons
  • There is good support for (most) WebExtensions
  • Backporting WebExtension APIs is more straightforward to this version.
  • The performance gains from the newer developments in Firefox are apparent
  • A lot of the privacy hampering features have been outright removed or disabled where more complicated (and this is where a big focus will be on)
  • Future updates include security patches, removing more telemetry, reviving old requested features and back porting where possible
  • Classic extensions have all been archived, all that is left is to create a catalog for them.

Overall, this is a good experience for users because it is a consistent one. But, it isn’t possible to keep like this forever. The future variant will be:

  • Based on ESR releases
  • Ability to develop “classic” style add-ons. Mozilla does this internally, I think it’s worth exposing this to developers in general. There is good reason for Mozilla to want to do this, but we are aiming for a more technical crowd.
  • Add-on developers will be given plenty of time for the expected features in the next releases and ample time to update their add-ons (imagine a 1 year 6 month release cycle, notify 3 months before any API changes)
  • Independent add-on store (with potential for developers to earn money as well)
  • Latest HTML standards will be kept up to date in a timely enough manner without having to be on the forefront (adoption takes time regardless!)
  • Support a myriad of protocols (ideally supporting Tor as well) and media formats (and since we’re EU based, I really want to move away from binaries that are provided by Cisco for H.264 playback)

And a Thank You

I would like to personally thank all the people who have contributed patches, give support on the forums and just help out in general. There are lots of you, but I’m sure you know who you are. Really - thanks. It means a great deal and I’m so happy to see how great everyone is!

I’d also like to thank everyone who donated. The support has been overwhelming - I truly do appreciate it.

See you all around the forums and social media! I’ll hopefully have an update for you all soon, which will hopefully explain my slightly less activity around everywhere 😉.

Cheers! Alex 👨‍💻

Waterfox 43.0 & 43.0.1 (Installer Only) Reverted back to 40.1.0 and some Insight into Waterfox

Waterfox 43 for Mac, Portable Edition and existing Waterfox/Firefox users unaffected. Just a delay on the installers until the bugs get fixed.

I’ve got a bit of a conundrum here. So with the latest Firefox 43 codebase, Intel’s C++ has been causing havoc, creating a difficult time for me.

For the last two months since the release of 40.1.0, I’ve been working every single day (I wish I was exaggerating..) waking up and going to bed doing nothing but trying to get Intel’s C++ compiler to build Firefox. Debugging wasn’t fruitful as almost every variable would read <Error reading register value> or <Unable to read memory>. Almost impossible to follow where this was occurring or why.

As mentioned in a previous blog post Intel has a compiler bug causing an internal error with the use of Mozilla’s own Tuple header. After a week of messing around I realised I could just use the std::tuple to replace Mozilla’s Tuple calls and it worked! But alas, Firefox 43 was finalised and I though to myself if I released Waterfox 42 this late…what would be the point?

So..lets get Waterfox 43 done and out the gate, we’ve got a week until release I’m sure I can get it done since I’ve gotten 42 to build! Oh boy was I wrong. After applying the relevant patches to get IC++ to build Firefox, the application would exit straight away. No crashes, nothing. Just a clean exit. Debugging wasn’t helpful either. Crap, what now?

I did the only thing I found plausible at the time…and that was to rummage through every patch between Firefox 42 -> Firefox 43 (changelog here).

As you can see…no clear indicator of what would be the contributions of Firefox 42 compiling fine with IC++ but Firefox 43 to not. So I went to Mozilla’s mercurial repository and started downloading each changelog between 42->43 and compiling each one until it would break. After about two weeks straight of doing this, Bug 1197316 - remove PR_snprintf calls in xpcom/ was found to be the first reason Waterfox would quit straight after being launched.

Progress! Or…not so much. When using any optimisation flag that wasn’t O1 (optimize for size), the UI would be malformed. Oh boy, time to start carrying on through that changelog. After another week, Bug 1157984 - Incorrect CSS 3D display was found to be the reason IC++ was causing bad code.

Christmas was here! Unfortunately apart from having dinner with my parents on the day (and still trying to find the bugs) I spent every other waking hour preparing Waterfox. A few days ago I had whole build ready (and released as you could see)…but there was a bug cropping up that just didn’t make any sense. Every now and then some users would message me that v43 would crash right on launch. Ouch…why?

Turns out that for whatever reason, if Waterfox doesn’t have access to an already existing Firefox or Waterfox profile, it will crash straight away. GREAT. If you run Waterfox without a profile but with the -p flag it’ll run as well. Just not when no clear profile is available or created for it.

So we’re to where am I now. What do I do? I’m dreading that I’m going to spend the next few more weeks of my life waking up and doing nothing but downloading changesets…compiling…finding if the bug exists and then going to an older changeset below and repeating untill I get a changeset that works. Then I have to hope to all that is good that this changeset is an isolated bug patch that other patches don’t rely on it, because if they do I’d have to rever them as well and that could go on forever.

As of now I’m talking to Intel’s support forum, but it’s difficult trying to isolate the issue with just a few chats and some screenshots. I’m not particulary great at debugging something so complex either…but here’s to trying my best to get this release out for everyone.

If I have the same issues with Firefox 44…I’m not sure if health wise (for my mental sanity) I’ll be able to carry this on. I think I’ll be looking at IC++ alternative. But for now…onwards.

All the best, Alex

4 Year Anniversary Waterfox Charity and Storm Search

Hello everyone! I’m the developer of Waterfox, Alex Kontos. 4 Years ago on the 27th of March I released the very first build of Waterfox for everyone to try out. It was posted over at the lovely community of Overclock.net and since then Waterfox has become known around the world.

I never expected it to become what it has and I’ve embraced every success that it has made. I am proud to be part of the global Waterfox Community and the wonderful people that make it up. I really appreciate the kind messages and posts I see about Waterfox on the Overclock.net and Waterfox subreddit and I am so happy that even 4 years on, Waterfox is growing and making a positive impact on the web.

I’m very happy to announce a new idea for Waterfox: Charitable Giving!

What exactly is this?

Back in March 2014, I was invited to an event called Pitch@Palace, hosted in London. Various technology startups showcased their ideas and it was a great opportunity to collaborate with each other. I met some super people who had a great idea: Give the users of Waterfox the ability to donate to charities without them having to give anything directly. It means Waterfox could carry on expanding and everyone gets to contribute to a good cause! Initially I’ll select the Electronic Frontier Foundation as the charity of the first month of release. In future releases I will be building functionality that will allow you to choose a charity of your own. So how is this going to work?

We’ve created our own search engine called Storm that you’ll be able to beta test in the coming weeks. The idea is simple; carry on doing what you always do! Search using the Storm as you normally do with any other search engine and when you do your shopping online and purchase something by searching for it via Waterfox search, various retailers have chosen to donate a certain amount of your basket to charity at no cost to you!

Does Waterfox get anything?

That depends on the charity! We’ve spoken to a lot of them and each one of them decides how much Waterfox gets.

How can we be certain the money will go to Charity?

The whole process is going to be transparent. It means that Waterfox has set up its own company, Waterfox Ltd. The payments to charity will be managed through an independent bank that holds the money in ESCROW, meaning that the charity will always be paid and no foul play occurs.

How can we trust the search engine?

None of your personal information is kept (everything is anonymous). In fact, we don’t even ask for any (and none of your searches are stored anywhere)! The only thing that happens is that a cookie will be stored (it is not a tracking cookie as we follow EU law and if users don’t like a cookie being used we can find an alternative :-) ), which will hold the data for the charitable donation to be managed. That’s it!

That’s awesome! Where do I sign up?

Keep an eye out over the next few days to access a beta website to test out the search functionality and let us know what you think!

Does this mean Waterfox is turning into some big company?

Not at all! I will still be the only person developing Waterfox, giving support and just generally hanging about the Waterfox subreddit and support thread over at Overclock.net. I’ve just gotten some extra help from a good company with noble intentions to help get this off the ground.


As you know, Waterfox has gotten quite big and costs to run it are quite high and I’ve been struggling to pay out of pocket so I thought it’s a great way to raise money for Waterfox without exploiting the community. Plus it’s opt out, meaning you’re not forced to use it and can carry on using whichever search engine you like.

I thought it’s a much better way to approach things, than say the way Mozilla are introducing sponsored tiles and the likes. Please let me know what you think!