3 puan yazan GN⁺ 2024-06-13 | 1 yorum | WhatsApp'ta paylaş
  • Unforget, notları önce yerelde yazıp şifreli senkronizasyonla kaldığı yerden sürdürmeyi sağlayan minimal bir not uygulaması; gizlilik ile cihazlar arası kullanılabilirliği birlikte öne çıkarıyor
  • Progressive Web App yapısıyla tarayıcı, masaüstü ve mobilde kullanılabiliyor; Electron.js olmadan çalışıyor
  • Markdown yazımı, JSON biçiminde tek tıkla dışa aktarma, açık API, self-hosting ve bulut seçenekleri sunuyor
  • Ücretsiz kayıtla tamamen şifrelenmiş bulut yedekleme ve senkronizasyon kullanılabiliyor, e-posta veya telefon numarası gerekmiyor
  • Google Keep, Apple Notes, Standard Notes içe aktarmayı destekliyor ancak kurulabilirlik durumu ve yöntemleri tarayıcıya göre değişiyor

Çevrimdışı öncelikli notlar ve veri kontrolü

  • Unforget, minimal bir çevrimdışı öncelikli not alma uygulaması ve uçtan uca şifreli senkronizasyon sunuyor
  • Uygulama biçimi ve kullanım ortamı

    • Progressive Web App olarak tarayıcı, masaüstü ve mobilde kullanılabiliyor
    • Electron.js olmadan çalışıyor ve isteğe bağlı tek tıkla kurulum desteği sunuyor
    • Gizlilik öncelikli bir tasarımı öne çıkarıyor ve MIT lisanslı açık kaynak olarak sunuluyor
  • Yazma, taşıma ve dışa aktarma

    • Markdown yazımını destekliyor
    • Google Keep, Apple Notes ve Standard Notes'tan içe aktarma yapılabiliyor
    • Not verileri JSON biçiminde tek tıkla dışa aktarılabiliyor
  • Senkronizasyon ve genişletilebilirlik

    • Ücretsiz kayıt ile notlar tamamen şifrelenmiş durumda buluta yedeklenebiliyor ve birden çok cihaz arasında senkronize edilebiliyor
    • Kayıt için e-posta veya telefon numarası gerekmiyor
    • Hem self-hosting hem de bulut seçenekleri sunuluyor
    • Açık API üzerinden özel istemciler geliştirilebiliyor

Tarayıcıya göre kurulum yöntemi

  • Unforget doğrudan tarayıcıda kullanılabiliyor, ancak kurulum yöntemi ortama göre değişiyor
  • Kurulum desteği

    • Chrome: URL çubuğundaki kurulum simgesini kullanın
    • Edge: URL çubuğundaki kurulum simgesini kullanın
    • Android Browser: Menü → Add to Home Screen
    • Safari Desktop: Share → Add to Dock
    • Safari iOS: Share → Add to Home Screen
    • Firefox Android: URL çubuğundaki kurulum simgesini kullanın
  • Kurulum kısıtları

    • Firefox Desktop'ta kurulum yapılamıyor

