1Click飲みRomoCartTempescope色色[:iroiro]Other Projects

2015年7月15日水曜日

ひまわり8号の衛星写真で遊んだ

2015年7月7日にひまわり8号が運用開始しました。
このようにめっちゃ綺麗な画像が撮れるので、クローリングして色々動画にしてみました。


データ取得

ここから取りました。550pxのタイルで全球(1倍)から詳細(16倍)まで5段階の画像が10分毎に用意されています。
Firebug等で取得されてる画像を見れば、すぐに元画像の場所が分かります。

いろんな動画作った

で、ゴニョゴニョして、いろんな動画を作ってみました。

7月12日の素敵な瞬間集

手作業で素敵なシーンを選択して動画にしてみました。
日の出が鳥肌たちますね。

台風が見れる!

近づく台風:

こっちは台風12号の発生から日本上陸まで。
ただの熱帯低圧から台風に育ったあと熱帯低気圧に格下げされ、また台風に帰り咲いた根性野郎です。

こちらは2015年7月の全ての台風の経路をアニメーション



火山の噴火が見れる!

なんか煙が上がってる・・・

なんとパプアニューギニアのマナム火山が噴火したらしいです。

これぐらい引いても噴煙が見えるのが凄いですね。

山火事?が見れる!

オーストラリア西部で黒い煙が上がってました。
山火事っぽくもありつつ、これ多分砂漠なのでなにが燃えてるのか不明。
あとこういう煙が何箇所かから上がってたので、もしかして人為的かも知れません。

オーストラリアの潮の満ち引きが見れる!

毎日の12時を見ると、海の色が大きく変わっている様子が見えます。
特に注目は、右中央の赤い砂が見え隠れるするところ。一度行ってみたいですね。


月が見れる!

ずっと探してたのですが、ようやく月を発見しました。台風17号とのツーショットです。

せっかくなので機械的に認識して過去の月の出現も見つけてみました。








タイプラプスを見続けたい

上の動画みたいに綺麗なシーンを手作業で選び出してもいいんですが、面倒ですよね。
そこでいい感じのタイムラプスを自動で生成するプログラムを作りました。
この動画は2時間分の自動生成したタイムラプスです。

部屋に地球を浮かばせたい

地球が好きすぎて、こんなの作りました。
部屋に中心にプカンと浮く地球です。
(実際は衛星画像を投影したただの発泡スチロール)


投影法変換

取得した画像のどのピクセルが地球上のどの座標に対応するのか計算できると色々便利です。
ひまわり8号の画像はNormalized Geostationary Projectionの投影画像。これをゴニョゴニョやると、こんなふうに緯度経度の線を引いたり、

OpenStreetMapから座標と名前を引いてきた都市名を表示したりできるようになりました。

改めて座標とともに見ると、いろんなことがわかります。

画像の一番右端にはハワイも映ってたんですね。

左端はインドまで見えてます

他に「こんな動画が見たい!」というものがあったら是非ご連絡ください。作ります。

2015年6月8日月曜日

A T-shirt that makes sweaty armpits socially acceptable (sort of)

Summer is the season of the sweaty armpit.
While a quick search reveals that most people try to deal with sweat by somehow stopping it,
I tried taking a different approach:
a T-shirt that tries to make sweat more loveable by incorporating it into the design.


The puppy gives your sweat a friendlier context, making it more loveable and socially acceptable.
Look at that. Totally loveable.


There's also a dude fishing from your sweat at the back.

If some things can't be stopped all together (like sweat), it may sometimes be worth thinking of a way to just love it.
Anyone who wants to purchase these, I'd love to hear from you.

脇汗をかいたほうが可愛くなるTシャツを作った

追記(15/06/13):好評につき販売開始しました。(送料無料)

脇汗の季節になりましたね。
脇汗というとネガティブなイメージしか浮かびませんが、せっかく人類が獲得した自衛反応、もっとポジティブに受け入れたいものです。
そこで「脇汗をかいたほうが可愛くなるTシャツ」というものを作ってみました。
こちらです。
既に可愛いですね。
なんでこれが脇汗かいたほうが可愛くなるんでしょうか?
実際に着て脇汗かいてみましょう。


こうなります。


こうです。

ワンコがいるおかげで脇汗が「あるべきところにある」ように見えます。

むしろ無いと物足りないぐらいですね。



ちなみに背中ではオッサンが脇汗で釣りしてます。

