1 ポイント 投稿者 GN⁺ 2024-05-09 | 1件のコメント | WhatsAppで共有

Decker マルチメディアプラットフォーム紹介

  • Deckerは、サウンド、画像、ハイパーテキスト、スクリプト動作などを含むインタラクティブなドキュメントを作成・共有するためのマルチメディアプラットフォーム
  • Webブラウザですぐに試せる
  • HyperCardの遺産とクラシックMacOSの視覚的美学を土台としている
  • HyperCardが備えていた単純さと学びやすさを維持しつつ、深い取り消し履歴、スクロールホイールおよびタッチスクリーン対応、より現代的なキーボードナビゲーション、大量編集作業など、多くの細かな、また明白なユーザビリティ改善を追加している

Deckerでできること

  • 誰でもDeckerを使って、E-Zine制作、メモ整理、プレゼンテーション、アドベンチャーゲーム制作、1ビットのピクセルアート落書きなどを行える
  • 全体的な「ditherpunk」美学は居心地がよく、少しノスタルジックで、楽しくユニークな創造的制約を提供する
  • プロトタイピングツールとしてのDeckerは、スケッチ的で不完全なアプローチを受け入れるよう促す
  • 完成したデッキはスタンドアロンの .html 文書として保存され、Webブラウザ上で単体で動作し、Webページをホスティングまたは埋め込みできるあらゆる場所で共有できる
  • DeckerはMacOS、Windows、Linuxでもネイティブに動作する

スクリプト言語 Lil 紹介

  • より複雑なプロジェクト向けに、DeckerはLilという新しいスクリプト言語を提供する
  • Lilは、ツールやゲームエンジンへの組み込みで広く使われる命令型言語Luaと、時系列データベースとともに使われるAPL系の関数型言語Qから強い影響を受けている
  • Lilは学びやすく、既存のプログラミング経験があるユーザーにも違和感がない程度に従来の流儀を踏襲しつつ、暗黙のスカラー・ベクトル演算や、統合されたSQL風クエリ言語のような楽しい驚きも含んでいる
  • 数行のLilでも多くの作業をこなせる

Deckerのさまざまな機能

  • Deckerは、インターフェース構築のための組み込みインタラクティブウィジェットと、新しいウィジェットを定義する機能を提供する
  • カスタムウィジェットと定義はシステムクリップボードを使ってコピー&ペーストでき、テキストを共有または保存できるあらゆる場所で共有できる
  • すべてのデッキは、他のプロジェクトで再利用できる再利用可能な部品のツールボックスでもある
  • Deckerはコマンドラインフレンドリー。ソースからビルドすると、LilのスタンドアロンインタプリタであるLiltが付属し、Decker文書を「ヘッドレス」で読み取り、書き込み、操作し、さらには実行できる
  • LiltはDecker本体より依存関係がはるかに少ないため、実行可能なクロスプラットフォームAPEとしてコンパイルでき、どこでも実行できるシェルスクリプトを書ける
  • POSIX AWKで動作するLilインタプリタもある
  • デッキは、GitやSVNのような既存のソース管理ツールと高い相互運用性を持つ行指向のテキスト形式で保存される

Deckerの使用例とモジュール

  • 「Examples」セクションでは、Deckerを活用したさまざまなサンプルプロジェクトが紹介されている
    • Deckerガイドツアー、5GUIs、CHIP-8インタプリタ、Draggableのすべて、サウンドのすべて、ブロック押しパズルゲームSokoban など
  • 「Modules」セクションでは、Decker向けのさまざまなプラグインモジュールが紹介されている
    • Plot: Decker向けのシンプルなグラフ
    • Zazz: Decker向けのアニメーション補助
    • Ease: Decker向けのEasing関数
    • Dialogizer: Decker向けのビジュアルノベル用モーダル
    • Puppeteer: Decker向けのビジュアルノベル用スプライトアニメーション

ドキュメントと追加リソース

  • Deckerリファレンスマニュアル、Decker文書形式、Lilプログラミング言語など各種ドキュメントが提供されている
  • Lil言語を10分で学ぶ、Lilプレイグラウンド、Lilクイックリファレンスカードなど、Lil学習用の資料も提供されている
  • GitHubでソースコードとバグトラッカーを利用できる
  • DeckerはMITライセンスのもとで自由かつオープンソース
  • MacOSおよびWindows向けの定期的なバイナリリリースはItch.ioで利用可能
  • Itchページには、Deckerについて議論し、Deckerで作られたプロジェクトを共有するコミュニティフォーラムが含まれている

