読者です 読者をやめる 読者になる 読者になる

くうと徒然なるままに

Thank you for watching !!

(新聞に掲載!)Startup Weekend 豊橋 初参加で優勝した大学生の話 Xamarinを使って爆速でデモアプリを作成したり、実際に売り上げを上げてみたり

新聞掲載済 ブログ 日記

こんにちは、Startup Weekend 豊橋 初参加で優勝した大学1年生(19)です。

Startup Weekend って知ってますか? 起業をしたいけど、一歩踏み出せない意識高い系がサンドボックスな安全な環境で起業を体験できるすばらしいイベントです。

詳しい説明を知りたい人は公式ページを見てください

swtoyohashi.doorkeeper.jp

社会人は貴重な休日(金、土、日)を潰して参加していましたが、大学生なので春休みを利用して参加しました。翌日は疲れたので、寝て過ごしました。

Startup Weekend は、全世界700都市で1,500回以上で開催されているらしいのですが、どういうわけか 愛知県にある大都会豊橋での開催は、初だそうです。

中日新聞に掲載されました!

https://cdn-ak.f.st-hatena.com/images/fotolife/u/ueponx/20170222/20170222000140.jpg

chuplus.jp

コーチとか主催者がすごい人たちで驚いたのもあるんですが、特に驚いたのは、最終プレゼンの審査員が MicrosoftGoogle で働いていて、現在 Qiita の会社にいる 及川 卓也 さんだということです。 最終プレゼンの後に、すこしほめていただきました。本当は、ダメなところを指摘してほしかったです。

まぁ、大都会豊橋の熱意を感じてもらえれたらよかったなと。

やったこと

Startup Weekend では、初日、会場に入るときに(一応)役割を割り振られます。私は、「ハッカー」という役割でした。「機能の開発を担う」役割です。 なので、

ハッカーらしく開発をもくもくとしていました。 Bootstrap を使い構築したデモ用ウェブサイトをXamarin.Forms で構築した基盤の上でハイブリッドアプリとして動作させてデモアプリを作ったりしました。
途中で iOS の制限でhttps なURLでないと通信できなかったりして、にゃーんになりました。
隣にいた「IT企業に勤めているスーパーハッカー」に助けを求めたら、すぐに解決できたのでやっぱIT企業の人ってすごいなーと感じた。

