Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
「おもしろがり」からのサービスリリース 〜てがきはてなブログの場合〜
Search
airreader
November 26, 2021
Technology
1.5k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
「おもしろがり」からのサービスリリース 〜てがきはてなブログの場合〜
airreader
November 26, 2021
More Decks by airreader
See All by airreader
サービスディレクターの 意思決定を支える技術
airreader
1
8.1k
Other Decks in Technology
See All in Technology
freeeらしさをAIとともに作る / Creating the freee Experience with AI
ymrl
0
220
メルペイ 会計システム概要と歴史
mewuto
0
200
カンファレンスに参加した後の浮遊感とセルフケア
pauli
0
320
オブザーバビリティを高める AI エージェント体験を考える / Designing AI Agent Experiences That Enhance Observability
aoto
PRO
2
320
AI時代に必要な脅威モデリング― 変化の速度に負けない理解とリスク判断
masakane55
5
1.2k
AIに攻撃される前に、AIに攻撃させる
tsuchikazu
0
160
Google Cloud Next Tokyo 26登壇時のスクリプト
recruitengineers
PRO
0
210
3つのアプローチで目指す チームを強くするAI駆動開発
thkt
0
140
DevelopersIO 2026 知識の地図を描く ─ オントロジーとは何か?
ishikawa_satoru
1
1.1k
ai_cording_with_k8s_knowledge.pdf
mochizuki875
1
320
継続的なAIコスト最適化
bgpat
1
270
自作バイナリを動かす「入口」8選
puhitaku
1
1.2k
Featured
See All Featured
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
12k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.7k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
2
6.3k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Making Projects Easy
brettharned
120
6.8k
Paper Plane (Part 1)
katiecoart
PRO
2
11k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
320
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.8k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.6k
Building a Scalable Design System with Sketch
lauravandoore
464
34k
Designing Powerful Visuals for Engaging Learning
tmiket
1
600
Transcript
「おもしろがり」からのサービスリリース 〜てがきはてなブログの場合〜
© Hatena Co., Ltd. 誰? • はてなID: AirReader • はてなブログユーザーチームのディレクター
• はてな歴: ◦ 2006年頃 はてな登録。ダイアリーなど使い始める ◦ 2008年4月 はてなユーザーサポートのアルバイトとして入社 ▪ 新サービスのはてなワールドというサービスに入り浸っていたところ、オフ会が開催され、そこ にはてな社員も参加し、アルバイトに誘われたという経緯 ◦ 2011年頃 ユーザーサポートの社員 ◦ 2015年頃 プラットフォームチームのディレクター ◦ 2019年頃 はてなブログのディレクターになる
© Hatena Co., Ltd. そもそも「はてラボ」って何? はてラボは、はてなの実験的サービス置き場です。 2006年2月に「はてな社員の個人的アイデアに形を与え、未完成のサービスに改善を重ねながら本サービスに育てる」という目的で開始しま した。 現在では、本サービス化を目指すだけではなく •
稼働中の本サービスに導入することが難しい新規機能を先行して実装する • 本サービスとは異なるルールやポリシーに基づいてサービスを提供する • 本サービスとして継続提供することが難しくなったサービスを、規模を縮小した形で提供し、ラボならではの挑戦的な施策を導入し再 生を図る といった、広義の実験的プロジェクトや実証実験の場としても使われています。 https://hatelabo.jp より抜粋 “ ”
© Hatena Co., Ltd. 社内的な「はてラボ」リリース要件 • ラボサービスは、はてな社員が自由にウェブアプリケーション、スマートフォンアプリケーションを開発・発 表してよいとされている • リリース判断はサービスシステム開発本部
本部長のよる確認のみ • セキュリティ要件など幾つかの条件はあるが、挑戦や実験の場であり続けるために、特段に高いハード ルを設けない方針で運用されている
リリース要件にエンジニアの 限定はない! ↓ 私にもリリースチャンス
© Hatena Co., Ltd. はてラボサービスの運用 • 作成者が退職したサービスも多い • ひとつのラボサービスにつき複数人の有志でメンテナがついている ◦
匿名ダイアリーのみ担当チームが存在しています (メインの業務ではないですが) • サービスが好きだったり、利用者がいることや、技術的な実験など様々な目的でメンテナとなっ ている • このあとメンテナより色々紹介があると思いますのでお楽しみに
てがきはてなブログの場合
© Hatena Co., Ltd. • はてなブログ ◦ https://hatenablog.com ◦ はてなが提供しているブログサービス
◦ 「思いは言葉に。」をキャッチコピーに、思いを表現すること、その表現に 触れられることを大切に運営しています • てがきはてなブログ ◦ https://tegaki.hatelabo.jp ◦ はてなブログで「手で書く」と「手で描く」表現を手軽に楽しめる サービスとしてリリース ◦ 文字を書き損じたときに出てくるこのゲジゲジは文字と絵の間の子という感じでピッタリ!という感じでロゴに決 めた ◦ はてなブログが提供している AtomPub API を利用してはてなブログに投稿できる (Fotolife AtomPub APIも 使ってます)
© Hatena Co., Ltd. 開発動機 • 手元にiPadとApple Pencilがあった • いつの間にか
Apple Pencil の情報がブラウザから取得できるようになっていた • そういえば、絵を添えたブログやTwitterの投稿などをよく見る • そういえば、絵が上手くなりたいと思っていた ↓ おえかきツールを作ったら良さそう
振り返ると動機は異常かつ軽い
© Hatena Co., Ltd. 開発 • 開発期間: 2020/5 ~ 2020/9
• 開発時間: 子供を寝かしつけた後 ◦ 寝落ちすること多数 ◦ ラボリリースを決めた後は業務時間も使った • やったこと ◦ 企画、開発、ロゴ、デザイン、告知全部やった ◦ 投稿コンテンツチェックはしなくて良いように、アプリケーション内に投稿表示機 能を設けなかった
© Hatena Co., Ltd. セキュリティレビュー • ラボですがセキュリティレビューは必須。利用者の保護は大事 ◦ OAuth認証といえども、ブログ、フォトライフへの投稿機能を備えるので、リス クはある
• サービスリリースしたいと言ったら2名レビューを名乗り出てくれた • 酔狂にノッてくれる人がいるから成立しております ◦ ありがたい
© Hatena Co., Ltd. はてラボで出せて何が嬉しいか • はてなの看板を借りることができる ◦ 告知のブックマーク数も伸び、様々なメディアで紹介された ▪
告知用に自分が描いた絵がいろんなメディアに載ってて面白い ◦ 個人でやってもこんなことにはならない • その結果、初期から使ってくれるユーザーがいる ◦ 個人でやってもこんなことにはならない • 自分も嬉しいし会社も嬉しい(はず)
© Hatena Co., Ltd. はてラボを成立させているもの • 面白がる力によって支えられている ◦ 社外的にははてなのユーザーさん ◦
社内的には、こういう活動を認め制度化する会社、またそれを良しとする同僚 ▪ ヤッていきノッていきはとても大事! • そういう風土があると分かっているから自分も自由にできる ◦ とはいえ近年ラボリリースがなくて寂しい感じだった ◦ それなりに立場がある者が率先して変なことをしてみんなも自由にやってい いってことを伝えたかった
© Hatena Co., Ltd. 趣味的な機能の数々(1) • 利き手機能 ◦ 利用開始のウィザードで利き手を聞き、利き手によりUIの場所が変わるように した
◦ デフォルト設定を左利きにした ▪ なぜなら、自分が左利きで数々の面倒な場面に遭遇してきたから ▪ というのは半分冗談で半分本気 ▪ 世間では右利きの方が多いので、普通に考えるとデフォルトを右利きにしたほうがユーザー のステップが少なくて良いはずが、たまには右利き側が面倒さを感じるのも良いでしょうという ことでそうした ▪ 利き手へのおもてなしがあるんだぜ、というのを見せたいという意図もあった
© Hatena Co., Ltd. 趣味的な機能の数々(2) • マスキングテープ機能 ◦ 可愛いマスキングテープは世の中にたくさんあり、上下が存在する絵柄もたく さんある
◦ 絵柄をcanvas.patternで単純に実装しようとすると、上下が固定されてしまう ◦ 直線ツールの始点と終点の角度から、 patternも回転させるようにした ◦ 直線ツールをぐるぐるすると、 だるまもぐるぐるします
© Hatena Co., Ltd. 趣味的な機能の数々(3) • 鉛筆モード ◦ 画用紙に鉛筆で書いた感じを再現したい ◦
画用紙は凸凹していて、筆圧に応じて凸の部分に強く黒鉛が付き、凹の部分 に弱く黒鉛がつくという物理モデルと想定する ◦ 画用紙パターンを用意して、グレイスケール化、それを黒鉛のつきやすさ(色が つく確率)として数値化する ◦ その数値を基本データとして筆圧やペンの傾き(寝かせると先端に力が入らな くなるので薄くなる)などを変数に鉛筆っぽい筆跡を表現する
© Hatena Co., Ltd. 趣味的な機能の数々(4) • ペンをシャッっとやったときの軌跡が 気に食わない問題 ◦ シャッとやったときの最後の10回分の
touchイベントをグラフにプロットした ◦ touchend付近では全然移動していない ことになっているのが分かる ◦ touchend付近の情報を捨てて期待する 軌跡を計算して描画するようにした ◦ 当初より良くはなったけど そんなに満足はしてない…
© Hatena Co., Ltd. 趣味的な機能の数々(5) • 台紙機能 ◦ ボタン一発で、絵日記っぽくなったり青写真っぽくしたりできる機能 ◦
単純に決まったキャンバスのサイズで台紙が出来ても 面白くないし、使いにくいので キャンバスのサイズから計算して 台紙を描画するように ◦ 異常なサイズの絵日記台紙を 生成できたりして面白い
© Hatena Co., Ltd. 怪しい伝説のアレがやりたかった
© Hatena Co., Ltd. 苦労話 • 一時保存機能 ◦ LocalStorageは保存容量が小さい ◦
IndexedDBに保存するように • SafariはCanvasのメモリ制限がきつい ◦ undo,redoを上限を減らしたり、Canvasのサイズ上限を設定したりした ◦ それでもまだ出ることがありそうなので辛い
© Hatena Co., Ltd. てがきはてなブログは続く? • 実装のほとんどがクライアントサイド ◦ サーバーサイドはブログとフォトライフへの投稿のみ •
めちゃくちゃ低コストに動作しています • 今の所終了する予定はないので、どうぞご利用ください
ありがとうございました