GN⁺の意見

  • DeckerをPOSIX AWKで実装したのは非常に興味深い試み。AWKはテキスト処理に特化したスクリプト言語であり、Lilのようなスクリプト言語を実装するうえで適した基盤言語に見える。AWKで実装することで、複数のプラットフォームへ容易に移植して実行できるようになったのだろう。

  • Deckerの保存フォーマットを行単位のテキストにしたのは非常に賢明な選択に見える。テキストベースのフォーマットはGitのようなVCSとの相性がよく、バージョン管理がしやすく、Diffによる変更追跡も可能。バイナリ形式には壊れやすく、バージョン管理が難しいという欠点がある。

  • Lilの設計思想は興味深い。LuaとQの影響を受けたとのことだが、Luaはゲームスクリプティングで広く使われ、QはDBクエリに特化したAPL系言語。両者の長所を組み合わせることで、Lil独自の特徴を備えたようだ。特にスカラー・ベクトル演算や組み込みクエリ構文などは、既存言語ではあまり見かけない機能だ。

  • E-Zine、メモ、プレゼンテーション、アドベンチャーゲーム、ピクセルアートなど、活用範囲は非常に広そう。複雑なアプリから簡単な文書まで、さまざまな分野で使えそうだ。ただし、これほど汎用的であるぶん、各分野に特化したツールと比べると機能不足を感じる場面もあるかもしれない。

  • クラシックMac OSスタイルのUIは個人的には好ましいが、現代のユーザーにはレトロすぎると感じられる可能性もありそう。スキン機能でモダンなテーマも提供されるとよさそうだ。WindowsやLinuxユーザーには見慣れないインターフェースかもしれない。

1件のコメント

 
GN⁺ 2024-05-09
Hacker Newsの意見
  • 1-bitグラフィックから2-bitグラフィックへ少し変えるだけで、写真の視認性は大幅に向上しうる。例として、solar.lowtechmagazine.com は最大6色を使って見事な美学を実現している。

  • Deckerのパッケージングについての考察。Redbeanのように Lua、SQLite などを1つのファイルにまとめ、zipとして展開し、HTML や Lua コードを入れたうえで名前だけ変えて配布する方式を検討しているのか気になる。

  • Deckerは以前にも HN で何度か紹介されたことがある。3か月前は191ポイント、36件のコメント。2年前は215ポイント、88件のコメント。

  • 実際に Decker を使ってみることを勧める声。デモサイトへのリンクが提供されている。

  • Deckerが子ども時代の甘い思い出を呼び起こすという意見。モバイルのピンチズーム機能さえあればよいのに、とのこと。

  • HyperCard の最大の欠点は、Mac がカラーを導入した際にカラーをサポートしなかったこと。高校時代、学校の Mac はすべてカラーだったが、HyperCard はそうではなかった。

  • NASA の laserdisc が HyperCard で作られたシャトル情報ナビゲーションシステムを学校で使っていた記憶。当時はそれほど感動しなかったが、すばらしい体験だった。

  • Decker は1-bitグラフィックという点で HyperCard に似て見えるが、使い方はかなり異なる。独特な「Lil」言語を学ぶ必要があり、HyperCard/MacPaint の便利な機能も多く省かれているため、期待と違うかもしれない。HyperCard アーティストは Infinite Mac のおかげでブラウザ上で引き続き HyperCard を使える。

  • Decker は面白いという意見。HyperTalk スクリプティングをサポートする Wyldcard もおすすめされている。

  • Apple や MS がこうしたカジュアルな開発ツール作りにもっと力を入れないのはなぜか、という疑問。VB や Python も良いが、小さなアプリを作るのに最適化されたツールがあるとよい、とのこと。

  • HyperCard への愛着はとても大きい。その時代を経験していなくても、小さくて便利なツールを作れるようにしてくれたように思える。スプレッドシートとは別の形で多才だったようだ。

  • その時代を経験した人にとって、どんな現代のツールがあの感覚を捉えているのか気になる。少し若い世代には Delphi/VB や Flash へのノスタルジーがある。不完全ではあったが、創造性を刺激したツールたちだ。

  • ツールはずっと良くなったが、その過程で何かを失ってしまったように感じる。