2025年6月26日木曜日

Google I/O Extended 2025 in Kyoto 開催しました(2025/06/21)

2024年に引き続き、2025年も京都でのGoogle I/O Extended  を開催。
Google の最新技術カンファレンスGoogle I/O 2025 での発表を振り返り、Web, Android, AI 分野に焦点をあてた内容でご登壇していただきました。
オフラインならではの交流もでき、小規模ながらも有意義なイベントとなりました。
今後の開発の助け・ヒントになれば幸いです。

イベントページ


■ オープニング


GDG Kyoto Organizer の takiguchi から、本イベント概要、GDG(Google Developer Groups)の役割についてお話しました。
GDG ON CAMPUS xxx といった学生のコミュニティについても触れました。
 


■ 【Android】Adaptive Android development makes your app shine across devices


最初は、Google Developer Relations Engineer の chikoski さんのセッション


私たちユーザーが状況によって使い分けているデバイス(スマートフォン、タブレット、折りたたみ式デバイス、chromebook、車載器、XRなど)に最適なUX/UIを提供するためのアダプティブアプリ開発について、ライブラリーの紹介や、心がける点についてお話しくださいました。

1つのAndoridアプリで、すべてのデバイスに対応できるというワクワクするお話。
地味なところから足元を固め、互換性を担保し段階を経て作りこみ対応していくことが大切、近道はないという言葉が印象的でした。
  • アプリの状態の保持
  • データの保持(ストレージやメモリ上)
  • アプリ中断箇所からの再開

「Android XR エミュレータ」(Android Studio Canaryバージョン)上でのXRアプリの実演もあり、今後のAndroid XR 実機の流通も楽しみです。


■ 【Web】Practical built-in AI with Gemini Nano in Chrome


次は、Google Developers Expert (Web Technology) の yoichiro さんのセッション
「Chrome における組込みAIの実践と進化」

Chromeにおける新しい組込みAI は、汎用大規模言語モデル(LLM)「Gemini Nano」
小規模ながらもリソースとしては大きいのでWebアプリ使用時にオンデマンドでダウンロードされるとのこと。プライバシーが護られ、オフライン実行でき、優れたパフォーマンスも得られるといった利点や、組込みAI API 毎にファインチューニングしやすい特徴があるとのことです。
組込みAI API の概要・使用コード例の説明や、Playgroundを使用してのデモ(プロンプト,要約,言語検出,翻訳)及び、実践活用例の紹介もしてくださいました。

開発中やフラグ有効化でテスト可能なAPI、開発者プレビュー版で試せるハイブリッドSDKなど、多くの方のフィードバックにより進化中とのことです。
デスクトップ版Chromeだけでなく、他のデバイスやブラウザでも使えるようにと期待がふくらみます。


■ おやつタイム


阿闍梨餅本舗 銘菓「満月」でほっこり休憩タイム


■ 【AI】Jules and Coding Agent 


休憩後は、GDG Kyoto Organizer の robo さんのミニセッション

パブリックベータ版として公開された自立型非同期型のコーディングエージョントJulesについて、利用制限、サービスに必要なアカウント登録上の注意点、Jules Webアプリ画面構成やコーディング作業手順等の説明をしてくださいました。

実際にJulesコーディングしてみたデモ紹介もありました。
Gemini 2.5 Pro model を使用しているJules の対応は、滑らかだったとのことです。

今後、頻繁に更新されていくため、新しい情報にはアンテナを張っておく必要もありそうです。


■ Google I/O 今昔物語


ミニセッションに引き続き、GDG Kyoto Organizer の Inoue さんのLT


Google I/O 2025 で発表されたAndroid XR 対応 glassesとの出会いを楽しみにしつつ、メガネ型デバイスの歴史をYouTubeを見ながら振り返る内容でした。

Google I/O 2012 での衝撃的な登場(会場上空からのスカイダイビング~自転車等リレー~会場登場までメガネ型新デバイスでの生中継)の紹介もあり、実際に現地で遭遇した方(yoichiroさん・GDG KyotoのKuranoさん)もおられ、懐かしい思い出話にもつながりました。


■ 懇親会 & LT


お菓子をつまみながらの歓談タイムの中、追加LTも実施しました。

  • yoichiro さんによる Google keynote, Developer keynote の概要紹介 
  • chikoski さんによる Codelab, Learning Pathway, Workshop の活用紹介
