heykwarb

Design engineer | AppIntents, SwiftUI | @Ne…

heykwarb

Design engineer | AppIntents, SwiftUI | @Neality

マガジン

最近の記事

AI中心のUIではコミュニケーションが重要

AI中心のUIでは、できるだけ多くのタスクを自動で(ユーザーが指示しなくても)実行してくれることが理想。しかし、これは人間同士のコミュニケーションでも同様だけど、善意の空回りのようなことが多く発生するかもしれない(特に空気を読む能力が足りなければ足りないほど)。そうならないためには、基本的に自動でタスクをこなす一方で、適切なタイミングで「これを実行しますか?」と尋ねるワンクッションが重要となる。 これは未来の話ではなく、今のiOSのショートカットやオートメーションをつくるこ

    • iOSショートカットがAI時代のUIに与える影響

      AppIntentsには、OpenIntentというプロトコルがあり、インテントを実行した際にアプリを開くかどうかを設定できる。ショートカットのメリットは、バックグラウンドでタスクを実行できることだと思われるかもしれないが、じゃあどのような場合にアプリを開く必要があるのか考えてみる。 まず、アプリには二つの方向性があると考えている。一つは長時間集中して没入するためのもので、もう一つは他にメインの作業があり、その補助として短時間使うものだ。 ゲームや制作作業を行うアプリなど

      • AppIntentsにおける主要プロトコル

        AppIntentインテントそのものを定義するプロトコル。これがインテントの本体。@Parameterでインテントに使う変数を宣言することができ、Perform()で実行内容を作る。これ単体でもショートカットアプリ内でアクションとして用いれるが、デフォルトでショートカットとして使えるようにするにはAppShortcutsPorviderで指定する必要がある。 AppShortcutsProviderショートカットを定義するプロトコル。ここでショートカットの名前、フレーズ、そ

        • AppIntentのメタデータの設定一覧

          title AppIntentのタイトル。ショートカットの名前として表示される。 description ショートカットの説明文。 openAppWhenRun その名の通り、インテントが実行された時にアプリを開くかどうかのBool。trueにすると、インテントが実行された時アプリが開かれる。 isDiscoverable インテントがショートカットアプリやSpotlightで表示されるかを設定できる。デフォルトだとtrueだが、隠したい時はfalseにする。

        AI中心のUIではコミュニケーションが重要

        マガジン

        • AppIntents
          6本
        • SwiftUI
          1本

        記事

          ショートカットアプリでインテントを表示させないようにする

          ふとこんなものを発見した。通常、AppIntentを定義すると自動的にショートカットアプリで表示されるのだが、それを非表示にできるらしい。 static var isDiscoverable = false 表示させない時にはfalseにする。 他のAppIntentで組み合わせるために作ったインテント、単独で使わないインテントにはこれを使う(???)

          ショートカットアプリでインテントを表示させないようにする

          AppIntentsのParameterで写真を読み込みたい

          結論: IntentFileを使うParameterで写真を読み込みたかったのだが、Imageなどの型は対応していないのでIntentFileという型を使う必要がある。データの型なので、そのままでは画像としては使えない。UIImageに変換したりする必要がある。 //ParameterはIntentFile型@Parameter(title: "Photo", supportedTypeIdentifiers: ["public.image"], requestValueD

          AppIntentsのParameterで写真を読み込みたい

          AppIntentsでインテントを実行する前にユーザーに尋ねる

          requestConfirmation()とはこの関数を使うとPerform()の前にDialogなどを出してユーザーに尋ねることができる。 https://developer.apple.com/documentation/appintents/appintent/requestconfirmation() 以下のビデオで例として紹介されていていたのは、本を買うというインテントの途中で値段や本の情報のView,Dialogとともに、注文するかを決定するボタンを表示するもの

          AppIntentsでインテントを実行する前にユーザーに尋ねる

          AppIntents, Perform()でのReturnの型

          perform() returned types not declared in method signature Did not declare ReturnsValue but provided one というエラーメッセージが出てショートカットを実行できなかった時、文章どおりreturnの型が宣言されてないこと(この場合はValueがreusultで返されてるのに、ReturnsValueが宣言されてない)が問題。 ```func perform() async t

          AppIntents, Perform()でのReturnの型

          Matterが対応できる動作、機能

          自分はスマートホームに対応していない家のライトやエアコンをiPhoneで動かすために、Matterに対応しているリモコンのNature Remo を使っている。既存の家電をスマート化できるとはいえ、全ての操作をMatterに対応させれるわけがないと思った。一体どんな動作は対応してるのだろうと思って探してみたら、まさにぴったりの記事が見つかった。 要はプロトコルとして、各家電のどんなアクションをデータとして送信できるかということが知りたかったので、それらがわかった。ただ対応し

          Matterが対応できる動作、機能

          Vision Proは初代Macintosh の再来か

          Vision pro で興味深いのは、nrealのような「機能は限定的だが、軽さやファッション性を重視したプロダクト」にはしなかったところだ。ここ20年くらい(Steve Jobsが復帰してから)のAppleは、機能を盛りだくさんにしないで現実的なものを作る路線だったように思う。 Vision proには、軽さなどの快適さや値段の安さを重視しできるだけ多くの人に買ってもらうという即効性は犠牲にしても良いから、Spatial Computingとしての完成度を高め、その未来の

          Vision Proは初代Macintosh の再来か