2014年6月18日水曜日

iBeaconを使った勤怠管理を作成 パート3

弊社勤怠管理の機能拡張ですが、今回は管理画面から、任意時間帯毎に送信するメッセージを設定できるようにしてみました。



このような感じで、AM5:00からAM11:00の間にオフィスに入室した場合は、このメッセージが表示されます。
複数のメッセージを登録できるので、時間帯によりメッセージを変更することができます。
今回かなりインフォーマルにしてみました。



iPhoneではこんな感じでデータが表示されます。
いい感じで開発が進んでいます。


2014年6月13日金曜日

iBeaconを使った勤怠管理を作成 パート2

今週いきなり作り始めたiBeaconを使った弊社勤怠システムですが、登録したデータを管理する機能を拡張しました。
ActiveAdminを使用して作ってみました。管理画面なので特に日本語化してませんが、勤怠データをフィルタリングできたり、CSVでデータを出力できるので満足しています。



小さな変更ですが、定時後にオフィスを出ると

「お疲れ様でした。」

と通知してくれるように変更しました。又、朝来ると

「おはようございます。」

と通知してくれます。挨拶文で少しでも柔らかい感じを出したいのですが、メンバーによると、これでもまだ固いそうです。もっと砕けた文言にでもしたらいいのかもしれません。




導入して3日ですが、iPhoneを携帯しているだけど記録が残るのが楽しくて、無駄に入退出を繰り返しています。

やはりプロダクトを作るのは楽しいですね。



2014年6月11日水曜日

iBeaconを使った勤怠管理を作成


皆さんご存知だと思いますが、Bluetooth Low Energy技術を使った、iBeaconを使って弊社の勤怠管理を作ってみました。

まずiPhoneに専用アプリをインストールします。
そして、オフィスに近づくと

 ”オフィスに到着しました。”

と通知されると同時に、データを管理するサーバーへ書き込みを行います。
反対にオフィスから出ると。

 ”オフィスから離れました。”

と記録が残ります。


タイムカード等を使わなくても、ただiPhoneを携帯しているだけで、勤怠の記録が採れます。何もしないで自動的に記録されるのがいいポイントだと思います。


今日出来たばかりのアルファ版なので、記録を採ることしかできませんが、今後は朝一番にオフィスに来たら、当日の予定を表示するとか、退社時には明日の天気を知らせてあげるとか、いろいろ考えています。
何か良いアイディアがあれば教えてください!




2014年5月19日月曜日

Windows Presentation FoundationとEntity Framework

WPF Whiteboard
WPF Whiteboard / adKinn


今年前半はWindowsアプリケーションの開発を行っています。
今回のWindowsアプリの開発ではWindows Presentation Foundation(WPF)とEntity Framework(EF)を使って開発しています。

WPFとはマイクロソフトが開発しているGUI開発基盤です。.NET Frameworkに含まれているので、WPFで開発したアプリは特別なツールをインストールしなくても使えます。

特徴としてはAngularJSでも使われている、MVVPパターンを使いロジックと画面を分離して開発ができるということです。TDDは終わったとの議論はありますが、TDDで開発している弊社としてはFormsアプリでの開発はシンドイ部分があります。素直にMVVPで開発した方が幸せになれるのではないかと思い採用しました。

約半年ほどですがWPFを使ってみての感想ですが、まず利点と思われるのは以下の通りです。
  • GUIはかなり柔軟に対応できる
  • ロジックとビューの分離はできる
  • コマンドパターンでイベント操作は容易に開発できる
  • 頑張ればViewModelもUnitTestがかける
  • htmlのcssのようにGUIにプロパティを設定できるので、全体的な変更や個別の変更などいい感じで設定できる
  • 描画がベクターベースなので、画像の拡大縮小が簡単
  • データバインディングが強力
GUIに関してはTemplate機能を使い、ListViewなどにTextblockやCheckbox等のコントロール部品を挿入する事ができるのでかなり柔軟な対応が可能です。

