May 2012
13 posts
あああ
いいい
Bubbles アシストを公式化
伝説の名アシスト「Bubbles」。
このマスターピースを、作者である takahashihideki さんの許可を得て、公式アシストライブラリーに追加しました。
DraftPad の Assists > Library からインポートしてください。
尚、オリジナル版から少し仕様を変更しており、バブルのタップではなく、Done ボタンのタップですぐに編集結果を反映するようになっています。
また、使用には DraftPad 1.5.5 以上が必要です。
Tumblr 投稿アシスト
DraftPad に書いた文章を Tumblr に投稿するアシストを作りました。
投稿先は、自分のプライマリーブログです。
1行目がタイトル、2行目以降が本文になります。
初回使用時に OAuth 認証をします。
↓タップで DraftPad にインポート
Tumblr アシスト
なお、次のオプションが使えます。
アシストURLの末尾に &tweet=1 を付けると、投稿と同時に Twitter で共有されます(Tumblr の設定で Twitter アカウントを登録してある必要があります)。
アシストURLの末尾に &draft=1 を付けると、Tumblr 上で下書き扱いになり、公開されません。
OAuth 認証を解除したい場合は、こちらのリセッターを実行してください。
Reset Tumblr アシスト
iTunes App Code アシスト
iOS 5.1 の localStorage 問題が出ていると思われる iTunes App HTML アシスト。これを放置しておくのも何なので、新たに、Cookie を使った仕組みで作り直しました。 ↓ タップで DraftPad にインポート。
iTunes App Code アシスト
前の iTunes App HTML はけっこう複雑だったので、おもいきってかなりシンプルな作りにしました。主な相違点は以下。
テンプレート制をやめた。ただしスクリーンショットの有無は Settings から変更できる。
DraftPad に HTML を挿入する時の位置を Settings で指定できるようにした。
前回の検索が次回に自動実行されるようにした。
PCブラウザからの利用はできなくした。
なお、DraftPad...
でも
takahashihideki:
manabuueno:
ブログの設定みてもはじめからオフになってるんだけどな。
え、リブログもできるんですか?
あ、いや、自分のポストです。なんか実験でほざいてたのが全部 Tweet されてました。ほげげとか。(消したけど)。リブログは手動でした。
でも
ブログの設定みてもはじめからオフになってるんだけどな。
takahashihideki: ついでにDraftPadに乗り換え案内機能をつけてみる →
takahashihideki:
たとえば、鷺ノ宮 渋谷 なんて DraftPad に入力してこのアシストを起動すると、内蔵ブラウザに Y! Loco の鷺ノ宮 - 渋谷間の路線情報を表示します。さらに、鷺ノ宮 渋谷 0900 なんて入力すると、午前9時到着の路線情報を表示します。
Y! Loco アシストをインポート
なんかこう、ちまちまフォーム文に入力したり選択したりして検索するよりも、ぼくはこういう入力インターフェースのほうが気持ちいいです。焦っているときなんかは、実はこっちのほうが話しが早い。
# ちなみにこれは、さっきの天気予報アシストのようなみたいなスクレイピングではないです。
DraftPadに天気予報機能をつけてみる。
takahashihideki:
さっきの Get HTML Source アシストを改造して、Google に “渋谷 天気” なんて入力した場合の検索結果ページから、天気予報のウィジェット部分だけをちょいと失敬して DraftPad の内蔵ブラウザに表示してみる。
DraftPadに地名を入力してこのアシストを起動すると … ほら、DraftPad が天気予報アプリに早がわり。
Google Weather アシストをインポート
DraftPadにURLを入力してHTMLソースをGetするアシスト
takahashihideki:
そのまんまです。
Get HTML Source をインポート
ってことはアシストでスクレイピングし放題だよ。
takahashihideki: DraftPad Assist "Add task in... →
takahashihideki:
DraftPad に入力した内容を Google Tasks に新しいタスクとして追加するためのアシストです。下記のリンクをタップすると DraftPad が起動してアシストがインポートされます。
Add task in Google Tasks
1行目にリスト名、2行目にタスク名、3行目以降にノートを入力してアシストを起動します。 存在しないリスト名を入力すると、新規にリストを作成してタスクを登録します。 ノートは省略可です。
3行目以降のどこか(ノートの先頭や末尾など)に、@記号に続けて4桁または8桁の半角数字で日付を入力して期限日を設定することができます。たとえば、
http://cocoadays-info.blogspot.jp/2011/11/mac-os-x-... →
App Sandbox を有効にしたアプリケーションでは、デフォルトでファイルアクセスが許可されていないため、NSOpenPanel や NSSavePanel が使えない。
Target の Summary で “User Selected File Access” のオプションを変更して制限を解除する必要がある。
このことはドキュメントではほんの少ししか触れられていないため、気づかないと、なぜファイルダイアログが出てくれないのか悩むことになる。
NSOpenPanel or NSSavePanel doesn’t show up.
きみは DraftPad Assist Library を見たかい?
takahashihideki:
Special だぜ。
takahashihideki: DraftPad の清志郎追悼アシスト →
takahashihideki:
これは Google 検索を DraftPad の内蔵ブラウザで実行するアシストです。
アシストを起動するとカーソルがある行のテキストを検索キーワードにしてクグります。
検索結果をタップすると、Safari に切り替えて表示します。 で、これのどこが清志郎追悼なのかというと、まず、Google のカスタム検索というサービスを使って、ふつうの Google よりも清志郎関連の情報がヒットしやすいようにチューニングしてあります。
それから、ほら、今日が何かの記念日だと Google のロゴが特別仕様になるじゃないですか?
Doodle…
オーイェー!
April 2012
3 posts
Flickr Code アシスト
iOS 5.1 の localStorage 問題のために、人によっては、以前に私が作ったアシストのいくつかで問題が出てるようです。問題が出ている人は DraftPad の再インストールで直るはずですが、かといって再インストールすると溜め込んだアシストとか消えてしまうので面倒です。一応「Email My Assist」というアシスト(公式ライブラリ)で手動バックアップは取れるのですが。
ということで、とりあえず、Flickr HTML(Flickr の写真をブログなどに貼り付けるための HTML 生成アシスト)の修正版として、新たに「Flickr Code」アシストを作りました。機能は旧 FlickrHTML と全く同じですが、問題が起きる localStorage の使用をやめて、cookie を使うようにしています。
Flickr Code <- タップして...
iOS 5.1 バグ:アプリ内蔵ブラウザで localStorage が使えない問題
iOS 5.1 では、サードパーティアプリの内蔵ブラウザで localStorage が使えないという問題が発生する場合があります。これは iOS 5.1 のバグのようです。Web SQL Database でも同じ問題が起きるようです。
(localStorage とは、ウェブブラウザが内部的に持っている機能で、ウェブページ内の JavaScript から任意のデータを読み書きすることができる入れ物です。Cookie と似ています。例えばユーザーがフォームに入力した情報を JavaScript が裏で localStorage に保持し、ユーザーが次に同じページにアクセスした時に自動的に再入力させるようなことに使われます。)
実際、手持ちのいくつかのアプリで、localStorage が正しく使えないことを確認しています。しかしその問題の発生条件がちょっとややこしそうなのです。
...
Markdown Preview アシスト
DraftPad でマークダウン文書をプレビューするアシストを作りました。
Markdown Preview マークダウン記法で何か書き、このアシストを実行すると、内蔵ブラウザでプレビューできます。
プレビューの結果がOKだったら、プレビュー下の「Get HTML」ボタンを押して変換済み HTML を取得できます。
プレビュー結果が気に入らなかったら、あるいは HTML への変換が不要であれば、プレビュー左上の「Done」ボタンを押せば単に元の編集画面に戻ります。
通常は編集画面の全文がプレビュー&変換の対象になりますが、選択文字列がある状態でこのアシストを実行すると、選択部分のみのプレビュー&変換になります(ここがなにげにすごいとこ)。
ちなみに変換エンジンにはこの PHP Markdown Extra を使っていますので、拡張機能が使えます(たぶん)。
March 2012
2 posts
I'm Feeling Lucky を使うアシスト
Google の「I’m Feeling Lucky」を使う DraftPad アシストです。Safari が立ち上がる形式です。
I’m Feeling Lucky
現在カーソルのある行(もしくは選択範囲)をキーワードとして「I’m Feeling Lucky」を実行します。
使ってみるとこれがなかなか快適で、セマンティック検索っぽいというか、インスタントアンサーな感じになります。
例えば DraftPad で「今日の天気」と入力してこのアシストを実行すると、いきなり Yahoo! のサイトに言って今日の天気予報が表示されます。
「iPhone」と入力してこのアシストを実行すると、直接 Apple サイトの iPhone のページが開きます。
歯に捧ぐ
歯が痛いので歯医者に行ったら、もうこの親不知はダメなので抜く以外の選択は無いということで、親不知抜歯反対派の僕もさすがの痛みに負けて、同意した。
驚いたことに、今すぐ抜くという。
僕は心の準備ができていなくて動揺したものの、それを顔に出すのが悔しくて、「あ、じゃあお願いします」と言い放った。
麻酔はよく効いて、痛くも痒くもなくあっさり抜けた。
それはよかったのだが、歯科医は抜かれた歯を無造作にトレイに置いて「はい、じゃあ今日はこれで帰っていいですよ」と僕をおいたてた。
僕は、長年寝食を共にしたその歯、親からもらった大事な体の一部であるその歯を、もっと眺めていたかったし、持って帰るのはなんだけど(汚く虫歯菌に侵された歯なので)、せめてお別れの挨拶をゆっくりしたかったんだ。
でもそれは叶わなかった。
...
February 2012
1 post
DraftPad 翻訳アシスト(改)
前に作った翻訳アシストですが、Google が翻訳 API の提供をやめてしまったので使えなくなっていました。
そこで、Microsoft Translator API を使ったものに変更しました。下記リンクをタップで DraftPad にインポートされます。
To Japanese
To English
現在カーソルがある行(もしくは選択している文字列)を任意の言語に翻訳して置換するアシストです。
上の2つでは、アシストURLの最後が「ja」とか「en」になっていますが、この部分が翻訳先の言語指定で、この部分を他の言語に変えることで、カスタマイズできます。
元の文の言語は自動判別するので、翻訳先の言語のみ指定すればよいです。
扱える言語は、↓こんな感じらしい。
あと、API...
November 2011
1 post
404 Blog Not Found:備忘録 -... →
September 2011
2 posts
DraftPad テキスト交換アシスト "Exchange"
DraftPad の、ゲーム感覚のアシスト “Exchange” を作りました。Just for fun です。
Exchange
このアシストを実行すると、自分が書いたテキスト(現在カーソルがある行もしくは選択中の文字列)と、誰かが書いたテキストを、ランダムに交換することができます。
どっかの誰かが書いた文章が自分の DraftPad の中にやってくるのです!
だから何だと言われると困るのですが、仕事に煮詰まった時なんかにちょっとしたインスピレーションになるかなとか思いまして。
注意事項:
人に見られたら困る秘密情報を Exchange してしまわないように気をつけてください。誰に読まれるか分かりません。
著作権を主張したい文章を Exchange しないでください。誰がオリジナルを書いたのかは分からなくなるはずです。
...
日本のクライアントとは欧米に比べてどうでしたか?...
– 初期アップルのプロダクト・デザイナーが語る「スノーホワイト」の真実 | STUDIOVOICE
1991年12月号 Vol.192 特集「マッキントッシュの伝説」より
(via kogumarecord) デザインの話は普遍的だなぁ。 (via daxanya1)
June 2011
4 posts
タブとモーダル
タブはモーダルである。
本来ウィンドウというものは、スクリーン上の好きな場所に好きな形でいくつも開いておけるのがいいんだ。スクリーンを空間として使い、ちょっとこの端っこの方に小さく開いておこうとか、ふたつ並べておこうとか、こいつは大きく見たいからいっぱいに広げようとか、そういうふうに自由にスクリーンをちらかせるのがいいんだ。
タブにしてしまったら、全て同じ大きさと形、一度にひとつしか見えない。 各タブを識別する手がかりは小さなラベルだけ。しかも1次元にリニアライズされていて空間的に場所を記憶できない。こっちのウィンドウからこっちのウィンドウにオブジェクトをドラッグするにはどうすればいいんだ?
Apple が推進しようとしているシングルウィンドウもどうかと思う。ドキュメントとアプリケーションの宗教戦争で、Apple は完全にアプリケーション側につくことにしたようだ。
...
Flickr HTML をまたバージョンアップ
Flickr HTML をまたバージョンアップしました。(すでにアシストを入れた方は再度入れる必要はありません。勝手にバージョンアップされてます。)
まだ入れてない方はこちら → Flickr HTML (DraftPad がインストールされた iPhone/iPad の Safari でこのリンクをタップするとアシストが DraftPad にインポートされます。)
変更点
Set を検索できるようにしました。(ユーザー名とセット名の両方を入力する必要がある。セット名は完全一致しないと Not Found 扱い。表示可能枚数は30枚まで。)
HTML ソースの挿入ポイントを、先頭、カーソル位置、末尾、から選べるようにしました。
もし Set の検索で ERROR が出るようなら、DraftPad を一度キルしてみてください。
Flickr HTML をバージョンアップ
先日作った Flickr HTML アシストをバージョンアップしました。(すでにアシストを入れた方は再度入れる必要はありません。勝手にバージョンアップされてます。)
まだ入れてない方はこちら → Flickr HTML (DraftPad がインストールされた iPhone/iPad の Safari でこのリンクをタップするとアシストが DraftPad にインポートされます。)
変更点
検索結果から画像を複数選択して一括挿入できるようにしました。
サイズの選択肢を増やし、Flickr のサイトにある6段階から選べるようにしました。
サイズを選択肢から選ぶのではなく、最大サイズを自分で指定することもできるようにしました。(ただしこれをやると、読み込む画像としては一番大きな Large になるので、重くなる)
画像を Flickr にリンクするかどうかを選べるようにしました。
...
DraftPad Flickr HTML アシスト
ブロガーのためのアシスト、「Flickr HTML」を作りました。
Flickr にある写真を自分のウェブページに表示するための HTML を生成するものです。
↑ こんな感じで Flickr を検索して、Insert ボタンを押すと、
↑ こんな風に HTML が生成されます。
あとは「Blog Preview」でプレビューして確認すればよし。
hiro45jp さんの有名な「PhotoHtml」を真似たものですが、中身はスクラッチです。
とにかく簡単に使えることを優先したので、テンプレートをカスタマイズすることはできません。Options から画像のサイズやボーダーの有無、キャプションの有無を選ぶのみです。
検索に必要なのは、ユーザー名(ユーザーIDではない)もしくはキーワード。どちらかを入力すれば検索できます。
Flickr API...
May 2011
4 posts
DraftPad ブログプレビューアシスト
DraftPad をブログの下書きに使っている方もいらっしゃると思います。
Assist Library にある HTML Preview というアシストを使えば内蔵ブラウザでプレビューすることができますが、このアシストはあくまで HTML ドキュメントを見るためのものですから、いわゆる CMS 系のブログツール(WordPress とか)の原稿をプレビューすると、一応 HTML タグは認識するものの、HTML としては不完全(html, meta, body, br などの要素が抜けている)ですから、改行はスペースになってしまうし、表示スケールも Mobile Safari のデフォルト(幅 980px 相当)になってしまって文字が小さくて見づらいと思います。
そこで、ブログの下書きをしている時に便利な「ブログプレビュー」アシストを作ってみました。
↓...
DraftPad 文字列挿入アシスト
DraftPad で編集中の文章に任意の文字列を挿入するアシストを作ってみました。下記リンクをタプするとアシストがインポートされます。
まずひとつめは、現在のカーソル位置に任意の文字列を挿入するアシスト。
Insert “Hello”
サンプルとして「Hello」の文字列が挿入されるようになっていますが、text パラメーターを変更することで、好きな文字を設定できます。
選択範囲がある時にこのアシストを実行すると、選択中の文字列を消去して挿入します。
挿入後、カーソルは挿入した文字列の後ろに入ります。
次は、選択中の文字列の前後に任意の文字列を挿入するアシスト。
Insert “(” and “)”
prefix と suffix...
DraftPad 翻訳アシスト 2
昨日の翻訳アシストは、DraftPad 内の全文を翻訳しようとするものでしたが、Google Ajax API が GET メソッドを使っている都合上、日本語の場合だと230文字ぐらいまでしか翻訳できません。
しかも、クエリーが長過ぎた場合に Google のサーバーからは何もエラーが返されずにただ無視されるので、条件分岐させて何か別な処理にすることもできません(がんばればできますが面倒)。
なので、DraftPad 内の全文を対象とするのではなく、現在カーソルがある行もしくは選択している文字列のみを対象に翻訳するアシストを作ってみました。
これでも文字数制限は同じですが、長文の場合は細切れに翻訳を実行していけるのでまあ使えるのではないかと思います。
とりあえず和英と英和のみ。
Japanese - English (Current)
English - Japanese...
DraftPad 翻訳アシスト
サードパーティの熱さに触発されて、お手軽なところで Google Translate を使った翻訳アシストを作ってみました。
DraftPad 1.4+ がインストールされた iPhone/ iPad/ iPod touch の Safari でこのページを見ている必要があります。
下記リンクをタップすると、DraftPad にアシストがインポートされます。
Japanese - English
Japanese - Korean
Japanese - Chinese
English - Japanese
English - Spanish
English - Chinese
English - French
url パラメーターの from と to の値をこの Languages enum に従って書き換えると、バリエーションを作れます。
February 2011
1 post
takahashihideki: Webヒューラー →
takahashihideki:
突然目を閉じてなにやら難しそうな表情を浮かべた彼を、ぼくらは固唾を飲んで見守る。しっ、お邪魔をしてはいけない、と誰かが言う。彼はいま、未来を見ている。やがて彼はカッと大きく目を見開き、おもむろに一堂をぐるっと見渡してから、あらかじめそう決めていたかのように虚空のある一点を見つめる(いつもの角度だ!)。そして、ゆっくりと、独特の持って回った言い回しで、彼だけ…
October 2010
1 post
CSS Subclassing 101
HTML/CSS でよくこういう書き方をしている人がいる。
<html>
<head>
<title>Hey</title>
<style>
.button-A { font-size: 14px; }
.button-B { color: brown; }
.button-C { width: 100px; }
.button-A, .button-B { width: 80px; }
.button-A, .button-C { color: black; }
.button-B, .button-C { font-size: 18px; }
</style>
</head>
<body>
...
September 2010
1 post
情報という言葉の語源とその周辺について →
August 2010
3 posts
後編
え、それで結局どうなったのかって?
中編
そもそも私はプログラマーじゃないんですよ。デザイナーなんです。
前編
まずはじめに言っておきたいのは、これは私ひとりの功績じゃないってことです。
July 2010
1 post
DraftPad 開発者への 16,820 文字インタビュー
■今日は DraftPad の作者である上野さんに起こしいただき、DraftPad に込められた思想や開発時の苦労話などを伺っていきたいと思います。それでは上野さん、どうぞ。
□あ、どうも、上野です。よろしくお願いします。
■はい、それでは早速お話をお伺いしますが、まず、DraftPad のことをまだ知らない人のために、簡単に紹介をしていただけますか。
□はい。DraftPad は、iPhone、iPod Touch、iPad 用のノートパッドアプリです。特徴はとにかくシンプルなことです。標準のメモアプリもシンプルで洗練されたアプリだと思いますが、DraftPad はこれをさらに単純化して、メモを管理するという機能を排除して、とにかくただ書くだけに特化させています。だから起動するといきなり UITextView が FirstResponder...
May 2010
7 posts
高校に行ったら一人でちゃんとサボろうって、みんなで誓い合った。
–
Twitter
追悼:PELISSE 菊地日記 閲覧ページ →
敵を間違えるな | 雁屋哲の美味しんぼ日記 →
変わりつつあるソフトウェア開発の価値観 - 1 →
第43回 圧縮的情報管理 | WIRED VISION →
これは色々な意味で示唆的。対象識別のためのIDは自然言語的な意味論を排除した方が情報処理効率が上がる。うちの会社のサイトなんてまさにこの記事状態。なんだかんだこれが一番シンプルだし、実は口で伝達する時にも一番正確に伝えられる。IDがコンテクストや自然言語的な意味を持ってしまうと、逆に論理性を保てなくなる。
それに、今のインターネットでは、ユーザーから見た場合、URLというのはリソースに対する一方的なIDに見えているのであって、複数のアドレスが最終的に同じリソースを指していても普通だし、ウェブサーバー側でどうリダイレクトされてるのかなんてユーザーの知る由もない世界。ブログなんかみんな擬似的なURLになってる。Amazon...
原発がどんなものか知ってほしい →
takahashihideki:... →
愛しあってるかい?は本気で言ってたのよ、と、アッコちゃんが話していたというのを聞いて、大昔に彼女の元旦那が村上龍や吉本隆明を相手に、あれは一種のシュプレヒコールなんだと語っていたのを思い出した。 言葉から意味を分離して後景に退かせつつ、繰り返し発話して心地よい音としての力を顕在化させることができるすぐれて音楽的な声。そういえば、NHKの黒沢アナも「恩赦」をかけた後にほぼ同じ主張を展開していた。歌を唄うのではなく、そうして奇跡的に「唄」を誕生させてしまうのが本当のシンガーなんだという話。 …
April 2010
4 posts
Fast Scrolling in Tweetie with UITableView →
Converting to a Universal App (Part I) - Blog -... →
iPhone アプリを Universal にする際の、info.plist まわりの説明。公式ドキュメントの情報が中途半端なので、非常に役立つ。
ぼくはスーにあやまりたい。
– http://twitter.com/takahashihideki/status/11820454329
iPhone/iPod Touch (excluding iPad) Safari Detector
iPhone/iPod Touch の Safari(および UIWebView)からアクセスされたらモバイル用のテンプレートでウェブページを出力するけど、iPad は除外したい、という場合のディテクター。
■ JavaScript での iPhone/iPod Touch 判定(iPad除外)
function is_iphone() {
return RegExp(” AppleWebKit/”).test(navigator.userAgent) && RegExp(” Mobile/”).test(navigator.userAgent) && !RegExp(“iPad”).test(navigator.userAgent);
}; ■ PHP での...
March 2010
6 posts
1人日MGメソッド(かっこいいMGガンプラを約8時間で楽しく作る方法)
1. 水曜日頃に天気予報を見て、次の週末が晴れで風も弱そうなら、家人に「おれ今度の土曜か日曜ちょっと3時間ぐらい自分の時間が欲しいんだけど」とお願いして許可を得る。そしてどのモビルスーツを作るか考える。 2. 土曜もしくは日曜の午前中、近くのヨドバシとかプラモ屋とかに行ってMGガンプラを買ってくる。他に必要な道具は以下のとおり。持ってなければこれらも買う。 - いいニッパー - スミ入れ用筆ペン(黒とグレー) - つや消しスプレー(ひとつのMGに約1缶使う) - 綿棒 - マスク(厚め) - ゴム手袋 3. 家に帰ったら早速箱を開けてランナーと説明書を取り出す。それらをざっと見て構造を把握。そしてスミ入れ用筆ペンと綿棒を使って「部品がランナーについたままで」スミ入れする。...
クラウドリーディングの課題
読書体験のクラウド化 « マガジン航[kɔː]
書籍その他の作品をデジタル化&フリーズして共有するためには、ある作品を他と区別するユニークなプロパティと共に「作品クラス」のインスタンスとして定義できるようなスキームが必要になると思いますが、これは以外と難しいことかもしれません。 例えばアマゾンなどでは基本的に ISBN ベースで作品をアイデンティファイしていると思いますが、 ISBN は書籍出版物の単位で付けられるので、例えば同じ「吾輩は猫である」でも岩波と新潮では違う番号ですし、同じ岩波でも文庫と全集では違います。更には、「吾輩は猫である」といってもオーディオブック、外国語への翻訳、旧漢字かなづかい、もしくは映画化したものなど、同じ作品世界の中で様々な表現/体現があります。 このような作品世界の広がりを多層的に扱うには、書誌情報の管理スキームである FRBR...