2012年12月31日月曜日

今年(2012年)のまとめ

このエントリが2012年の最後のエントリになります。

年末になってからかなり駆け足でApp Inventorのソースを追いかけて、BlocksEditorの日本語豆腐化問題対策その他各種環境設定を中心にエントリを投稿してきました。

来年はApp Inventor本体の開発環境整備関連(Part1の続き)からスタートしたいと思っています。

予告として以下の画像を貼り付けておきます。こんな環境を作ります~ということで。


画像を見ればなんとなく何をしているかはお分かりいただけるかと思います。

でも、あまり期待しないでお待ちくださいw。

また、不完全な点がありましたらお気軽にコメントいただければ幸いです。


2012年12月30日日曜日

AppInventor Portable for Windows(仮) Part5

AppInventor Portable for Windows(仮)シリーズもついにPart5まで来ました。

Part4の(追記)についてもう少し詳しく書きます。

これまではUSBメモリにあるAppInventorセットアッププログラム群を本来のインストール場所からのシンボリックリンクを作成することでBlocksEditorに認識させていました。

BlocksEditorは毎回毎回この位置のチェックを行なっているワケではなく、一度場所が確定すると

%USERPROFILE%\.appinventor\appinventordirectorycache

にAppInventorセットアッププログラム群のフォルダ位置が記録されます。

ということであれば、バッチファイルを起動した際に上記のファイルにUSBメモリのフォルダ位置を書き込んでおけばわざわざシンボリックリンクを作成する必要も無くなります。

この方法で実現すればXP環境のためにlinkd.exeをコピーしたりする手間も省けます。



2012年12月29日土曜日

App Inventor本体の開発環境について(開発者向け)


Webを色々とググっていたところ、ahiru_spさんの

AI雑記

というブログでAppInventor本体のソースをBuildしてみたという記事を発見。


Windows環境でビルドしてみた



ソースを追いかけようとしている方を発見して嬉しかったので、関連エントリを書いてみることにします。

このエントリではAppInventorのソースをEclipseにインポートするところだけに焦点を当てます。

元ドキュメントは、

Eclipse for App Inventor

になります(元ドキュメントにはスクリーンショットがありませんので自前で作りました)。

一部、訳がテキトーになっているところがありますが後日修正していきます。


AppInventor Portable for Windows(仮) Part4


AppInventor Portable for Windows(仮) Part3 に引き続きPart4です。

前回はAppInventorサーバとBuildサーバをローカルに立ち上げるフルセット版でした。

でも、自前でサーバはいらないのでJavaとAppInventorセットアップをインストールしないでMIT版AppInventorが使えればいいんだけど・・・という方もいらっしゃると思います。

そのような場合は、前回のバッチファイルでサーバ立ち上げ部分を注釈文(REM)にするだけでお望みのものが作れます。AI4A-ConfiguratoinsやGoogleAppEngine SDK for Javaは不要になりますのでUSBメモリにコピーする必要は無くなります。


また、JavaについてもJDKではなくJREで十分です。以下の説明ではJDKのまま説明していますが、JREの方が良い場合はJREのフォルダ構成で置き換えてもらえれば大丈夫なハズです。


2012年12月27日木曜日

AppInventor Portable for Windows(仮) Part3


AppInventor Portable for Windows(仮) Part2に引き続き、Part3を書きます。

セットアップ作業を極限まで削減するというニーズはあるということで、Portable環境の構築方法(サーバを含んだフルセット)について書いてみたいと思います。

XPユーザが根強く残っている可能性を想定して試験的にWindowsXP(32bit)メモリ1GB環境での構築を行ってみたのですが、Buildサーバが通常の起動ができなかったためやむを得ずHeap容量を大幅に減らして起動しましたが、その状態ではapkファイルを生成することができませんでした。

というわけでXPではBuildサーバを含めた完全な動作が難しい状況なのでメモリの少ないXP環境での利用は困難という結論になりました。

やはりメモリが豊富に使える64bit向けでVista以降での動作を前提とした構築メモということでご理解ください。


ちなみにXPの場合はWindows Server 2003 Resource Kit Toolsのインストールとlinkd.exeコマンドのUSBメモリへのコピーとバッチファイルの書き換えも必要になるため敷居が高い(?)ものにもなりますので、XP対応については封印の方針です(OSのサポート期限も迫っていますし・・・)。

