日々ろぐ

良いウェブサービスを支える「利用規約」の作り方[書評]

| 2013.04.23 Tuesday |

みなさんこんにちは
田中の方です。

たまには趣を変えて書評みたいなことをやってみたいと思います。
今回はこちらの本。
良いウェブサービスを支える「利用規約」の作り方

「どうせ読まれることないし」
「まるごとパクればいいんじゃないの」
「免責しとけばなんとかなるよ」

この3行、まさしくそうそうと言いたくなるようなセリフですよね。
正直なところお客様のサイトを扱う上でも避けて通れない部分なんですが、一度はしっかり考えないといけないと思いつつ後手後手にしていました。

前回、食品表示ラベルの話を書いて好評頂きましたが、この本を読んで「利用規約」や「プライバシーポリシー」においても食品表示と同様、同じ態度で接すればいいんだと思いました。

めんどくさいけど法律で決まっているからともかく体裁だけ整えてやり過ごそうという態度は正しくないというよりはもったいないなあということです。

法律といっても私たちの常識の延長線上にあることには違いないし、そういうルールになっていることにはそれなりの必然性があるわけです(そうじゃないものも多少ありそうだけど)。自分の作った商品やサービスを誤解なくきちんと届けるには絶対必要な要素です。

本のなかで取り上げられていたEvernoteの利用規約ですが、読んでいて気持ちの良い規約ですね。
サービス利用規約 | Evernote
Terms of Service | Evernote(オリジナルは英語のほうです)
難しい言葉遣いをなるべく廃し、規約とは何なのか?というところからサービスを提供する上でなぜこういうルールを定めなければいけないのか?という部分にも触れています。
規約を読んで快適に自社のサービスを使ってほしいという気持ちが伝わってきます。
自社サービスに対する自信や誇りもちょっと感じますね。

食品表示同様、最終的には法律の原典に当たる必要も出てくると思いますが、まずとっかかりとしておおまかにポイントを掴むには良い本です。
ウェブの登場でどなたでも気軽に物を売ったりサービスを提供したりできるようになりました。
そういう意味で皆さんにおすすめしたいと思います。
もちろん、考藤にも薦めましたが・・・睡眠薬としては役に立っているようです。読みやすい本だとおもうんだけどなぁ。

ああ、こんなオチで終わってしまうと何なんですが、本当に良い本だと思います。はい。

おいしい農風登場&ベーグル屋ハル通販開始

| 2013.02.03 Sunday |

新規のサイト制作とは別の意味で既存の改修も楽しい&うれしいですね。
改修の依頼が来るのはお客さんから信頼される証だし、事業が発展している証でもあるのでワクワクします。

昨日はこちらをオープンさせました。
週末農風は着々と参加者が増え続け、良いコミュニティーができつつあります。
新しいアイデアが続々と出てきます。
今後も形にできるようお手伝いしていきます。
おいしい農風 « 週末農風 – 週末だけ農作業でお手伝い

ちょっと時間がたってしまいましたが、ベーグル屋ハルさん。
お取り寄せができるようになりました。
現在は品数も限られファックスのみの受付ですが、体勢が整い次第もっと便利になる予定です。
お取り寄せ « ベーグル屋 ハル – ベーグルとナチュラルスイーツの店 長野県上田市

フェイスブックの Graph API の扱う日時はロサンゼルス時間だった

| 2013.01.24 Thursday |

フェイスブックのGraph APIを叩いていたら時間の処理でハマりましたのでここにその原因と対策を記しておきます
javascriptだけでお気軽にgetJSONしようとするとぶつかる問題です

タイムゾーンは太平洋時間だ

フェイスブックのイベントの取得をAPI介してやっていたところイベントの開催日時のタイムゾーンがよくわからない
てっきり標準時だと思っていたらちがう
調べてみたら太平洋時間(PST)というやつだった
これはUTC-8でフェイスブックの本社があるロサンゼルスのタイムゾーンだった
彼らはきっと自分の中心が世界の中心だと思ってるんでしょうね
といういやみはともかく、去年一度、標準時に変えたらしいんだけどまたもどしたとかよくわからない
とにかく現時点ではPSTです

