7 ポイント 投稿者 GN⁺ 2023-12-23 | 1件のコメント | WhatsAppで共有
  • Heynoteは、開発中に散らばりがちな一時テキスト、APIレスポンス、会議メモ、ToDoリストを一か所に保存する永続テキストバッファ型のスクラッチパッド
  • 作業単位はブロックで、⌘-Enterで新しいブロックを作成し、⌘-Aで現在のブロック内容だけをすばやく選択できる
  • JavaScript、JSON、Markdownなど、ブロックごとの言語設定にもとづいてシンタックスハイライトと自動フォーマットを適用
  • Mathブロックは、変数、関数、単位変換、通貨換算まで処理でき、簡単な計算を文脈の中で続けられるようにする
  • 複数のノートバッファ、ディレクトリ整理、ファイル対応、インライン画像と注釈機能を提供し、開発者の一時的な作業空間を1つのアプリに集約することに重点を置いている

ブロックベースのスクラッチパッド

  • Heynoteの基本構造は、複数のブロックに分かれた大きな永続テキストバッファ
  • 新しいブロックは⌘-Enterで作成し、ブロック内で⌘-Aを押すと、文書全体ではなく現在のブロック内容だけが選択される
  • 一時的に残しておくには中途半端な資料をすばやく貼り付ける用途に向いている
    • 誤って送りたくないSlackメッセージの下書き
    • 作業中のAPIのJSONレスポンス
    • 会議メモ
    • 日々のToDoリスト

コードとドキュメント作業向けのブロック機能

  • 各ブロックはJavaScript、JSON、Markdownなど独自の言語設定を持てる
  • 言語設定に応じてシンタックスハイライトが適用され、ブロック単位の自動フォーマットにも対応
  • 複数のプログラミング言語をサポートしており、コード断片とドキュメントメモを同じバッファ内で一緒に扱える

電卓のように使えるMathブロック

  • Mathブロックは、簡単な計算のための電卓スクラッチパッドとして使える
  • 変数、関数、単位変換をサポートし、単位変換には通貨換算も含まれる
  • すばやい「紙ナプキン計算」をメモの流れの中で処理する用途に向いている

複数バッファとファイル構成

  • 基本のScratchバッファ以外にも、好きなだけノートバッファを作成できる
  • バッファ操作で使う主なショートカットは次のとおり
    • ⌘-N: 新しいバッファを作成
    • ⌘-S: 現在のブロックを新しいバッファへ移動
    • ⌘-P: バッファ間をすばやく切り替え
  • バッファはディレクトリで整理でき、各バッファはディスク上の1つのファイルに対応する

画像と注釈

  • Heynoteはインライン画像をサポート
  • クリップボードから画像を貼り付けたり、画像ファイルをバッファにドラッグ&ドロップしたりできる
  • エディタ内で画像を選択してサイズ変更でき、画像を再びシステムのクリップボードに載せる作業もすばやく行える
  • 内蔵の軽量な描画ツールで、画像の上にフリーハンド注釈を追加できる
  • 注釈を付けた画像は、クリック1回またはキー入力1つでクリップボード上の新しいバージョンに更新し、ほかの場所へ貼り付けられる

ダウンロード

  • 最新の安定版は2.9.0
  • 対応ダウンロードはMac Universal、Mac Arm、Mac Intel、Windows、AppImage、Snapで提供
  • ベータ版として2.9.1-betaも提供
  • 全リリースはAll releasesで確認できる