MVVPパターンを使用してるので、ロジック側からみたGUIはViewModelになります。ViewModelとView間のデータバインディングが機能豊富なので、ロジックとGUIがいい感じで分離できます。

次にちょっとしんどかったところですが、
  • データバンディングは自動的に行われないので、制御部分を書く必要があるのでコードの量が増える。
  • WPFはあくまでもプレゼンテーション層のフレームワークなので、XAMLコードでDIみたいな使い方はできない。
  • 真面目にMVVPを守るとダイアログメッセージを表示するだけでも結構大変
  • GUI部分は付属のBlenderはあまり使えなく、結局VS側で手動でコードする方がいい
  • 印刷のフォーマットを作るのが大変
  • 日本語の情報はあまりない
利点のところで、データバインディングがいいと書きましたが、そのデータバインディングを使いこなすまでが結構大変でした。
MVVPパターンは過去にAngularJSで使用していたので、同様にViewModelのプロパティを変更したらViewが再描写されるとばかり思っていました。
しかし、WPFでは自分でプロパティが変わったことをViewに通知しなければなりません。
はじめはエラーメッセージが何故表示されないのか悩みました。再描写が必要なプロパティに制御コードを書く必要があり、コーディングの量は多くなります。

VisutalStudioに付属しているBlenderというソフトで簡単に画面作成ができると思っていたのですが、やはり細かい設定ができないし、勝手にタグを追加してしまうので、使わなくなりました。結局手動でタグを打ちました。

日本では使われないのでしょうか、あまり日本語の情報はありませんでした。なので海外サイトを検索しまくることになりました。StackoverFlowがなければエラい事でした。

使用してみての感想はやっぱり後発のフレームワークだけあって良く出来ていると思います。Windowsでの開発はちょっとと思っていましたが、WPFでの開発ならばちょっとは幸せになれるのではないでしょうか。

長くなってしまったので、EFは次回にします。


2014年1月31日金曜日

GarbageCollector



GarbageCollectorという新しいサービスを作ってみました。
これは登録してもらったメールアドレスに、明日のゴミ収集品目をメールするサービスです。
登録時に地区を選択しますので、自分の住んでいる場所に特化した情報が送られてきます。
なるべくシンプルな情報を送るようにしてます。ゴミ品目が1行送られてくるだけです。

明日、2014年01月31日 金曜日の収集は
プラ類
となります。

こんなメールが送られてきます。

このサービス弊社社員が必要にせまられて開発したものです。ゴミ品目が細分化で今日は何のゴミを捨てればいいのか分からなかった為、部屋にゴミが溜まってしまった。
この経験から作成したものです。去年の夏ぐらいに完成して、狭い範囲のみにリリースしていたのですが、正式に弊社のサービスとして再リリースしてみました。

ただサービス地域が愛媛県松山市、伊予郡松前町だけというローカルなサービスです。
もし使って頂ける方がいらしましたら、登録をお願いします。



2014年1月30日木曜日

NcPartWork 改良

去年の8月にリリースした弊社で初めての製品ですが、ほんのちょっとですが、改良しました。

具体的には

  • 源泉徴収に対応!
  • スタッフ20名までは無料で使用可能!

です。
今回あまり機能追加できませんでしたが、スモールスタートで始めましたので、今後も少しずつですが改良を続けて行きたいと思います。


2014年1月4日土曜日

2014年 ご挨拶

明けましておめでとうございます。
2014年が始まりましたが、今年最初のお知らせは事務所移転です。

去年の設立以来、県の施設にお世話になっていましたが、新年を迎え新しい事務所に移転することとなりました。
約10ヶ月間ですが、産業振興財団の方々には本当にお世話になりました。
また、同じ創業準備室、インキュベートルームに事務所を構える方々には、本当によくしていただきました。
みなさん嫌な顔一つされず、いろいろ相談にのって頂いた事を感謝しております。


さて、新事務所ですが、前回と比べて広さで6倍強とかなり、スペースにゆとりがあります。
年末に荷物を移動させたのですが、ガラガラの状態となっています。
これからみんなで、働きやすい事務所に行きたいと思います。

今年もよろしくお願いします。