11 poin oleh GN⁺ 2024-04-22 | 1 komentar | Bagikan ke WhatsApp
  • Windrecorder adalah aplikasi open source yang menyimpan rekaman layar Windows secara lokal agar nanti bisa diputar mundur dan ditelusuri, sebagai alat memori pribadi yang mirip alternatif untuk Rewind/Copilot Recall
  • Layar disimpan sebagai file potongan per 15 menit menggunakan ffmpeg atau screenshot berkala, lalu diindeks dengan Windows local OCR API dan image embedding
  • Melalui Web UI lokal, pengguna dapat menemukan layar lama berdasarkan judul jendela, kata kunci teks, dan deskripsi gambar, serta dapat mengecualikan program tertentu atau area layar tertentu dari perekaman
  • Pemrosesan data dilakukan hanya di komputer pengguna tanpa cloud, dan karena berbasis Python strukturnya mudah diperiksa dan dimodifikasi, meski performanya bisa lambat
  • Saat ini repositorinya berupa struktur lokal yang tidak terenkripsi, fitur LLM masih terbatas, dan cakupan penggunaan yang praktis adalah ringkasan judul harian serta pencarian

Perekaman layar dan pencarian putar ulang

  • Windrecorder adalah alat memori layar pribadi untuk menemukan kembali informasi seperti halaman web, video, dan pesan chat yang pernah dilihat pengguna tetapi sulit dicari lagi nanti
  • Inspirasi utamanya adalah aplikasi Mac Rewind dan Black Mirror S1E3 “The Entire History of You”
  • Cara perekaman layar ini sederhana
    • Menggunakan ffmpeg atau screenshot berkala
    • Menyimpan layar sebagai file potongan per 15 menit
    • Mengindeks rekaman dengan Windows local OCR API dan image embedding
  • Pengguna dapat menentukan program atau area layar yang tidak ingin direkam
  • Di Web UI lokal, pengguna bisa memutar ulang dan menelusuri layar lama dengan petunjuk berikut
    • Judul jendela
    • Kata kunci teks
    • Deskripsi gambar
  • Fitur tambahan mencakup waktu penggunaan layar harian dan berkala, ringkasan siklus harian, serta pembuatan lightbox bulanan

Desain yang mengutamakan lokal dan keterbatasan saat ini

  • Semua pemrosesan dilakukan hanya di komputer pengguna dan tidak mengandalkan penyimpanan cloud atau langganan
  • Strukturnya dibuat dengan menghubungkan berbagai fungsi menggunakan Python, sehingga cara kerja internalnya transparan dan mudah dimodifikasi langsung oleh pengguna
    • Namun, sebagai gantinya performanya bisa menjadi lambat
  • Pengembangnya bukan pengembang profesional, melainkan membuat alat ini dari minat dan kebutuhan penggunaan pribadi
    • Setelah digunakan cukup lama, ia menilai alat ini sudah cukup matang dan andal
    • Issue, diskusi, dan kontribusi sangat disambut
  • Kelemahannya saat ini juga jelas
    • Penyimpanan datanya terbuka dan tidak terenkripsi
    • Pengguna bisa memanfaatkan data lokal terstruktur itu dengan bebas, tetapi juga perlu berhati-hati dalam melindunginya
  • Fitur LLM tidak dimasukkan secara besar-besaran
    • Saat ini fungsi LLM terutama terbatas pada penentuan pemanggilan API sesuai niat pengguna dan penyesuaian hasil pencarian
    • Belum sampai pada tahap memahami, menganalisis, dan mengingat semua data secara langsung lalu bertindak sesuai niat pengguna
    • Ringkasan judul harian dan fungsi pencarian yang tersedia saat ini adalah cakupan realistis yang dapat diwujudkan Windrecorder

