tag:crieit.net,2005:https://crieit.net/tags/%E5%80%8B%E4%BA%BA%E9%96%8B%E7%99%BA/feed 「個人開発」の記事 - Crieit Crieitでタグ「個人開発」に投稿された最近の記事 2023-07-29T05:35:55+09:00 https://crieit.net/tags/%E5%80%8B%E4%BA%BA%E9%96%8B%E7%99%BA/feed tag:crieit.net,2005:PublicArticle/18544 2023-07-29T05:35:55+09:00 2023-07-29T05:35:55+09:00 https://crieit.net/posts/Nuxt3-Cloudflare-GooglePlay-64c426ab215c8 【個人開発】アイデア出しから公開・プロモーションまでまとめ(Nuxt3、Cloudflare、GooglePlay) <h1 id="1. はじめに"><a href="#1.+%E3%81%AF%E3%81%98%E3%82%81%E3%81%AB">1. はじめに</a></h1> <p>個人開発の大体の流れがつかめるように、アイデア出しから公開・プロモーションまでをまとめました。</p> <h2 id="1-1. 作ったアプリ"><a href="#1-1.+%E4%BD%9C%E3%81%A3%E3%81%9F%E3%82%A2%E3%83%97%E3%83%AA">1-1. 作ったアプリ</a></h2> <p><a target="_blank" rel="nofollow noopener" href="https://lisble.net/about/"><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/906025/2eb38bfc-0efc-d719-9baa-d0967308e507.png" alt="シンプルな買い物リスト-lisble リスブル" width="350"></a></p> <div class="table-responsive"><table> <thead> <tr> <th>About</th> <th>List</th> <th>History</th> </tr> </thead> <tbody> <tr> <td><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/906025/01ff7a29-9672-8717-161b-807bfd85f014.png" alt="Aboutページのスクリーンショット.png" width="120" height=""></td> <td><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/906025/1e53b87e-f6d3-8ef8-8646-f66b8c02dbb2.png" alt="リストページのスクリーンショット" width="120" height=""></td> <td><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/906025/64e97b97-f950-2f48-e346-63a506643401.png" alt="履歴ページのスクリーンショット" width="120" height=""></td> </tr> </tbody> </table></div> <div class="table-responsive"><table> <thead> <tr> <th></th> <th>基本操作</th> </tr> </thead> <tbody> <tr> <td>① <strong>リスト作成</strong> ② <strong>買い物完了でチェック</strong> ③ <strong>チェック済みを削除</strong> ※これらの手順だけで簡単操作</td> <td><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/906025/33bc7e8d-e258-bdbd-85e4-affb6c585cd9.gif" alt="買い物リスト-lisble リスブルの基本操作" width="160" ></td> </tr> </tbody> </table></div> <p><strong>『<a target="_blank" rel="nofollow noopener" href="https://lisble.net/about/">買い物リスト・メモ - Lisble リスブル</a>』</strong><br /> <div class="table-responsive"><table> <thead> <tr> <th>iOS,PC</th> <th>Android</th> </tr> </thead> <tbody> <tr> <td><a src="https://lisble.net/about/" target="_blank" rel="noopener noreferrer" ><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/906025/992c120a-33bd-48d1-93cd-d97fde42d22c.png" alt="シンプルな買い物リスト-lisble リスブル" width="250"></a></td> <td><a src="https://play.google.com/store/apps/details?id=net.lisble.twa" target="_blank" rel="noopener noreferrer" ><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/906025/f92cdde6-21d1-2d3f-b8bf-9fb72a74abde.png" width=230 alt="googlePlayバッジ" ></a></td> </tr> <tr> <td>iOS,PCの方は、PWAの為、メニューから <strong>「ホーム画面に追加」</strong> をお願いします。</td> <td>このアプリは Google Play で入手できます。</td> </tr> </tbody> </table></div></p> <h1 id="2. 0から公開までの流れ"><a href="#2.+0%E3%81%8B%E3%82%89%E5%85%AC%E9%96%8B%E3%81%BE%E3%81%A7%E3%81%AE%E6%B5%81%E3%82%8C">2. 0から公開までの流れ</a></h1> <h2 id="2-1. アイデア"><a href="#2-1.+%E3%82%A2%E3%82%A4%E3%83%87%E3%82%A2">2-1. アイデア</a></h2> <p>1番大事だけど一番頭を悩ませました。<br /> 新しいものか、既存のサービスでの差別化の二択で、はじめてということで後者にしてしまいました。<br /> これからもアンテナをはって次につなげたいです。</p> <p><strong>アイデアの出し方</strong><br /> * とにかく紙に書く<br /> * 不満・面倒・悩み・困っていること<br /> * 人間観察(周りの人)・他業種の業務課題<br /> * 真似 → シンプル化・別分野へ応用・既存のサービスの不満解消<br /> * 海外のサービス調査<br /> * ニッチ・マニアック(自分の強み・趣味)<br /> * 合体・逆</p> <p>既存のサービスの発展系か、何かの組み合わせか<br /> 思いついたらメモ 📝</p> <p><strong><em>参考サイト</em></strong><br /> <a target="_blank" rel="nofollow noopener" href="https://shuheblog.com/programing-app-idea-creative">アプリ開発でアイデアが浮かばないあなたへ。独創的なアイデアの出し方</a><br /> <a target="_blank" rel="nofollow noopener" href="https://qiita.com/MasatoraAtarashi/items/eec4642fe1e6ce79304d">ポートフォリオや個人開発で使えそうなアイデア</a></p> <h2 id="2-2. 要件定義"><a href="#2-2.+%E8%A6%81%E4%BB%B6%E5%AE%9A%E7%BE%A9">2-2. 要件定義</a></h2> <p><strong>①要件(こうだったらいいな)</strong><br /> * 出来る、出来ないを考えずあげていく</p> <p><strong>②要件の為の機能</strong><br /> * ここで出来る、出来ないを考える<br /> * 最低限必要な機能を絞る<br /> * 実装方法が思いつかない機能は省略</p> <hr /> <ul> <li>出先で「あれあったかな❓」を解決したい → 買い物履歴を残して最近買ったものをわかるようにする機能</li> <li>在庫の把握・重複購入を減らしたい → 買い物履歴から同じ単語入力時に色の変化で知らせる → 入力中に知らせることにより在庫を思い出すきっかけにもなる<br /> etc...</li> </ul> <p><strong>③出来ればマネタイズも考える</strong><br /> 1. <strong><em>広告</em></strong>:アフィリエイト、AdSense(web)、AdMob(アプリ)<br /> 2. <strong><em>課金</em></strong>:広告削除、追加コンテンツ、アイテム<br /> 3. <strong><em>寄付</em></strong><br /> 4. <strong><em>有料</em></strong>:買い切り<br /> 5. <strong><em>サブスク</em></strong>:月額制</p> <p>とにかく一連の流れを経験したく、マネタイズまでの道のりが見えたのが本アプリ案で、結果Amazonアソシエイト、AdSenseになりました。<br /> AdSenseは受かりませんでした。継続して挑戦します。</p> <p><strong>④利用技術</strong><br /> 🔑 <strong><em>ログイン・ユーザー登録無し</em></strong>、、広告も可でとにかく<strong><em>お金をかけずに</em></strong>を優先して、SPAで制作することにしました。<br /> - GooglePlay Developer 申請・登録25ドル(当時3,352円)<br /> - 独自ドメイン Xserverドメイン 初年度のみ1円<br /> - 更新、移管はCloudflare予定</p> <p><strong><em>アイデア・デザイン</em></strong><br /> Xmind(マインドマッピング)<br /> Figma<br /> <strong><em>コード</em></strong><br /> Nuxt3(Composition API)・TypeScript・Tailwind CSS<br /> <strong><em>インフラ</em></strong><br /> Cloudflare<br /> <strong><em>開発環境</em></strong><br /> VSCode・Git、GitHub</p> <p><strong><em>参考サイト</em></strong><br /> <a target="_blank" rel="nofollow noopener" href="https://tenshoku-miti.com/takahiro/create-original-application/">【5ステップ】初めてのオリジナルアプリの作り方!アイデアの出し方も公開</a></p> <h2 id="2-3. 設計"><a href="#2-3.+%E8%A8%AD%E8%A8%88">2-3. 設計</a></h2> <p><strong>①画面設計</strong><br /> 1. 必要なページ列挙 ➡ 階層・整理<br /> 2. ワイヤーフレーム(紙手書き)下書き<br /> 3. ワイヤーフレーム(figma)清書</p> <p><strong><em>参考サイト</em></strong><br /> <a target="_blank" rel="nofollow noopener" href="https://b-risk.jp/blog/2019/10/wireframe/">ワイヤーフレーム(画面設計)の作り方</a><br /> <a target="_blank" rel="nofollow noopener" href="https://aqcg.jp/web_point/">Web画面設計の手順と重要なポイント</a></p> <p><strong>デザインの4原則</strong><br /> 1. 「<strong><em>近接</em></strong>」:関連する要素を<strong><em>グループ化</em></strong><br /> 2. 「<strong><em>整列</em></strong>」:関連する要素を<strong><em>見えない線</em></strong>で整列<br /> 3. 「<strong><em>反復</em></strong>」:要素の<strong><em>一貫性</em></strong>、デザインの<strong><em>統一</em></strong><br /> 4. 「<strong><em>対比</em></strong>」:要素の優先度を<strong><em>強弱</em></strong>で示す</p> <p><strong><em>参考サイト</em></strong><br /> <a target="_blank" rel="nofollow noopener" href="https://designpartner.jp/principle/#:~:text=%E3%80%8C%E3%83%87%E3%82%B6%E3%82%A4%E3%83%B3%E3%81%AE4%E5%8E%9F%E5%89%87%E3%80%8D%E3%81%AF,%E3%82%B7%E3%83%BC%E3%83%B3%E3%81%A7%E3%82%82%E5%BD%B9%E7%AB%8B%E3%81%A4%E3%81%A7%E3%81%97%E3%82%87%E3%81%86%E3%80%82">お役立ち知識:デザインの4原則 - デザインパートナー</a></p> <p><strong>②データ設計(構造)</strong><br /> * データの設計図</p> <h2 id="2-4. 開発"><a href="#2-4.+%E9%96%8B%E7%99%BA">2-4. 開発</a></h2> <ul> <li>設計通りに作る</li> <li>最低限の機能</li> <li>制作途中で機能の追加案を我慢して、とにかく完成させることに集中する(追加の機能を制作してしまいました。なのでここに残しておきます。)</li> </ul> <p><strong>①工夫した機能</strong><br /> - <strong>並べ替え(D&D)・スワイプ機能</strong>をライブラリ(Vue.Draggableは、思うような機能にならなかった)を使用せずに作成<br /> - ↳シンプル化のため、<strong>同じ発火点</strong>で、<strong>参考サイト様</strong>(<a target="_blank" rel="nofollow noopener" href="https://reffect.co.jp/vue/trello-drag-drop-clone/">Trello風タスク並び替えドラッグ&ドロップクローン(Vue.js利用)</a>)を参考に、【<strong>マウス、タッチ、処理回数削減、d&dとswipeの融合、グループ間並べ替え、d&d中の上下の画面端scroll</strong>】ロジックを考え自作しました。</p> <div class="table-responsive"><table> <thead> <tr> <th>並び替え機能</th> <th>スワイプ</th> </tr> </thead> <tbody> <tr> <td><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/906025/30495dd3-fec4-c791-cb39-a1c09f78003d.gif" alt="買い物リスト-lisble リスブルの並べ替え動作" width="150" height=""></td> <td><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/906025/cb611a1f-9124-472b-1a26-b7c4f53f8ecc.gif" alt="買い物リスト-lisble リスブルのスワイプ動作" width="150" height=""></td> </tr> <tr> <td></td> <td>←<strong>色</strong>  →<strong>削除</strong>※タッチデバイスのみ</td> </tr> </tbody> </table></div> <ul> <li>スマホとPCの<strong>挙動の違い</strong>など(ENTER、終了時の処理...)</li> <li>日本、世界の<strong>日時の表示形式</strong>(履歴)</li> <li>Amazonアソシエイトの各国の設定(<strong><em>OneLink</em></strong>)</li> <li>アニメーション(数字のドラムロール、追加削除時...)etc...</li> </ul> <p><strong>②多言語化(i18n)</strong><br /> <strong>@intlify/nuxt3</strong>使用<br /> 日/英で単語の長さの違いによる表示崩れに注意</p> <hr /> <p><strong><em>未解決問題</em></strong><br /> 日本語で検索時、検索結果が英語サイトのtitleとdescriptionになってしまう問題(同じURLで 日/英 にしたい)</p> <p><strong><em>確認</em></strong><br /> meta tagの設定(title、description等)日/英 切替時にきちんと切り替わっている。</p> <p><strong><em>↓ためしたこと↓</em></strong><br /> - <a target="_blank" rel="nofollow noopener" href="https://zenn.dev/koushikagawa/articles/32ef098e0698c7">Nuxt.jsのi18n多言語対応したら、日本語で検索した時の検索結果が英語になってしまった。解決できたので対応方法を記載します。</a><br /> - <strong>@intlify/nuxt3</strong> で <code>detectBrowserLanguage: false,</code>にあたる設定がない??<br /> - sitemapの設定 (hreflang属性)<br /> - Google Search Consoleに日/英を認識させる方法??...<br /> - (2023年7月) Nuxt3での多言語化はまだ開発中らしいので情報待ち🍥 → <a target="_blank" rel="nofollow noopener" href="https://github.com/intlify/nuxt3">intlify/nuxt3: Nuxt 3 Module for vue-i18n-next</a></p> <hr /> <p><strong>③プライバシーポリシー</strong><br /> <strong><em>参考サイト</em></strong><br /> <a target="_blank" rel="nofollow noopener" href="https://biz.moneyforward.com/contract/basic/1237/">プライバシーポリシーとは何か?必要性、記載事項をわかりやすく解説</a></p> <p><strong>④テスト</strong><br /> - 個人情報を扱っているなら、徹底的に安全確認<br /> - 例外処理</p> <h2 id="2-5. 公開"><a href="#2-5.+%E5%85%AC%E9%96%8B">2-5. 公開</a></h2> <p><strong>①(SPA SSG) 静的ファイルホスティングサービス【無料】</strong><br /> 1. GitHub Pages<br /> 2. Firebase Hosting<br /> 3. Netlify<br /> 4. Vercel<br /> 5. <strong><em>Cloudflare Pages</em></strong></p> <p>無料プランの枠・サイトのパフォーマンス・商用利用可で<strong><em>Cloudflare Pages</em></strong></p> <p><strong><em>参考サイト</em></strong><br /> <a target="_blank" rel="nofollow noopener" href="https://zenn.dev/catnose99/scraps/6780379210136f">Cloudflare Pages・Vercel ・Netlify の違いや使い分けをまとめる</a><br /> <a target="_blank" rel="nofollow noopener" href="https://jpsern.com/netlify-to-cloudflare-pages/">NetlifyからCloudflare Pagesに引っ越しました</a></p> <p><strong>②Google Play Store 配信方法</strong><br /> <strong><em>PWA → TWA</em></strong><br /> * TWA変換ツール「<strong><em>Bubblewrap CLI</em></strong>」使用<br /> * Lighthouse で <strong><em>80</em></strong> 以上のパフォーマンス スコアが必要(↓に記述)</p> <p><strong><em>参考サイト</em></strong><br /> <a target="_blank" rel="nofollow noopener" href="https://flaming.codes/ja/posts/trusted-web-activity-create-pwa-android-app">信頼できるWebアクティビティ</a><br /> <a target="_blank" rel="nofollow noopener" href="https://0115765.com/archives/7932#outline__2_2">【TWA】完全開発ガイド=超簡単にPWAをPlay Storeで配信しよう</a><br /> <a target="_blank" rel="nofollow noopener" href="https://sqripts.com/2022/12/14/22480/">PWA対応サイトをAndroid APK(AAB)に変換する</a></p> <p><strong>③Lighthouse のパフォーマンス改善(リファクタリング)</strong><br /> - <strong><em>cssの最適化</em></strong> → 読み込み順、削除、animation(<code>transform</code>,<code>opacity</code>...)etc...<br /> - <strong><em>googleFonts, Analytics</em></strong> → GTM使用、読み込むタイミング、読み込み方、文字の限定etc...<br /> - <a target="_blank" rel="nofollow noopener" href="https://deep-space.blue/web/2090">【2022年3月】Google Fontsのパフォーマンス比較&ハリー・ロバーツ方式の勝手に改良版</a><br /> - <a target="_blank" rel="nofollow noopener" href="https://nullnull.dev/blog/google-fonts-subset/#%F0%9F%8F%A9______________________%F0%9F%91%A8%F0%9F%91%A9">Google Fontsを簡単にサブセット化する方法</a><br /> - <strong><em>Web Worker</em></strong> → 並列処理 <a target="_blank" rel="nofollow noopener" href="https://note.com/npaka/n/nc930b61840ac">Web Workerの使い方</a><br /> - <code>requestAnimationFrame()</code> → 「60fps」 <a target="_blank" rel="nofollow noopener" href="https://www.webdesignleaves.com/pr/jquery/requestAnimationFrame.html">requestAnimationFrame の使い方</a><br /> etc...</p> <p>Mobile :arrow_down:<br /> <img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/906025/ea2d91d0-76be-ff81-0c8f-ee55669bf1e6.png" alt="Lighthouseモバイルのスコア" width="500" height=""><br /> Desktop :arrow_down:<br /> <img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/906025/23080b76-e970-9ecb-b92d-3f873b2878e7.png" alt="Lighthouseデスクトップのスコア" width="500" height=""></p> <h2 id="2-6. リリース後"><a href="#2-6.+%E3%83%AA%E3%83%AA%E3%83%BC%E3%82%B9%E5%BE%8C">2-6. リリース後</a></h2> <p><strong>①掲載用スクリーンショット、画像作成</strong><br /> * figma制作<br /> * サイトにより、サイズ、比率、枚数、が異なる</p> <p><strong>②登録サイトに投稿/掲載依頼</strong><br /> 当たって砕けろ、チャレンジ精神で色々掲載依頼を出してみた結果です。<br /> <a target="_blank" rel="nofollow noopener" href="https://zenn.dev/yamatake/articles/b93d87ed134f31">個人開発者に告ぐ!「告知=恥ずかしい」を脱却しよう~実例データから重要性を解説</a></p> <p><strong><em>登録or掲載</em></strong> → 🎉<br /> メール・問い合わせ反応待ち → 📧<br /> 更新が止まっているサイトが多い</p> <p><strong>日本</strong><br /> - <a target="_blank" rel="nofollow noopener" href="https://app-liv.jp/5347459/"><strong><em>Appliv</em></strong></a> → 🎉 <strong><em>レビュー</em></strong>、とても丁寧な対応 :thumbsup:<br /> - <a target="_blank" rel="nofollow noopener" href="https://applion.jp/android/app/net.lisble.twa/"><strong><em>APPLION</em></strong></a> → 🎉 ランキング<br /> - <a target="_blank" rel="nofollow noopener" href="http://houkago-no.appspot.com/app_detail/6278466848686080"><strong><em>放課後アプリ部</em></strong></a> →🎉 登録<br /> - <a target="_blank" rel="nofollow noopener" href="https://applishow.com/detail/DsL3Q4b5hxxm/"><strong><em>Applishow</em></strong></a> → 🎉 登録<br /> - <a target="_blank" rel="nofollow noopener" href="https://www.approom.me/app/01H2J1N7SXF5JSH8ZMMDMGBF2V?platform_id=2"><strong><em>AppRoom</em></strong></a> → 🎉 登録 <a target="_blank" rel="nofollow noopener" href="https://www.approom.me/articles/01H2JGWJ3K3J72WVN7EJT5CKYD"><strong><em>アプリ記事掲載</em></strong></a><br /> - <a target="_blank" rel="nofollow noopener" href="https://seekups.seekgeeks.net/views/detail.html?id=712"><strong><em>SeekUps</em></strong></a> → 🎉 登録<br /> - <a target="_blank" rel="nofollow noopener" href="https://rrws.info/archives/3197"><strong><em>ロケットリリース</em></strong></a> → 🎉 登録<br /> - <a target="_blank" rel="nofollow noopener" href="https://appstimes.jp/posts/2991"><strong><em>Appstimes</em></strong></a> → 🎉 登録<br /> - <a target="_blank" rel="nofollow noopener" href="https://anymake.app/products/kAjQm0f6tswHGaKTd0G5"><strong><em>AnyMake</em></strong></a> → 🎉 登録<br /> - <a target="_blank" rel="nofollow noopener" href="https://www.makepost.net/projects/386"><strong><em>makepost</em></strong></a> → 🎉 登録<br /> - <a target="_blank" rel="nofollow noopener" href="https://www.mitsukarusite.jp/2023/06/550/"><strong><em>MITSUKARU!</em></strong></a> → 🎉 登録<br /> - <a target="_blank" rel="nofollow noopener" href="https://devhaunt.com/product/111"><strong><em>DevHaunt!</em></strong></a> →🎉 登録、とても丁寧な対応 👍<br /> - <a target="_blank" rel="nofollow noopener" href="https://kojin.dev/application/41"><strong><em>個人dev</em></strong></a> → 🎉 登録<br /> - <a target="_blank" rel="nofollow noopener" href="https://appget.com/c/developerpage/createdevpost/"><strong><em>アプリゲット</em></strong></a> → ゲームのみ<br /> - <a target="_blank" rel="nofollow noopener" href="https://www.appbank.net/"><strong><em>AppBank</em></strong></a> → 📧<br /> - <a target="_blank" rel="nofollow noopener" href="https://applision.com/review/"><strong><em>Applision</em></strong></a> → 📧<br /> - <a target="_blank" rel="nofollow noopener" href="https://tsukulog.work/"><strong><em>ツクログ</em></strong></a> → 📧 クリエイター登録済み、まだ作品は掲載されない(2度投稿)<br /> - <a target="_blank" rel="nofollow noopener" href="https://octoba.net/"><strong><em>octoba</em></strong></a> → 📧<br /> - <a target="_blank" rel="nofollow noopener" href="https://newlaun-ch.com/"><strong><em>NewLaun-ch</em></strong></a> → 📧<br /> - <a target="_blank" rel="nofollow noopener" href="https://appllio.com/"><strong><em>appllio</em></strong></a> → 📧<br /> - <a target="_blank" rel="nofollow noopener" href="https://appnavi.info/"><strong><em>appnavi</em></strong></a> → 📧<br /> - <a target="_blank" rel="nofollow noopener" href="https://androlion.org/"><strong><em>Androライオン</em></strong></a> → 📧条件:レビュー<br /> - <a target="_blank" rel="nofollow noopener" href="https://androrank.com/?m=send"><strong><em>AndroRank</em></strong></a> → 📧条件:レビュー<br /> - <a target="_blank" rel="nofollow noopener" href="https://android-apps.org/"><strong><em>Androidアップス</em></strong></a> → 📧<br /> - <a target="_blank" rel="nofollow noopener" href="https://softcollection.org/android/"><strong><em>Androidコレクション</em></strong></a> → 📧<br /> - <a target="_blank" rel="nofollow noopener" href="https://news.mynavi.jp/top/notice/press/"><strong><em>マイナビニュース</em></strong></a> → 📧<br /> - <a target="_blank" rel="nofollow noopener" href="https://corp.itmedia.co.jp/pr/"><strong><em>ITmedia</em></strong></a> → 📧<br /> - <a target="_blank" rel="nofollow noopener" href="https://corp.itmedia.co.jp/media/pr/"><strong><em>ITmedia ねとらぼ</em></strong></a> → 📧<br /> - <a target="_blank" rel="nofollow noopener" href="https://androck.jp/contact/"><strong><em>AndRock</em></strong></a> → 📧<br /> - <a target="_blank" rel="nofollow noopener" href="http://app-vip.jp/posts/add"><strong><em>AppVIP</em></strong></a> → 📧<br /> - <a target="_blank" rel="nofollow noopener" href="https://applink.jp/request"><strong><em>AppLink</em></strong></a> → 📧<br /> - <a target="_blank" rel="nofollow noopener" href="https://www.gapsis.jp/"><strong><em>GAPSIS</em></strong></a> → 📧</p> <hr /> <p><strong>海外</strong></p> <ul> <li><a target="_blank" rel="nofollow noopener" href="https://www.producthunt.com/my/products"><strong><em>Product Hunt</em></strong></a> → 🎉 登録から1週間待つ必要がある</li> <li><a target="_blank" rel="nofollow noopener" href="https://alternativeto.net/software/shopping-list--lisble/about/"><strong><em>AlternativeTo</em></strong></a> → 🎉 登録</li> <li><a target="_blank" rel="nofollow noopener" href="https://appstoreapps.com/submit-your-app/"><strong><em>app store apps</em></strong></a> → 📧</li> <li><a target="_blank" rel="nofollow noopener" href="https://www.appcraver.com/contact-us/"><strong><em>AppCraver</em></strong></a> → 📧</li> <li><a target="_blank" rel="nofollow noopener" href="https://arstechnica.com/contact-us/"><strong><em>arttechnica</em></strong></a> → 📧</li> <li><a target="_blank" rel="nofollow noopener" href="https://www.androidappsreview.com/submit-your-android-app/"><strong><em>Apps Review</em></strong></a> → 📧</li> <li><a target="_blank" rel="nofollow noopener" href="https://androidcommunity.com/send-tips/"><strong><em>community</em></strong></a> → 📧</li> <li><a target="_blank" rel="nofollow noopener" href="http://www.androidapplog.com/suggest-app/"><strong><em>App Log</em></strong></a> → 📧</li> <li><a target="_blank" rel="nofollow noopener" href="https://getandroidstuff.com/submit-app/"><strong><em>Get Android Stuff</em></strong></a> → 📧</li> <li><a target="_blank" rel="nofollow noopener" href="https://www.androidguys.com/request-app-review/"><strong><em>Android Guys</em></strong></a> → 📧</li> <li><a target="_blank" rel="nofollow noopener" href="https://www.androlib.com/"><strong><em>androlib</em></strong></a> → 📧</li> <li><a target="_blank" rel="nofollow noopener" href="https://www.apkmirror.com/"><strong><em>APKMirror</em></strong></a> → 📧</li> <li><a target="_blank" rel="nofollow noopener" href="http://appscout.pcmag.com/"><strong><em>PCMag</em></strong></a> → 📧</li> <li><a target="_blank" rel="nofollow noopener" href="https://www.newsreports.com/contact/"><strong><em>NEWSREPORTS</em></strong></a> → 📧</li> <li><a target="_blank" rel="nofollow noopener" href="https://www.ifanzine.com/contact/"><strong><em>iFanzine</em></strong></a> → 📧</li> </ul> <hr /> <p>※上記以外で無料で宣伝できるサイト、方法があれば教えていただけると嬉しいです。</p> <p><strong>③記事を書く</strong><br /> - Qiita<br /> - <a target="_blank" rel="nofollow noopener" href="https://qiita.com/arieight/items/7935afdaf78d31f8b444">【Nuxt3】はじめての個人開発「買い物リストアプリ」開発記録</a><br /> - Zenn<br /> - <a target="_blank" rel="nofollow noopener" href="https://zenn.dev/arieight/articles/55ec7a38edb940">Nuxt3で初めての個人開発記録【買い物リストアプリ】</a><br /> - Crieit<br /> - <a href="https://crieit.net/posts/Lisble-64bfaf0e5e2b7">シンプルな買い物リストアプリ「lisble リスブル 」の紹介</a><br /> - 【個人開発】アイデア出しから公開・プロモーションまでまとめ(Nuxt3、Cloudflare、GooglePlay)<br /> - note<br /> - <a target="_blank" rel="nofollow noopener" href="https://note.com/arieight/n/nc8cace276feb">値上げ対策! 買い物リスト作成で節約</a><br /> - <a target="_blank" rel="nofollow noopener" href="https://note.com/arieight/n/ne70e5e3865f3">シンプルな買い物リストアプリ「Lisble リスブル 」のご紹介</a><br /> - Medium(英語記事)<br /> - <a target="_blank" rel="nofollow noopener" href="https://medium.com/@arieight_8/price-increase-measures-save-money-by-making-a-shopping-list-120cec400b15">Price increase measures! Save money by making a shopping list</a></p> <p><strong>④Twitter(日本語/英語)</strong><br /> - Twitter日本語ver.:<a target="_blank" rel="nofollow noopener" href="https://twitter.com/arieight_8">@arieight_8</a><br /> - Twitter英語ver.:<a target="_blank" rel="nofollow noopener" href="https://twitter.com/Lisble_en">@Lisble_en</a><br /> - 登録or掲載 → つぶやく<br /> - 機能一覧、設定一覧、動画(gif)でツイート<br /> - 開発中からつぶやいた方が良い</p> <p><strong><em>参考サイト</em></strong><br /> <a target="_blank" rel="nofollow noopener" href="https://www.producthunt.com/posts/shopping-list-lisble">個人開発したWebサービスをリリースした後にやったこと / やり続けていること</a></p> <h1 id="3. 気付き・反省点・まとめ"><a href="#3.+%E6%B0%97%E4%BB%98%E3%81%8D%E3%83%BB%E5%8F%8D%E7%9C%81%E7%82%B9%E3%83%BB%E3%81%BE%E3%81%A8%E3%82%81">3. 気付き・反省点・まとめ</a></h1> <ul> <li>開発を0からして、初めてコードをさわって新しい概念にふれた時くらい勉強になり、とても知見が広がり良かったです。</li> <li>プログラミング以外の作業が初だったので「プログラミング:他 = 3:7」くらいの感覚でした。様々なデザインが予想より大変でした。</li> <li>一番面白いと感じた作業は、ロジックを考えて形になった時でした。<br />  </li> <li><strong>アイデア</strong> → 紙やXMindに思いつく限りまとめたのですが、総合的な判断で結局既存のサービスに追加機能の方向になってしまいました。マネタイズまで含めたアイデアが難しいです。どうせやるなら一通りやってみたかったので次回以降にしました。常にアンテナをはって知見を広げていいこうと思いました。</li> <li><strong>要件定義</strong> → 運用費がかからない、個人情報は扱わない、AdSense以外のマネタイズまで考える、などを考慮してアイデアを絞り、考え、すでにあるサービスと見比べ、アイデアと要件定義をぐるぐるしていました。</li> <li>AdSenseは、コンテンツ不足でwebアプリは受かりづらいらしいです。</li> <li><strong>利用技術</strong> → 平凡なアイデアだったので初めて挑戦する技術(Nuxt3、TypeScript、etc...)を使用してしまいました。</li> <li>デプロイ先など、お金をかけずに運用していくための他の効率の良い方法やサービスを引き続き調査していきます。(Firebaseをデータベース等)</li> <li><strong>設計</strong> → 画面デザインは、UI足したら引き算・データ設計は構造整理</li> <li><strong>開発</strong> → 追加の機能を制作してしまいました。最低限の機能でまず完成を目指すべき</li> <li><strong>工夫した機能</strong> → ToDoの変化型アプリで平凡なアプリで非常に多く数があるため、機能にこだわりました。</li> <li>多言語化して作業が増えた。[Amazon設定、時間形式、表示崩れ、metaタグ、etc...]</li> <li><strong>テスト</strong> → 多視点が重要</li> <li><strong>公開</strong> → 運用費をかけないにこだわる</li> <li><strong>パフォーマンス改善</strong> → 良い学習</li> <li><strong>マネタイズ</strong> → Amazonまでの導線が弱い 要検討</li> <li>著作権・プライバシーポリシー・DDoS対策etc...</li> <li><strong>プロモーション</strong> → Twitterは開発中から・アイデア段階でSNSを考慮したサービス・地道にor金をかけるか・個人の場合限られるので勉強段階からブログや記事など書いておけばまた違ったかも</li> <li>「告知=恥ずかしい」があったので、経験せずにはわからないからできることは全部しようと思いました。</li> </ul> <p>作る前に想像していたよりコード以外の作業が多いとうことに改めて気付かされました。<br /> 制作中、何度も宇宙兄弟のセリフが脳内再生してました。ありがとうございました。</p> <hr /> <blockquote> <p>「また積めばいいよ」<br /> 「次はもっと上手く積めるようになってるよ」<br /> <img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/906025/54752648-2273-f10c-d125-ea6abc68e562.jpeg" alt="『宇宙兄弟』17巻 小山 宙哉「また積めばいいよ」" width="300"><br /> <img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/906025/9d577b8b-90ef-2e69-8d2b-2e67ebfb9794.jpeg" alt="『宇宙兄弟』17巻 小山 宙哉「次はもっと上手く積めるようになってるよ」" width="300"><br /> 出典: 『宇宙兄弟』17巻 小山 宙哉(講談社、2012年3月23日第1発行)</p> </blockquote> <hr /> <p>購入履歴が残せるシンプルな買い物リストアプリ <strong><em>『買い物リスト - Lisble リスブル』</em></strong> です。メモ、ToDoアプリとしても機能します。<br /> 購入履歴の保存機能により、無駄な重複購入を防ぎ、在庫の備忘録にもなります。<br /> ログイン・ユーザー登録不要、無料ですぐにご利用いただけます。<br /> もしよかったら、触ってみてください。</p> <p><strong>『<a target="_blank" rel="nofollow noopener" href="https://lisble.net/about/">買い物リスト・メモ - Lisble リスブル</a>』</strong><br /> <div class="table-responsive"><table> <thead> <tr> <th>iOS,PC</th> <th>Android</th> </tr> </thead> <tbody> <tr> <td><a src="https://lisble.net/about/" target="_blank" rel="noopener noreferrer" ><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/906025/992c120a-33bd-48d1-93cd-d97fde42d22c.png" alt="シンプルな買い物リスト-lisble リスブル" width="250"></a></td> <td><a src="https://play.google.com/store/apps/details?id=net.lisble.twa" target="_blank" rel="noopener noreferrer" ><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/906025/f92cdde6-21d1-2d3f-b8bf-9fb72a74abde.png" width=230 alt="googlePlayバッジ" ></a></td> </tr> <tr> <td>iOS,PCの方は、PWAの為、メニューから <strong>「ホーム画面に追加」</strong> をお願いします。</td> <td>このアプリは Google Play で入手できます。</td> </tr> </tbody> </table></div></p> <p>Twitter:<a target="_blank" rel="nofollow noopener" href="https://twitter.com/arieight_8">@arieight_8</a></p> <hr /> <p>Google Play および Google Play ロゴは、Google LLC の商標です。</p> Arieight tag:crieit.net,2005:PublicArticle/18538 2023-07-25T20:16:30+09:00 2023-07-25T20:16:30+09:00 https://crieit.net/posts/Lisble-64bfaf0e5e2b7 シンプルな買い物リストアプリ「Lisble リスブル 」について <h1 id="1. はじめに"><a href="#1.+%E3%81%AF%E3%81%98%E3%82%81%E3%81%AB">1. はじめに</a></h1> <p><strong>シンプルな買い物リスト・メモ - Lisble リスブル</strong><br /> アプリの解説・紹介をするために記事を書きました。</p> <p><strong>シンプルな買い物リスト</strong>のアプリです。メモ、ToDoアプリとしても機能します。<strong>ログイン・ユーザー登録不要、無料</strong>ですぐにご利用いただけます。</p> <p>「<strong>買い忘れ、衝動買い、同じものを買ってしまう、出先での在庫確認、ネットショップとの比較など</strong>」考える事が多く、余計な負担だったので、リストをつけることにより改善したいと思いました。<br /> <strong>購入履歴の保存機能</strong>は、<strong>在庫の備忘録</strong>にもなります。また買い物中の操作性を重視し、レイアウトの<strong>左/右切り替え</strong>が可能です。<br /> 事前に買うべきものをメモしておくことで、より計画的に買い物をして、結果的に節約につながります。</p> <h1 id="2. 買い物リストアプリ「Lisble リスブル 」について"><a href="#2.+%E8%B2%B7%E3%81%84%E7%89%A9%E3%83%AA%E3%82%B9%E3%83%88%E3%82%A2%E3%83%97%E3%83%AA%E3%80%8CLisble+%E3%83%AA%E3%82%B9%E3%83%96%E3%83%AB+%E3%80%8D%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6">2. 買い物リストアプリ「Lisble リスブル 」について</a></h1> <p><a target="_blank" rel="nofollow noopener" href="https://lisble.net/about/"><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/906025/2eb38bfc-0efc-d719-9baa-d0967308e507.png" alt="シンプルな買い物リスト-Lisble リスブル" width="350"></a></p> <p><strong>『<a target="_blank" rel="nofollow noopener" href="https://lisble.net/about/">買い物リスト・メモ - Lisble リスブル</a>』</strong><br /> <div class="table-responsive"><table> <thead> <tr> <th>iOS,PC</th> <th>Android</th> </tr> </thead> <tbody> <tr> <td><a src="https://lisble.net/about/" target="_blank" rel="noopener noreferrer" ><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/906025/992c120a-33bd-48d1-93cd-d97fde42d22c.png" alt="シンプルな買い物リスト-Lisble リスブル" width="250"></a></td> <td><a src="https://play.google.com/store/apps/details?id=net.lisble.twa" target="_blank" rel="noopener noreferrer" ><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/906025/f92cdde6-21d1-2d3f-b8bf-9fb72a74abde.png" width=230 alt="googlePlayバッジ" ></a></td> </tr> <tr> <td>iOS,PCの方は、PWAの為、メニューから <strong>「ホーム画面に追加」</strong> をお願いします。</td> <td>このアプリは Google Play で入手できます。</td> </tr> </tbody> </table></div></p> <h2 id="2-1. アプリの概要"><a href="#2-1.+%E3%82%A2%E3%83%97%E3%83%AA%E3%81%AE%E6%A6%82%E8%A6%81">2-1. アプリの概要</a></h2> <p>購入履歴が残せるシンプルな買い物リストのアプリです。メモ、ToDoアプリとしても機能します。<strong>ログイン・ユーザー登録不要、無料</strong>ですぐにご利用できます。</p> <div class="table-responsive"><table> <thead> <tr> <th>About</th> <th>List</th> <th>History</th> </tr> </thead> <tbody> <tr> <td><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/906025/01ff7a29-9672-8717-161b-807bfd85f014.png" alt="Aboutページのスクリーンショット.png" width="120" height=""></td> <td><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/906025/1e53b87e-f6d3-8ef8-8646-f66b8c02dbb2.png" alt="リストページのスクリーンショット" width="120" height=""></td> <td><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/906025/64e97b97-f950-2f48-e346-63a506643401.png" alt="履歴ページのスクリーンショット" width="120" height=""></td> </tr> </tbody> </table></div> <h2 id="2-2. アプリの3つの特徴"><a href="#2-2.+%E3%82%A2%E3%83%97%E3%83%AA%E3%81%AE3%E3%81%A4%E3%81%AE%E7%89%B9%E5%BE%B4">2-2. アプリの3つの特徴</a></h2> <p><strong>① 買い物中の操作性(UI,UX)</strong><br /> 片手操作での誤操作防止のため編集機能を片側に寄せ、かつ <strong>左/右 表示切替可能</strong>。<br /> チェックしたメモ、まだしていないメモを切り替え、すぐに確認できるようにしました。</p> <p><strong>② 購入履歴の保存</strong><br /> <strong>日付時間と共に保存</strong>をして、入力時に同一品目を色の変化でお知らせをします。<br /> 購入履歴を残すことにより、直近で購入したものがわかり、無駄な重複買いと共に在庫を思い出すきっかけにもなると思いました。</p> <p><strong>③ Amazon検索</strong><br /> 入力したメモをそのまま<strong>Amazon検索</strong>できます。買い物中の値段の比較や、欲しいものリストとしてご活用してもらえればと思いました。</p> <h2 id="2-3. アプリの画面案内"><a href="#2-3.+%E3%82%A2%E3%83%97%E3%83%AA%E3%81%AE%E7%94%BB%E9%9D%A2%E6%A1%88%E5%86%85">2-3. アプリの画面案内</a></h2> <div class="table-responsive"><table> <thead> <tr> <th></th> <th>スマホ</th> </tr> </thead> <tbody> <tr> <td>① <strong>購入履歴へ</strong> ② <strong>メニュー</strong>(移動・設定) ③ <strong>タブ切り替え</strong> ④ <strong>↑↓並べ替え</strong> ④ <strong>←色、→削除</strong> ⑤ <strong>編集</strong> ⑥ <strong>チェック</strong> ⑦ <strong>リスト追加</strong> ⑧ <strong>「チェックあり」のみ削除</strong> ⑨ <strong>すべて削除</strong></td> <td><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/906025/bb63d0a7-c937-4b2b-e913-8230c118d9fb.png" alt="スクリーンショット" width="350" height=""></td> </tr> </tbody> </table></div> <div class="table-responsive"><table> <thead> <tr> <th></th> <th>タブレット・PC</th> </tr> </thead> <tbody> <tr> <td>① <strong>編集</strong> ② <strong>色</strong> ③ <strong>削除</strong> ④ ↑↓ <strong>並べ替えのみ</strong></td> <td><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/906025/a75aec69-901c-d87e-0411-b5c40e23b409.png" alt="スクリーンショット" width="405" height=""></td> </tr> </tbody> </table></div> <h2 id="2-4. アプリの基本操作"><a href="#2-4.+%E3%82%A2%E3%83%97%E3%83%AA%E3%81%AE%E5%9F%BA%E6%9C%AC%E6%93%8D%E4%BD%9C">2-4. アプリの基本操作</a></h2> <p>①②③これらの手順だけで簡単操作<br /> <div class="table-responsive"><table> <thead> <tr> <th></th> <th>基本操作</th> </tr> </thead> <tbody> <tr> <td>① <strong>リスト作成</strong> ② <strong>買い物完了でチェック</strong> ③ <strong>チェック済みを削除</strong> ※これらの手順だけで簡単操作</td> <td><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/906025/33bc7e8d-e258-bdbd-85e4-affb6c585cd9.gif" alt="買い物リスト-lisble リスブルの基本操作" width="160" ></td> </tr> </tbody> </table></div></p> <h2 id="2-5. アプリの機能一覧"><a href="#2-5.+%E3%82%A2%E3%83%97%E3%83%AA%E3%81%AE%E6%A9%9F%E8%83%BD%E4%B8%80%E8%A6%A7">2-5. アプリの機能一覧</a></h2> <div class="table-responsive"><table> <thead> <tr> <th>並び替え機能</th> <th>スワイプ</th> </tr> </thead> <tbody> <tr> <td><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/906025/30495dd3-fec4-c791-cb39-a1c09f78003d.gif" alt="買い物リスト-lisble リスブルの並べ替え動作" width="150" height=""></td> <td><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/906025/cb611a1f-9124-472b-1a26-b7c4f53f8ecc.gif" alt="買い物リスト-lisble リスブルのスワイプ動作" width="150" height=""></td> </tr> <tr> <td></td> <td>←<strong>色</strong>  →<strong>削除</strong>※タッチデバイスのみ</td> </tr> </tbody> </table></div> <div class="table-responsive"><table> <thead> <tr> <th>タブ切り替え</th> <th>Amazon検索</th> </tr> </thead> <tbody> <tr> <td><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/906025/db8c743b-1789-98a7-0c26-82adbef8733e.gif" alt="買い物リスト-lisble リスブルのタブ動作" width="150" height=""></td> <td><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/906025/e0d457fa-a1c3-3b28-b90e-fe67f86ffba6.png" alt="買い物リスト-lisble Amazon検索のイメージ" width="170" height=""></td> </tr> <tr> <td><strong>すべて、チェックあり、なし</strong></td> <td>そのまま<strong>Amazon検索</strong></td> </tr> </tbody> </table></div> <div class="table-responsive"><table> <thead> <tr> <th>購入履歴の保存</th> <th>重複買い防止</th> </tr> </thead> <tbody> <tr> <td><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/906025/4c03d104-0d05-234f-f56b-ff150451077a.gif" alt="買い物リスト-lisble リスブルの買い物履歴・削除動作" width="150" height=""></td> <td><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/906025/72a81f65-8c27-f1cb-84c5-74fbf3d8680b.gif" alt="買い物リスト-lisble リスブルの重複購入防止動作" width="150" height=""></td> </tr> <tr> <td><strong>1. チェックあり削除</strong> <strong>2. 購入履歴の保存</strong></td> <td>履歴と同じ品目を入力時に<strong>色の変化</strong>でお知らせ</td> </tr> </tbody> </table></div> <div class="table-responsive"><table> <thead> <tr> <th>続けて追加</th> <th>全削除</th> </tr> </thead> <tbody> <tr> <td><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/906025/93b63cdc-c10b-5f6c-c8c6-18bdfe229f2c.png" alt="追加ボタン" width="50" height=""></td> <td><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/906025/9e640615-6745-b110-9de7-37df2827ba6f.png" alt="全削除ボタン" width="100" height=""></td> </tr> <tr> <td><strong>+ボタン、ENTERキー</strong></td> <td>チェック済みは<strong>購入履歴に保存</strong></td> </tr> </tbody> </table></div> <h2 id="2-6. アプリの設定"><a href="#2-6.+%E3%82%A2%E3%83%97%E3%83%AA%E3%81%AE%E8%A8%AD%E5%AE%9A">2-6. アプリの設定</a></h2> <div class="table-responsive"><table> <thead> <tr> <th>テーマカラー</th> <th>レイアウト</th> <th>多言語</th> </tr> </thead> <tbody> <tr> <td><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/906025/e1de9ced-0089-d47b-9108-45c7354bf927.png" alt="買い物リスト-lisble リスブルのテーマカラー5種" width="150" height=""></td> <td><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/906025/31cc5133-da53-b9e0-6419-6fbc7fe6fda6.png" alt="買い物リスト-lisble リスブルのレイアウトの左/右切り替え" width="150" height=""></td> <td><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/906025/f318e886-f667-3430-e50b-0a36c2eccb27.png" alt="買い物リスト-lisble リスブルの英語表示" width="129" height=""></td> </tr> <tr> <td>5種</td> <td>片手操作での誤操作防止(<strong>左利き</strong>)</td> <td><strong>日本語</strong> / <strong>英語</strong></td> </tr> </tbody> </table></div> <div class="table-responsive"><table> <thead> <tr> <th>自動削除</th> <th>入力中のEnterキー操作</th> </tr> </thead> <tbody> <tr> <td><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/906025/cca8e553-c7bf-fd06-99b6-c5fee6f0fa1b.png" alt="買い物リスト-lisble リスブルの自動削除機能" width="150" height=""></td> <td><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/906025/63a179fc-2df2-5456-8ae4-d2565ed27ad9.png" alt="買い物リスト-lisble リスブルの入力中のEnterKeyの挙動" width="150" height=""></td> </tr> <tr> <td>終了時に「<strong>チェックあり</strong>」を<strong>自動削除(保存)機能</strong></td> <td><strong>追加</strong> / <strong>改行</strong> 切り替え</td> </tr> </tbody> </table></div> <hr /> <h1 id="3. 最後に"><a href="#3.+%E6%9C%80%E5%BE%8C%E3%81%AB">3. 最後に</a></h1> <p><strong>購入履歴</strong>が残せるシンプルな買い物リストアプリ 『<strong>買い物リスト - Lisble リスブル</strong>』 です。メモ、ToDoアプリとしても機能します。<br /> <strong>購入履歴の保存機能</strong>により、無駄な重複購入を防ぎ、在庫の備忘録にもなります。<br /> <strong>ログイン・ユーザー登録不要、無料</strong>ですぐにご利用いただけます。<br /> もしよかったら、触ってみてください。</p> <p><strong>『<a target="_blank" rel="nofollow noopener" href="https://lisble.net/about/">買い物リスト・メモ - Lisble リスブル</a>』</strong><br /> <div class="table-responsive"><table> <thead> <tr> <th>iOS,PC</th> <th>Android</th> </tr> </thead> <tbody> <tr> <td><a src="https://lisble.net/about/" target="_blank" rel="noopener noreferrer" ><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/906025/992c120a-33bd-48d1-93cd-d97fde42d22c.png" alt="シンプルな買い物リスト-lisble リスブル" width="250"></a></td> <td><a src="https://play.google.com/store/apps/details?id=net.lisble.twa" target="_blank" rel="noopener noreferrer" ><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/906025/f92cdde6-21d1-2d3f-b8bf-9fb72a74abde.png" width=230 alt="googlePlayバッジ" ></a></td> </tr> <tr> <td>iOS,PCの方は、PWAの為、メニューから <strong>「ホーム画面に追加」</strong> をお願いします。</td> <td>このアプリは Google Play で入手できます。</td> </tr> </tbody> </table></div></p> <hr /> <p>Google Play および Google Play ロゴは、Google LLC の商標です。</p> Arieight tag:crieit.net,2005:PublicArticle/18423 2023-04-11T23:29:51+09:00 2023-04-11T23:36:31+09:00 https://crieit.net/posts/simple-hr-reporter SmartHRと連携して人事データを可視化するツールを作ってみた <p>個人開発でSmartHRと連携したレポーティングツールを作成してみました。</p> <p><a target="_blank" rel="nofollow noopener" href="https://simple-hr-reporter.saikicks.net/report"><strong>人事データ簡易分析ツール</strong></a></p> <h2 id="概要"><a href="#%E6%A6%82%E8%A6%81">概要</a></h2> <p>このツールはSmartHRと連携してAPI経由でデータを取得して可視化を行うためのレポーティングツールです。</p> <p>SmartHRではフリープラン、労務管理プランでは分析レポートの利用が有料プランに切り替えるなどの対応を行わないと利用できません。</p> <p>オプション機能として提供されていますが、そこまで細かく分析するほどでは無く現状の人事情報を可視化したい、みたいな緩い使い方でも許容できるユーザーさんを対象に簡易的なグラフ出力を提供します。</p> <p>利用にはテナントIDとアクセストークンを利用しますが、サイト内にも記載がある通り<strong>このツールはテナントIDやアクセストークンを保存したりはしません。データ取得時のみに利用します</strong>。</p> <p>そのため画面をリロードしたりするともちろん情報は失われます。</p> <p>再度表示したい場合は都度テナントID、アクセストークンはをもう一度入力していただく手間はありますが…</p> <h2 id="技術構成"><a href="#%E6%8A%80%E8%A1%93%E6%A7%8B%E6%88%90">技術構成</a></h2> <ul> <li>React</li> <li>rebass</li> <li>styled-component</li> <li>recharts</li> <li>TypeScript</li> <li>Vite</li> <li>VItest</li> <li>Axios</li> <li>CloudFlare Pages</li> </ul> <h2 id="レポート出力結果"><a href="#%E3%83%AC%E3%83%9D%E3%83%BC%E3%83%88%E5%87%BA%E5%8A%9B%E7%B5%90%E6%9E%9C">レポート出力結果</a></h2> <p>出力結果は以下のような感じでシンプルに出力しています。</p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/y/y_saiki/20230324/20230324202730.png" alt="image" /></p> <p>もしご興味あれば是非使ってみてください。</p> <p>次にテナントIDとアクセストークンについて簡単に説明します。</p> <h2 id="テナントIDについて"><a href="#%E3%83%86%E3%83%8A%E3%83%B3%E3%83%88ID%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6">テナントIDについて</a></h2> <p>テナントIDはSmartHRのURLに含まれている以下の部分の文字列です。</p> <pre><code>[https://[テナントID].smarthr.jp/](https://[テナントID].smarthr.jp/) </code></pre> <h2 id="アクセストークンについて"><a href="#%E3%82%A2%E3%82%AF%E3%82%BB%E3%82%B9%E3%83%88%E3%83%BC%E3%82%AF%E3%83%B3%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6">アクセストークンについて</a></h2> <p>アクセストークンは管理画面より作成を行うため以下に手順を載せておきます。</p> <p>SmartHRにログインした後、右上のユーザー名の部分をクリックするとメニューが表示されます。</p> <p>その中の「共通設定」をクリックしてください。</p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/y/y_saiki/20230324/20230324201148.png" alt="image" /></p> <p>次に左側メニューから「外部システム連携」をクリックします。</p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/y/y_saiki/20230324/20230324201203.png" alt="image" /></p> <p>API連携より「アクセストークン」をクリックします。</p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/y/y_saiki/20230324/20230324201159.png" alt="image" /></p> <p>「新規発行」をクリックします</p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/y/y_saiki/20230324/20230324201155.png" alt="image" /></p> <p>「アクセストークン名」を入力します。利用する用途を名前にしておくと良いです。</p> <p>例えば「分析レポート」とか…</p> <p>必須項目の入力が埋まると「登録」ボタンがクリックできるようになるので登録するとアクセストークンが払い出されます。</p> <p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/y/y_saiki/20230324/20230324201151.png" alt="image" /></p> <p>これらのテナントIDとアクセストークンを利用して本ツールにて入力して「出力」ボタンをクリックしてもらうとレポートが出力されます。</p> <p>まだまだ表示がおかしい部分があったり、追加したい機能等があるので引き続き開発を進めていきたいと思います!</p> <p>採用計画や人事データを活用して分析を行いたい方は是非活用してみてください。</p> Sassy_1123 tag:crieit.net,2005:PublicArticle/18412 2023-03-22T10:07:36+09:00 2023-03-22T10:07:36+09:00 https://crieit.net/posts/fdf85d1f9aeb47981c9bf9a43303c3c8 エンジニアのアウトプット力を高めるメモ投稿サービスをリリースしました【個人開発】 <p>この記事は <a target="_blank" rel="nofollow noopener" href="https://zenn.dev/shwld/articles/ca8a7972cd1f0c">Zennに投稿したもの</a>と同じ内容です</p> <p>こんにちは<a target="_blank" rel="nofollow noopener" href="https://www.mof-mof.co.jp/">mofmof</a>でエンジニアをしている<a target="_blank" rel="nofollow noopener" href="https://twitter.com/shwld">shwld</a>です。</p> <p>mofmofではエンジニアの成長にフォーカスして色々施策を思索して試作したりしていたりもします。<br /> 今回は、課題の一つである、「<strong>アウトプットを習慣づけたい</strong>」について、ソリューションとなるサービスを作ってみました。</p> <p>この記事では</p> <ul> <li>なぜサービスを作るに至ったのか</li> <li>どんなサービスなのか</li> </ul> <p>あたりを書いていきます。</p> <p><a target="_blank" rel="nofollow noopener" href="https://revelup.dev/ja">https://revelup.dev/ja</a></p> <h1 id="なぜアウトプットを習慣づけたいのか"><a href="#%E3%81%AA%E3%81%9C%E3%82%A2%E3%82%A6%E3%83%88%E3%83%97%E3%83%83%E3%83%88%E3%82%92%E7%BF%92%E6%85%A3%E3%81%A5%E3%81%91%E3%81%9F%E3%81%84%E3%81%AE%E3%81%8B">なぜアウトプットを習慣づけたいのか</a></h1> <p>アウトプットには様々なメリットがあります。</p> <ul> <li>インプット内容を自分のものにする <ul> <li>技術情報をインプットしただけではいざ仕入れた情報を使おうとした時に使える状態になっていないことがほとんどです。実際に手や頭を動かし、相手に教えられる状態になっていると、学習・定着効果が高まります。</li> </ul></li> <li>プレゼンスを高める <ul> <li>エンジニアの技術力を客観的に評価するにはアウトプットや経歴が重要です。極論ですが、アウトプットしていないと何もしていないと同義になってしまうのです。</li> </ul></li> </ul> <p>と、メリットはわかるのですが、実際自分がたくさんのアウトプットをできているわけではありません。自分が継続的アウトプットを改善した方法を元に今回サービスにしました。</p> <h1 id="解決したい課題"><a href="#%E8%A7%A3%E6%B1%BA%E3%81%97%E3%81%9F%E3%81%84%E8%AA%B2%E9%A1%8C">解決したい課題</a></h1> <p>アウトプットの際に以下のような課題があります。</p> <ul> <li>ひたすら開発してしまい、つまづいたところ、工夫したところを残してない <ul> <li>いざ記事を書こうとしても、記事を書くための調べ直しに多くの時間がかかる</li> </ul></li> <li>記事を公開するのにハードルがある。誤った情報を書いていないか、読めるものになっているか気になってしまう。</li> </ul> <p>ZennのScrap機能はこの課題への良い解決策で、Scrapの思想が好きです。<br /> ただ、今回自分はScrapよりもさらにハードルを下げたサービスが欲しいと思いました。</p> <h1 id="どんなサービスなのか"><a href="#%E3%81%A9%E3%82%93%E3%81%AA%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E3%81%AA%E3%81%AE%E3%81%8B">どんなサービスなのか</a></h1> <p>REVELUP.devはTwitterのような気軽さで技術アウトプットメモを投稿できるサービスです。<br /> フロー情報を前提としているため、正確性などを気にせず気軽に投稿しながら、本番アウトプットの練習ができる場を目指します。</p> <p>以下のような機能が備わっています。</p> <h2 id="気づいた時に即残せるデスクトップ用アプリケーション"><a href="#%E6%B0%97%E3%81%A5%E3%81%84%E3%81%9F%E6%99%82%E3%81%AB%E5%8D%B3%E6%AE%8B%E3%81%9B%E3%82%8B%E3%83%87%E3%82%B9%E3%82%AF%E3%83%88%E3%83%83%E3%83%97%E7%94%A8%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3">気づいた時に即残せるデスクトップ用アプリケーション</a></h2> <p>開発の途中、何か工夫したり、つまづいたその瞬間に記録を残します。<br /> 任意のショートカットを登録することで、10秒で投稿できる体験を提供します<br /> <a href="https://crieit.now.sh/upload_images/238daf5d99d86c5f7aba8121fd533a99641a54920b8be.gif" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/238daf5d99d86c5f7aba8121fd533a99641a54920b8be.gif?mw=700" alt="すぐ投稿" /></a></p> <h3 id="階層化可能なタグ付けによるノート整理を採用し、投稿速度と内容の整理を両立します"><a href="#%E9%9A%8E%E5%B1%A4%E5%8C%96%E5%8F%AF%E8%83%BD%E3%81%AA%E3%82%BF%E3%82%B0%E4%BB%98%E3%81%91%E3%81%AB%E3%82%88%E3%82%8B%E3%83%8E%E3%83%BC%E3%83%88%E6%95%B4%E7%90%86%E3%82%92%E6%8E%A1%E7%94%A8%E3%81%97%E3%80%81%E6%8A%95%E7%A8%BF%E9%80%9F%E5%BA%A6%E3%81%A8%E5%86%85%E5%AE%B9%E3%81%AE%E6%95%B4%E7%90%86%E3%82%92%E4%B8%A1%E7%AB%8B%E3%81%97%E3%81%BE%E3%81%99">階層化可能なタグ付けによるノート整理を採用し、投稿速度と内容の整理を両立します</a></h3> <p><a href="https://crieit.now.sh/upload_images/198bda9998ea53c0276f1b1902c752d8641a54ac5e3c5.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/198bda9998ea53c0276f1b1902c752d8641a54ac5e3c5.png?mw=700" alt="階層化可能なタグ" /></a><br /> 階層化可能なタグ↑</p> <h2 id="心理的安全性を担保しつつ、公開練習できる"><a href="#%E5%BF%83%E7%90%86%E7%9A%84%E5%AE%89%E5%85%A8%E6%80%A7%E3%82%92%E6%8B%85%E4%BF%9D%E3%81%97%E3%81%A4%E3%81%A4%E3%80%81%E5%85%AC%E9%96%8B%E7%B7%B4%E7%BF%92%E3%81%A7%E3%81%8D%E3%82%8B">心理的安全性を担保しつつ、公開練習できる</a></h2> <p>REVELUP.devへ投稿する内容は、承認した友達だけがみることができます。<br /> Twitterというよりは、技術投稿版facebookといった感じです。<br /> <a href="https://crieit.now.sh/upload_images/0e5b6ae2572719b6daf3806758f28bef641a54c60f023.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/0e5b6ae2572719b6daf3806758f28bef641a54c60f023.png?mw=700" alt="友達にだけ見せられる" /></a></p> <p>気づいた時に投稿する性質上、業務中や驚くような時間であることもあると思いますが、友達からは投稿した時間はバレないようになっています。</p> <h2 id="実際にアウトプットする材料とする"><a href="#%E5%AE%9F%E9%9A%9B%E3%81%AB%E3%82%A2%E3%82%A6%E3%83%88%E3%83%97%E3%83%83%E3%83%88%E3%81%99%E3%82%8B%E6%9D%90%E6%96%99%E3%81%A8%E3%81%99%E3%82%8B">実際にアウトプットする材料とする</a></h2> <p>投稿した内容は、GraphQL APIで取得することができます。<br /> 投稿内容を好きに加工、バックアップしたり他のサービスに連携など、ご活用ください。</p> <p>ストックした情報を使って、AIで記事を生成するということができると、アウトプットのハードルが下がりそうだなーとかを考えています。</p> <p><a target="_blank" rel="nofollow noopener" href="https://revelup.dev/ja">https://revelup.dev/ja</a></p> <p>このプロダクトは、株式会社mofmofの「水曜日の個人開発」にサポートされています。<br /> <a target="_blank" rel="nofollow noopener" href="https://indie-dev.mof-mof.co.jp">https://indie-dev.mof-mof.co.jp</a></p> shwld tag:crieit.net,2005:PublicArticle/18330 2022-12-05T05:35:35+09:00 2022-12-05T10:40:53+09:00 https://crieit.net/posts/SaaS-12-1 初のSaaSが12月で1周年なので振り返ってみた <p><a href="https://crieit.now.sh/upload_images/17513f79bbd637dff441e7cab57d2ace638d03de62032.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/17513f79bbd637dff441e7cab57d2ace638d03de62032.png?mw=700" alt="OGP_お知らせ (1).png" /></a></p> <p>※これは<a target="_blank" rel="nofollow noopener" href="https://qiita.com/advent-calendar/2022/individual-developers">個人開発 Advent Calendar 2022</a>のカレンダー2/5日目の記事です。</p> <p>個人開発でいろいろ作ってきたけど、<br /> 去年の12月にはじめてSaaSをリリースしました。</p> <p>ちょうど1年経ったので、少し振り返ってみる。<br /> 12月はいろんな記事が出てくるので、少し触発されました(<em>´ω`</em>)</p> <p>GoogleスプレッドシートのJSON API化サービス</p> <p><a target="_blank" rel="nofollow noopener" href="https://sssapi.app/">https://sssapi.app/</a></p> <h2 id="どんなサービス?"><a href="#%E3%81%A9%E3%82%93%E3%81%AA%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%EF%BC%9F">どんなサービス?</a></h2> <p>スプレッドシートのJSON APIをつくれるごくごくシンプルなサービス。</p> <p>スプレッドシートのURLを登録すると、<br /> 中身をJSONで受け取れるAPIを作れます。</p> <p>検索・絞り込み・ページングなどAPIでよくつかう機能や、<br /> ネストオブジェクトへの変換などいくつか変換機能、<br /> 外部API呼び出しやGitHub Actionsとの連携機能などなども用意。</p> <h2 id="どうして作ったの?"><a href="#%E3%81%A9%E3%81%86%E3%81%97%E3%81%A6%E4%BD%9C%E3%81%A3%E3%81%9F%E3%81%AE%EF%BC%9F">どうして作ったの?</a></h2> <p><a target="_blank" rel="nofollow noopener" href="https://zenn.dev/kira_puka/articles/f9496a6a847799">β版リリース時の記事</a>でもいろいろ書いたけど、<br /> スプレッドシートをJSON化する方法はいくつか既存のサービスでは少し使いにくいな。。と思うことがあった。</p> <h3 id="既存のサービスでの課題"><a href="#%E6%97%A2%E5%AD%98%E3%81%AE%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E3%81%A7%E3%81%AE%E8%AA%B2%E9%A1%8C">既存のサービスでの課題</a></h3> <p>ちょっとしたJSON APIを作る方法はいくつかあるけど、<br /> 実際のサービスで利用しようとした場合、すこし気になることが。。</p> <ul> <li>GAS <ul> <li>レスポンスが遅い/同時実行数などの制限がある</li> <li>シートごとに準備が必要/どこで使ってるかわからなくなる</li> <li>リッチな検索の実装がめんどくさい</li> </ul></li> <li>ヘッドレスCMS <ul> <li>個人・小規模・開発初期では手を出しにくい価格</li> <li>機能がリッチだけど、初期ではなくていいものも多い</li> </ul></li> <li>スプレッドシートDB関連サービス <ul> <li>必要な権限が多い</li> <li>プライベートなAPIは作れない</li> </ul></li> </ul> <p>資金が潤沢であればヘッドレスCMSがよい選択だけど、<br /> 試作段階で、いきなり手を出すのはなかなか厳しいお値段。。</p> <p>GASやスプレッドシートDB関連サービスは、<br /> 個人利用なサービスや学習用ではよいけど、<br /> 実サービスではなかなか厳しい制約。。</p> <p>もう少しお手軽で実サービスでも利用できるものがほしいと思い、<br /> このサービスを作りはじめることに。</p> <h3 id="スプレッドシートをDBにするときの懸念"><a href="#%E3%82%B9%E3%83%97%E3%83%AC%E3%83%83%E3%83%89%E3%82%B7%E3%83%BC%E3%83%88%E3%82%92DB%E3%81%AB%E3%81%99%E3%82%8B%E3%81%A8%E3%81%8D%E3%81%AE%E6%87%B8%E5%BF%B5">スプレッドシートをDBにするときの懸念</a></h3> <p>多くの競合サービスは直接スプレッドシートに接続しているけど、<br /> 実際にスプレッドシートをDBにすることを考えたときに、<br /> いくつか気になる点が。。</p> <ul> <li>トランザクションがない -> データ壊れる可能性</li> <li>編集中のリクエストも受け付ける -> 不正なJSONを返すの可能性</li> <li>Sheets APIが必要 -> 実サービスだとつらい遅さ</li> </ul> <p>作ったサービスが(万が一でも)大ヒットしたときに、<br /> データが壊れたり、意図しないレスポンスになるのは、<br /> かなりつらい。。</p> <p>そのため、任意のタイミングのスプレッドシートでAPIを更新でき、<br /> 読み込み専用のAPIのみとする、いまの方針になりました。</p> <h2 id="1年やってみてどうだった?"><a href="#1%E5%B9%B4%E3%82%84%E3%81%A3%E3%81%A6%E3%81%BF%E3%81%A6%E3%81%A9%E3%81%86%E3%81%A0%E3%81%A3%E3%81%9F%EF%BC%9F">1年やってみてどうだった?</a></h2> <ul> <li>予想以上に利用されてた!!</li> <li>エンジニア以外の人の利用が多い!!</li> <li>企業での利用が多い!!</li> </ul> <p>自分と同じような個人開発者をイメージしていたので、<br /> かなりびっくり。。うれしい悲鳴。。(*´ω`*)<br /> 年プランの購入もあり、黒字で運営できてる。ありがたい。。(*´ω`*)</p> <p>CloudFlareの障害のときは気が気じゃなかった。。</p> <h3 id="マッチするユーザ"><a href="#%E3%83%9E%E3%83%83%E3%83%81%E3%81%99%E3%82%8B%E3%83%A6%E3%83%BC%E3%82%B6">マッチするユーザ</a></h3> <p>アンケートやインタビュー、利用データを見ていると、こんな感じに(*´ω`*)</p> <ul> <li>スプレッドシートを介したコラボレーション <ul> <li>エンジニア以外がデータを操作しやすい</li> </ul></li> <li>お知らせなどを極小のコンテンツをあとづけしたい <ul> <li>単純なものを素早く作れる</li> </ul></li> <li>スキーマが決まってない開発初期 <ul> <li>データからスキーマが作成できる</li> </ul></li> </ul> <p>特に、スプレッドシートは多くの人が見慣れているので、<br /> データを作る人に管理画面の操作方法を説明しなくてもよく、<br /> 共有も共同編集も簡単にできるというのが強みのよう。</p> <p>また、スキーマをあらかじめ用意しなくてよく、<br /> 列を追加すると自由に変更できるのでプロトも素早くできる。</p> <h3 id="マッチしないユーザ"><a href="#%E3%83%9E%E3%83%83%E3%83%81%E3%81%97%E3%81%AA%E3%81%84%E3%83%A6%E3%83%BC%E3%82%B6">マッチしないユーザ</a></h3> <p>逆にマッチしないユーザとしては、<br /> スプレッドシートをDBとして使いたいエンジニア。</p> <p>やはり、書き込みができない、すぐに反映されないのは、<br /> かなりネックなため、刺さらない感じだった。。</p> <p>とはいえ、DBとして使う懸念があるので、<br /> 妙案が出るまで少し難しいことを思っている。。</p> <h2 id="振り返り(というなの後悔&反省)"><a href="#%E6%8C%AF%E3%82%8A%E8%BF%94%E3%82%8A%28%E3%81%A8%E3%81%84%E3%81%86%E3%81%AA%E3%81%AE%E5%BE%8C%E6%82%94%EF%BC%86%E5%8F%8D%E7%9C%81%29">振り返り(というなの後悔&反省)</a></h2> <p>うれしかったことも多かったけど、<br /> 「こうしとけばよかった。。」の日々(´・ω・`)</p> <h3 id="ユーザとのコミュニケーション"><a href="#%E3%83%A6%E3%83%BC%E3%82%B6%E3%81%A8%E3%81%AE%E3%82%B3%E3%83%9F%E3%83%A5%E3%83%8B%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3">ユーザとのコミュニケーション</a></h3> <p>機能の開発はずっとやってきたけど、<br /> マーケティングは考えていなかった。。</p> <p>リリースしたはいいものの、フィードバックを受けたり、<br /> 何かを個別に伝えたりというのが難しい状態に。。</p> <p>以下のようなものが必要だと感じた。<br /> さらにサイト上とメールなどのサイト外でやり取りできるとよい。</p> <ul> <li>運営 -> 全体 <ul> <li>サイト内: お知らせ・更新履歴のページ</li> <li>サイト外: メーリングリスト</li> </ul></li> <li>運営 <ul> <li>サイド内: フィードバックフォーム</li> <li>サイト外: お問い合わせフォーム/メール</li> </ul></li> <li>運営 -> 個別 <ul> <li>サイト内: (現状なし。例:個別のお知らせ)</li> <li>サイト外: メール</li> </ul></li> <li>運営 個別 <ul> <li>サイト内: (現状なし。例:チャット)</li> <li>サイト外: メール</li> </ul></li> </ul> <p>当たり前のことだけど、機能の開発が優先になってしまっていた。。<br /> 機能は最低限でもいいけど、<br /> ユーザとやり取りできる部分はあらかじめ用意できていると良かった。。</p> <h3 id="統計データの収集"><a href="#%E7%B5%B1%E8%A8%88%E3%83%87%E3%83%BC%E3%82%BF%E3%81%AE%E5%8F%8E%E9%9B%86">統計データの収集</a></h3> <p>これもマーケティング関連。</p> <p>リリースして終わりではなく、なにを改善すべきかを把握する必要があるが、<br /> こんなに利用される想定ではなかったので、かなり後回しに。。</p> <p>最低限でも仕込んでおけば、かなり改善を早く回せた気がする。</p> <p>特に、Twitterでのコメントと、実際の利用データとはかなりの乖離があるので、<br /> もっとはやく実データを見て判断できる基盤を用意しておけばよかった。。</p> <h3 id="個人利用の想定"><a href="#%E5%80%8B%E4%BA%BA%E5%88%A9%E7%94%A8%E3%81%AE%E6%83%B3%E5%AE%9A">個人利用の想定</a></h3> <p>想定ユーザが自分自身であったので、<br /> 複数人でがっつり利用されるのを想定しなかった。。</p> <p>フタを開けてみると、企業での利用や、<br /> エンジニア/非エンジニアとのコラボレーションが多い。</p> <p>そういった場合、プロジェクトやワークスペースみたいな、<br /> 複数人で共同編集できる構成が必要。</p> <p>そうしておくことで、メンバーを招待したりもできるので、<br /> バイラル効果も期待できる。</p> <p>特にSaaSの場合はマルチテナントな構成で組んでおけばよかった。。<br /> (新機能として実装中...)</p> <h3 id="料金プラン設計"><a href="#%E6%96%99%E9%87%91%E3%83%97%E3%83%A9%E3%83%B3%E8%A8%AD%E8%A8%88">料金プラン設計</a></h3> <p>個人利用の想定も絡んでいるけど、<br /> アカウント単位のシンプルな3プランだけにしていた。<br /> (しかもかなり手を出しやすい価格...)</p> <p>この設計の場合、なかなか収益を増やすのが難しい。。<br /> ランニングコストがかかるリッチな機能も開発しにくい。</p> <p>また、APIがたくさん作りたい人と行数をたくさん増やしたい人がいて、<br /> ニーズにあうプランがないことも多い。</p> <p>今回のサービスの場合は、ある程度、好きなプランにできるよう、<br /> ユーザがカスタマイズできる構成で組んでおけばよかったと思う。</p> <p>とはいえ、ユーザが無駄に費用をかけなくていいように、<br /> 無料で試せて、小さくはじめて、大きく伸ばせる、<br /> みたいな仕組みにしておくと個人的にはとっつきやすい。</p> <h3 id="その他もろもろ"><a href="#%E3%81%9D%E3%81%AE%E4%BB%96%E3%82%82%E3%82%8D%E3%82%82%E3%82%8D">その他もろもろ</a></h3> <p>書きはじめるときりがないけど、ほかにもいろいろと。。</p> <ul> <li>より積極的なインタビュー/事例収集</li> <li>大きな更新よりも小さくても定期的な更新&お知らせ</li> <li>UIフレームワークは利用を控える/移行つらい</li> <li>広告は少額だと微妙かも/ある程度の金額なら効果的</li> <li>記事募集やクーポン配布は効果薄いかも</li> </ul> <p>はやく小さくリリースするのも大事だけど、<br /> こういったサービスの場合には、<br /> マーケティング関連や共同利用の想定ももっと想定しておけばよかった。。</p> <h2 id="今後は?"><a href="#%E4%BB%8A%E5%BE%8C%E3%81%AF%EF%BC%9F">今後は?</a></h2> <p>まずは後悔している部分の対応と使い勝手を向上していく。</p> <p>あとはNuxt3がリリースされたので、Buetfyを剥がしつつ、<br /> すこしずつ移行している感じ。</p> <p>シンプルさを保ちつつ、よりサクッと便利なサービスになるよう、<br /> 少しずつでも長く運営できるようがんばります(*´ω`*)!!</p> <p>ご興味がある方も無い方も一度はぜひぜひ〜(*´ω`*)</p> <p><a href="https://crieit.now.sh/upload_images/f4d68ff5b3ff8494cd994b7c45ad4257638d046a36eb3.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/f4d68ff5b3ff8494cd994b7c45ad4257638d046a36eb3.png?mw=700" alt="ogp_1syuunen_2.png" /></a></p> <p>GoogleスプレッドシートのJSON API化サービス<br /> <a target="_blank" rel="nofollow noopener" href="https://sssapi.app/">https://sssapi.app/</a></p> <h2 id="参考になった本"><a href="#%E5%8F%82%E8%80%83%E3%81%AB%E3%81%AA%E3%81%A3%E3%81%9F%E6%9C%AC">参考になった本</a></h2> <p>マーケティングの本が多め。どう理解してもらい、どう広めていくかの学びが多い。。</p> <ul> <li><a target="_blank" rel="nofollow noopener" href="https://www.amazon.co.jp/exec/obidos/ASIN/4799327844/tsundoku-hm-22">PLG プロダクト・レッド・グロース「セールスがプロダクトを売る時代」から「プロダクトでプロダクトを売る時代」へ</a></li> <li><a target="_blank" rel="nofollow noopener" href="https://www.amazon.co.jp/exec/obidos/ASIN/479815816X/tsundoku-hm-22">THE MODEL(MarkeZine BOOKS) マーケティング・インサイドセールス・営業・カスタマーサクセスの共業プロセス</a></li> <li><a target="_blank" rel="nofollow noopener" href="https://www.amazon.co.jp/exec/obidos/ASIN/462108786X/tsundoku-hm-22">Fearless Change アジャイルに効く アイデアを組織に広めるための48のパターン</a></li> <li><a target="_blank" rel="nofollow noopener" href="https://www.amazon.co.jp/exec/obidos/ASIN/4408650056/tsundoku-hm-22">スモールビジネスの教科書</a></li> <li><a target="_blank" rel="nofollow noopener" href="https://www.amazon.co.jp/exec/obidos/ASIN/4320023684/tsundoku-hm-22">ライト,ついてますか: 問題発見の人間学</a></li> </ul> きらぷか@積読ハウマッチ/SSSAPIなど tag:crieit.net,2005:PublicArticle/18288 2022-08-31T09:35:31+09:00 2022-08-31T09:39:51+09:00 https://crieit.net/posts/Web-ankeyto 【個人開発】作るのも、答えるのも簡単なWebアンケート「ankeyto」を作りました! <h1 id="2つ目の個人開発サービス公開"><a href="#2%E3%81%A4%E7%9B%AE%E3%81%AE%E5%80%8B%E4%BA%BA%E9%96%8B%E7%99%BA%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E5%85%AC%E9%96%8B">2つ目の個人開発サービス公開</a></h1> <p>アプリケーションのモダン化を勉強しようと個人開発を始めて、以下の記事のように公開していました。もう振り返ると1年経つんですね… こういった個人開発活動を続けることにより、少しずつ知識も身についてきて、開発スピードも上がってきていました。</p> <ul> <li><p>Github Issuesをキレイに外部公開するサービス「2go」作ってみた</p> <ul> <li>https://qiita.com/nice2have/items/28449ae4ef45fef2c671</li> </ul></li> <li><p>海外進出を目指して、ProductHuntへ個人開発サービスを投稿するまでにやったこと&やった結果を全面的にシェアする</p> <ul> <li>https://qiita.com/nice2have/items/f59a27c266efb9b8821c</li> </ul></li> </ul> <p>実際には公開していないのですが、atodyという「Twitterでいいねしたツイートに含まれるリンク・画像だけを自動でまとめてブックマーク化できるサービス」を開発したのですが、いまいちサービスの完成度に納得がいっていなく、開発したサービスとしては3つとなったのですが、公開したサービスは2つとなります。</p> <p><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1997184/3f2dbeed-c2cb-8437-164e-78a8797ea9df.png" alt="ogp.png" /></p> <h1 id="簡単Webアンケート"><a href="#%E7%B0%A1%E5%8D%98Web%E3%82%A2%E3%83%B3%E3%82%B1%E3%83%BC%E3%83%88">簡単Webアンケート</a></h1> <p>今回は会社の一定の範囲で簡単にアンケートを取りたいときに、Google FormsやMicrosoft Formsを作るのは手間だな、もっとライトな感じで反応を知りたいなと思ったのがきっかけです。</p> <p>また、アンケートの回答を得るまでのハードルが結構高いと思ったんです。アンケートURLにアクセスして、回答を入力して、、、となると、答えてくれる人が少なくなってしまって、アンケートの価値が薄まってしまうような気がしたんですよね。</p> <h1 id="機能を最小限に絞ったアンケートをリリースしよう"><a href="#%E6%A9%9F%E8%83%BD%E3%82%92%E6%9C%80%E5%B0%8F%E9%99%90%E3%81%AB%E7%B5%9E%E3%81%A3%E3%81%9F%E3%82%A2%E3%83%B3%E3%82%B1%E3%83%BC%E3%83%88%E3%82%92%E3%83%AA%E3%83%AA%E3%83%BC%E3%82%B9%E3%81%97%E3%82%88%E3%81%86">機能を最小限に絞ったアンケートをリリースしよう</a></h1> <p>これらの課題を解決しようと、ankeytoというアンケート機能を最小限に絞ったサービスを開発しようということに至りました。ankeytoはアンケートのモジりで「アンキート」と名付けることにしました。ちなみに、先程のatodyも「あとで」のモジりで「アトディ」と名付けています。</p> <p><a target="_blank" rel="nofollow noopener" href="https://ankeyto.com">https://ankeyto.com</a></p> <p>開発する前の大まかなコンセプトは、A3ノートにまとめる用にしているのですが、汚い字で申し訳ないですが、公開してみます。<br /> <img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1997184/8871aa10-08b9-76f6-447b-42611f8a02a4.jpeg" alt="IMG_1337.jpg" /><br /> サービスのコンセプトは以下の2つと設定しました。<br /> + 最大3つまでの選択肢<br /> + 選択肢ごとのURLにアクセスすればもう回答済みになる<br /> <img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1997184/ec5dcfde-7952-6f6b-2aa7-679b603afbd2.png" alt="image.png" /><br /> そのため、選択肢を表示して回答ができるページをSNSでシェアするのではなく、アクセスしたら回答できるURLをSNSでシェアするだけで良くなるのです。例えば、「これが良いと思ったら、このURLにアクセスして!」と言えば良くなり、アンケート回答のステップとハードルを減らすことができるのです。つまり、個人個人で対象への「いいね」を調査・獲得できるイメージです。<br /> <img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1997184/29d7fd65-e416-566f-3b3c-9345e146f755.png" alt="image.png" /></p> <h1 id="画面イメージ"><a href="#%E7%94%BB%E9%9D%A2%E3%82%A4%E3%83%A1%E3%83%BC%E3%82%B8">画面イメージ</a></h1> <p>こちらのようにアンケート回答がリアルタイムにグラフやUIに反映されるので、回答が多いと変化を楽しめるかもしれません。例えば、プレゼン最中の意見を軽く聞きたいときや、勉強会のフィードバックを簡単に得たいときなどに利用できるかもしれません。<br /> <img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1997184/12cb36a5-f89b-8aad-dded-dffcc5f7c223.gif" alt="demo.gif" /></p> <p>アンケートを作るときの画面も極力シンプルにしています。こちらもログインが必要だと手間が増えてしまったり、入力項目数が多いと途中で離脱してしまう可能性が高くなってしまうので、最小限にすることを意識しています。<br /> <img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1997184/737aa90d-06ef-4ebc-a439-1dcfc31e9e66.png" alt="image.png" /></p> <h1 id="利用技術"><a href="#%E5%88%A9%E7%94%A8%E6%8A%80%E8%A1%93">利用技術</a></h1> <p>個人開発者としてはまだまだペーペーなので、利用技術も運用負荷が最小限になることを意識しています。<br /> - Firebase(Firestore/Functions/Hosting)<br /> - Vue.js<br /> - Tailwindcss<br /> - Slack</p> <p>サービス自体がとてもシンプルなので、HostingでWebページを表示し、質問作成や回答をFunctionsで処理し、結果をFirestoreでリアルタイムに反映しているだけです。一応、モチベーション維持のために、質問が作成されたり、回答されたりしたら、FuncitonsからSlackに通知されるようにしています。</p> <h1 id="将来に向けて"><a href="#%E5%B0%86%E6%9D%A5%E3%81%AB%E5%90%91%E3%81%91%E3%81%A6">将来に向けて</a></h1> <p>最後に、将来は以下のロードマップを考えています。<br /> - URLにアクセスするよりもさらにハードルを下げるために、URLをQRコード化できるように。<br /> - Cookie等を利用した重複回答者の防止機能<br /> - 質問IDをランダムでなく、わかりやすいIDを提供できる機能<br /> - API機能(UIだけでなく、いいねAPIを提供)<br /> - 英語対応</p> <h1 id="最後に。"><a href="#%E6%9C%80%E5%BE%8C%E3%81%AB%E3%80%82">最後に。</a></h1> <p>まさにこのankeytoを利用して、このWebサービスってどうですか?とアンケートを取って終われればと思います。以下が質問ページから、SNS共有用にコピーできる文章になります。「いい!」か「まあまあ」のURLにアクセスすれば回答が完了しますので、ぜひよろしくお願いします!</p> <blockquote> <p>Q. このWebサービスってどうですか?<br /> https://ankeyto.com/q/BbDJA3P11</p> <p>いい! : https://ankeyto.com/BbDJA3P11/1<br /> まあまあ : https://ankeyto.com/BbDJA3P11/2</p> </blockquote> <p>また、個人開発の進捗などを垂れ流すTwitterもやっていますので、こちらもよろしければフォローお願いします。<br /> <a target="_blank" rel="nofollow noopener" href="https://twitter.com/jnakajima1982">https://twitter.com/jnakajima1982</a></p> jnakajima1982 tag:crieit.net,2005:PublicArticle/18232 2022-06-26T21:18:47+09:00 2022-06-26T21:22:16+09:00 https://crieit.net/posts/Web-62b84ea799d15 ブラウザだけで複数コピペ保存・共有が出来るWebサイト <p>個人的に困っていた事を解消するサイトを作ったので紹介させて下さい。</p> <h1 id="コピのすけとは"><a href="#%E3%82%B3%E3%83%94%E3%81%AE%E3%81%99%E3%81%91%E3%81%A8%E3%81%AF">コピのすけとは</a></h1> <p>ブラウザだけでパソコンやスマホ間で、複数コピペの保存・共有が出来るサイトです。<br /> 入力内容は保存及び共有時に暗号化されます。</p> <p><a target="_blank" rel="nofollow noopener" href="https://copypaste.stingrey.xyz/">コピのすけ</a></p> <h1 id="困っていた事"><a href="#%E5%9B%B0%E3%81%A3%E3%81%A6%E3%81%84%E3%81%9F%E4%BA%8B">困っていた事</a></h1> <p>ちょっとしたコピペの繰り返しや、他の端末(パソコンからスマホ等)に送りたい時、<br /> アプリや連携サービスを使うまでも無いのになと、少し手間に感じていました。</p> <p>このちょっとした手間を解消するために「コピのすけ」サイトを作成しました。</p> <h1 id="機能"><a href="#%E6%A9%9F%E8%83%BD">機能</a></h1> <h4 id="複数テキスト枠でのコピー機能"><a href="#%E8%A4%87%E6%95%B0%E3%83%86%E3%82%AD%E3%82%B9%E3%83%88%E6%9E%A0%E3%81%A7%E3%81%AE%E3%82%B3%E3%83%94%E3%83%BC%E6%A9%9F%E8%83%BD">複数テキスト枠でのコピー機能</a></h4> <p>テキスト枠が複数あり、それぞれの内容を「コピー」ボタンでクリップボードにコピー出来ます。<br /> <img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/297571/b8820f97-8b9c-cb07-9070-fbd864b497c1.png" alt="image.png" /></p> <h3 id="保存"><a href="#%E4%BF%9D%E5%AD%98">保存</a></h3> <p>暗号化したコピー内容をブラウザに保存出来ます。<br /> <img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/297571/1f2d9b5b-cfab-62d1-715a-fc8378dcae21.png" alt="image.png" /></p> <h3 id="URL共有"><a href="#URL%E5%85%B1%E6%9C%89">URL共有</a></h3> <p>URLでコピー内容を共有出来ます。<br /> <img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/297571/69c72b6a-da72-db74-9e54-9ee9e30aa7a8.png" alt="image.png" /></p> <h3 id="リアルタイム共有"><a href="#%E3%83%AA%E3%82%A2%E3%83%AB%E3%82%BF%E3%82%A4%E3%83%A0%E5%85%B1%E6%9C%89">リアルタイム共有</a></h3> <p>複数端末でコピー内容をリアルタイムに共有出来ます。<br /> <img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/297571/1dedf782-bac2-b163-5968-2f1080a7c57e.png" alt="image.png" /></p> <h1 id="こだわりポイント"><a href="#%E3%81%93%E3%81%A0%E3%82%8F%E3%82%8A%E3%83%9D%E3%82%A4%E3%83%B3%E3%83%88">こだわりポイント</a></h1> <ul> <li>スマホを考慮し、ボタン配置や操作性などの対策を行っています。</li> <li>テキストエリアがコピーする内容に応じて自動調整します。</li> <li>セキュリティを考慮し、暗号化対策を行い、安全性を高めています。</li> </ul> <p>同じ事でお困りな方がいましたら、ぜひご活用下さい。</p> <p><a target="_blank" rel="nofollow noopener" href="https://copypaste.stingrey.xyz/">コピのすけ</a></p> 【コピのすけ】コピペ保存・共有 Webサイト 運用 tag:crieit.net,2005:PublicArticle/18231 2022-06-26T14:43:49+09:00 2022-06-26T14:52:21+09:00 https://crieit.net/posts/Subreco-3 サブスクの解約忘れ・無駄遣いを防止するサービス「Subreco」を開発して得た3つの学び <h2 id="筆者について"><a href="#%E7%AD%86%E8%80%85%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6">筆者について</a></h2> <p>「多くのユーザーが実際に使って、価値があるものはなんだろう?」と考えながら、個人開発を趣味ではなく「<strong>収益を出す</strong>」ために行なっています。</p> <p>技術だけでなく、デザインやグロースハックも好きで、色々な視点からWebサービスを作り上げていくのが好きです。</p> <p>今回ご紹介する「<strong><a target="_blank" rel="nofollow noopener" href="https://bit.ly/3niPqoN">Subreco</a></strong>」は個人開発を始めて3つ目のサービスとなります。</p> <p><strong><a target="_blank" rel="nofollow noopener" href="https://bit.ly/3niPqoN">Subrecoの公式サイトはこちら</a></strong></p> <h2 id="なぜ、サブスク管理サービス「Subreco」を作ったのか?"><a href="#%E3%81%AA%E3%81%9C%E3%80%81%E3%82%B5%E3%83%96%E3%82%B9%E3%82%AF%E7%AE%A1%E7%90%86%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E3%80%8CSubreco%E3%80%8D%E3%82%92%E4%BD%9C%E3%81%A3%E3%81%9F%E3%81%AE%E3%81%8B%EF%BC%9F">なぜ、サブスク管理サービス「Subreco」を作ったのか?</a></h2> <p><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/326850/ea6daaa9-5fae-ecc7-c8f1-3a99368d62e8.png" alt="スクリーンショット 2022-06-26 12.44.09.png" /><br /> 自分自身、何度もサブスクの「<strong>解約忘れ</strong>」で失敗した経験があったからです。</p> <p>あなたも、サブスクなどで使っていないサービスを解約し忘れて"<strong>無駄な支払いをしてしまった経験</strong>"ありませんか?</p> <p>家計簿アプリ、クレジットカード会社が提供しているアプリは時々見ていたものの、「<strong>あっこのサービス使ってないのに解約し忘れたぁ!(絶望…)</strong>」ということが何回かあったんですね。</p> <p>1回だけならいいのですが。何回も経験したので「さすがにどうにかしたいなぁ」と思って、次はメモアプリとカレンダーアプリを併用して使っていました。</p> <p>これでサブスクと契約更新日を両方管理できる!対策バッチリ!</p> <p><strong>、、、と思いきや、だんだんメモとカレンダーアプリで二重管理するのが面倒くさくなり、結果的に続かなかったんです。。</strong></p> <p>メモアプリやカレンダーアプリだと「<strong>毎回今月は〇〇を使っていたっけ…?</strong>」とわざわざ自分が使っているサービスを"<strong>意識</strong>"して見直さなければなりません。</p> <p>でも、そんなの毎回意識できないし、面倒ですよね?</p> <p>この経験から、使っているサブスクを「<strong>定期的に見直す仕組みを自動化</strong>」しようと生まれたのがSubrecoです。</p> <h2 id="Subrecoの特徴"><a href="#Subreco%E3%81%AE%E7%89%B9%E5%BE%B4">Subrecoの特徴</a></h2> <p><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/326850/9498e705-0014-ad3a-e72c-12981a941dc5.png" alt="スクリーンショット 2022-06-23 13.28.50.png" /><br /> Subrecoの使い方はシンプルに3STEPで完結します。</p> <pre><code>①今使っている全てのサブスクを一括管理して把握する ②各サブスクの契約更新日があるたびに自動通知する ③通知があるたびに「利用継続」or 「利用停止」を判断する </code></pre> <p>契約更新日はメールで自動通知するため、わざわざメモを見直したり、毎回カレンダーで契約更新日を設定し直さなくて済むのがポイント。</p> <p>使っているサブスクを登録しておくだけで、自動でSubrecoが契約更新日をお知らせします。</p> <p><strong><a target="_blank" rel="nofollow noopener" href="https://bit.ly/3niPqoN">Subrecoの公式サイトはこちら</a></strong></p> <h2 id="「Subreco」を作って得た学び"><a href="#%E3%80%8CSubreco%E3%80%8D%E3%82%92%E4%BD%9C%E3%81%A3%E3%81%A6%E5%BE%97%E3%81%9F%E5%AD%A6%E3%81%B3">「Subreco」を作って得た学び</a></h2> <pre><code>①慣れないことはしない ②コア機能を徹底的に絞る ③自分は使うのかを考える </code></pre> <p>ここからは実際に<a target="_blank" rel="nofollow noopener" href="https://bit.ly/3niPqoN">Subreco</a>を開発して、得た学びを3つ紹介します。</p> <h3 id="①慣れないことはしない"><a href="#%E2%91%A0%E6%85%A3%E3%82%8C%E3%81%AA%E3%81%84%E3%81%93%E3%81%A8%E3%81%AF%E3%81%97%E3%81%AA%E3%81%84">①慣れないことはしない</a></h3> <p>実は、当初SubrecoはNuxt.jsで作っていました。(ちなみにNuxt.jsを使うのが今回が始めて)</p> <p>最初は順調だったものの、徐々にハマるポイントが多く、開発スピードが落ちてきたので、思い切ってLaravel×Vue.jsでリプレイスしました。</p> <p>結果、開発スピードは<strong>3倍</strong>以上にUP。</p> <p>ここから分かったのは、収益目的で個人開発をする場合、<strong>絶対に自分が慣れているフレームワークで開発すべき</strong>だということ。</p> <p>ただでさえ開発以外にもすべきこと(デザイン、マーケetc.)が多いのに、開発に負荷がかかる進め方は合理的でないと痛感しました。</p> <h3 id="②コア機能を徹底的に絞る"><a href="#%E2%91%A1%E3%82%B3%E3%82%A2%E6%A9%9F%E8%83%BD%E3%82%92%E5%BE%B9%E5%BA%95%E7%9A%84%E3%81%AB%E7%B5%9E%E3%82%8B">②コア機能を徹底的に絞る</a></h3> <p>テレビのリモコンを想像してみましょう。</p> <p><code>・電源の入/切ができる</code><br /> <code>・チャンネルで主要な局が切り替えられる</code></p> <p>一番使う機能が多いのは上記だと思います。</p> <p>しかし、実際にテレビのリモコンを見ると他にもボタンがありますよね。<br /> で、実際にほとんどのボタンを使っていないという方も多いのではないでしょうか?</p> <p>そう。<strong>実際にユーザーが求めている機能はシンプル</strong>であることが多いです。</p> <p>これはWebサービスも同じ。</p> <p><a target="_blank" rel="nofollow noopener" href="https://bit.ly/3niPqoN">Subreco</a>の場合、</p> <pre><code>・サブスクの管理が一覧で見れること ・カレンダー形式で契約更新日を確認できること ・契約更新日を自動でメール通知してくれること </code></pre> <p>これさえあれば、<strong>Subrecoが提供したい価値の必要条件は満たせている</strong>と判断して実装していました。</p> <p>実装前に大事なのは、Webサービスの機能として「<strong>必要条件</strong>」と「<strong>十分条件</strong>」を分けて考えること。</p> <p>これは過去の自分に何回も言い聞かせたいです。</p> <h3 id="③自分は使うのかを考える"><a href="#%E2%91%A2%E8%87%AA%E5%88%86%E3%81%AF%E4%BD%BF%E3%81%86%E3%81%AE%E3%81%8B%E3%82%92%E8%80%83%E3%81%88%E3%82%8B">③自分は使うのかを考える</a></h3> <p>個人開発でアイディアを出す際に、</p> <pre><code>①自分起点・・・自分の課題を解決するアイディア ②相手起点・・・自分以外の人が抱えている課題を解決するアイディア </code></pre> <p>の2パターンがあります。</p> <p>今回思ったのが、個人開発をするという前提に立って言えば、圧倒的に<strong>自分起点</strong>で開発するのが良いと思いました。</p> <p>なぜなら、スタート地点で需要が少なくとも「<strong>1つ</strong>」は存在しているから。<br /> 需要が0の場合はそこからスケールさせようがないですが、1であればスケールさせられる可能性は残っています。</p> <p>また、1番のヘビーユーザーは自分になるため、あった方が良い機能や操作する中で潜在的なバグに気付くことができます。<br /> 最悪、誰も使わなくても自分を助けてくれるツールとして機能するので"<strong>一石三鳥</strong>"ですね。</p> <h2 id="まとめ"><a href="#%E3%81%BE%E3%81%A8%E3%82%81">まとめ</a></h2> <p><img src="https://storage.googleapis.com/zenn-user-upload/62663bd93952-20220626.png" alt="" /></p> <p>収益目的で個人開発をすると考えることは膨大にあります。</p> <p>もしかしたら、あなたも「<strong>個人開発で収益を出したい!</strong>」と、もがいて、あがいている途中かもしれません。</p> <p>僕もあなたと一緒です...!</p> <p>ただ、辛いことや苦しいことがつきものの個人開発ですが、その過程で得られる</p> <p><strong>「うひょ〜!」という小さな成功体験</strong>(考えていた機能が完成した時etc.)<br /> <strong>「よし進んでるな」という実感(Todoリストにチェックを入れる瞬間)</strong></p> <p>これらは<strong>圧倒的な揺るぎない自信、資産</strong>として必ず残っていきます。</p> <p>だからこそ、個人開発を続けている方は諦めないで、一緒に頑張りましょう!</p> <p>僕は引き続き<a target="_blank" rel="nofollow noopener" href="https://bit.ly/3niPqoN">Subreco</a>の改善を続けていきます!ではでは!</p> <p><strong><a target="_blank" rel="nofollow noopener" href="https://bit.ly/3niPqoN">Subreco</a>を実際に利用してみて、ご要望・感想などありましたら、メッセージ頂けると嬉しいです!^^</strong></p> サイゼン tag:crieit.net,2005:PublicArticle/18229 2022-06-20T00:07:10+09:00 2022-06-22T13:24:17+09:00 https://crieit.net/posts/7c045f1367597bbed93ffcea6d3a40e2 一つのサービスかたくさんのサービスか <p>個人でサービス(アプリ含む)を作る時には2通りのやり方がある。それは一つのサービスに集中して開発するか、たくさんのサービスを作っていくか。どちらのパターンにどういうメリットとデメリットがあるかつらつらと書いてみる。ちなみに僕はとにかくたくさん作って特に何も成功していないという事例。</p> <h2 id="体験できることのバリエーション"><a href="#%E4%BD%93%E9%A8%93%E3%81%A7%E3%81%8D%E3%82%8B%E3%81%93%E3%81%A8%E3%81%AE%E3%83%90%E3%83%AA%E3%82%A8%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3">体験できることのバリエーション</a></h2> <p>サービスを作ると色々なことを体験できる。その体験できることのバリエーションは、当然サービスをたくさん作る時のほうが多い。サービスによって必要な集客方法が違ったり、Webサービスやスマホアプリを作ってみたり、開発時に試行錯誤しないといけない箇所が違ったり。</p> <p>また、集客をした時の効果や反応も異なる。特にスマホアプリの場合は同じように作って同じように集客したりしているだけなのに全く利用者数が異なってきたりする。こういった内部の実情は実際に色々と作って試してみないと体験できないことでためになる。</p> <p>一つのサービスしか作っていない場合はこういった部分での体験できるバリエーションは少なくなる。</p> <h2 id="集中度"><a href="#%E9%9B%86%E4%B8%AD%E5%BA%A6">集中度</a></h2> <p>ただし一つのサービスだからこそ得られることもある。うまくいかない時に思考錯誤することに集中してあれこれやってみることは一つのサービスのほうがやりやすい。</p> <p>たくさんのサービスを作ってしまうと、全てに対応しきれなくなってしまう。僕もスマホアプリをいくつか運用している中でいくつかのアプリで問い合わせが来るのだが、全然対応しきれていない。やらないといけないことが多すぎるので、どうしても優先順位を定めて行う必要が出てくる。そのためアクセスの少ないアプリなどはほとんどなにもできず放置じょうたいとなってしまう。使ってくれるユーザーの声は届くのに何も貢献できない状態が続き、心が痛む。こういう時に一つのサービスにじっくり集中できたらな…と感じる。</p> <h2 id="成功する確率"><a href="#%E6%88%90%E5%8A%9F%E3%81%99%E3%82%8B%E7%A2%BA%E7%8E%87">成功する確率</a></h2> <p>サービスに人が集まって十分な収益化もできて成功する確率はどちらが高いのか。これは成功してないのでよく知らないがどちらとも言えないと思う。</p> <p>色々な開発者を見ていると、一つに集中してうまく収益化できている人もいるし、たくさん作ってようやくガッツリ成功している人もいる。また、成功してもたくさん作っている人もいる。</p> <p>そもそも成功すること自体が難しいのだから、どちらのパターンで作ればOKという答え自体この世には存在しない。どうやって成功するのか、それは自分で考えて、やってみて実際に到達してみるしかない。誰かが成功したパターンが自分に当てはまるということもない。全く同じものを作って同じように運用してみても同じ様になるとは限らない。とにかくやってみるしかない。</p> <p>もちろん、そのサービスを誰が利用したいのかまわりからみて明らかに全然わからない、という場合も存在するかもしれない。それに盲信的に開発し続けるのは危険な可能性はある。ひたすら無駄に時間を失ってしまう。しかし意外とそれが成功してしまうパターンもあるかもしれない。客観的な目でしっかり色々な点を見つめ、自分で考えるしかない。</p> <h2 id="まとめ"><a href="#%E3%81%BE%E3%81%A8%E3%82%81">まとめ</a></h2> <p>何もわからん</p> だら@Crieit開発者 tag:crieit.net,2005:PublicArticle/17942 2022-01-17T18:28:45+09:00 2022-01-17T18:48:17+09:00 https://crieit.net/posts/inyoo-jp 「引用」をいい感じに展開してくれるサービス「inyoo.jp」をリリースしました <p><a href="https://crieit.now.sh/upload_images/c582b9550ad9d33818f4e53305ff22bd61e53b56e38dc.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/c582b9550ad9d33818f4e53305ff22bd61e53b56e38dc.png?mw=700" alt="image" /></a></p> <p><a target="_blank" rel="nofollow noopener" href="https://inyoo.jp/">inyoo.jp</a> は「引用」をいい感じに展開してくれる短縮 URL サービスです。</p> <p>ウェブの記事などを読んでいて、文章の一部を SNS に「引用」をしたくなったとき、該当箇所を選択して右クリックから「選択箇所へのリンクをコピー」して、</p> <p><a href="https://crieit.now.sh/upload_images/67935bf49b91593abd392ee7c82d06f561e5354a51b5b.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/67935bf49b91593abd392ee7c82d06f561e5354a51b5b.png?mw=700" alt="image" /></a></p> <p>このリンクの URL を <a target="_blank" rel="nofollow noopener" href="https://inyoo.jp/">inyoo.jp</a> のトップページのフォームに貼り付けて「引用を作成」を押します。</p> <p><a href="https://crieit.now.sh/upload_images/884882a729245b2440210c3229a7c2f061e5356a09fbf.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/884882a729245b2440210c3229a7c2f061e5356a09fbf.png?mw=700" alt="image" /></a></p> <p>作成された「引用」を Twitter や Facebook などにシェアすると、こんな感じで引用部分のテキストが画像でいい感じに展開されます!</p> <p><a href="https://crieit.now.sh/upload_images/79a6e1024aa7241cac2bc45fe29eeeca61e5358281ca9.jpg" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/79a6e1024aa7241cac2bc45fe29eeeca61e5358281ca9.jpg?mw=700" alt="image" /></a></p> <p>ちなみにこのリンクは開くとページが自動的にスクロールされて、引用の該当箇所がハイライトされるようになっています。説明を読んだだけだと何がなんだか分からないかなと思いますので、ぜひ試しに使ってみてくださいね!</p> <p><a href="https://crieit.now.sh/upload_images/a19f82238ceb31dc74ef1f732740713461e535b70842f.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/a19f82238ceb31dc74ef1f732740713461e535b70842f.png?mw=700" alt="image" /></a></p> <p>また、Google Chrome 以外のブラウザや、スマートフォンからの利用方法など、詳しい使い方は <a target="_blank" rel="nofollow noopener" href="https://inyoo.jp/">トップページ</a> の「使い方」に詳しく書いてありますので、そちらをご参照ください。</p> <h2 id="ここまで読んでくれた方へ"><a href="#%E3%81%93%E3%81%93%E3%81%BE%E3%81%A7%E8%AA%AD%E3%82%93%E3%81%A7%E3%81%8F%E3%82%8C%E3%81%9F%E6%96%B9%E3%81%B8">ここまで読んでくれた方へ</a></h2> <p>ぜひ試しに <a target="_blank" rel="nofollow noopener" href="https://inyoo.jp/">inyoo.jp</a> を使ってみてください!!</p> <p>ご意見や不具合の報告、フィードバックや改善の要望など、何かありましたら Twitter で <a target="_blank" rel="nofollow noopener" href="https://twitter.com/inyoo_jp">@inyoo_jp</a> までメンションか DM をお願いします!また、いいねやコメント、SNS での共有などをしていただけると今後の励みになります。</p> <p>よろしくお願いします!!!</p> inyoo.jp tag:crieit.net,2005:PublicArticle/17897 2021-12-28T18:17:57+09:00 2021-12-28T19:28:19+09:00 https://crieit.net/posts/yuneco-2021 2021年個人的なまとめ:個人制作と技術記事など <p>年末なので超個人的に今年の個人制作とお仕事を振り返ろうと思います。Qiitaでやると会社の宣伝っぽくなっちゃいそうな気もするし、Zennもなんか違うなーって思うので、Crieitで書きます。</p> <h2 id="個人開発"><a href="#%E5%80%8B%E4%BA%BA%E9%96%8B%E7%99%BA">個人開発</a></h2> <p>まずはプライペートの開発から。UXとかやってた割に、個人で何か作るときはサービス開発とかマネタイズとかあいかわらずガン無視です。おかげで一銭にもなってません。。カモン石油王</p> <h3 id="2021.2 3代目メザシアタック(ゲーム)"><a href="#2021.2+3%E4%BB%A3%E7%9B%AE%E3%83%A1%E3%82%B6%E3%82%B7%E3%82%A2%E3%82%BF%E3%83%83%E3%82%AF%EF%BC%88%E3%82%B2%E3%83%BC%E3%83%A0%EF%BC%89">2021.2 3代目メザシアタック(ゲーム)</a></h3> <p><img src="https://nekomzs21.web.app/ogp.png" alt="" /><br /> <a target="_blank" rel="nofollow noopener" href="https://nekomzs21.web.app/">ネコメザシアタック21</a></p> <p>リポジトリ: <a target="_blank" rel="nofollow noopener" href="https://github.com/yuneco/mezashi21">https://github.com/yuneco/mezashi21</a><br /> 記事: <a target="_blank" rel="nofollow noopener" href="https://qiita.com/yuneco/items/2f23f56acbc8f4e23dff">VueとPixi.JSでアクションゲーム『ネコメザシアタック』を開発して3年目なのでソースと解説</a></p> <p>毎年恒例になってしまった猫の日のゲーム開発。今年はPixiでグラを頑張ったらコード量倍増。<br /> 技術的には得るもの大きかったけど、なんかダメなゲーム開発の系譜を辿ってる気もするので来年はやるならもうちょいコンパクトにいきたい。</p> <p>上記の記事には3年分の変遷をまとめているのでよろしければ見てやってください。</p> <ul> <li>開発環境 Vue CLI</li> <li>言語 TS3.9</li> <li>Vueのバージョン <ul> <li>vue: 3.0.0</li> <li>vue-router: 4.0.0-0</li> <li>vuex: 4.0.0</li> </ul></li> <li>コンポーネントの書き方: Composition API</li> </ul> <h3 id="2021.7 petite-vueのジャンプゲーム(ゲーム・実験)"><a href="#2021.7+petite-vue%E3%81%AE%E3%82%B8%E3%83%A3%E3%83%B3%E3%83%97%E3%82%B2%E3%83%BC%E3%83%A0%EF%BC%88%E3%82%B2%E3%83%BC%E3%83%A0%E3%83%BB%E5%AE%9F%E9%A8%93%EF%BC%89">2021.7 petite-vueのジャンプゲーム(ゲーム・実験)</a></h3> <p>リポジトリ: <a target="_blank" rel="nofollow noopener" href="https://github.com/yuneco/petite-vue-example-game">https://github.com/yuneco/petite-vue-example-game</a><br /> 記事: <a target="_blank" rel="nofollow noopener" href="https://zenn.dev/yuneco/articles/petite-vue-hello">ゲームを作ってpetite-vueを完全に理解する</a></p> <p>なんかVueの新しいのが出たぞ!って話で、とりあえず試してみたかった。<br /> 正直普段はVite + TSの方が楽なので、あんまり使い所がないのがちょっと悲しい。</p> <p>petite-vueについては<a target="_blank" rel="nofollow noopener" href="https://twitter.com/ojklab">@ojklab</a>さんが<a target="_blank" rel="nofollow noopener" href="https://zenn.dev/ojk/books/intro-to-vue">文系大学生のためのpetite-vue入門</a>にまとめてくださっているので気になる方は是非(無料...だと...?)</p> <ul> <li>開発環境 なし</li> <li>言語 JS(ネイティブES Modules)</li> <li>Vueのバージョン <ul> <li>petite-vue 0.2.2</li> </ul></li> </ul> <h3 id="2021.10 miracle-pencil(お絵描きアプリ)"><a href="#2021.10+miracle-pencil%EF%BC%88%E3%81%8A%E7%B5%B5%E6%8F%8F%E3%81%8D%E3%82%A2%E3%83%97%E3%83%AA%EF%BC%89">2021.10 miracle-pencil(お絵描きアプリ)</a></h3> <blockquote class="twitter-tweet"><p lang="ja" dir="ltr">いい感じになってきた。年内にはリリースしたい <a target="_blank" rel="nofollow noopener" href="https://t.co/bEwiH6fur5">pic.twitter.com/bEwiH6fur5</a></p>— ゆき (@yuneco) <a target="_blank" rel="nofollow noopener" href="https://twitter.com/yuneco/status/1472596507929223171?ref_src=twsrc%5Etfw">December 19, 2021</a></blockquote> <p>リポジトリ(コア): <a target="_blank" rel="nofollow noopener" href="https://github.com/yuneco/symmpaint">https://github.com/yuneco/symmpaint</a><br /> リポジトリ(UI): <a target="_blank" rel="nofollow noopener" href="https://github.com/yuneco/miracle-pencil">https://github.com/yuneco/miracle-pencil</a></p> <p><a target="_blank" rel="nofollow noopener" href="https://hackmd.io/@jNtaNnvwS_2CVnabY2ILPw/HkV3jIujE?type=view">複雑GUI会</a>のペイントソフト回に触発されて始めたプロジェクトでシンメトリーに特化したお絵かきソフトです。万華鏡とか薔薇窓とか魔法陣とかみたいな、円形に対称な図形が並ぶ表現を簡単に作れます。</p> <p>コアの機能を生Canvas + TSでゴリゴリ書いて、UIはVueでサクッとつけるアプローチ。アイデア自体はずいぶん昔からあったんだけど、ようやく自分のスキルが追いついて実装できた。でも数学弱いから座標が辛い...。。「エンジニアに数学は必要か?」みたいな話題は毎年一度は出てくるけど、「数学できればもっと踏み込めるのに」って思うシーンは多いので、できるに越したことはないんじゃないかなぁ...。</p> <ul> <li>開発環境: Vite 2.6</li> <li>言語: TS4.4</li> <li>Vueのバージョン <ul> <li>vue: 3.2.16</li> <li>pinia: 2.0.0</li> </ul></li> <li>コンポーネントの書き方: Composition API + Script setup</li> </ul> <h3 id="2021.12 アニメーション粉砕するマン(クソアプリ)※Chrome拡張"><a href="#2021.12+%E3%82%A2%E3%83%8B%E3%83%A1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E7%B2%89%E7%A0%95%E3%81%99%E3%82%8B%E3%83%9E%E3%83%B3%EF%BC%88%E3%82%AF%E3%82%BD%E3%82%A2%E3%83%97%E3%83%AA%EF%BC%89%E2%80%BBChrome%E6%8B%A1%E5%BC%B5">2021.12 アニメーション粉砕するマン(クソアプリ)※Chrome拡張</a></h3> <p>リポジトリ: <a target="_blank" rel="nofollow noopener" href="https://github.com/yuneco/animation-pulverizer">https://github.com/yuneco/animation-pulverizer</a><br /> 記事: <a target="_blank" rel="nofollow noopener" href="https://qiita.com/yuneco/items/24a209cb14661b8a7a20">😡webのスクロールでふわっと出てくるやつ絶対粉砕するマン【クソアプリ】</a></p> <p>年末恒例のクソアプリです。個人的に最近Qiitaのアドベントカレンダーは業務参加の真面目な記事増えちゃってちょっと面白くないなーって感じてるのですが(情報発信にポジティブな会社が増えてるからいいことなんですけどね、もちろん)、ここだけは相変わらず無法地帯というか、職務もポジションも全部捨ててやりたい放題な感じがすごく好きです。</p> <p>結果的にこの記事が今年一番ウケた技術ネタになってしまってちょっとやっちまった感もあるのですが、ツイートやはてブのコメントを見る限りネタとして笑いつつ技術的な部分に興味持ってくれた方が結構いたようで、頑張った甲斐はあったと思ってます。</p> <h2 id="仕事で書いた記事"><a href="#%E4%BB%95%E4%BA%8B%E3%81%A7%E6%9B%B8%E3%81%84%E3%81%9F%E8%A8%98%E4%BA%8B">仕事で書いた記事</a></h2> <p>会社の仕事は基本的に受託の業務であんまり外に公表できるネタがないのだけど、その代わり記事をいくつか書いてます。<br /> 今年は「<strong>バズり狙いはせず、フロント界隈のために自分が必要だと思ったことを書こう</strong>」って趣旨で、できるだけ表層的なライブラリとかテクニックとかの話題は避けるようにしてました。まあ結果はお察しなのだけど、それでも良いのです(強がり)</p> <h3 id="VS Code &amp; TypeScriptとp5.jsで始めるモダンなクリエイティブコーディング入門"><a href="#VS+Code+%26amp%3B+TypeScript%E3%81%A8p5.js%E3%81%A7%E5%A7%8B%E3%82%81%E3%82%8B%E3%83%A2%E3%83%80%E3%83%B3%E3%81%AA%E3%82%AF%E3%83%AA%E3%82%A8%E3%82%A4%E3%83%86%E3%82%A3%E3%83%96%E3%82%B3%E3%83%BC%E3%83%87%E3%82%A3%E3%83%B3%E3%82%B0%E5%85%A5%E9%96%80">VS Code & TypeScriptとp5.jsで始めるモダンなクリエイティブコーディング入門</a></h3> <p><img src="https://ics.media/entry/210129/images/eyecatch.png" alt="" /><br /> <a target="_blank" rel="nofollow noopener" href="https://ics.media/entry/210129/">VS Code & TypeScriptとp5.jsで始めるモダンなクリエイティブコーディング入門</a></p> <p>Processing界隈とフロントエンド業界、近いように見えてあんまりオーバーラップしてなさそうだっので、うまく橋渡しできないかなーって気持ちで書いた記事。もっとフロントの人もクリエイティブな作品作りに触れて欲しいし、Processingから始めた人は是非モダンな環境でパワーアップして欲しい。</p> <p>あと、個人的にはこのOGP画像は結構頑張って作ったので、可愛いって言ってもらえて嬉しかったです。</p> <h3 id="もう誤魔化さない!CSS Transform完全入門(2D編)"><a href="#%E3%82%82%E3%81%86%E8%AA%A4%E9%AD%94%E5%8C%96%E3%81%95%E3%81%AA%E3%81%84%EF%BC%81CSS+Transform%E5%AE%8C%E5%85%A8%E5%85%A5%E9%96%80%282D%E7%B7%A8%29">もう誤魔化さない!CSS Transform完全入門(2D編)</a></h3> <p><img src="https://ics.media/entry/210311/images/eyecatch.png" alt="" /><br /> <a target="_blank" rel="nofollow noopener" href="https://ics.media/entry/210311/">もう誤魔化さない!CSS Transform完全入門(2D編)</a></p> <p>CSS Transformをちゃんと解説してる情報って意外と少ないなーって思って書いた。transformって結構仕様複雑で普通に使っててハマる落とし穴も多いと思うんだけど、みんなどうやって回避してるんだろう? あんまり伸びなかったけどすぐに古くなる情報ではないので長く誰かの役に立って欲しい。</p> <h3 id="もう誤魔化さない!CSS Transform完全入門(3D編)"><a href="#%E3%82%82%E3%81%86%E8%AA%A4%E9%AD%94%E5%8C%96%E3%81%95%E3%81%AA%E3%81%84%EF%BC%81CSS+Transform%E5%AE%8C%E5%85%A8%E5%85%A5%E9%96%80%283D%E7%B7%A8%29">もう誤魔化さない!CSS Transform完全入門(3D編)</a></h3> <p><img src="https://ics.media/entry/210519/images/eyecatch.png" alt="" /><br /> <a target="_blank" rel="nofollow noopener" href="https://ics.media/entry/210519/">もう誤魔化さない!CSS Transform完全入門(3D編)</a></p> <p>2D編の続きで書いた。正直transformの3Dはイロモノすぎて自分でも微妙だなー、とは思う。でもこの情報は2Dと3Dでセットになってることに意味があると思うので、後悔はしていない(強がり)</p> <h3 id="jQueryからTypeScript・Reactまで!Viteで始めるモダンで高速な開発環境構築"><a href="#jQuery%E3%81%8B%E3%82%89TypeScript%E3%83%BBReact%E3%81%BE%E3%81%A7%EF%BC%81Vite%E3%81%A7%E5%A7%8B%E3%82%81%E3%82%8B%E3%83%A2%E3%83%80%E3%83%B3%E3%81%A7%E9%AB%98%E9%80%9F%E3%81%AA%E9%96%8B%E7%99%BA%E7%92%B0%E5%A2%83%E6%A7%8B%E7%AF%89">jQueryからTypeScript・Reactまで!Viteで始めるモダンで高速な開発環境構築</a></h3> <p><img src="https://ics.media/entry/210708/images/eyecatch.png" alt="" /><br /> <a target="_blank" rel="nofollow noopener" href="https://ics.media/entry/210708/">jQueryからTypeScript・Reactまで!Viteで始めるモダンで高速な開発環境構築</a></p> <p>流行りのネタは書かないといいつつ、これだけは書きたくて書いた。「これはそこそこバズるだろう」って思って書いたものが想像通りにはてブのホットエントリーに載ると嬉しいは嬉しいけどやっぱちょっと微妙。まあでもViteの話題は有益だと思うのできちんと整理した情報を出せたのはよかった、かな。</p> <p>Twitterかどこかのコメントで「今更IEとか、もうよくね?」って言われていて、それについては完全同意です。でもその層にも振り向いて欲しかったんだ。</p> <p>個人的にはIEを正しく終わらせることはエンジニアみんなの責務だと思うので、2022年は頑張りましょう。</p> <h3 id="コンポーネントを小さく・きれいに設計しよう Vue Composition APIを活用したコンポーネント分割術"><a href="#%E3%82%B3%E3%83%B3%E3%83%9D%E3%83%BC%E3%83%8D%E3%83%B3%E3%83%88%E3%82%92%E5%B0%8F%E3%81%95%E3%81%8F%E3%83%BB%E3%81%8D%E3%82%8C%E3%81%84%E3%81%AB%E8%A8%AD%E8%A8%88%E3%81%97%E3%82%88%E3%81%86%E3%80%80Vue+Composition+API%E3%82%92%E6%B4%BB%E7%94%A8%E3%81%97%E3%81%9F%E3%82%B3%E3%83%B3%E3%83%9D%E3%83%BC%E3%83%8D%E3%83%B3%E3%83%88%E5%88%86%E5%89%B2%E8%A1%93">コンポーネントを小さく・きれいに設計しよう Vue Composition APIを活用したコンポーネント分割術</a></h3> <p><img src="https://ics.media/entry/210929/images/eyecatch.png" alt="" /><br /> <a target="_blank" rel="nofollow noopener" href="https://ics.media/entry/210929/">コンポーネントを小さく・きれいに設計しよう Vue Composition APIを活用したコンポーネント分割術</a></p> <p>コンポーネントの責務や単一責任の原則、Fat Componentの回避...みたいな設計論の表層をできるだけ実例ベースで柔らかく紹介した記事。難しい理論は私自身あんまり理解できてないっていうのもあるけど、これくらいの柔らかさが読み物としてはちょうどいいと思う。</p> <p>この記事は実は社内向けの啓蒙の要素もあって、その意味でも個人的にはちょっと頑張った。弊社のようにシステム開発というよりもWeb制作に近い領域で仕事してると、コンポーネントの分割が「ざっくりページ単位」みたいに大雑把になりがちで、見た目とは違う軸でのモジュール設計って中々考える機会がないのです(でも、やらなくていいってわけではないのが問題)。</p> <p>多分同じような領域で仕事してる他社さんも似た課題持ってるんじゃないかと思う。</p> <h3 id="プログラミングの幅を広げよう! 一段上のPromise活用テクニック"><a href="#%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E3%81%AE%E5%B9%85%E3%82%92%E5%BA%83%E3%81%92%E3%82%88%E3%81%86%EF%BC%81%E3%80%80%E4%B8%80%E6%AE%B5%E4%B8%8A%E3%81%AEPromise%E6%B4%BB%E7%94%A8%E3%83%86%E3%82%AF%E3%83%8B%E3%83%83%E3%82%AF">プログラミングの幅を広げよう! 一段上のPromise活用テクニック</a></h3> <p><img src="https://ics.media/entry/211203/images/eyecatch.png" alt="" /><br /> <a target="_blank" rel="nofollow noopener" href="https://ics.media/entry/211203/">プログラミングの幅を広げよう!一段上のPromise活用テクニック</a></p> <p>今年最後の記事はPromiseネタ。PromiseはQiitaでちょくちょくトレンドに上がるふんわり概要記事と、<a target="_blank" rel="nofollow noopener" href="https://azu.github.io/promises-book/">『JavaScript Promiseの本』</a>みたいな本格的な本の中間が薄いなー、って思って書いた記事。</p> <p>Promiseってほんと良くできてて使いこなせると世界が広がるのに、何故かあんまり重要視されてない気がする。モーダル出すのもAPI叩くのも個別のライブラリはあるけど、実際それだけに頼れないケースは少なくないので一度生Promiseと戯れておくのは良いと思います。</p> <p>そんなに伸びはしなかったけど、意図が伝わった感のあるコメントをいくつかいただけたのが幸い。</p> <h2 id="おまけ"><a href="#%E3%81%8A%E3%81%BE%E3%81%91">おまけ</a></h2> <p>ちなみに今年一番伸びたのはBlenderで作ったたまさんでした🐱</p> <blockquote class="twitter-tweet"><p lang="ja" dir="ltr">Blender入門して1ヶ月かけてようやくここまで…色々粗はあるけど…可愛いから…見て <a target="_blank" rel="nofollow noopener" href="https://t.co/I6fp5TLzL0">pic.twitter.com/I6fp5TLzL0</a></p>— ゆき (@yuneco) <a target="_blank" rel="nofollow noopener" href="https://twitter.com/yuneco/status/1424785946407424004?ref_src=twsrc%5Etfw">August 9, 2021</a></blockquote> <p>そんなわけで来年もよろしくおねがいしますー</p> yuneco tag:crieit.net,2005:PublicArticle/17895 2021-12-27T23:20:34+09:00 2021-12-27T23:20:34+09:00 https://crieit.net/posts/Web-61c9cbb273b27 【個人開発】踏破した都道府県を日本地図でシェアできるWebサービス「日本踏破図🗾」を作りました <h2 id="はじめに"><a href="#%E3%81%AF%E3%81%98%E3%82%81%E3%81%AB">はじめに</a></h2> <p>「日本踏破図🗾」というWebサービスをNuxt × Vuetifyで個人開発しました!</p> <p><a target="_blank" rel="nofollow noopener" href="https://traverse-japan.dev/">日本踏破図🗾</a></p> <h2 id="どんなWebサービスか"><a href="#%E3%81%A9%E3%82%93%E3%81%AAWeb%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E3%81%8B">どんなWebサービスか</a></h2> <p>踏破した都道府県を日本地図でチェックすることができ、自分が今までに日本をどれだけ踏破したかをみんなにシェアできます👍<br /> 以下のように日本地図上で都道府県をチェックできます。これをシェアボタンでシェアすると・・・<br /> <a href="https://crieit.now.sh/upload_images/c21a19f689e6b03b8fd32ed155a13cc561c9c9f546005.gif" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/c21a19f689e6b03b8fd32ed155a13cc561c9c9f546005.gif?mw=700" alt="cap3.gif" /></a></p> <p>以下のようなOGP画像でシェア可能です!地図のカラーも好きな色に変更することができます。<br /> <a href="https://crieit.now.sh/upload_images/c96a5c5d12e327a1c82680dd58a2f4c261c9c899adde1.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/c96a5c5d12e327a1c82680dd58a2f4c261c9c899adde1.png?mw=700" alt="cap2.png" /></a></p> <h2 id="使用したフレームワーク・インフラなど"><a href="#%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%9F%E3%83%95%E3%83%AC%E3%83%BC%E3%83%A0%E3%83%AF%E3%83%BC%E3%82%AF%E3%83%BB%E3%82%A4%E3%83%B3%E3%83%95%E3%83%A9%E3%81%AA%E3%81%A9">使用したフレームワーク・インフラなど</a></h2> <ul> <li>NuxtJS(Nuxt Bridge)</li> <li>Vuetify</li> <li>vuex(vuex-module-decorators)</li> <li>PWA</li> <li>Vercel(Serverless Functions)</li> </ul> <p>主なものになります。多機能なWebサービスではないのでそんなに色々使ってはいません。<br /> よく使うNuxtとVuetifyでフロントを構築して、Nuxtの<a target="_blank" rel="nofollow noopener" href="https://v3.nuxtjs.org/concepts/server-engine/">Nitroエンジン</a>を使ってVercelのServerless Functionsへデプロイしています。</p> <p>当初はSSRにするつもりはなかったのですが、動的OGPを実装するために色々試行錯誤した結果SSRにしました。ただ、Nuxt3/Nuxt Bridgeから使えるようになったNitroエンジンのおかげで高速&ゼロコンフィグでVercelを利用できます。</p> <h2 id="苦労したところ"><a href="#%E8%8B%A6%E5%8A%B4%E3%81%97%E3%81%9F%E3%81%A8%E3%81%93%E3%82%8D">苦労したところ</a></h2> <h3 id="動的OGPをどう実装するか"><a href="#%E5%8B%95%E7%9A%84OGP%E3%82%92%E3%81%A9%E3%81%86%E5%AE%9F%E8%A3%85%E3%81%99%E3%82%8B%E3%81%8B">動的OGPをどう実装するか</a></h3> <p>正確に言うと「いかに簡単かつ無料で実装するか」に苦労しました。<br /> 検索するとfirebaseを使ってmetaだけSSRしたものを返してリダイレクトさせる等々、実現方法自体は色々でてきます。</p> <p>ただ、正直なところこの規模・機能のWebサービスにそこまでしたくなかったんですね(できるだけシンプルな作りにするということも最初に決めていました)</p> <p>最終的に実装した方法は以下です。</p> <ol> <li>OGP画像を生成して画像を返すServerless Functionsを用意する</li> <li>Functionsへ画像生成に必要な情報(チェック済みの都道府県、地図カラー)を渡す</li> </ol> <p>必要な情報をURLパラメータに持ち、それを利用してmetaタグのog:imageのエンドポイントを作っています。<br /> そのためサービス自体はSSRする必要がありますがVercelを使えば十分な無料枠でServerless FunctionsでSSRできます。</p> <p>個人的には下手にhackyな方法をとるよりも、SSRが必要な場面ではおとなしくSSRしておいた方が良い気がします🤔<br /> (結局のところTwitter・Facebookのクローラーのためだけにあれこれやりたくない)</p> <p>ちなみにNetlifyに<a target="_blank" rel="nofollow noopener" href="https://docs.netlify.com/site-deploys/post-processing/prerendering/">Prerendering</a>という機能があるのですが、これを有効にすることで事前レンダリングされたHTMLを返すことができます。<br /> SPA構成にしてPrerenderingを試してみたのですが、どうもPrerenderingの対象はUserAgentを見ているだけらしくTwitterクローラーであればNetlify Functionsのエンドポイントも問答無用でPrerenderingされるみたいでした。<br /> なのでOGP画像を返すはずのFunctionsがTwitterクローラーの時はPrerenderingされてHTMLを返すようになってしまい、OGP画像が表示されず使えませんでした。。</p> <p>まぁ、NetlifyのPrerenderingはキャッシュ時間(24〜48時間)もコントロールできないし、なによりBETAなのでまだ実用的ではないですね。。</p> <h3 id="サイトデザイン"><a href="#%E3%82%B5%E3%82%A4%E3%83%88%E3%83%87%E3%82%B6%E3%82%A4%E3%83%B3">サイトデザイン</a></h3> <p>デザインというのはセンスだと思っています。つまるところ、それを磨くためには多大な時間・努力が必要ということです😉<br /> 私はデザイナーではないのでそこについて時間をかけて勉強するのは得策ではありません。<br /> 悩み・試行した結果、全体的にカードベースのデザインになりました。</p> <p>また、根本のデザインはいわゆるUIフレームワークに頼るわけですが今回はよく使うVuetifyを利用しました。Vuetifyのコンポーネントを使うことで何も考えずそこそこきれいなサイトができあがります。</p> <p><a target="_blank" rel="nofollow noopener" href="https://vuetifyjs.com/ja/">https://vuetifyjs.com/ja/</a></p> <p>ただ、今回は個人的にやってみたいと思っていたGlassmorphism(グラスモーフィズム)チックなデザインを実装しました。<br /> これが間違いで、Vuetifyはマテリアルデザインを実装するフレームワークなんですね。それに対してマテリアルデザインからかけ離れるようなものを実装すると色々と歪みが生じます🙃</p> <p>importantを使ってVuetifyのcssを上書きして実装しましたが、こういうことをする場合はTailwind CSSを利用するべきでした。。</p> <p><a target="_blank" rel="nofollow noopener" href="https://tailwindcss.com/">https://tailwindcss.com/</a></p> <h2 id="運営コストについて"><a href="#%E9%81%8B%E5%96%B6%E3%82%B3%E3%82%B9%E3%83%88%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6">運営コストについて</a></h2> <p>現状、ドメイン代オンリーです。<br /> 上の方でも少し書いていますが個人開発においては<strong>無料で運営できること</strong>にこだわっています。</p> <p>まぁ、お金はかからないに越したことはないし、お金がかかってくるとちゃんとメンテしなくちゃとか、マネタイズ考えないと!とか思ってしまうわけですが無料であればひとまず放置で問題ないですからね。</p> <p>ちなみに、このWebサービスでは最初からマネタイズは一切考えていません。機能的にサービス自体がマネタイズにつながるものでもないですがアドセンス等の広告等も一切はらないと決めて開発をスタートしました。</p> <h2 id="サイトパフォーマンスについて"><a href="#%E3%82%B5%E3%82%A4%E3%83%88%E3%83%91%E3%83%95%E3%82%A9%E3%83%BC%E3%83%9E%E3%83%B3%E3%82%B9%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6">サイトパフォーマンスについて</a></h2> <p>使っている技術からもわかるかと思いますが、パフォーマンスは問題なく良いです。<br /> 特にSSRするとやっぱり初期描画のパフォーマンスがすごいです(コールドスタート時以外)</p> <p>いくら無料のインフラにこだわっているかといってパフォーマンスを犠牲にしたらお話にならないですからね😉</p> <p><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/271387/b46f5426-3ef1-c2d9-327f-071178f7d3b2.png" alt="image.png" /></p> <h2 id="機能の説明"><a href="#%E6%A9%9F%E8%83%BD%E3%81%AE%E8%AA%AC%E6%98%8E">機能の説明</a></h2> <p>日本踏破図🗾でできることを改めて説明させていただきます。</p> <h3 id="日本地図で踏破した都道府県をチェック"><a href="#%E6%97%A5%E6%9C%AC%E5%9C%B0%E5%9B%B3%E3%81%A7%E8%B8%8F%E7%A0%B4%E3%81%97%E3%81%9F%E9%83%BD%E9%81%93%E5%BA%9C%E7%9C%8C%E3%82%92%E3%83%81%E3%82%A7%E3%83%83%E3%82%AF">日本地図で踏破した都道府県をチェック</a></h3> <p><a href="https://crieit.now.sh/upload_images/8bd592eed3b0970775e45c8493e1361161c9ca82b4032.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/8bd592eed3b0970775e45c8493e1361161c9ca82b4032.png?mw=700" alt="image.png" /></a></p> <p>日本地図上の都道府県を選択することができます。選択状況した数によって日本をどれくらい踏破したかがわかります。<br /> また、シェアボタンから踏破した都道府県をシェアすることができます❗</p> <h3 id="日本地図のメニュー"><a href="#%E6%97%A5%E6%9C%AC%E5%9C%B0%E5%9B%B3%E3%81%AE%E3%83%A1%E3%83%8B%E3%83%A5%E3%83%BC">日本地図のメニュー</a></h3> <p><a href="https://crieit.now.sh/upload_images/8bd592eed3b0970775e45c8493e1361161c9ca9f1b976.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/8bd592eed3b0970775e45c8493e1361161c9ca9f1b976.png?mw=700" alt="image.png" /></a></p> <p>地図メニューから、それぞれの機能を利用できます。</p> <ul> <li>地図をリセットする(都道府県の選択状態・色をリセットする)</li> <li>地図の色を変える(日本地図の色を変更できます)</li> <li>日本を踏破する(すべての都道府県を選択状態にします)</li> <li>コピー(日本地図をクリップボードへコピーします)</li> <li>ダウンロード(日本地図をpng画像としてダウンロードします)</li> </ul> <h3 id="チェックボックス"><a href="#%E3%83%81%E3%82%A7%E3%83%83%E3%82%AF%E3%83%9C%E3%83%83%E3%82%AF%E3%82%B9">チェックボックス</a></h3> <p><a href="https://crieit.now.sh/upload_images/8bd592eed3b0970775e45c8493e1361161c9cab5eba93.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/8bd592eed3b0970775e45c8493e1361161c9cab5eba93.png?mw=700" alt="image.png" /></a></p> <p>日本地図上から都道府県を選択する以外に、チェックボックスでも選択することができます。チェックボックスで選択すれば連動して日本地図上の都道府県も選択状態になります。</p> <h2 id="ソースコード"><a href="#%E3%82%BD%E3%83%BC%E3%82%B9%E3%82%B3%E3%83%BC%E3%83%89">ソースコード</a></h2> <p>日本踏破図🗾のソースコードはMITライセンスで公開しています👉</p> <p><a target="_blank" rel="nofollow noopener" href="https://github.com/k-urtica/traverse-japan">https://github.com/k-urtica/traverse-japan</a></p> <h2 id="さいごに"><a href="#%E3%81%95%E3%81%84%E3%81%94%E3%81%AB">さいごに</a></h2> <p>登録ログイン不要で使えるのでぜひ使ってみてください。<br /> よろしくおねがいします!</p> <p>🌐 サイト:<a target="_blank" rel="nofollow noopener" href="https://traverse-japan.dev/">https://traverse-japan.dev/</a><br /> 👀 開発:<a target="_blank" rel="nofollow noopener" href="https://twitter.com/k_urtica">K</a><br /> 🚩 ソース:<a target="_blank" rel="nofollow noopener" href="https://github.com/k-urtica/traverse-japan">https://github.com/k-urtica/traverse-japan</a></p> <h2 id="おまけ"><a href="#%E3%81%8A%E3%81%BE%E3%81%91">おまけ</a></h2> <p>Web ToolBoxというブラウザで無料で使えるツール集を公開しています。<br /> こちらもよろしくおねがいします。</p> <p><a target="_blank" rel="nofollow noopener" href="https://web-toolbox.dev/">https://web-toolbox.dev/</a></p> K@個人開発バックエンドエンジニア tag:crieit.net,2005:PublicArticle/17821 2021-12-05T00:06:11+09:00 2021-12-05T00:06:11+09:00 https://crieit.net/posts/ver-2021 個人開発ふりかえり ver.2021年 <p>この記事は<a target="_blank" rel="nofollow noopener" href="https://qiita.com/advent-calendar/2021/personal-project">個人開発 Advent Calendar 2021</a>の5日目の記事です。</p> <p>今年ずっと<a target="_blank" rel="nofollow noopener" href="https://sssapi.app">つくってたサービス</a>も無事正式リリースできたので、<br /> 個人開発について振り返ってみようかなと。</p> <p>はじめたころからすると目的もだいぶ変わってきてるけど、<br /> こんなに長く続けられる個人開発ってたのしい(*´ω`*)</p> <h2 id="2021年につくったもの"><a href="#2021%E5%B9%B4%E3%81%AB%E3%81%A4%E3%81%8F%E3%81%A3%E3%81%9F%E3%82%82%E3%81%AE">2021年につくったもの</a></h2> <p>振り返ってみると4つも作ってた(*´ω`*)</p> <ul> <li><strong>4月: <a target="_blank" rel="nofollow noopener" href="https://umaiku.app/">ウマ育ノート</a>をリリース</strong><br /> ゲーム・ウマ娘のお助けアプリ</li> <li><strong>7月: <a target="_blank" rel="nofollow noopener" href="https://coco-gacha.memory-lovers.com/">CoCoガチャ</a>をリリース</strong><br /> カレーのトッピングをガチャで決めるネタアプリ<br /> Crieitの<a href="https://crieit.net/boards/web1week-202107">web1week</a>への投稿作</li> <li><strong>10月: <a target="_blank" rel="nofollow noopener" href="https://press-done.memory-lovers.com/">PRESS-DONE</a>をリリース</strong><br /> プレスリリースの送付記録サービス</li> <li><strong>12月: <a target="_blank" rel="nofollow noopener" href="https://sssapi.app">SSSAPI</a>を正式リリース</strong><br /> GoogleスプレッドシートのAPI化サービス</li> </ul> <p>あと、<a target="_blank" rel="nofollow noopener" href="https://tsundoku.site/">積読ハウマッチ</a>もちょこちょこアップデート</p> <p>ほぼ、<a target="_blank" rel="nofollow noopener" href="https://sssapi.app">SSSAPI</a>をがんばっていた年。<br /> ほかの3つのアプリもSSSAPIを使ってるので、ほぼ一色に。</p> <p>SSSAPIについてはこちらの記事にまとめたので、もしよければ!<br /> ・<a target="_blank" rel="nofollow noopener" href="https://qiita.com/kira_puka/items/42fa53dd2fa381a742d2">スプレッドシートをWeb APIにできるサービスを作ってみた - Qiita</a></p> <h2 id="目的の変化"><a href="#%E7%9B%AE%E7%9A%84%E3%81%AE%E5%A4%89%E5%8C%96">目的の変化</a></h2> <p>かれこれ8年くらい個人開発をしてるけど、<br /> 目的がだいぶ変わってきた気がする。</p> <h3 id="はじめはストレス発散"><a href="#%E3%81%AF%E3%81%98%E3%82%81%E3%81%AF%E3%82%B9%E3%83%88%E3%83%AC%E3%82%B9%E7%99%BA%E6%95%A3">はじめはストレス発散</a></h3> <p>いま思うと、ストレス発散だったとかも。</p> <p>だんだんコードを書く機会がなくなって、<br /> コードを書けないストレスの発散する場所だったかもしれない。</p> <p>なので、「コード書ける〜たのし〜」という感じで、<br /> コードを書くこと自体が目的だった。</p> <h3 id="新しい技術を試す場所"><a href="#%E6%96%B0%E3%81%97%E3%81%84%E6%8A%80%E8%A1%93%E3%82%92%E8%A9%A6%E3%81%99%E5%A0%B4%E6%89%80">新しい技術を試す場所</a></h3> <p>新しい技術とかはフィードを見ているくらいだったけど、<br /> いろんなライブラリや言語などを個人開発で試すように。</p> <p>記事を読んだり、サンプル動かすだけだと身につかないけど、<br /> 実プロジェクトで試せるので、理解も深くなる。</p> <p>「個人開発で試す」→「本業で導入する」<br /> という、このサイクルがとてもよくて、<br /> 新しめ技術でも自信を持って提案できる気がする。</p> <p>「個人開発=新しいものを試したり、訓練する場所」<br /> という感じだったかも。</p> <h3 id="新しい領域へのチャレンジ"><a href="#%E6%96%B0%E3%81%97%E3%81%84%E9%A0%98%E5%9F%9F%E3%81%B8%E3%81%AE%E3%83%81%E3%83%A3%E3%83%AC%E3%83%B3%E3%82%B8">新しい領域へのチャレンジ</a></h3> <p>このサイクルにも慣れてきて、自由に作れるようになると<br /> 「あわよくば、これで暮らしていきたい。。」<br /> という気持ちが湧くように。。ほんと、人間は欲深い。。</p> <p>そうなると、広報とか営業とかQAとか<br /> いままでの開発以外にも力を入れていくことが大事。</p> <p>なので、今は開発以外も含めて、<br /> どう運営していくのがよいかを考えることが多くなってきた感じ。</p> <p>本業だと別の領域にチャレンジできる機会は、<br /> なかなかないので、これも個人開発のいいところ。</p> <h2 id="個人開発はたのしい"><a href="#%E5%80%8B%E4%BA%BA%E9%96%8B%E7%99%BA%E3%81%AF%E3%81%9F%E3%81%AE%E3%81%97%E3%81%84">個人開発はたのしい</a></h2> <p>なんでこんなに長く続けてるんだろう?<br /> と考えてみると、この3つなんじゃないだろうか。</p> <ul> <li>なにもかも自由</li> <li>フィードバックがダイレクト</li> <li>個人でもひとりじゃない</li> </ul> <p>(もちろん、個人開発ドリームもあるけど(*´ω`*))</p> <h3 id="なにもかも自由"><a href="#%E3%81%AA%E3%81%AB%E3%82%82%E3%81%8B%E3%82%82%E8%87%AA%E7%94%B1">なにもかも自由</a></h3> <p>独立してフリーランスになったときも、<br /> 自由だと感じたけれど、それ以上に自由。</p> <p>作りたいものも、使いたい技術も自由に選べるのがいい。</p> <p>仕事となると、作るもののテーマは大体決まっているし、<br /> 安定している枯れた技術やチームにあう言語など、<br /> いろんな制約を考えて決めたりする。</p> <p>個人開発なら、そんな制約も無いので、<br /> 「ぼくがかんがえたさいきょうの構成」<br /> なんてのもOK。</p> <p>上で書いたとおり、目的すらも自由なので、<br /> 心のままに楽しめるのがいい(*´ω`*)</p> <h3 id="フィードバックがダイレクト"><a href="#%E3%83%95%E3%82%A3%E3%83%BC%E3%83%89%E3%83%90%E3%83%83%E3%82%AF%E3%81%8C%E3%83%80%E3%82%A4%E3%83%AC%E3%82%AF%E3%83%88">フィードバックがダイレクト</a></h3> <p>なにもかも自由である反面、<br /> すべての責任があるのも醍醐味の一つ。</p> <p>いいこともわるいこともあるけど、<br /> ストレートにフィードバックが来るのは刺激的。</p> <p>本業だとほめられることが少ないけど、<br /> 9対1くらいでいいフィードバックなのでたのしい。</p> <p>わるいフィードバックも改善点の指摘なので、<br /> どちらのフィードバックもとってもありがたい(*´ω`*)</p> <h3 id="個人でもひとりじゃない"><a href="#%E5%80%8B%E4%BA%BA%E3%81%A7%E3%82%82%E3%81%B2%E3%81%A8%E3%82%8A%E3%81%98%E3%82%83%E3%81%AA%E3%81%84">個人でもひとりじゃない</a></h3> <p>自分でそういう情報を追っていっているというのもあるけど、<br /> 意外と個人開発者はたくさんいて、コミュニティや勉強会/もくもく会も多くある。</p> <p>ぼくも<a target="_blank" rel="nofollow noopener" href="https://qiita.com/organizations/admin-guild">運営者ギルド</a>というコミュニティに参加させてもらってるけど、<br /> ・ リリース前のサービスにバグ出し/アイデア出しする<strong>バグバッシュ</strong>や<br /> ・ 1ヶ月の活動内容を報告する<strong>月報</strong><br /> なんてのも開催されていて、それをみると「がんばるぞ!」って気持ちになる。</p> <p>コードを書くのは一人だけど、コミュニティやTwitterを見てても、<br /> がんばっている同志がたくさんいる感じなのが、続けられるのかも。</p> <p>それと、フィードバックがダイレクトな効果なのか、<br /> <strong>ユーザさんと一緒に作ってる感じがすごく強い</strong>。</p> <p>最初のプロトくらいまでは自分だけだけど、<br /> いろんなフィードバックを取り込んでいくうちに、<br /> 「自分だけで作ったサービスじゃない感」が出てくる。</p> <p>ユーザさんが増えていくたびに、<br /> 気づかなかったことや自分にない視点が増えていくのがたのしいし、<br /> より喜んでもらえるようにとやる気が出るからかもしれない(*´ω`*)</p> <h2 id="おわりに"><a href="#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB">おわりに</a></h2> <p>振り返ってみて思ったけど、目的すら自由な個人開発ってすごい(*´ω`*)</p> <h3 id="【PR】SSSAPIをリリースしました!!"><a href="#%E3%80%90PR%E3%80%91SSSAPI%E3%82%92%E3%83%AA%E3%83%AA%E3%83%BC%E3%82%B9%E3%81%97%E3%81%BE%E3%81%97%E3%81%9F%EF%BC%81%21">【PR】SSSAPIをリリースしました!!</a></h3> <p>スプレッドシートをWeb APIにできるサービスをリリースしました🎉<br /> ・ 1件取得/フィルタリング/ページング/ソートもできるAPIを簡単作成<br /> ・ ドメインやアクセストークンによるアクセス制限もOK</p> <p>「お知らせとかリリースノートを作りたいけど、<br /> 毎回ビルドするのも、管理画面をつくるのもめんどくさい。。」</p> <p>ってときに便利です!! スプシが管理画面になっちゃいます!!<br /> 無料枠もあるので、ぜひぜひ遊んでみてください(<em>´ω`</em>)</p> <p>GoogleスプレッドシートのAPI化サービス<br /> 「<a target="_blank" rel="nofollow noopener" href="https://sssapi.app/">SSSAPI</a>」</p> <blockquote class="twitter-tweet"><p lang="ja" dir="ltr">\㊗️正式リリース㊗️/<a target="_blank" rel="nofollow noopener" href="https://twitter.com/hashtag/SSSAPI?src=hash&ref_src=twsrc%5Etfw">#SSSAPI</a> の正式版を公開しました🎉開発開始から9ヶ月...無事リリースを迎えられました😭β版でのご協力、ありがとうございます🙇‍♂️まだまだ不便なところもございますが、より一層便利になるよう改善がんばります💪💪💪<a target="_blank" rel="nofollow noopener" href="https://twitter.com/hashtag/%E6%8B%A1%E6%95%A3%E5%B8%8C%E6%9C%9BRT%E3%81%8A%E9%A1%98%E3%81%84%E3%81%97%E3%81%BE%E3%81%99?src=hash&ref_src=twsrc%5Etfw">#拡散希望RTお願いします</a> <a target="_blank" rel="nofollow noopener" href="https://t.co/znp6CJGZEs">https://t.co/znp6CJGZEs</a></p>— 【公式】SSSAPI / GoogleスプレッドシートのAPI化サービス (@sssapi_app) <a target="_blank" rel="nofollow noopener" href="https://twitter.com/sssapi_app/status/1465802829906558984?ref_src=twsrc%5Etfw">November 30, 2021</a></blockquote> きらぷか@積読ハウマッチ/SSSAPIなど tag:crieit.net,2005:PublicArticle/17787 2021-11-26T13:02:23+09:00 2021-11-26T13:02:23+09:00 https://crieit.net/posts/Twitter-Web 【Twitter連携サービス】連続ツイートをスレッドまるごとダウンロードできるWebサービスを公開しました <p>Twitterを見ていると、とても参考になる連続ツイートをしている人がいらっしゃいます。</p> <p>私はそういうツイートを見つけるとブックマークしておき、後でいつでも見返せるようにしていました。</p> <p>ただ、そういう有益なツイートも、もしツイートしたご本人がツイ消ししたり、アカウント自体が消えてしまったりすると <strong>後で見れなくなってしまいます</strong>。</p> <p>そこで、<strong>連続ツイートをWordファイルとしてダウンロードしておけるWebサービス</strong> を開発いたしました。</p> <p><strong>「ツイスレバックアップ」</strong> というサービスです。<br /> <a target="_blank" rel="nofollow noopener" href="https://twibackup.com/">https://twibackup.com/</a></p> <h1 id="作ったきっかけ"><a href="#%E4%BD%9C%E3%81%A3%E3%81%9F%E3%81%8D%E3%81%A3%E3%81%8B%E3%81%91">作ったきっかけ</a></h1> <p>個人開発者界隈で有名(と私は勝手に思ってる)な方が、先日個人開発について参考になる連続ツイートをされていました。</p> <p><a target="_blank" rel="nofollow noopener" href="https://twitter.com/sesere115/status/1459167602094133254">https://twitter.com/sesere115/status/1459167602094133254</a></p> <p>「ヒトリッター」というサービスを土日に開発しながら、サービスをリリースしていく中で考えるべきことを連続ツイートする内容です。</p> <p>定期的に読み返したいような内容だったのですが、ふと「もしせせりさんがツイ消ししたら見れなくなるよな…」「念のため手元にずっと残しておきたいな」と思いました。</p> <p>そこで、連続ツイートをスレッドまるごとダウンロードする、つまり手元にバックアップしておくためのサービス「ツイスレバックアップ」を開発しようと思い立ちました。<br /> (※せせりさんはよくツイ消しする人、という意味ではありません。)</p> <h1 id="なぜWordファイル?"><a href="#%E3%81%AA%E3%81%9CWord%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%EF%BC%9F">なぜWordファイル?</a></h1> <p>PDFファイルでのダウンロードも考えたのですが、以下の理由によりWordファイルでのダウンロードにしました。</p> <ul> <li>画像もWordファイル内に入れ込めるので便利。(これはPDFでも出来ますが)</li> <li>あとで自分でメモを追記できる方が便利。(PDFだとメモしずらい)</li> <li>なんならそのままマニュアル化しても良い。</li> </ul> <h1 id="このサービスを使うと何が嬉しい?"><a href="#%E3%81%93%E3%81%AE%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E3%82%92%E4%BD%BF%E3%81%86%E3%81%A8%E4%BD%95%E3%81%8C%E5%AC%89%E3%81%97%E3%81%84%EF%BC%9F">このサービスを使うと何が嬉しい?</a></h1> <p>このサービスを使うと、やはり一番は <strong>「いつ連続ツイートが消える(見れなくなる)か分からない不安」</strong> から開放されるのが嬉しいですね。<br /> 自分で開発して、自分で使ってます 笑</p> <p>あと、Wordファイルでダウンロードしておけば仲間内での共有等も格段にしやすくなりますね。</p> <h1 id="今後の展開"><a href="#%E4%BB%8A%E5%BE%8C%E3%81%AE%E5%B1%95%E9%96%8B">今後の展開</a></h1> <p>今後はPDFファイルでのダウンロード等、ニーズに合わせて機能追加していきたいと思います。</p> <p>なにか欲しい機能があれば教えてください!</p> hoku tag:crieit.net,2005:PublicArticle/17721 2021-10-25T15:29:45+09:00 2021-10-25T15:31:36+09:00 https://crieit.net/posts/Nuxt-js-Rails-OSS-GitHub-web 【個人開発】(Nuxt.js + Rails)OSSやプロジェクトの、ソースコードを管理するGitHubのように、web上で結合テストをチームで同時に管理・実行・記録出来るプラットフォームを開発しました! <h1 id="はじめに"><a href="#%E3%81%AF%E3%81%98%E3%82%81%E3%81%AB">はじめに</a></h1> <p>今回、個人で開発したWebサービス「Itamaster」の本番稼働版をリリースすることが出来ました!<br /> こちらのサービスを開発しようと思った経緯は、ある日会社で、統合テストの管理・実行を行っていたときに、<strong>「何故ソースコードの管理プラットフォーム(GitHub等)はあるのに、結合テストの管理プラットフォームは無いんだろう」</strong>と思った事がきっかけです。<br /> 開発期間は八ヶ月ほど、作業工数は大体700時間です。</p> <p>弊社、私の所属しているチームは結合テストはExcelによって管理しており、実行記録もExcelを利用しています。<br /> Excelでの管理・実行には、以下のような不便な点がありました。</p> <ul> <li><p>Excelでの作業は、PCにかかる負荷が大きかったこと。<br /> 会社のPCは自宅で扱うようなハイスペックなものではないため、Excelで作業を行っていると、セルをコピーしたりした時に<strong>PCがフリーズしたり、突然Excelが落ちて、保存していないデータが復旧しなかったり</strong>と、作業中に感じる<strong>ストレス</strong>がとても大きかったです。</p></li> <li><p>Excelだと、複数人で一つのファイルに対する作業が出来ないこと。<br /> 共有設定にして複数人で同時に作業すると、Excelが一層重くなったりして、とても実用出来るものではありませんでした。<br /> Excelだと、<strong>一つのファイルは同時に一人でしか作業が出来ず、待ち時間の発生</strong>するメンバーがいました。</p></li> <li><p>ローカルで作業しているメンバーの作業状況が把握出来ないこと。<br /> 私は管理者経験はありませんが、毎日の定時報告会や、Slackでのメッセージを見る限り、作業状況の把握が少しアナログに感じました。<br /> Redmine等の進捗管理ツールも利用していますが、結局は自己申告であり、<strong>「どのくらいの作業が終わっていて、残っているのか」</strong>を管理者が一目で把握することが出来れば、課題を解決できると考えました。</p></li> <li><p>サマリーレポートや、結果一覧表の作成が面倒<br /> Excelから情報を整理して、Excelに表を作って、割合を求めて、グラフ化して......<br /> テストが追加されたり、状況が変わると、また、情報を整理して、Excelに表を作って、割合を求めて、グラフ化して......<br /> <strong>「あ"あ"あ"あ"あ"あ"あ"あ"あ"あ"あ"あ"あ"あ"あ"あ"あ"!!!!!!!」</strong><br /> ってなりました。</p></li> </ul> <p>開発告知記事を書くのは初めてで、至らない点が多々あるかと思いますが<br /> サービスの紹介、開発時の苦労や反省、所感を統括して書きたいと思います。<br /> 最後まで読んでいただければ幸いです。</p> <p>【Twitterリンク】<br /> <a target="_blank" rel="nofollow noopener" href="https://twitter.com/@itamaster_">https://twitter.com/@itamaster_</a></p> <p>【Itamaster】<br /> <a target="_blank" rel="nofollow noopener" href="https://itamaster.work">https://itamaster.work</a><br /> PC推奨です。</p> <p>【Itamaster 操作ガイド】(Itamasterのヘッダーと、フッターにも操作ガイドリンクを設置しています。)<br /> <a target="_blank" rel="nofollow noopener" href="https://qiita.com/Itamaster/items/3c271181e0c9c06d1d08">https://qiita.com/Itamaster/items/3c271181e0c9c06d1d08</a></p> <h1 id="使用技術"><a href="#%E4%BD%BF%E7%94%A8%E6%8A%80%E8%A1%93">使用技術</a></h1> <ul> <li>npm 7.6.3</li> <li>nuxtjs 2.15.3 (SPA モード) <ul> <li>サクサクと、Excelのようなもっさり感やストレスの無いUXにしたかったため、SPAによって構築しました。</li> </ul></li> <li>@nuxtjs/storybook 4.0.2 <ul> <li>コンポーネントのレイアウト・動作を開発中にリアルタイムで確認出来る、コンポーネントカタログ作成ツール。<br /> フロントエンドの単体テストの役割も果たします。</li> </ul></li> <li>vuetify (@nuxtjs/vuetify 1.12.1) <ul> <li>MaterialDesignベースのデザインライブラリです。<br /> 少し挙動が不安定な点が目立ちました。</li> </ul></li> <li>ruby 2.6.8</li> <li>Ruby on Rails 6.1.4 (APIモード)</li> <li>Device <ul> <li>ログイン周り。フロントエンドにはトークンを渡します。フロントエンドではトークンをsession storageに一時保存し、axiosのインターセプターに噛ませることで、ログイン機能付きの認証認可を実現しました。</li> </ul></li> <li>EC2(t2.small)</li> <li>S3</li> <li>ALB</li> <li>ACM</li> <li>RDS (mysql)</li> <li>Route53</li> <li>nginx</li> <li>Stripe <ul> <li>クレジットカード決済機能をAPI利用できます。<br /> 顧客情報や、クレジットカード情報を自サーバーで持たなくてよいため、セキュアなシステムの構築が可能です。<br /> また、同様に、決済機能のAPI利用はリスク管理の面からも有効です。</li> </ul></li> </ul> <h1 id="アプリ概要"><a href="#%E3%82%A2%E3%83%97%E3%83%AA%E6%A6%82%E8%A6%81">アプリ概要</a></h1> <p><strong>結合テストの自動化を行わないチームや、手動でのテストを行いたい状況が対象のWebサービス</strong>です。<br /> ユーザーをメールアドレスで招待し、チームを結成。<br /> プロジェクトを立ち上げて、テストスイート毎にテストケースを管理・実行が出来ます。</p> <p>⇓チームの情報を表示するダイアログ<br /> <img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1869061/865d4a70-6ed5-c5ba-391f-ced31d721833.png" alt="image.png" /></p> <p>⇓プロジェクト、プロジェクト内のテストスイートの管理を行う画面<br /> <img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1869061/b55c1892-1c76-b9aa-37aa-b0eabc7842b4.png" alt="image.png" /></p> <p>⇓テストスイートの情報を表示するダイアログ<br /> <img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1869061/c64f28f2-eab8-c765-a40e-284b299735bc.png" alt="image.png" /></p> <p>⇓テストケースの情報を表示するダイアログ<br /> <img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1869061/e43628c2-0dec-5a4d-c14c-fe672a860915.png" alt="image.png" /></p> <p>⇓テストスイート内のテストケースを実行する画面<br /> <img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1869061/002c37d0-8c55-ab2d-6415-e45e3d331894.png" alt="image.png" /></p> <p>また、テスト結果一覧表や、テストサマリーレポートも出力可能です。<br /> <img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1869061/5ce63e70-6a27-8f4c-65a9-f1da499f672f.png" alt="image.png" /></p> <p><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1869061/c230b738-0ed5-be27-1e32-2983c6c48d98.png" alt="image.png" /><br /> <img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1869061/d80d35c5-4b9e-204f-d960-f9f4a9ececad.png" alt="image.png" /></p> <h1 id="こだわった箇所"><a href="#%E3%81%93%E3%81%A0%E3%82%8F%E3%81%A3%E3%81%9F%E7%AE%87%E6%89%80">こだわった箇所</a></h1> <h2 id="全体的に、明るい色を起用すること"><a href="#%E5%85%A8%E4%BD%93%E7%9A%84%E3%81%AB%E3%80%81%E6%98%8E%E3%82%8B%E3%81%84%E8%89%B2%E3%82%92%E8%B5%B7%E7%94%A8%E3%81%99%E3%82%8B%E3%81%93%E3%81%A8">全体的に、明るい色を起用すること</a></h2> <p>テストという地味な作業は、設計書作成の次に気が滅入り易くなります。<br /> 暗い気持ちになってしまわぬよう、明るい色を起用しつつ、<br /> 緑や薄めの青色をメインに使う事で、ユーザーのモチベーションを維持します。</p> <h2 id="アイコンを多用し、直感的な操作を可能にすること"><a href="#%E3%82%A2%E3%82%A4%E3%82%B3%E3%83%B3%E3%82%92%E5%A4%9A%E7%94%A8%E3%81%97%E3%80%81%E7%9B%B4%E6%84%9F%E7%9A%84%E3%81%AA%E6%93%8D%E4%BD%9C%E3%82%92%E5%8F%AF%E8%83%BD%E3%81%AB%E3%81%99%E3%82%8B%E3%81%93%E3%81%A8">アイコンを多用し、直感的な操作を可能にすること</a></h2> <p>画面にはアイコンを多用して、文字を読まなくても色とアイコンから、ボタンの機能を推測することが可能です。<br /> 直感的に操作することが可能で、作業の効率を向上します。</p> <h2 id="進捗バーをプロジェクトと、テストスイート毎に表示可能にし、一目で状況を確認可能に"><a href="#%E9%80%B2%E6%8D%97%E3%83%90%E3%83%BC%E3%82%92%E3%83%97%E3%83%AD%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E3%81%A8%E3%80%81%E3%83%86%E3%82%B9%E3%83%88%E3%82%B9%E3%82%A4%E3%83%BC%E3%83%88%E6%AF%8E%E3%81%AB%E8%A1%A8%E7%A4%BA%E5%8F%AF%E8%83%BD%E3%81%AB%E3%81%97%E3%80%81%E4%B8%80%E7%9B%AE%E3%81%A7%E7%8A%B6%E6%B3%81%E3%82%92%E7%A2%BA%E8%AA%8D%E5%8F%AF%E8%83%BD%E3%81%AB">進捗バーをプロジェクトと、テストスイート毎に表示可能にし、一目で状況を確認可能に</a></h2> <p>色分けされた進捗バーは、ホバーすることでそれぞれのステータスの件数を確認可能です。<br /> <img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1869061/7046daf8-49c5-af8c-1ab4-6df7b1d35f1c.png" alt="image.png" /><br /> チームの管理者が、「現在プロジェクト全体で、どれだけのテストが完了しているのか」を一目で確認することが可能です。</p> <h2 id="自分独自のアイコンを設定可能にすること"><a href="#%E8%87%AA%E5%88%86%E7%8B%AC%E8%87%AA%E3%81%AE%E3%82%A2%E3%82%A4%E3%82%B3%E3%83%B3%E3%82%92%E8%A8%AD%E5%AE%9A%E5%8F%AF%E8%83%BD%E3%81%AB%E3%81%99%E3%82%8B%E3%81%93%E3%81%A8">自分独自のアイコンを設定可能にすること</a></h2> <p><strong>Itamasterは、GitHubのように、OSSのテストをオープンに行う事の出来るプラットフォームを目指します。</strong><br /> アイコンを設定可能にし、画面に多用することで、<strong>今後実装するSNS的な機能が違和感なく利用できます。</strong><br /> (Publicなプロジェクトを表示・検索し、運営しているチームとダイレクトにメッセージをやり取りし、テストを世界中のメンバーと共同して行うような)<br /> <img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1869061/ffa5c1bf-3579-4550-5ba6-0f913b99be1d.png" alt="image.png" /><br /> <img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1869061/875d80d2-7653-19ce-0beb-9829b3f94ab6.png" alt="image.png" /></p> <h1 id="サービス改善告知"><a href="#%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E6%94%B9%E5%96%84%E5%91%8A%E7%9F%A5">サービス改善告知</a></h1> <p style="color:red;"> 2021/10/17 サービスに、操作ガイドページ・Demoページを追加実装しました! </p> <p><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1869061/bacb5f22-edac-0a85-d19d-26cf94088f9a.png" alt="image.png" /><br /> <img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1869061/a4f28d96-928e-6da4-52be-6153e3a6488f.png" alt="image.png" /></p> <p>操作ガイドページでは、サービス内の全てのボタンや、項目の意味、操作方法やユースケースを記述しております。<br /> Demoページでは、実際の画面にモックデーターを流し込んだものを使い、操作感や使用イメージを持っていただくことを目的としています。<br /> どちらも無料でご利用いただける機能ですので、よろしければお楽しみください!</p> <p style="color:red;"> 2021/10/20 トップページのレイアウトを変更しました! </p> <p>旧:<br /> <img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1869061/d16ed7d0-f360-5ebf-1ae2-76809f111587.png" alt="image.png" /><br /> 新:<br /> <img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1869061/5752c7cd-dd2e-784d-1ac9-fec76e29f3a8.png" alt="image.png" /></p> <p><strong>変更にあたって、具体的に意識した点</strong></p> <ul> <li>設計思想をメインコンセプトとして表示</li> <li>注目線を意識し、印象付けたい文言を左側に配置する</li> </ul> <p><strong>アニメーション</strong>が少しだけ配置されているので、実際に見ていただければ、と存じます!</p> <h1 id="サービスのこれから"><a href="#%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E3%81%AE%E3%81%93%E3%82%8C%E3%81%8B%E3%82%89">サービスのこれから</a></h1> <h2 id="トップページのレイアウト改善"><a href="#%E3%83%88%E3%83%83%E3%83%97%E3%83%9A%E3%83%BC%E3%82%B8%E3%81%AE%E3%83%AC%E3%82%A4%E3%82%A2%E3%82%A6%E3%83%88%E6%94%B9%E5%96%84">トップページのレイアウト改善</a></h2> <p>とりあえず、第一課題です。<br /> 現状注目線があっちこっちに行ってしまっており、とてもわかりにくいページになっています。<br /> デザインを勉強しつつ、わかりやすく、「使ってみたい」と思っていただけるようなトップページにしたいと思っております。</p> <h2 id="チーム公開機能の実装"><a href="#%E3%83%81%E3%83%BC%E3%83%A0%E5%85%AC%E9%96%8B%E6%A9%9F%E8%83%BD%E3%81%AE%E5%AE%9F%E8%A3%85">チーム公開機能の実装</a></h2> <p>public設定のチームをいくつか表示し、興味の出たOSSのテスト等に世界中から参画希望を出せるようにします。<br /> 本来の設計思想である、「何故OSSをGitで管理するように、テストを世界中のエンジニアと管理実行するプラットフォームは無いのか」という疑問を解決する機能なので、じっくり作り込みたいと思っています。<br /> 現状は、<br /> ・Topics<br /> ・Search<br /> ・Explore<br /> の三画面を開発して、世界中のチームを見られるようにしたいと思っています。</p> ふぁる@個人開発 tag:crieit.net,2005:PublicArticle/17698 2021-10-05T17:05:54+09:00 2021-10-05T17:05:54+09:00 https://crieit.net/posts/Firebase-SSSAPI-Web FirebaseとSSSAPIでプレスリリースを送ったサイトを記録できるWebサービスを作ってみた <p>開発しているGoogleスプレッドシートのAPI化サービス「<a target="_blank" rel="nofollow noopener" href="https://sssapi.app">SSSAPI</a>」をβ版リリースしたときに、<br /> プレスリリースをいろんなメディアに送ってみてた。</p> <p>せっかく調べてまとめたし、次も使う機会があるだろうと思ったので、<br /> Nuxt/Firebase/SSSAPIの構成でWebサービス化してみた。</p> <p>プレスリリースを受け付けてるサイトを調べるのは大変なので、<br /> どこに送れるのかな〜と思った方は使ってみてもらえるとうれしいです(<em>´ω`</em>)</p> <h3 id="作ったサービス"><a href="#%E4%BD%9C%E3%81%A3%E3%81%9F%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9">作ったサービス</a></h3> <p><a target="_blank" rel="nofollow noopener" href="https://press-done.memory-lovers.com">https://press-done.memory-lovers.com</a></p> <p>送付するプレスリリースごとに、どのサイトへ送ったかの状態管理ができます。<br /> それだけのシンプルなWebサービス。</p> <p><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/478782/b52d95a8-788f-5625-c536-4ecd6cc147b5.png" alt="スクリーンショット 2021-10-04 23.35.26.png" /></p> <h3 id="システム構成"><a href="#%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E6%A7%8B%E6%88%90">システム構成</a></h3> <p>基本構成はこんな感じ。</p> <ul> <li>フロントエンド: Nuxt+Buefy</li> <li>認証: Firebase Authentication</li> <li>ユーザデータ: Firestore</li> <li>マスターデータ: <a target="_blank" rel="nofollow noopener" href="https://sssapi.app">SSSAPI</a></li> </ul> <p><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/478782/d9f069c4-7d32-5ea8-aea5-91300fea7030.png" alt="スクリーンショット 2021-10-04 23.40.41.png" /></p> <p>ユーザが更新しないマスターデータはSSSAPIを利用している感じ。</p> <p>メディアサイトのデータをFirestoreに入れておく形もあるけど、<br /> Firebaseコンソールで追加や編集するより、<br /> スプレッドシートを更新するほうが楽なので、この形にしている。</p> <p>スプレッドシートの中身はこんな感じ。</p> <p><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/478782/e130e233-915d-e105-0e75-48249f002a13.png" alt="スクリーンショット 2021-10-04 23.43.50.png" /></p> <p>SSSAPIはこんなJSONを返してくれる。</p> <pre><code class="json">[ { "id": 1, "サイト名": "TechCrunch Japan", "サイトURL": "https://jp.techcrunch.com", "送付方法": "メール", "isActive": true }, { "id": 2, "サイト名": "日経クロステック", "サイトURL": "https://xtech.nikkei.com", "送付方法": "メール", "isActive": true }, { "id": 3, "サイト名": "ITmedia", "サイトURL": "https://www.itmedia.co.jp/", "送付方法": "メール", "isActive": true }, ] </code></pre> <p>※「行数をIDとして追加」オプションを使ってるので、idが自動で付与されています。</p> <p>このスプレッドシートは登録依頼のGoogleフォームと連動しているので、<br /> 追加依頼があったら内容を確認して<code>isActive</code>を<code>true</code>にすれば反映されます。</p> <p><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/478782/39ce3a05-cd7b-2ed8-81e1-af76025e6175.png" alt="スクリーンショット 2021-10-04 23.56.34.png" /></p> <p>こういった構成は割と多く、本の貸し出し管理と備品管理とかでも使える。<br /> Webサービスからスプレッドシートを編集できないので、<br /> 管理者権限とか不要なので、その分フロント側も楽に作れた(<em>´ω`</em>)</p> <p>プレスリリースってどこに送れるのかな〜と思った方は、<br /> ぜひ使ってみてもらえるとうれしいです(<em>´ω`</em>)</p> <p><a target="_blank" rel="nofollow noopener" href="https://press-done.memory-lovers.com">https://press-done.memory-lovers.com</a></p> <h3 id="SSSAPIはβ版ユーザを募集しています!!"><a href="#SSSAPI%E3%81%AF%CE%B2%E7%89%88%E3%83%A6%E3%83%BC%E3%82%B6%E3%82%92%E5%8B%9F%E9%9B%86%E3%81%97%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%21%21">SSSAPIはβ版ユーザを募集しています!!</a></h3> <p>β期間中はプレミアムプランの内容を無料で使えるのでお得!<br /> ぜひぜひ、この機会にお試しいただければ!</p> <p>わからないところやこんなのあったらいいなぁ〜などあれば、<br /> Twitterやお問い合わせなどからお気軽にご連絡ください〜</p> <p>GoogleスプレッドシートのAPI化サービス<br /> 『<a target="_blank" rel="nofollow noopener" href="https://sssapi.app">SSSAPI</a>』<br /> Twitter: <a target="_blank" rel="nofollow noopener" href="https://twitter.com/sssapi_app">@sssapi_app</a></p> <p><a target="_blank" rel="nofollow noopener" href="https://sssapi.app">https://sssapi.app</a></p> <p>開発の励みや記事を書くモチベにもなるので、<br /> いいねやシェア、はてブなどしてもらえるとかなりよろこびます!!</p> きらぷか@積読ハウマッチ/SSSAPIなど tag:crieit.net,2005:PublicArticle/17693 2021-09-30T07:19:35+09:00 2021-09-30T09:25:05+09:00 https://crieit.net/posts/ProductHunt 海外進出を目指して、ProductHuntへ個人開発サービスを投稿するまでにやったこと&やった結果を全面的にシェアする <h1 id="初めて作った個人開発サービスで海外進出しようという無謀な挑戦"><a href="#%E5%88%9D%E3%82%81%E3%81%A6%E4%BD%9C%E3%81%A3%E3%81%9F%E5%80%8B%E4%BA%BA%E9%96%8B%E7%99%BA%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E3%81%A7%E6%B5%B7%E5%A4%96%E9%80%B2%E5%87%BA%E3%81%97%E3%82%88%E3%81%86%E3%81%A8%E3%81%84%E3%81%86%E7%84%A1%E8%AC%80%E3%81%AA%E6%8C%91%E6%88%A6">初めて作った個人開発サービスで海外進出しようという無謀な挑戦</a></h1> <p>以下の記事の通り、9月頭に2goというサービスを作って公開しました。サービスの詳細は以下のURLから見てもらえればと思いますが、いくつかの理由から世界での公開を元から視野に入れていました。<br /> <a href="https://crieit.net/posts/Github-Issues-2go">https://crieit.net/posts/Github-Issues-2go</a></p> <p><a href="https://crieit.now.sh/upload_images/2ccd9128457814ab80f6aa50fae47a4b615488e83f814.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/2ccd9128457814ab80f6aa50fae47a4b615488e83f814.png?mw=700" alt="スクリーンショット 2021-09-26 16.27.05.png" /></a></p> <ol> <li>英語圏のユーザーも含めたほうがサービスの規模感が大きくなる</li> <li>サービス内容が日本だけに留まらない共通の需要があると思った</li> <li>どこかで挑戦しなくてはならないのなら、ここで挑戦しようと思った(無謀)</li> </ol> <p>こういった背景があり、全てのインターフェースは英語で作ってきました。そして、MVPが9月に完成したので、日本でのアナウンスをしました。海外を意識していたので、日本での進め方はあくまでフィードバックを貰えればくらいに思っていましたが、今思えばここからが既に問題なんだなと考えられます。<br /> <a href="https://crieit.now.sh/upload_images/f1969ee50f2c22b287264f3cd5afceb8615488f2e271d.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/f1969ee50f2c22b287264f3cd5afceb8615488f2e271d.png?mw=700" alt="スクリーンショット 2021-09-07 3.13.35.png" /></a></p> <p>私の経験をまとめましたので、自分への戒めと今後トライされる方の参考になれば。</p> <h1 id="日本でやったことと、その結果"><a href="#%E6%97%A5%E6%9C%AC%E3%81%A7%E3%82%84%E3%81%A3%E3%81%9F%E3%81%93%E3%81%A8%E3%81%A8%E3%80%81%E3%81%9D%E3%81%AE%E7%B5%90%E6%9E%9C">日本でやったことと、その結果</a></h1> <p>日本でリリースしたときにやったことを書いていきます。</p> <h2 id="Twitterでの開発進捗の共有による露出"><a href="#Twitter%E3%81%A7%E3%81%AE%E9%96%8B%E7%99%BA%E9%80%B2%E6%8D%97%E3%81%AE%E5%85%B1%E6%9C%89%E3%81%AB%E3%82%88%E3%82%8B%E9%9C%B2%E5%87%BA">Twitterでの開発進捗の共有による露出</a></h2> <p>私のTwitterアカウントはコチラですが、元々は現在働いている会社のAwarenessを上げるために、自分自身の考えやnoteなどの記事を共有するために使っていたものでした。そのため、インフラやクラウドなどのトピックが中心のため、100強のフォロワーもそういった傾向がありました。ただし、インフラやクラウドもこれからはアプリケーションレイヤーがわかっていないと語れないなと思い、個人開発をすることで開発者の気持ちを理解していこうとしている途中でした。<br /> <a target="_blank" rel="nofollow noopener" href="https://twitter.com/jnakajima1982">https://twitter.com/jnakajima1982</a></p> <h3 id="Twitterでの取り組み内容"><a href="#Twitter%E3%81%A7%E3%81%AE%E5%8F%96%E3%82%8A%E7%B5%84%E3%81%BF%E5%86%85%E5%AE%B9">Twitterでの取り組み内容</a></h3> <p>そのため、絶対数としてこういったアプリレイヤーに興味がある人が少ないということもあり、開発進捗を共有したとしても反応がほぼもらえないという状況が続きました。そこで、私は以下を取り組みました。<br /> 1. 「#個人開発」や「#今日の積み上げ」といったハッシュタグを使った投稿を増やした<br /> 2. 上記ハッシュタグにまつわる個人開発者を中心にフォローを増やした<br /> 3. 自分自身で話題を作るより、フォローしている人のTweetに引用RTするようにした<br />  </p> <h3 id="結果と考察"><a href="#%E7%B5%90%E6%9E%9C%E3%81%A8%E8%80%83%E5%AF%9F">結果と考察</a></h3> <p>「#個人開発」に関しては普段よりはインプレッションが増えましたが、反応が劇的に増えた感じはしませんでした。これには2つの原因があると考えています。「どんなサービスかわかりにくかった(プロフィールもわかりにくかった)」のと、「作っているサービスが英語」だったため、ハードルが高かったのだと思っています。それでも少しずつフォロワーは増え、最終的には今回の取り組みで50フォロワーくらい増えたので、コツコツやっていくことが重要で、指数関数的に上がることになるのではないかなと思っていますので、継続が必要です。</p> <p>ただし、私のアカウントが公共分野(デジタル庁など)のインフラ・クラウドと、個人開発が混ざっているので、アカウントを分けるべきか非常に迷っています。フォロワー0から作り直すリスクと、複数アカウントを運用することの大変さに応えられるのかに解がないため、一旦は1つのアカウントとしています。</p> <p><a href="https://crieit.now.sh/upload_images/89697e0fc27d4936e961e842ff9c0e1861548905416a3.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/89697e0fc27d4936e961e842ff9c0e1861548905416a3.png?mw=700" alt="twitter (1).png" /></a></p> <p>また、 「#今日の積み上げ」は、インプレッションが非常に増え、リアクションも同時に増えるのですが、フォロワーが増えません。これは個人開発に留まらないユーザーが大量に流入しているせいだと思いますが、どちらかと言うとお互いに励まし合おうというハッシュタグの位置づけになっていると思われるので、このような結果になっているのだと思います。自分自身の精神安定の観点で、たまに投稿して安心するくらいが丁度いいと思っています。</p> <p>3については、私自身が有益なことをTweetすることができればいいのですが、いざTwitterの画面を開いてなにか書こうと思ったときに、思いつくことには限界があったんですよね。特に、何がウケるのかみたいなことを考えだしたのもいけなかったんだと思います。なので、フォローしている人は私が興味があってフォローしているわけで、その人が話題にしていることに対して引用RTすることにして、自分の意見を言っていこうと考えました。</p> <p>これは意外と効果があります。Twitter上での表示のされ方も、元Tweetが強ければ同時に表示されることもあります。また、何より引用RTした相手からのコメントを頂ける確率も高く、それがインプレッションの増加に繋がる結果が多かったと思います。</p> <h3 id="反省と今後"><a href="#%E5%8F%8D%E7%9C%81%E3%81%A8%E4%BB%8A%E5%BE%8C">反省と今後</a></h3> <p>いずれにしても、Twitterでの認知度向上は一朝一夕ではいきませんので継続した活動が必要ということが身に沁みました。後ほど触れますが、ProductHuntなどは、このようなフォロワーの数が少ない開発者を掘り出して世に出すためのサービスという大前提があるのですが、現実問題として規模の戦いは存在すると実感しましたので、Twitter等のSNSでコミュニティを形成する必要を感じさせられました。</p> <p>特に英語圏での情報発信を考えると、英語用Twitterアカウントを作ったのですが、日本語用Twitterアカウントだけでも苦労しているのに、英語で書いて運用していくというのはとても大変なことです。そのため、英語用Twitterアカウントはほとんど活動ができていません。</p> <h2 id="運営者ギルドへの参加"><a href="#%E9%81%8B%E5%96%B6%E8%80%85%E3%82%AE%E3%83%AB%E3%83%89%E3%81%B8%E3%81%AE%E5%8F%82%E5%8A%A0">運営者ギルドへの参加</a></h2> <p>Twitterを徘徊していると、運営者ギルドという存在を知りました。まさに私が陥っているような状況が冒頭に書かれていました。<br /> <a target="_blank" rel="nofollow noopener" href="https://qiita.com/organizations/admin-guild">https://qiita.com/organizations/admin-guild</a></p> <blockquote> <p>作ったWebサービス、全然使われない……<br /> どうやってマネタイズしよう<br /> どこまで作り込んでからリリースすればいいんだろう<br /> デザイン難しすぎ<br /> 利用規約はどうすれば?<br /> この先どうやってサービスを伸ばしていけばいいのか……<br /> Slackでの運営形態になっており、中の活動が全く見えなかったので、入れていただくかを非常に悩んだのですが、何事もチャレンジだと思ったので、連絡させて頂き、無事入らせて頂きました。</p> </blockquote> <p><a href="https://crieit.now.sh/upload_images/9a13068ab299538fc8dcc14cfa4026f4615489143c8f5.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/9a13068ab299538fc8dcc14cfa4026f4615489143c8f5.png?mw=700" alt="image (28).png" /></a></p> <h3 id="結果と考察"><a href="#%E7%B5%90%E6%9E%9C%E3%81%A8%E8%80%83%E5%AF%9F">結果と考察</a></h3> <p>結果から言うと、個人開発をしている人は入ったほうが良いです。下手な質問をしたら、ぶっ飛ばされるのではないかとビクビクしていましたが、そんな事は全くありませんでした。唯一あるとするならば、自分自身で発信したことには多くの意見がもらえてモチベーションに繋がりますが、自分自身で発信しない方はここで何をしていいかわからなくなってしまうと思います。</p> <p>私は、実運用ではどのようにしているかなどは、こういった限定されたユーザーだけが参加するコミュニティだからこそ聞ける生の声が本当に貴重だと思いました。また、今回のProductHuntのチャレンジなどを好意的に捉えてくださるだけでなく、普段の自分自身の開発の進捗にコメントいただける方もいらっしゃり、個人開発の課題となりがちなモチベーション維持にもなりました。</p> <p>だからこそ、私自身がコミュニティの一部として、他の方が同様な状況にいる場合には、積極的に自分の経験を還元する必要があると思い、いろいろな方のチャンネルに入るようにしました。</p> <h2 id="技術コミュニティメディアへのサービス開発記事の投稿"><a href="#%E6%8A%80%E8%A1%93%E3%82%B3%E3%83%9F%E3%83%A5%E3%83%8B%E3%83%86%E3%82%A3%E3%83%A1%E3%83%87%E3%82%A3%E3%82%A2%E3%81%B8%E3%81%AE%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E9%96%8B%E7%99%BA%E8%A8%98%E4%BA%8B%E3%81%AE%E6%8A%95%E7%A8%BF">技術コミュニティメディアへのサービス開発記事の投稿</a></h2> <p>Twitterや運営者ギルド以外では、とにかくサービスを知ってもらえるチャネルを増やそうとしていました。そこで以下の技術コミュニティメディアに記事を投稿してみました。<br /> - Zenn:https://zenn.dev/nice2have/articles/aa15eccd13a23c<br /> - Qiita:https://qiita.com/nice2have/items/28449ae4ef45fef2c671<br /> - Crieit: https://crieit.net/posts/Github-Issues-2go<br /> - ツクログ:https://creators.eightbit.jp/service/item4309.html</p> <p>以下にそれぞれのメディアの現時点での結果をまとめます(Google Analytics調べ)。Zennは正直きちんと取れているのかわかりません。ツクログは投稿して間もないのと、どこからデータが取れるのかわからずなので、外しています。<br /> <div class="table-responsive"><table> <thead> <tr> <th>メディア</th> <th>記事閲覧数</th> <th>サービス流入数</th> <th>LGTM</th> </tr> </thead> <tbody> <tr> <td>Zenn</td> <td>34</td> <td>10</td> <td>4</td> </tr> <tr> <td>Qiita</td> <td>1468</td> <td>261</td> <td>7</td> </tr> <tr> <td>Crieit</td> <td>1198</td> <td>66</td> <td>1</td> </tr> </tbody> </table></div></p> <h3 id="結果と考察"><a href="#%E7%B5%90%E6%9E%9C%E3%81%A8%E8%80%83%E5%AF%9F">結果と考察</a></h3> <p>いずれにせよ、どのメディアにも投稿することは確実に認知度とサービス流入に繋がっていると言えますので、サービスローンチのタイミングだけでなく、書く内容がある限り、投稿し続けると良いと思います、、、が、やっぱり書くのって大変なんですよね。さらに、メディアによってトレンドがあるから、書く内容を変えたほうがよいというのを見たのですが、全く同じ記事を上げているのが現状です。まずは続けることが大事なので、しばらくはそれを継続しようと思っています。</p> <h3 id="ダイレクトアプローチ"><a href="#%E3%83%80%E3%82%A4%E3%83%AC%E3%82%AF%E3%83%88%E3%82%A2%E3%83%97%E3%83%AD%E3%83%BC%E3%83%81">ダイレクトアプローチ</a></h3> <p><a href="https://crieit.now.sh/upload_images/d3971adefd981bac418520bb891203cb61548925cc9ef.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/d3971adefd981bac418520bb891203cb61548925cc9ef.png?mw=700" alt="lp_issues.png" /></a><br /> 追加でした作業についても記録しておきます。2goというサービスの特性上、Github Issueを利用している/利用見込みのユーザーがターゲットになります。そのため、メディア上にGithub Issueについて記事を書いている人へ直接連絡して実際に利用していただくことで、フィードバックを受けて改善に生かしていこうと思いました。</p> <p>Google検索からたどり着いた5件にコメントをしてコミュニケーションを図ってみたのですが、どこからも未だ返事がない状況です。Twitter上でキーワード検索してアプローチしたこともありましたが、ちょっと利用用途が異なったようで、試してもらうまでに至りませんでした。</p> <p>以上のアプローチで、面白いですとか、良いサービスですねなど言われるものの、今思えば、やはり利用されるだけの魅力やユースケースが見出してもらえなかったのだと思いました。</p> <h2 id="まとめ:日本での取り組み"><a href="#%E3%81%BE%E3%81%A8%E3%82%81%EF%BC%9A%E6%97%A5%E6%9C%AC%E3%81%A7%E3%81%AE%E5%8F%96%E3%82%8A%E7%B5%84%E3%81%BF">まとめ:日本での取り組み</a></h2> <p>海外進出を前提に置いていたため、以下の2点の理由で、Githubアカウントでログインしてまで試してくれた人は、2桁にすら行きませんでした。<br /> - 日本での取り組みを正直本気で取り組んだとは言えない<br /> - 英語のインターフェースのため、伝わりづらかった</p> <p>そこで、Githubアカウントでログインすることのハードルが高いと思い、ログイン不要で誰にでも触れるサンプルを追加開発して提供してみたのですが、こちらも時たま試す人が現れるくらいで、試すことすらしてもらえないのかと打ちひしがれましたorz</p> <p>ほとんどのユーザーアクティビティ(サービス登録/ログイン/公開設定)が発生すると、Slackに通知が飛んでくるようにしていたのですが、たまにしか飛んでこず、こちらも現時点では自分のログイン動作だけが通知される閑古鳥が鳴いている状態です。</p> <h1 id="海外編:Product Hunt"><a href="#%E6%B5%B7%E5%A4%96%E7%B7%A8%EF%BC%9AProduct+Hunt">海外編:Product Hunt</a></h1> <p>つらつらと書いてきましたが、これからが本編です。当時、海外進出しか見えていなかった私は、海外での認知度を上げるための方策を調査していました。調べていくと以下の2つのサービスがマッチすると思いました。</p> <ol> <li>Product Hunt : https://www.producthunt.com/</li> <li>Indie Hackers : https://www.indiehackers.com/</li> </ol> <p>これらのサービスでは、個人開発者やスタートアップが自分の作ったプロダクトを投稿して、認知度を上げることが毎日のように行われています。ただ、Indie Hackersの方は招待制でしか入れず、Redditなどを徘徊してもInvitation Codeを求める人はいるものの、なかなか何もない状態でそれがもらえる人は見られなかったので、一旦Product Huntにフォーカスすることに決めました。</p> <h2 id="Product Huntへの投稿を決心"><a href="#Product+Hunt%E3%81%B8%E3%81%AE%E6%8A%95%E7%A8%BF%E3%82%92%E6%B1%BA%E5%BF%83">Product Huntへの投稿を決心</a></h2> <p>まずは経験者のまとめを読み漁りました。具体的には以下の記事を読みました。この中でも、本当に有効だったこと、今では有効ではないこと、役に立たないことがあるので、それを自分なりに整理していきました。とにかくやれることはやりきらないと、次につながらないと思い計画していきました。</p> <p><a href="https://crieit.net/posts/7">https://crieit.net/posts/7</a><br /> <a target="_blank" rel="nofollow noopener" href="https://jp.taishikato.com/posts/i-want-to-prove-that-japanese-can-compete-in-english-speaking-countries">https://jp.taishikato.com/posts/i-want-to-prove-that-japanese-can-compete-in-english-speaking-countries</a><br /> <a target="_blank" rel="nofollow noopener" href="https://blog.notsobad.jp/entry/2019/12/23/232807">https://blog.notsobad.jp/entry/2019/12/23/232807</a><br /> <a target="_blank" rel="nofollow noopener" href="https://blog.notsobad.jp/entry/bungo-search-product-hunt">https://blog.notsobad.jp/entry/bungo-search-product-hunt</a></p> <h3 id="Product Hunt攻略計画"><a href="#Product+Hunt%E6%94%BB%E7%95%A5%E8%A8%88%E7%94%BB">Product Hunt攻略計画</a></h3> <p>先述の記事を読んで私が立てた当日の計画は以下のとおりです。<br /> 1. 太平洋時間 0:01(日本時間 16:01)からその日のランキングレース開始。<br /> 2. 1時間くらい様子をみて、Google や Facebook からのプロダクトなどのビッグサービスが投稿されていないのを確認してから投稿。<br /> 3. Twitter で Product Hunt への投稿を英語でアナウンス。 @ProductHuntをメンションする。<br /> 4. Product Hunt 上の紹介ページ URL が取得できるので、それを基に Product Hunt Card 作成(Medium の場合は URL を貼り付けるだけで OK)し、Medium 投稿。<br /> 5. ProductHunt の URL を使って Landing Page に反映し、導線を作る。<br /> 6. Medium の記事を、Product Hunt 上のプロダクト紹介ページに関連記事として貼り付け。<br /> 7. Medium の記事を、Hacker News に投稿(Show HN:をタイトルにつけて投稿)<br /> 8. Reddit に投稿<br /> 9. コメントが入ったらそれに返信していく。</p> <p>また、投稿当日までの計画は以下のとおりです。<br /> 1. 投稿用のランディングページを作る<br /> 2. 投稿用の動画(英語)を作る<br /> 3. Medium/HackersNews/Redditの記事を準備する<br /> 4. Product Huntのupcoming Productに登録する<br /> 5. Product Hunt投稿内容の準備をする<br /> 6. 最低限必要な機能の整備(退会機能・規約)<br /> 7. 著名なProduct HuntersにReview Requestをして、認知してもらう</p> <p>簡単に言ってしまうと、以下の2点に集約されます。すごくシンプルです。<br /> - ProductHuntの投稿を魅力的なものにする<br /> - ProductHuntのupvoteを得るための導線をできるだけ多く作る</p> <h4 id="投稿当日までの準備と結果"><a href="#%E6%8A%95%E7%A8%BF%E5%BD%93%E6%97%A5%E3%81%BE%E3%81%A7%E3%81%AE%E6%BA%96%E5%82%99%E3%81%A8%E7%B5%90%E6%9E%9C">投稿当日までの準備と結果</a></h4> <p>順番は前後しますが、投稿当日までの計画について共有します。</p> <h5 id="ランディングページ"><a href="#%E3%83%A9%E3%83%B3%E3%83%87%E3%82%A3%E3%83%B3%E3%82%B0%E3%83%9A%E3%83%BC%E3%82%B8">ランディングページ</a></h5> <p>ランディングページはたいして手間もかからなかったのですが、当日投稿しなければ、貼るURLがわからないため、ボタンだけ作ってVueの機能で表示しない状態で準備しておきました。実際のトップページの見えるところにボタンを置いた程度でした。はっきり言ってダサいですね。<br /> <a href="https://crieit.now.sh/upload_images/a66b3274000d3cb3eea1c45bdc3c27aa6154893919d2d.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/a66b3274000d3cb3eea1c45bdc3c27aa6154893919d2d.png?mw=700" alt="image (27).png" /></a></p> <p>改めて投稿後にいろいろ研究してみましたが、以下のような形で誘導するのはとても有効だと感じました。後にわかりますが、こんなレベルの問題ではないことがわかります。<br /> <a href="https://crieit.now.sh/upload_images/55b3b19e99f9362c582a1295c888addd61548947627a7.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/55b3b19e99f9362c582a1295c888addd61548947627a7.png?mw=700" alt="image (26).png" /></a></p> <hr /> <h5 id="投稿用の動画"><a href="#%E6%8A%95%E7%A8%BF%E7%94%A8%E3%81%AE%E5%8B%95%E7%94%BB">投稿用の動画</a></h5> <p>ProductHuntの投稿にYoutube動画を付けると、Product紹介の一番最初に表示され、自動的に再生される仕組みになっています。そのため、インパクトがあると思ったのと、これをやらねばやらなかったときの効果が今後わからなくなると思い、動画制作に手を付け始めました。しかしながら、以下の問題にぶつかります。</p> <ul> <li>動画編集に知見がない</li> <li>動画ナレーションは英語の必要性がある</li> </ul> <p>動画編集に知見がないので、いろいろ調べたところ、ダビンチリゾルブという動画編集ソフトが良さそうで試してみたところ、操作が全くわからず、説明記事をウロウロしていたのですが、わからなすぎて挫折しそうになっていました。ところが、原点に戻って動画のことは動画で、と思ってYoutubeの解説動画を探しました。</p> <p>そして以下の動画を10分で見たら、一気に進み、こんな私でも動画編集ができるようになりました。基本操作と、動画編集に最低限必要そうな動画を紹介しておきます。</p> <p><a target="_blank" rel="nofollow noopener" href="https://youtu.be/duxtN8ixpLo">https://youtu.be/duxtN8ixpLo</a><br /> <a target="_blank" rel="nofollow noopener" href="https://www.youtube.com/watch?v=0J7lqAnP_64&t=194s">https://www.youtube.com/watch?v=0J7lqAnP_64&t=194s</a></p> <p>ただ、計画もなしに動画編集するとうまく行かなったので、Figmaで整理してみました。ただし、これで一旦動画を作ったのですが、文字だらけでなかなか理解しにくいものになってしまいました。<br /> <a href="https://crieit.now.sh/upload_images/7ef5b8ff4b8585d89aea6aae136e0560615488982a3bd.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/7ef5b8ff4b8585d89aea6aae136e0560615488982a3bd.png?mw=700" alt="image (25).png" /></a></p> <p>ここあら紆余曲折があって、ようやく完成した最終版はコチラです。<br /> <a target="_blank" rel="nofollow noopener" href="https://youtu.be/YvcyiAccCBo">https://youtu.be/YvcyiAccCBo</a></p> <p>先にナレーションの英文を考えて、Google Text to Speechに喋らせて、それに合わせて映像を作成するという手順を踏みました。しかしながら、結果的に動画以前の問題であることも発覚します。<br /> <a href="https://crieit.now.sh/upload_images/1854cd2cbe6840ac117d5ae95762703d615488842c9e4.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/1854cd2cbe6840ac117d5ae95762703d615488842c9e4.png?mw=700" alt="image (24).png" /></a></p> <h5 id="Medium/HackersNews/Redditの記事を準備する"><a href="#Medium%2FHackersNews%2FReddit%E3%81%AE%E8%A8%98%E4%BA%8B%E3%82%92%E6%BA%96%E5%82%99%E3%81%99%E3%82%8B">Medium/HackersNews/Redditの記事を準備する</a></h5> <p>ここから導線となる記事の準備についてお話しいたします。</p> <p><strong>Medium</strong><br /> <a target="_blank" rel="nofollow noopener" href="https://medium.com/@nice2have/2go-road-to-my-first-webservice-5b38666a7dd8">https://medium.com/@nice2have/2go-road-to-my-first-webservice-5b38666a7dd8</a><br /> <a href="https://crieit.now.sh/upload_images/c76742bc401d73b46336fe6b13cfa4c161548878085d9.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/c76742bc401d73b46336fe6b13cfa4c161548878085d9.png?mw=700" alt="image (23).png" /></a><br /> - 特に制限もないので、自由に書きましたが、タグについては迷いましたね。サービスの特性上、割り当てるべき適切なタグかどれか未だにわかっていません。<br /> - しかしながら現時点でもView数は2です。そのため、こちらもMediumのフォロワーを増やしておくか、単なるプロダクト説明の置き場と割り切るかのどちらかが今後の戦略となりそうです。<br /> <a href="https://crieit.now.sh/upload_images/36006e156388e53b6d55afc31fa83f0a6154883e1dcc6.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/36006e156388e53b6d55afc31fa83f0a6154883e1dcc6.png?mw=700" alt="image (22).png" /></a></p> <hr /> <p><strong>HackersNews</strong><br /> <a href="https://crieit.now.sh/upload_images/1be5ea94b6dfb0a28f3b04305009befe6154880ca815b.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/1be5ea94b6dfb0a28f3b04305009befe6154880ca815b.png?mw=700" alt="image (21).png" /></a><br /> - Show HNを付けるというルールを守って投稿<br /> - 付けるURLはMediumのページか、サービス自体のURLかは迷いましたが、サービスにProductHuntへの誘導を用意していたので、後者を選択しました。<br /> - しかし残念ながら、GoogleAnalytics上は、HackersNewsからの流入は0でしたので、もう少し工夫が必要か、流れるのが早すぎて流入が期待できないかもしれません。</p> <hr /> <p><strong>Reddit</strong><br /> <a target="_blank" rel="nofollow noopener" href="https://www.reddit.com/r/ProductHunters/comments/px15lq/i_created_my_first_web_site_2go_2go_can_generate/">https://www.reddit.com/r/ProductHunters/comments/px15lq/i_created_my_first_web_site_2go_2go_can_generate/</a><br /> <a href="https://crieit.now.sh/upload_images/210f64e0ce8b159071e2738e1bd35776615487f13bade.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/210f64e0ce8b159071e2738e1bd35776615487f13bade.png?mw=700" alt="image (20).png" /></a><br /> - Karmaというポイントがないと記事が投稿できないという話を見たので、事前に記事投稿やコメントで参加してみました。特にGithub Issueの必要性などを投稿したりして、反応を窺うなどもトライしましたが、慣れていないせいもあって反応も薄かったです。<br /> - どのSubredditに投稿するかは検討しました。ProductHunt / Github / webdev / SaaS / startups / indieHackers / indieDevelopers等、色々調査しました。ProductHuntのSubredditが最も適切かと思いましたが、あまり活況がないのが心配でした。ただ、それ以外のところでは厳しい反応も予想されたので、シンプルにProductHuntのSubredditを投稿先と決定しました。<br /> - その他細かいことですが、RedditのProfileなどもきちんと整備しました。<br /> - しかしながら、RedditのSpamFilterに引っかかって削除されてしまったみたいです…</p> <hr /> <h5 id="Product Huntのupcoming Product"><a href="#Product+Hunt%E3%81%AEupcoming+Product">Product Huntのupcoming Product</a></h5> <p>あまり認知されていませんが、以下のようにサービスローンチ前にユーザーとコミュニケーションができるPre-Postサイトを作ることが出来ます。ただここからSubsriberは1人も登録されませんでした。おそらくProductHuntの著名なユーザーが、次期サービスを立ち上げる前にユーザーとコミュニケーションするためのプラットフォームだと感じましたので、私には当分必要ないと思いました。<br /> <a target="_blank" rel="nofollow noopener" href="https://www.producthunt.com/upcoming/2go">https://www.producthunt.com/upcoming/2go</a></p> <hr /> <h6 id="Product Hunt投稿内容の準備をする"><a href="#Product+Hunt%E6%8A%95%E7%A8%BF%E5%86%85%E5%AE%B9%E3%81%AE%E6%BA%96%E5%82%99%E3%82%92%E3%81%99%E3%82%8B">Product Hunt投稿内容の準備をする</a></h6> <p><a href="https://crieit.now.sh/upload_images/76ebfc15ab748145d665f1c4a4986b7e615487ca134e3.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/76ebfc15ab748145d665f1c4a4986b7e615487ca134e3.png?mw=700" alt="image (19).png" /></a><br /> Product Huntの投稿ページは入力したものが記録されるようになっているので、Submitボタンの直前までを入力しておいて事前に準備しておくことが可能です。今回の画像は、動画作成時に作っていたFigmaデータを画像データに変換して利用することとしました。特に動画は視覚的に、画像は落ち着いて読むように文字を入れるようにしました。</p> <p><a href="https://crieit.now.sh/upload_images/7c82e16b607550ccb13639965cdedb976154879728e68.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/7c82e16b607550ccb13639965cdedb976154879728e68.png?mw=700" alt="スクリーンショット 2021-09-26 16.20.56.png" /></a><br /> <a href="https://crieit.now.sh/upload_images/51240628b6d64bac3d7d4b51f2ba477e615487a283dfe.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/51240628b6d64bac3d7d4b51f2ba477e615487a283dfe.png?mw=700" alt="スクリーンショット 2021-09-26 16.03.43.png" /></a><br /> <a href="https://crieit.now.sh/upload_images/4cb7adb70db8bd9afc4ec8e3c63bc1ed615487a8a64c5.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/4cb7adb70db8bd9afc4ec8e3c63bc1ed615487a8a64c5.png?mw=700" alt="スクリーンショット 2021-09-26 16.04.35.png" /></a><br /> <a href="https://crieit.now.sh/upload_images/4937eca85eebe0d18e1ce6a5b2637f91615487ae2d3bc.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/4937eca85eebe0d18e1ce6a5b2637f91615487ae2d3bc.png?mw=700" alt="スクリーンショット 2021-09-26 16.04.11.png" /></a><br /> ここで用意しにくいのは、投稿ロゴとして利用できるGIFファイルだと思います。動画や画像イメージは比較的簡単に用意できますが、GIFファイルはどんなものにするところから微妙に悩ましい位置づけです。私は今回動画ファイルを作って出力した後、MovファイルからGIFに変換して利用しました。<br /> <a href="https://crieit.now.sh/upload_images/07acf05940475d852b84873e9766827461548726e8258.gif" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/07acf05940475d852b84873e9766827461548726e8258.gif?mw=700" alt="titleGIF.gif" /></a><br /> 目立たせるために、アニメーションというよりは、全体の色が大きく変わることで目につくように意識して作りました。</p> <hr /> <h5 id="著名なProduct HuntersにReview Request"><a href="#%E8%91%97%E5%90%8D%E3%81%AAProduct+Hunters%E3%81%ABReview+Request">著名なProduct HuntersにReview Request</a></h5> <p>先程の記事の中には著名なProductHunterにお願いして、彼らに周知してProductHuntで彼らをフォローしているユーザーに通知されるようにしたほうが良いという記述がありました。一方で、その機能はなくなったのでやる必要ないよというのも見受けられました。ということは、やってみるしかありません。まずは以下のサイトからTop Huntersを探しました。</p> <p><a target="_blank" rel="nofollow noopener" href="https://yvoschaap.com/producthunt/">https://yvoschaap.com/producthunt/</a></p> <p>それぞれがどういった方なのかまで抑えられなかったので、上から順番にTwitterを見て、直接DMを送れる人にていねいな英文を書いて送りました。…が、結果的に1人からも返信は返ってきませんでした。おそらく、こういった依頼が定常的に来るので、そもそもDMを開いていない可能性が高いです。既読にすらなりませんでしたので。</p> <p>では、このアプローチは不要なんでしょうか。その答えは、私のProductHuntの通知ページにありました。以下のようにフォローしているHunterがUpvoteすると、その通知がフォロワーには届きます。つまり、TopHuntersにUpvoteされると知られる確率が高くなるという理解をしています。ただ、彼らからUpvoteされるためにどうしたらよいかは未だにわかりません。Twitterでフォローされるわけもないので、ProductHuntでDiscussionに参加するなどして自分自身の露出が必要なのかもしれません。</p> <p><a href="https://crieit.now.sh/upload_images/93dd81709da263bd35dc9bdcde62bc5b615486ed95e33.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/93dd81709da263bd35dc9bdcde62bc5b615486ed95e33.png?mw=700" alt="tophunters.png" /></a></p> <p>その他に可能性があるとすると、以下は検討してみてもよいかと思いました。開発者のクローズドなコミュニティがあり、そこで繋がりが作れるかもしれません。なぜなら、$2,000/yearの有料会員制だからです。だからこそ、人数が爆発的に多いわけでもないですし、コミュニケーションが活発なのかもしれません。ただし、個人開発者がここに投資するのは、英語とお金が必要なので、ハードルが高いとは思います。</p> <p><a target="_blank" rel="nofollow noopener" href="https://megamaker.co/club/">https://megamaker.co/club/</a></p> <hr /> <h4 id="投稿当日の結果"><a href="#%E6%8A%95%E7%A8%BF%E5%BD%93%E6%97%A5%E3%81%AE%E7%B5%90%E6%9E%9C">投稿当日の結果</a></h4> <p>改めて、投稿当日の計画を振り返る前に、投稿曜日を検討していました。最初は準備ができた翌日に投稿しようかと思っていましたが、ちょうど週末でした。週末がどう影響するかがわからず、Active User数が減少するのではないかと推測して候補から外しました。また、週明けの月曜日も同様の理由で除外し、現地時間火曜日0時に投稿することとしました。</p> <ol> <li>太平洋時間 0:01(日本時間 16:01)からその日のランキングレース開始。</li> <li>1時間くらい様子をみて、Google や Facebook からのプロダクトなどのビッグサービスが投稿されていないのを確認してから投稿。</li> <li>Twitter で Product Hunt への投稿を英語でアナウンス。 @ProductHuntをメンションする。</li> <li>Product Hunt 上の紹介ページ URL が取得できるので、それを基に Product Hunt Card 作成(Medium の場合は URL を貼り付けるだけで OK)し、Medium 投稿。</li> <li>ProductHunt の URL を使って Landing Page に反映し、導線を作る。</li> <li>Medium の記事を、Product Hunt 上のプロダクト紹介ページに関連記事として貼り付け。</li> <li>Medium の記事を、Hacker News に投稿(Show HN:をタイトルにつけて投稿)</li> <li>Reddit に投稿</li> <li>コメントが入ったらそれに返信していく</li> </ol> <p>まず、予約投稿機能があるので、試してみましたが、正常に動作しませんでした。もしかすると私の現地時間の入力時間が間違っているかもしれませんが、念の為日本時間16時にはPCの前にいたほうがいいかもしれません。</p> <hr /> <h5 id="投稿後の動きの感想"><a href="#%E6%8A%95%E7%A8%BF%E5%BE%8C%E3%81%AE%E5%8B%95%E3%81%8D%E3%81%AE%E6%84%9F%E6%83%B3">投稿後の動きの感想</a></h5> <ul> <li>現地時間0時のタイミングでは、少しでもUpvoteを稼いだProductが上位に行きやすいです。そのため、初速を確保する知り合いやコミュニティへの事前声掛けは重要だと思いました(ただし、Upvoteを直接的に促してはいけません)</li> <li>必要初速Upvoteは10くらいだと思います。トップページに表示できるProductにも限りがあり、そこに載れなければ閲覧数も獲得できないです。</li> <li>必ずUpvote順にソートされるわけではありませんでした。コメントなどの他の要素も見ていると思われます。コメントはUpvote同様に初速に影響する可能性があるので、できれば事前に確保しておきたいところです。ただし、日本人のコミュニティにおいて、Upvoteはしてくれても、コメントまでしてくれる人を確保するのは至難の業だと思います。</li> <li>コメントがないと盛り上がりに欠けるのか、追加のコメントが得られにくいと思います。私はただの1つもコメントを最後まで得られませんでした。他のProductは、共同開発者などがコメントし合うことで盛り上がりを演出している印象を受けました。</li> <li>コメントが来たら返信しながら、投稿スレッドを盛り上げる準備をして待っていましたが、杞憂に終わってしまいました。</li> </ul> <hr /> <h5 id="結果と感想"><a href="#%E7%B5%90%E6%9E%9C%E3%81%A8%E6%84%9F%E6%83%B3">結果と感想</a></h5> <p><a href="https://crieit.now.sh/upload_images/74934dd4ad26684204b3a8d132c39ae6615486b229512.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/74934dd4ad26684204b3a8d132c39ae6615486b229512.png?mw=700" alt="スクリーンショット 2021-09-29 17.18.24.png" /></a></p> <p>最終的な結果はUpvote x15となりました。結果をまとめていきます。<br /> - Upvote x15(しかし、運営者ギルドから半数くらいはUpvoteしてくれた方がいたと思います)<br /> - 流入トラフィック x5(ほとんど流入が見込めませんでした)<br /> - 新規登録ユーザー数 x0(残念ながら一人も使ってくれませんでした)<br /> - サンプルを試したユーザー数 x2(流入トラフィックの割に確率が高かった)</p> <p>重要なのは…</p> <ul> <li>とにかく初速Upvoteを増やして、トップページに載らないと何も始まらない</li> <li>流入さえしてくれれば試してもらえる率はそこそこある</li> <li>投稿内容(文章・動画・画像)の良し悪しが影響するのかはわからなかった</li> <li>導線はほとんど影響しなかった(影響するように仕立て上げるには継続的な活動が必要)</li> <li>TopHuntersに認知される方法があれば、Upvoteを得るための近道になるかも。</li> </ul> <h2 id="ProductHuntへの挑戦は惨敗"><a href="#ProductHunt%E3%81%B8%E3%81%AE%E6%8C%91%E6%88%A6%E3%81%AF%E6%83%A8%E6%95%97">ProductHuntへの挑戦は惨敗</a></h2> <p>多くの方にご協力を頂きましたが、残念ながら私の個人開発サービスのProductHunt挑戦は惨敗に終わったと言って良いでしょう。ただし、考えうる限りのことはやり切ったので、次に繋がる敗戦だと考えています。</p> <p>海外進出のサービスの難しさを以下の点で痛感しています。<br /> - 海外でウケるサービスとかユースケースが、真の意味で理解できない可能性<br /> - 海外で求められるデザインやマーケティング・言い回しが適切かどうかわからない<br /> - 海外でのコミュニティ参加は更に負荷がかかるため、労力に見合うかが不安<br /> - 番外編)ユーザーに提供する規約の英文精査が難しい</p> <p>英語で開発すれば、非常に多くのユーザーに対する市場へのアプローチが可能ですが、このような深刻な悩みがついてまわることになります。いくつかの記事にもありましたが、英語圏の感覚を持つ人にヘルプしてもらわないと難しいかもしれません。</p> <h1 id="最後に…"><a href="#%E6%9C%80%E5%BE%8C%E3%81%AB%E2%80%A6">最後に…</a></h1> <p>想像してよりもずっとずっと個人開発は難しいです。プログラミングの世界だけでなく、デザイン・マーケティングまで1人で取り組まなければならず、かつアイデアの捻出とその中からの選定も全部自分の責任です。だからこそ楽しみがあるわけですが、大変さも同時に存在しています。</p> <p>企業よりも個人開発が気楽な分、企業よりもマーケティングや作業分担にお金がかけられません。特に個人開発はサービスが知られることがなければ、提供するユースケースが知られていないから失敗しているのか、知られていても失敗しているのか判断が難しくなります。</p> <p>そこでやはり重要となってくるのが、コミュニティだと思います。自分の作るプロダクトに意見を言ってくれる、試してみてくれる、拡散して届けてくれる人たちとともに歩まねば成功はあり得ません。そしてそれは継続的な努力によってのみ得られるものだと感じました。</p> <p>私にとって今回の開発は本当に作りたいものに対する準備の意味合いも兼ねていますが、コミュニティとともにモチベーションを維持し、成功の模索をしていきたいと思います。</p> <p>ということで、ぜひ気になる方はTwitterのフォローと、2goの利用をしてみて、フィードバックをいただければと思いますので、最後にリンクを貼って終わりにさせていただきます。</p> <p><a target="_blank" rel="nofollow noopener" href="https://twitter.com/jnakajima1982">https://twitter.com/jnakajima1982</a><br /> <a target="_blank" rel="nofollow noopener" href="https://2go.plus/">https://2go.plus/</a></p> <p>ありがとうございました!</p> jnakajima1982 tag:crieit.net,2005:PublicArticle/17624 2021-08-29T17:21:16+09:00 2021-08-29T17:26:06+09:00 https://crieit.net/posts/Web-15-5 つくってるWebサービスのユーザ数が15倍になったときにやった5つのこと。 <p><a href="https://crieit.now.sh/upload_images/e1987b7820c75d7857fbfe4ca21013da612b3b60d79bd.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/e1987b7820c75d7857fbfe4ca21013da612b3b60d79bd.png?mw=700" alt="OGP_お知らせ (2).png" /></a></p> <p>先日、<a target="_blank" rel="nofollow noopener" href="https://sssapi.app">開発中のサービス</a>のオープンβ版を公開したら、<strong>4日でユーザ数が15倍に</strong>。。<br /> 想像以上の反響だったので、どんなことをやってたかをまとめてみました。</p> <p>リリース後のプロモーションはいつも困っているので、、<br /> これから何かを作ろう、リリースしようとしている人の一助になれば。</p> <p>※注意※<br /> ・元のユーザ数が少ないのですごく増えた感あり。運要素が強めです。<br /> ・実際のユーザ数やデータはちょっとはずかしいので有料にしてます<br />  (Crieitの有料記事機能を使ってみたかったって理由も)</p> <h2 id="実際にやったこと"><a href="#%E5%AE%9F%E9%9A%9B%E3%81%AB%E3%82%84%E3%81%A3%E3%81%9F%E3%81%93%E3%81%A8">実際にやったこと</a></h2> <ol> <li>LPや事前登録サイトを公開</li> <li><a target="_blank" rel="nofollow noopener" href="https://qiita.com/organizations/admin-guild">運営者ギルド</a>でバグバッシュしてもらう</li> <li>PR TIMES等でプレスリリースを公開&ツイートする</li> <li>Zenn/Crieit/Qiita等で記事を公開&ツイートする</li> <li>RTされやすそうな時間帯にセルフRTなどする</li> </ol> <h5 id="実際のやったときの流れ"><a href="#%E5%AE%9F%E9%9A%9B%E3%81%AE%E3%82%84%E3%81%A3%E3%81%9F%E3%81%A8%E3%81%8D%E3%81%AE%E6%B5%81%E3%82%8C">実際のやったときの流れ</a></h5> <ul> <li>7/6(火): 事前登録サイトの公開&PR TIMESで<a target="_blank" rel="nofollow noopener" href="https://prtimes.jp/main/html/rd/p/000000006.000056359.html">プレスリリース</a>を公開</li> <li>7/10(土)-7/12(月): <a target="_blank" rel="nofollow noopener" href="https://qiita.com/organizations/admin-guild">運営者ギルド</a>でバグバッシュ</li> <li>8/24(火): PR TIMESで<a target="_blank" rel="nofollow noopener" href="https://prtimes.jp/main/html/rd/p/000000007.000056359.html">プレスリリース</a>を公開 <ul> <li>→ <a target="_blank" rel="nofollow noopener" href="https://digital-shift.jp/flash_news/FN210824_2">プレスを元にした記事</a>をデジタル シフト タイムズさまから公開</li> <li>→ この記事がはてなブックマークのテクノロジーでホッテントリに!!</li> <li>→ ホッテントリに入ったので、Discoverで表示(Google砲)!!</li> <li>→ つられて、SSSAPI自体もホッテントリに!!</li> </ul></li> <li>8/25(水): Zennで記事を公開 <ul> <li><a target="_blank" rel="nofollow noopener" href="https://zenn.dev/kira_puka/articles/f9496a6a847799">Firestore最高だけど、初期データとかマスタデータ管理がめんどくさいので、スプレッドシートをAPI化サービスを作ってみた</a></li> <li>→ トレンド入りし、トップページに表示される!!</li> </ul></li> <li>8/26(木): Qiitaに記事を投稿 <ul> <li><a target="_blank" rel="nofollow noopener" href="https://qiita.com/kira_puka/items/b61f8cd682161afb55a9">GASでもできるけど、スプシをAPI化するサービスを作ってみた。そして、そのときハマったこと。 - Qiita</a></li> <li>→ トレンド入りし、トップページに表示される!!</li> </ul></li> </ul> <p>それぞれ記事を投稿したら、朝/昼/夜くらいでセルフRTなどしてました。</p> <p>(フィードバックやいいね/RTで拡散で協力してくれた方、ほんとありがとうございます!!)</p> <h3 id="1. LPや事前登録サイトを公開"><a href="#1.+LP%E3%82%84%E4%BA%8B%E5%89%8D%E7%99%BB%E9%8C%B2%E3%82%B5%E3%82%A4%E3%83%88%E3%82%92%E5%85%AC%E9%96%8B">1. LPや事前登録サイトを公開</a></h3> <p>まずは、トップページのみの事前登録サイトを作って公開してました。<br /> 事前登録の受付は、Googleフォームの簡易的なサイト。</p> <p>事前登録のプレスリリースを打つためもありますが、<br /> <strong>サービス名を検索するとヒットするように、あらかじめ用意していました</strong>。</p> <p>ツイートへの反応や登録者数なども、ウケそうかのどうかの判断材料に。</p> <h3 id="2. 運営者ギルドでバグバッシュ"><a href="#2.+%E9%81%8B%E5%96%B6%E8%80%85%E3%82%AE%E3%83%AB%E3%83%89%E3%81%A7%E3%83%90%E3%82%B0%E3%83%90%E3%83%83%E3%82%B7%E3%83%A5">2. 運営者ギルドでバグバッシュ</a></h3> <p><a target="_blank" rel="nofollow noopener" href="https://qiita.com/organizations/admin-guild">運営者ギルド</a>は、Webサービス運営者が集まっているコミュニティ。<br /> すごい人ばかりで、Slack内も知見がすごいですが、<br /> その中のイベントの一つ、バグバッシュをしてもらいました。</p> <p>バグバッシュは、「リリース前にみんなにさわってもらってバグを見つけよう!」<br /> という活動なのですが、バグだけでなく、どこがわかりにくい?なども聞けることも。</p> <p>みんなそれぞれ運営しているので、いろんな視点のフィードバックが集まり、<br /> 自分では気づけないポイントのコメントを多くもらえました。。!</p> <p>そのフィードバックを踏まえ、改善&ブラッシュアップ。</p> <h3 id="3. PR TIMES等でプレスリリースを投稿"><a href="#3.+PR+TIMES%E7%AD%89%E3%81%A7%E3%83%97%E3%83%AC%E3%82%B9%E3%83%AA%E3%83%AA%E3%83%BC%E3%82%B9%E3%82%92%E6%8A%95%E7%A8%BF">3. PR TIMES等でプレスリリースを投稿</a></h3> <p>PR TIMESにプレスリリースを投稿すると、<br /> 各種メディアに掲載され、露出が増えるので、活用しています。</p> <p>配信のタイミングは、以下の記事を参考にしていて、<br /> 火曜日の朝10時10分にしました。<br /> ・<a target="_blank" rel="nofollow noopener" href="https://prtimes.jp/magazine/time-to-pressrelease/">プレスリリースの配信タイミングは?曜日・時間を戦略的に決定して効果を最大化させよう</a></p> <p>また、会社設立日から2年は無料枠がもらえる、<br /> スタートアップチャレンジを活用しています。</p> <p>・<a target="_blank" rel="nofollow noopener" href="https://prtimes.jp/startup_free/">スタートアップチャレンジ|PR TIMESプレスリリース無料配信プログラム</a></p> <h3 id="4. Zenn/Crieit/Qiita等で記事を投稿"><a href="#4.+Zenn%2FCrieit%2FQiita%E7%AD%89%E3%81%A7%E8%A8%98%E4%BA%8B%E3%82%92%E6%8A%95%E7%A8%BF">4. Zenn/Crieit/Qiita等で記事を投稿</a></h3> <p>なにか作ったら各種サイトに記事を書いてます。<br /> 今回は<a target="_blank" rel="nofollow noopener" href="https://zenn.dev/">Zenn</a>と<a href="https://crieit.net/">Crieit</a>と<a target="_blank" rel="nofollow noopener" href="https://qiita.com/">Qiita</a>。<br /> (Zennはずっと投稿したかったけど、ネタがなかったけど、初Zennできてよかった(<em>´ω`</em>))</p> <p>それぞれトレンドに掲載されると露出が増えるのもあるけど、<br /> LPやトップページには書ききれないことを記事で補足している感じ。</p> <p>今回は、以下のテーマでそれぞれ書きました。<br /> ・Zenn ... <strong>なんで作ろうと思ったかの理由と経緯</strong><br /> ・Qiita ... <strong>システム構成や技術要素</strong><br /> ・Crieit ... <strong>PRのためになにをしたか</strong>(この記事)</p> <p>特に、Crieit独自の機能である、カノニカルが設定できるのが好きで、<br /> Zennなどに投稿するときは合わせてクロス投稿しています。</p> <p>いいね等が集計時に5〜10くらいつくとトレンドに乗れるっぽいので、<br /> 記事書いて、ツイートして、RTして、たくさん祈ります🙏</p> <p>Qiitaは毎日5時/17時に更新されるので、<br /> 集計対象の時間が長くなるよう、その時間くらいに投稿がよさそうです。</p> <h3 id="5. RTされやすそうな時間帯にセルフRT"><a href="#5.+RT%E3%81%95%E3%82%8C%E3%82%84%E3%81%99%E3%81%9D%E3%81%86%E3%81%AA%E6%99%82%E9%96%93%E5%B8%AF%E3%81%AB%E3%82%BB%E3%83%AB%E3%83%95RT">5. RTされやすそうな時間帯にセルフRT</a></h3> <p>プレスリリースや記事を投稿したときもそうですが、<br /> Twitterで伸びる曜日と時間帯というツイートを見てから、<br /> なるべくこのときに投稿するように意識しています。</p> <blockquote class="twitter-tweet"><p lang="ja" dir="ltr">【データから見るTwitterのツイートが伸びる曜日と時間帯🔥】◼︎平日・5:00、11:00、15:00、20:00◼︎休日・8:00、12:00、14:00、16:00→多くの方が通勤時間帯や夜間がユーザー数が多い為、良いと考えているが、実はタイムラインの流速が早くツイートが流れてしまう可能性が高い。<a target="_blank" rel="nofollow noopener" href="https://twitter.com/hashtag/%E3%83%87%E3%82%B8%E3%83%97%E3%83%AD?src=hash&ref_src=twsrc%5Etfw">#デジプロ</a> <a target="_blank" rel="nofollow noopener" href="https://t.co/JHIT9Nv6QK">pic.twitter.com/JHIT9Nv6QK</a></p>— デジプロ🔥@デジタル広告のプロを育てる学習サービス (@digimapro) <a target="_blank" rel="nofollow noopener" href="https://twitter.com/digimapro/status/1161375718611140608?ref_src=twsrc%5Etfw">August 13, 2019</a></blockquote> <p>◼︎<strong>平日</strong> ... 5:00、11:00、15:00、20:00<br /> ◼︎<strong>休日</strong> ... 8:00、12:00、14:00、16:00</p> <p>一日に何回かあるので、他の時間帯にセルフRTを活用。</p> <p>セルフRTは結構抵抗があったけど、<br /> 昔、とあるマンガ家さんが</p> <blockquote> <p>ツイートしただけではダメ。<br /> 何度もセルフRTしない届かないし、見てもらえないよ。</p> </blockquote> <p>的なことをいってたツイートを見てから、<br /> 見てほしいツイートはなるべくRTするようがんばってる。<br /> (イラスト系だと昼あげ/夜あげとかみるので同じ感じ。)</p> <p>運要素多いけど、やさしいフォロワーさんが<br /> いいね/RTで拡散してくれるので、ほんとありがたすぎる。。</p> <h2 id="まとめ"><a href="#%E3%81%BE%E3%81%A8%E3%82%81">まとめ</a></h2> <p>こんな感じで、なるべく露出が増えるよう、<br /> サービスを知ってもらえるような活動をしていました。</p> <ol> <li>LPや事前登録サイトを公開</li> <li><a target="_blank" rel="nofollow noopener" href="https://qiita.com/organizations/admin-guild">運営者ギルド</a>でバグバッシュしてもらう</li> <li>PR TIMES等でプレスリリースを公開&ツイートする</li> <li>Zenn/Crieit/Qiita等で記事を公開&ツイートする</li> <li>RTされやすそうな時間帯にセルフRTなどする</li> </ol> <p>トレンド→はてブのホッテントリ→Google砲、<br /> などのコンボが決まると広く拡散しますが、<br /> 0いいねなどよくあるので、いつも運ゲー。。</p> <p>地道にサービスを改善しつつ、<br /> 記事などのコンテンツを増やしつつ、<br /> 最後は天にまかせて、がんばっています!</p> <p>リリース後のプロモーションはいつも困っているので、<br /> これから何かを作ろうとしている人の参考になれたらうれしいです😊</p> <h3 id="SSSAPIでは、β版ユーザを募集中です!"><a href="#SSSAPI%E3%81%A7%E3%81%AF%E3%80%81%CE%B2%E7%89%88%E3%83%A6%E3%83%BC%E3%82%B6%E3%82%92%E5%8B%9F%E9%9B%86%E4%B8%AD%E3%81%A7%E3%81%99%EF%BC%81">SSSAPIでは、β版ユーザを募集中です!</a></h3> <p>β期間中はプレミアムプランの内容を無料で使えるのでお得!<br /> ぜひぜひ、この機会にお試しいただければ〜!</p> <p>GoogleスプレッドシートのAPI化サービス<br /> 『<a target="_blank" rel="nofollow noopener" href="https://sssapi.app">SSSAPI</a>』<br /> URL: <a target="_blank" rel="nofollow noopener" href="https://sssapi.app">https://sssapi.app</a><br /> Twitter: <a target="_blank" rel="nofollow noopener" href="https://twitter.com/sssapi_app">@sssapi_app</a></p> <p><a href="https://crieit.now.sh/upload_images/661a1f43523cb2f246e88ee6362c26f8612b3d4166323.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/661a1f43523cb2f246e88ee6362c26f8612b3d4166323.png?mw=700" style="max-width: 500px;" /></a></p> <p>記事を書く励みにもなるので、<br /> よかったら、いいねやシェア、はてブなどもよろしくおねがいします!</p> <p><a target="_blank" rel="nofollow noopener" href="https://b.hatena.ne.jp/entry/s/crieit.net/posts/Web-15-5">はてなブックマークはこちらから</a></p> <p><strong>※以下、有料コンテンツです※</strong></p> <p>以下のデータを公開しています。<br /> ちょっとはずかしいので、おもしろいと思ってくれた方は、<br /> コーヒー一杯差し入れるくらいの気持ちで見てもらえれば〜</p> <ul> <li>Google AnaliticsのPV数/流入元</li> <li>PR TIMESの統計情報</li> <li>SSSAPIの登録者数とAPI作成数</li> <li>(おまけ) Twitter広告を試してみた結果</li> </ul> きらぷか@積読ハウマッチ/SSSAPIなど tag:crieit.net,2005:PublicArticle/17614 2021-08-25T05:47:03+09:00 2021-08-25T05:47:03+09:00 https://crieit.net/posts/Firestore-API Firestore最高だけど、初期データとかマスタデータ管理がめんどくさいので、スプレッドシートをAPI化サービスを作ってみた <p>開発しているGoogleスプレッドシートのAPI化サービス「<a target="_blank" rel="nofollow noopener" href="https://sssapi.app">SSSAPI</a>」。<br /> 無事にオープンβ版を公開できたので、なんで作ろうと思ったかを書いてみた。</p> <p><a href="https://crieit.now.sh/upload_images/7622e92a81d522c24c95246b0656b8e3612559a688a84.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/7622e92a81d522c24c95246b0656b8e3612559a688a84.png?mw=700" style="max-width: 600px;"></a></img><br /> <a target="_blank" rel="nofollow noopener" href="http://sssapi.app">http://sssapi.app</a></p> <h2 id="なぜ作ろうと思ったか"><a href="#%E3%81%AA%E3%81%9C%E4%BD%9C%E3%82%8D%E3%81%86%E3%81%A8%E6%80%9D%E3%81%A3%E3%81%9F%E3%81%8B">なぜ作ろうと思ったか</a></h2> <p>個人開発が好きで、いろんなものをちょこちょこ作ってる。<br /> 今は、Nuxt.jsとFirebaseがお気に入りで、<br /> 小さなものを含めると20サービスくらい作ったと思う。</p> <p>ちょっとしたものを作ることも多く、<br /> 「<strong>もっと楽に作ることはできないかなぁ?</strong>」<br /> といろいろ考えたりしていた。</p> <p>その時同時に考えていたのが、<a target="_blank" rel="nofollow noopener" href="https://umaiku.app">ゲーム攻略のサービス</a>。<br /> マスタデータが多く、更新も早いので、どうしようかなと。</p> <p>とりあえず、初期データが必要なので、<br /> スプレッドシートにまとめていた。</p> <p>データを集め終わって、いざつくろうとしたときに、<br /> 「<strong>このままJSON APIにできれば楽なのにな〜</strong>」<br /> というのが最初だった。</p> <h2 id="最初はJSONファイル"><a href="#%E6%9C%80%E5%88%9D%E3%81%AFJSON%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB">最初はJSONファイル</a></h2> <p>ゲームの攻略サービスを作っている途中だったので、<br /> まずは、スプレッドシートAPIでJSON化して、<br /> JSONファイルをソースに含める形で開発。</p> <p>これだけでも割とよく、<br /> とりあえずJSONファイルで開発するのは良い感じだった。</p> <p>データの項目が足りなくても、<br /> スプレッドシートなら列を追加するだけなので、<br /> <strong>データ構造を検討している初期はスムーズに進んだ</strong>。</p> <p>ただ、JSONファイルをインポートしてるので、<br /> <strong>ビルドサイズは大きくなる</strong>し、<br /> <strong>データを更新したいときはビルドしないといけない</strong>ので、<br /> めんどくさいな思うようになり、API化は必要だなと作りはじめた。</p> <h2 id="Firestoreで初期データをめんどくさい"><a href="#Firestore%E3%81%A7%E5%88%9D%E6%9C%9F%E3%83%87%E3%83%BC%E3%82%BF%E3%82%92%E3%82%81%E3%82%93%E3%81%A9%E3%81%8F%E3%81%95%E3%81%84">Firestoreで初期データをめんどくさい</a></h2> <p>今まで作ってきたものを振り返ると、<br /> 割とこういうことが多い感じだった。</p> <p>過去に作ったものでも、カテゴリやお知らせなど、<br /> こちらが用意するデータは、JSONファイルで用意していたり、<br /> <strong>JSONファイルの内容をFirestoreに登録するスクリプト</strong>を書いていた。</p> <p>Firestoreは便利なんだけど、<br /> <strong>管理画面は自分で用意しないといけない</strong>ので、<br /> マスターデータを扱いたいときは、めんどうな部分があった。</p> <p>1つ項目を追加するのにも、JSONファイル&ビルドだったり、<br /> 追加用のスクリプトを書かないといけない。。</p> <p><strong>SSSAPIであれば、スプレッドシートを管理画面にでき、<br /> そのままAPI化できるので、かなり楽になるな〜と。</strong></p> <p>実際、楽になって、<a href="https://crieit.net">crieit</a>の<a href="https://crieit.net/boards/web1week-202107/CoCo">web1week</a>の企画へ<br /> 参加したときに作ったWebサービスは1~2日で開発できた。</p> <h2 id="他のじゃダメだった?"><a href="#%E4%BB%96%E3%81%AE%E3%81%98%E3%82%83%E3%83%80%E3%83%A1%E3%81%A0%E3%81%A3%E3%81%9F%EF%BC%9F">他のじゃダメだった?</a></h2> <p>いざ作るとなると、時間が必要なので、<br /> 既存のものはないかな〜と見てみた。</p> <p>見てみたのは、GAS、ヘッドレスCMS、競合サービスの3種類。</p> <h4 id="GASは?"><a href="#GAS%E3%81%AF%EF%BC%9F">GASは?</a></h4> <p>一番よく見るのはこれかなと思う。<br /> Google Action ScriptでWebサービスとして公開するパターン。</p> <p>記事も多くコードもあるので、便利で昔使っていた。</p> <p>ただ、<strong>シートごとにGASの設定が必要だったり、<br /> どれが設定したスプレッドシートか忘れてしまう</strong>ので、<br /> 一元管理ができればな〜と思ったりする。</p> <p>SSSAPIであれば、<strong>毎シートにGASを設定する必要はない</strong>し、<br /> 登録してあるスプレッドシート=API化しているなので、<br /> <strong>一元管理も簡単にできる</strong>ようにした。</p> <h3 id="ヘッドレスCMSは?"><a href="#%E3%83%98%E3%83%83%E3%83%89%E3%83%AC%E3%82%B9CMS%E3%81%AF%EF%BC%9F">ヘッドレスCMSは?</a></h3> <p>次によくみるのはヘッドレスCMSかなと思う。<br /> スキーマも柔軟に設定できて、管理画面もリッチ。</p> <p>ただ、内容がリッチすぎたり、<br /> <strong>個人開発だとお高めの価格設定なので、手が出せず。。</strong></p> <p>「多くのサービスを楽に作りたい!!」と思うと、<br /> 無料枠の制限では心もとないなと。。<br /> また、<strong>アクセス制限などは有料プラン</strong>ぽいので、断念。</p> <p>SSSAPIでは、機能は限定的だけど、<br /> <strong>個人開発でも使いやすい価格帯</strong>になるようにがんばってる。<br /> 無料のプランでもドメイン制限を使えるようにしている。</p> <h3 id="競合サービスは?"><a href="#%E7%AB%B6%E5%90%88%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E3%81%AF%EF%BC%9F">競合サービスは?</a></h3> <p>今まで聞いたことがなかったけど、調べてみたら、<br /> 6つくらい競合のサービスがあった。</p> <p>もちろん、ヘッドレスCMSよりも安めだけど、<br /> <strong>Googleドライブやスプレッドシートへの全権限を許可しないといけない。。</strong><br /> もしくは、全員がアクセスできるように共有設定を変更する必要がある。</p> <p>Googleドライブやスプレッドシートへの全権限を許可は、<br /> 割とこれが強くて、<strong>個人情報や機密情報を入れているアカウントだと使えない</strong>。</p> <p>API化したいスプレッドシートのデータ自体も財産なので、<br /> <strong>オープンにはしたくない</strong>ときも多い。</p> <p>SSSAPIでは、権限を共有するのではなく、<br /> システムアカウントを共有設定に追加してもらう形にし、<br /> <strong>共有設定されているシートのみ参照できる方法</strong>にしている。</p> <p>すこし手間ではあるけど、安心・安全のため。</p> <p>ドメイン制限やアクセストークンによる認証も用意しているので、<br /> <strong>APIのURLがわかっていても、アクセスできない仕組み</strong>を用意している。</p> <h2 id="使ってみてどうだったか?"><a href="#%E4%BD%BF%E3%81%A3%E3%81%A6%E3%81%BF%E3%81%A6%E3%81%A9%E3%81%86%E3%81%A0%E3%81%A3%E3%81%9F%E3%81%8B%EF%BC%9F">使ってみてどうだったか?</a></h2> <p>利便性・価格・セキュリティの面から、<br /> 作ったほうがいいなぁと思って、開発を進めてみた。</p> <p>使っているのが、マスターデータが多いものに偏っているけど、</p> <ul> <li><strong>スプシが管理画面になる</strong></li> <li><strong>ビルドしないで更新できる</strong></li> <li><strong>ドメイン制限できるので守れる</strong></li> </ul> <p>と、かなり便利に。</p> <p>他のサービスのお知らせやリリースノートなども、<br /> 順次、SSSAPIに置き換えている。</p> <p>ユーザが作成するデータは、今までどおりFirestoreを使っている感じだけど、<br /> プロトタイプ開発のときやテストデータ作成なんかでも活躍してるので、<br /> <strong>最初に思っていた「ちょっとしたものを早く楽に作れる」ようになった</strong>気がする。</p> <p>スプレッドシートで管理するのつらいな。。という規模になってきたら、<br /> <strong>JSON APIの結果をFirestoreに突っ込めばよい</strong>のもいい。</p> <p>β版なので、まだまだ足りないところはあるけど、<br /> ユーザさんからのフィードバックとドックフーディングをして、<br /> よりよいものにしていければと思う。</p> <h2 id="SSSAPIでは、β版ユーザを募集中です!"><a href="#SSSAPI%E3%81%A7%E3%81%AF%E3%80%81%CE%B2%E7%89%88%E3%83%A6%E3%83%BC%E3%82%B6%E3%82%92%E5%8B%9F%E9%9B%86%E4%B8%AD%E3%81%A7%E3%81%99%EF%BC%81">SSSAPIでは、β版ユーザを募集中です!</a></h2> <p>β期間中はプレミアムプランの内容を無料で使えるのでお得!<br /> ぜひぜひ、この機会にお試しいただければ〜!</p> <p>GoogleスプレッドシートのAPI化サービス<br /> 『SSSAPI』<br /> Twitter: <a target="_blank" rel="nofollow noopener" href="https://twitter.com/sssapi_app">@sssapi_app</a></p> <blockquote class="twitter-tweet"><p lang="ja" dir="ltr">🌟🌟オープンβ版の公開開始🌟🌟フィルタリングやページングなど機能を強化し、より便利になりました😊β版はプレミアムプランの内容を無料で利用できます🙌ぜひ、この機会にお試しください‼️‼️GoogleスプレッドシートのAPI化サービス<a target="_blank" rel="nofollow noopener" href="https://t.co/fKUGVFeQR7">https://t.co/fKUGVFeQR7</a><a target="_blank" rel="nofollow noopener" href="https://twitter.com/hashtag/%E6%8B%A1%E6%95%A3%E5%B8%8C%E6%9C%9BRT%E5%8D%94%E5%8A%9B%E3%81%8A%E9%A1%98%E3%81%84%E8%87%B4%E3%81%97%E3%81%BE%E3%81%99?src=hash&ref_src=twsrc%5Etfw">#拡散希望RT協力お願い致します</a> <a target="_blank" rel="nofollow noopener" href="https://t.co/O2rjs35BZD">pic.twitter.com/O2rjs35BZD</a></p>— 【公式】SSSAPI / GoogleスプレッドシートのAPI化サービス (@sssapi_app) <a target="_blank" rel="nofollow noopener" href="https://twitter.com/sssapi_app/status/1429986819047792662?ref_src=twsrc%5Etfw">August 24, 2021</a></blockquote> <p><a target="_blank" rel="nofollow noopener" href="http://sssapi.app">http://sssapi.app</a><br /> <a href="https://crieit.now.sh/upload_images/7622e92a81d522c24c95246b0656b8e3612559a688a84.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/7622e92a81d522c24c95246b0656b8e3612559a688a84.png?mw=700" style="max-width: 600px;"></a></img></p> きらぷか@積読ハウマッチ/SSSAPIなど tag:crieit.net,2005:PublicArticle/16863 2021-04-20T16:55:41+09:00 2021-04-20T17:51:05+09:00 https://crieit.net/posts/LINE-LINE LINE風LINEトーク履歴ビュアーを作った話 <p>LINEで「トーク履歴を送信」で取得できる味気ないトーク履歴をLINEのトーク画面風の見た目に変換するWebアプリケーションをだいぶ前に作りました。<br /> せっかくなのでどこかで披露したいと思いポストします。</p> <p>hidao80/LINEBackupViewer: LINE風LINEバックアップテキストデータビュアー - github.com<br /> <a target="_blank" rel="nofollow noopener" href="https://github.com/hidao80/LINEBackupViewer">https://github.com/hidao80/LINEBackupViewer</a></p> <h2 id="てんまつ"><a href="#%E3%81%A6%E3%82%93%E3%81%BE%E3%81%A4">てんまつ</a></h2> <p>Qiitadonにて発生したつぶやきにリアクションがあったのが発端。</p> <p>curatiodon - キュレーショドン | Mastodonまとめwebアプリ<br /> <a target="_blank" rel="nofollow noopener" href="https://git.io/Jk196">https://git.io/Jk196</a></p> <h2 id="つかいかた"><a href="#%E3%81%A4%E3%81%8B%E3%81%84%E3%81%8B%E3%81%9F">つかいかた</a></h2> <p><a target="_blank" rel="nofollow noopener" href="http://hidao80.github.io/LINEBackupViewer/">http://hidao80.github.io/LINEBackupViewer/</a>にアクセスしてトーク履歴のテキストファイルをアップロードするとプレビューされます。<br /> 「ダウンロード」ボタンを押すとプレビューされた内容をそのまま単一のHTMLファイルにして保存することができます。</p> <p>また、アップロードされるのはご利用のブラウザまでで、サーバにトーク履歴が保存されることはありません。</p> <p><a href="https://crieit.now.sh/upload_images/32a700cc3edd68f7966b36d5be199c41607e88b2c7ab3.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/32a700cc3edd68f7966b36d5be199c41607e88b2c7ab3.png?mw=700" alt="スクリーンショット" /></a></p> <p>※画面は開発中のものです</p> <p>今のところ1対1のトーク履歴しか再現できず、複数人トークのユーザ切り替えは宿題になっています…</p> hidao