Going Vanilla JS

26/02/2023 04:09:58 - Philmo

Abstract

Background

Abroad

Independent

From scratch

Generative art

Diffusion

Bitcoin Ordinals

Abstract

Since the beginning of internet and the first interactive web pages, to the implementations of complex frameworks, libraries and tools, the web has produced tons of standardized ressources helping developers and creators by leveraging functionalities. As a creative coder and web developer who’s experiments and work begun with the arrival of internet, I followed these improvements.

As early as 2004 I was building websites using the native web languages to be introduced two years later to creative coding on Processing; an open source software running lightweight java and dedicated to graphic and aesthetic creations on desktop which I used to build user interfaces.

Background

Passionated by sciences and technology I followed some chemistry studies in a polytechnic university and I was fast introduced to computational chemistry which built my growing interest for programming. Chemistry at that time was facing a though reality, the transformation of a market oriented in organic petrochemical into biotechnology with the close call to an end of fossil ressources that were powering this industry while in the meantime digitalisation was creating new opportunities. As a chemist student it was then possible to work on some research exclusively with computer, modeling this way molecules in virtual environment simulating lab’s conditions, physic’s laws, biological rules and chemical processes. The data could then be used in a physical lab cutting this way research’s costs and opening partnership with other universities around the globe.

Abroad

My creativity was at its lowest while I was cold and square enough to fit in the scientific academic milieu. I eventually discovered my creativity while being abroad pursing my studies, in a city that never sleeps and where music, arts and trends are sculpted by a strong history; Berlin. I was then on a race and journey to discover my art style without knowing at the time which mediums would be a vehicle of my creative ideas while feeling like breathing for the first time facing the idea of a vast field filled with new opportunities. Music became part of my life through digital music production and following this idea of experimenting new grounds I eventually combined my interest for electronic, programming and music by creating interaction design projects which led me to integrate an art school in the same field. I was blossomed in an emerging environment combining art and sciences through digital medias and programming; my first steps into coded generated art; a milieu which at the time had no markets beyond it’s use to embellish websites with animations.

Independent

I found a small job in graphic design and web development in a small company, where I developed my web programming skills at a time when new digital web tools were popping including the birth of javascript server-side oriented. I could build a whole ecosystem of dynamic websites and content management systems with the sole help of javascript. Cutting this way the time of production, I started using framework and libraries, tools that were far from any of my interests as I always valued "starting from scratch". All this opportunities led me to stop my studies and work to start some activity as an independent developer.

There was huge businesses opportunities popping around new web technologies and the idea that companies would need at some point to upgrade their stack to match a never ending race for interactivity, responsivity, security and other concepts used over the internet. With a well design web ecosystem based on components, templates could then be reused from projects to projects cutting the time and costs of production making use of frameworks. In the same way I had enough time to experiment other tools and technologies at a time when machine learning was becoming a trend while most of the web giants were open sourcing ressources. The perfect time to build as an independent.

From scratch

Reality hit hard when I had to face some health issues due to a never ending grind on projects and continuous interaction with loads of information which prevented me from any activities in the form of a mental health condition. I eventually had to learn everything again from scratch; thing that I did over a never ending period of time as it felt; to be able today to work again in the web development milieu.

In the meantime while making some research on finding away to safely deliver image content from an API to a web client, I heard of NFTs. My interest for blockchain grew, developing a smart marketplace for creative code and generative art while having no idea that a giant market around digital art and coded generated creations was appearing out of such technologies. My journey in NFTs started and I decided to update my skills and knowledge on programming creative tools and especially through a javascript library built for animations and generative art on the web.

Generative art

Releasing several projects and building amongst the community, I followed some out-of-the-box trends to be a part time generative artist creating code hosted in a decentralized way on blockchain ledgers while rendering live visuals that could be tuned by the deterministic randomness used to secure the blocks of these chains. Blossomed to rediscover my creativity over such mediums I perfected my skills in using libraries libraries while my work on website was powered by the modularity of framework. I had no idea that some constraint would lead me to drop such tools to adopt a way of developing natively (without the use of libs or frameworks).

On the blockchain - a consensus of interconnected computer able to store and retrieve safely data without physically hosting them at a specific location - every bytes of information worth being spared reducing this ways the costs of transactions; an indicator of the workload of the system, implemented to reward miners for providing their computational ressources in order to keep the network secure. New constraints were appearing when developing creative projects to be hosted on the web as NFT and the arrival of bitcoin ordinals token changed my way of working.

Diffusion

My longest project to date is a physic based simulation make measurements on a tensor at every points of the space in a defined field. Combining Calculus, trigonometry and several algorithms, this project was a long form research on maths and coding experiment over 3 months to obtain the desire aesthetic outputs. Making use of several libraries for computations, I had no idea that blockchain’s constraint would force me to refactor my entire project to go Vanilla js, a term to emphasize the fact that a sketch, project or website uses pure javascript without the help of more efficient preprogrammed functions out of libraries or frameworks. It does lead to more flexibility for integration and compatibility over different devices reducing the same way a program of 800ko to a thousands lines code weighting less than 16ko while having more controls on all the parameters since everything has to be implemented from scratch.

It turns out that these constraints led to the satisfying process of cleaning the project’s code towards more efficiency and compatibility; allowing the generative artwork to be hosted and displayed on the blockchain in an interoperable way.

Bitcoin Ordinals

It worth nothing that amongst all this complexity the optimal solution for a function or an algorithm often coms from an elegant and simple solution making use of low level implementations (close to hardware) while librairies and frameworks are more high level (important level of abstraction between the code and the hardware).

A nod to the structure of the blockchain making use of both low level and high level code to leverage the power of a tool that could integrate infrastructures on large scale in a society while redefining humans interactions and solving nowadays issues on the web and its ecosystem.

My projects are now available on bitcoin’s blockchain in the form of generative token that can be minted creating unique outputs through a controller randomness issued from the structure of the chain; blocks of informations on which data can be inscribed to last forever… (at least until electricity production lasts).


Comments