Safari がサポートしている Audio と Video フォーマットを確認する
答えはこんな感じ
audio/aacp video/3gpp2 audio/mpeg3 audio/mp3 audio/x-caf audio/mpeg video/quicktime audio/x-mpeg3 video/mp4 audio/wav video/avi audio/scpls audio/mp4 audio/x-mpg video/x-m4v audio/x-wav audio/x-aiff application/vnd.apple.mpegurl video/3gpp text/vtt audio/x-mpeg audio/wave audio/x-m4r audio/x-mp3 audio/AMR audio/aiff audio/3gpp2 audio/aac audio/mpg audio/mpegurl audio/x-m4b application/mp4 audio/x-m4p audio/x-scpls audio/x-mpegurl audio/x-aac audio/3gpp audio/basic audio/x-m4a application/x-mpegurl
プロダクトの開発速度を左右するキーマン「プロQA」という貴重な存在について
イノベーティブなプロダクトだと、チャレンジ成分の多さに応じてエッジな技術を投入できる可能性が高まるという観測ができた。
さて上記の状況で、QAチームがなぜか突然IE7,IE8対応を求めてきました。その時の僕はどうなったでしょう?
A1. 徹夜になった
A2. 二徹して対応した
— コラーゲンたっぷりさん (@uupaa) 2015, 9月 3
強い心で「古いIE対応なんてありえない」と宣言すればよかったし、それができなかったのが僕の落ち度だ
— コラーゲンたっぷりさん (@uupaa) 2015, 9月 3
プロダクトのターゲットユーザをQAと共有できていない場合に、不幸が起こりえるので、今後は特に気をつけたい。
— コラーゲンたっぷりさん (@uupaa) 2015, 9月 3
QAにも、良く訓練されたプロQAと、ユーザと同じ程度のアマQAが居て、練度が全く事なる。
よく訓練されたQAは、不具合報告の初期段階から、動画/スクショ+環境(OS,Ver)+発生手順+再現確率+αを添えて整然と報告してくれる。メールの往復も少なく、結果開発者が速攻で修正できる
— コラーゲンたっぷりさん (@uupaa) 2015, 9月 3
プロQAは、その辺の平凡な開発者よりも貴重な存在。さらにゴッドフィンガーをもつプロQAも存在する。
過去に出会った神の手を持つプロQAは、そのほとんどが女性で、我々開発者が出せない不具合をいとも簡単に再現する能力を持つ。
とても貴重な存在。リスペクトに値する
— コラーゲンたっぷりさん (@uupaa) 2015, 9月 3
QAの練度が低かったり、開発側が求めている情報が出てこない場合は、
開発側の人間がQA側にアドバイザーとして(短期でも良いので)入ると良い。
# QAあるある
— コラーゲンたっぷりさん (@uupaa) 2015, 9月 3
開発のスピードやプロダクトの品質が重要なように、プロQAを育成するのも同じぐらいに重要。
— コラーゲンたっぷりさん (@uupaa) 2015, 9月 3
日本国内で SIM フリー端末を発売される会社の広報担当者様へ
SIMフリー Android 端末を販売する各社様へ。少々困ってる事があります。ぜひ、ご協力いただければと思っています。
私は github で Spec.js という JavaScript ライブラリを公開しております。
このライブラリは、端末の UserAgent から情報を収集/分析し、WebApp が使いやすい形で各種の情報を提供しているのですが、このライブラリがうまく機能するためには、鍵となる UserAgent の情報が不可欠となっています。
大手キャリア様(docomo, au, softbank)におかれましては、端末発売とほぼ同じタイミングで、端末のハードウェア情報と共にブラウザに関する情報も公開されております。ただ、SIM フリー端末を発売の各社に於かれましては、開発に役立つ情報の公開が限定的で、大変難儀しております。
「売ってるらしい」「噂では聞いたことがある」といった、よくわからない端末のままになってしまっています。 このような状態のままですと、端末の購入を行う部署に対しても「今度発売されるSIMフリー端末をぜひ購入してください」と積極的に働きかけづらく、その結果、不具合が報告されたが手元に端末がない/ネットで調べても良くわからない → 対応コストが高いと判断 → 非対応機種入り といった悪循環が生まれています。
端末のスペック情報を公開する際は、以下の図のように、ブラウザの UserAgent なども合わせて公開していただけると助かります。
よろしくお願いいたします。
This is the Next Web that I think.
Webの進化を停滞させてるのは結局古いブラウザなのだから、そのようなブラウザは極めて真摯にお断りさせていただく。
文字コンテンツを見るブラウザと、クリエイティブなコンテンツを見るブラウザは使い分けてもらう。
それぐらい強い態度に出れるキラーコンテンツを出し行きたいし、出していく
— コラーゲンたっぷりさん (@uupaa) 2015, 8月 26
「OS に癒着し、更新されないブラウザは相手にしない」これが Next Web の最低条件だと勝手に思っています。こちらからは以上です。
— コラーゲンたっぷりさん (@uupaa) 2015, 8月 26
勉強会に思うこと
コンテンツ抜きで技術の発展性や方向性を議論しても実り少ないし、それだったら「VHSとパズドラに見る業界の変化」的な雑談が好みだし、もっと言うなら他言無用を前提に「実は今こういうの作ってるんですよ」「おや奇遇ですね実は…」な感じで、参加すると創作意欲がアクセルべた踏みになる会とか良
— コラーゲンたっぷりさん (@uupaa) 2015, 8月 26
アイデアを喋ると「真似られる」と無駄に怯える人もいるけど、あれはちょっと違う。アイデアに共感してくれる人は多くて半分ぐらいだし、悪意を伴って手を動かす人は1%も居ない。それよりも反応を貰えるメリットのほうが大きい。「他言無用を守れない人は参加不能な技術者のための勉強会」とかどう?
— コラーゲンたっぷりさん (@uupaa) 2015, 8月 26
I am expecting to iOS 9.0 Mobile Safari features.
iOS 9.0 に入るかもしれない機能をまとめてみました。公式なものではないため参考程度にお願いします。
WebKit 公式の Feature Status もご覧ください。
(ε・ ワ ・)з 40〜50時間ぐらいドブに捨てて書いている気がしますが、2分で読めます
via https://github.com/uupaa/WebKitChangeLog/wiki/iOS9.x.x.changesets
WebKit 600.1.4 以降の変化をまとめました。
WebKit の Changeset から読み取れる情報を元に構成されており、検証中のものが多く含まれています。あくまで予想です。
- HTML/DOM
node.style.webkitFontFeatureSettings
が実装されましたDocumentFragment
にgetElementById
が実装されましたDocument.scrollingElement
が実装されました<img srcset sizes>
の一部機能が実装されましたForceMouseEvent
が実装されました<attachment>
の一部機能が実装されました- CSS
- CSS 4 の実装が始まりました
calc()
の不具合が多数修正されました- CSS calc で grad や ms などの単位系が利用可能になりました
- CSS
-webkit-animation-*
のプレフィックスが取れました- CSS
-webkit-transform-*
のプレフィックスが取れました- CSS
mix-blend-mode:plus-lighter"
とmix-blend-mode:plus-darker
が実装されました- CSS
font-synthesis
が実装されました- CSS Animations Level 2 のサポートに向けた作業が開始されました。
CSS_ANIMATIONS_LEVEL_2
-webkit-animation-trigger
word-break:keep-all
が実装されました- [CSS]
-webkit-appearance: -apple-airplay
が実装されました- JavaScript
- ES7 の一部機能が実装されています
Array#includes
- ES6 の大部分の機能が実装されています
- 以下は実装中のため iOS 9.0 では利用できません
- ES6 Modules, ES6 Reflect, ES6 Tail Call Elimination
- 以下の機能が利用できます
class A extends B { super }
Object.is
,Object.assign
,Object.getOwnPropertySymbols
Object.setPrototypeOf
,Object Literal Property Value Shorthand
String Iterator
,String.fromCodePoint
,String.codePointAt
String#repeat
,String#startWith
,String#endWith
,String#includes
- String.raw
- Unicode code point escape
template literals
- Tagged templates
Array.from
,Array.of
,Array#values
,Array#copyWithin
- TypedArray#forEach, map, some, every, reduce...
Number.isNaN
,Number.isSafeInteger
Number.EPSILON
,Number.MAX_SAFE_INTEGER
,Number.MIN_SAFE_INTEGER
Number.isFinite
,Number.isInteger
,Number.parseFloat
,Number.parseInt
Math.clz32
RegExp#flags
,WeakSet
Symbol
console.table
- Octet literal と Binary literal の実装が入りました
Promise.cast()
が削除されました- performance.now() が iOS 9.0 βで復活しています(パフォーマンス上の理由から iOS 8.1 で OFF になっていました)
- ES6 のテンプレート文字列を node.cloneNode(true)できない不具合が修正されました
- 非アクティブなページではバッテリーの消費を抑えるためGPSがOFFになります
- [INTL] [i18n] API が実装されました
- [iOS] Update presentation mode JS API to using 'picture-in-picture'
- JSON.stringify( "..." ) が12%速くなりました。クォート処理に対する最適化が行われました
- JSON.stringify( Int32 ) が2倍速になりました。Int32 に対する最適化が行われました
- Canvas
- Stream
- Stream の実装が始まりました
- SVG
-webkit-mask-image
が実装されました- WebGL
- WebGL2 の実装が始まりました
- 幾つかの WebGL1 extension がサポートされました
- Web Notifications
- Web Notifications の実装が始まりました
- WebRTC
- 実装が進んでいます
- WebSQL
- WebWorkers で WebSQL が利用不能になりました
- WebWorkers
- SharedWorkers が再び利用不能になりました
- WebAudio
- WebAudio 再生中に電話がかかってくると WebAudio をリスタートできない不具合が修正されました
- MediaSession
- 実装が始まりました
- WebAssembly
- WebAssembly の実装が始まりました
- WebComponents, Shadow DOM, Custom Elements, HTML imports
- しばらくは実装する予定がないそうです
- その他
- viewport の外にあるサブフレーム(描画する必要がないフレーム)で発生する requestAnimationFrame と DOMTimer はスロットリング(間引き)が行われます
(ε・◇・)з o O ( 最近は ES6 Modules や Reflect などの機能を、@Constellation さんが実装なさっております
(ε・◇・)з o O ( みなさんも @Constellation さんを応援しましょう!
WebKit nightly の DevTools に Visual CSS Editor が
ボタン1つで、text-align: right がこのように。
すばらし