ヨーロッパで働くIT土方社長のブログ

クロアチアのザグレブって所で受託会社やってます。Webサイトはこちら https://clover.studio/

大企業で働いた経験が無くて生きるのが辛い

働くならベンチャーが最高!的な記事ばかりでうんざりしてるので久しぶりに投稿してみようと思った。


まぁネット上でそういう意見が溢れてるのはステマ記事だからというのもあるんだけどね。。


自分は大学生の時に起業していて、ただベンチャーと言うよりもフリーランスの延長みたいな感じで、同じ大学の学生に仕事を振って激安の受託開発をやっていた。幸い電気通信大学と言う事もあって社会人並みのスキルを持った学生は沢山いて、そもそもオフィスが無かったから全員自宅作業で、みんなちゃんと責任感を持って仕事をしてくれていた。


そんな感じで2年くらい学生兼エンジニア兼エセ経営者みたいな感じで過ごして、就職先はかなり選択肢はあった。


もちろん当時はイケイケだったので就職なんぞ眼中に無くさらなるチャレンジを目指して卒業後クロアチアに引っ越した。クロアチアに行った理由は特になし、自分がクロアチアと日本のハーフだからという単純な理由。


その後紆余曲折あったもののクローバースタジオを立ち上げてSpikaを公開していろんな会社から協業の話を頂いて日本とかアメリカの上場してる会社と一緒に仕事をして、今更ながら大企業で働いた経験が無い事でかなり苦労して各所に迷惑をかけて、やっぱ一度くらい大企業で働いとくんだったと後悔してる。


というわけで後悔ポイントを挙げていきましょう。


◼︎ 値段感が分からない

最初にして最大の理由。ずっと底辺でゴニョゴニョしてたので大企業から見積もりを頼まれても値段感がさっぱりわからなかった。一度某電話会社(国外ね)と取引のチャンスがあったんだけど多分盛り過ぎて、見積もりを出して全く音沙汰なしだった。。


◼︎ 書類の書き方が分からない

見積もりとか契約書。こういうのは大企業でみっちりしごかれるとちゃんとした物が作れるようになると思う。僕自身は未だにわかりません。社員にそういうのが得意なやつがいて任せてます。が、英語だけなので未だに日本向けの見積書とかペラ1です。。。がんばります。


◼︎ 組織の作り方が分からない

ずっと一人やってきたから、社員を一気に増やしたらカオスになって大変でした。会社の歯車辛いけど経験あるといざ会社おっきくしようとする時に絶対役立つと思う。


なんかまだまだあると思うけど、疲れたんでこの辺でいいかな。。


日本は新卒と言うすごいチャンスがあるので、スタートアップでイケイケ!!と思い込んでる新米エンジニア君たちも10年後後悔しない選択をして欲しいもんです。


告知!!

現在Spikaのオープンソース版をNodeJsで一から書き換えています。もうちょいで完成するのでお楽しみに!!もちろん全ソースコードをGithubで公開します。今度はメッセンジャーというよりか、組み込み型のチャットモジュールって感じになります。アプリやサービスにチャット機能を簡単に追加できるようになります。




Spika+DigitalOceanで5分でモバイルメッセンジャーサービスを始める方法

ご無沙汰しております、やっとこさSpikaのバックエンドの改修が完了し、当初叩かれていたセキュリティーやらバックエンドのレガシーコードの問題が解決しました。公開当時に炎上気味にdisられ、

ここで一段落ついたのですが、この段階ではまだ今後の改修の方向性が決まっただけで、まだまだな状況でした。10月末に終わらせます!とか言ってのたのですが、本業の受託の方がバタバタしだして、12月末までかかってしまいました。まぁまだまだカバレッジとかあり得ない感じですが、、、だれかテストケース書いてくれる人が居たら大歓迎です。

 

その間にも「サーバーインストール出来ねーぞ!!!」と問い合わせをほとんど毎日1通は貰っていて、最近は海外からの問い合わせというかクレームが多くなって来ました。弊社はクロアチアの会社ですが、Spikaは僕が英語がヘタクソで英語で広めるのが億劫なのでまずは日本をメインにやって行こうと思っています。海外向けにマーケティングする時は日本発!みたいな感じで露出させるつもりです。結局僕自身日本人(ハーフですが)で自分でコードも書いてるので。。

 

さてさて前置きが長くなりましたが、Spikaは開発環境の設定にVagrantを使っています。Vagrantは公開直後に@yandoさんがVagnrantファイルを書いてくれたのがきっかけで使い始めてまぁ便利ですよね。この後普通に受託の案件とかでもVagrantを使う様になって、もうVagrant無しでは生きて行けないと思います。

で、ちょっと前にこんな記事を見つけて

 

VagrantとSSDなVPS(Digital Ocean)で1時間1円の使い捨て高速サーバ環境を構築する - Glide Note - グライドノート

 

