My decade retrospective of the internet

01 Jan 2020 · 12 min

Five years ago, I was applying for university and had to write a personal statement to distinguish myself from other candidates. What led me to write this blog post was the following section:

At the age of nine, I used to make startpages using Microsoft Word so my mother could easily access her links. A year later, I looked for better ones online, and found one on deviantART that I downloaded. I got curious about how it worked, so I explored the HTML code and got thrown into the amazing world of web development and web design! That deviantART online community has been a great place of exchange where I got to collaborate and interact with different computer enthusiasts, coders and digital artists, on various projects. […]

— An overly enthusiastic 15 year-old me applying for university

It’s almost 2020 — the end of a decade — I’m about to be 20 and I’ve (hopefully) grown a lot in the past 10 years. Looking back, I now see how much the internet changed at the same time. My childhood was mostly centered around the internet, sometimes feeling like it was my only raison d’être: I probably had more online friends than real life ones. Anyway, I thought it’d be interesting to provide my retrospective of the internet through the things I’ve achieved and the people I’ve met. This post has a big nostalgic vibe to it, but I’m particularly proud of what the last decade has been for me.

The web stack #

MetroStart, one of my first startpages
MetroStart, one of my first startpages

The personal statement quote first mentions start pages made using Microsoft Word. Start pages are web pages with quick links that you set as your homepage. While Microsoft Word might sound like a surprising choice for developing web pages, the bar for website authoring was quite high at the time. The software I found was either commercial (e.g. Adobe Dreamweaver) or difficult to use. Coding was out of my league at the time. Online website creators like Webs or Netvibes — while easy to use — did not provide enough flexibility in terms of the content you could add but I would recommend those to my mom to build her own site.
Luckily, Microsoft Word had a web mode that allowed you to export a document as an HTML file, which made making a website as easy and flexible as making a Word document.

When I joined deviantART in 2011 to find and post startpages, I looked at the code others had written and realized Microsoft Word was generating a lot of junk. This led me to start learning coding along with a few folks I had met on deviantART. Taskin Forkan (daKoder) was one of them, he was around the same age and originated from the New York Area. We had developed an online dashboard together — that had evolved into an online desktop — named Altaica. Conceiving, developing and designing Altaica together was an amazing learning experience. We both learnt jQuery/jQuery UI while I actively opposed using the Bootstrap framework since it was a lot of unnecessary code. Both of these frameworks were the state of the art as they made web APIs much easier to leverage. jQuery has since died off as newer DOM and JS APIs were introduced to fill the gap (Github wrote a great post on how they removed jQuery from their front-end).

Another technology we attempted to add to our online desktop was logging in to save user data on the cloud and make it more useful to users. This required server-side development, which we both had a small understanding of. We attempted to add a login system using PHP — popular at the time — but the stack evolved so quickly with newer technologies coming around that we never actually got around to learning it. Nowadays, the server-side stack has gotten even easier with adding a login system being as simple as following a 15 minute AWS Amplify tutorial. Hosting would be provided for free by Altervista — a site simobortolo on deviantART showed me — and deploying those websites would be done with FTP. Those tasks are today done with automatic solutions like Heroku.

Added the ability to drag splitters. If any build problems call me at: 650 224-0620
20-year old commit message from the Mozilla source code

Contributing to the Firefox front-end has also been a very enriching experience, as I got to learn how a large codebase like Firefox’s deals with 20-year old technologies while still being able to evolve everyday. I learnt to use React, a framework made by Facebook in 2013 that Firefox DevTools had started using instead of the legacy XUL. React aimed to solve single page application design with Vue.js framework being its main competitor. I had also contributed to the XBL replacement work in Firefox that finished last October. This was done with the web components spec — making the need for frameworks questionable — especially when compatibility with older browsers isn’t an issue. If there’s something to take away from frameworks on the web, is that they come and go, with web standards never dying off.

In 2010, I saw the rise of HiDPI and Retina screens. My first patches for Mozilla were about adding HiDPI support in Firefox, by adding a second higher resolution PNG along with a media query. The inconvenient need for a pair of files for every graphic popularized SVG — with Google’s Material Icons website being one of the first big icons library, inspiring me to create the original version of the Photon Icons website, called Firefox SVG Icons at the time.