1 komentar

 
GN⁺ 2024-04-22
Komentar Hacker News
  • Hampir 20 tahun lalu sudah ada yang membuat sesuatu yang mirip, bahkan termasuk fitur untuk memundurkan ke titik waktu tertentu di masa lalu dan melanjutkan eksekusi dari sana
    http://www.cs.columbia.edu/~orenl/papers/sosp07-dejaview.pdf
    DejaView adalah perekam riwayat komputer virtual pribadi yang merekam seluruh pengalaman penggunaan desktop sehingga bisa diputar ulang, dijelajahi, dicari, dan dipulihkan, dengan menyimpan output layar, checkpoint status aplikasi/sistem file, serta teks tampilan beserta konteksnya untuk diindeks
    Mereka menggabungkan virtualisasi tampilan/sistem operasi/sistem file tanpa modifikasi pada aplikasi, sistem Windows, atau kernel sistem operasi, dan hasilnya menunjukkan perekaman kontinu serta pencarian/pemutaran ulang interaktif dimungkinkan pada aplikasi desktop nyata tanpa penurunan performa yang terasa bagi pengguna

    • Penasaran ini benar-benar dibuat atau cuma berhenti di level makalah. Juga ingin tahu bisa diunduh dari mana
    • Tidak yakin URL-nya benar. Saat dibuka muncul pesan bahwa filenya tidak ditemukan
  • Ada juga proyek open-source serupa untuk macOS
    https://rem.ing
    https://github.com/jasonjmcghee/rem
    Pengembangnya mempostingnya di HN 3 bulan lalu, dan ada diskusi yang cukup bagus juga
    https://news.ycombinator.com/item?id=38787892

    • Saya pembuat rem. Akan senang kalau ada yang ikut berkontribusi dalam pengembangannya
      Berlisensi MIT, dan saya juga sudah mulai membuat versi lintas platform berbasis Rust, https://github.com/jasonjmcghee/xrem, tetapi masih tahap awal jadi butuh lebih banyak bantuan
    • Penasaran apakah ada yang sudah lama memakai ini. Ingin tahu apakah benar-benar berguna dalam praktik
    • Saya lama mencari hal seperti ini di Mac lalu menyerah, dan akhirnya membuat sendiri skrip yang mengambil screenshot setiap 10 detik serta skrip yang menggabungkannya menjadi video dengan ffmpeg
      Ingin berkontribusi, tapi sama sekali tidak paham Swift, dan semua yang saya buat hanyalah skrip bash yang dijalankan lewat launchd
    • Ada juga perusahaan yang melakukan hal serupa, yaitu http://rewind.ai
  • Rasanya akan keren kalau ada yang membuat ini: Meta Smart Glasses memotret setiap 2 detik, mengirim gambar ke server cloud, menjalankan OCR serta deteksi/pelabelan objek, lalu menyediakan aplikasi untuk mencari masa lalu atau bercakap dengannya
    Dengan begitu kita bisa bertanya ke LLM hal-hal seperti, “Saya taruh dompet di mana ya?”, “Kemarin setelah bayar di restoran, kartu kredit saya dikembalikan tidak?”, atau “Hari ini tulisan di kaus baru putri saya apa ya?”
    Jika ditambah perekaman audio dan transkripsi, kita juga bisa menanyakan tenggat waktu yang disepakati saat rapat, nomor telepon orang yang ditemui di taman, atau nama investor yang ditemui hari ini, dan akan lebih bagus lagi kalau bisa mengakses panggilan telepon untuk mentranskripsikan serta mengindeks ucapan lawan bicara
    Ini mengingatkan pada episode Black Mirror, “The Entire History of You”: https://en.wikipedia.org/wiki/The_Entire_History_of_You

    • Biasanya episode Black Mirror tidak dibuat sebagai gambaran masa depan yang ingin ditiru
    • Restoran seharusnya sama sekali tidak boleh membawa kartu kredit ke luar jangkauan pandangan. Sebenarnya staf juga tidak perlu menyentuh kartunya; yang benar adalah pelanggan menggesek sendiri di terminal kasir saat keluar
    • Frame dari Brilliant Labs makin mendekati perangkat keras yang secara realistis bisa menyediakan data seperti ini dalam bentuk yang ramah pengguna dan cukup tidak mencolok
      Saya sudah pre-order
    • Itulah tepatnya yang dilakukan Humane AI Pin, yang memang banyak dikritik
  • Penasaran apakah ada yang membuat hal seperti ini dengan memakai API aksesibilitas, sebagai pengganti OCR atau bersama OCR
    API aksesibilitas bisa mengambil teks secara langsung, jadi melakukan semuanya dengan OCR terasa boros
    Ini juga bisa menjadi cara yang bagus untuk menghubungkan LLM ke UI, dan mungkin menjadi cara alat seperti ini mengumpulkan data pelatihan

    • Dragon NaturallySpeaking mendukung perintah suara seperti “OK klik” dan benar-benar merespons sesuai itu
      Masalah Microsoft Office yang merender widget-nya sendiri diatasi dengan membaca teks widget dan tombol lewat OCR untuk mengetahui labelnya
      Cara seperti ini ternyata dibutuhkan jauh lebih sering daripada yang dibayangkan. Developer sering mengecewakan ekspektasi dan tidak menggunakan API yang sudah disediakan
    • Saat membuat perekam layar mirip Loom yang bisa melakukan pencarian di layar, saya sempat mencoba keduanya sedikit demi sedikit, tetapi untuk membuatnya independen dari sistem operasi, perbedaan API aksesibilitas Mac dan Windows besar sekali, dan bahkan di Windows pun implementasinya berbeda-beda antar aplikasi, sehingga sulit menentukan apa yang benar-benar “dilihat” pengguna
      Beberapa aplikasi melewatkan data penting atau mengimplementasikannya dengan keliru. Awalnya saya kira aksesibilitas akan lebih mudah, tetapi dalam praktiknya OCR sering justru lebih mudah
    • Saya pernah membuat MVP perekam workflow dengan riwayat layar
      Kalau pendekatan ini benar-benar valid, saya pikir Microsoft atau Apple akan menanamkannya langsung ke sistem operasi sebagai bagian dari Copilot yang mengingat semuanya dan membantu pengetahuan pengguna
      Riwayat layar yang saya buat tidak secanggih aplikasi yang dibahas di sini, dan saya sendiri juga tidak memakainya
    • Akan bagus kalau informasi aplikasi yang sedang berada di depan bisa disimpan juga sebagai metadata
  • Di Notion muncul layar blokir “JavaScript must be enabled in order to use Notion” dan “Please enable JavaScript to continue”, tetapi kalau memakai NoScript, cara pemblokiran seperti ini justru membuat JavaScript tidak bisa diaktifkan di situs tersebut
    Saya berharap mereka tidak mengalihkan ke halaman statis. Di halaman itu tidak ada JavaScript yang bisa diizinkan per kasus, dan pengalihannya terlalu cepat sehingga tidak ada kesempatan untuk mengaktifkan JavaScript di halaman utama
    Bahkan mengizinkan notion.so saja tidak cukup untuk melewati blokir ini

    • Ini benar-benar buruk. Sesuatu yang sebetulnya bisa dipakai malah digunakan dengan cara terburuk yang mungkin
      Cukup mengejutkan juga bahwa HTML mengizinkan pengalihan tanpa JavaScript
  • Di Windows juga ada TimeSnapper. Memang bukan open source, tapi developernya kadang muncul di Hacker News
    https://timesnapper.com/

    • Untuk pelacakan waktu berbasis screenshot dan penandaan lanjutan berdasarkan judul jendela, kadang juga berdasarkan dokumen yang terbuka, ada ManicTime. Tapi sepertinya tidak ada OCR
      https://www.manictime.com/
  • Saya ingat beberapa proyek seperti ini. Yang pertama saya lihat adalah Savant Recall pada 2014, tapi tidak lolos YC sehingga dirilis sebagai open source
    Setelah itu diambil alih oleh co-founder Napster, Ritter, lalu namanya diubah menjadi Atlas Recall, diberi UI baru, dan menerima pendanaan 20 juta dolar
    Namun setahun kemudian tiba-tiba dihentikan, dan di LinkedIn tertulis “diakuisisi oleh Xinova”. Yang lain yang saya ingat adalah Apse pada 2019

  • Terlihat sangat mirip dengan https://apse.io/. Yang ini juga membuat indeks yang bisa dicari dari semua hal yang terlihat di layar lewat OCR
    Saya suka bahwa windrecorder itu open source

  • Menurut README di GitHub, videonya sekitar 100~200GB per tahun, jadi tidak terlalu buruk

    • Saya penasaran itu berdasarkan rata-rata berapa jam per hari. Saya juga penasaran apakah adegan tanpa teks, seperti film atau game, ikut dibuang
  • Kalau ada ide seperti “kenapa tidak ada aplikasi seperti ini?”, melihat seseorang benar-benar membangunnya dengan baik seperti ini memberi inspirasi bagi semua orang

    • Cara termudah mencari aplikasi yang melakukan X adalah dengan membuat yang baru lalu mempostingnya ke HN dan melihat komentarnya
    • rewind.ai juga contoh seperti ini, dan melihat mereka baru-baru ini memindahkan data ini ke penyimpanan khusus cloud dan mengganti nama menjadi limitless.ai, rasanya menyenangkan melihat open source seperti ini muncul
      Senang karena tidak harus dipaksa memakai penyimpanan cloud, dan saya mungkin mengatakan ini sebagai orang yang sebentar lagi berhenti menjadi pelanggan berbayar