2008年2月28日木曜日

{Open Source} Heroes Happen Here

例の「俺の強さにおまえが泣いた」製品はWorldWide TelescopeだったんだよとScobleは言った。(・∀・)Zoom Zoom Zoom♪ ( ゚Д゚)Ha!
まあ、想定の範囲内ということか?
なお、Jim Greyが以前から関わっていたプロジェクトであることも指摘されている。

というわけで、結局はその製品とは関係なかったMSのサイトがオープン。

とりあえず、OSSとMS技術に関するヒーローを紹介し、「Hero Hack Pack」という名のWindows Server 2008とVisual Studio 2008の評価版を提供するということらしい。Hero Hack Packに申し込むと抽選でOSCONのチケットが当たるらしい。


紹介されているのは:

2008年2月25日月曜日

Mix 08のセッション一覧 (パート3: 3/7)

3/7はJohn Lam (IronRuby)とJimmy Schementi(DLRチームのPM)による「Microsoft Silverlight and Dynamic Languages」あたりかなあ。

3/7

Using an Internet Service Bus to Build Next Generation Applications and Services

Dennis Pilarinos

Learn how using Microsoft's Internet Service Bus technologies including pub/sub, message transformation, and hosted workflow enables you to easily and quickly build complex applications and services that require reach, scale, and access control.

Silverlight on a LAMP Site for Media: UVNTV.com

Luke Conner, Rick Freeman, DJ Pooh

UVNTV.com is a LAMP site (Linux, Apache, MySQL, PHP) that is using Windows Media servers to recreate a TV experience on the web using Silverlight. They chose to use Silverlight becuase of the higher quality they were getting out of WMV/VC-1 than Flash's On2 codec. The team will explain how and why they changed their site to use Silverlight from Flash.

Anatomy of a Dynamic SharePoint Website

Ben Robb