Vista以降とは言ってみたものの、手元にVistaがないため筆者は動作確認ができません。もし、動作確認ができたよ、という方がいらっしゃいましたらコメントなどでお知らせいただければ助かります。

※注意
USBメモリに入れる各種ソフトウェア等のライセンスについてはここでは触れません。利用される方の利用形態、目的などを考慮してソフトウェアライセンス条項を検討した上でご利用ください。BlocksEditorの豆腐対策に使うフォントファイルも同様です。


2012年12月26日水曜日

appinventor-java-translationというプロジェクトの存在

Google Codeに

appinventor-java-translation

というプロジェクトがあります。













その名の通り、App InventorのプロジェクトをJavaプロジェクトに変換しようという試みです。


2012年12月25日火曜日

「App Inventorサーバ仮想マシン公開 By ユーザ会」をいじってみたのでメモ

 本ブログを書き始めて少し経過したので、ユーザ会のブログやFacebookなどを過去に遡りながら状況把握を開始しました(そっちが先だろ、というのはごもっともですが)。

 筆者自身、App InventorはGoogle Lab時代からの付き合いなのですが気に入っていながらもなかなか使えない状況が続いておりました。

 ここへ来てやっと色々と使うことができたということもあり、後れ馳せながらオープンソース化されたApp Inventorソースを追いかけながら何か普及のためにできることはないかと考えているところです。

 ユーザ会のブログを見ていると、本ブログで取り上げていることをすでにご紹介されていたり、5月のオフラインミーティングのustream内でも話題に出ていたようですね。

 WiFiコネクト機能が最近になって正式リリースとなったことでより、快適なApp Inventorライフになっていくものと期待しています。


2012年12月24日月曜日

AppInventor Portable for Windows(仮) Part2


前回、実験ということで

AppInventor Portable for Windows(仮)

を検証しましたが、欲を言えばJDKのインストールさえも無くしてしまえばユーザはよりロジックを考える部分に集中できるハズ、ということでJDKもUSBメモリに追い出してしまうというテストをしてみました。


2012年12月23日日曜日

AppInventor Portable for Windows(仮)


この記事は「AppInventor Portable for Windows(仮)」という実験のお話です。

AI4A-ConfiguratoinsによってWindowsローカルでAppInventorサーバとBuildサーバが起動できるなら、いっそその環境をUSBメモリに入れちゃうことは出来ないだろうか・・・という思いつきで実験してみた話です。

それに何の意味があるのか?

・・・それは後から考えますw。


2012年12月22日土曜日

App Inventor関連記事


 これまでも窓の杜でAppInventorによるプログラミングが取り上げられてきましたが、今回のものではBlocklyがメインでAppInventorのWiFiコネクトがコラムで取り上げられています。

暮井慧といっしょ! 冬休みプログラミング! 第3回
ブロックを組み合わせてプログラミング! 「Blockly」とちょっとだけ「App Inventor」

 ブロックでプログラミングできる環境が色々と出てきていて興味深いですね。最近はAppInventorのBlocksEditorのベースにもなっているScratchをいじったりしています。

Scratch





App Inventorの最新ソースを追いかける[AICompanionバージョン]

ここ数日もソースに小規模な修正が加えられているようですが、今日のチェックでは

Increment MIT AICompanion app's version to 2.05 and versionCode to 205.

というcommitログがありました。

MIT AICompanionアプリのアップデートも近々あるのでしょうね。

2012年12月21日金曜日

BlocksEditorの文字化けとサヨナラしよう[Windows追加情報]

ここ最近のアクセス数が急上昇している記事は

BlocksEditorの文字化けとサヨナラしよう[Windows編]

です。

沢山のアクセスありがとうございます。

元記事に情報を追加しましたのでお知らせします。


2012年12月20日木曜日

AI4A-Configurationsをチェックする

Windowsで手軽にAppInventorサーバを立ち上げるには

という記事で取り上げたAI4A Configurationsですが、

sourceforge.net
http://sourceforge.net/projects/ai4a-configs/files/?source=navbar

で配布されているものをチェックしてみたところ

V1.4.5 2012-12-14

が最新版ですね。

 ファイルサイズも小さくなっているみたいです。

 以前の記事を書いた時が12月13日でしたので翌日には新しいバージョンのパッケージ配布を開始していた模様です。

