最新のChrome Appsの終了予定です

2022年に完全終了がアナウンスされているChrome Appsですが、終了までのマイルストーンについて改めてお知らせがきました。何らかのChrome Appsをリリースされている方々にはメールが来ていると思います。 2020年8月11日時点での最新のマイルストーンが、以下となります。 2020年3月 Chromeウェブストアにて、新規のChrome Appsの一般公開の受付が停止されました。開発者は、2022年6月までは既存のChrome Appsの更新を行うことができます。...

僕が作ったChromeアプリを会ったこともないイギリスの開発者に移管した話

昨年末に、OneDriveとWevDAVのChromeOS向けFile System Provider実装のメンテナンスをやめますというエントリをポストしました。これは、過去に5つ作ったChromeアプリのうち2つをもうメンテナンスせずに、Chromeウェブストアからも非公開にする、つまりオワコンにしますよっていう宣言でした。ただ、OneDrive向けのChromeアプリに関しては、実はオワコンにはなっていません。現在もChromeウェブストアにて公開されています。 File Sys...

OneDriveとWevDAVのChromeOS向けFile System Provider実装のメンテナンスをやめます

今日、ChromeOS向けに公開していたFile System Provider実装のうち、2つのメンテナンスをもう続けないと決めました。 OneDrive WebDAV 理由は、それらのアップデートをするための十分な時間を確保することができないことです。僕は全部で5つの実装を開発し、メンテナンスしてきました: Dropbox, SMB, SFTP, OneDrive and WebDAV。でも、メンテナンスを続けることは難しいです。加えて、以下のような問題もありました。 ...

Chrome AppsでSentryを組み込んでみた時の話

僕はChrome OS(Chromebook/boxに搭載されているOS)向けに、いくつかのChrome Appsをリリースしています。そのほとんどは、Chrome OSにてリモートにあるファイルシステムを、あたかもローカルにあるようにマウントすることができるchrome.fileSystemProvider APIの実装です。Dropbox、SFTP、OneDrive、SMB、WebDAVの4つの実装を作りました。その中で、最もユーザ数の多い実装が、Dropboxです。 File Sy...

macOSでのChrome Appsや拡張機能の通知に関する変更

Chromeウェブストアに開発者登録している方は、おそらく「Changes to Apps and Extensions notifications on macOS」という題名のメールを受け取っていると思います。Chrome 59から、chrome.notifications API経由で送信された通知について、Chromeが独自に提供してきた機構ではなく、macOS側が持つ通知システムにて表示されるように変更される、とのことです。 以下、僕のところに届いたメールを日本語訳してみま...

終わってしまうChromeアプリ

既に2ヶ月前の2016年9月8日、Google Developers Japan Blogに、僕にとって非常に興味深いブログが掲載されました。 Chrome アプリからウェブアプリへ 簡単にまとめると、「Chromeアプリは(ChromeOSを除いて)終了します」という内容でした。薄々感じ取ってはいたものの、改めて正式に言われてしまうと、とてもショックです。まあ、でも、確かに仕方のないことなんですけど、特に日本においてはChromebookを目にする機会はほとんどありませんし、そのため...

naclportsがwebportsに移行してました

Native Client Library(略してNaCl)で何かモジュールを作りたい時、世の中に既にある何らかのライブラリを使いたくなることが結構あります。というか、何も使わずにコーディングすることは事実上不可能でしょう。ただし、NaClというちょっと特殊な環境でもライブラリを使えるようにするのは、結構テクニックが必要になります。というか、たぶんコードを修正することになります。つまり、パッチを当てないといけないです。 NaClとして利用可能に修正済みなライブラリが数多く登録されていたn...

ChromeOS向けSFTP File Systemの構造

もう1年前の話になりますが、ChromebookやChromboxからSFTP経由でファイルを直接やり取りするためのアプリ「SFTP File System」を開発、公開して、現在に至っています。ChromeOSはWindowsのエクスプローラやmacのfinderのようなファイラである「Files.app」を持っています。そして、Chrome AppsやChromeウェブブラウザ上のウェブアプリからは、HTML5 FileSystem APIやchrome.fileSystem APIを...

ChromeOS向けFile System for Dropboxの構造

ChromeOS向けに開発したDropboxをマウントするためのアプリ「File System for Dropbox」は、Chromeウェブストア上では97,000ユーザ以上がインストールしていると今日見たら表示されていました。 そして、Dropbox側のアプリコンソールを見ると、今もユーザ数やAPIコール数は増え続けています。嬉しい限りです。 もちろん、yoichiro/chromeos-filesystem-dropboxという場所でオープンソースにしてます。 さて、最...

コントリビューションから見たオープンソースの威力