ネガティブな印象の強いものでも、うまくデザインの中に取り入れられればむしろポジティブなものになり得るんですね。

こちらで販売しているので、欲しい方は是非ポチってください。送料無料です。
これを着て撮影されてくれる変態も随時募集します。


作り方


せっかくなので、作り方も説明しときます。

(1) 絵を描く

うちの素敵な妻に描いてもらいました。
ちなみに1Click飲みのプロモーション動画の冒頭スケッチを描いてくれたのも妻です。素敵ですね。


(2) スキャンして彩色する

モニョモニョ塗ります。
インクジェットで印刷するので、色は自由に使えます。
大きさは、実際に何度か(普通の)紙に印刷して、自分に当てがってみて決めましょう。


(3) アイロンプリント用台紙を買ってくる

Tシャツに絵を貼り付けるための台紙なんてものが家電量販店とかに売ってます。
はがきサイズとかA4とか色々ありますが、今回の用途だとハガキサイズで十分です。
僕はビックカメラで¥600ぐらいでした。
Amazonでも売ってます:


(4) 印刷してアイロン付けする
あとは台紙の使い方を読みながら印刷+アイロン付けしましょう。
こんな乙女感たっぷりの作業場になります

注意点としては:

  • 台紙によっては反転させた絵が必要な場合もあるので気をつけましょう
  • 細い部分(釣り竿とか)は剥がれやすいので、念入りにアイロンがけして馴染ませましょう
  • 最適な貼り付け位置は、実際に自分で汗かいてみて汗の範囲に合わせるのがベストです。
最終的にこんな素敵なマイTシャツが出来上がります。洗濯も大丈夫らしいです。

深夜のノリで作った割には可愛い仕上がりになりました。
明日これを着て会社いってみようと思います。

ネガティブな物は「対処」するよりも「むしろ好き」にする方法を考えたほうがしっくりする場合もある、という何だか人生訓のような気づきがありました。
それではこの夏もポジティブに乗り切りましょう。

2015年4月19日日曜日

2台持ちが捗るスマホケースをDMMで3Dプリントしてみた

最近iPhoneとNexusを2台持ちしないといけなくなったので、こういうものを思いついて作ってみました:
iPhoneとNexusを一体にできるスマホケースです。

Nexusで本を読んでてiPhoneにメールが来たら、

くるっと回せばすぐに手元にiPhoneが。
半分冗談のつもりで作ったのですが、通勤電車で2台操るのに便利で、かれこれ2週間以上使い続けてます。

ただし:
  • 重い
  • 背面カメラもフラッシュも使えない
  • 片方充電してると両方縛られる
  • どっちの通知が鳴ったのか一瞬分からない
など色々問題あるので、特殊な人以外邪魔だと思います。
ここにモデルを公開したので特殊な人は是非3Dプリントしてみてください。



作り方

このiPhoneケースのモデルこのNexus 5ケースのモデルをダウンロードして(「free iphone case model」とかでググる)、Blenderで雑にくっ付けて、

DMM 3Dプリントサービスで印刷しました。
思いついてから15分で発注完了、送料込みで¥4500ぐらいです。

一週間後、こんな箱で来ました。わくわく。
送り元は石川県です。秋葉原で印刷してるのかと思ってました・・・

中の梱包はアットホーム。

ちゃんと印刷されてます。

完成です。

今回作ったモデルはここからダウンロードと印刷できるようになってます。是非お試しください。

僕は手元に自分の機械を持ちたい派なので、3Dプリントのクラウドサービスって正直どうなんだろう?と最初思ってました。
使ってみると、メンテナンスや印刷の管理他の手間が一切なく、モデルをアップロードするだけで一週間後に手元に届くというのはとても魅力的に感じます。
こういう「ふと思いついたこと」を実現するまでのハードルを極限まで下げるサービスはどんどん活用していきたいですね。

2015年4月5日日曜日

山手線リアルタイム混雑情報で遊んでみよう

去年から公開されてる「JR東日本アプリ」ですが、機能の一つに「山手線トレインネット」というものがあります。
これは山手線の各車両の現在位置、混雑状況、室内温が見えるというもので、
座りやすい車両を探すのに便利だったりします。
山手線トレインネットから取得した車両位置と混雑率

電車の運行情報がここまで時間粒度細かく公開されているのは世界的にも珍しいので、特に目的も無しにデータをクローリングして遊んでみました。


