このページは、まだ未完成です。。。

nicotalk&キャラ素材配布所 http://www.nicotalk.com/charasozai_kt.html (2024年5月16日)

この記事を作った動機

 Google Keep については、あまり個人的には使ったことはないし、使いこなせてもいなかったが、機能的には魅力的なところが多かったので、調べてみることにした。正直全部を網羅的に調べるというより、気になるところを中心に書きだすといった感じにしたい。

どう使ったことがあるか?

 私は、正直あまり深く使ったことはなく長くてもせいぜい2ヵ月程度であった。なんか記録してもメモが下へ下へと行ってしまっていたのと、分類機能をあまり使いこなせていなかったので、メモとっても屍になっていた。

 クラウド上で動いており、ローカルでは動作しないというところも致命的に不満で、正直あまり馴染まなかったというところかもしれない。ツール自体の出来はいいと思うところである。

今わかること

ノートとは?

 Google Keep での一つの付箋みたいなコンテンツの単位だと思われる。

GoogleKeep サンプル

いろんな機能がある

 画像を添付したり、いろんな方法で分類したり、いろんな機能がある。細かいことは次からそれぞれ分けて説明することにする。

GoogleKeep サンプル
GoogleKeep サンプル

画像は添付できる

 逆に言えばそれ以外の動画とか、jsonやテキストファイルなどは全然添付できない。

GoogleKeep サンプル
GoogleKeep サンプル

分類機能

タグ機能

 タグでコンテンツを分類し、後から検索しやすくすることが可能である。任意のタグが作成可能である。

GoogleKeep サンプル
GoogleKeep サンプル

ピン止めできる

 ノートをアーカイブにすると無効化され、アーカイブ内からピン止めしようとすると、アーカイブに戻される。

  • note内でのピン止め
    GoogleKeep サンプル
  • タグ内でのピン止めは有効
    GoogleKeep サンプル
  • リマインダー内では無効
    GoogleKeep サンプル
  • アーカイブにするとピン止めが外される
    GoogleKeep サンプル

アーカイブ機能

GoogleKeep サンプル

ピン止めとアーカイブ機能

 ピン止めとアーカイブはタグ内で共存できるようである。

GoogleKeep サンプル

色で分類できる

GoogleKeep サンプル
GoogleKeep サンプル
GoogleKeep サンプル

チェックリスト

 簡易的なTODOリストがある。しかし、リマインダを設定したりしても、Google カレンダーなどにはTODOリストとしては出てこないようで、ほかの自社内サービスと提携して反映されているというわけではないようである。

 あとこのチェックリストは、ノートを全部をチェックリストしてしまうため、何か別のテキストなどを書き込んだりはできないようである。でも、ラベル(タグ)付けしたり、画像は添付できるようである。

GoogleKeep サンプル
GoogleKeep サンプル
GoogleKeep サンプル
GoogleKeep サンプル

マークダウンは認識しない

 でも箇条書きは自動で入力される。

GoogleKeep サンプル

書式を指定できる

 マークダウンは認識しないが、基本的な書式を指定できる。

GoogleKeep サンプル

ごみ箱

 すぐ消えるのではなく、一定期間経過後に消えるという仕組みで、間違って消したということに関して緩衝する機能がある。

GoogleKeep サンプル

インク機能

 インク機能がある。細かいことについては専用にインク機能として章を設けることにする。

データをエクスポート可能

 Google Takeoutを使えば、JSONやPNGなどの形式としてノートをローカルに保存できるデータとして、エクスポートできるようである。細かいことはデータのエクスポートとして章を設けることにする。

インク機能

 手書き機能に対応していることが分かった。筆圧検知も有効であり、最低限色を付けたり太さを変えたりできるという感じである。ただ画像とかは添付できず、手書きし、その画像をノートの添付できるというだけである。

手書きに対応している

 マウスやペンタブレットでの入力が可能であることを確認した。タッチでもできるようであるがそれは確認していない。

GoogleKeep サンプル
ink-テスト

いろんなペン

 マウスで描写した際は一定の太さ、透明度で固定されている。基本的にどのペンも、ある程度自由に色や太さを選択できることが確認された。

  • 線の太さを筆圧検知するペン

    GoogleKeep サンプル

  • 線の透明度を筆圧検知するペン

    GoogleKeep サンプル

  • 蛍光ペン

    GoogleKeep サンプル

  • 消しゴム

    GoogleKeep サンプル

  • サンプル
     ここでは、いろんなペンを利用したサンプルを置いておく。ペンタブでの筆圧検知も利用している。

    GoogleKeep サンプル
    GoogleKeep サンプル