じゃあこれで日本はUTC+9だから+17時間でめでたしめでたしかというとそうは行かない
というのもPSTにはサマータイムがあるのです(やめてほしい)
詳しくはここでもみてください
アメリカ / ロサンゼルスの時差と現在時刻 – Time-j.net

今はちょうどサマータイムじゃないのでフェイスブックの時間管理がサマータイムを考慮するかしないかわからないけれど
ちょっと調べた限りではしそう
というわけでとにかくロサンゼルス時間だろうということで処理していくことにした

ただそうするとjavascriptだけで処理できない
なぜならjavascriptには標準時と自分自身のタイムゾーンに基づいた時刻はしらべられるけどそれ以外は調べられない

結局サーバーサイドに頼ることにした(今回はPHPで)

PHPで任意の地域のタイムゾーンを調べる方法

これで標準時とロサンゼルスの時差が取れる
サマータイムも考慮してくれているはずです

$date = new DateTime(null , new DateTimeZone('America/Los_Angeles'));
$offset = $date->format('O'); //-0800 が返る

javascriptがDateと認識してくれる文字列の形式とGraph API が返す日時の形式の差

これはちょっと余談ですがここも一般的なハマリポイントなので書いておきます

まずGraph APIが返す日時のフォーマットがこんな感じ

2013-02-17T02:00:00

このフォーマットには2つ問題があってひとつは前に書いたとおりPST時間なんだけどその情報が含まれていないこと
もうひとつはブラウザによってはDateオブジェクトのパーサーに通らないこと

結論からいえば以下のように置換すればどのブラウザでもOKになる
(chrome,safari,firefox,IE7-9で確認)

2013/02/17 02:00:00 GMT-0800

日にちの「-」を「/」に置換
時刻の前の「T」をスペースに置換
末尾にタイムゾーンのオフセットを追加

とにかく日時の処理はいろいろな意味でハマりポイントですね
今後、仕様が変わったりもしかねないし本当にめんどくさいです

2013年のカレンダーをいただきました

| 2013.01.13 Sunday |

 

 

サイト制作中のお客様からいただいたカレンダーです。

特定非営利活動法人コットンハウス、フレンズ」さん

府中市で、精神障がい者の方々の生きるサポートをしている団体です。

以前、打ち合せに伺ったさいに利用者さんの作品がつまった去年のカレンダーを見せていただいて、とても素敵だなぁと思っていました。

あらたに今回のを見ても感じますが、ハッとするような力強い美しさとリズムがあります。

うまく言えないのですが、

花でいうならサボテンの花。風でいうならごうごうと吹き渡り樹木をゆらす風。

 

実はわたし、ふんわり優しい絵よりもそういう力強い絵が好みです。

自分ではとても描けませんが。

そういう絵を描くには、もっともっと血がにじむほど真剣に自分と向き合う必要があるのかもしれません。

さいわいなことに、そこまでせずともなんとか生きてられるので見る専門です。

 

CHF_Cal_2CHF_Cal_1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

コットンハウス、フレンズさんはなによりも利用者さんと「共にいる」ことを大切にしているそうです。

自分と戦っているときに、見守ってくれる人の存在は本当に大事だろうなと思います。

時によってそれが、この絵のような豊かな表現に結びつくことがある。

サイトはまだまだ制作中です。いいものにしていこうと思います。

 

CHF_Cal_3

 

IE=Edge は必ず入れておこうと思いました

| 2012.11.01 Thursday |

田中です。
またウェブの技術系のネタですが・・・。

最近、いくつかのお客さんからサイトの表示が崩れるようになった、って連絡がきました。
ああ、本当にやな連絡です。
ウェブのコード書きにとってこれほどやなことはないです。
どう例えたら良いのでしょうか?
ちょっと例え用のないじとーっとした嫌さです。
ほんとうにジメジメです。

話を戻します。
どうも環境は揃ってIE8のようです。
あ、サイト自体の改修は一切していません。
それにもかかわらず表示が崩れると。

こうなるとまず疑うのは互換モードになってないかどうかです。

