Microsoft Surface SDKが一般公開された。このSDKはこれまでPDC参加者および特別に招待された人しか入手できなかった。Surface SDKはWindows Vistaの32ビット版でしか動作しない。Windows 7、および64ビット版Windowsは公式にはサポートされていない。SDKを使って開発するには C# Express 2008 または Visual Studio 2008 と XNA Framework が必要である。
ハードウェアの性能要件は「パフォーマンスの情報とツール」の数値で示されている。プロセッサ、メモリ、およびハードディスクは4.0以上だが、グラフィックスの数値はどちらも5.0以上であることが必要だ。また、「1280 × 960の解像度に対応したディスプレイか、または1440 × 900の解像度に対応したワイドディスプレイモニター」も必要である。タッチスクリーンの必要性についてはドキュメントに記載されていない。タッチジェスチャーはマウスでシミュレートすることが可能である。
一般公開にあたりSurface SDKにはサービスパックが適用され、いくつかのAPIが強化されている。ScatterView、Contact、TagVisualizer、SurfaceSliderなどのクラスには新しい機能が追加された。新しく追加されたクラスには、シミュレータの動作を記録したスクリプトを再生する機構と、SurfaceSelectorやSurfaceHeaderedItemsControlなどの基底クラスが含まれている。
開発ツールには圧力生成ツールが含まれている。このツールはランダムに生成した入力を送信することができ、オプションとして「種類、大きさ、接触スピード、接触面が出現する範囲、出現の割合、接触密度、そしてシミュレートされた接触が Surface Shell のアクセスポイントに触れるかどうかをパラメータとして与えることができる」。再現性のため、乱数は種となる値をもとに生成することができる。
また、「サービスアプリケーション」のサポートが追加された。この機能はWindowsサービスと同じくユーザインターフェースを持たず、ユーザセッションをまたがって継続する。サービスアプリケーションは落ちても自動的に再起動し、他のSurfaceアプリケーションを起動することができる。
全てのSurfaceアプリケーションをホストするSurface Shellはオブジェクトにタグを付けられるようになり、タグに関連するアプリケーションを起動することができるようになった。
SDKのダウンロードに加えて、リリースノートや入門編ドキュメントに有用な情報が多く掲載されている。それらのドキュメントをVistaより前のOSで表示するにはXPSリーダが必要である。