2009年8月29日土曜日

「本命」感

iPhoneとAndroidのアプリ購入動向レポート、AdMob
 モバイル向け広告配信プラットフォームを運営する米AdMobは8月27日、iPhone、iPod touch、Androidの約1000ユーザーについて2009年7月の調査レポートを公表した。主な結果は、

  • Andoridユーザーは月に約9本、iPhoneユーザーは約10本のアプリをダウンロード。これに対してiPod touchは18本と多い。

  • 有料アプリについては、Andoridユーザーが月にダウンロードするのは約1本、iPhoneユーザーは約2.6本と、2倍以上の差がある。

  • コンスタントにアプリ購入するユーザー層は、平均して月に5本、9ドル分のアプリをダウンロード。

  • 毎月1本以上の有料アプリをダウンロードするユーザーの比率は、Androidユーザーで90%、iPhoneで50%、iPod touchで40%。

  • アプリの購入の動機でいちばん多かったのは、無償版を気に入ったから。

  • 米国のスマートフォン利用者の比率は、iPhoneが60%、RIMが13%、Androidが12%。


つまり、絶対数を考えれば、いまはAndroidよりiPhoneでしょう、ということらしいです。私は、こういう統計は、常に、疑ってかからないといけないと思っています。しかし、体感的にいってもこれはある程度現実に即した数字ではなかろうかという気がします。

昨今、モバイルという潮流は無視できないですよね。通常の携帯で携帯サイトがどうのこうの言ってる内は、開発者として全く食指が動きませんでしたが、iPhoneには惹かれるものを感じます。WILLCOMの情報端末あたりから注目度を強めているモバイルですが、現在、iPhoneに対抗し得るコンセプトを持った製品が見当たらない気がします。iPhoneは、恐らく、少なくともあと5年くらいは「本命」感を漂わせ続けるだろうと思っています。

あとは、手を出すかどうか、だけです。このとき、私の場合、3通りの考え方があります。つまり、「ユーザとして、手を出すかどうか」という視点、「開発者として、手を出すかどうか」という視点、そして「経営者として、手を出すかどうか」という視点の3つです。

このとき、私の場合、幾つかの阻害要因があります。

  • 携帯電話を買い換えたばかり

  • Apple社の文化に馴染みが無い(Mac,iPodなどの製品、囲い込み戦略、MacOSのような環境)

  • Apple社の掌の上で踊るのが、少し、イヤ

  • 事業ドメインとしてハナから外していて、まったく考えていなかった


つまり、3つの視点の内、ユーザとしての視点と経営者としての視点から言うと、上記阻害要因のために、iPhoneには手を出したくない。でも、開発者として見た場合には非常に魅力的です。そして、開発者としての勘が、iPhoneの「本命」感を捉えて離しません。

