Download the single file below and open it in any modern browser — it's the document, the viewer and the editor in one. Shipped files self-update through the signed release channel.
-
Bento Slides works on a phone. Eight changes land together, because
individually none of them was enough: a deck opened on a handset could be
looked at and rearranged, but not written.Text is editable by touch. Opening a text box was bound to double-click,
and a double-click never reaches the canvas from a touchscreen — so on a
phone a deck was effectively read-only. Elements selected, moved and resized;
no word in them could be changed. A tap on the box a previous tap selected
now opens it, and on a table it opens the cell under your thumb. Mouse
behaviour is untouched: one click still selects, two still open.A formatting bar, which is also the only route to any of this on a phone.
Select words inside an open box and a bar appears over them — bold, italic,
underline, strikethrough, code, title, heading, body, bulleted and numbered
lists, and clear formatting. Bold and italic previously existed with no
visible way to reach them (⌘B and markdown, neither mentioned anywhere in the
interface); lists and headings could not be made at all. They are real list
and heading tags in the document, sized proportionally, so a box keeps its
hierarchy when you resize it and the canvas, thumbnails, presenter and print
all agree.Lists and headings are the only part of this batch that changes what a file
can contain, and they are additive like everything else in the format: a deck
using them opens in any earlier copy of Bento, which keeps every word and
simply shows the list without its bullets until that copy is updated. The new
tags carry no attributes of their own, by construction.Pinch to zoom, and two fingers to move the canvas. A deck opens at
19–27% on a handset, so it always needs zooming, and the only way to zoom was
two small buttons in a corner. Pinch now drives the editor's own zoom,
anchored between your fingers rather than snapping back to the middle of the
slide, and the same gesture pans. The page itself still never zooms, and
one-finger selection and dragging are unchanged.Press and hold, or right-click, for a menu that belongs to the deck.
There was no context menu, so a right-click produced the browser's own — Back,
Reload, View source — which is the wrong set of verbs for a slide and the
first gesture most people try. Now an element offers Edit text, Cut, Copy,
Duplicate, Bring to front, Send to back, Group and Delete; a thumbnail offers
New, Duplicate and Delete slide; the canvas offers Paste. Press and hold is
the same menu on a phone. The browser's own menu is deliberately left in place
where it is the better one — form fields, links, and text you are editing,
where the system carries spelling, dictation and look-up.The toolbar can be reached at 320px. Fully folded the bar still needs
about 356px, and an iPhone SE — or any iPhone with Display Zoom on — is 320.
The surplus was simply cut off, which put the ⋯ button 36px past the edge of
the screen, taking Redo, Comment, Export PDF, Share, Language, Help and the
whole save-as list with it, none of which had another route on a phone. The
bar now scrolls, so a clipped button becomes a partly visible one.The panels get out of the way. Below 700px the side panels are drawers
laid over the canvas rather than columns beside it. Tapping a thumbnail
navigated correctly and then left the drawer covering the slide it had just
moved to, so every slide change cost a second trip to the toggle. Picking a
slide now closes the list, and tapping the slide beside any open overlay
dismisses it. On a wide screen the panels are still columns and stay put. -
Code on a slide — and it morphs. A slide can hold a code snippet, syntax
highlighted, and when the same snippet appears on two slides in a row the code
travels between them. A line that moved moves; a call that changed position
slides to where it went, and the lines it passes step out of its way. Nothing
blanks and redraws.This is the deck's existing morph pointed at source code. Show a refactor as
three slides and an audience watches the edit happen rather than comparing two
static screenshots — the starter deck now walks through fifteen years of
JavaScript, callbacks to promises toasync/await, and the code rearranges
itself at each step.Symbols with no counterpart on the previous slide fade in, staggered, once the
movement is already under way, so a newly introduced line arrives as part of
the same beat instead of snapping in. A word whose role changes while its
text does not —render(becoming.then(render)— keeps its identity and
travels, because turning a call into a reference is a refactor, not a rename.Highlighting is built in, covers 75 languages plus diffs and Markdown, and
costs a deck about 10 KB. It is deliberately the cheaper of two tiers: the
format keeps its seam for full grammars carried as per-deck assets, and
nothing here closes that door. -
A deck can set its own morph tempo. The default 0.65 seconds is tuned for
the ordinary case — a title sliding in, a shape growing, a journey of several
hundred pixels. A code symbol moves about one line height, and at that tempo
the whole journey is over in roughly 300 ms: measurably an animation, watchably
a blink. A deck built around small, precise movement can now choose a slower
beat, and decks that say nothing are unchanged.This one is a document setting (
present.morphSeconds, clamped to 0.1–6
seconds) with no control in the panel yet — reachable today by editing the
deck's JSON through Copy document JSON / Replace from JSON…. -
Deck-wide brand colours. The Slide panel gains a Theme section — a
background, a text colour and six accents — and every colour control now
offers those swatches above its picker. Pick one and the deck remembers where
the colour came from, so changing the theme later updates every element using
it, across every slide. Pick a custom colour instead and it stays exactly as
you set it: choosing by hand clears the link, because a colour you chose
deliberately should never be overwritten by a later theme edit.The document keeps ordinary colour values throughout, exactly as before — the
reference sits alongside them rather than replacing them. So a deck saved with
a theme still opens correctly in any earlier copy of Bento, which simply sees
a normal deck of normal colours. -
The web demo says where your deck went. bento.page always hands out a new
deck — that is what it is for — so anyone who saved from it and came back
later got a blank starter and reasonably read it as lost work. Their file was
on disk the whole time; nothing on screen said so.Saving from the web now leaves a line naming the file it went to, and saying
that this page always starts a new deck. Coming back after a save says the
same thing before you start typing into a fresh one, with the name of the file
to open — and Start a new deck anyway is always there, because some
visitors do want a fresh one.Two things genuinely do not survive that trip and are worth knowing: version
history and the recovery snapshot belong to the browser, not the file, so they
stay behind on bento.page when the deck moves to your disk. -
Every deck you save is smaller. The runtime each file carries is now packed
harder — about 26 KB off a Bento Slides file, for nothing given up. It is the
same compression format as before, searched more thoroughly at build time, so
files you already saved keep working and an older copy of Bento still updates
itself against a new shell exactly as it did. -
Saving into any of several granted folders. With the browser extension
installed, you can grant Bento more than one folder and a deck saves back to
whichever one it came from. Two decks that share a filename in different
folders both save correctly now; previously that ambiguity made Bento decline
the save. Granting a large folder no longer costs anything either, so a whole
home directory is as cheap as a single decks folder. -
The toolbar is centred on a phone, and the Save button has its outline
back. At phone widths the deck title had 90px to sit in and now has 220px,
because the folded bar centres and gives the title the room it frees. The Save
button had lost its right-hand border and rounded corner below 700px, where
the caret beside it is hidden — so it read as an unfinished edge rather than a
button. -
Fix: several buttons were unreadable in dark mode. White text on a
near-white button — the main action in a dialog, the toast that confirms a
save, the active chip in a settings row, and the + between slides. The
colour of the text was fixed while the colour behind it followed the theme,
so what read cleanly in light turned into white-on-white as soon as the
interface went dark. The panel chevrons had a milder version of the same
thing. Text now always takes the opposite colour to whatever it sits on. -
Fix: audio and video played in a show even with Autoplay switched off.
Set a clip's Autoplay to Off and it still started the moment its slide came
up — every time, in a saved file, on any browser. The only way to stop it was
to remove the clip.The flag was written as an empty attribute rather than left off, and the
slideshow engine treats an attribute that is present as a yes, whatever it
says. Bento's own check read the value and was right; it simply never got
asked. Present since audio and video arrived. -
Fix: a fading slide painted over the morph behind it. When a slide set to
fade handed off to a morph, the outgoing slide dissolved on top of the
animation — a 450 ms curtain over a 600 ms move — so the elements appeared to
jump straight to their new arrangement. They had been travelling the whole
time, underneath. Slides that hand off to a morph now cut instead. -
Fix: a formula's new symbols appeared instantly instead of fading in. A
formula gaining a term showed that term snapping into place while every other
symbol glided. Bento's animation engine recognised HTML and SVG elements but
not MathML ones, so the fade was quietly written to the wrong place and never
reached the screen. Formula symbols now arrive on the same staggered beat as
everything else. -
Fix: the palette swatches had a border you could not see on a dark panel.
The new theme swatches shipped with a border colour pinned to a light-mode
value while the panel behind it followed the interface theme — the same
mismatch the dark-mode fix above removes everywhere else. The border now
follows the theme too. -
Fix: the toast after saving an editor copy said only "Editor". In seven of
the eight built-in languages the message that confirms an editor copy was
saved carried the translation of the neighbouring one-word "Editor" label
instead of its own sentence, so a German user saving an editor copy saw a
toast readingBearbeiterand nothing else. All eight now say what actually
happened. Downloadable language packs were never affected. -
Fix: a diagram could restyle other diagrams on the same slide. An SVG
element can carry its own<style>block, and those rules were applied to the
whole page rather than to the drawing they belong to. So a diagram that styled
.dotor.labelsilently restyled every other SVG beside it — colours,
strokes and dimming rules leaking between unrelated drawings, and the more
diagrams a slide carried the stranger it looked.Nothing could escape further than that: a drawing's stylesheet has never been
able to load or run anything, and still cannot. This was one diagram reaching
another's appearance, not reaching out of the document.Bento already scoped the stylesheet you write in the element panel; the one
that arrives inside pasted or imported SVG markup was never scoped at all.
Both go through the same scoping now, and a drawing's own rules still apply to
it in full. -
Fix: a two-finger pinch on a phone could move an element and save the move.
Pinching to look closer at a slide would silently drag whatever was under
your fingers and commit that move to the document — no visible cause, and no
reason to reach for undo, so the deck was quietly wrong the next time you
opened it. Measured on a real deck: a title at (88, 122) landed at (566, 469)
after one pinch.The first finger had already begun an ordinary drag. Multi-touch over the
canvas was then swallowed so the page would not zoom — but swallowing the
events did not end the drag that was already running underneath, and it
committed on release like any other. The pinch now takes the canvas and stops
that drag, which is the same change that made pinch-to-zoom possible.Touch only, so phones and tablets, and it needed an element under your
fingers — which on a slide is the ordinary case. -
Filipino is now offered to people whose browser is set to Filipino. The
pack was filed undertl, the ISO 639-1 code for Tagalog, but browsers,
Android, iOS and macOS all report Filipino asfil/fil-PH— so the pack
could never be picked up automatically and only appeared if you went looking
for it by hand. It is filed asfilnow, withtlkept as an alias so a
system that does report the old code still lands on it, and so a file already
carrying the pack keeps working. Turkmen (tk) was checked at the same time
and needed no change:tk-TMis what a Turkmen system reports. -
Fix: a single click could leave an element stuck to the cursor, and the
click that freed it moved the element. Click once to select something and it
would occasionally follow the pointer around the slide as though you were
dragging it. The click that finally released it committed the move, so the
element stayed where the pointer happened to be — a selection turning into an
edit, with nothing on screen to say so and no reason to reach for undo.This one is not about phones. It is a race between how fast the click arrives
and how fast the machine can respond to it, so it bites slower hardware of any
kind: the person who reported it hit it roughly one click in five on an older
desktop and never once on a current laptop. If your deck has quietly lost its
layout and you have never pinched a phone screen, this is the more likely
cause. Measured on the same machine before and after: 22 of 24 clicks stuck,
then 0 of 24.