データをクローリングする

まずは山手線トレインネットの車両位置・混雑情報をクローリングします。
JR東日本アプリの山手線トレインネット。
今の車両内の混雑や室内温が見える。すごい!
「山手線トレインネット」はブラウザから見えるページが存在しない、iPhone/Androidアプリ専用の画面です。
なので普段の「FirebugでAJAXの通信を見てAPIをリバースエンジニアリング」ほど簡単な作業ではありませんが、こういうツールを使えば難なく通信が読めます。
これでAPIを解析して、一定間隔で車両情報を取得するクローラーを作りました。


とりあえず可視化してみよう

とりあえず、ある1日の車両の動きと混雑状況をアニメーションにしてみました。
動いている四角が一本の電車、四角の中の色が各車両の混雑を表しています。(青:混雑無し 赤:身動きがとれない程度)
見所としては:
・8時あたりからの朝のラッシュ
・12時あたりに一旦電車が止まる。湘南新宿ラインの線路支障の影響で一時運転見合わせがあったそうです。
・18時あたりから帰宅ラッシュ →朝のラッシュほどじゃないですね。
・23時以降:徐々に本数が減っていきます。
あまり情報量はないですが、ウニョウニョしてて可愛いですね。


混雑の傾向を見てみよう

もう少し社会の役に立ちそうな解析をしてみましょう。
せっかく混雑の情報があるので、時間帯毎や車両毎の傾向を見てみました。

こちらは、4月2日(金)の時間帯毎・駅毎の混雑率です:
山手線・2015年4月2日の駅毎混雑率
・朝のラッシュは7時手前から8時過ぎまで続いてますね。この時間帯を外せばあまり混雑の影響を受けなくて済むかもしれません
・内回りは帰宅ラッシュがあまり見られません。
・外回りでも17時〜18時半あたりに引っ掛からなければ、あまり混雑しないかもしれません。
というわけで(僕はあまり山手線に乗らないので実態はよく知らないですが)山手線は朝のラッシュさえ避ければそんなに酷い目には合わなそうです。


じゃあ朝のラッシュ時はどの車両に座ればいいの?

朝のラッシュの時間帯を避けられないんだとすると、せめて空いている車両に座りたいですよね。
山手線トレインネットは混雑率が車両毎に分かるので、最適な乗車位置を計算してみましょう。

とりあえず朝8時〜9時の各駅出発時の平均混雑率を車両毎に見てみます:
2015/3/29~2015/4/2 8時~9時の各駅出発時の車両毎平均混雑率
大まかに、「外回りのときは先頭車両(1号車)、内回りの時は後方車両(1号車)」が空いている」気がしますね。
人気駅(東京とか)の階段位置とか関係するんでしょうかね。
唯一、外回りの新大久保付近は真ん中付近のほうが空いているようです。

このデータに基づいて、「ここからここに行く時にどの車両に乗ればいいの?」早見表を作ってみました。
平日8時~9時の駅間毎最適乗車車両早見表。数字は号車、色は平均混雑率。移動方向(内回り・外回り)は最短経路を選択した場合。
ほとんどのケースで1号車に乗れば、朝のラッシュ時でもさほど混雑を感じずにすみそうです。
新宿→新大久保だけは、どうしても混むようです。時間を避けたほうがいいかもしれませんね。
ちなみにこれは「平均混雑率」を最適化した場合なので、例えば「混雑率60%以上の時間が一番短いように」などの基準が欲しい場合はまた違う結果になるかもしれません。

あとがき

・朝の山手線は1号車に乗ろう。
・中央線のデータも早く出して欲しいな。
・APIを難読化してないJRは超素敵。
 (このデータ公開するのって色んな人怒らせる可能性あるけど、怒らないでくれるといいなあ。)

追記:4月12日に山手線が9時間半止まったトラブルの時の電車の動きがすごい!




他の分析エントリ

140文字の「重み」を言語毎に比較してみた
世界で一番住みやすい場所を計算してみた
サイゼリヤの間違い探しが難しすぎたので大人の力で解決した
建物のWifiをホッピングして東京から大阪まで通信できるか
Topcoderに一番有利な時間帯を調べてみた
Wikipediaのデータで人生解析をしてみよう
明日の天気を過去の似た日から合成して可視化してみよう
「頭痛」を含むツイートと気圧の関係を調べてみた

