- Belgeleri/düzenleyiciyi/görüntüleyiciyi/sunum aracını tek bir
.bento.htmldosyasında toplayan, yalnızca tarayıcıyla açılıp düzenlenebilen ve sunulabilen bir PowerPoint alternatifi - Yaklaşık 570 KB boyutunda tek bir dosya eksiksiz bir uygulama gibi çalışır; hesap/bulut/kurulum programı olmadan kaydedilip e-posta veya AirDrop ile iletilebilir
- Slayt verileri dosyanın içinde okunabilir JSON olarak saklandığından Claude Code/Codex/Gemini/ChatGPT gibi yapay zeka ajanları dosyayı doğrudan düzenleyebilir
- Mevcut
.pptxdosyaları da yapay zekaya birlikte verildiğinde, basitçe dönüştürmek yerine Morph/gerçek zamanlı grafikler gibi Bento özelliklerini kullanan slaytlar olarak yeniden yazılabilir - Morph geçişleri/grafikler/video/ses/gerçek zamanlı şifreli iş birliğini destekler; Slides’ın ardından Docs ve Sheets de aynı tek dosya yaklaşımıyla sunulacak
Tek dosya hem belge hem uygulama
.bento.htmliçinde slaytlar ve tam düzenleme programı birlikte yer alır- Dosya tarayıcıda açıldığında düzenleyici hemen çalışır; kaydedildiğinde belge verisi dosyanın kendisine yeniden yazılır
- Yazı tipleri/görseller/grafikler de birlikte dahil edildiğinden yalnızca dosya kopyasıyla bağımsız olarak açılıp sunum yapılabilir
- Offline modunda güncellemeler ve iş birliği engellenerek tüm işlemler yerelde yürütülür
- Bento/Slides üzerinden tarayıcıda doğrudan çalıştırabilir veya tek uygulama dosyasını indirebilirsiniz
Yapay zeka ajanları için belge biçimi
- Belge verisi, dosyanın üst kısmındaki
<script type="application/bento+json" id="bento-doc">bloğunda düz metin JSON olarak saklanır window.bento.docile mevcut belge okunabilir,window.bento.loadDoc(json)ile değiştirilmiş belge yüklenebilir- Yapay zeka ajanları uygulama koduna dokunmadan yalnızca JSON’u değiştirerek slayt/grafik/sunumcu notları vb. ekleyebilir
- Claude Code/Cursor/Aider gibi kodlama ajanlarının yanı sıra dosya eki destekleyen genel sohbet botlarında da kullanılabilir
- Dosya desteklemeyen sohbet botlarında JSON kopyalanıp düzenlendikten sonra tekrar yapıştırılabilir
- Ollama/llama.cpp/LM Studio kullanıldığında yapay zeka ile düzenleme de tamamen yerelde çalıştırılabilir
- Yapay zeka ajanlarının Bento’dan doğru şekilde yararlanabilmesi için agents.md sağlanır
PowerPoint’ten çok web’e yakın sunum özellikleri
- Aynı
idye sahip öğelerin slaytlar arasında doğal biçimde hareket ettiği Morph geçişlerini destekler- Mevcut slayt kopyalanıp öğeler taşındığında veya stilleri değiştirildiğinde, ayrı bir zaman çizelgesi oluşturmadan geçiş hazırlanır
- Harici bağımlılığı olmayan kendi grafik motoruyla çubuk/çizgi/pasta/dağılım grafikleri çizer
- Çubuk/çizgi/pasta/dağılım grafikleri, sunum sırasında da araç ipuçları/yakınlaştırma/veri geçişi yapılabilir halde çalışır
- Video ve ses slaydın içine dahil edilebilir veya harici dosya olarak bağlanabilir
- Mevcut PowerPoint dosyaları olduğu gibi içe aktarılmaz; yapay zeka tarafından Bento belgesi olarak yeniden yapılandırılır
- Sunumcu ekranı/yorumlar/düzen/PDF dışa aktarma/birden fazla sayfa boyutu/8 UI dili de desteklenir
- Düzenleme masaüstü odaklı olsa da akıllı telefonda görüntüleme ve sunum yapmak mümkündür
Yerel öncelikli iş birliği
- Dosyadan canlı oturum başlatıldığında, aynı dosyanın kopyasını açan kullanıcılar iş birliği alanına katılır
- İş birliği verileri AES-GCM ile uçtan uca şifrelenir; aktarma sunucusu yalnızca şifreli metni işler
- Kendi CRDT’si gerçek zamanlı düzenlemeyi ve çevrimdışı değişikliklerin birleştirilmesini üstlenir
- İş birliği anahtarı dosyanın içinde yer aldığından dosyayı iletmek davet yöntemi olarak çalışır
- Çevrimdışıyken ayrışan düzenlemeler de yeniden bağlanıldığında iki yönlü olarak birleştirilir
Bento/Suite yol haritası ve lisans
- Şu anda dağıtımda olan Bento/Slides, Bento/Suite’in ilk uygulamasıdır
- Bento/Docs ve Bento/Sheets’in her biri bağımsız, kendi kendini içeren
.bento.htmldosyaları olarak sunulacak - Bento yazılımının kendisi MIT License ile açık kaynak olarak yayımlanmıştır
1 yorum
Hacker News yorumları
Bento'nun geliştiricisiyim. Dosyanın üst kısmında slayt verisi olan normal bir JSON bloğu bulunuyor; bu blok okunabiliyor,
grepyapılabiliyor veya otomasyon araçlarıyla işlenebiliyor. Uygulama, küçük bir yükleyiciyle çağrılan bir base64 blob'u; paketi küçük tutmak için tarayıcınınDecompressionStreamözelliğiyle açılıyor ve çalışırken dışarıdan dosya almıyorFile System Access API ile aynı dosyaya JSON'u yeniden yazıyor, desteklenmiyorsa normal indirme yöntemine dönüyor ve tüm güncellemeleri ECDSA ile imzalıyor. reveal.js tabanlı başladı; GSAP/Flip ve echarts ekledim ama boyut ve çalışma sorunları nedeniyle animasyon ve grafik özelliklerini tamamen kendim yeniden uyguladım
Özellikle CRDT işbirliğinin sorunsuz çalışmasından memnunum. Cloudflare Durable Objects üzerinde çalışan küçük bir kör röle yalnızca istemcinin şifrelenmiş verisini görüyor; davet dosyası paylaşılıp oturum başlatılana kadar işbirliği kapalı kalıyor. Erişim izinleri kullanıcı anahtarlarıyla yönetiliyor; böylece salt okunur kullanıcılar tanımlanabiliyor ve kullanıcı bazında gerçek zamanlı işbirliği yetkileri geri alınabiliyor
İşbirliği özelliği varsayılan olarak tüm kullanıcılara sunuluyorsa Cloudflare hesabına trafik yığılması riski olup olmadığını da merak ediyorum
PowerPoint'e benzetirken bu özellik çıkarılmış gibi görünüyor ama Reveal.js'te en sevdiğim özellik bu, umarım unutulmaz
Sunumlar yerine küçük React uygulamaları yapmaya odaklanan benzer bir araç geliştirdim. Örnek uygulama içeren temel HTML burada, belgeler ise burada; henüz cilalı değil ama kullanılabilecek durumda
Dosyaya veya
localStorage'a kaydetmeyi destekliyor, JSX dönüştürücüsü ve kod düzenleyicisi içeriyor; ayrıca dosya kaydetme, dönüştürme ve düzenlemeyi yöneten kabuktan JSX ve JSON verilerini ayırarak dışa aktarabiliyorMini uygulamaları kaydetmek için bir iOS uygulaması da yaptım. Yalnızca
localStorage'a bağlı kalmayıp veri ve kod değişikliklerini uzun vadeli olarak saklıyor; böylece kaydetme ve yenileme akışı sorunsuz oluyor. Sandbox, kaydedilmiş uygulamaların ağ çağrılarını engelliyor ama uygulama bazında izin verilebiliyor; ileride yerel editör benzeri kullanım kolaylıkları da eklemek istiyorumBu tür bir formun daha yaygınlaşacağını düşünüyorum. HTML, TypeScript, React vb. ile pek çok yazılımı tamamen yerelde sunmak ve durumu da yerelde tutmak mümkün, ama şimdiye kadar ekonomik teşvikler yetersizdi
Ben de kişisel olarak Kimi K3 kullanarak lineer cebirden kuantum fiziğine kadar uzanan, mobil uyumlu bir oyun yapıyorum. Nöroçeşitlilik sahibi kullanıcıları gözetmek, tüm durumu yerelde saklamak ve GitHub Pages üzerinden sunarak insanlarda bu alana ilgi uyandırmak hedefim. Çeşitli uzmanlıklar ve zaman gerektirdiği için, LLM olmasaydı ekonomik olmayacak bir projeydi; kendim oynayıp geliştirerek hataları temizledikten sonra HN'de paylaşmayı planlıyorum
Gerçek zamanlı ziyaretçi defterini keyifle kullandım ama sonunda M1 Mac'im kilitlendi ve zorla yeniden başlatmam gerekti. HN'nin tamamı aynı anda düzenleme yapmıyorsa çoğu durumda iyi çalışacaktır ama Figma'nın WASM ve özel bir renderer kullanmasının bir sebebi var gibi görünüyor
Başka kullanıcılar alakasız şeyleri değiştirirken mevcut giriş odağı sıfırlanmamalı. Ayrıca açılış sayfası ve örnek destedeki metinler fazla LLM tarzı; HN gönderi metni çok daha rahat okunuyor. Bunu özgür açık kaynak yazılım olarak yayımlamış olmanız harika
Metin sorununa da katılıyorum ama yazı konusunda kendime güvenmiyorum ve iş ile çocuk bakımı arasında zamanım kısıtlı, bu yüzden zamanla iyileştirmeyi düşünüyorum
Bu tek dosyalık web uygulaması kavramını yaygınlaştırıyorum; önerilen Wikipedia taslağına Bento'nun eklenmesi güzel olabilir
.htmldosyasıydı; şaka yollu ilk gerçek single-page app diyordumyoudiye hitap etmesi gibi nedenlerle Wikipedia maddesi gibi durmuyor. Wikipedia, yerleştirmek istediğiniz kavramları tanıtma yeri değil; üçüncül bir kaynak olmalı, bu yüzden pek uygun görünmüyorClaude'a yalnızca Bento tekniğini anlatarak kullanabilmek etkileyici
Uzun süre draw.io ile diyagram hazırlarken, belgeyi düzenleyiciyle birlikte dosyanın içinde bir iframe blobu gibi saklama yönteminin zekice olduğunu düşündüm. Ancak draw.io'da düzenleyicinin kendisi dosyaya dahil edilmediği için kodun web bağlantısıyla yüklenmesi gerekiyor.
Bu yaklaşımın başlıca kullanım senaryosu olabilmesini umuyordum; Bento da neredeyse tam olarak hayal ettiğim şey gibi görünüyor.
Kurumsal ortamlarda çok yaygın bir ihtiyacı karşılıyor. Şirket içindeki bazı ekipler, mevcut sunum ve görselleştirme yazılımlarındaki hatalar düzeltilmediği ve özel özellikler eklenmediği için bulut veya masaüstü ürünlerini bırakıp HTML·JavaScript tabanlı araçlara geçti.
Kurum içi BT organizasyonundaki küçük iktidar sahipleri biraz gerilmeli gibi.
Boş bir Bento'yu tarayıcının "siteyi uygulama olarak yükle" özelliğiyle PWA olarak kurup, yazar adı gibi bilgileri otomatik doldurduktan sonra salt okunur hale getirip kullanıcının "farklı kaydet" yapacağı bağımsız bir sunum aracı tasarlıyorum.
Yazar bilgileri dışında salt okunur olan boş bir varsayılan belgeyi PWA olarak kurma özelliğinin projeye dahil edilmesi güzel olurdu.
Barındırılan sürümde kullanıcıların isteyeceği özelliklerle Bento'nun özel ilkelerini nasıl koruyabileceğimi daha fazla incelemeyi planlıyorum.
Kod ajanlarıyla HTML sunumları oluşturunca sonuçlar oldukça iyi oluyor. Amaca göre Markdown tabanlı Slidev kullanılabilir ya da matematiksel ifadeleri özellikle çok güzel olan Typst slaytları da ajanlarla üretilebilir.
Yalnız başlığa bakınca bunun doğrudan PowerPoint ile ilgili bir araç olduğunu sanmıştım, ama aslında PowerPoint'i "sunum"un eşanlamlısı olarak kullanmış. PowerPoint'ten hoşlanmayan çok kişi olduğu düşünülürse bu biraz ironik.