やってみたらこりゃ簡単。Spikaで「サーバーインストール出来ねーぞ!!!」って問い合わせを良く貰うのでここでまとめておけば、いちいち回答する必要も無くこのリンクを送れば良いと思うので、落ち着いたらSpikaバージョンを書こうと思っていました。

 まぁどうせなんで、一度改修後バージョンで、バックエンド+iOS+Androidの構築方法をまとめたいと思います。

 

SpikaバックエンドをDigitalOceanで立ち上げる方法

まずは、繰り返しになりますが、

VagrantとSSDなVPS(Digital Ocean)で1時間1円の使い捨て高速サーバ環境を構築する - Glide Note - グライドノート

を参考にして一度サーバーを立ち上げる所までやってください。その後

vagrant destroy

 で、一旦閉じてください。 次にSpika-Serverのコードを https://github.com/cloverstudio/Spika-Server  からダウンロードします。そこで、Vagrantfile.digitaloceanVagrantfileがあるのですが、Vagrantfileの方はローカルのVirtualboxで立ち上げる時に使います。今回はVagrantfile.digitaloceanの方を使うので、Vagrantfileは適当な名前に変更し、"Vagrantfile.digitalocean"を"Vagrantfile"に名前を変更します。"provider.client_id"と"provider.api_key"と"provider.ssh_key_name"はそれぞれ自分の環境用に値を設定してください。その後

vagrant up --provider=digital_ocean --provision


でサーバーを起動します。最初のステップで成功していたら問題なくサーバーの設定アップが完了するはずです。コマンドの前半に

Bringing machine 'default' up with 'digital_ocean' provider...

[default] Using existing SSH key: SpikaDemo

[default] Creating a new droplet...

 [default] Assigned IP address: 192.241.214.51


とあると思うので、このIPアドレスを控えておいてください。一通り完了したら、最後に

please open http://ipaddress/wwwroot/install to finish setup

と表示されるので、このipaddressの部分をサーバーのIPアドレスに変更してください。この場合は、"http://192.241.214.51/wwwroot/install" をブラウザで開きます。で、色々表示されると思うのですが、これは必要な情報なので保存しておいてください。これでバックエンドの構築は完了です。めっちゃ簡単!!!

Create User OK: email is 'l5YtIHrO@clover-studio.com',password is 'YTqcbnJ7', support user id 61baafdaa680faa92c18dd81d20002c0 

と表示されていると思うのですが、このメールアドレスとパスワードがサポートユーザーのアカウントになります、このままSpikaのクライアントアプリからログインしてください。ちなみにサーバーにログインするには、Vagrantfileの場所で、

vagrant ssh
とするだけです、Vagrantすげーーー!!

Spika iPhoneアプリのビルド
iOSのビルドでやる事は、
- APIのURLの変更
- サポートユーザーのIDの2点のみです。

まずは、https://github.com/cloverstudio/Spika-iOS から最新版をダウンロードしてください。

変更するのは、ここここのURLを変更します、この場合は、http://192.241.214.51/wwwroot/apiとします。次にここにサポートユーザーのIDを設定します。この場合は、61baafdaa680faa92c18dd81d20002c0となります。でそれをやったら、実行ボタンを押すだけです。iOSは以上!簡単ですね!!!

Spika Androidアプリのビルド

AndroidはiOSより若干作業が多くなります。Androidの開発環境は出来ている前提です。SpikaはEclipseを使って開発していますので、Eclipseでビルドしてください。まずは、ソースを https://github.com/cloverstudio/Spika-Android からダウンロードします。

■ プロジェクトへのインポート

f:id:cloverstudioceo:20130923110904j:plain

File > Import > Existing Android Code Into Project 

で、ダウンロードしたフォルダとプロジェクトにインポートします。

 

 

 

 

 

 

 

 

 

 ■ Build TargetをGoogle APIsに変更

f:id:cloverstudioceo:20130923110920j:plain

 プロジェクトトップを右クリック > Properties > Project Build Targetの部分で Google APIsの最新版を選択します。














■ Google Play Servicesをインポート

f:id:cloverstudioceo:20130923110936j:plainインポート方法は下記のサイトを参考にしてください。

 Macの人はこちらを参考Windowsの人はこちらを参考Linuxの人は自分でがんばって下さい。

 

インポートが完了したら、 プロジェクトトップを右クリック > Properties > Java Build Path > Projectの部分で インポートしたGooglePlayServicesのプロジェクトを選択して下さい。

 



■ APIのURLの変更、サポートユーザーIDの設定
あとは、iOS同様にAPIのURLを変更してサポートユーザーのIDを設定します。変更ス角は、ここここです。繰り返しになりますが、URLはこの場合、http://192.241.214.51/wwwroot/apiとなり、サポートユーザーのIDは61baafdaa680faa92c18dd81d20002c0になります。