2015年3月29日日曜日

140文字の「重み」を言語毎に比較してみた

最近tempescopeのアナウンスのため英語でツイートする機会が多くなったのですが、
日本語なら140文字制限内に詰め込める内容が、英語だと入りきらずにモヤモヤすることがあります。
英語は表音文字なので当然ですね。

そこで140文字制約の中では日本語がどれぐらい多く喋れるのか、機械翻訳を使って検証してみました。



方法

今回の検証では「各言語で書かれたツイートを英語で書いた場合、何文字分になるか」を計算することで、各言語の「密度」を評価します。


(1) TwitterのストリームAPIで三日分ぐらいのツイートを取得

「140文字で詰め込める量がどれぐらいか」を評価したいので、長め(120文字以上)のツイートだけを収集しました。
短いツイートは文字数制限を意識しない冗長な文法が使われがちなため「140文字に詰め込める内容はいくらか」という趣旨に合わないと考えたからです。

またリンクが含まれるツイート、@~~やRTの文字が含まれるツイートは排除し、312万件のツイートを取得しました。



(2) 英語に翻訳

某機械翻訳サイトを使い、各言語のツイートを最大1200件ずつ翻訳して
「英語で書いた場合文字数が何倍になるか」を表す「相対密度」を計算しました。
例えばこんなツイートなら:
日本語は14文字、英語だと30文字なので、相対密度は30/14=2.14倍です。
このツイートでは日本語1文字に対して英語2.14文字分の内容が含まれる、と解釈します。

結果

以下のグラフに言語毎の相対密度(平均,分散)を示しています。



翻訳された文章が長いんじゃないの?っていうツッコミに対して

ちなみに何故グラフの中に「英語」が入っているかというと、「翻訳による効果がどれぐらいか」を確認するためです。
機械翻訳の結果は「ツイートっぽい文章」ではないので、無駄に長い英語が作られる懸念があります。
そこで英語のツイートを「英語→日本語→英語」の順番で英語に翻訳しなおし、その長さの変化を↑の「英語(reference)」として示しました。
平均相対密度が1.01倍なので、翻訳結果が無駄に長い、ということは無いっぽいです。

CJKすげぇ

中国語・日本語・韓国語の密度が圧倒的です。
中国語で1ツイートで書ける内容は、英語では最大4ツイート必要となります。
このへんは文字数の多い言語なので意外性はあまり無いですが、改めて数字にしてみると凄いですね。
日本語のほうがツイッターで色々言える、というのは錯覚ではなさそうです。


フランス語が薄い

(すみません、最初アップしたグラフは少し計算を間違えていて、特定の言語を過小評価していました。)
フランス語は密度が英語と比べて0.87倍。フランス語で英語と同じことを言うためには1.14倍多く書かないといけません。

じゃあフランス人のほうが1.14倍長めのツイートしているのかというと、そういうわけでもなさそうです。

以下のグラフは、各言語におけるツイートの長さの頻度分布を示しています:
英語・フランス語・日本語のツイート長の頻度分布

英語とフランス語の頻度分布はほぼ同じ形、最頻長は両者とも25文字程度です。

文字毎の内容の密度が低いのに長さが同じということは、
「短いツイートでは文法の特性がちょっと違う」のかもしれないですし、「フランス人はちょっと内容が薄めの事を言ってる」のかもしれません。

ちなみに日本語の最頻長は12文字なので、ちゃんと言語の密度が濃い分少ない文字数を使っているようです。


また日本語の59文字以上のツイートは英語では1ツイートでは言えません。

59文字以上のツイートは日本語ツイートの15%です。
つまり日本語のツイートの15%は「日本語だから言えた内容」なわけです。(まあ連続ツイートすりゃいいんですが)


まとめ

UXデザインは多様性を考えよう

日本語優秀!フランス語アホ!とか言うつもりはなくて、UXデザインの観点から面白いと思いました。
当初「140文字制限」を設けた時は、あくまで「つぶやき」を集めるツールとしてデザインしたのでしょう。
それが(わざとか敢えてか知りませんが)言語の違いを考慮せず仕様を刻まなかった結果、国や文化によって違う使い方がされるツールに育ちました。
(今回はツイートの中身までは解析してないので何とも言えませんが、日本語ユーザのほうが「濃い」内容を書いている、かもしれません。)
「こういう使い方をしてもらいたい」と考えて決めた仕様は、最終的なユーザの多様性を考えないと想定外の使い方をされてしまう、というわかりやすい例ですね。