ChromebookでWindowsファイル共有サーバにアクセスできるFile System for Windowsの最初のReleaseをしてから4ヶ月ちょいが経過。自分で使う上では特に問題なく動作してて満足なんだけど、世界中にいるユーザからは「うごかねーよ」「接続できねーよ」というフィードバックが日々報告されてくる。このアプリの性質上、接続相手のサーバの中で何が起きてエラーになったのか、僕から直接調査することができない。SMBプロトコル上では、サーバから4バイトのエラーコードが帰ってく...

ChromeMyAdminの紹介ページを作ってみました

タイトルの通りです。 https://www.eisbahn.jp/chrome_mysql_admin/ 実際に実用に耐えうる機能が揃ってきたと自画自賛してるChromeMyAdminですが、利用者数が2000人前後で行ったり来たりしてて、いまいち増えていきません。実際Chrome WebStoreに掲載されても勝手にユーザ数が伸びることは希で、どこかで取り上げてくれない限りユーザ数の伸びが期待できないのは、今まで作ってきたChrome拡張機能などで経験してます。 紹介ページを作っ...

複数のSQL文を含む文字列を区切り文字列判断して分割するパーサーを書いてみた話

MySQLに標準で付属してくるコマンドライン版のClientであるmysqlコマンドには、例えばCREATE PROCEDUREをする際に一つのSQL文の中で複数のSQL文を含めるために、通常文末を示すセミコロン記号を文末と評価しないこと、つまり文末記号を別の記号に置き換えることができるようになってます。delimiterっていう命令がそれで、これはSQLの予約語ではなく、mysqlコマンドが提供してるものです。MySQL Serverに”delimiter”って送ってもエラーになります...

Chrome appsからTLSを張る際に参考になりそうなコード

そのうち使うかも。 circ/package/bin/net/ssl_socket.js https://github.com/flackr/circ/blob/master/package/bin/net/ssl_socket.js tcp-socket/src/tcp-socket.js https://github.com/whiteout-io/tcp-socket/blob/master/src/tcp-socket.js forge/js/tls.js https:...

Chrome Socket APIのsetPaused()関数の動作

Chromeアプリからソケット通信を行うためのSocket APIがあるのですが、古いAPIから新しいAPIセットに変更になり、利用可能な関数も結構変わりました。特に、受信がイベント駆動方式に変更になったため、受信したデータを自分で取りに行くのではなく、イベントリスナを登録してコールバックによって受け取るようにコーディングしなければなりません。これは全般的にかなり苦痛なコーディングを強いられるので個人的には元に戻して欲しいと思ってるのですが、イベント駆動方式を使いこなすために必要となる関数...

MovableType+Chrome Hackathonにお邪魔してきました

6月28日に、Six Apart社主催の「MovableType + Chrome Hackathon」に講師としてお呼ばれしてきました。MovableTypeにはData APIというのがあって、MTの中にある情報を取得したり更新することができます。このAPIを使ったChromeアプリや拡張機能を作ってみましょう、というのが今回のテーマです。 会場は、Six Apart社の新しいオフィスでした。 僕自身は12時くらいに行ったのですが、すでにほとんどの方が到着していて、開発に黙々と...

Chrome appsのFrameを自分で作る際のTips

Chrome appsでアプリケーションを作る際に、OSが提供してくれるウィンドウのフレームを使うかどうか、選択することができます。例えばmacであれば、以下のようなフレームが提供されるわけですが、 これを使わないという選択肢もとれるわけです。例えば、以下のように自分で自由に作ることができます。 OS標準のフレームに似せずに、まったく自由にウィンドウを作ることができるわけです。閉じるボタンやフルスクリーンボタンなども、置くかどうかも自由です。 OS標準のフレームを使うかどうか...

Movable Type Data API & Chromeアプリ勉強会で発表をしてきました

今日の夜、SixApart社主催の「 MT Hackathon @ Six Apart New Office 〜Data API で Chromeアプリを作ろう〜」に向けた勉強会が開かれました。そこで僕はChromeアプリ&拡張機能でできることや作り方についての発表をしてきました。 Chromeアプリ/拡張機能の入門に関する資料は、あるようであまりないので、ぜひ上記を参考にChromeアプリや拡張機能を作ってみてください。そして、Movable Type Data APIを使ったChro...

Chrome Socket APIを古くから使っている人に新しいAPIのススメ

Chrome Webブラウザは、Web標準技術を使って、OS Nativeなアプリと遜色がないGUIアプリケーション(Chrome apps、昔Packaged appsと呼んでたもの)を実行する環境が搭載されています。OS Nativeなアプリに負けないためには、「できること」が多くなければなりません。すなわち、APIが充実していればしているほど、きっとOS Nativeなアプリとの競争力も強くなっていくことでしょう。 そのAPI群の中に、ソケットを扱うためのAPIがあります。Pack...

MySQL Console Chrome application has been released!

Today, I have released a new Chrome app named “MySQL Console”. If you’re using Chrome Web browser, you can install this application from the following URL: MySQL Console - Chrome WebStore Basically, you’ll use “mysql” command to execute querie...