1件のコメント

 
GN⁺ 2023-12-23
Hacker Newsの意見
  • 本当に素晴らしい。スクラッチパッドに望んでいた姿とほぼぴったり一致している
    機能リクエストをひとつ加えるなら、新しいブロックが下ではなくページの一番上に追加される「逆順」フローに対応してほしい。スクラッチパッドは常に一番上で開き、時間がたつと古いブロックが下へ「沈んで」いって、最も関連性の高い内容が上に残るという方式
    自分の考え方にはこちらのほうが合う。ただ、このスレッドの他の人も言っているように、こうした機能リクエストの大半は無視して、今作ったシンプルさを守るほうに自分も賛成。自分のリクエストも含めて

    • 気に入ってもらえてうれしい :)
      「逆順」のアイデアは理解できる。C-Enterで現在のブロックの前に新しいブロックを挿入できるようにし、Heynoteの起動時に現在の動作のように最後ではなくバッファの先頭位置にカーソルを置くようにすれば十分なのか気になる
    • 自分もこの方式が好き。ただ、新しい行を作るたびにカーソル下のすべてのブロックが動くのが見えると、気が散りそう
      理想的なUXは、一番上に新しいバッファを追加しつつ、入力中に以前のブロックの移動が見えないよう、ウィンドウを埋めるだけのパディングを置くこと
      まだアプリはダウンロードしていないけれど、すでに似た動きになっているかもしれない。見た目がよく、使ってみるのが楽しみ
    • この追加機能はとても便利そう。すでにMarkdown文書でノートの作成順をそのようにしている
    • 似た方式のノートアプリを作った。ノートは一番上に追加され、ノートを編集するとまた一番上へ「引き上げられる」: https://thinktype.app/
    • この機能があればデイリーログ用途にも使えそうでよい
  • こういう条件ならおそらくお金を払うと思う: viキーバインド、ファイルの場所を表示して移動したり複数デバイスで同期・バックアップできるようにすること、そして逆順ソート機能
    本当に本当に良い

  • かっこよさそう。ブロックというアイデアが気に入ったので、ダウンロードして使ってみるつもり
    いつものようにElectronの話が多いので、もしまだ見ていなければTauriにも一度触れておきたい。RustベースのElectronに似たツールで、Chromiumの代わりにシステムWebViewを使うため、バンドルサイズとメモリ使用量をかなり減らせる
    コードを見るとElectron側のコードがそれほど多いようには見えないので、Rustを触ってみたいなら置き換えはものすごく難しいわけではないかもしれない。自分が作っていた動画編集アプリもElectronで始めて途中でTauriに替えたが、かなり良かった
    要望ではなく、単に無視してくれてよい

    • プロジェクト初期にTauriは検討した。Electronを選んだ理由は成熟度と大きなユーザー層だった
      モバイル向けの別のクロスプラットフォームツールを使ったあとで期待値はかなり低かったが、実際にElectronで作業するのはとても快適で、選択を後悔していない。バグもほとんどなく、エコシステムが大きく、複数プラットフォームのビルドと自動アップデートを自動化しやすかった点が良かった
    • Tauriで残念なのは、LinuxでWebKitGtk2を使うこと。性能面ではかなり良くなく、macOSのWebKitやWindowsのWebview2に比べて機能サポートも不足している
    • Rust部分が使いにくいと読んだ。Tauriを生産的だと感じたのか気になる
  • 本当に気に入った。シンプルでしっかり実装されている。しばらく前から似たものを作りたいと思っていたので、フォークしていろいろ触ってみるかもしれない
    今はObsidianで毎日新しいノートを作り、Markdownの水平線(---)で「ブロック」を分けて似たように使っていたが、こちらのほうがずっとすっきりしている
    このアプローチの強みは、キャプチャを極めて簡単にすること。新しいブロックを作ってすぐ書けばよく、これをどこに入れるか、既存の構造にどう合わせるかを考えなくて済む。そういうことを考えているうちに、アイデアの入る場所を探す間にアイデアを失ってしまいがち
    欠点は当然、あとで見つけ直すこと。ブロックにタグやタイトルを付け、タグ・タイトルで検索できるとよい。もっと野心的には、LLMと埋め込みを入れて、ブロックを自動でタグ付け、要約、分類、クラスタリングする実験も面白そう
    方向性はいろいろあるが、機能を増やしすぎて本来の魅力であるシンプルさを失わないようにしようという他の人たちの考えにも同意する。それから、バッファが非常に大きくなったときに性能をどう扱うのか気になる

    • オープンソースではない。Commons Clauseを使って、できることを大きく制限している。名前が誤解を招く
    • 性能の大部分はHeynoteの基盤エディタであるCodeMirrorhttps://codemirror.net/)が担っている。かなり大きなバッファもよく扱えるようだ
      ただし、特定の言語モードで非常に大きなブロックを扱うと、小さな性能問題が見られた
    • プログラミングノート、問題解決ログ、「紙の上」での思考、文章執筆と仮説検証にObsidianを使っている。非常に強力で、性能もかなり良い。何でも聞いてくれてよい
  • たった今ダウンロードしてインストールしたが、本当に印象的。数学ブロックの概念は良いと思ったが、新しいブロックを数学ブロックに変える方法を理解するのに数秒かかった
    一番上の⌘ + L Change block languageという文言からは、「block language」が「ブロックの種類を変える」ことにすぐには結びつかなかった。⌘ + L Change block language (Math, Markdown, etc.)のように少し変えるとよさそう
    それ以外は、かゆいところに手が届く素晴らしいプロジェクトだと思う

    • 良い提案なので変更する
  • 気に入った。まさに必要としていたもの。これまではこの用途に、自分ひとりだけの WhatsApp グループを使っていた
    機能リクエストは、Arch パッケージ、数学の結果が buffer.txtCtrl+a 後のコピー内容に含まれること、フォントとカラーテーマの変更、Markdown ブロックでの画像・メディア対応、ブロックのタイムスタンプ、ファイルの再読み込み、モバイル対応の可能性
    特に色については、今のように最小限の色だけを使いつつ、カスタム CSS ではなくいくつかの色だけを設定する方式だとよさそう。画像の貼り付けは、VS Code Markdown のように Ctrl+v で画像を入れると Markdown を挿入し、画像をファイルとして保存する方式だとよい。Markdown プレビューもよいが、範囲外だと判断されても理解できる
    タイムスタンプは、buffer.txt の無限大記号がある行に createdAtupdatedAt を保存すれば、grepcut で簡単に抽出できるので特にうれしい。下で Git などでバックアップできるようファイル再読み込みに取り組んでいると言っていたが、それにも期待している

    • 数学ブロックからコピーされる行に計算結果を追加することは可能そうだし、自分も気に入っているアイデア
      buffer.txt にも結果が入るとよいという点には同意するが、実装の詳細の都合でもっと難しそう
      フォントとカラーテーマ設定は、現時点では設定可能な項目数を減らす方向に傾いているので、追加しない可能性が高い
      ブロックのタイムスタンプは TODO リストにあり、ファイルの再読み込みも同様。モバイルはおそらく難しいと思う
    • 下で PWA とローカルストレージ版を追加する予定だと言っているのを見た。それならモバイルの要望は無視してよく、代わりにモバイルでダウンロードボタンを用意して、Git や Drive のようなもの経由でデスクトップと同期できるとよさそう
    • Electron で作られているので、HTML ページに CSS を追加できるようにすればフォントと色を実装できる
      そうすれば、一部のノートには派手な CSS も使えるようになる
  • 本当に、本当にいい。すぐに Dock の常駐枠を取った
    喜んでお金を払いたいリクエストがひとつある。コードブロックの実行と出力生成ができるとよい。JS を試すためにブラウザコンソールをよく開くが、ほかのノートのすぐ隣でできたら素晴らしいと思う

  • https://orgmode.org/org-mode をかなり思い出す。コードブロックの評価のような org っぽい機能を追加する予定があるのか気になる
    個人的には org-mode から移ることはなさそうだが、Emacs を使うのをためらう人たちに、単体アプリとしてでも薦められるものがあるとよい

    • orgmode を見たことがないので、どんな機能があるのか分からない。数学ブロックを除けば、コードブロック評価は複雑さが大きくなるので追加する予定はない
  • 素晴らしい。こういう用途ではいつも TextEdit に戻っていたが、これから Heynote を使ってみてどうなるか見てみる
    HN で昔の良い時代のようにこういうものを見られるのはうれしい。vi キーバインド対応の予定があるのか気になる

    • すばらしいが、vi キーバインドがないと自分には実用性が落ちる
      これで、Vim プラグインで似たものを得られるのか、あるいは自分で作れるのか気になってきた。ターミナル内にあれば、永続的な tmux セッションに置いてリモートアクセスできる利点もある
    • 自分も同意。vi/vim バインドがあるとよい
  • フィードバックもぜひ :)
    Heynote GitHub リポジトリ: https://github.com/heyman/heynote

    • 良いアプリ。こういう用途のスクラッチパッドはいつも置いていたが、特に良い解はなかった。Soulver は良いが数学に寄りすぎていて、VS Code のタブも悪くないが、言語別に複数バッファを管理するのが面倒。ここの機能構成は気に入っている
      改善や明確化のためのフィードバックがいくつかある。言語変更のショートカットはステータスバー要素にマウスを乗せるまで見つけられなかったので、ショートカットが表示されたメニュー項目があるべき
      ライト/ダークモードの切り替えと更新確認は、ほかのアプリではステータスバーにないので、設定に送るほうがよさそう。システムのライト/ダークモードにもデフォルトで従うべきで、アプリごとの上書きがあってもよい
      ステータスバーに入れるものが十分にないなら、いっそなくしてもよさそう。今はステータスバーを正当化するためにあれこれ集めている感じがする
      緑色のブランディングは悪くないが、アプリの個性はかなり強い。アプリが強い個性を持つべきかは考えてみる価値がある。macOS により合うニュートラルなパレットや、ニュートラルな選択肢を含む複数のアクセントカラー選択肢も検討できる
      427MB は大きい。小さなドキュメントではメモリをあまり食わないのは幸いだが、この規模にしてはバンドルが大きすぎる。なぜ ffmpeg を含めているのか、本当に GLES が必要なのか、標準の Electron フレームワークが本当に 300MB を超えるのか気になる
      キーマップのオプションがあるが、初期内容を消したら実際のキーマップを失ってしまった。アプリ内にヘルプ参照があるか、少なくともヘルプメニューからつながるドキュメントページがあるとよい
      フォント変更もできるとうれしい。保存モデルも理解できない。データがどこに保存されるのか、制御できるのか、保存が必要なのか、あるいはどれくらいの頻度で永続化されるのかが気になる。クラウドストレージに入れてデバイス間同期できるのか、すでにそうしているならオフにできるのかも知りたい
      個人的にはアプリアイコンにアプリ名を入れるのは好きではない。ほとんどのアプリはそうしていないので、もっと控えめなアイコンを提案する
    • 小さな提案をひとつ: 現在の日付/時刻を挿入するショートカットがあるとよい
      あるいはブロック作成時刻を追跡して、各ブロックの UI のどこかに小さく表示するオプションもよい。こうした古いノートを後で検索するとき、日付があると非常に役立つ
    • 可変幅フォントを使えるのか気になる。ウェブサイトだけでは明確でない。自分には必須の機能
    • Linux 向けの arm64 ビルドの可能性があるのか気になる。自分でビルドすることはできるが、そうしなくて済むならうれしい
    • 本当に気に入った。アイデアが良く、きれいに実装されている。自分の macOS arm インストールサイズは 100MB 未満
      タブを要望している人もいるのを見たが、自分は複数ウィンドウを開くことができるとうれしい