バックナンバー

Symposium #08

日時
2022年 8月 27日 (Sat) 14:00
場所
Zoom
参加費
free
タイムテーブル
開場
オープニング
Hacking Xcode Behaviors
Kyome

プロジェクトのBuild PhasesにRun Scriptを追加することでターゲットのビルド時に特定の処理を挟み込むことができますが、Xcode Behaviorsはプロジェクト単位ではなくXcode全般でのイベントに処理を挟み込むことができます。そんなBehaviorsをハックして、ビルドやテストのイベントを別アプリから監視する仕組みを実現するまでの試行錯誤について紹介します。

休憩
TextKitでのシンタックスハイライト高速化
1024jp

テキスト描画の世界は複雑で、何気ない操作もデータ量が大きくなると簡単に処理のボトルネックと化します。しかし、何がそんなに時間を要するのでしょうか。macOS、iOS共にテキスト描画を司るTextKitの癖を読み抜くことで、愚直な実装からシンタックスハイライトの適用を高速化していく過程を理屈を追いながら解説します。

解散

Symposium #07

日時
2022年 5月 14日 (Sat) 14:00
場所
Zoom
参加費
free
タイムテーブル
開場
オープニング
アイコンを作るときの頭の中のこと
けーにち

実際の事例を元にアイコンのメタファーに辿り着くまでに考えていることを軽やかにジョークを交えてお話しします。ファミレスでドリンクバー片手に話すようなカジュアルな内容です。皆様軽い気持ちでお越し下さいませ!

Big Surからの四角いアイコン
1024jp

Big Surからアプリケーションアイコンのルールが変わりました。どうするとそれっぽくなるのでしょうか。実例を交えながら考察します。

slide
休憩
Mac Catalyst Hacking~macOSでHomeKitアプリを開発するために
sonson

Mac Catalystは,AppKit/Cocoaが十分に使えないため,自由にアプリが作れません.そこで,Bundleを使ったAPI制限をくぐり抜けるハックを実際に開発したアプリHomeConMenuをベースに紹介します.

slide sample
解散

Symposium #06

日時
2019年 12月 21日 (Sat) 15:00
場所
TIME SHARING 秋葉原 (map)
参加費
1,500 円
タイムテーブル
開場
オープニング
AppleScriptで遊ぶRPCの世界
長野谷隆昌

macOS以外のOSでは気軽に使えないRPC、それを手軽に行う仕組みであるAppleEventとAppleScriptについて、CotEditorを例にご紹介します。

CATransitionで遊ぼう
ずむ

遷移遷移! Core Animationの中でもいまいち影の薄い印象のCATransitionですが、macOS限定の機能を使えば活躍の幅が広がるかもしれません。さらには実戦投入にはオススメしない怪しい実験も…

休憩
AppKitでお絵描きをしてみよう
Kyome

AppKitにはNSBezierPathやNSGraphicsContextを用いた図形描画の方法が用意されています。今回は図形描画の基本を押さえながら、注意点や雑学をご紹介いたします。汎用性が高い図形描画の世界に足を踏み入れてみましょう。

Mac Catalystで高品質なmacOSネイティブアプリケーションを作る —高品質なネイティブアプリとは—
岸川克己

現在はともかく、将来的にネイティブMacアプリの開発環境はMac Catalystが標準になります。

では現段階で高品質なMacアプリを作るにはAppKitを使うべきでしょうか?そもそも高品質なネイティブアプリとはどのようなものでしょうか?

高品質なネイティブアプリに求められるものを明らかにし、それはいわゆるネイティブのプログラミング言語がなければ作れないのか、今のMac Catalystはどのくらいの表現力があるのか、などについてお伝えします。

解散
(🍻)

Symposium #05

日時
2019年 9月 8日 (Sun) 15:00
場所
TIME SHARING 四谷 (map)
参加費
1,500 円
タイムテーブル
開場
オープニング
UIテストについて
HIRAI Hiroaki

長期的にアプリを開発していると、自動化したくなるのが動作確認作業。Xcode 7で追加されたUI Testを、これまでのアップデートやmacOS固有の事情も含めて、ノウハウをまとめてみます。

slide
NSTextViewとは何なのか
1024jp

AppKitにおいてテキストを表示するビューとして不動の地位を誇るNSTextViewさん。日常的に使う反面、どこかミステリアスな雰囲気で謎に包まれていますよね。どんな性格なの? 年齢は? 家族構成は? 調べてみました。

slide
休憩
文字とPDFとPDFKit
motooka

文字情報がPDFファイルにどのように格納されているのか、そしてそれをPDFKitを介して眺めたときにどのように見えるのか、お話ししたいと思います。

slide
Getting started with making macOS utility app using private APIs
niw

While using macOS day to day life, you may feel something is missing, or probably you may find repeating yourself.

In this talk, based on the experiences to make a TouchBar utility app HapticKey, we will discuss how to make a macOS utility app stays in the status bar. Also, we will see how to reverse engineering macOS undocumented private APIs to provide utility functionalities.

more

Expected audiences and knowledge:

  • Those who want to improve their day to day life by themselves.
  • Intermediate level of Apple platform knowledge.
  • Beginner level of Objective-C knowledge.