2012年12月19日水曜日

BlocksEditorの文字化けとサヨナラしよう[情報修正のお知らせ]

このブログで最初に紹介した

BlocksEditorの文字化けとサヨナラしよう[Windows編]

ですが、フォント情報を書き換えるツールであるttfname3.exeの入手先へのアクセスができない可能性があるので、たどり着けない方向けに追加情報をお知らせします。


2012年12月16日日曜日

WiFi接続で開発時のTIPS(Nexus7編) Part2

 前回の記事に引き続き、Nexus7でWiFiConnectする際のTIPS Part2です。

 今回は、

  • PCの画面上でNexus7の画面をモニタしながらQRコード読み取りをする

 という方法をご紹介します。

 前回の記事の方法ではどうにもうまく行かない、うまく行かなくてイライラする!というNexus7ユーザの方はお試しください。

※ただし、確認した端末はrooted環境なのでunrootedな場合は若干異なる可能性もあります(未確認)。

(追記)※rootedな環境の場合、WiFi接続でモニタすると以下で説明するような接続の強制切断しなくなって快適になるようです。

WiFi接続で開発時のTIPS(Nexus7編)

 AppInventorはv132がリリースされ、MIT AICompanionアプリ2.04がリリースされてWiFiConnectで開発が出来るようになりました。

 接続手順は本ブログの


で取り上げましたが、手軽に接続するならやはりQRコードで接続したいものです。

 筆者もNexus7ユーザなのですが端末入手当時はQRコードアプリが対応していませんでした。

2012年12月14日金曜日

App Inventor v132 Released

先日書いた以下の記事ですが、

App Inventorの最新ソースを追いかける[v131の後]

そのままv132としてすでにリリースされていたようですね。

MIT AppInventorサーバの方もすでにv132になっていました。しかも、WiFiConnectが有効になっていますね。

という訳で、リリースノートは上記記事の通りということでそちらを参照してください。






Windowsで手軽にAppInventorサーバを立ち上げるには

 この記事ではWindows環境で手軽にAppInventorサーバを立ち上げることができるようになる

AI4A-Configs

 をご紹介します。

 用途としてはネットワーク接続環境が無くても、Linuxサーバが無くても、色々外部アクセス制限の多い環境のネットワークの場合でも、ローカルのWindows環境で手軽に使えるAppInventorサーバが欲しいとか、ローカルPCで完結できるAppInventor開発環境構築に役立つかもしれません。

(2012/12/16一部修正)※WindowsのPATH表記をバックスラッシュから¥マークになるようにCSSでフォント指定しました(Windowsから参照した場合)。

2012年12月13日木曜日

App Inventorの最新ソースを追いかける[AICompanionアプリ]

 App Inventorのv131、v132に対応したMIT AICompanionアプリv2.04がリリースされています。GooglePlayからインストール可能です。


MIT AICompanion
MIT Center for Mobile Learning

Android app on Google Play




2012年12月12日水曜日

App Inventorの最新ソースを追いかける[v131の後]

 v131リリース後のcommitログをチェックします。


変更箇所は以下の通り。


 以前はWiFiConnectがデフォルトでDisableだったのが、今度はEnableがデフォルトになったみたいですね。

 加えて、WiFiConnectする際のダイアログ表示の時間が短かったのでこれを延長することになったようです。

 確かに、カメラの起動をしてQRコードの認識ができない内にダイアログが消えてしまったなんていうことがありましたので、これは実用上必要な変更ですね。


App Inventor v131 Release

App Inventor v131のリリースノートです。


App Inventor sources on GitHub
Release notes for v131 Release.



Release Notes

Version 131, December 10, 2012


  • Image Picker is updated to permit selecting images both from the camera and from other Photo Albums accessible from the device. It also copies the selected image to a file on the SD card and returns the path to that file as is "image" argument to AfterPicking.
  • Camcorder component: Minor modification to where recorded videos are stored. Now stored in the Camcorder default location.
  • Bugfixes and Cleanup work on the Texting Component.
  • Fix to buildserver that on occasion resulted in packages that required external libraries (such as Texting and Fusion Tables) to not have the correct libraries included. Note: This was fixed in v130c patch release as well.
  • Notifier component fixed to display reasonable sized fonts on both older and newer versions of Android.

すでにMITのApp Inventorもv131で稼働していますね。



