OpenVibe

The OpenVibe mark

A ring and a round V.

The O is the network, open to everyone; the V is the vibe in it. Where they cross, the ground shows through, so the mark holds on anything: a dark theme, a light one, a photo. It moves only when it has something to say.

It moves when it means something

Every move is a word: one shape says working, thinking, done, failed and live, in colour and in form. The only thing that goes round is its own O.

OpenVibe

Still. It moves for a moment on your first visit, and when you point at it.

  • OpenVibeWorking The O breaks into dots that go round while the V bobs: something is on its way.
  • OpenVibeThinking Three dots rise inside the O and the V glimmers: your agent is thinking or writing.
  • OpenVibeDone The V becomes a tick and goes green. The tick only ever means done.
  • OpenVibeFailed The V becomes an exclamation mark, red, and the mark shakes once.
  • OpenVibeDeclined The V becomes a cross, grey: cancelled, turned down, not now.
  • OpenVibeSomething new A dot pops up by the V: something is waiting for you.
  • OpenVibeLive The O is the record light and the signal goes out from it.
  • OpenVibeAsleep The O closes like an eye: offline, or down for maintenance.
  • OpenVibeA page on its way Follow a link and the navbar’s ring empties, then draws itself round as the next page loads, at the pace this site usually takes in your browser. It closes and the V hops when the page is here.

The motion, as files

For a video, a slide or a stream overlay. Each one is rendered from the same ov-mark.js the navbar runs, so what you download is how the mark really moves. On a web page, drop in the live mark instead: it moves, and it keeps still under reduced motion. Everything else on OpenVibe moves the same way: see the motion.

The introThe ring draws round, the V drops in on a spring, a glint crosses and the glow comes up. About two seconds, once.
The Live introThe same arrival, with Live’s record light in the O.

The live mark, on any page

<script src="https://openvibe.design/shared/ov-mark.js"></script>
<span class="ov-mark" data-size="64"></span>

One shape at every size

At 22 px and under the strokes thicken (the heavy form), so the gap around the V stays open on a favicon or inside a button.

OpenVibe
16 pxheavy
OpenVibe
20 pxheavy
OpenVibe
24 pxpair
OpenVibe
32 pxpair
OpenVibe
48 pxpair
OpenVibe
96 pxpair

On any ground

The gap is cut out of the ring, not painted, so whatever is behind the mark shows through it.

OpenVibe
Night
OpenVibe
Day
OpenVibe
A picture
OpenVibe
White, on colour
OpenVibe
Ink, one colour
The OpenVibe app icon
The app icon

The names beside it

Names are set in Nunito, round like the mark, at 800 and 900. Everything you read is set in Inter where you have it, and otherwise in your system’s own face.

OpenVibeOpenVibe
OpenVibeOpenVibe.Live
OpenVibeOpenVibe.Codes
OpenVibeOpenVibe.Chat
OpenVibeOpenVibe.Games
OpenVibeOpenVibe.VIP

Nunito for names · 800, 900

Inter for everything you read, or your system’s face

Colours

Two for the mark. The rest belong to its states, and come from the theme where the theme has them.

O blue#4f7cffthe ring
V violet#8b5cf6the V
Done#22c55ethe tick
Failed#ef4444the "!"
Live#ff3b5cthe record light
Declined#94a3b8the cross

Use it

On any page, in any app, with every move above. It is open source (MIT); the font is Nunito (SIL Open Font License).

On a web page

<script src="https://openvibe.design/shared/ov-mark.js" async></script>

<span class="ov-mark" data-size="48"></span>
<span class="ov-mark" data-size="34" data-wide></span>
<span class="ov-mark" data-size="20" data-state="busy"></span>

<!-- data-state    busy, ok, error, no, notify, live, sleep
     data-progress 0.4, with style="--ovm-p:.4"
     data-tone     ink or white: one colour
     data-wide     the box hugs the mark
     OVMark.intro(el) plays the intro again -->

On a server, or in an app openvibe-shared v4.59.0 or later

const mark = require('openvibe-shared/mark');

mark.svg({ size: 64 });             // 64 px square
mark.svg({ wide: true, size: 32 }); // 53 × 32
mark.svg({ tone: 'white' });        // one colour
mark.svg({ form: 'heavy' });        // 22 px and under

The names’ face

@font-face {
  font-family: 'OV Brand';
  src: url(https://openvibe.design/shared/ov-brand.woff2) format('woff2');
  font-weight: 700 900;
  font-display: swap;
}
.name { font: 800 1em 'OV Brand', Nunito, sans-serif; }

Files

Keep it itself

OpenVibe

Do: give it room. Leave the width of the ring’s stroke clear on every side, and more beside a name.

OpenVibe

Do: use one colour when two won’t do. Ink on paper and white on colour are the only other ways to draw it.

OpenVibe

Don’t: recolour, rotate or outline it. A violet O or a slanted V is someone else’s mark.

OpenVibe

Don’t: spin it, or tick it for anything but done. A loading mark bobs and breathes; the tick is the only way it says yes.