Google I/O 2025 参照ページ:https://io.google/2025/explore


■ クロージング


参加者みんなで後片付け
暑い中のご参加ありがとうございました。

2023年8月12日土曜日

OSC京都 2023

今年は、3年ぶりのOSC京都の展示が開催されました。GDG京都も久しぶりの展示を行っていました。当日は、GDG京都やWTM京都で使用したノベリティも展示配布していました。





会場では、コミュニティの皆さんの趣向を凝らした展示が行われており、とても盛況でした。展示会場の全面の舞台では、LANケーブルとコネクターを接続するなど、面白いハンズオンも開催されていました。筆者もその経験があり、とても懐かしく拝見しました。


当日、OSC京都のスタッフさんによるインタビューのライブも行われていました。



OSC京都のスタッフの皆様、今年もお世話になりありがとうございました!

2019年12月19日木曜日

GDGミートアップ in 京都 (2019.2.10)

2/10に、”GDGミートアップ in 京都”をフリュー株式会社様と共催で開催しました。
このイベントは元々、GDEのエンリケさんが京都マラソンに参加されるということで提案いただいたイベントです。




この日は、GDE (Google Developer Expert) のエンリケさん、イニャーキさんが講演に来てくださいました。その他、GDGニュージランドのオーガナイザーさんも参加してくださるなど、4ヶ国の人々が集うという国際色豊かなイベントとなりました。GDEのイニャーキさんは、Google I/Oに行く際に飛行機でご一緒したご縁のある方です。(GDE : Google Developer Enjinear)

まずはフリュー株式会社様のfurusinさんのご挨拶をいただきました。




この日の発表は、エンリケさんからでした。



続いての発表は、イニャーキさんです。



そしてフリュー株式会社様のfurusinさんの発表でした。英語のスライドで発表されていました。




続いて、GDG京都の兼高さんでした。兼高さんの発表は英語でした。




兼高さんの発表については、GDEさん達から「君の発表は良かったよ!」と言われておられたり、GDGニュージランドのオーガナイザーさんから質問があありました。質問があるということは、発表内容が理解されたということですね!

時間もたっぷりあったので、フリュー株式会社様の方、そしてGDG四国オーガナイザーのtatsuhamaさん、GDG京都の藏野のLTとなりました。

その後の懇親会です。フリュー株式会社様にご提供いただきました!



そして最後はグループ写真です。




今回、英語色の濃いイベントではありましたが、とても有意義な会となりました。
共催としてご協力いただいた株式会社フリュー様、そしてfurusinさんには大変お世話になりました。どうもありがとうございました!

-------

後日談となりますが、2019年のGoogle I/Oで兼高さんはエンリケさんから、「GDG京都ミートアップ」で発表した人だね!と声を掛けられたそうです。

※ 2019年12月19日現在、furusinさんは転職されていて株式会社フリュー様に在籍されていません。


2019年8月5日月曜日

Voice.kitの初めの一歩

Voice.kitとVision,kitをGoogleのジョアンさんから昨年お借りしました。当時の記事ですが試したところまで公開します。Vision,kitは残念ながら動作しなかったのですが、Voice.kitを少し試してみました。この記事は、下記について書いたものです。

  • imageのダウンロード
  • imageの焼き方
  • Androidとのペアリング
  • デモの動作
  • ラズパイからのログアウト

Voice.kitとVision,kitは、どちらも同じimageを使います。

新しいキットのイメージ
https://github.com/google/aiyprojects-raspbian/releases

Flash.Flawlessをダウンロード
https://www.balena.io/etcher/

ここを参考に焼く。
https://mongonta.blog.fc2.com/blog-entry-310.html

1. 六角形のプラスのアイコンで、ダウンロードしてきたイメージをそのまま選択する。
2. MicroSDカードのを選択する。
3. 稲妻のマークのアイコンで、イメージをMicroSDカードに焼く。

4. MicroSDカードをVoice.kitに差し込む
5. 電源と繋いだMicroUSBをVoice.kitに刺す。
6. AndrodにAIYのアプリをインストールし、起動し、手順を進めて行く。
7. ペアリング後、IPアドレスを取得する。

8. PCからSSHでVision kitアクセスする。