さらに細かい色を指定できる

GoogleKeep サンプル
いろんな色を選べる

範囲選択できる

GoogleKeep サンプル

背景を設定できる

GoogleKeep サンプル

できないこと

  • 画像やドキュメントなどを添付できない
  • 何も添付できないので、書き込んだりもできない
  • OneNoteのように四角などの基本図形を描写する支援機能はない
  • RGBやHSVなどによる細かい色指定とかはできない

できること

  • ペンタブレットなどから筆圧検知可能(Win 11 24H2、chrome 138で確認)
  • 手書きした内容をストローク単位で消去、選択が可能

ノート内の様子

 画像と同じように表示される。

GoogleKeep サンプル

データのエクスポート

手続き

 データはすぐに得られるわけではなく、手続きが必要である。Google Takeoutを使う必要がある。

GoogleKeep サンプル
GoogleKeep サンプル
GoogleKeep サンプル
GoogleKeep サンプル
GoogleKeep サンプル

実際に出力されたデータの構成

 zip 形式でダウンロードできたデータを展開したときの、ファイル、フォルダ構成のイメージは以下の通りである。特に深い階層構造とかはないようである。添付された画像、ノートごとに html と json がエクスポートされているのが分かる。

 なおすべてを示すと長すぎるので、同じような繰り返しについては、...と書いて省略した。

tree /f

フォルダー パスの一覧:  ボリューム Windows
ボリューム シリアル番号は  です
C:.
│  takeout-20250801T033915Z-1-001.zip
│
└─takeout-20250801T033915Z-1-001
    └─Takeout
        └─Keep
                # 添付画像       
                1754012073708.537020305.png
                1754012073711.34850429.png
                ... 

                # ノートたち
                Cat_.html
                Cat_.json
                Game.html
                Game.json
                ...

出力されたノートデータの構造

JSON

 ここでは、出力された JSON データのうち、画像が添付されたノート、画像は添付されていないが、ラベルが付与されたノート、画像もラベルも添付されていないノートをそれぞれ提示してみることにする。添付が画像がなかったり、ラベルが設定されていなかったりする場合はその項目自体がなくなることが確認できる。

  • Write a blog post for my game with C lang.json
{
  // 添付画像 エクスポートされた画像と一致する名前が書かれている。
  "attachments": [
    {
      "filePath": "1754012073708.537020305.png",
      "mimetype": "image/png"
    },
    {
      "filePath": "1754012073711.34850429.png",
      "mimetype": "image/png"
    },
    {
      "filePath": "1754012073714.920413482.png",
      "mimetype": "image/png"
    },
    {
      "filePath": "1754012073716.332646478.png",
      "mimetype": "image/png"
    },
    {
      "filePath": "1754012073720.484965236.png",
      "mimetype": "image/png"
    }
  ],

  // 設定された色の管理
  "color": "RED",
  // ごみ箱に入っているか?
  "isTrashed": false,
  // ピン止めされているか?
  "isPinned": false,
  // アーカイブされているか?
  "isArchived": true,

  // テキストの内容
  "textContent": "#game",
  
  // タイトル
  "title": "Write a blog post for my game with C lang",
  
  // 最終更新の日時?
  "userEditedTimestampUsec": 1754012125661000,
  // 作成日時
  "createdTimestampUsec": 1754012063904000,

  // 用途不明
  "textContentHtml": "<p dir=\"ltr\" style=\"line-height:1.38;margin-top:0.0pt;margin-bottom:0.0pt;\"><span style=\"font-size:7.2pt;font-family:'Google Sans';color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre;white-space:pre-wrap;\">#game</span></p>",
  
  // ラベル(タグ)の管理
  "labels": [
    {
      "name": "game"
    }
  ]
}
  • yellow.json
{
  "color": "YELLOW",
  "isTrashed": false,
  "isPinned": false,
  "isArchived": false,
  "textContent": "yellow \n#color",
  "title": "yellow",
  "userEditedTimestampUsec": 1754014408905000,
  "createdTimestampUsec": 1754011919771000,
  "textContentHtml": "<p dir=\"ltr\" style=\"line-height:1.38;margin-top:0.0pt;margin-bottom:0.0pt;\"><span style=\"font-size:7.2pt;font-family:'Google Sans';color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre;white-space:pre-wrap;\">yellow&nbsp;</span></p><p dir=\"ltr\" style=\"line-height:1.38;margin-top:0.0pt;margin-bottom:0.0pt;\"><span style=\"font-size:7.2pt;font-family:'Google Sans';color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre;white-space:pre-wrap;\">#color</span></p>",
  "labels": [
    {
      "name": "color"
    }
  ]
}
  • Cat_.json
{
  "color": "ORANGE",
  "isTrashed": false,
  "isPinned": false,
  "isArchived": false,
  "textContent": "cat is cute",
  "title": "Cat ",
  "userEditedTimestampUsec": 1754013860001000,
  "createdTimestampUsec": 1754011666302000,
  "textContentHtml": "<p dir=\"ltr\" style=\"line-height:1.38;margin-top:0.0pt;margin-bottom:0.0pt;\"><span style=\"font-size:7.2pt;font-family:'Google Sans';color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre;white-space:pre-wrap;\">cat is cute</span></p>"
}