以上で、Spika公開方法となります。サービスとして成立させる為にはさらにプッシュ通知の設定が必要になりますが、それはまたの機会に書きたいと思います。

SPIKA近況

久しぶりの更新です。

SPIKAの改修と本業の方でかなりばたばたしておりまして、ブログの更新までに手が回らない状態です。改修自体は佳境に入っていて指摘されていた問題は一通り修正される予定です。以前のようなcouchdbにべったりの設計を止め、アプリの実装にバックエンドに使うデータベースに依存しないようにしました。なので、例えばmysqlをストレージとして使うようにアプリの変更なしでバックエンドを書き替えるような事ができるようになります。これでさらにいろんな人のニーズに柔軟に対応できるようになるのではと思っております。

あと、協業の話もいくつか貰っていて、リリース後に某上場企業から相談を貰いまして、面白い取り組みを始める事になりました。


この事でコミュニティーに反映できるようにSPIKA自体もさらによくしていけると良いと思っております。


この件は近くリリースできる状態になると思うので、その時アナウンスできると思います。

 

ではでは

Spikaを公開して起こった事

久しぶりにブログを書きます。

 

10月の最初に弊社のオープンソースプロジェクト Spika をリリースしました。最初の1週間は全く反応が無く、30個近くのブログにプレスリリースを出したのですが、最終的に掲載して頂いたのは、TechWaveさんとMoongiftさんでした。


この期間は全くユーザーの反応が無かったので、かなり落ち込みました。Spika自体は今年に入ってから着手してまして、社員の誰かの稼働が空いた時に、日頃お客さんの要望に答える事を優先して、自分の好きな様にアプリが書けないフラストレーションを解消するプロジェクトとして進めておりました。オープンソースでモバイルメッセンジャーを作ると言うアイデアは僕のアイデアでして、SNSが流行った後にビジネスSNSが流行した流れがあったので、モバイルメッセンジャーでもビジネス利用の流れがあっても良いのでは無いかと思ったのがきっかけでした。ただ、僕たちは日本に居ないので営業力は皆無に近くどのようにして注目を集めるか考えた結果オープンソースにしました。


その後、Techwaveさんが記事にした後に全ては動き出しました。はてぶは400以上が付き、トップ2まで一瞬で上り詰めました。

そして、バックエンドの作りの問題を指摘され、瞬く間にネガティブコメントがネット中にポストされて行ったのでした。。


はてブのコメントFacebookでも言及され、Twitterは細かく追っていませんが相当言われていると思います。


うちはアプリ制作専門だったので、バックエンドはあれば良いや程度だったのですが、まさかここまで突っ込まれるとは思っていませんでした。正直代表である僕が音頭を取っていたプロジェクトで良かったと思います。大きな会社でこういう状態になった場合、信用を失う自体になり、責任問題にもなるでしょう。会社が小さいうちに経験して良かったと思っていますが、大きめの組織でオープンソースプロダクトを作る際はまじ気をつけましょう。。

 

その後、レガシーズ 公式ブログ — PHPerはSpikaのどこを見たのか? の記事とか、twitter上で名だたるPHPerの方々に建設的な意見を頂く事が出来て、問題となっている部分を1から書き直す方針が立ちました。それが今から1週間くらい前で、僕自身で土,日,月と3日で基本的な所は書き直しました。

 



日本を代表するPHPerの方からこんなコメントを貰ったりして大分テンションが上がりました。

 

そして、なんと昨日今日とSpika Hackathon を開催して頂き、問題となっていた部分のソースコードは一切無くなり、Travis CIにも対応し、さらにリファクタリングまでして、最初の状態と比べたら生まれ変わったと言ってもおかしく無い位のレベルまで改善されました。Techwaveさんの記事にして頂いてから2週間で全て起きた事です。


Spika Hackathon に参加してきた


上記のブログに主に何を改善したか書いてあります。

さらにVagrantにも対応したので、"vagrant up"というコマンド一発で開発環境が立ち上がる様になりました。Vagrantがスゲーとか、Composerがスゲーとか、ソース規約テストがウザいけど良い仕事するとか色々書きたいと事は山ほどあるのですが、今回は技術的な話は避けたいと思います。

 

と言う訳で、公開して、評価されて、酷評されて、いろんな方々にアドバイスを受けたり、実際にコードを書いてもらったりと、2週間で色々なことが起きました。このスピード感が中々心地よいのと、個人的にはまぁ酷い状態ではありましたが、公開するまで気づかなかった事なので、リリースして良かったと思っています。お陰で今まで知らなかった方々と、実際にお会いはしていませんが、やり取り出来ましたし、Webアプリの最新技術を勉強する良い機会が出来ました。ビジネスの話も何件か進んでおります。ただ、全ては僕が代表でうちが小さな会社だったから特に大きなダメージは無かったのだと思います、やはり社会的責任の大きい会社の一部としてオープンソース製品をリリースする際は気をつけた方が良いと思いました。

 