そのうちやること

・連投って言語毎にどれぐらい行われるんだろう?
・実際に話している内容を言語毎に見たら違いはあるのかな?例えばフランス語は「腹減った」ぐらいしか言ってない、とか。
・ツイッター普及率と関係するのだろうか?少なくとも言語毎の相対密度と総ツイート数はあまり関係なさそう:
言語毎の平均相対密度vsツイート数




他の分析エントリ

山手線リアルタイム混雑情報で遊んでみよう
世界で一番住みやすい場所を計算してみた
サイゼリヤの間違い探しが難しすぎたので大人の力で解決した
建物のWifiをホッピングして東京から大阪まで通信できるか
Topcoderに一番有利な時間帯を調べてみた
Wikipediaのデータで人生解析をしてみよう
明日の天気を過去の似た日から合成して可視化してみよう
「頭痛」を含むツイートと気圧の関係を調べてみた

2015年1月4日日曜日

Hardware Protoyping Speed Test: Phidgets vs Arduino

I recently had a chance to play around with Phidgets, which is yet another hardware prototyping kit.
I've always considered Arduino as sufficient, so why would I ever want to take on a new prototyping kit?


The standard Phidgets I/O board
The website claims a "quick" and "easy to use" set of sensors and controllers to "get projects finished on time".
If Phigets can provide a faster development iteration loop, which I believe is the single most important thing in hardware development, that may be enough of a reason to switch over.

In this article, I will implement 3 standard hardware prototypes, and compare their implementation speeds using Phidgets and Arduino.


What is Phidgets?

The biggest different between Phidgets and other prototyping kits is that the Phidgets controller itself isn't programmable.
Instead, you connect Phidgets (proprietary) sensors to the I/O board (pictured above), which connects to a PC.  You can use high-level programming languages (Java/C++/etc) to directly control the sensors/actuators.

Some characteristics of Phidgets include:
Simplicity+Speed →No need to mess around with resistors and current calculations, just plug-in the components and you're ready to go.
Connectivity →You're working on your PC from the start, so I've found that connecting your newly made hardware to other programs/network is very simple.
(Really) expensive →You have to use the components provided by Phidgets to take advantage of the two points stated above.  The components are modularized (to enable the plug-in capability), making them very expensive.


Speed Tests!

I compared Arduino and Phidgets by implementing 3 very simple prototypes:
#1 Blink →Just blinking an LED
#2 Servos →Using a potentiometer to control a servo
#3 Pedometer →Using an accelerometer to count steps, and display it on an LED array

Here's a video showing the implementation, side-by-side:



#1 Blink

The LEDs are made to blink with 500ms period.

■Implementation details

Arduino source
Phidgets source

■Time to implement

Arduino: 1m 44s
Phidgets: 1m 11s

Not a complete landslide, but implementation with Phidgets was 30 seconds faster.
Arduino had the handicap of needing resistors on the LED, which Phidgets doesn't need.
However, the output pin on Phidgets needed a screw driver to fix, which was more work than I'd expect from a rapid prototyping kit...

■Cost