HTML

 それぞれのノートに対して、JSON だけでなく HTML もエクスポートされていたので、それも確かめてみた。ブラウザで開いてみた感じ、JSON とは異なり、直接開いて見れるという感じである程度体裁やスタイルが整えてあるようである。ただ基本的に何か、Google Keep でエクスポートした内容をほかの自作のアプリケーションとかで読み込ませたいなどの場合は、ノート自体のデータとしては、JSONだけで充分かもしれない。

  • Write a blog post for my game with C lang.html
    GoogleKeep サンプル
<?xml version="1.0" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  
  <!-- タイトル -->
  <title>Write a blog post for my game with C lang</title>
  
  <style type="text/css">
    /* ...  省略 ... */
  </style>
</head>

<body>
  <div class="note RED">
    <div class="heading">
      <div class="meta-icons">
        <span class="archived" title="Note archived"></span>
      </div>
      Aug 1, 2025, 10:35:25&#8239;AM
    </div>
    
    <!-- タイトル -->
    <div class="title">Write a blog post for my game with C lang</div>
    
    <!-- テキスト -->
    <div class="content">#game</div>

    <!-- ラベル(タグ) -->
    <div class="chips">
      <span class="chip label"><span class="label-name">game</span>
      </span>
    </div>
    
    <!-- 添付画像 -->
    <div class="attachments">
      <ul>
        <li><img alt="" src="1754012073708.537020305.png" /></li>
        <li><img alt="" src="1754012073711.34850429.png" /></li>
        <li><img alt="" src="1754012073714.920413482.png" /></li>
        <li><img alt="" src="1754012073716.332646478.png" /></li>
        <li><img alt="" src="1754012073720.484965236.png" /></li>
      </ul>
    </div>
  </div>
</body>

</html>

気になったところ

ブラウザのink API

 少なくとも Google Chrome 138 においてペンタブの動作を確認できたが、他の Firefox や Chromium 系列の Edge などのブラウザがどこまで ink APIに対応しているのか不明。
   一応 MDN で調べると Ink API - Web APIs | MDN というページで一応存在を確認できた。なお Google Keep がこのAPIを使っているか不明である。

 現時点(2025年8月2日)においては試験段階の API であると記述されており、Google Chrome と、Microsoft Edge は対応していそうだったが、それ以外の Firefox や Safari では未対応であるとのこと。(もしかすると開発者機能のところで一応あるのかもしれないが。。。)なおほかの Opera や Electron などについてはそのサイトでは記述がない。調べてみるしかなさそうである。

現時点でのこの記事のまとめ

真似したいと思った点

  • 分類機能全般
  • JSON データ構造
  • 一定時間たつと消去されるヒューマンエラーを考慮したごみ箱機能
  • タグ機能

不満点

ローカルで動かない

 webアプリとして作られており、オフライン動作は困難があると思われる。ローカルで Electron などで動作するという感じでもなく、オンライン前提のサービスであり、MS Office みたいにデスクトップ版があるという感じではない。

 せっかくクロスプラットフォームで、windows でも、Linux環境でも、依存せずに Webベースで動いているが、ローカルで動かず、アカウントに紐づけられてしか動作しないのは不満である。

ログインしないとそもそも使えない

 アカウントに紐づけられており、ログインしないとサービスそのものが動作しない。ログインしてない状態で使おうとすると、ゲストモードとかはなく、ログイン画面に遷移してしまう。

単体としては物足りない

 なんか、OneNoteでいうページの単位の選べる情報整理やタスク管理テンプレートの一つとして存在しているみたいな感じだと、ありかなとは思う。ただ、分類機能はあるものの、いろんなことをごっちゃ混ぜにして使うと正直ノートが散乱してしまいそうである。

思ったこと

 タスク管理機能のバリエーションの一部として、OneNoteのページ的な単位でのテンプレートの一つとして、組み込んだらいいかも。

参考にしたサイトとか

フリースペース

画像資料内のサイトとか

ink API について