互換モードというのは・・・こちらをご覧ください。
IE8互換モードについて – Japan IE Support Team Blog – Site Home – TechNet Blogs

お客様からスクリーンショット送ってもらいます。
すると見事に互換モードになってました。
標準モードに変えてもらって一件落着。

この互換モードが発動されてしまう条件がよくわかりません。
Windows Updateによっても変わっているのかもしれないし。

でも、常に標準モードになるコードを入れておけばよかったんです。

<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1" />


これをヘッダーの先頭に入れておきます。

IE6、7の呪縛からは逃れられたかと思いましたが、まだちょっと尾を引きますね。
きょうはこんなところで。

CPIレンタルサーバーの自動応答メール機能の仕様

| 2012.10.26 Friday |

かなりはまってしまった
情報も見つからなかったのでここに記しておきます
誰かの役に立つと祈りつつ

CPIの自動応答メール機能はかなりシンプルでメールの応答条件(Fromとか件名とかToとかで振り分け)を決めたりすることができない
であるならすべてのメールに対して応答してくれるかと思ったらそうじゃなかった。

結論から言うと条件は2つある(もっとあるかもしれないけれど僕が見つけたのはこの2つ)。

その1、メールの応答先のアドレスは Return-Path だ!

From とか Reply-To とか Sender とかは見てないようです。
これらをいくら設定しても応答メールは帰って来ませんでした。

その2、X-Authentication-Warning があるメールには応答しない

sendmail(CPIはqmailかな?) などにf オプションでアドレスを設定してReturn-Pathを書き換えると、X-Authentication-Warning が付加されることがあります。

僕はこの状態で自分の開発用のサーバーからクライアントさんの自動応答が設定されているCPIサーバーのメールアドレスに対してメールを送っていたのですがさっぱり応答が帰って来ない。

そこで試しにそのプログラムをクライアントさんの本番のサーバーに移植したらすんなりと応答するようになりました。
CPIのメールサーバーは付加しないみたいです。

JISコードのメールを受信することしか想定していない

これは応答条件とは関係ないけど発見したので書いておく。

応答メールには送信したメールの内容も引用されるようになっていましたが、UTF-8でメールを送ったら文字化けして帰ってきました。
文字コードをチェックするロジックは入ってない模様。

最近じゃUTF-8でのメールのやり取りも問題なくなってきてるのでこの仕様はちょっと難ですね。

以上でございます。

WordPress で $_POST[’name’] を使ったらダメよ

| 2012.05.15 Tuesday |

田中です。
久々に派手にはまってしまったのでメモしておきます。

WordPress内で独自のフォームを作っていてハマりました。
$_POST[’name’] に値が入ると 404 エラーになります。

同じ目に遭っている人は発見したが原因がちゃんとわからなかったのでソース久々に一生懸命漁ったよ。
Be careful sending $_POST['name'] to WordPress | Peter Hartree – Freelance Web Developer

WordPress内では$_POSTから$wp_query->query_varsに値が渡っているのだけれどそこでこの’name’が使われているのだ

wp-includes/query.php内の3500行ぐらいに以下のがある。
$_POST[‘name’] に値が入っているとこのスラックのページを探してリダイレクトしちゃう。
そんなページはもちろんないので404というわけ。

print_r($wp_query->query_vars);
とかで観察してみると良いです。

独自で$_POST使うときは ‘name’ を ’trim_name’ とか競合しないようにしといたほうが良いかも。

query.php in tags/3.3.2/wp-includes – WordPress Trac

/**
 * Redirect old slugs to the correct permalink.
 *
 * Attempts to find the current slug from the past slugs.
 *
 * @since 2.1.0
 * @uses $wp_query
 * @uses $wpdb
 *
 * @return null If no link is found, null is returned.
 */
function wp_old_slug_redirect() {
	global $wp_query;

	if ( is_404() && '' != $wp_query->query_vars['name'] ) :
		global $wpdb;
//以下省略

このトラブル、何年かまえにも遭遇したこと思い出した。
その時は原因まで辿りつけなかったんだな。
少しは成長したかな?