1 yorum

 
GN⁺ 2024-06-13
Hacker News yorumları
  • Önce çevrimdışı PWA yapmış olanların deneyimlerini merak ediyorum
    Web’i yalnızca dağıtım aracı, tarayıcıyı da çalışma ortamı olarak kullanma fikri çekici; ama yerel depolamanın ufak tefek zorlukları beni düşündürüyor
    Veriler ~/.app/app.dat gibi bir dosya olarak görünmediği için “gözden ırak olan gönülden de ırak olur” hissi veriyor; tarayıcı güncellemesiyle bir anda kaybolma ihtimali ve web’in temel modelinde şema sürüm yönetimini ele almanın karmaşıklığı da kafama takılıyor
    Yeni bir bilgisayara geçerken veri taşınabilirliği de sorun; yalnızca GitHub hesabıyla sunucusuz dağıtım yapabilmek çekici ama veri tarafı hâlâ güvensiz görünüyor
    SQLite gibi bir şeyin olmamasını bir kenara bıraksak bile, SQLite’ı bir WebAssembly yığını olarak paketleme yöntemi hiç içime sinmiyor

    • Web stack’inde gerçekten çok sayıda ufak zorluk var; ama IndexedDB oldukça kararlı çalışageldi
      Yine de bir depoda birden çok anahtarla indeks oluştururken her anahtarı artan/azalan olarak belirleyememek gibi can sıkıcı kısıtları var
      PWA’yı ana ekrana ekleyip yüklediyseniz, tarayıcının güncelleme gibi nedenlerle IndexedDB’yi silmemesi gerekir; pratikte de tarayıcılar buna uyuyor gibi görünüyor
      PWA geliştirme deneyimi genel olarak karışıktı ve uygulama türüne çok bağlı. Şifreli bulut yedekleme ve senkronizasyon yapabilen bir not uygulamasıysa PWA en iyi seçenek olabilir; ama dosya sistemi erişimi gibi platformla daha derin entegrasyon gerekiyorsa PWA’dan kaçınırım
      Bir diğer sorun da iOS Safari; arka plan senkronizasyonu veya çevrimdışı push bildirimleri gibi birçok PWA özelliği eksik ve ileride de desteklenme ihtimali düşük görünüyor
      Belirli bir uygulama için PWA’yı değerlendirip değerlendirmediğini merak ediyorum
    • Tarayıcıda uygulama yapanlar, disk alanı azaldığında birçok tarayıcının web sitesi depolamasının bir kısmını atabileceği konusunda çok dikkatli olmalı
      Normalde bile sinir bozucu bir davranış; sunucu tarafı yedek yoksa basit bir rahatsızlığın çok ötesine geçer
      Bu uyarının localStorage için de geçerli olup olmadığından emin değilim; ama deneyimime göre IndexedDB için geçerliydi ve Electron uygulamalarında da öyle göründü
    • En güvenli çevrimdışı depolamanın, tarayıcı dosya sistemini (https://developer.mozilla.org/en-US/docs/Web/API/File_System...) kullanıp veriyi tarayıcının elinin dışında tutmak olduğunu düşünüyorum
      Oldukça iyi çalışıyor; ama dezavantajı, kullanıcının uygulamayı her kullandığında dosyayı veya dizini yeniden seçmek zorunda olması ve dosya seçiciyi “iyi bilinen dizinler” dışındaki belirli bir dizinden başlatmaya zorlamanın bir yolu olmaması
    • Chromium tabanlı tarayıcılarda artık verileri ~/.app/app.dat gibi bir dosyada tutmak mümkün
      Referans: https://developer.chrome.com/docs/capabilities/web-apis/file...
    • Bu uygulama better-sqlite3[0] kullanıyor ve veritabanını private/unforget.db[1] adlı bir dosyada saklıyor gibi görünüyor
      SQLite deneyimim yok; bu yüzden o dosyanın localStorage kadar uçucu olup olmadığını bilmiyorum
      [0] https://www.npmjs.com/package/better-sqlite3
      [1] https://github.com/computing-den/unforget/blob/master/src/se...
  • Güzel görünüyor. Bir önerim: not yazma akışını daha net göstermeniz iyi olur
    Başlıklı Markdown belgelerinin klasör/hiyerarşi yapısıyla mı düzenlendiği, başlıksız ya da isteğe bağlı başlıklı “kart”ların etiketlerle mi düzenlendiği, yoksa sürekli ekleme yapılan uzun bir Markdown belgesi mi olduğu henüz net değil
    Bunların her biri ana akım not sistemlerine benzeyen iş akışları; hangi akışı tasarlayıp optimize ettiğinizi anlamak isterim
    Google Keep kullanıcısı olarak başladığınız ipucu yardımcı oluyor; ama Homebrew metin dosyaları, Simplenote, Obsidian vb. kullandım ve Evernote ya da OneNote hakkında da bir miktar fikrim var, bu yüzden kullanım biçimine dair birkaç yön tabelası daha iyi olur

    • Farklı kavramlara sahip başka sistemlerden geçiş yapılabileceğini gerçekten yeterince düşünmemişim. Demo notlarında iş akışını daha iyi açıklayacağım
      Hızlıca yanıtlamak gerekirse, genellikle birkaç satırdan ya da yapılacaklar onay kutularından oluşan çok küçük notlar tutuyorum ve her fikir için bir not ayırıyorum. Ancak bir fikir birkaç gün içinde büyürse o not da çok daha büyüyebilir; not boyutu için bir sınır yok
      Standart Markdown’daki gibi # ile not başlığı belirleyebilirsiniz; ilk satırdan sonra boş bir satır bırakırsanız ilk satır otomatik olarak başlık olur
      Ayrı bir etiket kavramı yok; ama #someTag yazıp doğrudan #someTag arayabilirsiniz. Arama özelliği tüm notlarda basit alt dize aramasıdır; kök bulma gibi gelişmiş özellikler yok
    1. Kendi kendine barındırılabilen not uygulaması seçenekleri ne kadar çoğalırsa o kadar iyi bence
    2. Demo sayfasındaki yazım hatası: PriavcyPrivacy
    3. Bir tarayıcıda “Your browser does not support service workers. Please use another browser.” hatasının neden çıktığını merak ediyorum. Bunun etrafından dolaşılabilir mi, yoksa service worker kullanımı bu uygulamanın ayırt edici özelliği için şart mı, bilmek isterim
    • Service worker yoksa artık çevrimdışı çalışmaz ve bu temel özelliklerden biri
      Seyahat ederken Google Keep’e not almaya çalışıp bazen çevrimdışıyken çalışmadığını fark ettiğimi hatırlıyorum
      Hangi tarayıcıyı kullandığınızı merak ediyorum
    • Başka küçük bir yazım hatası: GitHub falvoredGitHub flavored
  • Notlar ağırlaştığında https://simplemde.com/ gibi bir şeyi entegre etmeyi planlayıp planlamadıklarını merak ediyorum
    Tablo vb. içeren notlarda Markdown söz dizimini sürekli düşünmektense daha basit bir WYSIWYG düzenleyici tercih ederim

    • WYSIWYG düzenleyici eklemek isterim ama ilk testlerde tüm platformlarda iyi çalışan bir şey bulamadım
      Bunu da bir deneyeceğim
  • Harika iş, umarım daha da gelişir
    Aklıma Joplin geldi; bu uygulamayı hangi yöne götürmeyi düşündüğünü merak ediyorum

    • Joplin’i de kullandım ve epey beğendim, ama Electron uygulaması olması dışında da birkaç sorunu vardı
      Örneğin iş akışı yeterince hızlı hissettirmiyordu. Uygulamayı açıp en fazla bir kez dokunduktan sonra hemen yazmaya başlayabilmeliyim; menüye gitmeden ya da başka düğmelere basmadan birden fazla yapılacak iş öğesi girebilmeliyim. Masaüstünde zaten her şey klavye odaklı olmalı
      Yani UI’ın araya girmemesini istiyorum ve birçok not uygulamasının bunu kaçırdığını düşünüyorum
      Yön olarak, başka uygulamalardan geçişi kolaylaştırmak istiyorum. Zaten Google Keep içe aktarması var ama çok daha fazlası olmalı
      Açık API olduğu için Emacs, VS Code, Vim istemcileri ya da entegrasyonları da çıksa iyi olur
      Bunun dışında şu an ihtiyaçlarımın neredeyse tamamını karşılıyor
  • Daha iyi bir yapılandırılmış bilgi deposunu sürekli arıyorum; normalde Electron uygulamalarından veya masaüstü JavaScript’inden kaçınsam da en çok deneme sanki o taraftan çıkıyor
    Bir JavaScript uygulamasıysa Mermaid diyagram desteğini düşünüp düşünmediğini merak ediyorum. Ağır olsa da, bugünlerde Joplin’i notlar için kullanma sebebim Mermaid söz diziminin düz Markdown’a kıyasla oyunu değiştirmesi
    https://mermaid.js.org/

  • Son zamanlarda Android not uygulamalarında benzer bir bunalmışlık hissederken oldukça iyi bir uygulama buldum ve paylaşmak istiyorum
    Zettel Notes[1] adlı bir uygulama; tamamen çevrimdışı, birden fazla eşitleme seçeneğini destekliyor ve notlar dizinlerde saklanan basit Markdown dosyaları
    [1] https://play.google.com/store/apps/details?id=org.eu.thedoc....

    • Zettel Notes tavsiye edilebilir. SourceHut ile Git entegrasyonu biraz zahmetliydi ama bir kez ayarlanınca harika; kullandığım Org özelliklerinin de çoğunu destekliyor
  • Kendi sunucumda barındırabileceğim, hem mobilde hem masaüstünde iyi görünen bir not uygulamasını hep arıyorum
    Bir gün Docker konteyneri yayımlamayı planlayıp planlamadığını merak ediyorum

    • Dağıtımı kolaylaştıracaksa Docker konteyneri çıkarmak da iyi olur
  • Harika. Yerel uygulama hakkında daha fazla bilgi verip veremeyeceğini merak ediyorum
    Apple Notes gibi yerel, hafif ve hızlı bir şey arıyorum

    • Yerel uygulama değil, progresif web uygulaması (PWA)
      Eski bir iPhone’da uzun süredir bizzat kullandım; hafif ve hızlı
      Kurmak için Safari’de Paylaş → Ana Ekrana Ekle’ye gitmek yeterli
  • Eşitleme için ne kullandığını merak ediyorum
    Çeşitli CRDT çözümlerine baktım ama ne kullanmam gerektiğinden emin olamadım; package.json içinde de belirli bir CRDT ya da eşitleme kütüphanesi bulamadım
    Kendi eşitlemesini yapıyorsa çakışmaları nasıl ele aldığını merak ediyorum

    • CRDT değil; çok daha basit bir yaklaşım seçtim
      if (a.modification_time > b.modification_time) ...
      Hepsi bu. Diğer özelliklerde olduğu gibi başta CRDT uygulamayı düşünmüştüm ama pratikte eksikliğini hissetmediğimi fark ettim
      Aynı notu birden çok kullanıcının düzenlediği ortak çalışma düzenleyicisi olmadığı için CRDT pek faydalı değil
      Kişisel bir not uygulamasında CRDT’nin gerekli hale geldiği durumun, birden fazla cihazın tamamı çevrimdışıyken aynı notu aynı anda düzenlemesi gibi durumlar olduğunu düşünüyorum