nessie:~ ofuku$ ssh pi@192.168.XXX.XXX
The authenticity of host '192.168.XXX.XXX (192.168.XXX.XXX)' can't be established.
ECDSA key fingerprint is SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.XXX.XXX' (ECDSA) to the list of known hosts.
pi@192.168.100.144's password:

raspberry


Linux raspberrypi 4.14.71+ #1145 Fri Sep 21 15:06:38 BST 2018 armv6l
Build info: Fri Nov 16 08:31:49 UTC 2018 @ c5f367a
Last login: Fri Nov 16 08:33:56 2018

SSH is enabled and the default password for the 'pi' user has not been changed.
This is a security risk - please login as the 'pi' user and type 'passwd' to set a new password.

テストサウンドを鳴らしてみる。

pi@raspberrypi:~ $ /home/pi/AIY-projects-python/checkpoints/check_audio.py
You have Voice Bonnet (v2) installed at index 0!
Playing a test sound...
Did you hear the test sound? (y/n)
192.168.XXX.XXX

“Front! Center!”と音がなる。

Did you hear the test sound? (y/n) y
When you are ready, press Enter and say "Testing, 1 2 3"...
Recording for 3 seconds...
Playing back recorded audio...

自分の言った言葉がリピートされる。

Did you hear your own voice? (y/n) y
AIY sound card seems to be working!
Press Enter to close...

シャットダウンするときは、

sudo poweroff

pi@raspberrypi:~ $ sudo poweroff
Connection to 192.168.XXX.XXX closed by remote host.
Connection to 192.168.XXX.XXX closed.
nessie:~ ofuku$

取り敢えず、ここまでです。





2019年4月4日木曜日

Flutter 1.2.1 へのアップグレード (2019.3.31)

Flutter1.2.1 へののアップグレードを行いました。

ちなみに、Flutter の必要とされている環境は以下の通りです。
Flutter.devのサイトから引用しました。

私の環境はMacOS 10.12.6です。

  • OS: macOS (64-bit)
  • Disk Space: 700 MB (does not include disk space for IDE/tools).
  • Tools: Flutter depends on these command-line tools being available in your environment.
    • bash
    • curl
    • git 2.x
    • mkdir
    • rm
    • unzip
    • which
  1. Flutterをダウンロードしてきます。
    flutter_macos_v1.2.1-stable.zip
     
  2. ダウンロードしてきたzipファイルを展開します。
    $ cd ~/development
    $ unzip ~/Downloads/flutter_macos_v1.2.1-stable.zip
     
  3. Pathを通しておきます。

    export PATH="$PATH:`pwd`/flutter/bin"

    これは、ターミナルにおける一時的なものなので、
    私の場合は、.bash_profile にパスを通しています。
     
  4. 必要に応じて、開発用バイナリを事前ダウンロードします。
     
  5. flutter doctorを実行します。

    $ flutter doctor
    Doctor summary (to see all details, run flutter doctor -v):
    [✓] Flutter (Channel beta, v0.11.13, on Mac OS X 10.12.6 16G1815, locale ja-JP)
    [!] Android toolchain - develop for Android devices (Android SDK 28.0.3)
    ! Some Android licenses not accepted.  To resolve this, run: flutter doctor --android-licenses
    [!] iOS toolchain - develop for iOS devices (Xcode 9.2)
        ✗ Verify that all connected devices have been paired with this computer in Xcode.
          If all devices have been paired, libimobiledevice and ideviceinstaller may        require updating.
       To update with Brew, run:
           brew update
           brew uninstall --ignore-dependencies libimobiledevice
           brew uninstall --ignore-dependencies usbmuxd
           brew install --HEAD usbmuxd
           brew unlink usbmuxd
           brew link usbmuxd
           brew install --HEAD libimobiledevice
           brew install ideviceinstaller
        ✗ CocoaPods not installed.
            CocoaPods is used to retrieve the iOS platform side's plugin code that          responds to your plugin usage on the Dart side.
            Without resolving iOS dependencies with CocoaPods, plugins will
            work on iOS.
            For more info, see https://flutter.io/platform-plugins
          To install:
            brew install cocoapods
            pod setup
     [✓] Android Studio (version 3.2)
     [!] Connected device
         ! No devices available
     
  6. ✗ が付いているものを指示通りに実行して行きます。
       $ flutter doctor --android-licenses
       1 of 6 SDK package license not accepted.] 100% Computing updates...                 Review license that has not been accepted (y/N)? y

      ----------------- 略 ----------------

      Accept? (y/N): y
      All SDK package licenses accepted

     To relink: brew unlink usbmuxd && brew link usbmuxd
      $ brew unlink usbmuxd && brew link usbmuxd
         Unlinking /usr/local/Cellar/usbmuxd/HEAD-873252d_1... 7 symlinks removed
