view.art

view.art

Spotify for generative art

204
Built at Onchain Summer Buildathon

The problem view.art solves

view.art is a web client & backend protocol that allows users to discover & display generative art directly in their browser.

The Problem

Platforms have simplified the process of creating art, but the post-mint experience is lacking. Art languishes in wallets, viewed rarely or on screens that are too small to appreciate the depth of the work. Serious collectors are willing to jump through hoops today, installing premium screens for tens of thousands of dollars and buying custom displays.

But not everyone has the time or income to do this. If digital art is going to scale, it needs to be faster, easier, & cheaper to have a premium experience at home or in the office.

Why Now?

Collectors are eager to show off their collections & ongoing improvements in self-custody wallets provide a seamless onboarding for new consumers. An opportunity for a streaming service has emerged that is focused on the unique requirements for digital art, starting with responsive generative algorithms.

Introducing view.art

view.art is a streaming service that allows anyone to display generative art directly in their browser. It uses Smart Wallet to simplify the onboarding process to get up and running in under 20 seconds.

Underneath this simple interface is a powerful distribution model. Users are assigned custom channels where they can promote their favorite artists and curate collections for friends to watch. Artists can use channels to showcase their latest work, or to reach new audiences through devices placed in offices, galleries, and museums.

Features of view.art:

  • Curation across platforms & chains
  • Passive view mode for home & office
  • Precurated playlists
  • Mobile optimized
  • Simple memorable URL for artists

Challenges we ran into

view.art uses server-side events to synchronize playlists across multiple concurrent clients. This allows anyone to view the same stream simultaneously, even if they aren't watching when the item or playlist is sent to the channel. This is accomplished using a clever hack that takes advantage of the Unix epoch time to calculate which item in the playlist should currently be displayed or processed based on the current time and the length of the playlist. This one line implementation is a simple fix for what would otherwise have been a wicked synchronization problem across an unlimited number of devices.

To display responsive generative art in the browser, we embedded an iFrame that injests javascript code and runs the resulting algorithm within the user's browser, relying on the local device's processing power instead of streaming an mp4 file from the cloud. This provides better offline support since the entire playlist payload is sent upfront, allowing the work to continue running even if the internet connection is dropped. This is especially important for enterprise settings (e.g. an office), where the screen may remain on and untouched for weeks at a time, including periods where WiFi is intermittent.

We constructed our own wordlist using the BIP39 methodology to construct unique deterministic channel URLs based on wallet address. The channel will always be in format adjective-color-noun to make it friendly and easier to remember. This was surprisingly more difficult than expected.

Our goal is to have the backend, currently hosted as a public Rust Github repo, available as an open-source protocol that allows many clients, including view.art, to read and record playlist data and channel ownership. This is similar to the Warpcast :: Farcaster or Gmail :: SMTP relationship; many clients can access a shared state. To support this design decision, we open-sourced the backend while keeping the client code private to support ongoing development of the product.

Tracks Applied (3)

Coinbase Smart Wallet

We use Coinbase Smart Wallet to generate an Ethereum wallet that is used as the primary UUID and used to generate a uniq...Read More

OnchainKit

We used Onchain Kit for the Coinbase Smart Wallet integration and as a launching point for our UI system. Specifically, ...Read More

Creator Track

view.art is a better way to discover great art. It makes it simple for artists to share short, memorable portfolios of ...Read More

CREATOR with Zora

Cheer Project

Cheering for a project means supporting a project you like with as little as 0.0025 ETH. Right now, you can Cheer using ETH on Arbitrum, Optimism and Base.

Discussion