今後ですが、

• APIの分割化 (10月25日くらいまで )

• プッシュ送信部分の書き直し

• 管理管理画面

を予定しています。

 

まだPHPコミュニティーの方々には色々とアドバイスをお願いすると思いますが、何卒よろしくお願い致します。

 

最後に、Spikaを紹介して頂いた方々、良くも悪くも評価して頂いた方々、twitter上で建設的なアドバイスを頂いた@yandoさん、そして、Spika Hackathon でコードを実際に書いて頂いた、@NAKANO_Akihitoさん、@kuzuhaさん、@yuya_takeyamaに心から感謝致します。

 

上記の変更が終ったら今度はグローバルに展開して行きたいと思っております。今後もSpikaを何卒よろしくお願い致します。


PS.Spikaをビジネスに活用したいとか、社内で利用したいとかある方はお気軽にお問い合わせ下さいー

 

ロンドンで人気なアプリ10

音楽もですが、これからのインターネットビジネス(って言い方も古いですが、、)とかモバイルのビジネスモデルはローカライズが重要なキーになると思っています。facebookの若者離れが良く言われますが、端末のスペックの向上と、モバイル通信環境の高速化、それに合わせてソーシャルアプリの変化も加速している気がします。常に新しい物が出続け、飽きっぽい若者は数ヶ月前に流行ったアプリなんぞ目を向けずインストールしては消されて行くのではないでしょうか。

その中で毎日立ち上げてもらう為にはただ新しい、流行っているだけでなく別の訴求ポイントを持つ必要があると思います。色々あると思うのですが、ローカライズは個人的に重要なポイントになって来ると思います。ただ言語を訳すだけのローカライズでなく、その地域に合った使われ方、機能のローカライズって言うんですかね。。。そんな所に注目しています。香川県民しか分からないようなうどんの写真共有アプリとか。。こう言うと凄く安っちい感じですが、漠然とそんなイメージを持っています。

そんな事を考えていたらこんな記事を見つけたので紹介

 

ロンドンで愛されているアプリ10個 (http://thenextweb.com/uk/2013/06/02/londons-top-10-mobile-startups/)

AppStoreのトップ10とかでなく、愛されているアプリです。こういう情報は住んでいないと分からないので、凄く参考になります。まぁいちいちここで一つ一つコピペしても意味が無いので、興味がある方は元記事を見て下さい。

地域に根ざしたアプリ、ニッチに始めてグローバルに育てるというモデルがやり易い形になるかもしれませんね。

 

クロアチアのスタータップ紹介 - BabyWatch

先週にうちのスタッフがこれ http://inventures.eu/shift-conference-puts-split-on-the-startup-map に参加してきてボロボロの結果だった訳ですが、そこで1位に取ったスタートアップの本気度が凄かったので紹介します。

http://babywatchome.com/

超音波センサーをiPhoneのイヤホンジャックに接続して胎児の状態を自宅で見れるという。。。クロアチアと言う辺境の地でもこういう事やってる事を知ると世界を見ると山ほどすげーアイデアを持っているのに資金が足りなくて諦めている人たちは山ほど居るんでしょうねー、インドとかも凄そうですよね。

 

Squareもそうですが、この仕組みは結構面白いなぁと思って調べてみたら意外と簡単に実現出来そうですね。


http://web.eecs.umich.edu/~prabal/projects/hijack/

イヤホンジャックから電源とI/Oを提供するブリッジみたいなのもあるみたいでして、ちゃんとググれば結構安く手に入るのではないでしょうか。

AppCrawlrが結構すごい

膨大な量になりつつアプリですが、自分が面白いと思うアプリを探すのも一苦労というか探す事自体がめんどくさく、新しいアプリを探すくらいであればソーシャルゲームに500円位課金して暇をつぶした方が楽なのですが、本業となるとそうは行きません。

 

http://appcrawlr.com/ はストアが用意しているカテゴリーの枠に加えて独自のタグ付けを行いストアに用意されていないカテゴリーでアプリを探す事が出来ます。一言で言うと「タワーディフェンス」ゲームを一覧で見れるサービスです。AppStoreはまだましですが、GooglePlayのカテゴリー分けは酷いですよね。ゲームのカテゴリーを決めた人間はゲームに何か恨みでもあるのかと思うのですが、それを奇麗に整頓してくれます。カテゴリー分けも「ダイエット」「貯金」「子供向け」「ひまつぶし」等、ニーズ毎に整理されていてます。デザインでかなり損していると思うのですが、個人的にはかなり重宝しています。ぜひお試しあれ!