The web stack has very much evolved in the security space as well. I remember having links in my Microsoft Word start pages that would launch desktop apps directly when clicked (this is an odd use of a web page, but my mom wanted to have everything centralized in one place). This is no longer possible today without explicit user consent for security reasons. The Firefox codebase also started blocking innerHTML to prevent XSS attacks, which proved useful since my younger self accidentally introduced and fixed such a vulnerability. More recently, CSP was enforced in all Firefox internal pages for more strict security.

Finally, I saw web tooling get tremendously better. The DOM inspector, Firebug and Chrome DevTools were the only tools available a decade ago. Today, we now have more beginner friendly tools I wish I had at the time, like the inactive CSS feature or more visual tools like the animation inspector. During my first internship, I also got to work on Janitor, which makes use of cloud technology to make hacking on large projects easier.

The web stack has evolved so significantly in the last decade and I don’t know if I would have noticed that if I hadn’t started customizing start pages.

The rise and fall of software customization #

When I joined deviantART in 2011, I originally found this start page which was one out of many. I eventually started posting my own under the username ntim007. While the account is now disabled, some content is available on web archive. deviantART had a growing community of digital art involving software customization: from icon sets, skin packs, userstyles, wallpapers to redesign concepts. This inspired me to post my own work inspired by the current design trends over the years, from Metro UI, Apple translucent designs to Material Design. I never thought I’d meet someone who posted this type of digital art in real life, but I surprisingly did meet this Canadian just last year during my exchange.

Firefox also had a large customization ecosystem, it supported add-ons, userstyles and complete themes. My first XUL overlay add-on — then converted to Jetpack — was a simple button that leveraged the now defunct YouRepeat service. Customization was time consuming but it was very satisfying once you were done. Three years ago, my Firefox setup looked like this:

Point being, there was a big culture of software customization at the time. Some even made some revenue from their themes like for the Deep Dark themes. However, this culture slowly died off, along with the customization community on deviantART and Google+. Firefox legacy extensions and themes both became obsolete with Firefox 57, a move that enabled removing legacy code (XUL/XPCOM). Despite that, there are still some subreddits remaining like r/Unixporn, r/FirefoxCSS or r/androidthemes (Thank you Omkar for showing me that last one!), but those are a regular time investment due to needing to keep up with the more frequent software updates.

Web browsers #

When I was eight, I was already passionate about web browsers: I would compulsively read Wikipedia articles about them and download every single one on the family’s computer, including older ones like Netscape. At that time, Google Chrome was just released with a simple and sleek design that ditched the menu bar and introduced tabs on the top. Opera pioneered innovations like tabbed browsing, the speed dial or tab stacking. Firefox used add-ons to innovate: the first web developer tools came from Firebug and cross-device bookmark sync came from Delicious. IE did not innovate and relied on a monopoly that Google Chrome took over 10 years later.

When you saw how browsers like Chrome or Opera innovated, Firefox had to change their innovation model to not rely on its extension ecosystem, since most users wouldn’t install extensions. In 2011, Firefox 4 started going in this direction with the transition to faster releases. The Mozilla UX team started doing regular design experiments, with the short-lived UX channel setup for it. I’d be a big fan of their work, especially designs made by Stephen Horlander and Alex Limi, to a point I’d copy CSS values from interactive mockups into my own projects. Add-on wise, most common use cases were analyzed and retained into the product. Bookmark syncing and web developer tools became built-in features. Built-in light and dark themes were introduced to fill the gap for custom themes. Since I was quite passionate about theming, I worked on the WebExtension theme API by adding what I needed for my add-on VivaldiFox. I even wrote blog posts and gave a talk about it. Eventually, in 2017, Firefox Quantum successfully ditched this extension system, with innovation going towards privacy and security features.