Arduino: $24(Arduino Uno
Phidgets: $80(Phidgets Interface Kit 8/8/8)

Even the standard Phidgets board is very expensive.



#2 Servos

Here, we let users change the position of the servo by rotating the potentiometer.

■Implementation details

Arduino source
Phidgets source
On both of the implementations, we are receiving the potentiometer readings as analog input, converting it to angles, and sending it to the servo.

■Time to implement

Arduino: 6m 07s
Phidgets: 3m 20s

Phidgets took about half the time of Arduino.
Most of this is because Arduino couldn't power the servo, so I needed to add an external power supply.

In terms of software, the Phidgets Java SDK lets you write in an event-driven fashion which I personally like.

■Cost

Arduino: $37(Arduino Uno, Servo S03T, Potentiometer)
Phidgets: $139(Phidgets Interface Kit 8/8/8, Servo Controller, Servo, Rotary Encoder)

Adding sensors and switches really ups the cost of Phidgets prototyping.



#3 Pedometer

Here, we use an accelerometer to detect walking, and count the footsteps which we display on an LED array.

■Implementation details

Arduino source
Phidgets source
I implemented a very simple high-pass filter.  I calculate the power: sqrt(x^2+y^2+z^2), determine its moving average, subtract it from the power, and detect zero-crossings of the high-passed power.

■Time to implement

Arduino: 13m 45s
Phidgets: 10m 15s

Implementing the walking detection was considerably faster on Phidgets, but adding the LED array took very long, resulting in a very dull result.
(Without the LED array, it only took 4 minutes to implement a pedometer on Phidgets.)
While I only needed to plug the accelerometer into the USB port in Phidgets, I had to Google the pin layouts of the accelerometer module for Arduino.

On the software side, the strength of being able to program using a high-level programming language on Phidgets really showed.
I was able to use various (self-made) utility libraries to speed up the implementation:
a moving average calculator class which makes calculating moving averages a one-liner,
a graph drawing toolkit that let me visualize and debug the accelerometer output
The time spent programming was a clear win for Phidgets: (Phidgets: 3 mins Arduino: 6 mins)

■Cost

Arduino: $31(Arduino Uno, Accelerometer
Phidgets: $150(Phidgets Interface Kit 8/8/8PhidgetSpatial 3/3/3 Sensor)

Just to press home the point, Phidgets is expensive.



Results

Just looking at the implementation speed, Phidgets was faster on all 3 tests.
There were some (good and bad) characteristics of Phidgets that were made apparent in the tests:


■Good things about Phidgets


1. Very fast hardware construction
As long as we stay in the realm of what Phidgets provide as modular components, prototyping hardware in Phidgets is very fast.

2. Lets you use various software resources

In the third test, I was struck by how enabling it is to be able to use the various Java utility libraries that I'd accumulated over time, in a hardware prototyping setting.
Phidgets makes hardware prototyping as easy as writing quick and dirty scripts on your PC.

3. No knowledge of electronics needed

As far as I've played around with (which isn't much), Phidgets seems to let you prototype hardware with very limited knowledge of electronics.  This may be very beneficial for programmers who have no experience in hardware.


■Bad things about Phidgets


1. Difficult to build stand-alone gadgets
Phidgets needs to be controlled by a PC, which means that its difficult to build portable/wearable devices.

2. Not simple enough

Why do I need a screw driver on a prototyping board?
I don't think the designers really thought what it means to do rapid prototyping.
The fact that I need to use a breadboard for a simple task as making an LED array (in task #3) is disappointing.
People should be able to prototype with their bare hands. (no screw drivers, no breadboards, no jumpers)

3. Doesn't scale

The good thing about Arduino is that the more you improve your prototype, the closer you get to a product.
With Phidgets, at some point you will need to redesign your hardware, and convert everything you made into "proper" electronics (which won't be a problem if you're happy with only having one copy of your hardware.)

4. Expensive

In the tests above, the prototypes using Phidgets was 3~5 times as expensive as Arduino.
This means that people can't really buy a new Phidgets board for each project, so you need to take everything apart before you start a new project.
The use cases for which this is OK is fairly limited (discussed below).


Summary

There are several situations where I thought using Phidgets would be perfect.

Have a set in your meeting room/brainstorming room

Why not have a Phidgets set lying around in your meeting room?
The speed at which Phidgets lets you create prototypes means that you can probably make prototypes in the middle of a brainstorming session.
This would be a fantastic alternative to drawing pictures or building mocks with LEGOs,
and the downsides of Phidgets portrayed above aren't so critical if the prototypes only need to last for 20 minutes.
(I would like point (2) above to be fixed before I buy a set for my meeting room though...)

When every second counts
There are times when you need to build a working prototype as fast as is conceivably possible, like in a hackathon, or if you need to show your boss that the idea he's about to present to the board in an hour just doesn't work. (it's happenned.)
It may be good to have these things lying around as part of your arsenal.

If you're a programmer who's intent on not learning electronics

I think it's great as a communication tool for programmers who have no skill (or intent on learning) electronics to show their ideas to hardware developers in the team, who may happily implement it on a more robust platform.


I would say that for someone who just wants to start learning electronics now (including children), I'd suggest something else (e.g Arduino).  However, the various characteristics of Phidgets do make them fabulous for certain situations.

If you want to play around with Phidgets, try buying the two kits below:
Phidgets Interface Kit 8/8/8 →standard I/O board for connecting the sensors to your PC
Phidgets Starter Kit #1 →kit containing various Phidgets compliant sensors.