・・・いま、困っています。(笑

2009年8月27日木曜日

帳簿入力

今日は、午前中、溜まりに溜まった領収書を整理すべく、
帳簿入力しているんです。

正直に言って、今まで帳簿をつけるなんてやったことなかったので、
四苦八苦してます。

いま直感的に分かるものだけ入力することにしたのですが、
預金出納帳と現金出納帳くらいしかなく(う~ん・・)、
しかも、たったそれだけですら、四苦八苦してます。

いま、やっと7月分まで入力を終わりました。

いやあ、年末まで先送りにしたりしないで、
今やっておいて本当によかったです。。。


・・・と、ここまで軽快にブログを書いてて
今、フト気づいたことがあります。
いま使ってるソフト、お試し版です。。。
いま確認したら、あと18日しか使えません。。。
※インストール後、12日間放置していたことを
 いま告白しているにも等しく。。。


えええええっと、ボチボチやっていきます。

2009年8月25日火曜日

優れたデザイン

「優れたデザイン」というものの定義は

その切り口によって幾つもあるとは思いますが、

私にとっての「優れたデザイン」とは、

「それに触れることでインスパイアされて
 何か作りたくなるようなもの」

です。



WEBデザインをまさぐっているとき、

ここしばらくはインスパイアされるものに

出会えていなかったのですが、

先日見つけたデザインには非常に感化されまして、

ちょっと似たようなものを作ってみようかと

いう気になりました。



インスパイアを受けるためには、

やはり色々なものに触れたり出会ったりしなくてはいけない。

その為には、心も行動も外に向かわなければいけない。

それが私の行動基準のひとつです。

2009年8月20日木曜日

CMSとブログ

私がCMS(XoopsとかJoomlaとかDrupalとか)の話をしているとき、

相手の方がブログ(MovableTypeとかWordPressとか)を思い浮かべて

お話を聞いておられる場合があり、こちらとしては、少々、

話づらい場面があります。



確かに、最近のブログツールは、MTにしてもWPにしても、

CMSやSNSのような機能を有してきており、単なるブログツールから

脱却しつつあります。



でも、私の中では、MTやWPはまだ「単なるブログツール」で

あったりします。



そもそも「CMS」という言葉を使っても通じない場合もあり、

ビジネスの切り口として「CMS」という言葉を使う限界を

感じる今日この頃です。。。

2009年8月18日火曜日

忙殺気味

いえ、決して商売繁盛なワケではないのですが。

※そうであればとても嬉しいのですが。



お盆明けの8/17は、ちょっと作業が入っておりましたので、

自宅兼作業場でゴチャゴチャと作業しておりましたところ、

数本のメールと数本の電話が入り乱れ始め、対応しつつ

作業を進めつつ、ちょっと調べないと分からないことが

あったので調べつつ、調べている間にも返信したメールに

さらにレスが付いたりしつつ・・・といった調子で、

結局、夜になってようやく少しずつ落ち着きを取り戻し

ました。



以前、サンソウカンで受講した講座にて、講師の方から

「"作業"ではなく、"仕事"をしなさい」と言われていた

のですが、どうにも、そうばかりもいかない日もある

ものだと、ふと振り返る次第です。



優秀なビジネスマンは、割り込みが入らないような

仕事の進め方をするものです。

割り込み自体は、ある時にはあるからしょうがないけど、

それを極力少なくする工夫をしている、と。



まだまだ、修練が足りません。



私の場合、まず真っ先に行うべき工夫は、

使う「言葉」にありそうだと自己分析しています。



余計なスケベ心を出して含みを持たせたニュアンスを

持った言葉でコミュニケーションするもんだから、

その含みの部分にドンドンと割り込みが入ってきて

しまう、と。



切るときは切る、掴むときは掴む、

そう割り切ってコミュニケーションしていくことが

肝要であろう、と。

cubson

XoopsCubeのコードジェネレータで

cubsonというCUIソフトがあります。



2つのコマンドをたたくだけで

モジュールの雛形が出来てしまう、

効率を求める開発者には必携のツールです。



ハマりポイントというか"油断しちゃった"ポイントが、
私には、2つありました。

=====================
■ODBC.Netのインストール
=====================
私はvistaユーザなのですが、
管理ツールからODBC設定を眺めると
何もしなくてもACCESSやOracleの
ODBC設定が見えてるので、このまま
MySQLのODBCドライバだけ入れれば
cubsonが動きそうな気がしていたのですが、
どうやらODBC.Netが必須のようでして、
別途ODBC.Netをインストールする必要があります。

別途ODBC.Netをインストールする必要があることは
cubsonの解説サイトに書いてある内容なのですが、
cubsonインストール時に、ついつい、スキップして
しまいました。

油断、してました。

※.Netで開発経験があるなら、恐らく、当然のこと
 なのですが、長らく.Netの開発をしてなかったせい
 でしょうか、油断してしまいました。


=====================
■mainfile.phpの読取専用属性を外す
=====================
mainfile.phpは、セキュリテイの観点から
通常運用では読取属性をセットします。

しかし、cubsonを使うときには、
理由は分かりませんが、この読取属性を
外してやる必要があるんだそうです。

これも、cubsonの解説サイトに書いてある
内容なのですが、ついつい油断してしまい
がちです。私の場合は、ですが。



こういった油断を乗り越えてインストールが完了すれば、

あとは、CREATE文が列記されたsqlファイルを用意して

コマンドを二つたたけば、取り敢えずCRUDくらいは

動くようなモジュールが出来てしまいます。

 ・makeproject
 ・wizard

あとは、言語ファイルを整えたり、templateやロジックを

要件に合わせてカスタマイズしていくことで、完成に向かいます。



結局、ある程度のフレームワークがあれば、

「業務ロジックの分離」とかそういう細かいことは

フレームワーク側で一生懸命ややこしいことをしなくても、

それに向けたコードジェネレータを開発しておくことで、

業務ロジックの開発だけに集中できることがよく分かります。



開発者には、一度、コードジェネレータの威力というものを

味わっておいていただくことをお勧めしておきます。

2009年8月15日土曜日

会計ソフト

何かよいものはないか探していたんですが、

『やよい会計(青色申告)』の体験版をダウンロードして

使ってみたところ、私にシックリきました。



最初、フリーソフトを探していたのですが、

どうも「Microsoft Excel/Access」あたりを使うものが多く、

Microsoft Officeを持っていない私としては(※)、

どうにも使えませんでした。。。

※OpenOfficeというOSSのオフィススイートを使っています。
 見積書などのビジネス文書や、仕事で作る設計書類は
 すべてOpenOfficeで作っています。
 Excel形式で読み書きが出来て、便利です。
 ただし、マクロ機能に関しては互換性が怪しいので、
 フリーの会計フト類は使わないもしくは使えないのです。。。



私にとって『やよい会計(青色申告)』の良いところは、

「簡単取引入力」という機能にあります。

この機能には、専用入力画面があって、

私のような経理経験の無い人でも、

分かりやすい言葉で書かれた取引内容を選択して

必要事項に記入していって最後に保存するだけで

諸々の台帳に自動的に記帳してくれるんです。

例えば、「簡単取引入力」の専用入力画面で

「売掛金を普通口座に入金」を選んだ後に

必要事項(取引先・日付・金額)を入力して保存すれば、

売掛台帳や預金出納帳に自動的に記帳してくれます。

これが便利。



仕様がよく練られたソフトだと思います。

2009年8月14日金曜日

spark43オフィシャルサイトのRSS

文字化けしてました。。。

恐らく環境の問題な気もしますが、
ソース修正で乗り切ることにしました。(汗


XOOPS_ROOT_PATH/modules/legacy/actions/BackendAction.class.php
を書き換えました。


/**
*
* @package Legacy
* @version $Id: BackendAction.class.php,v 1.4 2008/09/25 14:31:58 kilica Exp $
* @copyright Copyright 2005-2007 XOOPS Cube Project
* @license http://xoopscube.sourceforge.net/license/GPL_V2.txt GNU GENERAL PUBLIC LICENSE Version 2
*
*/

if (!defined('XOOPS_ROOT_PATH')) exit();

/***
* @internal
*/
class Legacy_BackendAction extends Legacy_Action
{
    var $mItems = array();
    
    /**
     * The spec of getRSS():
     * append your RSS item to $eventArgs array. You don't need to sanitize your values. Use raw value.
     *
     * $item['title']
     * $item['link'] ... permanent link
     * $item['guid'] ... permanent link
     * $item['pubdate'] ... unixtime
     * $item['description'] ... not required.
     * $item['category'] ... not required.
     * $item['author'] ... not required.
     *
     * @var XCube_Delegate
     */
    var $mGetRSSItems = null;
    
    function Legacy_BackendAction($flag)
    {
        parent::Legacy_Action($flag);
        
        $this->mGetRSSItems =& new XCube_Delegate();
        $this->mGetRSSItems->register('Legacy_BackendAction.GetRSSItems');
    }
    
    function getDefaultView(&$controll, &$xoopsUser)
    {
        $items = array();
        $this->mGetRSSItems->call(new XCube_Ref($items));

        $sortArr = array();
        foreach ($items as $item) {
            //shiraga (2009.08.14) ==>
            $item['title'] = mb_convert_encoding($item['title'], "EUC-JP", mb_detect_encoding($item['title']));
            $item['description'] = mb_convert_encoding($item['description'], "EUC-JP", mb_detect_encoding($item['description']));
            //shiraga (2009.08.14) <==
            
            $i = intval($item['pubdate']);
            for (; isset($sortArr[$i]) ; $i++);
            
            $sortArr[$i] = $item;
        }
        krsort($sortArr);
     $this->mItems = $sortArr;
        return LEGACY_FRAME_VIEW_INDEX;
    }
    
    function executeViewIndex(&$controller, &$xoopsUser, &$render)
    {
        $xoopsConfig = $controller->mRoot->mContext->mXoopsConfig;
        
        //
        // Set up the render buffer.
        //
        $renderSystem =& $controller->mRoot->getRenderSystem('Legacy_RenderSystem');
        
        $renderTarget =& $renderSystem->createRenderTarget('main');

        $renderTarget->setTemplateName("legacy_rss.html");
        
        $renderTarget->setAttribute('channel_title', $xoopsConfig['sitename']);
        $renderTarget->setAttribute('channel_link', XOOPS_URL . '/');
        $renderTarget->setAttribute('channel_desc', $xoopsConfig['slogan']);
        $renderTarget->setAttribute('channel_lastbuild', formatTimestamp(time(), 'rss'));
        $renderTarget->setAttribute('channel_webmaster', $xoopsConfig['adminmail']);
        $renderTarget->setAttribute('channel_editor', $xoopsConfig['adminmail']);
        $renderTarget->setAttribute('channel_category', 'News');
        $renderTarget->setAttribute('channel_generator', 'XOOPS Cube');
        $renderTarget->setAttribute('image_url', XOOPS_URL . '/images/logo.gif');
        
        $dimention = getimagesize(XOOPS_ROOT_PATH . '/images/logo.gif');

        $width = 0;        
        if (empty($dimention[0])) {
            $width = 88;
        }
        else {
            $width = ($dimention[0] > 144) ? 144 : $dimention[0];
        }
        
        $height = 0;
        if (empty($dimention[1])) {
            $height = 31;
        } else {
            $height = ($dimention[1] > 400) ? 400 : $dimention[1];
        }
        
        $renderTarget->setAttribute('image_width', $width);
        $renderTarget->setAttribute('image_height', $height);
        $renderTarget->setAttribute('items', $this->mItems);

        //
        // Rendering
        //
        $renderSystem->render($renderTarget);
        
//shiraga (2009.08.14) ==>
//        if (function_exists('mb_http_output')) {
//            mb_http_output('pass');
//        }
//shiraga (2009.08.14) <==
        header ('Content-Type:text/xml; charset=utf-8');
        
//shiraga (2009.08.14) ==>
//        print xoops_utf8_encode($renderTarget->getResult());
        print mb_convert_encoding($renderTarget->getResult(), "UTF-8", "EUC-JP");
//shiraga (2009.08.14) <==
        
        exit(0);
    }
}

思わず、笑う

『すごい会議』でお馴染み、大橋禅太郎さん。

その新著『行動力力』を某有名PHPerの方が推薦されてたので、

買ってきて読んでる最中なんですが、これがまた面白い。


この「バカ」。カメラバカ、空手バカ、何何バカはほめ言葉か何かだと受け止めている。


・・・思わず笑ってしまいました。



ちなみに、これは、

「徹底的に貫くべき自分の価値観とはなんなのか?」

というお話の流れの中で出てくる言葉です。



これがまた、いい話なんです。

ぜひ、ご一読をお勧めしておきます。

2009年8月13日木曜日

Javaで作られたCMS

当方では、レンタルサーバーでの運用をターゲットということで
CMSと言ってもPHPで作られたものばかりを追いかけておりました。

しかし、昨日、「JavaのCMSについて何かご存知ありませんか?」と
ご質問をいただきました。

Googleで検索すると、幾つかヒットしました。
いやあ、色々あるんですねえ。

Magnolia
OpenCms
Alfresco
jetnuke
JBoss Portal


と同時に、こういう記事もあります。


当方では今後も恐らくPHPのCMSを追求していくと思います。

2009年8月12日水曜日

ん、もう。。。

ターゲットが違えば、行動を変えなくてはいけない。



当初、両輪の軸を標榜し二つのターゲットを設定したはいいけど、

いつの間にかそれを忘れていました。

そのどちらにも関わる部分から着手を始めていたので

何て言いますか"痛さ"はないんですけど、

でも、自分で自分の愚かさに嘆いている今日この頃です。



自分で設定した目標・戦略を自分自身に落とし込むことすら

出来ていないのは、練りが足らないせいだと思われます。。。



8月は、本当は、戦略練り直しと次の攻撃に向けての準備を

していたかったのですが、幾つかお問合せをいただき、

それが仕事に結びついていく中で、中々そうもいかなくなる、

それどころかお盆返上の雰囲気です。



結局、走りながら考え、考えてる最中にも手を動かすのが一番だと

今は考えています。

つまり・・・

 ・目先の利益を拾う行動

と、

 ・思い描いた将来を手にするための行動と、

と、その両方を毎日なんとかこなしていくしかないだろう、と。



・・・といったようなことをツラツラ考えていった先に

たどり着く言葉はいつも「頑張ろう」だったりします。



よし、頑張ろう。

頑張ります。

2009年8月6日木曜日

twitter

最近、twitterで勝間さんのつぶやきを拝読(?)しています。
時々、モバイル機器類の話が出ることがあるんですが、
これが、妙にいいトコ突いてますよね。

最近「へぇ~」と思ったのは、
PHS300で無線ルータつくった辺り。

この商品は、いいと思います。

私はmobile周りにあまり力を入れていないため
こういった商品を購入することはありませんが、
これはあると便利だと思います。

2009年8月5日水曜日

OpenPNE

いまやSNSサイトを作ろうと思えばOpenPNEって感じになってますね。

ダウンロードして解凍したら27.7MByteもありました。。。

いや、別に、いいんですけど。。。

2009年8月4日火曜日

よく練っておられます

似顔絵イラスト きずな工房さん

商品メニューや割引メニューをツラツラと眺めていると、
きずな工房さんは、しっかり検討されてるのが
よく分かりますよね。

私も、現在、自分の事業をゼロから練り直し中で、
ちょっとアイデアを思いついたので、それを形に
している最中です。

きずな工房さんのようにしっかり練られたアイデアに
育てていこうと思います。

すっかり形になったアカツキには、きずな工房さんで
似顔絵イラストを作ってもらおうと思います。

一日も早くその日を迎えられるように頑張らないと・・。

頑張ります。

2009年8月1日土曜日