The goal of this talk:

  • Make NSStatusBar utility application.
  • Reverse engineering undocumented private APIs and use it.
  • Objective-C runtime

Following topics are non-goal of this talk:

  • Basic knowledge about how to use Xcode
  • Security problems related to reverse engineering.
  • Swift
slide
解散
(🍻)

Symposium #04

日時
2019年 7月 7日 (Sun) 15:10
場所
TIME SHARING 秋葉原 (map)
参加費
1,500 円
タイムテーブル
開場
オープニング
インターフェイスの“こちら側”のデザイン
usagimaru

UIデザインというとどうしても「画面の見た目のデザイン」と捉えられがちですが、大切なのは“使い手”と画面の向こう側の“オブジェクト”が支障なく対話できることです。macOSのGUIを介したインタラクションにおける入力方法のデザインについて考察します。

slide
macOSのキーボードイベントを覗いてみよう
高山扶美彦

macOSではアプリでキーボードイベントを処理する方法がいくつか用意されています。それらについて、キーボードリマッパーの開発経験で得た知見を紹介します。キーボード入力って他のアプリから覗き見られたりしないのかな? といった疑問のきっかけになれば幸いです。

slide
休憩
macOS のモードレスネスについて
上野学

初期の HIG からデザイン原則のひとつとして掲げられてきた「モードレスネス」。それは GUI を GUI たらしめる基本思想であり、オブジェクト指向がもたらした道具哲学のコペルニクス的転回である。このセッションでは、モードレスネスの意味と GUI 史における役割、そしてモードレスネスを実現するために macOS に組み込まれた機構について見ていきます。

slide
激論! macOS 10.15 Catalina
1024jp

何が激論なのかはよくわかりませんが、WWDCでmacOS 10.15 Catalinaが発表されたことは記憶に新しいでしょう。もちろんNDAに関わる部分は話せませんが、公開されている範囲について意見交換をする絶好のタイミングではないでしょうか。この枠は一般的な登壇ではなく、フロアも巻き込んだディスカッション形式とします。

解散
(🍻)

Symposium #03

日時
2019年 3月 24日 (Sun) 15:15
場所
Creator’s District1002 1002号室 (map)
参加費
1,000 円
タイムテーブル
開場
オープニング
メニューバーアプリを作る
tamadeveloper

macOS対応のカレンダーアプリ「FirstSeed Calendar」を開発する際に、メニューバーに常駐するMiniアプリを作りました。その時に苦労した点や、Carbon APIを使って実装した機能などについてお話しします。

slide
バッチ処理に特化したワークフローUI
長野谷隆昌

macOS上のGUIアプリケーション同士を連携させ、大量のデータを処理する自動処理ワークフロー。その、一般とは異なるプログラムで蓄積されたノウハウや特徴的なUIをご紹介します。

休憩
GNUstepとCocotron
1024jp

GitHubなどでAppKitのメソッドを検索していると不思議なAppKitの実装コードのようなものを目にすることがないでしょうか。はて、Cocoaはクローズドソースのはずだが…。GNUstepとは、Cocotronとは何なのか。いま一度これらCocoaクローンの正体を紐解いてみましょう。

slide
解散
(🍻)

Symposium #02

日時
2018年 12月 22日 (Sat) 15:00
場所
POINT EDGE ShibuyaBASE イベントスペース
参加費
1,000 円
タイムテーブル
開場
オープニング
環境設定の作法
1024jp

macOSアプリケーションにおけるお行儀の良い環境設定の作り方、またUserDefaultsの取り回しについてをライブコーディングを交えてお見せします。

slide sample
UIScrollViewをAppKitで実装する
tamadeveloper

macOSとiOSのカレンダーアプリを開発するにあたり、AppKitとUIKitの違いで苦労した点をUIScrollView/NSScrollViewを中心にお話します。

slide
休憩
macOSの日本語表記ルールを探る
ずむ

よく見ると規則がある…? macOSらしい日本語表記のルールを探ります。

slide
Macらしいアプリケーションを実現するために —BathyScapheでの事例から—
tsawada2

流行りのダークモードから、古参のサービスメニューやAppleScript、大分馴染んできた通知センターや共有ボタン…こういったmacOSの各種機能に積極的に対応することが、アプリの「Macらしさ」に繋がります。5ちゃんねるブラウザ「BathyScaphe」での実装例をご紹介します。

slide
解散
(🍻)

Symposium #01

日時
2018年 8月 29日 (Wed) 18:30
場所
アーツ千代田 3331 1F コミュニティスペース (map)
参加費
1,000 円
タイムテーブル
開場
オープニング
Designing Desktop Interactions
usagimaru

macOSとiOSを比較しながら、Macのインターフェイスを介して起こるインタラクションについて考察します。

slide
App Icon –デザインと観察
貫井伸隆

no description.

slide
休憩
ツールバーアイコンとその実装
1024jp

macOSアプリケーションのウインドウ上部に並ぶツールバーボタンは、macOSらしさを特徴付けています。ツールバーアイコンの歴史的変遷や用途によるデザインの違いを考察しながら、現在の最新システムにおけるネイティブらしいツールバーの実装方法をさぐります。

slide
クロージング
解散
(🍻)