一応、時間が少ないので自動化したいなと考えてました。自動化の仕組みとしては、 Github にウェブサイトのコードをホスティングして、継続的な配信(?)を使い、Github にコードをプッシュしたら、 Azure Web Apps にすぐに更新が行くようにしました。 ほかにもできたらよかった(技術力ェ

しかし、役割は一応です。「ある役割だから、そのことだけをしていればいいということはない」ので役割なんてあまり関係ないかなと。

街頭に出てアンケートをしました。 無視られたり、こわいお兄さんににらまれたり、自転車を止めようとした中学生に無理やりアンケートをしてもらったり、知ってる人に出会ったり とにゃーんでした。

また、最終プレゼンのする人もやりました。

主催者の Misoca の松本さんや元演劇部だった人に発声練習をしていただくことからしました。腹式呼吸難しい。
また、プレゼンの資料を作るのをチームの人に手伝っていただきました。たぶん、ネットにあるプレゼンのコツとかを見るより何倍も実践的で密度の高い学習になれたと思いました。

ほかにプレゼンの練習というわけではないですが、ちょまどさんエバンジェリストの澤さんMicrosoftのテクニカルイベントの De:code での発表を見て、いいところをパクりました。 とくに、ちょまどさんは視聴者のコンテキストを理解してのプレゼンなので、すごく参考になりました。うらやましい。。。

作ったビジネス的なの

誕生日にするサプライズのパッケージを届けるサービス

競合するサービスは存在しましたが、サプライズに特化したビジネスは見つかりませんでした。 まぁ、詳しい説明は、最終プレゼンの資料をご覧くださいってことで。

優勝要因

1. 目標がぶれなかった

ほかのチームは2日目や3日目でゴールを変更したりしてましたが、私のチームは最後までぶれなかったです。
いやゆる、「仕様変更のせいでデスマになる」ってやつですね。お互いが柔軟な思考回路をしてたからそこはうまくいったのかなと。    あと、チームリーダー的な人のやりたいことが細部まで詰めれていたので、それ通りに行動するだけでよかったとこがよかったと。

2. チームメンバーのバランスがよかった

Startup Weekend の運営的にはなんか役割を決めてましたが、現実的なやくわりとして、

  • 営業
  • 開発
  • デザイナー

に分けれて考えれると思います。 私たちのチームはこのうち、

  • 営業2人
  • 開発2人
  • デザイナー1人

といました。 バランスがいい!

デザイナーがチームに一人いるといいのは絶対だと思います。 チームのロゴや、最終プレゼンで、動画を使って表現を可能にしたりしました。 また、キャッチフレーズを考えるのが得意な方で、すごーい!

営業の方が2人いたというのもすごく重要で、1人だとおびえてしまう(かも)な場面でもいけるから。
しかも、一人は「豊橋松潤」という強烈なキャラクターがあるのもつよかった!

開発が自分含め、2人でした。もう一人の方は、SE的なことをして、自分はプログラマ的なことをしていました。
Startup Weekend はハッカソンではないですが、開発的な事をがりがりできたのは精神的によかったです。(そして、それを許容するチーム力!感謝!

3. 実際に販売まで行きついた。

「何事も完了しなければ評価されない」の法則がここでも適応された感じですね。 正直、今だから書きますがアンケートは全然取っていませんでした。商品を実際に作成し終えたぐらいに(それまでの一応アンケート結果は出てますが)アンケートの結果らしいものが実際に出ました。
また、私たちの商品的なのは、サプライズキットでした。
これを 実際に町へ出て売り、利益を得ました。 アンケートという町の人の声()より実際に売ったという事実の方が強かった感()

エピソード的なの

Xamarin でハイブリッドアプリの基盤を作ってたら、主催者の人に、 「エンジニアはつらくなるとすぐにプログラミングに走る」と言われました。
「わかる」

当日のタイムライン的なの

1日目

2/17(金)18:30 ぐらいに

トライアルビレッジ | 豊橋駅前の電源・wifiスポット – 豊橋駅前の快適仕事空間

に行って、チームビルディングをしました。

1日目は、別のチームに所属していました。銀行の人・頭のいいと言われている大学の人・コミュニティリーダーとかがいました。 なんか、すごく面白そうなことを狙っているようでしたが、頭の悪い自分にはよくわからなかったです。 たぶん、長期的な視点からするとここが強そうって感じでした。 けど、このチームにいたのは1日目だけでしたね。
まぁ、簡単に言うと、「音楽性の違い」的なやつですね。

2日目

朝、早めに出てたら、現在のチームの人がMacへ入っていったので一緒に入ってコーヒーをおごってもらいました。 そして、流れでそのチームに入ってた。

チームメンバーは、

  • Sier の人
  • 市役所の人
  • 大手自動車系企業の人

とかでした。いいよね~

初めて会った人ですが、スタートアップウィークエンドが終わったら関係ない人になるということで、好き勝手に意見を言わせてもらった。 逆に、好き勝手に意見を言えなければ参加した意味がなかった気もする。

コーチの人が、ペルソナを作成するときは、芸能人を想像するといいと言ってたのが印象的

2日目は主に作成をしました。 ほとんど完成してた。

3日目

最終日ということで、まずは、作った商品の実際に動画撮影をしました。

スタッフの人をだまして協力を得て撮影できました。 (ホント、スタッフってだけで体を張らせられるのつらそーw) おかげでいい動画を撮影することができました。

次の作業は、作成した商品を営業部隊が売りつつ、本部?では、先ほど撮った動画の編集と最終プレゼンの作成を進めていました。 実に難しかった。。。。

本番の発表の時は、尊敬している方々にプレゼンを見ていただいたりした。というか、緊張しすぎでアレ

最後に

スタートアップウィークエンドに参加して良い意味でも、悪い意味でも人生が変わったと思います。 人生でここまで真剣に何かに取り込めた経験はなかったと思います。

チームの力は偉大です… 本当にありがとう…

また、IT パスポートで出てきた SWOT 分析とかしてるチームがあったので自分もすればよかったと思いました。
ただ、リーンキャンバス?をチームで実践し計画を立てたのはよかったかなーと。

To be continue …

これからの応援よろしくお願いします!

www.amazon.co.jp

Windows 10 mobile で デバッグ実行時に DEP0001 : 予期しないエラー ってエラーメッセージが出た

UWP アプリ Windows 10 Mobile

エラー内容

DEP0001 : 予期しないエラー

やったこと

すでに Windows 10 Mobile にインストールされていた同名のアプリをアンインストールした

Xamarin.Forms で作ったUWP アプリを Windows Store に公開してみた~アプリパッケージの作成からストアへの申請まで~

Xamarin UWP アプリ 日記

若干、釣りタイトル。申請がどうなったのか待てないので実際は、 Xamarin.Forms で作ったUWPアプリをストアに申請してみたって言った方が正確です。

自己紹介

初めまして、大学一年生のくぅと言います。 C# と Xamarin が好きです。 まだまだ未熟ですが、色々吸収していきます。

やっていくこと

Xamarin.Forms で作成した UWP アプリを Windows Store に公開する。

環境

やったこと

Xamarin.Forms + UWP アプリを作成

まずは、公開するためのアプリを作成します。

Windows Store で公開するために、作成中のアプリと Windows Store 内のアプリを紐づける

ソリューションエクスプローラーの中にある UWP アプリのプロジェクトを右クリックし、アプリを Windows Store と紐づけるためのメニューを開きます。

https://lh3.googleusercontent.com/-IreBZEj8G5k/WJofrei9K1I/AAAAAAAAYOw/3ksV4yI-dqM/s0/devenv_2017-02-05_23-15-32.png

クリックするとアプリと Windows Store を紐づけることの説明が出てきます。

https://goo.gl/IBTxKm

Microsoft アカウントでログインするとすでに予約したアプリ名とすでにストアで公開しているアプリの一覧が表示されます。

https://goo.gl/ZC7u0Y

紐づけたいアプリ名を指定し、次へをクリックすると紐づけるアプリの確認ウィンドウが出るので関連付けをクリックします。

https://goo.gl/NKJsT8

Windows Store にアップロードするアプリパッケージの作成

自分の場合、アプリパッケージを作成する段階でアイコンに関するエラーが何回やっても解決できなかったことがあったので大変かも。(10回ぐらいチャレンジした) とはいえ、全部の症例と解決方法を書くにはこのブログは狭すぎるのでTwitterとかで質問を投げてください → Twitter

ソリューションエクスプローラー内にある UWP アプリプロジェクトを右クリックし、 アプリパッケージを作成するメニューを開く

https://goo.gl/FYDyAB

アプリパッケージを作成する最初のウィンドウが出てきます。ここでは次へをクリックします。

https://goo.gl/vL6dEm

アプリパッケージの出力先、version番号等を設定し次へをクリックします。

https://lh3.googleusercontent.com/-OBLlAG5GjP8/WJoiniPZTCI/AAAAAAAAYPk/Z9YEw3iWwNE/s0/2017-02-08_04-40-15.png

アプリパッケージの作成結果画面が表示されます。また、Windows アプリ認定キットを使って検証を開始することもできます。

どうせ、ストアの審査で Windows アプリ認定キットを使ってチェックされるのでローカル環境でもチェックしておきましょう。せっかく申請しても、ストアでリジェクトされてはつまらないです。

https://lh3.googleusercontent.com/-iyBQLGn5uXE/WJqDzX9uCfI/AAAAAAAAYSw/ASBxu-1ZhAk/s0/2017-02-08_11-34-52.png

Windows アプリ認定キットの検査項目は全部選んだ方がいいと思います。

https://lh3.googleusercontent.com/-9j9KmJEJt_4/WJojwIwvFbI/AAAAAAAAYQA/Vn-fNUE-Kj0/s0/appcertui_2017-02-07_22-44-08.png

Windows アプリ認定キットの検査しているときの画像

https://lh3.googleusercontent.com/-i_Ytb5hhMOc/WJoj4FnmmGI/AAAAAAAAYQE/oQuE54U9jYk/s0/appcertui_2017-02-07_22-44-13.png

Windows アプリ認定きっとの検査に無事通ることができました。

https://lh3.googleusercontent.com/-KXOQgJ2y61c/WJqD-XhuKVI/AAAAAAAAYS0/um1eOAZz65c/s0/appcertui_2017-02-07_22-47-26.png

Windows ストアの申請フォームを埋めて申請する

Windows Store のダッシュボードにアクセスしてください。

https://developer.microsoft.com/ja-jp/dashboard/apps/overview

https://goo.gl/nN6RC2

すでにアプリの名前を予約済みであればリストの中に予約した名前のアプリの欄が Not Started になっているのがあります。

もしなければ、ここで新しく名前を予約します。

予約済みの人は、 予約したアプリ名の欄をクリックして次の画面へ遷移します。

アプリの名前をまだ予約していないなら、先ほどアクセスしたウェブサイトの 新しいアプリを作成 のボタンをクリックしてください

https://goo.gl/4bNGAN

Windows Store のダッシュボード内でのアプリの名前の予約方法

https://goo.gl/qsL7dv

予約したいアプリの名前をテキストボックスにいれ、製品名の予約と書かれたボタンをクリックしてアプリ名の予約は完了です。

ここからは、アプリ名を予約した人も、予約してなかった人も同じ画面が表示されてるはずです。

https://goo.gl/IjXYRS

申請を開始ボタンをクリックしてください

https://goo.gl/nF7xup

アプリの生成に必要な欄を埋めていきます。

https://goo.gl/O2foql

価格と使用可能状況

基本価格

無料で公開するときは、無料 を選択してください

https://goo.gl/mWWxYW

それ以外は特に設定を変えなくてもいいかなと思います。 ページの下の方にある 保存のボタンをクリックしてください。

プロパティ

カテゴリとサブカテゴリ

自分の作成したアプリにあったカテゴリを選択すればいいです。ここで注意点ですが、ゲームカテゴリ以外を選択してアプリを公開するとあとからカテゴリを変更できないです。

https://goo.gl/epYxq1

それ以外はそれぞれのアプリにあった設定にしてください

年齢区分

ここでは、アプリの種類と年齢制限に関するアンケートみたいなのに答えればおkです。

パッケージ

ここでは、先ほど Visual Studio 上で作成したアプリパッケージのアップロードとどのデバイス(デスクトップ、ホロレンズ、XBOX 等)に公開するのかの選択をしてください。

https://goo.gl/L8McC3

https://lh3.googleusercontent.com/-0bElhkZbgj4/WJotqkTPcuI/AAAAAAAAYSQ/IFNRJbNwpT4/s0/2017-02-08_05-27-22.png

Windows Phone 8.1 のユーザーはいまだ多そうな印象ですが、今回は無視しました。

ストア登録情報

説明通りに書いていけば大丈夫です。 大変だったところは、プロモーション用のいろいろな解像度の画像を用意するところです。 また、スクリーンショットもここで必要になるので注意が必要です。

認定の注意書き

ここでは、アプリをMicrosoftの審査するひとが必要な情報等を書き込みます。例えば、Twitterクライアントを作るなら試すために必要になるアカウントのID・PSを書いてください。

以上が Windows Store へアプリを公開する方法でした。

https://lh3.googleusercontent.com/-LlwPQF5x_ao/WJotdIg5BRI/AAAAAAAAYSE/5buo5RadGVY/s0/ApplicationFrameHost_2017-02-08_04-18-43.png

審査の段階が1つ進んだ(‘◇’)ゞ

https://goo.gl/nYPdpB

まとめ

アイコンやプロモーション用の画像を用意するのが大変。。。

参考サイト

おすすめ書籍

個人的に読みやすく好きな本たちでした

かずきのXamarin.Forms入門

かずきのXamarin.Forms入門

.NET開発テクノロジ入門2016年版Visual Studio 2015対応版

.NET開発テクノロジ入門2016年版Visual Studio 2015対応版

.NET開発テクノロジ入門2016年版Visual Studio 2015対応版

.NET開発テクノロジ入門2016年版Visual Studio 2015対応版

Xamarin.Forms で Xaml に バインディングした DateTime を string に整形する

Xamarin.Forms Xamarin.iOS Xamarin.Android UWP アプリ

自己紹介

初めまして、大学一年生のくぅと言います。 C# と Xamarin が好きです。 まだまだ未熟ですが、色々吸収していきます。

やっていくこと

Xamarin.Forms で Xamlバインディングした DateTime を string に整形する

環境

Visual Studio 2015 Prism/Unity テンプレート

やったこと

まずは、Xaml に Datetime をバインディングを設定します。StringFormat='{0:mm:ss}' の部分がキーです。またカスタマイズしたいときは、mm:ss の部分を変更することで表示するもの(時間を表示するのかとか)を変更できます。

Xaml

<Label Text="{Binding Now, StringFormat='{0:mm:ss}'}" />

次に、ViewModel 側にそれに対応したDateTime オブジェクト型の変更通知してくれるプロパティを作ります。

ViewModel 側

private DateTime _now;

public DateTime Now
{
    get { return _now; }
    set { SetProperty(ref _now, value); }
}

public MainPageViewModel()
{
    Now = DateTime.Now;
}

実行してみた (UWP)

https://goo.gl/Of0JVk

実行してみた (Android)

https://lh3.googleusercontent.com/-eb2LMi0h4As/WJnfi75dnlI/AAAAAAAAYNM/34cxRrsvOso/s0/screenshot.jpg

実行してみた (iOS)

https://goo.gl/NktOBB

まとめ

DateTime オブジェクトをXamlバインディングするときに、ViewModel 側で毎回 String に整形してたけど、Xaml 側で String に整形できると汎用性とかがあがりそう。

参考サイト

https://forums.xamarin.com/discussion/18170/using-stringformat-in-binding-in-xaml

おすすめ書籍

個人的に読みやすく好きな本たちでした

かずきのXamarin.Forms入門

かずきのXamarin.Forms入門

.NET開発テクノロジ入門2016年版Visual Studio 2015対応版

.NET開発テクノロジ入門2016年版Visual Studio 2015対応版

VS2015 を使っている人が Microsoft.NETCore.UniversalWindowsPlatform を 5.3 にアップデートしてはいけない

UWP アプリ Visual Studio NETCORE

自己紹介

初めまして、大学一年生のくぅと言います。 C# と Xamarin が好きです。 まだまだ未熟ですが、色々吸収していきます。

環境

Visual Studio 2015 Enterprise

前置き

ついつい、アップデートしたくなる。。。

https://goo.gl/bJEci6

アップデートしてしまうと。。。

1>C:\Users\{UserName}\.nuget\packages\Microsoft.Net.Native.Compiler\1.6.0\build\Microsoft.Net.Native.Compiler.targets(37,5): error : The Microsoft.Net.Native.Compiler package, included in Microsoft.NETCore.UniversalWindowsPlatform 5.3 and later, is only supported in Visual Studio 2017 and later. You can downgrade the version of the Microsoft.NETCore.UniversalWindowsPlatorm NuGet package to 5.2.* or earlier for Visual Studio 2015.

ようするに、

Microsoft.NETCore.UniversalWindowsPlatform 5.3 は Visual Studio 2017 以降しかサポートしませんよ!ってこと

まとめ

Visual Studio 2017 が出るのを待ちましょうね!って感じの記事でした。

5.3 に上げないと修正されないバグがあるっぽくて困るんだよな…

Xamarin.Android/Xamarin.Forms で"@(Content) build action is not supported" って警告メッセージが出た時の対処法

Xamarin.Forms Xamarin Xamarin.Android

自己紹介

初めまして、大学一年生のくぅと言います。 C# と Xamarin が好きです。 まだまだ未熟ですが、色々吸収していきます。

やっていくこと

Xamarin.Android/Xamarin.Forms で"@(Content) build action is not supported" って警告メッセージが出た時の対処法について書く

やったこと

Visual Studio のXamarin.Android のプロジェクトに入っている AndroidManifest.xml のプロパティのビルドアクションをなしに変更した

具体的に

Xamarin.Android 内のプロジェクトにはいっている AndroidManifest.xml を選択している写真

https://goo.gl/4YkQmZ

Xamarin.Android 内のプロジェクトにはいっている AndroidManifest.xml のプロパティ画面

https://goo.gl/4GhxDr

ビルドアクションを無しにしている画面

https://goo.gl/obtrEW

まとめ

画像ファイルとかでよくこの警告を出してしまっていたが、 AndroidManifest.xml にも応用できるとは知らなかった。

参考サイト

おすすめ書籍

個人的に読みやすく好きな本たちでした

かずきのXamarin.Forms入門

かずきのXamarin.Forms入門

.NET開発テクノロジ入門2016年版Visual Studio 2015対応版

.NET開発テクノロジ入門2016年版Visual Studio 2015対応版

Xamarin.Forms の label 要素のタップイベントをMVVMで使いやすくできないか調べてみた

Xamarin Xamarin.Forms

自己紹介

初めまして、大学一年生のくぅと言います。 C# と Xamarin が好きです。 まだまだ未熟ですが、色々吸収していきます。

やっていくこと

前回は、 Xamarin.Forms の label 要素のタップイベントを検出する  を見ていきました。

今回は、MVVM、Prism で使えるように Command で使えないか調べてみた記録です。

やったこと

前回は、Label クラスの中にある cs Label.GestureRecognizers を使ってタップイベントをとれるようにしました。 今回は、さらに label.GestureRecognizers クラスの Command を使ってMVVMで使えるように少し改造してみました。

サンプルコード

<Label Text="Hello Xamarin"FontSize="128">a
    <Label.GestureRecognizers>
        <TapGestureRecognizer Command="{Binding ShowDialog}"></TapGestureRecognizer>
    </Label.GestureRecognizers>
</Label>

まとめ

GestureRecognizers クラスは便利、しかもMVVMでも使いやすい

参考サイト

forums.xamarin.com

おすすめ書籍

個人的に読みやすく好きな本たちでした

かずきのXamarin.Forms入門

かずきのXamarin.Forms入門

.NET開発テクノロジ入門2016年版Visual Studio 2015対応版

.NET開発テクノロジ入門2016年版Visual Studio 2015対応版