Showing posts with label Notes Uploadアプリ. Show all posts
Showing posts with label Notes Uploadアプリ. Show all posts

2015-11-15

iOS 9/OS X 10.11のNotes.app(メモアプリ)の内部構造を調べ始めました

リッチテキストが扱えるようになったiOS 9のメモアプリですが、メモアプリ大好きの私は最近忙しくてiOS 9をやっと試すことが出来ました。

念のためiCloudアカウントの新しいのを準備してiOS 9をiPad Airに新規インストールしました。
初期状態でもBold/Underline/Italicまで使えるようになっています。
iCloudのメモのアップグレードを実行するとリストや図形が書き込めるようになります。

まずは、通信プロトコルについて、もともとメモアプリはメールと同じIMAP4でメモを管理していました。
アップグレードすると、元々のIMAP4のフォルダには更新がかからないようになるようで、調べてみるとiCloud Drive上でメモを管理する方式に変わるようです(参考: " Notes now syncs over iCloud Drive" http://forums.macrumors.com/threads/os-x-10-11-all-the-little-things.1890519/page-2)。
iCloud DriveはiOSとOS XであればCloudKitを使って簡単にアクセスできそうですが、それ以外からは少し難しそうです(参考: "iCloud in OS X Implementation?" http://apple.stackexchange.com/questions/54762/icloud-in-os-x-implementation-which-protocol-does-it-use)。
ただし、CloudKitにはJavaScript版もあるので、少しは道が開けているかもしれません。

なお、iCloud以外のIMAP4サーバ(gmailなど)をメモアプリのサーバとして指定した場合は、旧バージョンのメモアプリ(iOS 8では確認、もっと古いのとはおそらくエンコーディングの有無が違う)と互換性があるフォーマットでIMAP4で動作することは確認できました。

互換フォーマットでは、こんな感じで格納されます。
From - Sun Nov 15 18:33:59 2015
X-Mozilla-Status: 0001
X-Mozilla-Status2: 00000000
Content-Type: text/html;
charset=utf-8
Content-Transfer-Encoding: base64
From: XXXX <XXXX@icloud.com>
X-Uniform-Type-Identifier: com.apple.mail-note
Mime-Version: 1.0 (iOS/9.1 \(13B143\) dataaccessd/1.0)
Date: Sun, 15 Nov 2015 18:13:50 +0900
X-Mail-Created-Date: Sun, 15 Nov 2015 18:12:35 +0900
Subject: =?iso-2022-jp?B?GyRCJSIlQyVXJTAlbCE8JUlBMCROJWElYhsoQg==?=
X-Universally-Unique-Identifier: 1EB03753-F0E8-4914-8C09-4DEA1C04DE77
Message-Id: <92D9A2EF-9F3F-4FA6-AE33-BBC75B3A67BE@icloud.com>

44Ki44OD44OX44Kw44Os44O844OJ5YmN44Gu44Oh44OiPGRpdj48Yj48aT7mloflrZfpo77jgoo8
L2k+PC9iPuOBr+WPr+iDve+8nzwvZGl2PjxkaXY+5paH5a2X6Imy44Gv44Gn44GN44Gq44GEPC9k
aXY+
本文は見たところ、base64なので base64 -D コマンドで展開すると従来通りの簡易的なhtml形式になっていることが分かります(ここでの例)。
アップグレード前のメモ<div><b><i>文字飾り</i></b>は可能?</div><div>文字色はできない</div>
iCloud Drive上に格納された状態のメモがどのようなフォーマットなのかは、私のこれからの宿題です。

旧バージョンと互換性がないことから、メモアプリの本格的なアップグレードは私にはちょっとお預けです。
新フォーマットが分かれば、旧バージョンとのブリッジアプリを作ったりできるかもしれません。

以上分かった範囲でのメモです。

2015-06-09

WWDC 2015 - iOS 9のNotes App(メモ)が大幅に機能強化、内部構造は?

私が最もよく使うアプリの一つである、メモアプリ(Notes、MobileNotes.app)がiOS 9で、リッチテキスト、写真、手書き、データのアプリへの送信(Share to)に対応します。

さて、内部表現はどう変わるのでしょうか。
以前は、こんな感じ(jbした上での解析)でした。

2013-06-15

Mac OS X 10.9 Maverickのメモアプリ (Notes) はこんな感じ

OS X 10.9 Maverickのベータのスクリーンショットが共有され始めています。
スキューモーフィックを排除してフラットデザインにと言われています。
その中でメモアプリ (Notes) はこんな感じのようです(Cult of Macより)。
現時点の感覚では、メモなのかターミナルなのかテキストエディットなのか区別しにくい、と言うしかないですね。

2013-01-06

iOS 5のnotes.sqliteの変更点

iOSのメモアプリ(MobileNotes.app)の内部DBのスキーマが3.0のの頃に比べて大幅に拡張されています(4.0から同期機能ができたので2段階拡張されているのかもしれません)。
3.0の時(2009年8月)に調べた記事はこちらです。
複雑になりすぎていて、もう直接使うことは無いと思いますが、備忘録として記載しておきたいと思います。
$ sw_vers
ProductName:    iPhone OS
ProductVersion: 5.1.1
BuildVersion:   9B206
$
$ sqlite3 Library/Notes/notes.sqlite
SQLite version 3.7.7
Enter ".help" for instructions
sqlite> .tables
ZACCOUNT      
ZNEXTID       
ZNOTE         
ZNOTEBODY     
ZNOTECHANGE   
ZPROPERTY     
ZSTORE        
Z_METADATA
Z_PRIMARYKEY
sqlite> .schema
CREATE TABLE ZACCOUNT ( Z_PK INTEGER PRIMARY KEY, Z_ENT INTEGER, Z_OPT INTEGER, ZTYPE INTEGER, ZDEFAULTSTORE INTEGER, ZACCOUNTIDENTIFIER VARCHAR, ZCONSTRAINTSPATH VARCHAR, ZNAME VARCHAR );
CREATE TABLE ZNEXTID ( Z_PK INTEGER PRIMARY KEY, Z_ENT INTEGER, Z_OPT INTEGER, ZCOUNTER INTEGER );
CREATE TABLE ZNOTE ( Z_PK INTEGER PRIMARY KEY, Z_ENT INTEGER, Z_OPT INTEGER, ZCONTAINSCJK INTEGER, ZCONTENTTYPE INTEGER, ZDELETEDFLAG INTEGER, ZEXTERNALFLAGS INTEGER, ZEXTERNALSERVERINTID INTEGER, ZINTEGERID INTEGER, ZISBOOKKEEPINGENTRY INTEGER, ZBODY INTEGER, ZSTORE INTEGER, ZCREATIONDATE TIMESTAMP, ZMODIFICATIONDATE TIMESTAMP, ZAUTHOR VARCHAR, ZGUID VARCHAR, ZSERVERID VARCHAR, ZSUMMARY VARCHAR, ZTITLE VARCHAR );
CREATE TABLE ZNOTEBODY ( Z_PK INTEGER PRIMARY KEY, Z_ENT INTEGER, Z_OPT INTEGER, ZOWNER INTEGER, ZCONTENT VARCHAR, ZEXTERNALCONTENTREF VARCHAR, ZEXTERNALREPRESENTATION BLOB );
CREATE TABLE ZNOTECHANGE ( Z_PK INTEGER PRIMARY KEY, Z_ENT INTEGER, Z_OPT INTEGER, ZCHANGETYPE INTEGER, ZSTORE INTEGER, ZNOTEINTEGERIDS BLOB, ZNOTESERVERIDS BLOB, ZNOTESERVERINTIDS BLOB );
CREATE TABLE ZPROPERTY ( Z_PK INTEGER PRIMARY KEY, Z_ENT INTEGER, Z_OPT INTEGER, ZPROPERTYKEY VARCHAR, ZPROPERTYVALUE BLOB );
CREATE TABLE ZSTORE ( Z_PK INTEGER PRIMARY KEY, Z_ENT INTEGER, Z_OPT INTEGER, ZACCOUNT INTEGER, ZEXTERNALIDENTIFIER VARCHAR, ZNAME VARCHAR, ZSYNCANCHOR VARCHAR );
CREATE TABLE Z_METADATA (Z_VERSION INTEGER PRIMARY KEY, Z_UUID VARCHAR(255), Z_PLIST BLOB);
CREATE TABLE Z_PRIMARYKEY (Z_ENT INTEGER PRIMARY KEY, Z_NAME VARCHAR, Z_SUPER INTEGER, Z_MAX INTEGER);
CREATE INDEX ZACCOUNT_ZDEFAULTSTORE_INDEX ON ZACCOUNT (ZDEFAULTSTORE);
CREATE INDEX ZNOTEBODY_ZOWNER_INDEX ON ZNOTEBODY (ZOWNER);
CREATE INDEX ZNOTECHANGE_ZSTORE_INDEX ON ZNOTECHANGE (ZSTORE);
CREATE INDEX ZNOTE_ZBODY_INDEX ON ZNOTE (ZBODY);
CREATE INDEX ZNOTE_ZINTEGERID_INDEX ON ZNOTE (ZINTEGERID);
CREATE INDEX ZNOTE_ZSTORE_INDEX ON ZNOTE (ZSTORE);
CREATE INDEX ZSTORE_ZACCOUNT_INDEX ON ZSTORE (ZACCOUNT);
sqlite> .q
$
The iPhone Wikiというサイトにも部分的にですが解説が書かれています。

2012-12-31

来年はAndroid版のNotes Uploadを作ろう

年末には普通、今年の重大ニュース(10大ニュース)を書くものですが、少し趣向を変えて、来年2013年への決意を一つしたためたいと思います。

先日書いたように、Nexus 7を手に入れてから、ちょうど持ちやすい大きさと画面の見やすさから普段使いはAndroid 4.2でもいいんじゃないか、と思うようになり、実際かなりの時間がシフトしてきました。

Firefox、Flipboard(つい先日タブレット対応になりました)など、iOSと共通の定番アプリはほぼ同じ使い勝手で非常に良いです(ただ、Flipboardはすぐに外部ブラウザに抜け出てしまいがちで細かなところはiOS版と違いますが)。
やはり、キラーアプリはOS・プラットフォームの違いを乗り越えられるんだ、ということが実感されます。

ところがひとつだけどうしても足りないものがあります。
私がiOSの最初のバージョン(当初はiPhone OSと呼ばれていましたが)からずっと気に入って使っている純正のメモアプリ(英語ではNotes)がどうしてもAndroidにはありません。

かの有名なEvernoteでもいいのでは、と試してみましたがどうも細かな動きがしっくりきません。

無いのなら作ってみようホトトギス、ではないですが、もう作るしかありません。
ちょうどまとまったAndroidアプリ作成の練習にも良いですし、来年2013年はAndroid版のNotes Uploadを作りたいと思います。

2012-06-12

WWDC 2012キーノート自主ライブ崩れ

昨夜は寝ちゃいました。
画期的な製品はなかったように思います(ライブじゃないと感動が薄いからそう感じる?)。
自分なりのトピックを挙げておきたいと思います。
  • MacBook RetinaとAirシリーズすべてに光学ドライブがなくなりました。AirだけではなくProでもです。
  • Retina MacBook Pro 15インチは確かにすばらしそうだけれど、それくらいの画像は、大きな画面で落ち着いて見たいのではないでしょうか。文字が印刷のようにきれいに(昔のLaserWriterの300DPI)表示されるのはうれしいことではありますが。
  • Ivy Bridgeは3次キャッシュが3MB、i7でも6MB位しかありません。前世代は中位機種で6MBあったのですが、パフォーマンスは大丈夫なのでしょうか?(ベンチマーク等調べないといけません)
  • iCloudで待望のメモ(英語ではNotes)の同期ができるようになるとのことですが、いつ、どこからできるのか詳細に触れられなかったような。PCやAndroidにも対応してほしいですね(自分で作れ!かな?)。
画期的な製品として、iPhone 5/iPod touch 5が期待されていましたが、そんなに詰め込むのはやはり無理ですね。

[120616] 訂正です、RetinaでないMacBook Proは光学ドライブは付いています。ところでMacBook Air 13インチとPro 13インチはほとんど同じ値段なのだけれど、Proの差は光学ドライブとUSB 3.0だけですね。

2010-06-09

iPhone 4 の100の新機能から気になる点;カメラのマクロ機能とメモ同期

日本語のページにはまだ翻訳されていませんが、USのiPhoneのページにとても気になる記述がありました。
  • Tap to focus... the macro lens takes great close-ups...
    Cameraのページの記述です。マクロ機能まで搭載されることになっています。
  • Notes ... If you use an IMAP account such as MobileMe, your notes can even sync over the air.
    その他の機能のページでです。いよいよメモのIMAP同期ができるようになるのでしょうか。
また、ITmediaの記事によると、日本語変換辞書の編集機能もついてくるようです。

2009-08-18

メモ同期アプリ Notes Upload Build #004

iPhone OS 2.0以降で動作しなくなっていたメモ同期アプリ(旧バージョン)が、iPhone 3.0でやっと復活の日を迎えることができました。
前回はJiggyという独自のGUIツールを使用していましたが、今回はXcodeでGUIを作成しました。
DB操作やネットワークアクセスには前回と同様、Pythonスクリプトを使用しています。

メモ同期 Notes Upload (build #004 2009-08-18) [Download]

できること
  • メモアプリのエントリをIMAPプロトコルで、メールのフォルダに同期(現バージョンではアップロードのみ)します。同期先のメールフォルダはあらかじめメールソフト(メーラー)で作成しておいてください。
  • 無線LAN (Wi-Fi) 接続で同期を行えます。
  • GUIは今回は英語のみです。
  • Last Uploadの日時を指定して、部分的な同期(新しいエントリのみ)ができます。同期完了後、Last Uploadの日時は自動的に更新されます。
  • 今回はプログレスバーをつけてみました。
インストールの仕方
  • 事前にPythonをCydia等でインストールしておいてください。パッケージ名「iPhone/Python」を選ぶと必要な周辺パッケージも一度にインストールできて便利です。
    tar (Tape Archive) も必要なのでインストールしてください。
  • 上記キットをiPhone/iPod touchに適当な方法でコピーします(いったんPC/MacにコピーしてからscpでiPhone/iPod touchにコピーする、など)。ファイル名は NotesUpload004.tar.gz です。
  • iPhone/iPod touchにログインして、rootユーザになります(suコマンドやsudo shコマンド)。
  • iPhone/iPod touchの /Applications/ フォルダ配下に展開します(/var/mobile/Applications/ ではありません)。念のため、コマンドは下記です。
    cd /Applications/ ; tar xzvf ~mobile/NotesUpload004.tar.gz
  • コピーしたアプリをiPhone/iPod touchに認識させるためにrespringまたは再起動します。
お願い
初めて作ったXcodeアプリなので、まずは、動いたかどうか(正常に起動したらPreference画面が表示されます)をお知らせいただけると、とてもありがたいです。
自分の環境では動いていますが、それがそのまま他の環境で動くかどうかが全く分からないからです。
よろしくお願いします。

(noets.dbの内容を読み込んでIMAPにエントリを作るだけで、削除処理は全く行わないアプリなので、安全に実行していただけます。ただし、業務等重要な用途で使用することは今の段階では避けてください。)

開発後記
Pythonスクリプトを使用しているのは、とても容易に使えるIMAPライブラリを利用したいがためです。
Pythonにはあらかじめ何でもそろっています(Batteries included;バッテリも入っています(おもちゃなどがバッテリ付きで、他に何も買いそろえなくても、すぐに遊べるようになっている状態をたとえにしている))。
今回が初めてのXcodeプログラミングだったのですが、Objective-CおよびCocoa Touch独自のお作法に、最初確かに、めげそうになりました。
(なお、App Storeに登録していませんので、iTunesで探しても見つかりません、念のため。)

iPhone 3.0のnotes.dbの変更点

iPhone/iPod touch 3.0のメモアプリ (MobileNotes.app) のsqlite3テーブルスキーマが1.1の頃に比べて拡張されています(2.xからかもしれません)。
$ sqlite3 notes.db
sqlite> .tables
Note
_SqliteDatabaseProperties
NoteChanges
note_bodies
sqlite> .schema
CREATE TABLE Note (ROWID INTEGER PRIMARY KEY AUTOINCREMENT, creation_date INTEGER, title TEXT, summary TEXT, contains_cjk INTEGER, modification_date INTEGER, author TEXT, content_type INTEGER);
CREATE TABLE NoteChanges (record INTEGER, type INTEGER);
CREATE TABLE _SqliteDatabaseProperties (key TEXT, value TEXT, UNIQUE(key));
CREATE TABLE note_bodies (note_id INTEGER, data, UNIQUE(note_id));
CREATE TRIGGER delete_note_bodies AFTER DELETE ON Note
BEGIN
DELETE FROM note_bodies WHERE note_id = OLD.ROWID;
END;
sqlite>

変更点は、
  • Notesテーブルの追加カラム:
    contains_cjk:cjk文字が含まれているかどうか。1でYes。漢字の有無でフォントが切り替わる謎がこれで解けた。
    modification_date:最終修正日時。1.1ではcreation_dateでmodification_dateを代用していた。
    author:おそらく、Sync時にサーバ側のFrom:ユーザがストアされる。
    content_type:不明。メモアプリで作ったアイテムは、全て0のようだ。
  • 追加テーブル:NoteChanges
    アイテムを編集したり削除した履歴。編集の度にレコードが追加される。おそらく、type=1は編集、type=2は削除。Syncすると履歴が削除されると思われる(後で実験)。

2009-05-09

私の気づいたiPhone 3.0の変更点&メモの同期(Notes Sync)機能

先日、iPhone 3.0 (iPhone OS 3.0) のBeta 3に触れる機会があったので、気づいた点を挙げておきます。
  • 全般
    • ダブルタップによるCut, Copy&Pasteは、起動に多少のぎこちなさがあるけれども、操作性はスムーズ。心配していたけれども、かなり使いやすい。
    • Spotlightの検索も、すばやく動いて、やはりとても便利。
    • いろいろなアプリの一覧表示の先頭に、検索窓が表示されます。
  • 日本語関連
    • FEPの変換中の文節の移動ができます。変換中の入力文字列の必要な箇所を指で触って文節を指定します。
  • ミュージック関連
    • 楽曲の並びが、今まで「a~z日本語」だったのが、「あ~んa~z」に変更。多少違和感あります。
    • ビデオのみのプレイリストは、今まで表示されなかったが、Musicアプリの中で表示および再生できるようになりました。
  • 互換性
    • MobileTerminalとBos Prefsはまだ動きません。
さて、個人的に思い入れの深い、メモの同期に関しては、Beta 3では下記のようなものでした。
  • iPhone 3.0を接続すると、iTunesの全般タブにに「メモ同期」の項目が現れる。今回Beta 3では、現行のiTunes8.1.1でもこの機能は有効でした。
  • 「メモ同期」をiTunesでONにし、次回同期すると、メモの同期が始まります。
  • メモの同期対象は、Mac OS XのMailアプリで見えている、すべてのメモです。つまり、ローカルフォルダのメモと、IMAPサーバ上のメモ形式のメッセージすべてです。
  • iPhone/iPod touchで作成したメモは、Mailアプリのローカルフォルダにコピーされます。
  • 更新分の差分同期が行われます。なお初回など、大量のメモの同期には何分もかかります。
  • Mailアプリが起動していなくても、メモの同期ができます。ローカルフォルダと直接、およびIMAPのキャッシュとの間で同期しているようです。
  • 同期はiTunes経由なので、ケーブルが必要です。
  • Windowsとのメモ同期はまだ試せていません。
音楽や写真、Podcastと同様に、iPodケーブルを使用してのメモ同期機能です。
Podcastで可能になったように、無線(Wi-Fiおよび3G)での同期ができるともっとよかったのにと思いました。

私の利用スタイルだと、現状では、最高でも週に一度しか同期しません(購読しているPodcastがDailyのものがなく、ほとんどWeekly)。
メモの同期は一日に何度も行いたい勢いなのに、iPodケーブルを使用した同期、かつ母艦が必要となると、私の使い方ではちょっと有用さにかけてしまうな、と思いました。
やはり、無線でIMAPフォルダと直接同期するような仕組みが欲しくなってしまいます。

2008-06-10

OS X iPhone 2.0でもメモ同期は見送り?

先ほど発表された、MobileMe 良いですね。Google AppsやWindows Liveに、Apple流で対抗している感じがします。
iPhone/iPod touch、Mac、PCの間で、メール、アドレス帳、カレンダ、写真 (iPhotoとiPhoe/iPod touchとブラウザアクセスと、iTV)、iDisk (MacとPCとメールでの送信のみ) の同期または共有がスムーズにできてしまいます。

でも、ちょっと待ってください。メモ (Notes) はここでも全く触れられていません。
メモ同期は忘れられているのでしょうか、それとも技術的な課題でもあるのでしょうか。
やはり現物を見てみないことには、何とも言えないですね。

2008-06-09

メモ同期アプリ Notes Upload Build #003

OS X iPhone/iPhone OS (iPod tuoch)メモ同期アプリにGUIをつけました。

メモ同期 Notes Upload (build #003 2008-06-09) [Download]

できること
  • メモ(MobileNotes)のエントリをメールフォルダに同期(現バージョンではアップロードのみ)します。
  • 無線LAN (Wi-Fi) 接続で同期を行います。
  • Mac OS X Leopard (10.5) のMail.appのメモ機能との互換性を目指してみました(実験的)。
  • GUIの国際化(英語と日本語)を行っています(実験的)。
使い方
  • ファイルをダウンロードして /Applications フォルダで展開(unzip)してください。/Applications/Notes Upload.app/ というフォルダができればOKです。
  • メールサーバに同期用のフォルダを作成してください。
  • 同期処理には多少の時間がかかります(1メッセージ当たり1秒程度)。メモがたくさんある場合には最初は気長に待ってください。
事前に必要なもの
  • Python (2.5-6)で開発していますでの、Pythonが必要です。
  • Erica's UtilitiesのdoAlertを使用してメッセージを表示しています。
  • GUIはJiggyで開発しました。Jiggyも必要です。
WWDC08まで24時間を切ってしまいましたが、何とか更新にこぎつけました。
ご意見、ご感想などいただければ幸いです。

[2009-08-19] 新バージョン出ました。

2008-05-03

メモ同期アプリNotes Update次の一手

iPhone OS (iPod touch)のメモ(Notes)をメールサーバに同期するアプリNotes Uploadですが、次の一手として下記を考えています。
  • 同期した際のメモの最終更新日時を記録しておいて、次回はそれ以降のメモをアップロードする。こうすることで、毎回全件をアップロードする必要がなくなる。
  • メールアカウント設定のためのGUIを作成する。Jiggyがお手軽そう。もしかしてPythonから直接UIKitを呼び出せるのでしょうか?
  • Gmailでのフォルダ管理は主流ではないので、Googleとの同期は、Goole Notebookと行う。APIも用意されているのでうまくいきそう。
また、最終的にはiPhone OSのメモとPC/Macのメモを双方向同期を行いたいです。その時のネタは下記です。
  • iPhone OSのメモは一度書いたメモを後で編集できるところが一つのミソと思っています。メモエントリを後で編集できるPC/Macアプリは、他に以下のものがあると思います。
    • Mac OS X 10.5 LeopardのMailのメモ機能
    • Microsoft Outlookの投稿エントリ(実はどんなエントリも編集できる)
    • Thunderbirdの下書きフォルダ(間違って送信してしまわず、保存をする必要がある)
    • Google Notebook
  • できるだけ共通の方法で記事の紐付けを取りたいです。
  • 第一の課題は、PCアプリ側で作成したエントリを、うまくiPhone OSのメモに取り込めるかだと思っています。Outlookなんかはとんでもないhtmlを生成してしまうようです。
ご意見いただけると嬉しいです。

2008-04-30

メモ(Notes)同期アプリを改良

iPhone OS (iPod touch)で、スクリプトアプリをアプリアイコンから起動すると20秒ほどで強制終了させられる問題を、ちょっと姑息な方法で回避しました。
メモ同期アプリが起動したらアラートボックスを1回出して、本体をバックグランドで起動し即座に終了するようにしました。
本体はアラートボックスを2回出して処理の開始と終了を知らせるようにしました。
現状、アラートボックスはシステムモダルなので、他の操作を中断しますが、お許しください。

メモ同期 Notes Upload (build #002) [Download]
その他、使い方は直前のエントリを参照してください。

[2009-08-19] 新バージョン出ました。

メモ(Notes)同期アプリを作ってみました

iPhone OS (iPod touch)のメモは、実は、携帯電話より入力しやすくて、ちょっと思いついたことをメモするのにとても便利です。
ところが、Appleさんはこのデータを活用するための手段を、メールで送信する機能以外、提供していません。
そこで、メモ同期アプリをDIY的に作ってみました。
本格的にObjective-Cでの開発ではなく、スクリプト言語Pythonを今回一から学んで作りました。
まだまだ完成品とは言えませんが、ご意見を頂ければと思い、ともかく公開してみたいと思います。

メモ同期 Notes Upload (build #001) [Download]
できること
  • iPod touchのメモアプリのエントリを指定したメールサーバのフォルダに同期(アップロード)します。
  • メールサーバへの接続はIMAP4プロトコルを使用します。
  • .Macのような暗号化なしのIMAP4サーバにも、gmailのような暗号化IMAP4にも対応します。
  • gmailの場合1件当たり1秒、.Macの場合1件当たり0.5秒くらいで処理できると思います。
  • Mac OS X 10.5 LeopardのMailのメモデータとの互換性を目指しています。
できないこと
  • エントリの更新があってもなくても全件アップロードし、新しいエントリを作成します。差分のみを処理するようなことは、現状はできていません。
  • アプリケーションをアイコンから起動する使い方は、処理に時間がかかるため、現状実用的ではありません(途中で落ちる)。[改善済み]
制限事項・注意事項
  • メールアカウントの管理機能がないので、直接ファイルを編集してください。
  • アイコンからの起動は、処理に時間がかかるためか、途中で終了していしまいます。[改善済み]
  • エラー処理は全く行っていません。
  • 作者の環境ではそれなりに動作していますが、あなたの環境に悪影響を及ぼさないことを保証できるわけありませ。その点をご承知の上でご利用ください。
使い方
  • リンク先のzipファイルを何らかの方法でダウンロードして、/Application フォルダに展開してください。Notes Upload.appというフォルダに展開されるはずです。
  • 展開されたファイルに実行権をつけてください。
    cd /Application/Notes Upload.app
    chmod +x *
  • Notes Upload.appフォルダのnotes2imap.pyファイルをテキストエディタで編集してください。先頭の方にメールアカウントおよびフォルダの設定があります(HOST、USER、PWD、FOLDER)。
  • メールサーバのホスト名がiPod touchから認識できない場合(pingもエラーする)はIPアドレスで指定してください。
  • メモのファイルにプロテクションがかかっている場合があるので、Ownerをmobileに変更してください。
    cd /var/mobile/Library/Notes/
    chown mobile notes.db
  • IMAP4メールサーバのフォルダは事前に作成しておいてください。
  • 実行は、notes2imap.py をターミナルアプリで起動してください。
    cd /Application/Notes Upload.app
    ./notes2imap.py
事前に必要なもの
  • Python;Installer.appからインストールしたPython 2.5-6で開発しています。
  • Erica's Utilities;メッセージを表示するためにdoAlertを使用しています。
Pythonの素のスクリプトで開発しているのですが、アイコンから起動すると5秒くらいで処理が強制終了させられるようで困っています。[改善済み;暫定対処]
使ってみて、ご意見、アドバイスなどありましたら、ご連絡いただけると幸いです。
また、ダウンロードされましたら、コメントくださると大いに励みになります。

[2009-08-19] 新バージョン出ました。

2007-10-26

iPhone (iPod touch)のNotes(メモ)はまだ誰とも同期できない?

「LeopardのMail.appのNotes(メモ)は.MacやiPhone(iPod touch)と同期できる?」の記事に対する、匿名さんからコメントで教えていただきました。Leopardの300超の機能の説明から、「Mail.appのNotes(メモ)とiPhoneのsync」に関する記述がまたしても「こっそり」削除されています。
最初公開された時は確かに
Your notes folder acts like an email mailbox, so you can retrieve notes from any Mac or PC or access them from your iPhone.」となっていましたが、今は、
「Your notes folder acts like an email mailbox, so you can retrieve notes from any Mac or PC.」と変更されています。
単に間違いだったのか、何か意図があるのかはわかりませんが、そろそろ出てきているLeopardのレビューをよく見てみる必要があります。

2007-10-17

LeopardのMail.appのNotes(メモ)は.MacやiPhone(iPod touch)と同期できる?

Leopardがうわさ通り(やっと)発表されました。驚きの隠し機能は(まだ)見当たりませんが、一点だけ気になる点があります。
300を超える新機能の紹介ページの日本語版にはないのですが、Notes(日本語ではメモという名前;アイコン拝借先)に関して、英語版には、「Notes - Your notes folder acts like an email mailbox, so you can retrieve notes from any Mac or PC or access them from your iPhone.」とあります。単にIMAPでNotesをアクセスできるだけと読むか、iPhoneのNotesと直接双方向同期できると読むか、さらに、iPod touchがアップデート(1.2.1 ?)して追記可能なNotes機能を備えるようになると読むか、微妙な気がしてなりません。Mac OS XのNotes.appがiPhoneのNotesと同期できなかったのはLeopardのこの機能を待っていたからだと思います。
さらに、「.Mac Sync for Notes - Access notes from anywhere, including your other computers, by syncing them with your .Mac account.」というのもあり、直接、独立してNotesを .Macと同期できるようなことも考えられているよう思います。
そういえば確かに、こういう話をされている方もいらっしゃいました。