Linking /usr/local/Cellar/usbmuxd/HEAD-873252d_1... 7 symlinks created

     $ brew install --HEAD libimobiledevice
        Updating Homebrew...
       Warning: libimobiledevice HEAD-0584aa9_3 is already installed and up-to-date

      To reinstall HEAD_3, run `brew reinstall libimobiledevice`

    新しいバージョンのものと置き換えるように指示が表示されているので、
 その指示通りにインストールします。
   
    $ brew reinstall libimobiledevice

    $ brew install ideviceinstaller
       Warning: ideviceinstaller 1.1.0_4 is already installed and up-to-date
       To reinstall 1.1.0_4, run `brew reinstall ideviceinstaller`

    $ brew install cocoapods
    Updating Homebrew...
    Error: cocoapods 1.5.3 is already installed
    To upgrade to 1.6.1, run `brew upgrade cocoapods`

    cocoapodsをアップグレードするようにと指示があるので、その通りにします。

    $ brew upgrade cocoapods
    Updating Homebrew...
    ==> Upgrading 1 outdated package:
    cocoapods 1.5.3 -> 1.6.1

7. flutter doctorを再度走らせます。

$ flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel beta, v0.11.13, on Mac OS X 10.12.6 16G1815, locale ja-JP)
[✓] Android toolchain - develop for Android devices (Android SDK 28.0.3)
[✓] iOS toolchain - develop for iOS devices (Xcode 9.2)
[✓] Android Studio (version 3.2)
[!] Connected device
    ! No devices available

8. Android Studio における設定など

   私の場合は、常々開発を行なっている訳ではないので、Android Studioを
 アップグレードしたのとエミュレータを入れ替えたのみです。

以上となります。

2018年12月8日土曜日

Kyotango Hack 2018 (2日目) - ハッカソン、そして発表。

ハッカソン2日目です。朝ご飯は、和洋折衷です。地元の皆さんが用意して下さったサンドイッチとおにぎりです。


7時から朝ご飯で、あっとゆうまにこんな感じです。どちらも美味しかったです。
ありがとうございました!ご馳走様です!


朝早い朝日が輝くなか、昨日に続いてそれぞれのチームが真剣な中にも和気藹々とハックしていました。





発表の会場設営ということで、参加者の方は別室へ移動。そこでもハックは続けられていました。





お昼ご飯は丹後地方の有名なちらし寿司のお弁当です。お昼ご飯を食べながらの発表を聞きます。






                  

発表開始です。司会からはその説明です。


会場はぎっしり満室でした。

発表の前に、それぞれの賞の説明です。国際観光賞、農業賞、モビリティ賞、審査員特別賞、参加賞があります。


そして、各チームの発表です。今回のチームは6チームです。発表時間は5分です。それぞれのチームの発表の様子です。中には実際に動くデモを作られたり、寸劇を取り入れられたチームもありました。







質問をされる審査員の方々。

       

内容については、権利関係もありますので詳しくはここでは述べませんが、それぞれが、京丹後の食や観光、京都丹後鉄道、それぞれまたはその組み合わせを活かした発表内容でした。

審査の時間の間は、参加者の皆さん、発表を聞いて下さった方々による投票です。グラフィックレコーディングにシールを貼り付けていきます。


そして審査発表です。各賞をそれぞれのチームがいただきました。講評された審査員の方との記念撮影です。







そして最後は全員で記念撮影です!


帰宅時、網野駅にて偶然にも、最初の日にご説明のあった京都丹後鉄道とアニメのコラボレーションされた車両での帰宅となりました。これも楽しいご縁ですね!


ハッカソンは終わりではなく、それぞれのチームが発表した内容が育っていき、どんな形で世の中に出ていくでしょうか?
そんなワクワク感を残してハッカソンは終了しました!

参加者の皆様お疲れ様でした!そして関係者の皆様、ご協力いただいた地元の皆様、
どうもありがとうございました!

※このイベントの掲載している写真は、GDG京都の藏野が撮影したものです。