2013年12月05日

私が考えるエンドユーザプログラミングの世界とは

私は「エンドユーザプログラミングの世界の実現」を掲げ、去年Technical Rockstarsを創業しました。

エンドユーザプログラミング
たぶんいろんな言い方があります。
『作る』から『使う』への変化、とも言います。
例)GeneXusを使ってアプリを業務自動生成、kintoneを使ってアプリを構築。

私が考えるエンドユーザプログラミングの世界とは、自分の問題を自分で解決できる世界です。
別にあらゆる人が、スマートフォンアプリを作れるようになるとかそんなことじゃなく。
人が抱えている問題を簡単に解決できるようにしたい。ルンバが思い通りに動いてくれない、スマートフォンから家の電気が消えているかチェックしたい、Excelのデータをこういうふうに変換処理したい、そんな日常の問題を、簡単に解決したい。もちろんもっと複雑なソフトウェアも直感的に作りたいと思っています。
たぶんプログラミングという概念を根本的に変えないといけないです。
ソフトウェアが簡単に作れるというよりは、むしろソフトウェアを作るという考えをこの世から無くしたい。
「ソフトウェアを作る」ということを特別なことにしたくないのです。

我々はそれに対して、単に新しいツールを開発して解決しようとした訳ではないです。

cloocaのアプローチ
それぞれの分野ごとのソフトウェア開発ツール(=モデリング言語)を共有する仕組みです。
モデリング言語は十分抽象化されていてソースコードが自動生成される、その分野の人は自分たちの業界用のソフトウェアを自分たちで作れる。これは共有がポイントで、充分に分野に特化したソフトウェア開発ツールを、充分にそろえることで、簡単にソフトウェアが作れる世界を目指します。
現状、うまくいってないです。
clooca


別のアプローチ
cloocaを2年近くやって、色々反省しました。プラットフォーム化に凝りすぎました。プラットフォームは色々大変すぎます。
ということで初心にかえり、考えました。

改めて私がエンドユーザプログラミングに必要なことは以下のようなことだと思います。
・ユーザに「作っている」と思わせないこと
・ソフトウェアとは、元来目に見え、修正しやすく、結果もすぐにわかるものである(と思わせること)
ソフトウェアやその実行を目に見えるようにし、触れられるようにすること、そして触ることで反応があること。それらが人間にとって直感的であること。実行中にも自然に変更でき、変更による振る舞いの変化も理解しやすいこと。

今のプログラミング言語は、人間の直感に合わせた抽象化がされていなくて、コンピュータに合わせた言語です。私は、こうなったら次こうなる、ということが直感で分かる言語を作りたいです。
多分実際作るのは、ノイマン型コンピュータとソフトウェアの間に挟んで、ソフトウェアを直感的に見せる「何か」なんだと思います。

新しい試み
posted by Syuhei Hiya at 01:39| Comment(2) | TrackBack(0) | 日記

2013年11月11日

行ってきました。MODELS2013

今更ですけど、9/31-10/5でアメリカのマイアミで開かれたMODELS2013に行ってきました。

私は、Demonstrationトラックでの発表で、cloocaについて紹介してきました。日本人の学生が発表しに来たということで、たぶんみなさん簡単な質問してくれたのでしょう。
どんな技術を使っているの?とかどうやって使うの?とかそんなことを聞かれました。


これはその学会でのプロモーション動画です。
もうちょっとツールを使っているところを、加えれば良かった・・これじゃどういう物なのかが全然わからない。

以下は、マイアミの海の写真です。
995508_621313511253184_1411127395_n.jpg

1385380_621312601253275_1713523916_n.jpg

海はとてもきれいでした。
posted by Syuhei Hiya at 00:39| Comment(0) | TrackBack(0) | 日記

2013年11月07日

タワーデフェンス


Corona SDKで、タワーデフェンスゲームを作りましたよ。
フルーツを配置して、迫ってくる虫たちをやっつけちゃってください。
全部で10ステージあります。



iPhone,iPadの方はこちら

Androidの方はこちら

posted by Syuhei Hiya at 14:00| Comment(0) | TrackBack(0) | 日記
Powered by さくらのブログ