2012年12月5日水曜日

App Inventorの最新ソースを追いかける[BuildServer周辺]

App Inventorの最新ソースウォッチングです。

直近のcommitログは以下の通り。

Modifies Compiler.java to avoid corrupting APKs with missing jars during heavy server load.

The static ConcurrentMap, componentLibraries, was being corrupted by concurrent threads
during periods of high server load.  A similar change was made to concurrentPermissions.

サーバ高負荷時の不具合回避対策のようですね。



2012年12月4日火曜日

BlocksEditorの文字化けとサヨナラしよう[サーバサイド編]

 今回は「BlocksEditorの文字化けとサヨナラしよう[サーバサイド編]」です。

 これまでにご紹介した方法は、クライアント側の設定で文字化けを解消する手法でした。

 App Inventorはご存知のようにオープンソース化されていますので、サーバサイドにパッチを当てることで文字化け問題を解消することが可能です。

 もちろん、この方法で可能なのは独自にローカルサーバを立てている場合でしかないのですが、例えばPC教室や学校などでクライアント側(備え付けPCやユーザさんの持ち込み個人PC等)に手を加えられないor加えたくない事情がある場合に有効であると考えられます。


 

BlocksEditorの文字化けとサヨナラしよう[Linux編]

 このエントリではLinux環境のBlocksEditorで文字化けとサヨナラがテーマです。

 すでに多くのサイトで取り上げられている話題でもあるので改めて書く必要も無いのですが、念のためまとめます。

 前提として、


  • OSはUbuntu12.10
  • JavaはOracleのものをインストール済み(not OpenJDK)
  • 日本語TrueTypeフォントが導入済み

に限定してご紹介します。


2012年12月3日月曜日

App Inventorの最新ソースを追いかける[WiFi Connect]

 このエントリではApp Inventorの最新ソースを追いかける[WiFi Connect]を取り上げます。

 App Inventorで実機を接続して動作確認するには
  • USBケーブルで接続して行う方法
  • PCにapkファイルをダウンロードしてからadbを使って送り込む方法
  • あるいはPCからapkファイルを実機内にコピーしてからインストールする方法

などがあります。

 最新のApp Inventorでは上記の方法に加えて

  • Wifi Connect(無線LAN接続)

が使えるようになるようです。

(追記)すでにこの機能はMIT版App Inventorで正式に使える機能になっています。








BlocksEditorの文字化けとサヨナラしよう[Windows編]

 今回はWindows環境のBlocksEditorで文字化けとサヨナラしようというテーマです。

 通常、ブロックのテキストフィールドに日本語テキストを入力しても漢字が正しく表示されず、温かくておいしい豆腐さんが大量に表示されます・・・orz。




 お鍋に入っている豆腐はおいしいんですが、BlocksEditorに豆腐はいらない・・・ですよね。

 どうしてこうなるのかというと、App Inventorのソースコードを見ると分かるのですが、欧文フォントのArial(物理フォント)が決め打ちで書かれているためです。Arialフォントには日本語が含まれていないため豆腐になります。

 これが論理フォントで指定されていたなら豆腐になることも無かったのでしょうけど。

 このエントリでは、この文字化けとサヨナラするためにWindows環境でどのように設定すれば解決できるのか、その方法をご紹介します(ローカルサーバでApp Inventorを立ち上げる場合についてサーバ側のソース書き換えによる方法は別記事でご紹介します)。

追記(2012/12/04):
 動作確認済み環境について

  • WindowsXPSP3(32bit) + Java6(32bit)
  • Windows8 Pro(64bit) + Java6(32bit)
  • Windows7 HP SP1(64bit) + Java7(64bit)
  • Windows7 HP SP1(64bit) + Java6(Jre6 jdk1.6.0_25) Thanx to KGKGKGさま

上記環境で確認しています。それ以外の組み合わせで動作確認できましたらコメント欄などでお知らせいただけるとうれしいです。その都度追記させていただきます。

App Inventorのブログはじめました



 App Inventorのブログを書いてみようということで、関連する情報を色々と投稿していきたいと思います。

 まずはApp Inventorの利用環境に関するところからスタートしたいと思います。

 GitHubにあるApp Inventorのソースを追いかけているので、新しい機能についても紹介していきたいと思います。


 どうぞよろしくお願いします。


おすすめ書籍