ソフトを開発しようと思った動機、背景
「自分用のポータルがほしかった」という単純な動機です。ID&パスワードの管理もしたかったので、自分の大事なIDやパスワード、その他、自分や家族の個人情報をネット上のサイトに委ねるのはセキュリティリスクが大きいということで、ローカルの自分のパソコン上で立ち上げる必要がありました。言語的には、コンパイラ言語は苦手なので、スクリプト言語ということで、PHPとRubyが選択肢に上がりました。ただ、オブジェクト指向が苦手なので、取っつきやすいPHPを選択しました。最初は、XOOPSなどの利用も検討したのですが、パッケージ(?)ベースだと、パッケージの機能に制約されてしまい、自分がイメージしているものを作れそうになかったので、自分で一から作ることにしました。
開発にあたっては、CakePHPなどのフレームワークも検討しましたが、フレームワークやMVCを理解するのが面倒なのと、フレームワークを使うと、細かいところで自分の思い通りのものを作るのが難しそうな気がしました。PHP、MySQL、JavaScriptだけを使って、極力ブラックボックスの少ないシステムを作ろうと思って、開発しました。
開発中に苦労した点
実は数年前から、PHPの勉強を兼ねて自分用のポータルサイトを作り、使っていました。それをほかの人にも使ってもらいたいと思い、オープンソースとして公開することにしました。オープンソース化するために、ソースを他人から見られても恥ずかしくない(?)程度にきれいにすることや、家族などの複数メンバーで利用できるように認証機能を入れるなど、ほとんどゼロベースから作り直しました。そのため、最初のバージョンの作成に時間をかなり要しました。
XOOPSなどを使わないことにしたので、認証機能もすべて自分で作る必要があり、ここに一番苦労しました。一覧形式で、ページング付きで表示・編集する機能の共通ライブラリ化も苦労しました。オープンソース化する前のものは、デザインもほとんどHTMLベースだったのを、CSSを使って作り直しましたが、CSSは苦手で、かなり苦労しました。いまだにブラウザ間の違いには苦労しています。
ユーザにお勧めする使い方
ブラウザ立ち上げ時のホームページとして使っていただければうれしいです。カレンダーその他、個別には他のフリーソフトに比べて機能が少ない面もありますが、個人や家族ベースで必要そうな機能をまとめてありますし、一般のものにはない機能も入れていますので、そのあたりで魅力(?)を感じていただければと思います。
主なアピール(?)ポイントは、
- ブログパーツをブログ用ではなく、自分用のポータルに貼り付けられる
- カレンダーとアルバムを連携できる
- カレンダーで目的地へのGoogle経路検索ができる
- 掲示板でのFLV動画プレビューやお絵かき機能
- アルバムでの動画のサムネイル表示や、スライドショウのオートプレイ機能
- アルバムではサーバ/ローカルの任意のフォルダを表示できる
- Excel to グラフなど、おまけのツールがいくつかある
などです。今後のバージョンアップ予定
現時点で具体的なものは、あまりありません。いままでも思いつきで機能追加してきましたので、このあとどうなるのか、自分でもよくわかりません。
オープンソース化した目的のひとつは、みなさんからご意見やご要望をもらってシステムを改善していきたいと思ったことなのですが、ソフトの認知度が低いためか、ご意見やご要望をほとんどいただけていないのが実情です。みなさんからのご要望やアドバイスをいただきたいと思っています。あくまでも中級プログラマなので、ご期待に応えられる保証はありませんが。また、基本的なデザインはCSS化していますので、おしゃれなCSSセットを提供していただる方がいればと思っています。
実運用サイト構築には、UTF-8対応デキストエディタでの定義ファイル編集が必要な点などで、プログラミング経験のない、一般の方には敷居が高い可能性もあります。できれば、このあたりも改善できればと思っています。上級プログラマ(?)の方のご支援をいただければと思っています。
(ok.2nd)