2014年12月15日月曜日

FoodShot公開です

弊社の新しい製品が公開されました。
今度はiOS専用のアプリです。
過去に作ったものはWebサービスが中心でしたが、今回はモバイル特化のアプリです。

http://www.nextcode.jp/#/foodshot


そもそもこのアプリを作り始めた動機は、弊社のメンバーが麺類が好きでよく食べに行っていたことでした。弊社は愛媛県にありますので、うどんの聖地香川県はお隣さんになります。頻繁にうどん屋巡りをして、その度にこまめに写真を撮影していました。またラーメン店にも通い、東京出張時には朝からラーメン屋に赴く事もありました。

あるとき、メンバーが写真を眺めているので見せてもらったのですが(食べ物写真ばっかりでした。)いい感じのラーメンがあったので、どこで食べたのか尋ねてみました。
しかし、彼はその店に対してあまり印象が強くなかったのか、何処で食べたのか答えてくれませんでした。

最近のスマホでは写真を撮影したとき、GPSデータも付加して保存してくれます。
そのGPSデータから店名を検索してくれれば、何処で食べたか分かるのでは?

これが動機でアプリを作り始めたのでした。
実際に作成してみると、なかなかいい感じで一人で満足していました。

個人で使って満足しているレベルのものを、みなさんに公開できるレベルにするには、かなりの差があります。なので、せっかく作ったのですが、公開しないでほったらかしにしていました。

弊社のカルチャーとして

「とにかく世に出すべし、良いか悪いかは自分たちでは分からない。」

を定着させて行きたいと思ったので、公開に向けて頑張って手直しを行いました。
そして、やっとですが、公開できましたのでここに報告させて頂きます。

よかったら使うてやってください。



2014年6月30日月曜日

Agile Japan 2014 四国・徳島サテライト&産直セッションに参加

今年もAgile Japanの四国サテライトに参加してきました。
2012,2013年と愛媛県でサテライトを開催してきましたが、今回は徳島県で開催となります。


場所は徳島県神山町の神山バレー・サテライトオフィス・コンプレックスです。
以前ここを運営しているグリーンバレーの方とお話をさせて頂く機会があり、一度は訪ねてみたいと思っていた場所でした。

徳島よりのセッションですが、

「働き方と生き方 ? 地方とソフトウェア開発と幸せな生き方について考える」

とのテーマで実際に神山で働いる人々より、生の声を聞く事ができました。

・以前は東京で働いていたようですが、会社が神山にサテライトオフィスを開いたので
転職することなく、徳島に帰ってきた

・実証実験として神山で勤務していたが、実験終了後も神山が気に入り、会社にお願いして神山オフィスを開設してもらった

・本社、サテライト間のコミュニケーションのベースとして、信頼関係が構築できていなければ、うまくいかない。サテライトに移ってきたが、一度本社に戻り、信頼関係を構築して戻ってきた

・一人あたりのオフィススペースが広いので、快適に仕事ができる

・本屋がないので、技術書は通販で買っている

・虫に慣れなければ、田舎暮らしはできない

仕事だけではなく、普段の生活でも感じたことを聞かせてもらいました。



「徳島県とアジャイルの関わりについて」

徳島県経営戦略部情報システム課 専門幹(情報化担当) 山住 健治 様
より徳島県がアジャイル開発を採用するに至った経緯を話して頂きました。

徳島県発のオープンソースソフトウェア「Joruri」を開発する際、島根県のCMSサイトをベースに開発を行っいました。

印象的だったのは、ベースシステムはRailsで開発されたもので、徳島県でも同様にRailsを使い開発を行ったが、Railsでの開発とアジャイル手法が相性がいいので、なんとなくアジャイルでの開発になっていった。特に意識してアジャイルでの開発を行ったのではないと仰っていました。

徳島県のシステムは全てアジャイルで開発している訳ではなく、ほとんどのシステムは従来通りのウォータフローで行っているようです。



「神山見学」

3つのサテライトオフィスに案内して頂きました。
ダンクソフトさんはサテライトオフィス・コンプレックスにあります。
とにかく開放的な環境で、広々としたオフィスで非常に羨ましかったです。蚊取り線香が置いてあったのが印象的でした。

プラットイーズさんの縁側オフィスは古民家をリノベーションした、一言で言えば最新のカッコいいオフィスです。

逆にSansanさんのオフィスは本当に田舎の一軒家です。昔懐かしい民家を綺麗に使われています。

みなさん就業時間にもかかわらず、快く見学をさせていただきましてありがとうございました。



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倍強とかなり、スペースにゆとりがあります。
年末に荷物を移動させたのですが、ガラガラの状態となっています。
これからみんなで、働きやすい事務所に行きたいと思います。

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