投稿

Podrestローンチ

イメージ
ネット上の記事をpodcastにして聞くサービス。読みたい記事は多くあり、ブラウザのタブが増え続けるので、単純作業やランニング中に聞いて消化することにした。これまでにもMVPはあったが、なかなかユーザーからのフィードバックを集めづらかったので、デザインをきれいにした。 https://www.getpodrest.com/   トップページ 変換ページ 記事ページ

HSK4級対策はじめた。

最近中国語が伸び悩んでいる気がして、HSK4級を受けることにした。来月上旬の試験をうけようかと思ってる。昨日初めて過去問解いたが、リスニングと筆記はぼろぼろで、およそ100/300点。合格には180点が必要。本当は5級に挑戦しようかなと思っていたけど、過去問を解いて身の程を知ったところで4級にした。5級は間に合わない。一ヶ月で点数を2倍に上げないといけない。第一にリスニング、第二に筆記に重点を置いて対策していこうと思う。とりあえず、リスニング対策本を買った。過去問と平行して繰り返していこうと思う。筆記は、例文を200個ぐらい覚えて作文練習すればいいかと思っている。

webの記事をpodcastにするプロジェクトを開始した。

イメージ
 ランニング中に聞くものとして、podcastやaudio booksなどを聞いていたが、読みたいのに積読になっている記事もたくさんあるので、音声に変換して消化することにした。 検証1: 決済リンクを送ってほしい人を募るGoogle FormをのせたLPで支払う人が出てくるか。いたら、インタビューの予定だった。 他にもお金払ってまで同じことをしてほしいと思っている人がいるかもしれないと思い、1日ほどでLP作り、自分が読みたい記事を変換して作ったpodcastと料金を載せて、いくつかのコミュニティに載せた。Get startedを押すと、Google Formに飛び、「メールアドレスを入力したら決済リンクが送られます」と書いた。4人がFormから投稿してくれたので、Stripeで決済リンクと、Calendlyでインタビューのお願いを書いたメールを送ったが、音沙汰がなかった。また、他の人からは、無料だと思ったのにリンク押したら有料だとわかって嫌な気分とも言われた。 結果1: 誰もお金を支払わず。LPが不親切だとわかる。ユーザーの言動についてはあまり学べず。インタビューは一人。TTSは使うけどpodcastにしようとは思わないとのことだった。 検証2: 決済リンクがホームページにあれば支払う人がいるかもしれない。 決済リンクをLP[上記画像]から飛べるようにした。1000円払って4日間facebook広告を打った。先述のコミュニティに投稿するには、まだ時間が経ってなさすぎると判断した。およそ1000人が見て8人がクリックした。誰も支払う人が出てこなかった。 いただいた意見としては、試してみたいけど試してみることができない、フリーミアムにはしないのかと言われた。 この頃、Twitterやさまざまなコミュニティでユーザーインタビューをできる人を探していたが、3人ほど終えていた。既存ツールの存在や、その不便さなどを聞くことができた。この時点ではTTSを試して記事を聞こうとしてきた人たちにインタビュー対象を絞っていた。podcastやオーディオブックを聞く人たちはたくさん見つかったが、ネット上の記事を機械に読み上げさせて聞く人を見つけるのはとても大変だった。ただ、そのような人たちが少ないがいて、中には試行錯誤している人もいることは確認はできた。 結果2: 誰もお金を支払わず。イン

「世界で一番ゴッホを描いた男」を観た

ゴッホを観たこともなく、ひたすらネットや本で観たゴッホの贋作を描き続けてきた男性。彼が実際にアムステルダムへ行き、ゴッホの絵を見て、何を思うのか。 とてもいいドキュメンタリーだった。次に大芬村に行くことがあったら、彼のアトリエに寄ってみたい。

FlutterでFirebase Authenticationをlistenする方法

 https://firebase.google.com/codelabs/firebase-get-to-know-flutter#4 こちらのページにあるように、Providerでuserのstateを監視しておくのがよさそう。

Reactでarrayのstateを更新する

 新しいobject (おそらく新しいアドレス)を渡さないといけないっぽい。 つまり、 setState(prev => {   return [   ...prev.slice(0,4),   ...0,   ...prev.slice(6), ] }) のように渡さなければならない。 次の書き方は正しくstateがupdateされない。 setState(prev => {   prev[5] = 0   return prev })

FirebaseとFlutterで電話番号認証を開発するときはAndroid Device Check APIを有効にすることが必要

FlutterとFirebaseを使った電話番号認証の開発方法の ドキュメント 。こちらには、 Android Device Check API を有効にするという記述が抜けてる。 詳しくは、 こちら 。ただし、Google Playで配信するわけではないのなら、話は別。