With resources being constrained and innovation shifting elsewhere, most desktop browsers now feature the same overall layout as 10 years ago. However, there are a few concept browsers challenging this. I worked with the developer of DocLayer, a minimalist document editor that connected with Dropbox, to provide what he needed in my CSS framework. He’s a very creative developer who later made Min Browser, built on top of Electron, featuring a minimalist one-liner design and a task-based multitasking UI. One other concept browser I really liked was Opera Neon‘s attempt to re-imagine desktop web browsing and optimize it for today’s needs. In the mobile space, the Firefox Preview browser, built from the ground up, tries to rethink mobile browsing, notably with its innovative UI and its collections feature.

This change in innovation models was partially a result of the rapid release model that Chrome had first adopted in the browser market and is a general transformation seen in the software industry in the past decade.

Faster software development #

In 2012, the first collaborative project I had ever done was Online Windows 8, created with Taskin Forkan (daKoder), Anthony Nguyen (link6155) and Sean Loper (GrimmDev). It’s not the project I’m the most proud of today, but I got to learn how to collaborate through Dropbox as we noticed we were losing time sending each other ZIP files (we didn’t know about Git yet). Yet, despite the low quality of the project, it had received thousands of downloads on deviantART. Tech youtubers even created videos to promote the project. I had wondered why for quite a while, and then I recalled seeing comments complaining that this wasn’t actually a usable version of Windows 8. Many folks who downloaded the project were probably looking for online free cracked versions of Windows 8:

Hello windows8team i need to download windows 8 html please
The need was there ;)

This got me thinking about whether something like this would actually be successful today. Windows upgrades used to be paid for consumers a decade ago, until Windows 10 was released in 2015, when all updates from Windows 7/8 were delivered for free. Windows 10 was the very last major version of Windows, with all subsequent updates being much smaller and delivered very frequently “as a service”. This was a positive move as it would prevent businesses from being stuck on very old versions of Windows and allowed everyone to benefit from regular innovation.

Faster update cycles might now be obvious today, but it is quite radical how they’ve changed in the last decade. It’s crazy to think that a decade ago, Firefox released a new version only every year and now do every 4-6 weeks today.

Product diversity on the internet #

One thing that characterized this decade is the loss of product diversity on the internet, which led to the domination of the web by large companies. Exactly 9 years ago, I built my own search engine called SmartSearch. The idea was largely copied from Maxthon Multi Search: both sites allowed you to easily compare results from different search engines. While the idea by itself wasn’t super useful, my 10 year old mind somehow had an obsession in knowing all the search engines that existed out there, which is how I discovered Maxthon Multi Search. The Chinese web browser originally provided their feature as a separate website similarly to SmartSearch and later built-in the feature into Maxthon 3.

Maxthon multi search in Maxthon 3

Maxthon’s main pitch for the multi search feature was being able to compare results across engines which may be useful to compare prices between different shopping search engines like Amazon or ebay. This feature is no longer present in the latest version of the web browser. This may show two things, the slow monopolization of search engines (Google for search, Amazon for shopping) but also Google’s aggregated information display reducing the need of browsing the sites themselves. While this does provide a lot of convenience, it does also seem scary for the health of the internet.

However, while developing SmartSearch, I was able to leverage open data from DuckDuckGo’s instant answers API from which I made a small library. It provides Google-style knowledge card data when searching for terms. Seeing alternatives to Google openly sharing their results gives me hope for the health of the internet. DuckDuckGo’s results are in fact provided by Bing just like Ecosia’s results are, which is a great initiative from Microsoft.

Integration of DDG’s instant answers API in SmartSearch
Integration of DDG’s instant answers API in SmartSearch
The gorgeous former Mozilla Paris office
The former Mozilla Paris office

Another story relating to product diversity was the rise and fall of Firefox OS six years ago. It was Mozilla’s attempt at making a strong mobile competitor to Android and iOS. The idea was pretty neat: the web was the platform and apps were websites. Since Mozilla was doing a large company-wide push on Firefox OS at the time, I got invited by Paul Rouget to the Mozilla Paris office, from which I brought home a Firefox OS Flame device to help report bugs. I remember using it as my daily driver where I’d flash the latest beta builds to try them out.