Hed Kandi(http://beta.hedkandi.com/Pages/default.aspx)がアイデンティティ/認証やUI/UXのスキンを含んだ一般的なWeb Content Managementの機能を使って、どのようにSharePoint上にサイトを築き上げたかについて学んでください。

Future of Advertising Technology

Eric Picard

Come learn how Microsoft views advertising and is approaching the rapidly changing advertising industry.

Beneath the Surface: The Natural Experience Vision

Daniel Makoski

より自然で直観的で感情的な製品を作るための重要な推進要素として、Surface User Experienceチームがデザインとユーザーエクスペリエンスに集中している方法を聞きに来てください。Surfaceがどのようにして、ユーザーにコンピュータや製品の言語を学ばせるという30年以上使われてきたアプローチから、テクノロジーやコンピュータや製品が人々の言語(感触、声、そしてジェスチャー)を学ぶというまったく新しいアプローチに移行したかについて学んでください。

Bring Your Data to Life with Windows Presentation Foundation

Anson Tsao

WPFを使ってUIとデータを結合し、データに命を与えるということがどれくらい簡単かについて学んでください。このセッションは、WPFの広範囲なUI-データモデル、データバインディング、テンプレート、そしてコントロールが、どのようにしてすべての開発者に力を与え、より少ない時間の中でより豊かでダイナミックなユーザーエクスペリエンスをつくらせることができるかについて示します。

Using the Microsoft Sync Framework and FeedSync

Neil Padgett

Microsoft Sync Frameworkを使って同期可能なアプリケーションを構築し、さまざまなエンドポイントにサービスを展開するオンラインとオフラインのシナリオを実現する方法を学んでください。そして、RSSやATOMフィードと互換性のあるFeedSyncとしてデータを公開する方法を見出してください。

Microsoft Silverlight and Dynamic Languages

John Lam, Jimmy Schementi

SilverlightでDLRがどのように動作するかについて学んでください。PythonとRubyプログラマー向けにMicrosoft Silverlightの紹介を含みます。

Take Your Content Mobile with Windows Mobile, Microsoft Expression, and Zumobi

Shannon Carter, Kyle Lampe, John Sangiovanni

Come watch us debunk the myth that creating content for mobile phones is a limiting proposition. We demonstrate how the triple-play of Windows Mobile, Microsoft Expression and Zumobi can help you light up devices with your content (and make money doing it).

Silverlight and Web Analytics

Bret Grinslade 他

Microsoft Silverlightで構築されるRIAとメディアプレーヤーは、WebTrends On Demand、Omniture SiteCatalyst、Microsoft AdCenter AnalyticsのようなWeb解析サービスと簡単に統合できます。このパネルにおいて、あなたはそれらの会社の専門家から、Web解析サービスがWebの利用状況に関するデータを集め、Webサイトがビジネスゴールに対して果たしている効果を企業が測ることができるさまざまな方法について学びます。各々のパネリストは彼らの会社のWeb解析サービスをSilverlightアプリケーションに取り込む方法と、XAMLのデザインとJavaScriptのコードの分離を利用して効果的なA/Bテストをする方法を議論します。

Nerd + Art: Ten Code Snippets to Empower Your Inner Artist

Nathan Dunlap, Robby Ingebretsen

我々のデザイナー用コード「ツールボックス」を使うことで、デザイナーがWPFとMicrosoft Silverlight 2.0にできることがどのように増えるのかを学んでください。それは、最高のアイディアを実現する足がかりを与えてくれる10の単純な概念です。我々はコードを共有して、それを使う方法を教えて、それを支える概念を紹介します。

Lighting Up Your AJAX Applications with Silverlight

Stefan Schackow, Chung Webster

Microsoft Silverlightを既存のAJAXアプリケーションと統合する方法を学びに来てください。これは、Silverlightを使って真実のバックグラウンドプロセスやローカルストレージといった強力な新機能を追加する方法を含みます。また、XAMLやメディアコンテンツをWebページに追加する新しいASP.NETサーバーコントロールのことも学んでください。

The Story of the Ribbon

Jensen Harris

さようなら、メニューとツールバー!2007の Office リボンユーザインタフェースがどのようにイメージされて、設計されて、実証されたのか、その舞台裏の物語を聞きに来てください。これまで公開されていなかった初期プロトタイプを見て、我々がデザインプロセスの間に学んだ間違いについて聞き、我々がOffice用の最初で全く新しいユーザインタフェースを作成する各々のステップで使用した、ユーザーエクスペリエンスの設計原則を発見してください。

Unlocking the Creative Genome - XAML

Dante Gagne, Arturo Toledo

WebベースのMicrosoft SilverlightアプリケーションとデスクトップベースのWPFアプリケーションとで統一的なユーザーエクスペリエンスを作るために、Microsoft Expression BlendとDesignをどのように用いることができるかについて学んでください。

Designing Next Generation User Interface Experiences with Microsoft Expression Blend and Windows Presentation Foundation

Johnathan Lansing, Stuart Mayhew, Nicholas Petterssen

Microsoft Expression BlendとMicrosoft Visual Studio C#を使用することで、Electric Rainがどのように.NET 3.5(WPF/WCF)の能力を活用し、その画期的なStandOutのユーザインタフェースを構築したのかについて学んでください。このセッションでは、初期の伝統的なユーザインタフェース概念設計、Blendと.NET 3.0を使った2Dまたは3DのUIプロトタイプ、そして最後には、最終的に賞をとったユーザインタフェース体験の作り方をカバーします。何が有効だったのか(何が有効でなかったのか)、そしてあなた自身の次世代UXプロジェクトに適用できるものを発見してください。

Build "Click to Communicate" into Web Properties Using AJAX and Unified Communications

Chris Mayo

Learn how to a seamless customer service experience by extending your existing Web property with the Unified Communications AJAX SDK to include presence, IM Chat, automated routing capabilities, and more.

Building RESTful Real World Applications with the ADO.NET Data Services Framework

Mike Flasko

Come hear from developers creating real-world applications and user-interface controls on top of the ADO.NET Data Services Framework (aka Project "Astoria"). Learn best practices for building RESTful applications and components,.

Applications = Designers + Developers

Kirupa Chinnathambi, Celso Gomes

すばらしいアプリケーションは、賢いコードが舞台裏で大きな位置を占めているというだけでなく、すばらしいユーザーエクスペリエンスとデザインを露出させてもいます。我々は、Microsoft ExpressionツールとMicrosoft Visual Studioを使用してすばらしいアプリケーションを作成するワークフローを可能な限り例示します。

Effective User Interfaces in Windows Presentation Foundation and Microsoft Silverlight

Peter Chang, Jimmy Kim, Laurence Moroney

Come see how customizable user interfaces were created by extending XAML in a way that integrates various content formats into a single consistent UI. Learn how to build an effective UI, extend XAML, build a Windows Presentation Foundation and Microsoft Silverlight application that can consume extended XAML, and much more.

Getting from A to Z

Brian Kralyevich, Carl Ledbetter

マイクロソフトが非常に競争的な市場の中で新しい製品やブランドを設計し伝えるための中心的な戦略としてどのようにユーザーエクスペリエンスを使っているか学びに来てください。Zune エクスペリエンスの話を聞きに来てください。

Serving Applications with Silverlight Streaming by Windows Live

Remy Pairault

Silverlight Streamingを使って、Microsoft Silverlightのコンテンツとアプリケーションを迅速かつ容易にスケールできるよう配置・配信する方法を学んでください。

Mix 08のセッション一覧 (パート2: 3/6)

2日目は、セッションの合間にSteve BallmerGuy Kawasakiによるキーノートをはさみます。ガイ・カワサキ氏の話を楽しみにしています。
セッションの中では、NovellというかMonoプロジェクトのMiguel de Icazaが参加する「The Open Question」および「Exploring Moonlight」と、ガイ・カワサキが参加する「Social Networks: Where Are They Taking Us?」が興味深いです。

3/6

Real World Design: Working with Silverlight and WPF in the Design Studio

Chris Bernard 他

SilverlightとWPFはデザイナーと開発者とが共に働くための新しい方法を意味します。しかし、開発者よりもデザイナーを雇用し、日常のデザイン業務の多くでPCよりMacを使うことがより重視されている実務においては何が起きるでしょうか?セッションに参加すれば、Tribal、Projekt202、Metaliq、そしてIdentity Mineのような会社に所属する熟練家たちが、ビジュアルデザイナーおよびリッチインタラクティブ開発者たちと協力して、どのようにして学習曲線とワークフローをExpression Studio、XAML、およびSilverlightのスピードに達するように合わせたのかを知ることができます。また、Silverlightがデジタルデザインの実践を可能にしている方法の、課題と恩恵についてのありのまま事実を聞くことになるでしょう。

How Design Impacts the Bottom Line

Will Tschumy 他

良いデザインは良いビジネスですか?顧客たちが、良いデザインでどのように救われたのかについて議論するのを聞いてください:1……低い開発費でより速く市場に参入する 2……収益と、製品またはサービスの保留利益の向上 3……市場占有率の向上。どのようにしてデザインが消費者からビジネスブランドまでの範囲全体における本当の競争力となったかを聞くことになるでしょう。仕事を成し遂げたデザイン専門家たちと、彼らを雇った顧客達とから話を聞きましょう。

What's New in Windows Presentation Foundation 3.5

Rob Relyea

WPF 3.5の大きな新機能について学んでください。サンプルにはアドイン、LINQおよびADO.NET用のデータバインドサポート、インタラクティブ3D、合理化されたアプリケーション配備、高性能アニメーション、その他たくさんのものが含まれていますので、見てください。

Real-World AJAX with ASP.NET

Nikhil Kothari

Dive deep into the new ASP.NET AJAX features and capabilities including patterns covering search optimization, user interface and usability, intuitive navigation, and much more.

Partying with PHP on Microsoft Internet Information Services 7

Drew Robbins

Microsoft IISの上で動かすPHPアプリケーションの長所を発見してください。統合化パイプラインと.NETの機能を利用する方法と、新しいリモート管理ツールを使用する方法を学んでください。

Creating Better User Experiences: Design Strategy

Dan Harrelson, Kim Lenox

このセッションに参加して、効果的なデザイン戦略を確立させ実装するのに必要なツールを入手してください。その戦略はビジネスゴールと対象顧客への魅力とを調和させます。

Integrating Media in Silverlight Applications

Ed Maia

動画再生やメディア表示のプログラムによるコントロールなどの、メディアをMicrosoft Silverlightアプリケーションに組み込む方法を学びに来てください。また、コンテンツの保護と完全性を実現するための適切なワークフローを含んだ、Silverlightの新しいコンテンツ保護機能についても学んでください。

Is Web 2.0 sustainable? What business models will work?

Robert Scoble 他

Web 2.0アプリケーションの構築は簡単で安価です。無料サービスはたくさんのユーザーを引きつけることができます。ですがどうやって金を儲けるのですか?ソーシャルネットワーキングアプリケーションは楽しいし「継続性」があります。ですが持続的な価値を持っていますか?コンテンツ配布関連の最適な社会的ビジネスモデルは何ですか?このパネルではWeb 2.0の勝者と敗者を予測し、広告、フリーミアム(無料とプレミアム価格との組み合わせ)、アフェリエイトマーケティング、電子商取引などのようないろいろなビジネスモデルを調査します。

Monetization 101

Erynn Petersen

Come get an overview of Microsoft's complete advertising platform and hear how it is being built.

Building Great AJAX Applications from Scratch Using ASP.NET 3.5 and Visual Studio 2008

Brad Abrams

Come see a no-slides, code-only presentation that starts with a blank directory and builds a data-driven, AJAX enabled, ASP.NET web application from scratch that implements common AJAX patterns with the rich set of AJAX Control Toolkit, accesses data with LINQ, and implements standards-based styling and layout using CSS and clean HTML. Learn the new features of ASP.NET 3.5 and Microsoft Visual Studio 2008 and how they integrate together to provide the world's most productive web development experience.

The Open Question

Sam Ramji 他

今では誰もがオープンです。しかし、それはユーザーにとって何を意味しますか?オープンとは、どれくらいオープンなのですか?マーケティング運動とオープンとを区別して価値を追加するという特徴を持った考えを業界リーダーたちが共有するのを聞いてください。Microsoft、 Mozilla、Novellなどによるこの議論にご意見をお寄せください。

Microsoft Expression Web: From Comp, to CSS, to Code!

Nishant Kothary, Tyler Simpson

すばらしいブログテンプレートを構築することに主眼を置いた現実のシナリオに基づく実習を通して、Microsoft Expression Webの鍵となる機能を調査してください。話題は、PHPサポート、Photoshopの完成見本をインポートするワークフロー、CSS機能などをカバーします。

Building AOL's High Performance, Enterprise Wide Mail Application With Silverlight 2

Stefan Gal, Eric Hoffman, Marc Katchay

Come join the Rich Internet Application engineering team from AOL and see first-hand how AOL created a rich, scalable mail application using Microsoft Silverlight 2.

Creating Rich, Dynamic User Interfaces with Silverlight 2

Karen Corby

See how to use the Microsoft Silverlight 2 control model to efficiently design and develop custom controls, style existing controls, create control templates, and package your controls for re-use to develop Rich Internet Applications. Also hear about the capabilities for localization and accessibility.

Creating Better User Experiences: Interaction Design

Dan Harrelson, Kim Lenox

このセッションで、調査結果をインタラクション設計概念に変えるフレームワークを開発してください。調査から生データを取得し、プロトタイプになりうるデザイン原則を練り上げる方法を学んでください。

Building Applications and Services with .NET Framework 3.5

Justin Smith

.NET 3.5 WCFの新しいWebフレンドリーな機能により、サービスの範囲をWebブラウザやRSSアグリゲータのようなシンプルなクライアントに広げる方法を見に来てください。

I Wanna Go Mobile!

Michael Platt 他

モバイルコンピューティングの次の波は何ですか?モバイルブラウザーで十分ですか?携帯電話はPCをどのように補完しますか?このパネルはモバイルアプリケーション開発における傾向を調査して、発達するネットワーク接続体験の世界における携帯電話の役割を調査します。

Overview of Microsoft Ad Formats

Alam Ali

Learn about all the innovation involving Microsoft ad products ranging from mobile devices and games to desktops and televisions.

Windows Presentation Foundation Using Microsoft Visual Studio 2008

Mark Wilson-Thomas

このセッションは、XAML、レイアウト、コントロール、リソース、スタイル、データバインディングといったWPFプログラミングモデルのための、Microsoft Visual Studio 2008の中核機能を多く紹介します。Visual Studio 2008を使って、WPFベースのアプリケーションをゼロから構築します。

Touch Me: Where Are Interfaces Going?

Chris Bernard 他

キーボードとマウスは枯れた入力デバイスです。コンピューティングとUXの将来のために、インターフェースはどこに向かいますか?これらで十分ですか?タッチスクリーンのSurface/iPhone/iPod Touchは、単なるギミックですか?Man Machine Interface(MMI)はどこに向かうべきですか?

Social Networks: Where Are They Taking Us?

Guy Kawasaki 他

ソーシャルネットワーキングサイトはいたる所で生まれています。我々はいくつのネットワークを持ちたいのでしょうか?「1つのネットワークは、すべてを統べ」るべきですか?ソーシャルネットワークの未来はどんなものでしょうか?それはどこにでも存在するサイトですか?それはアプリケーションですか?ソーシャルネットワークで金を儲けるプラットフォーム機会とは何でしょうか?

Creating Better User Experiences: Information Architecture

Dan Harrelson, Kim Lenox

このセッションに来てください。そうすれば、Webサイト、イントラネットまたはWebアプリケーションに関わらず、あなたのシステム内のコンテンツ、機能、データを我々が分析します。コンテンツの異なる部分がどのように互いに関連があるかについて説明するモデルを作成する方法を学んでください。いくつかの異なる分類方法の長所と欠点を学んでください。メタデータとタグ付けをどれくらい使用することができますか?タクソノミー(分類学)とフォークソノミーと語彙とシソーラスの正確な違いは何ですか?

The Business of Microsoft Silverlight

Danny Riddell

このセッションでは、Silverlightの準備ができている組織を増やす方法やクライアントにSilverlightを売り込む方法といった、Microsoft Silverlightのビジネス面を議論します。現在のワークフローを最適化して、チームを立ち上げ、Silverlightへの投資から収益を得る方法を学んでください。Silverlight 1.0と2.0の違いがどのようにビジネスと要員の戦略に影響を及ぼすかについて学んでください。

Everything You Need to Know about Diagnostics and Debugging on Microsoft Internet Information Services 7

Mai-lan Tomsen Bukovec

Microsoft IIS7上の有名なアプリケーションフレームワーク(ASP.NETや古典的なASPやPHP)を速くデバッグして直す方法を学んでください。このセッションでは、ヘルスモニタリングの基礎と、問題を速く解決するために開発者が知っているべきいくつかのこつや小技をカバーします。

Tools and Applications for Publishers

Rishi Bal

Learn about Microsoft ad tools and how they can be used by software publishers and agencies to develop a variety of ad publishing products and services.

Virgins, Spaceships and Hob-nailed Boots!

Paul Dawson

エクスペリエンスデザインは、どのビジネスにおいても"Web世界"より広くあるべきです。事例研究としてバージンとハロッズのような有名なブランドを使用して、すべての顧客インタラクションに影響を与えるエクスペリエンス アーキテクチャを作る方法や、すばらしいオフラインの顧客体験をデジタルメディア内に流入させる方法を学びます。

E-commerce Done Right

Nicholas Rockwell 他

会社は、自社のコンテンツを宣伝するすばらしいデジタル体験を提供するよう努力しています。我々は、エクスペリエンスを強化することがコンテンツを売る新しい道を開くという新しい流れの中にいるのです。Eコマース会社は、顧客プライバシーやセキュリティやワンクリックの便利さの間で苦しい妥協もしています。正しい選択をすれば、あなたの事業はオンラインの金鉱になる可能性があります。世界で最も成功した会社のいくつかがどのようにこれらの難しい決定をしたか、そして、新技術がその方程式をどのように変える可能性があるかを学んでください。

Developing Applications with Microsoft Virtual Earth

Chris Pendleton

アプリケーションに、Microsoft Virtual Earthの世界中の地図と航空写真データを2次元または3次元環境で取り入れる方法を学んでください。

Developing ASP.NET Applications Using the Model View Controller Pattern

Scott Hanselman

モデル・ビュー・コントローラ(MVC)パターンを使うことで、好きな.NET Framework 言葉を利用して、ビジネスロジックをデータの見せ方から分離して記述する方法を学んでください。

Exploring Moonlight: Novell's Implementation of Silverlight on Linux

Miguel de Icaza

Come experience .NET on Linux. Learn how to develop and deploy Microsoft Silverlight and cross platform server applications using Moonlight.

Creating Better User Experiences: Design Methods

Dan Harrelson, Kim Lenox

ビジネス状況を診断したり、強力な結果をデザインするプロセスの正しいステップを選んだりする能力を向上させるために、ぜひ参加して、インタラクション設計方法やツールや技法の概観を調べてください。我々は、あらゆる技法から自由にマッピングして注意深く選び出す手段を提供します。

Silverlight as a Gaming Platform

Joel Neubeck

Come learn how Microsoft Silverlight was used to create Tunnel Trouble, an online game built using Silverlight 2. This session covers concepts of using Silverlight technologies and tools to build game boards, animations, collision logic, game loop logic, integrating media into game play as well as integrating with web services and being more efficient with managed code.

Mix 08のセッション一覧 (パート1: 3/5)

ラスベガスで開催されるMix 08に参加できることになりました。
セッション概要を日本語にしてみます。
初日である3/5は、Ray Ozzie, Scott Guthrie, Dean Hachamovitchによるキーノートがあって、そのあとはセッションやパネルディスカッションがあります。
セカンドファクトリーの東賢氏が「Making it Simple: Designer/Developer Workflow」というパネルディスカッションと、「Internationalizing XAML Applications in Windows Presentation Foundation and Microsoft Silverlight」という技術セッションに参加されるそうです。

3/5

What Is the face of the next Web?

Chris Bernard 他

Web 2.0は、伝統的なHTML/JSブラウザーの限界を突破するための革新的なテクノロジー活用法によって、ほとんど一晩で現れました。でも次には何が来ますか?次のWebの代表は何ですか?ユーザーインタラクションとエクスペリエンスの期待とは何ですか?モバイルウェブについてはどうですか?

The Human Brain Relationship: Advanced and Adaptive User Interfaces

Ya'akov Greenshpan, Yochay Kiriaty

我々の認識能力にマッチする柔軟で適応可能なUIを作るために、WPFがどのように使えるかを学びに来てください。「初心者には難しすぎて、プロには簡単すぎる」という問題を解決するUIを作る方法を学んでください。適応可能なUIを使って本当に効率的な UXを作るには何が必要かについて突き止めてください。そして、そのパラダイムを実装する本当の製品レベルアプリケーションをご覧ください。

Opportunities and Challenges in Mashing Up the Web

Sam Ramji 他

たくさんの異なるベンダーが、プラットフォームを構築しうるたくさんの異なるテクノロジーを提供しています。Web 1.0とWebサービスは相互運用問題で苦しみました。同じ間違いを避けるために、我々は次世代Webのデザイナーや開発者として何ができるでしょうか?我々にはどんな標準が最適ですか?JSONは我々のデータに関するニーズを満たしますか?HTTPで十分なのでしょうか?

Working with Data and Web Services in Microsoft Silverlight 2

Eugene Osovetsky

あなたのMicrosoft Silverlight マッシュアップアプリケーションでPOX、REST、RSS、ATOM、JSON、そしてSOAPを活用することがどれくらい簡単かについて学んでください。どんなフォーマットが使われていても、どこに配置されていても、どうやって構築されていてもです。

From Flash to Silverlight: A Rosetta Stone

Rick Barazza

Come learn how Cynergy Systems has been translating skills in Flash/Flex development to Microsoft Silverlight 2 with an eye for great design. Learn how to create custom animation techniques, apply popular Flash tricks to Silverlight, and more.

Getting Clued In to Experience Management

Lou Carbone

エクスペリエンス マネジメント社の指導者であり創始者であるLou Carboneは「エクスペリエンスの手掛かり」を管理することを勧めます。なぜなら、意識的にせよ無意識的にせよ手掛かりは感情に影響を及ぼし、その感情が顧客の振る舞いを左右する顧客態度を形づくるからです。彼は、我々の仕事を産業時代における「作って売る」というアプローチから、「感じて反応する」というものに適応させる必要があると強調します――これは新しいフレーミングと能力を必要とするダイナミックな変化です。彼は、組織的なデザインとエクスペリエンスの届け方をどのように成し遂げるられることができるのか、そして、顧客価値や、忠誠や、最終損益に対する巨大な影響について議論します。

Developing Data Driven Applications Using ASP.NET Dynamic Data Controls

David Ebbo

ASP.NET動的データコントロールを使って、複雑なデータによるASP.NETアプリケーションを簡単に作成する方法を学んでください。

Making it Simple: Designer/Developer Workflow

Christian Schormann 他

デザイナーの展望と製品ソフトウェアの要件とをどのように結び付けますか?左脳/右脳の仕事の流れは洗練された問題であり、我々みんなに衝撃を与えるけれども簡単な答えがありません。業界の専門家たちは、経験を共有し、異なるアプローチのメリットとコストに関する活発な議論に参加しようとあなたを誘います。

Developing with Windows Live

Angus Logan

ストリーミングメディア、メッセージング、ストレージ、プレゼンス、認証などを可能にするAPIを含むWindows Liveプラットフォームの能力を最大限に活用した、動的でインタラクティブなアプリケーションを構築する方法を学んでください。また、より簡単に Windows LiveサービスをASP.NETアプリケーションに統合できる、Windows Live Tools for Microsoft Visual Studioの使用法を学んでださい。

Understanding Microsoft Partner Programs for Designers, Developers, and Agencies

Hakan Soderbom, Bill Vlandis

Come learn about the partner programs that Microsoft has to offer designers, developers, and agencies to help more quickly grow their businesses. Hear how any size organization, ranging from small startups to large international companies, can benefit from Microsoft Partner Programs.

What's the Secret Formula?

Daniel Makoski 他

我々は、音速より速く移動する飛行機や、小さな町にも似た船や、人々を月へ運ぶロケットや、どこでも持ち歩ける電話機を生み出してきました。しかし、いつでもよく見えて、よく思えて、実際に機能するソフトウェアを生み出してこなかったのはなぜでしょうか?それは、比べてみれば簡単なはずではありませんか?すばらしいソフトウェアを構築するための秘密の方程式はあるのでしょうか?

Encoding Video for Microsoft Silverlight Delivery Scenarios

Ben Waggoner

利用している配信およびインフラの限定された方式に依存しない、動画エンコーディング品質の最適化方法を学んでください。詳細なシナリオでは、段階的ダウンロードや、ストリーミングや、自己ホスティングや、Windows Live Silverlightストリーミングや、サードパーティのコンテンツ配信ネットワーク(CDNs)用に動画エンコーディング品質を最適化する方法を扱います。

Building Rich Internet Applications Using Microsoft Silverlight 2, Part 1

Mike Harsh, Joe Stegman

Microsoft Visual Studioを使ってアプリケーションを作成する方法、XAMLマークアップとコードを使用してUIを作る方法、カスタムコントロールを構築する方法、Webサービスからデータを検索する方法、そしてXMLとLINQでデータを操作する方法を学んでください。(パート1、全2回)

Creating a RESTful API with Windows Communication Foundation

Viphak Lay, Haider Sabri, Paul Walker

MySpaceが1日あたり何百万ものリクエストを処理する大きいRESTful API基盤を、WCFと.NET 3.5を使ってすばやくスケールアップした方法を学んでください。

From Long Tail to Fuzzy Tale: Why "Fuzzy" Is the New Clear

David Armano

ゼネラリストと専門家が「2.0」の世界でペースを維持しながら一緒に働く新しい方法を捜しながら、「ファジーテール」を使うことで、横断分野的なチームが概念、設計、および開発のプロセスにおいてどのように混ざり合うのかを聞きに来てください。このプレゼンテーションでは、この種の専門的な生態系にとって不可欠な、ある思考法と態度を議論します。事例研究をいくつか概説し、プレゼンテーションの後で対話を開始します。ロングテールがwhatであるとすれば、ファジーテールはまさにwhyかもしれません。

Advanced Search Engine Optimization: Generating More Site Traffic from Search

Nathan Buggia

Come learn how to use search to drive significantly more traffic to a site including the top ten best practices for designing and developing a site for search engine optimization (SEO).

Designing at the Speed of Light

Daniel Makoski 他

あなたの顧客は、新しいビジネスソリューションのために画期的なデザインを必要とします――昨日までは。高級なデザインを速く届ける秘訣は何ですか?正確なプロジェクト見積もりとプロセスは手助けになりますが、本当の答えはしばしば判断が困難なスコープと資源の決定から生まれます。彼ら専門家が実在のプロジェクトで採った様々な決定を聞いてください。購入vs開発や、強いインテグレータなのかインテグレータなしなのか、などといったパラメータにおけるあなたの考えを持って参加してください。

Bringing Hosters and Developers Together with IIS7

Robert Cameron, Tito Leverette

Come learn about all the great new features in Microsoft Internet Information Services 7 for hosters and web farm managers including creating a highly customizable environment for building scalable and reliable ASP.NET applications.

Web 2.0 and Beyond: What Is the Business Reality?

Frank Arrigo 他

Web 2.0とサイトのあちら側(それを取り囲むテクノロジー群の上に築き上げられる)は間違いなくクールですが、疑問は残ります:それでどうすれば金を儲けることができますか?有名なWeb 2.0会社がこの素晴らしき新世界での収益モデルを討議しますので、参加してください。

Internationalizing XAML Applications in Windows Presentation Foundation and Microsoft Silverlight

Ken Azuma 他

国際化されうるアプリケーションの構築において、デザイナー/開発者のワークフローをどのように使い管理することができるかを学んでください。このセッションは日本でWPFとMicrosoft Silverlightアプリケーションを構築するという実例に基づいています。しかし、概念はすべての国際化アプリケーションにあてはまります。

Building Rich Internet Applications Using Microsoft Silverlight 2, Part 2

Mike Harsh, Joe Stegman

Microsoft Visual Studioを使ってアプリケーションを作成する方法、XAMLマークアップとコードを使用してUIを作る方法、カスタムコントロールを構築する方法、Webサービスからデータを検索する方法、そしてXMLとLINQでデータを操作する方法を学んでください。(パート2、全2回)

RESTful Data Services with the ADO.NET Data Services Framework

Pablo Castro

ADO.NETデータサービスフレームワークを使って、Web上のRESTデータサービスを容易に作成したり利用したりする方法を学んでください。このセッションでは、ADO.NETデータサービスフレームワーク(別名、プロジェクト「アストリア」)の中心概念をカバーし、利用方法を紹介し、Windows Liveやサードパーティのサービスとの共通インタフェースというマイクロソフトの広範なビジョンとともに利用する方法を議論します。

The Back of the Napkin: Solving Design Problems (and Selling Your Solutions) with Pictures

Dan Roam

現実を直視しよう:ユーザーエクスペリエンスを記述することは難しいです……絵を使わない限り。このセッションは、芸術的な才能もトレーニングもなしに、単純な絵を使って複雑なデザインと技術的な概念を記述し、微妙な問題を解決し、他人に革新的な考えを受け入れさせる方法について、段階的に示します。

2008年2月22日金曜日

世界のナベアツのブログパーツ

各種リソースはホストURLから相対参照できるものしかアクセスできなさそうなので、ブログに簡単に貼り付けたいのならiframeを使うしかなさそう。


2008年2月21日木曜日

Silverlightで世界のナベアツ時計

世界のナベアツ
世界のナベアツSilverlightで作ってみた。(これほんとにMacでも動くのか?)
秒を数える(音が出る)のだが、3の倍数と、3がつく秒数の時にアホになる。
(追記)Moonlightで動かしてみた人がいますね。
あまり興味のない人は知らないかもしれないけど、SilverlightはJavascriptとXAMLファイルがあればアプリを作れる。(複雑なベクタグラフィクスを表現するXAMLはツールで生成したいところだが……)

JavaScriptはこんな感じでいい。ロジックと音声ファイルを変えればFizzBazz時計になるね。

function createSilverlight()
{
Silverlight.createObjectEx({
source: 'Nabe.xaml',
parentElement: document.getElementById('SilverlightPlugInHost'),
id: 'SilverlightPlugIn',
properties: {
width: '400',
height: '400',
background:'#ffffff',
isWindowless: 'false',
version: '1.0'
},
events: {
onLoad: startClock
},
context: null
});
}
function startClock()
{
setInterval(count,1000);
}
function onEnd(sender, args)
{
sender.Stop();
}
function count()
{
var d = new Date();
var ag = document.getElementById('SilverlightPlugIn');
ag.content.findName("time").Text = getTime(d);
var sec = d.getSeconds();
var sound = ag.content.findName("s" + sec);
sound.Play();
if (isAho(sec)) {
ag.content.findName("aho").Begin();
}
}
function getTime(d)
{
var h = d.getHours();
if (h < 10) h = "0" + h;
var m = d.getMinutes();
if (m < 10) m = "0" + m;
var s = d.getSeconds();
if (s < 10) s = "0" + s;
return h + ":" + m + ":" + s;
}
function isAho(sec)
{
if (sec % 3 == 0) return true;
return (("" + sec).indexOf("3") >= 0)
}


XAMLはこんな感じ。音声ファイルの宣言がみっともないけど。

<Canvas
xmlns="http://schemas.microsoft.com/client/2007"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Canvas.Resources>
<Storyboard x:Name="aho">
<DoubleAnimationUsingKeyFrames
Storyboard.TargetName="face1" Storyboard.TargetProperty="Opacity">
<DiscreteDoubleKeyFrame Value="0" KeyTime="0:0:0"/>
<DiscreteDoubleKeyFrame Value="1" KeyTime="0:0:0.4"/>
</DoubleAnimationUsingKeyFrames>
<DoubleAnimation BeginTime="0:0:0" Storyboard.TargetName="rotate"
Storyboard.TargetProperty="Angle" From="0" To="45" Duration="0:0:0.2" AutoReverse="true"/>
</Storyboard>
</Canvas.Resources>
<Canvas Width="400" Height="550">
<Canvas.Background>
<ImageBrush ImageSource="image/bg.png" />
</Canvas.Background>
<Image x:Name="face2" Source="image/face2.png"
Width="160" Height="216" Canvas.Left="120" Canvas.Top="5">
<Image.RenderTransform>
<RotateTransform x:Name="rotate" Angle="0" CenterX="50" CenterY="180" />
</Image.RenderTransform>
</Image>
<Image x:Name="face1" Source="image/face1.png"
Width="160" Height="216" Canvas.Left="120" Canvas.Top="5"/>
<TextBlock x:Name="time" FontWeight="Bold" Text="00:00:00"
TextWrapping="NoWrap" Foreground="Black" FontSize="80" Canvas.Left="20" Canvas.Top="200"/>
<MediaElement x:Name="s0" Source="sound/s00.mp3" AutoPlay="false" MediaEnded="onEnd"/>
<MediaElement x:Name="s1" Source="sound/s01.mp3" AutoPlay="false" MediaEnded="onEnd"/>
<MediaElement x:Name="s2" Source="sound/s02.mp3" AutoPlay="false" MediaEnded="onEnd"/>
<MediaElement x:Name="s3" Source="sound/s03.mp3" AutoPlay="false" MediaEnded="onEnd"/>
<MediaElement x:Name="s4" Source="sound/s04.mp3" AutoPlay="false" MediaEnded="onEnd"/>
<MediaElement x:Name="s5" Source="sound/s05.mp3" AutoPlay="false" MediaEnded="onEnd"/>
<MediaElement x:Name="s6" Source="sound/s06.mp3" AutoPlay="false" MediaEnded="onEnd"/>
<MediaElement x:Name="s7" Source="sound/s07.mp3" AutoPlay="false" MediaEnded="onEnd"/>
<MediaElement x:Name="s8" Source="sound/s08.mp3" AutoPlay="false" MediaEnded="onEnd"/>
<MediaElement x:Name="s9" Source="sound/s09.mp3" AutoPlay="false" MediaEnded="onEnd"/>
<MediaElement x:Name="s10" Source="sound/s10.mp3" AutoPlay="false" MediaEnded="onEnd"/>
<MediaElement x:Name="s11" Source="sound/s11.mp3" AutoPlay="false" MediaEnded="onEnd"/>
<MediaElement x:Name="s12" Source="sound/s12.mp3" AutoPlay="false" MediaEnded="onEnd"/>
<MediaElement x:Name="s13" Source="sound/s13.mp3" AutoPlay="false" MediaEnded="onEnd"/>
<MediaElement x:Name="s14" Source="sound/s14.mp3" AutoPlay="false" MediaEnded="onEnd"/>
<MediaElement x:Name="s15" Source="sound/s15.mp3" AutoPlay="false" MediaEnded="onEnd"/>
<MediaElement x:Name="s16" Source="sound/s16.mp3" AutoPlay="false" MediaEnded="onEnd"/>
<MediaElement x:Name="s17" Source="sound/s17.mp3" AutoPlay="false" MediaEnded="onEnd"/>
<MediaElement x:Name="s18" Source="sound/s18.mp3" AutoPlay="false" MediaEnded="onEnd"/>
<MediaElement x:Name="s19" Source="sound/s19.mp3" AutoPlay="false" MediaEnded="onEnd"/>
<MediaElement x:Name="s20" Source="sound/s20.mp3" AutoPlay="false" MediaEnded="onEnd"/>
<MediaElement x:Name="s21" Source="sound/s21.mp3" AutoPlay="false" MediaEnded="onEnd"/>
<MediaElement x:Name="s22" Source="sound/s22.mp3" AutoPlay="false" MediaEnded="onEnd"/>
<MediaElement x:Name="s23" Source="sound/s23.mp3" AutoPlay="false" MediaEnded="onEnd"/>
<MediaElement x:Name="s24" Source="sound/s24.mp3" AutoPlay="false" MediaEnded="onEnd"/>
<MediaElement x:Name="s25" Source="sound/s25.mp3" AutoPlay="false" MediaEnded="onEnd"/>
<MediaElement x:Name="s26" Source="sound/s26.mp3" AutoPlay="false" MediaEnded="onEnd"/>
<MediaElement x:Name="s27" Source="sound/s27.mp3" AutoPlay="false" MediaEnded="onEnd"/>
<MediaElement x:Name="s28" Source="sound/s28.mp3" AutoPlay="false" MediaEnded="onEnd"/>
<MediaElement x:Name="s29" Source="sound/s29.mp3" AutoPlay="false" MediaEnded="onEnd"/>
<MediaElement x:Name="s30" Source="sound/s30.mp3" AutoPlay="false" MediaEnded="onEnd"/>
<MediaElement x:Name="s31" Source="sound/s31.mp3" AutoPlay="false" MediaEnded="onEnd"/>
<MediaElement x:Name="s32" Source="sound/s32.mp3" AutoPlay="false" MediaEnded="onEnd"/>
<MediaElement x:Name="s33" Source="sound/s33.mp3" AutoPlay="false" MediaEnded="onEnd"/>
<MediaElement x:Name="s34" Source="sound/s34.mp3" AutoPlay="false" MediaEnded="onEnd"/>
<MediaElement x:Name="s35" Source="sound/s35.mp3" AutoPlay="false" MediaEnded="onEnd"/>
<MediaElement x:Name="s36" Source="sound/s36.mp3" AutoPlay="false" MediaEnded="onEnd"/>
<MediaElement x:Name="s37" Source="sound/s37.mp3" AutoPlay="false" MediaEnded="onEnd"/>
<MediaElement x:Name="s38" Source="sound/s38.mp3" AutoPlay="false" MediaEnded="onEnd"/>
<MediaElement x:Name="s39" Source="sound/s39.mp3" AutoPlay="false" MediaEnded="onEnd"/>
<MediaElement x:Name="s40" Source="sound/s40.mp3" AutoPlay="false" MediaEnded="onEnd"/>
<MediaElement x:Name="s41" Source="sound/s41.mp3" AutoPlay="false" MediaEnded="onEnd"/>
<MediaElement x:Name="s42" Source="sound/s42.mp3" AutoPlay="false" MediaEnded="onEnd"/>
<MediaElement x:Name="s43" Source="sound/s43.mp3" AutoPlay="false" MediaEnded="onEnd"/>
<MediaElement x:Name="s44" Source="sound/s44.mp3" AutoPlay="false" MediaEnded="onEnd"/>
<MediaElement x:Name="s45" Source="sound/s45.mp3" AutoPlay="false" MediaEnded="onEnd"/>
<MediaElement x:Name="s46" Source="sound/s46.mp3" AutoPlay="false" MediaEnded="onEnd"/>
<MediaElement x:Name="s47" Source="sound/s47.mp3" AutoPlay="false" MediaEnded="onEnd"/>
<MediaElement x:Name="s48" Source="sound/s48.mp3" AutoPlay="false" MediaEnded="onEnd"/>
<MediaElement x:Name="s49" Source="sound/s49.mp3" AutoPlay="false" MediaEnded="onEnd"/>
<MediaElement x:Name="s50" Source="sound/s50.mp3" AutoPlay="false" MediaEnded="onEnd"/>
<MediaElement x:Name="s51" Source="sound/s51.mp3" AutoPlay="false" MediaEnded="onEnd"/>
<MediaElement x:Name="s52" Source="sound/s52.mp3" AutoPlay="false" MediaEnded="onEnd"/>
<MediaElement x:Name="s53" Source="sound/s53.mp3" AutoPlay="false" MediaEnded="onEnd"/>
<MediaElement x:Name="s54" Source="sound/s54.mp3" AutoPlay="false" MediaEnded="onEnd"/>
<MediaElement x:Name="s55" Source="sound/s55.mp3" AutoPlay="false" MediaEnded="onEnd"/>
<MediaElement x:Name="s56" Source="sound/s56.mp3" AutoPlay="false" MediaEnded="onEnd"/>
<MediaElement x:Name="s57" Source="sound/s57.mp3" AutoPlay="false" MediaEnded="onEnd"/>
<MediaElement x:Name="s58" Source="sound/s58.mp3" AutoPlay="false" MediaEnded="onEnd"/>
<MediaElement x:Name="s59" Source="sound/s59.mp3" AutoPlay="false" MediaEnded="onEnd"/>
</Canvas>
</Canvas>

2008年2月16日土曜日

ASP.NET MVCのソースコードを公開

オライリー社のブログより。
Listen: 顧客の言うことに耳を傾ける.
Understand: 顧客の言うことを理解しようと努める.
Respond: 顧客の言うことがもっともだったらちゃんと検討する.
Repeat: 顧客の言うことに耳を傾け、理解し、応答することを続けていく.

LLUR原則に従う: まずい例

PM : FooBar プロジェクト : アクの帝国

「弊社のバグ入り製品のせいで貴プロジェクトにご迷惑をおかけして大変申し訳ございません。 これを修正することになった時にはサービスパックを提供させていただきますが、その場合におきましてもいつになるかはお約束いたしかねます。 ていうかどうすりゃいいってのよ。うちのリソースだって【限られて】るってのに!」

顧客 : BarBaz プロジェクト : 俺たちスタートアップ企業、アクじゃないよ(今のところは)

「ソースをくれるなら俺たちで直せるかもしれないんだけど」

PM : FooBar プロジェクト : アクの帝国

「ぶわっはっはっはーー!!!ちょ、マジかよ!!うひゃうひゃ、ひー苦しい!!死ぬるー!!:D :D :D」

LLUR原則に従う: 良いすばらしい

ASP.NET MVC Framework Road-Map Update - ScottGu's Blog

次のプレビュー版と同時に、ASP.NET MVC FrameworkのソースコードをVSでビルドできるプロジェクトソリューションの形でダウンロードできるようにしようと思う。これでASP.NET MVC Frameworkのソースコードを簡単に確認できるし、デバッグもできるようになる。 開発しているアプリでバグを見つけたときにASP.NET MVC Frameworkのソースコードにパッチを当てられるライセンスも一緒につけるつもりだ。

そのライセンスではASP.NET MVCにパッチを当てて再配布することはできない(ASP.NET MVCの互換性のないバージョンが複数出回って衝突しあうのを避けたいんだ)。でも今すぐASP.NET MVCのアプリケーションを作ろうと思っている開発者には進展だろう――それに、回避できない内部的なバグに邪魔されることを心配しなくてもよくなる。

2008年2月15日金曜日

デブサミ2日目とプログラミングモデル

波村さんセッションについて書きたい。あとで書く。
以下備忘録。

  • 技術用語の日本語対訳がときどきわからない波村さん。「モータイ(multi)……」と言いかけて、「複数スレッド」と言いなおしてた。

  • 非手続き型言語 http://ja.wikipedia.org/wiki/%E9%9D%9E%E6%89%8B%E7%B6%9A%E3%81%8D%E5%9E%8B%E8%A8%80%E8%AA%9E

  • テストコードにはWhat, ソースコードにはHow, そして,ドキュメントにはWhyを書くんだよ! http://d.hatena.ne.jp/babie/20060611/p2

  • 唇には火の酒、背中に人生を。ごめん、冗談。

  • LINQとかDSLとか図解型とか

  • 確かに意図は読みやすくなるけど、内部動作がブラックボックスになっちゃうと嫌だよね。

  • 折り合いの行方は。

  • ついでに初日最後の言語セッションの話も書くか?なぜLINQなのかとか、list comprehensionにしなかったわけは、とか、そんな話してたな。(追記)TKMRblogにログがあがってます。感謝!

アジャイル・プラクティスのPOP

木下さんのブログに写真が上がってます。


unquoteを書かないのはtumblr式ですね。

Joel On Developers Summit 2008

dankogaiがひげぽんの日記だけを読んで適当に書き散らしている。セッション聴いてたけどあんなニュアンスじゃなかったと思う。 気になったのでメモから再構成してみよう。 (追記)まさにこれが言いたかったこと。 (追記2)これだけ細かいレポートが出てきたならもう書くこともないかも…… (追記3)ますますのログを参考に、細かい部分を追記。

朝一番だったが、比較的小さい会場が大入り満員。大会場でも良かったのでは?

Joel登場。

一日中セッションを聞いてるだけだと退屈だろうから【ヴィクトリア・ベッカムの写真をどーん】。僕は性差別主義者じゃないからね【デイヴィッド・ベッカムの半裸写真もどーん】。

ベッカムがLAギャラクシーに移籍したわけだけど、まあすごい人気だ。でもそこまで騒がれるほどの選手か?たとえばLAギャラクシーにはドノヴァンというとてもいい選手がいる(注:W杯アメリカ代表)が、そこまでの人気は無いし、契約金だってずっと安い。ベッカムは年俸600万ドル、ドノヴァンはユニフォームを気軽に破けるぐらい。

Googleで試す。ベッカムは800万件Hit、ドノヴァンは80万件hit。これはつまり、ベッカムがiPodだとしたら【iPodの写真】、ドノヴァンはZuneだ【Zuneの写真】ってこと。iPodはBlue Chip(一級品)で、ZuneはOff Brand(二級品)。この差はどこからくるんだ?

Blue ChipOff Brand
iPodZune
David BeckhamLandon Donovan
Victoria BeckhamMelanie Brown
Hey JudeLove Is Blue

ポッシュ・スパイスもいまやベッカム夫人だ。 (注:スパイスガールズ時代はヴィクトリアよりメルBの方が人気があった)

ポールモーリアの恋は水色【曲を流す】が2位だったときの1位がHey Judeだ【曲を流す】。

Blue Chipになるための方程式を考えたんだ。

  • Make People Happy (人を幸せにする)
  • Think About Emotions (感情を考慮)
  • Obsess Over Aesthetics (美学にこだわる)

そんなに長く考えて出した理論じゃないので深く考えないで欲しい。順番に説明しよう。

Make People Happy

たとえば、会社に向かう最中にかわいい猫を見かけて写真を撮ったとする【猫の写真】。ああ、もちろん犬でもいい【犬の写真】。猫アレルギーの人はね。会社に行く前にはスタバでコーヒーを買っていく。Venti(注:グランデより大きい)、通称おもらしサイズ。で、会社のデスクに座り、PCにファイルをコピーしようとしたとする。ここからはPowerPoint上でシミュレートしてみよう。ログイン:失敗。また失敗。あ、CAPSLOCKがかかってた。ログイン成功。さーてUSBでつなごうか…の前に、WindowsXP自動更新のバルーン。みんな自動インストールなんて絶対選ばないよね。カスタムインストール。なるほどね、MS**-**の脆弱性か。Webで確認したけど、何かわかんないけど危険なんだろう。全部インストール。ダウンロード中……コネクションが切れちゃった。再度ダウンロード。インストール中……100%になったはずのバーがふたたび0%に。インストーラの開発者は100%の意味を勘違いしているね。設定中……レジストリ更新中……ああ終わった。再起動しろ?はいはいしょうがないね。リブートして、USBをつなぐ。ん?ドライバがないからWindows CDをセットしろ?こういうのをプラグ&プレイっていうんだね。WindowsのCDなんて手元に無いよ。情報システム部まで行ってCDを借りてくる。NG。ビジネスエディションじゃなくてプロフェッショナルエディションじゃないとだめみたいだ。情報システム部はMSDNサブスクリプションからファイルをダウンロードして、CDに焼いてくれた。これでOK。さてCDトレイをオープン……うわ、コーヒーこぼした!あちち!拭かなきゃ!どたばたしてUSBケーブルを引っこ抜くと、Windowsに怒られる。おいテメエ、俺の許可なしにUSBケーブルを抜くんじゃねえ、このとんま!

……もちろんこの通りのメッセージが出るわけじゃないけどね。つまり、デジカメの写真をコピーしたいだけなのに、PCの管理者として振舞わなければならないんだ。

Onionというジョークサイトにあったんだが、「このコンピュータは絶対私のことを嫌いなんだ!」という記事。もちろんPCにしてみれば「ああ、俺はお前が嫌いだよこのビッチ!」だね。

学習性無力感 (Learned Helplessness)という言葉がある。うまくいかないことが続くと、楽しくなくなるし、嫌いになるし、鬱になる。幸せな気分には、ものごとを自分でコントロールできているという体験が必要なんだ。

たとえばアバクロのECサイト。かっこいい写真。アバクロの服を着ると彼女ができるというメッセージだね。この購入プロセスは一般的なものだ。ウィザード。番号どおりに進む。カート、配送先、精算、完了。ところがamazonはそうではない。すべてが表示されていて、そのどこでも好きな順序で変更できる。これがコントロール可能ということだ。

コントロールしたときはフィードバックが無いといけない。アバクロの別の例を見てみよう。男性用下着。色を選ぶと、(JavaScriptで)瞬時に画像が切り替わる。このフィードバックにどのぐらいの時間がかかっている?ゼロ秒だ。フィードバックのためには1秒でも遅い。ゼロ秒であるべきだ。

Think About Emotions

感情を無視できない。

SUVは事故が多いんだ。重心が高いと転倒しやすい。トヨタのカムリ(注:詳細忘れた)とフォードのエクスプローラー(注:詳細忘れたがSUV)を比べてみると、事故件数が倍ぐらいある。データに現れているし、ユーザーも知っている。これをなんとかしなきゃと、フォードはコンサルタントを雇ってアドバイスをもらった。彼の答えは「丸くしろ、ドリンクホルダーをつけろ、高くしろ」というもの。

高くしたら安全じゃなくなるだろうとツッコみたいが、彼の答えはこうだ。深層心理的にどう感じるかが問題なんだ。小さいころ、安全ってどういうことだった?親の胸に抱かれて、いつも温かい飲み物があって……そういう感じを演出しないといけない。だから、丸くし、ドリンクホルダーをつけるんだ。高くすることは一見矛盾に感じるかもしれない。ユーザーも、高い車は危険だというデータは知っているのだが、深層心理的には高いところにいて、周りを見下ろせる状態の方が安全と感じるようだ。したがって座席を高くする方がいい。

というわけで、Windows2000のデザインは角ばっていたが【画像】、WindowsXPのスタイルは丸みを帯びたものになった【画像】のは、「Secure By Design」(設計時のセキュリティ確保)ってやつなんだろうね(笑)

Obsess Over Aesthetics

ぼくはSamsungのBlackJackを使っている。これは99ドルで、フルキーボードだし、ネットワークも高速(HSDPA 7.2Mbps)だし、バッテリーも交換できる。一方、iPhoneを見てみる。399ドル。キーボードはない。指紋がベタベタついてしまう(笑)。ネットワークは遅い(EDGE 0.7Mbps)。画像を表示させるシミュレーションをしてみようか。BlackJackならこのようにサクっと。iPhoneはじわじわじわじわ……あ、止まってしまったね(笑)。アプリケーションだって、BlackJackはなんでもインストールできるけど、iPhoneは無理。それにバッテリーが交換できない。バッテリーが交換できるってのはどういうことか。BlackJackの背面はこのとおり【写真】、継ぎ目がある。iPhoneはご承知の通り、まったく継ぎ目がない【写真】。これがアップルの美学なんだね。

建築にたとえようか。これがパリのアパルトマン【写真】。で、同時代に立てられたアメリカのアパートはこちら【写真】。何が違うか分かる?そう、非常階段だ。アメリカの建築にはあるけど、フランスの方にはない。これじゃ火事の時に逃げられないね。でも焼け死んでいくときにも「ああ、美しいものに囲まれている……」と思えるんだ(笑)。それがフランス人の美学なのかもしれない。だから僕は思うんだけど、スティーブ・ジョブズはフランス人なんじゃないかって【ジョブズの写真にベレー帽をかぶせるアニメーション】。

物事にはスキンとはらわたが存在する【氷山の写真】。スキンは氷山のてっぺんで、はらわたは見えない部分。技術者ははらわたの方が大事だから頑張って実装する。

とある顧客にやったプレゼンで、グラフの部分はこんな感じ【Excelのデフォルトっぽいグラフ】だったんだけど、顧客は納得しなかった。再度プレゼンをするときには、グラフを少し変えた【グラデーションつき、フォントも変えた】ら、「すばらしい」と受け入れてもらえた。技術者にしてみればそんなのは違わないって思うけど、そうじゃないんだね。

ただ建築の方には「モダン・アーキテクチャ」という動きもある。さっきみたいな装飾をなくした建築だ。これがその例【写真。装飾の全くない壁、窓は四角い枠だけ、幾何学的、ミニマリズム】。屋根は傾斜もなくってまっ平ら。でもこれだと大雪が降ったときに屋根がつぶれてしまうんだね。これじゃ困るんで、傾斜は一方向だけならオッケーってことになった【写真】(笑)。

これをソフトウェアでやろうとするとどうなるか。機能重視で装飾が一切ない。そう、CLIだ【Unixのターミナルの画像】(笑)。でもこれは人々にはあまり受け入れられない。人々に受け入れられるのはこんなユーザーインターフェース【Mac OSの画像】。これは装飾ばかりだね。何でボタンがつやつやしてる必要がある?(笑)ここの影には何の意味が?(笑)でもソフトウェアではこういうものが好まれるわけで、建築の世界のような域には行ってない。ソフトウェアの世界では、装飾はまだまだ飽きられていないんだ(笑)。

最後にちょっとまとめよう。今日はこの言葉だけを覚えて帰って欲しい。Misattribution(誤帰属)という心理学用語だ。自分の生理反応や感情の原因を、本来のものとは違うところにあると認識してしまうこと。たとえばデートに行くとき。バーに行くのはまずい選択だ。お酒を飲むとリラックスしすぎてしまうからね。正しいのはコーヒーを飲むこと。カフェインを摂取するとドキドキ心拍数が上がってくる。あーなんかドキドキするなー。目の前に男性がいるし、私、恋に落ちたのかも!(笑)

他には映画。映画を見る前にコーラをがぶ飲みする。映画中におしっこしたくなるんだけど、両隣を大きな体型の関取みたいな人にはさまれていて行けない。すると、まあ映画が長く感じる。「早く終われ早く終われ」ってなって、終わった後に「映画はどうだった?」って聞けば「いや無駄に長くってひどかったね」ってなる。でもトイレに行っておいて、カフェインの影響だけがあるときに映画を見れば、終わった後に「映画はどうだった?」って聞けば「興奮した!すごい映画だね!」ってなる。これも誤帰属。

だから、ソフトウェアの印象をよくしようと思えば、装飾とかユーザーインターフェースを馬鹿にしてはいけない。すごく大事なことだよ。

というわけで、退屈なプレゼンでも、美しい写真を見せて【再びヴィクトリアの写真】、いい音楽を流せば【再びHey Jude】、「あーすてきな発表だったな」ってなるよね。以上です。ご清聴ありがとうございました(拍手)

2008年2月14日木曜日

JoelのBEST SOFTWARE WRITING買ったよ(あるいはデブサミ1日目)

Joelのセッションも聴いてきた。あとで書く。

とりあえず、たぶん誰も書かないだろうことを書いておこう。


本を買ってサインをもらおうと思ったが、財布に現金が入ってなかった。カードで買おうとしたら「5000円以上のお買い物のみとなります」とつれないお答え。この時点でサインはあきらめた。

でもあとから本は買った。短いエッセイ集。まだ読み途中。



BEST SOFTWARE WRITING



BEST SOFTWARE WRITING



  • 作者: Joel Spolsky, 青木靖

  • 出版社/メーカー: 翔泳社

  • 発売日: 2008/02/21

  • メディア: 単行本(ソフトカバー)



2008年2月10日日曜日

俺たちフィギュアスケーター

movie
渋谷で観てきた!
これはバカだ!くだらない!最高!
スケート会場で乱闘騒ぎをやらかしたせいで男子シングルから永久追放を受けてしまったジミー・マケルロイとチャズ・マイケル・マイケルズ。犬猿の仲の二人だがもう一度リンクに戻るためにペアを組んで……
高度な笑いとかは一切無くて、とにかくバカ。とことんバカ。
これはぜひ観ておくべきと思いました。
日本語公式サイトはこちら。
サントラはUK版が安いよ。US版は2000円以上するのに、UK版は1000円ちょい。

2008年2月9日土曜日

ラムダ式の「=>」はどう発音する?

How do you pronounce => ?

おれなら「束縛」ぐらいかなあ。「バインド」でもいいけど変数とかの名前と間違えそうだし、「イコール大なり」だと間違いはないだろうけどラムダ式を書いてるという意識が弱くなりそうだし。
元エントリの
IEnumerable<Person> results = people.Where(p => p.LastName == "Liberty");

なら、「アイイニュメラブルのパーソン型 リザルツ イコール ピープル ドット ウェア かっこ ピー 束縛 ピー ドット ラストネーム イコールイコール 文字列で頭が大文字のリバティ かっことじる」かなあ。
うーん、特にルールを設けていないので適当だ。

2008年2月8日金曜日

デブサミ2008のセッションにはてなスターをつけよう

来週Developers Summit 2008が開催されますね。
どのセッションに期待しますか?
(カテゴリーは私の独断でアレンジしました)

Special



Ruby



Java



.NET



JavaScript



XML



RIA



FileMaker



DB



サービス



アジャイル



ITアーキテクト



SI



アカデミア


2008年2月6日水曜日

Lang.NET

ちょっと遅くなったがLang.NETのまとめ。
どういうセッションだったかは後でフォローするとして、とりあえずこの面子の濃さといったら。
1/28
1/29
1/30