3 puan yazan GN⁺ 4 시간 전 | 1 yorum | WhatsApp'ta paylaş
  • Belgeleri/düzenleyiciyi/görüntüleyiciyi/sunum aracını tek bir .bento.html dosyası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 .pptx dosyaları 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.html iç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.doc ile 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.html dosyaları olarak sunulacak
  • Bento yazılımının kendisi MIT License ile açık kaynak olarak yayımlanmıştır

1 yorum

 
GN⁺ 4 시간 전
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, grep yapı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ın DecompressionStream özelliğiyle açılıyor ve çalışırken dışarıdan dosya almıyor
    File 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

    • Proje için bir hafta önce yeni bir GitHub hesabı açılmış gibi görünüyor; bakım ve güvenlik geçmişini görebileceğimiz başka bir GitHub hesabı olup olmadığını merak ediyorum
    • Yalnızca tek bir dosyayla çalışırken CRDT'nin nerede çalıştığını ve sunucunun nerede olduğunu merak etmiştim. TiddlyWiki'yi sevmiştim ama benimseyemedim; buna karşılık kolay düzenlenebilir sunumlar anlaşılması kolay bir kullanım örneği
      İş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
    • Reveal.js'in sihirli özelliklerinden biri, örnekteki gibi yukarı-aşağı gidilen dikey slaytlar. Tek bir slayt destesinden, izleyiciye göre aşağı inip teknik ayrıntı gösterebilir ya da bunu atlayabilirsiniz
      PowerPoint'e benzetirken bu özellik çıkarılmış gibi görünüyor ama Reveal.js'te en sevdiğim özellik bu, umarım unutulmaz
    • Bento v2'ye yükseltildiğinde v1 slayt destelerinin ne olacağını merak ediyorum. Yükselt düğmesine basınca mevcut JSON slayt verisini v2 kabuğuna aktarabilmek gerekir
    • Şeytani Office biçimlerini destekleme yolu cehenneme çıkar; bu yüzden buna PowerPoint yerine slayt gösterisi demeyi tercih ederim. Umarım bu kadar basit bir biçim standart olur ve eski biçimler ortadan kalkar
  • 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 aktarabiliyor
    Mini 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 istiyorum

  • Bu 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

    • Düzenleme kontrolleri ve içeriğin tek bir HTML dosyasında bulunduğu hibrit belgeleri bir iş arkadaşımla konuşmuştuk. Feather Wiki gibi vikiler bunun öncülü; SVG ya da elektronik tablo olarak uygulanırsa nasıl görüneceğini merak ediyorum
  • 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

    • Spam nedeniyle ziyaretçi defterini sıfırladım; şu anda epoch 4'te. Odak sıfırlama sorunu bir-iki kişiyle yapılan testlerde ortaya çıkmamıştı ama hemen düzelteceğim
      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

    • 2013'te yaptığım mdwiki de buna uyuyor olabilir. Görselleri, ikonları ve stilleri satır içi barındıran ve çevrimdışı çalışan tek bir .html dosyasıydı; şaka yollu ilk gerçek single-page app diyordum
    • Bu taslak, okura you diye 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üyor
    • Ilograph diyagramları da bu örnekteki gibi bağımsız çalışan HTML olarak dışa aktarılabiliyor. Bir tür slayt özelliği de var ve dosya boyutu yaklaşık 560KB
    • Hyperclay de listeye girebilir gibi görünüyor
    • Bento'ya başladığımda yalnızca TiddlyWiki'yi biliyordum, bu yüzden bu listeye göz atacağım
  • Claude'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.

    • draw.io'yu sık kullandığım için bu yöntemi de değerlendirdim, ama şimdilik tek bir yerel dosya ile başlamanın daha iyi olacağına karar verdim. İleride SSO gibi kurumsal özellikler gerekirse barındırma da mantıklı olabilir.
  • 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.

    • Bizim şirkette de teknik ekipler harika web uygulaması sunumları yapıp herkesi etkiliyor, ama rakamlar yanlış çıkıp öğleden sonraki operasyon komitesi toplantısından önce düzeltilmesi gerektiğinde, elinde sadece Claude olup Claude Code olmayan teknik olmayan sorumlu kişi ne yapacağını bilemiyor. Çünkü Claude Code'un yalnızca teknik çalışanlar ve yazılım mühendisleri tarafından kullanılmasına karar verildi.
  • 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.

    • PWA'yı da düşündüm, ancak genel olarak barındırma yapılıp yapılmayacağı konusu hâlâ netleşmedi. Kurumsal kullanımı desteklemek için sonunda barındırma gerekecektir, ama şu anda basit ve şık bir araç yapmaya odaklanmak istiyorum.
      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.