音声ガイダンスを導入した話

 音声ガイダンスを導入した話

Akerun & BONX Tech Talk Supported by さくらインターネット
~IoTスタートアップを支えるエンジニアの夕べ~

0a86666ca90016b2a28289dda921b0d7?s=128

Toshihiro Morimoto

April 26, 2016
Tweet

Transcript

  1. Ի੠ΨΠμϯεΛಋೖͨ͠࿩ Akerun & BONX Tech Talk Supported by ͘͞ΒΠϯλʔωοτ ʙIoTελʔτΞοϓΛࢧ͑ΔΤϯδχΞͷ༦΂ʙ

    @dealforest Toshihiro Morimoto #anbtechtalk 2016/04/26
  2. ࣗݾ঺հ

  3. Agenda • Ի੠ΨΠμϯεಋೖ/ܦҢ • ಡΈ্͛ػೳͷ࢖͍ํ • ϋϚϦͲ͜Ζ

  4. Ի੠ΨΠμϯεಋೖ/ܦҢ

  5. Ի੠ΨΠμϯεΛಋೖ͢ΔҎલ͸ SE Λ໐Β͍ͯ͠·ͨ͠

  6. ͜ΕͰ͍͚Δͱࢥ͍ͬͯͨ࣌ظ͕ ๻ͨͪʹ͸͋Γ·ͨ͠

  7. ͱ͜Ζ͕ݱ࣮͸ݫ͔ͬͨ͠

  8. ςΟϩʔϯ㽈

  9. ( ୭͔͕ݍ֎ʹͳͬͨ )

  10. ςΟϩʔϯ㽈

  11. ( ୭͔͕ ೖࣨ / ୀࣨ ͨ͠ )

  12. ;Δͬ;ʙ㽈

  13. ( σόΠεͱ BLE ઀ଓཱ͕֬ͨ͠ )

  14. τΡϧʔϯ㽈

  15. ( σόΠεͱ BLE ઀ଓ͕੾அͨ͠ )

  16. SE ͚ͩͩͱதͷਓͰ͑͞ Կ͕ى͍ͬͯ͜Δ͔೺ѲͰ͖ͳ͔ͬͨ

  17. ݁ہɺτʔΫը໘Λݟͳ͍ͱ Ͳ͏͍͏ঢ়گ͔ ೺Ѳ͢Δ͜ͱ͕Ͱ͖ͳ͔ͬͨ

  18. τʔΫը໘

  19. ͯ͞ʂʂʂ

  20. ઇࢁͰϘʔυΛ͍ͯ͠Δ࣌Λ ૝૾ͯ͠Έ·͠ΐ͏

  21. ઇࢁ͍͜͞ʔʔʔʔ \(^o^)/

  22. ͋Εɺٸʹ൓Ԡ͕ͳ͘ͳͬͨʁ

  23. ͪͬ…

  24. άϩʔϒ֎ͯ͠

  25. ܞଳऔΓग़ͯ͠

  26. ϩοΫղআͯ͠

  27. τʔΫը໘Λ֬ೝ

  28. ঢ়گΛ೺Ѳ͍͚ͨͩ͠ͳͷʹ ͜ΕΛ܁Γฦ͞ͳ͍ͱ͍͚ͳ͍

  29. ͜Ε͕౓ʑ͋Δͱ…

  30. ͭΒ͔͞͠ͳ͍

  31. Ի੠ΨΠμϯεΛಋೖ͢Δ͜ͱͰ ͋Δఔ౓վળ͞Ε·ͨ͠

  32. ͜Ε͔ΒԻ੠ΨΠμϯεΛ ࣮૷ͨ͠஌ݟΛڞ༗͍͖ͯ͠·͢

  33. Ͱ͸࣮ࡍʹ BONX Ͱ͸ ͲͷΑ͏ͳγʔϯʹྲྀΕΔͷ͔ Έ͍͖ͯ·͠ΐ͏

  34. ࣗ෼ͷঢ়ଶΛಡΈ্͛Δ • ϛϡʔτʹ੾Γସ͑ͨ • ి೾؀ڥ͕ѱ͘ͳͬͨ • ࣗಈ࠶ೖࣨॲཧΛߦ͍ͬͯΔ • (ϧʔϜʹೖୀࣨͨ͠)

  35. ଞϝϯόʔͷঢ়ଶΛಡΈ্͛Δ • ϧʔϜʹೖୀࣨͨ͠ • ϛϡʔτʹ੾Γସ͑ͨ • ి೾؀ڥ͕ѱ͘ͳͬͨ

  36. ಡΈ্͛ػೳͷ࢖͍ํ

  37. ಡΈ্͛ػೳͷ࢖͍ํ import AVFoundation let text = “iOS ΤϯδχΞืूதʂʂ” let utterance

    = AVSpeechUtterance(string: text) AVSpeechSynthesizer().speakUtterance(utterance)
  38. ؆୯Ͱ͢Ͷ

  39. ઃఆ͢Δͱ͖͸ Analytics ͷ Event Λ ઃఆ͢Δͷͱಉ͡Α͏ͳײ͡Ͱ͢

  40. ઃܭϒϨΠΧʔʹͳΓ΍͍͢ͷͰ Ͳ͜Ͱ໐Β͔͢ΛܾΊΔ࣌ʹ͸ Ұॹʹ࿩͋ͬͨ͠ํ͕͍͍Ͱ͢

  41. ϋϚϦͲ͜Ζ

  42. ϋϚϦͲ͜Ζ • iOS ͷόʔδϣϯ, ݴޠઃఆʹΑͬͯ࠶ੜ ଎౓͕ҟͳΔ • ݴޠઃఆʹΑͬͯ࠶ੜ͞Εͳ͍ςΩετ ͕͋Δ •

    μοΩϯά͕ൃੜ͢Δ • SpringBoard ͰΫϥογϡ͢Δͱ͖͕͋Δ
  43. iOS ͷόʔδϣϯ, ݴޠઃఆʹΑͬͯ࠶ੜ଎౓͕ҟͳΔ AVSpeechUtteranceDefaultSpeechRate Λઃఆ͍ͯͯ͠΋ iOS ͷόʔδϣϯɺ୺຤ͷݴޠઃఆʹΑͬͯ ςΩετͷಡΈ্͛଎౓͕ҟͳΔ utterance.rate =

    AVSpeechUtteranceDefaultSpeechRate ͜Εͩͱ iOS8 Ͱ࠶ੜͨ͠৔߹ʹ࠶ੜ଎౓͕஗͍ʂ
  44. AVSpeechUtteranceDefaultSpeechRate ͷ஋͸Ͳͷ؀ڥͰ΋ಉ͡ ࢓ํ͕ͳ͍ͷͰόʔδϣϯɺݴޠຖͰ࠶ੜ଎౓Λม͍͑ͯΔ [iOS9] utterance.rate = AVSpeechUtteranceDefaultSpeechRate [iOS8 - ೔ຊޠ]

    utterance.rate = AVSpeechUtteranceDefaultSpeechRate * 0.3 [iOS8 - ӳޠ] utterance.rate = AVSpeechUtteranceDefaultSpeechRate * 0.5 iOS ͷόʔδϣϯ, ݴޠઃఆʹΑͬͯ࠶ੜ଎౓͕ҟͳΔ
  45. ݴޠઃఆʹΑͬͯ࠶ੜ͞Εͳ͍ςΩετ͕͋Δ • BONX Ͱ͸೔ຊޠ / ӳޠΛαϙʔτ • ݴޠઃఆ͕ӳޠͩͱϚϧνόΠτͷจࣈྻΛ౉͢ͱɹɹɹ Կ΋ಡΈ্͛ΒΕͳ͍ ASCII

    Ҏ֎ͷจࣈྻؚ͕·ΕΔ৔߹ someone Ͱ୅ସ͠ ͍ͯΔ • ಡΈ্͛ݴޠ෼ͷ ͔ͳ Λࣄલʹͱ͓͔ͬͯͳ͍ͱਖ਼֬ʹ ಡΈ্͛Δ͜ͱ͸ෆՄೳ ׽ࣈΛͲͷΑ͏ʹಡΈ্͛ΒΕΔ͔͸ Apple ͞Μ࣍ୈ
  46. μοΩϯά͕ൃੜ͢Δ μοΩϯάͱ͸… ԻָΛௌ͍ͯΔ࣌ʹ push ௨஌͕དྷͨࡍʹ Ұఆ࣌ؒԻָͷϘϦϡʔϜ͕খ͘͞ͳΔ͜ͱ

  47. μοΩϯά͕ൃੜ͢Δ • AVAudioPlayer ͰԿ͔Λ࠶ੜ͍ͯ͠Δ৔߹ʹɺಡΈ্͛ػೳ Λ࢖͏ͱࣗಈతʹ ducking ͞ΕΔ (ڧ੍) • ղܾࡦͱͯ͠͸ಡΈ্͛ػೳΛ࢖͏ࡍʹ

    0.1 ඵશͯͷ AVAudioPlayer ͷ࠶ੜΛࢭΊΔ͜ͱͰճආͰ͖Δ
  48. SpringBoard ͰΫϥογϡ͢Δͱ͖͕͋Δ AXSpeechManager ͷॳظԽͰΫϥογϡ͢Δ ݁ہݪҼ͕Θ͔Βͣ୺຤Λ޻৔ग़ՙঢ়ଶʹɹ ໭ͤ͹Ϋϥογϡ͠ͳ͘ͳͬͨ Crash in CFStringConvertNSStringEncodingToEncoding https://forums.developer.apple.com/message/17681

  49. ઃఆ → Ұൠ → ΞΫηγϏϦςΟ → VoiceOver → εϐʔν DL

    ͢Ε͹ߴ඼࣭ͷԻ੠Λ໐Β͢͜ͱ΋Ͱ͖·͢ ͓·͚
  50. ·ͱΊ ͋·Γࣄྫ͕ͳ͍ͷͰ ϋϚΓॴ͸ͦΕͳΓʹ͋Γ·ͨ͠

  51. ·ͱΊ ͨͩ BONX Ͱ͸ಋೖͨ͜͠ͱʹΑΓ ؒҧ͍ͳ͘UX͸վળ͞Ε·ͨ͠

  52. ·ͱΊ IoT σόΠεͱ͸૬ੑ͕ྑ͍ͱࢥ͏ͷͰ ಉ͡Α͏ͳ೰Έͷॿ͚ͱͳΕ͹޾͍Ͱ͢

  53. We are Hiring!!

  54. ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