- दस्तावेज़/एडिटर/व्यूअर/प्रेज़ेंटेशन टूल को एक ही
.bento.htmlफ़ाइल में रखकर, सिर्फ़ ब्राउज़र से खोलने, एडिट करने और प्रेज़ेंट करने वाला PowerPoint विकल्प - लगभग 570KB की एक फ़ाइल पूरी application की तरह काम करती है, और account/cloud/installer के बिना सेव करके email या AirDrop से भेजी जा सकती है
- स्लाइड डेटा फ़ाइल के अंदर पढ़ने योग्य JSON के रूप में सेव होता है, इसलिए Claude Code/Codex/Gemini/ChatGPT जैसे AI agents फ़ाइल को सीधे संशोधित कर सकते हैं
- मौजूदा
.pptxको भी AI के साथ भेजने पर, simple conversion के बजाय Morph/real-time charts जैसी Bento सुविधाओं का उपयोग करने वाली स्लाइड्स के रूप में दोबारा लिखा जा सकता है - Morph transitions/charts/video/audio/real-time encrypted collaboration का समर्थन करता है, और Slides के बाद Docs और Sheets को भी इसी single-file तरीके में देने की योजना है
एक फ़ाइल ही दस्तावेज़ भी है और app भी
.bento.htmlके अंदर slides और पूरा editing program साथ में होता है- ब्राउज़र में फ़ाइल खोलते ही editor तुरंत चल जाता है, और save करने पर दस्तावेज़ डेटा फिर से उसी फ़ाइल में लिखा जाता है
- फ़ॉन्ट/इमेज/चार्ट भी साथ शामिल होते हैं, इसलिए सिर्फ़ फ़ाइल की copy से इसे स्वतंत्र रूप से खोला और present किया जा सकता है
- Offline mode में updates और collaboration को रोककर सारा काम local पर process किया जाता है
- Bento/Slides में सीधे ब्राउज़र से चला सकते हैं या single application file डाउनलोड कर सकते हैं
AI agents के लिए दस्तावेज़ format
- दस्तावेज़ डेटा फ़ाइल के शीर्ष पर
<script type="application/bento+json" id="bento-doc">block में plain text JSON के रूप में सेव होता है window.bento.docसे मौजूदा दस्तावेज़ पढ़ सकते हैं औरwindow.bento.loadDoc(json)से संशोधित दस्तावेज़ load कर सकते हैं- AI agents application code को छुए बिना केवल JSON संशोधित करके slides/charts/speaker notes आदि जोड़ सकते हैं
- Claude Code/Cursor/Aider जैसे coding agents के साथ-साथ file attachment support करने वाले सामान्य chatbots में भी उपयोग किया जा सकता है
- जो chatbots files support नहीं करते, उनमें JSON copy करके संशोधित करने के बाद वापस paste किया जा सकता है
- Ollama/llama.cpp/LM Studio इस्तेमाल करने पर AI editing भी पूरी तरह local पर चल सकती है
- agents.md उपलब्ध कराता है, ताकि AI agents Bento का सही तरीके से उपयोग कर सकें
PowerPoint से ज़्यादा web जैसी presentation सुविधाएँ
- समान
idवाले elements को slides के बीच स्वाभाविक रूप से move कराने वाले Morph transitions का समर्थन- मौजूदा slide duplicate करके elements को move करने या style बदलने पर, अलग timeline बनाए बिना transition बन जाता है
- अपनी dependency-free chart engine से bar/line/pie/scatter plots बनाता है
- Bar/line/pie/scatter charts presentation के दौरान भी tooltips/zoom/data switching के साथ काम करते रहते हैं
- Video और audio को slides के अंदर include कर सकते हैं या external files से link कर सकते हैं
- मौजूदा PowerPoint files को जस का तस import करने के बजाय AI उन्हें Bento document के रूप में फिर से संरचित करता है
- Presenter view/comments/layout/PDF export/multiple page sizes/8 UI languages का भी support है
- Editing desktop-केंद्रित है, लेकिन smartphone पर भी देखना और present करना संभव है
Local-first collaboration
- फ़ाइल से live session शुरू करने पर, उसी फ़ाइल की copy खोलने वाले users collaboration space में शामिल होते हैं
- Collaboration data AES-GCM से end-to-end encrypted होता है और relay server केवल ciphertext process करता है
- इसका अपना CRDT real-time editing और offline changes merge करने का काम संभालता है
- Collaboration key फ़ाइल में ही होती है, इसलिए फ़ाइल भेजना invitation mechanism की तरह काम करता है
- Offline में अलग-अलग हुए edits भी दोबारा connect होने पर दोनों दिशाओं में merge हो जाते हैं
Bento/Suite roadmap और license
- अभी distribute हो रहा Bento/Slides Bento/Suite की पहली application है
- Bento/Docs और Bento/Sheets को अलग-अलग self-contained
.bento.htmlfiles के रूप में देने की योजना है - Bento software खुद MIT License के तहत public है
1 टिप्पणियां
Hacker News की राय
मैं Bento का निर्माता हूँ। फ़ाइल के ऊपर स्लाइड डेटा वाला एक साधारण JSON ब्लॉक होता है, इसलिए उसे पढ़ा जा सकता है,
grepकिया जा सकता है, या automation tools से प्रोसेस किया जा सकता है। ऐप एक base64 blob है जिसे एक छोटे loader के ज़रिए लोड किया जाता है, और browser केDecompressionStreamसे decompress किया जाता है ताकि package छोटा रहे और runtime पर कोई external file fetch न करनी पड़ेFile System Access API उसी फ़ाइल में JSON फिर से लिख देती है, और जहाँ यह supported नहीं है वहाँ सामान्य download fallback इस्तेमाल होता है। सभी updates पर ECDSA signature लगते हैं। यह reveal.js पर आधारित था, जिसमें GSAP/Flip और echarts जोड़े थे, लेकिन size और behavior समस्याओं के कारण animation और chart features दोनों को फिर से खुद implement किया
खास तौर पर CRDT collaboration का smooth तरीके से काम करना संतोषजनक है। Cloudflare Durable Objects पर चलने वाला एक छोटा blind relay client के encrypted data को ही देखता है, और invite file share करके session शुरू करने तक collaboration बंद रहती है। user keys से access control manage किया जा सकता है, जिससे read-only users रखे जा सकते हैं, और user-by-user real-time collaboration permission भी revoke की जा सकती है
अगर collaboration feature सभी users को default रूप से दिया जाता है, तो क्या Cloudflare account पर traffic उमड़ने का जोखिम नहीं है?
इसे PowerPoint जैसा बनाते हुए शायद यह feature हटा दी गई है, लेकिन Reveal.js में यह मेरी पसंदीदा feature है, इसलिए उम्मीद है कि इसे भुलाया नहीं जाएगा
मैंने presentation की बजाय छोटे React app बनाने पर केंद्रित एक similar tool बनाया है। example app के साथ base HTML यहाँ है, और docs यहाँ हैं। अभी polish नहीं हुआ है, लेकिन काफ़ी usable है
इसमें JSX transformer और code editor built-in हैं, file या
localStoragesave को support करता है, और file save, transformation, और editing संभालने वाले shell से JSX और JSON data को अलग करके export भी किया जा सकता हैmini apps save करने के लिए मैंने एक iOS app भी बनाया है। यह सिर्फ़
localStorageपर निर्भर नहीं करता, इसलिए data और code changes को long-term store करता है और save-refresh flow smooth रहता है। sandbox saved apps की network calls रोकता है, लेकिन app के हिसाब से allow किया जा सकता है, और आगे native editor जैसी convenience features भी जोड़ना चाहूँगालगता है कि इस तरह का रूप और आम होगा। बहुत-सा software HTML·TypeScript·React आदि के साथ पूरी तरह local में serve किया जा सकता है और state भी local रखी जा सकती है, लेकिन अब तक इसके लिए आर्थिक प्रोत्साहन कम था
मैं व्यक्तिगत रूप से Kimi K3 का उपयोग करके एक mobile-friendly game बना रहा हूँ जो linear algebra से लेकर quantum physics तक को कवर करता है। लक्ष्य यह है कि neurodiverse users का ध्यान रखा जाए, सारी state local में save हो, और इसे GitHub Pages पर serve किया जाए ताकि लोगों की इस क्षेत्र में रुचि बढ़े। यह ऐसा project है जिसमें विविध expertise और समय चाहिए, और LLM के बिना यह आर्थिक रूप से संभव नहीं होता। खुद खेलकर, सुधारकर और bugs हटाकर इसे बाद में HN पर साझा करूँगा
मैंने real-time guestbook का मज़े से उपयोग किया, लेकिन आख़िर में मेरा M1 Mac अटक गया और मुझे force reboot करना पड़ा। अगर HN के सारे लोग एक साथ edit न कर रहे हों तो अधिकतर स्थितियों में यह ठीक चलेगा, लेकिन Figma WASM और custom renderer इस्तेमाल करता है तो उसकी वजह समझ में आती है
जब कोई दूसरा user असंबंधित चीज़ बदल रहा हो, तब current input focus reset नहीं होना चाहिए। साथ ही landing page और example deck की wording बहुत ज़्यादा LLM जैसी लगती है, जबकि HN submission text काफ़ी ज़्यादा readable है। इसे free open source software के रूप में जारी करना शानदार है
wording वाली बात से भी सहमत हूँ, लेकिन लिखने में आत्मविश्वास कम है और नौकरी व बच्चों की देखभाल के बीच समय कम पड़ता है, इसलिए इसे धीरे-धीरे सुधारने का सोच रहा हूँ
मैं इस single-file web app विचार को फैलाने की कोशिश कर रहा हूँ, और प्रस्तावित Wikipedia draft में Bento को जोड़ना अच्छा हो सकता है
.htmlfile थी जिसमें images, icons, और styles सब inline थे और जो offline काम करती थी, इसलिए मज़ाक में इसे पहला सच्चा single-page app कहा थाyouकहकर संबोधित करने जैसी वजहों से, Wikipedia लेख जैसा नहीं लगता। Wikipedia किसी स्थापित किए जाने वाले concept के प्रचार की जगह नहीं है; उसे tertiary source होना चाहिए, इसलिए यह सही जगह नहीं लगतीयह काफ़ी बढ़िया है कि Claude को बस Bento techniques के बारे में बता देने से ही इसका उपयोग किया जा सकता है
लंबे समय तक draw.io से डायग्राम बनाते हुए, यह तरीका काफ़ी स्मार्ट लगा कि डॉक्यूमेंट को एडिटर और फ़ाइल सहित एक iframe blob की तरह सेव किया जाए। लेकिन draw.io में एडिटर खुद फ़ाइल में शामिल नहीं होता, इसलिए कोड वेब कनेक्शन से लाना पड़ता है
उम्मीद थी कि इस तरीके को मुख्य उपयोग उदाहरण बनाया जा सके, और Bento लगभग वैसा ही है जैसा मैंने कल्पना की थी
यह enterprise माहौल की एक बहुत आम ज़रूरत को पूरा करता है। कंपनी के अंदर कुछ टीमों ने मौजूदा presentation और visualization software के bugs ठीक न होने और custom features न जुड़ने की वजह से cloud या desktop products छोड़कर HTML·JavaScript आधारित tools अपना लिए
अंदरूनी IT टीम के छोटे-छोटे सत्ता केंद्रों को अब थोड़ा सतर्क हो जाना चाहिए
मैं एक standalone presentation tool की कल्पना कर रहा हूँ जिसमें खाली Bento को browser के 'site को app की तरह install' फीचर से PWA install किया जाए, लेखक का नाम वगैरह अपने-आप भरा जाए, फिर उसे read-only बना दिया जाए ताकि user 'Save As' कर सके
अच्छा होगा अगर project में ऐसा फीचर शामिल हो जिससे लेखक जानकारी के अलावा read-only रहने वाला खाली default document PWA के रूप में install किया जा सके
hosted version में users की ज़रूरतें पूरी करते हुए Bento के खास सिद्धांतों को कैसे बनाए रखा जाए, इसे और देखूँगा
code agents से HTML presentations बनवाने पर नतीजे काफ़ी अच्छे आते हैं। मकसद के हिसाब से Markdown-आधारित Slidev इस्तेमाल किया जा सकता है, या फिर agent से Typst slides भी बनवाई जा सकती हैं, जिनमें math expressions ख़ास तौर पर बहुत सुंदर दिखते हैं
लेकिन शीर्षक देखकर मुझे लगा था कि यह PowerPoint से सीधे जुड़ा कोई tool है, जबकि असल में यहाँ PowerPoint शब्द 'presentation' के पर्याय की तरह इस्तेमाल हुआ है। यह थोड़ा विडंबनापूर्ण है, क्योंकि PowerPoint को नापसंद करने वाले लोग भी काफ़ी हैं