Mozilla also made a push by attracting developers who could expand their app ecosystem to be competitive enough. I contributed by developing an unofficial app for Vine on Firefox OS, ported from Altaica. I also attended an app workshop at the Mozilla Paris office, where the creator of 2048, Gabriele Cirulli, came and gave a presentation on Firefox OS apps. My current phone is a Sony Xperia Z3C, which was part of the many hardware partnerships Mozilla had made.
Despite this push, Firefox OS was discontinued and I even saw an employee throw a Firefox OS Flame into the donation box during an office clean up in Mountain View. Big companies took advantage of the integration to their large ecosystem of services to dominate the mobile market. Android benefited from Google service integration while iOS benefited from iTunes. I saw more and more news sites (e.g. The Independent, Valeurs Actuelles, etc.) use AMP links by default, a mostly proprietary technology for which Google made the push by ranking those websites higher up in their search results.

Due to this large ecosystem FAANG already benefit from, making independent products like Qwant is attempting is not enough by itself as a pitch. Innovation or reaching audiences that FAANG don’t dominate is the key to competing today. A successful startup based on Firefox OS’ legacy is KaiOS, a mobile OS for flip phones. It targets emerging markets like India where it managed to reach the second place ahead of iOS and behind Android. Despite Google and Apple being in this field, the financial market has seen successful startups like Transferwise (which I’ve used in the past year to travel), differentiating itself by providing fee-less international transfers, or Monzo, providing an innovative way of displaying your spending. Seeing these competitors shows hope for the future health of the internet.

Online communities #

What remains diverse on the web today are the people in online communities like deviantART or the now defunct Google+.

Google+ was a failed attempt to compete with Facebook: “communities“ were similar to Facebook “pages“, while “circles” were similar to “friends”. It wasn’t mainstream, but many digital artists would post art on there since Google had a better image than Facebook in the tech sphere. This is where I got to know Carlos Jeurissen, the developer of the award-winning browser extension Black Menu For Google and a great human I had the chance of meeting in real life last year. He is a very experienced developer, to a point that while trying to solve a problem for his extension, he found a security bug in the Google APIs and got invited to a security meetup. He currently passionately lives off from freelance and extension work.

Over the last decade, with the rise of online platforms, creating content online like YouTube videos (e.g. Ryan Higa who I started watching in 2010) or code have become things you can independently live off from. For others, it has become a hobby, like for Taskin Forkan (who I worked together on Altaica) who is studying “Neuroscience & Psychology” at the Johns Hopkins University and aims to become a doctor:

Nowadays the stuff I do in regards to coding is running websites for my university or stuff in my psychology lab where we use basic web design and java and matlab for various experiments. […] It’s so weird that for me all that stuff is still a hobby because that’s how I prefer it, yet somehow it still helps me out while working in unrelated fields.

Through Meetup or Mozilla events, I’ve met people in real life with the same interests and many interesting profiles, which has largely shaped who I am today.

There are fewer than 20 days to prepare for Brexit
Brexit advertisement in Bristol from October 2019, which still hasn’t happened

Despite how amazingly online communities was able to connect people together or even gave people a purpose, maybe it connected them too much by creating echo chambers? The UK got into this Brexit mess and Trump got elected, partially due to internet fake news or bots that led to indirect election meddling targeting older generations, widening the pre-existing generational gap. Hopefully, the future will see more legislation correcting this, like Twitter’s recent move to ban political ads.

Takeaways #

You’ve made it to the end! Evolution is not necessarily impressive when you passively lived alongside it. To me, seeing the internet evolve over the last decade has been an amazing learning and human adventure. This is just the tip of the iceberg and I’m sure others have seen things change in their own ways. I’m really looking forward to see what the next decade has to bring and I hope that the internet can evolve to be healthier and more diversified.

Big thanks to Justin Dolske, Taskin Forkan, Omkar Konaraddi, Stephen Zhao, Carlos Jeurissen, Dennis Jackson, Faizaan Sakib, Ainsley Rutterford and Oussama Ben Guirat for providing their great input.