top of page

Project Y DAY6|写真を選べる。その一歩が意外と大きい

執筆者の写真: projecty0708
projecty0708
9月13日
読了時間: 4分

Project Y、DAY6。


前日までにワインアプリの方向性が少しずつ固まり始め、この日はより具体的な実装へ進んだ。


今日の中心は、スマホの中から写真を選べるようにすること。


言葉にすると、それだけ。今なら当たり前に感じる機能だけれど、初めてアプリを作っている側からすると、この「それだけ」が意外と簡単ではない。


写真を選ぶ。選んだ画像をアプリに渡す。画面に表示する。そして将来的には、その画像をAIに解析させる。


ワインアプリにとっては、ここが入口になる。


Photo Pickerを入れる


まず取り組んだのは、AndroidのPhoto Picker。ユーザーがスマートフォン内の画像を選び、その画像をアプリで扱えるようにする機能だ。


AIワイン説明アプリでは、次の流れを考えている。


  1. ワインラベルの写真を選択する

  2. AIが解析する

  3. 結果を表示する


だから画像選択は、単なる便利機能ではない。アプリ全体のスタート地点だ。


ここが動かなければ、その先のAI解析にも進めない。


画像表示のためにCoilを導入


画像を選べるようにするだけでは足りない。選択した画像をアプリ上に表示する必要がある。


そこで導入したのが、Androidで画像を扱うためのライブラリ「Coil」。


ここで少しずつ、「必要な機能を全部自分で一から作るのではなく、既存のライブラリを利用して組み立てていく」というアプリ開発の感覚も分かり始めた。


ただし当然、入れれば終わりではなかった。


GradleとKotlinに止められる


ライブラリを追加すると、今度は別の問題が出てくる。Gradle、Kotlin、バージョン、依存関係。


初心者からすると、「写真を表示したいだけなのに、なんでこんなところを直しているんだ?」という世界である。


実際、この日はKotlinのバージョン不一致にも遭遇した。


コードそのものではなく、開発環境同士の組み合わせが合っていないために動かない。こういう問題も、アプリ開発では普通に起こるらしい。


最初はエラーが出るたびに、「また壊したか?」と思う。


でも少しずつ、エラーは失敗ではなく、次に直す場所を教えてくれているだけ、という感覚にもなってきた。


画像表示の土台まで完成


試行錯誤しながら、この日は次のところまで進んだ。


  • Photo Pickerの導入

  • Coilの導入

  • Gradleのライブラリ設定

  • Kotlinのバージョン不一致の修正


そして最終的に、写真を選択して表示するための土台までは完成した。


ただし、この日の時点ではエミュレーター上で画像が表示されず、完全な動作確認まではできなかった。


つまり、機能として完成したわけではない。でも、昨日より確実に前へ進んでいる。


このくらいでいい。


「完成しなかった日」も進捗


開発を始める前は、一日の最後に何か一つ完全に完成していなければ、進んだ気がしないと思っていた。


でも実際は違う。


  • 原因を一つ潰す

  • 環境を整える

  • 必要なライブラリを入れる

  • 次回すぐ再開できる状態まで持っていく


それも立派な進捗だった。


むしろ毎回全部終わる方がおかしい。初めて触るものばかりなのだから、問題が出るのは当然だ。


このProject Yでは、止まらなければいい。少しでも前へ進めば、その日の作業は資産として残る。


CommitとPush


この頃から、作業が終わったらGitでコミット(Commit)とプッシュ(Push)をする流れも作り始めた。


以前なら、「保存したから大丈夫」くらいの感覚だった。


でもアプリ開発では、変更履歴を残しておけば、何を変更したのか確認できる。問題が起きても戻れるし、別の日でも続きから始めやすい。


開発そのものだけでなく、開発を続けるための仕組みも少しずつ作り始めていた。


アプリの後はRONIN


そしてProject Yは、アプリだけではない。その日のアプリ作業を終えたら、Unreal Engineを触る。


Project RONINは、自分にとって仕事というよりご褒美に近い。


アプリで頭を使ったあとに、ゲームの世界を作る。この切り替えが意外とちょうどいい。


全部を義務にすると続かない。だから、作業と遊びの境界が少し曖昧なくらいがちょうどいい。


Project Y自体を長く続けるには、そういう設計も必要なのかもしれない。


DAY6まとめ


DAY6は、大きなサービスを公開した日ではない。売上が出たわけでもない。


写真を選択して表示する。その入口を作っていただけだ。


それでも、この一歩がなければワインラベルのAI解析には進めない。


小さな部品を一つずつ作る。問題が出たら一つずつ直す。終わったらコミットしてプッシュする。そして翌日、また続きをやる。


派手さはない。でもたぶん、ものづくりはこういう日の積み重ねなんだと思う。


Project Y、DAY6。


ワインをAIに解析させるための「入口」が、少しだけ形になった。

 
 
 

最新記事

すべて表示
Project Y DAY5|売るのはアプリじゃなく「時間」なのかもしれない

Project Y、DAY5。 この頃はまだ、ひとつの完成した事業を一直線に作っているというより、「何が商品になるのか」「自分には何が作れるのか」を探している段階だった。 Uberで配達をしながら考え、帰宅してからアプリを触る。 アプリ開発だけでなく、ワインアプリ、ゲーム企画のProject RONIN、YouTube、3D制作など、興味のあるものをかなり広く試していた。 一見すると、ずいぶん散ら

 
 
 
Project Y DAY4|完璧じゃなくていい。まず完成させることが一番強い

何かを作り始めると、どうしても気になるところが出てきます。 デザインをもう少し良くしたい。 文章をもっと読みやすくしたい。 機能をもう一つ追加したい。 3Dモデルの形が少し気になる。 やればやるほど、「ここも直したい」が増えていきます。 もちろん、良いものを作ろうとすることは大切です。 でも最近、ものづくりを続けながら強く感じることがあります。 それは、 完璧を目指しすぎると、いつまで経っても完成

 
 
 
Project Y DAY3|AIに任せれば楽になる? 実際に使って分かった「仕事の形が変わる」ということ

「AIを使えば、仕事をほとんど任せられる」 最近はそんな言葉を目にする機会も増えました。 文章を書いてもらう。 画像を作ってもらう。 プログラムを書いてもらう。 Webサイトを作ってもらう。 確かに、少し前なら一人では難しかったことが、今では驚くほど簡単に始められます。 Project Yでも、AIを使いながらアプリ開発、Webサイト、3D制作、動画など、いろいろなものを作っています。 では、実際

 
 
 

コメント


bottom of page