本文章是由機器翻譯。

Windows 市集應用程式

資訊自由法,資料隨手可得

Vishwas Lele

下载代码示例

資訊行動自由 (FOIA) 給美國公民獲得政府資料,以説明進行自我教育和做出更明智的決策。然而,獲得此資料的過程可以是複雜和艱巨。在本文中,我會走通過 Windows 應用商店 app,稱為 MyFOIA,可使使用者更方便地獲得此類資訊、 與他人共用和甚至獲取自由資訊請求的自動更新的大廈。

自由資訊是什麼?

FOIA 賦予公民有權要求從任何政府機構的資訊。然後要求該機構向公民提供的任何相關、 非機密資訊。這項法律旨在提高政府的透明度。然而,請求流程不允許方便地訪問一個機構的資訊。

大多數機構提供頻繁地要求在其網站上的資訊。資訊不會顯示在那裡,一個人必須使自由資訊請求。這一過程往往需要公民要提交書面的請求通過郵政信件或電子郵件,概述了在盡可能詳細的資訊盡可能的人希望的資訊和應提供所需的格式。該請求必須符合某些特定格式指引,各機構會發生變化。典型地返回上一個自由資訊請求的時間可以是至少一個月。這些因素提高需要一種工具,可以提高對這種類型的政府資訊的訪問。

政府由人民,為人民服務,設計的系統中,FOIA 説明以前會一直僅供聯邦機構的公民訪問資訊。

法律説明公民發現從以前扣留的錄影和未報告的捕撈違反條例,所有這些都不是另有向公眾提供的未發表研究結果。在本文中一些真實的例子有關的詳細資訊請參閱"行動中自由資訊"。

FOIA 的挑戰

FOIA 可以是強大的工具,用於分析和從政府資料中提取有用的結論。然而,該過程是漫長而複雜。根據目前的制度,公民必須首先要弄清楚 — — 盡可能具體 — — 他在找什麼。有時一個公民想要的資料被鎖定在一個特定機構入口網站。

為打擊這一問題,有一些多機構資料庫創建的例如 FOIAonline (1.usa.gov/O0s4zu)。在這裡,公民有兩個選項:搜索經常請求的自由資訊資料或使自由資訊的正式要求。官方 FOIA 請求要求洩露個人資訊以創建一個帳戶,呈交封信詳細的說明概述了該請求。

根據該機構要求者也可能需要提交費用。這一過程可以是艱苦和依靠公民積極尋求從機構的資訊請求,通過,而不是在人的指尖有廣泛可用的資料。使用者不能在系統中,收到通知後對資料的任何更新,有沒有簡單的方法共用或通過社會媒體討論此資訊的人。

彙報:資訊自由法案 (FOIA)

政府資料的透明度,發揮著重要的作用,在保持美國公民知情的政府機構和管理過程中涉及的活動。FOIA 使此資料可用,但請求和接收此資訊可以是一個令人生畏和繁瑣的經驗。這篇文章詳細介紹了一個 Windows 應用商店應用程式,提高了工作與自由資訊請求的當前進程的發展。

 

它的簡介:

這篇文章可以作為為政府機構如何改進過程的完成自由資訊的任務的示例。作為發展中國家完全新的解決方案的替代方法,它顯示如何新興技術可以增加和改進當前的系統。重要的考慮因素包括以下內容:

  • 政府機構必須遵守自由資訊的請求。
  • 當前進程為執行請求而異各機構。
  • 歸檔和追蹤自由資訊的請求可以是困難的公民,但可以標準化和改進過程。
  • 使用新的技術,例如 Windows 應用商店的應用程式可以説明實現標準化和加強的進程。

適用于開發人員的簡介:

開發人員可能總是沒有時間或資源來完全重建當前系統。這篇文章顯示了如何使用現代技術,例如,Windows 8.1 中的新的和改進的 web 視圖控制項進行交互並改善現有的系統。在這種情況下,一個應用程式與現有的自由資訊相關網站並添加了以下功能:

  • 如果您對它們在感興趣的和以下自由資訊請求的更改,可以通知使用者。
  • 使用者可以輕鬆地在社會媒體共用自由資訊相關的資料。
  • 使用者可以與順利通過包括觸摸、 筆、 滑鼠和鍵盤的輸入源的各種應用程式進行交互。

詳細資訊:

輸入 MyFOIA 應用程式

我決定它將有助於構建 Windows 應用商店應用程式,使自由資訊相關的資訊更易於訪問。使用者將能夠輕鬆地訪問 FOIA 資料通過現有的自由資訊請求和創建新的搜索。此外,將會對她想要遵循自由資訊請求的任何更新的通知使用者。最後,該應用程式將可以容易地共用與資料相關的自由資訊在社交媒體,從而鼓勵其他人做好涉及的有趣花絮。

現在我就簡要回顧一下這款應用程式所提供的功能。

主頁圖 1 描述了在主頁中的 MyFOIA 應用程式。 使用者可以搜索請求、 提出的新要求 (作為來賓) 和生成報告。應用程式欄還允許導航控制項,並使使用者能夠 tweet 消息,從應用程式內的選定的文本。


圖 1 MyFOIA 應用程式主頁

搜索網頁圖 2 描述了在 MyFOIA 應用程式的搜尋網頁。 使用者可以搜索請求、 申訴和釋放在回應 FOIA 請求的記錄。在此示例中,使用者通過美國搜索環境保護署 (EPA) 自由資訊記錄的搜索詞"CO2"。


圖 2 MyFOIA 應用程式搜尋網頁

搜尋結果圖 3 描述了在搜尋結果頁。 搜尋結果的前面放置 (在圖 2) 在螢幕上顯示。請注意在與通知的標題右側的列。按一下一個或多個核取方塊允許使用者接收通知,如果有與請求相關的更新。


圖 3 MyFOIA 應用程式搜尋結果頁

選擇和共用頁圖 4 描述了允許使用者選擇有趣花絮從回應並分享他們在 twitter 上的"選擇和共用"頁面。 請注意與 Twitter 頁面旁邊的 MyFOIA 應用程式的瀏覽器視窗。


圖 4 MyFOIA 應用程式選擇和共用頁

高階架構

圖 5 描述了 MyFOIA 軟體,被修造使用 JavaScript 和 HTML 的高級體系結構。它依賴于 Windows 8.1 web 視圖控制項承載內容來自 FOIAonline 網站,從而使可用核心 FOIAonline 功能 (創建、 搜索和報告的答覆)。App 還擴展了提供的 FOIAonline 網站通過 JavaScript"注入"web 視圖承載內容的功能。例如,它允許使用者跟蹤自由資訊的回應。如果有對自由資訊回應的更新,已註冊接收更新的所有設備將都接收推式通知。MyFOIA app 還延伸要匹配一個本機 Windows 存儲應用程式的 FOIAonline Web 網站的外觀和感覺。此過程包括啟用"捏和放大,"依託導航應用程式欄,應用必要的造型,使應用程式觸控式螢幕友好和共用文本與其他 Windows 應用商店的應用程式。


圖 5 MyFOIA 應用程式的高級體系結構

其他關鍵的 MyFOIA 應用程式所提供的是功能的通知的能力。使用者可以註冊以接收通知,無論何時更新給定的自由資訊回應。這種通知功能是使用 Windows Azure 移動服務 (WAMS),從而使後端功能的應用程式包括生成的:

  • 簡單的資源調配和管理的應用程式可以在其中存儲資料的表。
  • 與通知集線器提供推送通知的集成。
  • 各種設備,包括 JavaScript 庫的用戶端庫。
  • 添加基於腳本的伺服器的邏輯,包括調度程式的功能的能力。

每個設備,在應用程式啟動時,要求將推送通知通道從通知用戶端平臺。反過來,通知用戶端平臺,詢問 Windows 推Notification Services(WNS) 創建通知的通道,並將其返回到該設備。隨後,當使用者啟用跟蹤給定的自由資訊回應,MyFOIA 應用程式註冊的 Windows Azure 通知集線器設備。在後臺,廣域測量系統調度程式定期看起來對所有已註冊的自由資訊回應的更新。如果調度程式發現更新,推式通知是發送到通過通知集線器的所有設備。

實作詳細資料

在開發應用程式的第一個挑戰是 FOIAonline 網站目前不支援 API 為應用程式開發商。幸運的是,微軟發佈了更新的版本的 web 視圖控制項的作為 Windows 8.1 能讓我的一部分主機內用本機的 HTML 和 JavaScript (早期版本的 Windows 8 中的 web 視圖控制項是只能從建與 XAML 和 C# 應用程式訪問) 生成 Windows 應用商店 app FOIAonline Web 頁。

你可能會想這使用某種基於 iframe 的方法。不完全對。Web 視圖控制項提供一種基於 iframe 辦法幾大優勢。此外,某些網站只是不允許他們的內容要在 iframe 中載入。

簡單來說,新的 web 視圖控制項允許 HTML 應用程式承載 HTML 內容。考慮用於創建 web 視圖控制項的下列 HTML 和 JavaScript 程式碼片段:

<x-ms-webview id="foiaWebview"></x-ms-webview>
var foiaWebview = document.createElement("x-ms-webview");

請注意,x ms web 視圖如下特定于供應商擴展語法,因為 web 視圖是微軟特定的控制項。 一旦您已經創建的 web 視圖控制項,可以作為一個新的文檔,使用 navigateToString 方法來載入 HTML 內容:

x-ms-webview.
navigateToString(stringHTMLContent);

到目前為止功能看起來類似于所提供的 iframe,但有很大差別:

  • Web 視圖控制集成顯示樹以及其他的控制項在 HTML 頁上,這樣就可以應用樣式只是與頁面上的其他控制項一樣。這意味著你還可以覆蓋其他控制項 web 視圖控制項的頂部。
  • Web 視圖控制項提供一組導航事件,為應用程式提供了載入內容的深入瞭解。應用程式可以註冊為事件如 MSWebViewNavigation­開始,MSWebViewContent­-裝載、 MSWebViewContent­載入和 MSWebViewNavigation­已完成,並採取適當的行動。此外,web 視圖控制還定期 (每 500 毫秒) 激發一個 LongRunningScriptDetected 事件,讓我們停止可能誤入歧途的腳本的應用程式。
  • Web 視圖控制項可以利用互聯網資源管理器 SmartScreen 篩選到塊"網路釣魚"攻擊。App 可以惡意內容的通知,並從頁面導航。
  • 帶有內置的功能,就是常用的控制 web 視圖需要由應用程式承載 Web 內容。這包括檢查存在的"下一步"和"上一頁"連結和導航因此,捕獲截圖的 Web 內容的顯示,並記住使用者的選擇。
  • 不是內置的功能,web 視圖控制項提供泛型應用程式與 web 視圖控制項的 InvokeScriptAsync 方法和 ScriptNotify 事件通過溝通計畫。如名稱所示,InvokeScriptNotify 提供了 — — 作為一個非同步作業 — — exe 的能力­可愛從內部 web 視圖當前載入 HTML 中的腳本控制。類推,在 web 視圖中的 HTML 頁面可以引發 ScriptNotify 事件在應用程式內。你可以想像,以防止外部託管、 惡意 Web 內容劫持 app 實行安全檢查次數。例如,僅在應用程式包清單中註冊的 Web 網站允許提高內一個應用程式的事件。
  • 功能,如捏和縮放和電話號碼檢測工作與 web 視圖控制項框。儘管您當然可以實現使用 iframe 的類似行為,它將要求的自訂JAVA一群­腳本和 CSS。

現在,您瞭解 web 視圖控制項工作原理的知識,我將討論的 MyFOIA 應用程式如何使用 web 視圖控制項。MyFOIA 應用程式的起始頁是 default.html,作為應用程式的套裝程式清單中定義。Default.html 頁僅承載 web 視圖控制項,以及在 WinJS.UI.AppBar 控制項。當應用程式啟動時,獲取調用 (在 default.js 中定義) 的 app.onactivated 事件。內其事件處理常式中,您註冊的討論以前,包括 MSWebViewNavigationStarting、 MSWebViewDOMContentLoaded 和 MSWebViewScriptNotify 的事件。最後,您導航到 foiaHome.html 頁。這是一個捆綁與 app 包,這就是為什麼你需要 ms-appx-web 帶首碼的 URL 來訪問它,像這樣的頁面:

var homePageUri = "ms-appx-web:///foiaHome.html";

如果你看看這個頁面的內容,它類似于 FOIAonline 網站的主頁。我捆綁此頁作為應用程式的一部分,原因有兩個。首先,我需要一個快速、 反應迅速、 觸控式螢幕友好的首頁螢幕,伸展以適合整個螢幕上房地產。第二,我想要限制為僅來賓使用者的可用功能的應用程式。捆綁的網頁副本讓我刪除有關的註冊使用者的功能。具體而言,MyFOIA 應用程式有沒有徵求使用者憑據的功能。

圖 6 描述了 FOIAonline 網站的主頁。比較和對比它到的 MyFOIA 應用程式主頁 (圖 1) 和你會注意到,幾個專案 (注明在紅色 圖 6) 已被刪除,以便提供更流暢的使用者介面體驗。


圖 6 FOIAonline 主頁

我碰到的下一個挑戰使某種通知使用者更新對自由資訊回應,她們感興趣的推送通知功能。然而,沒有這種推送通知功能存在 FOIAonline Web 網站內。幸運的是,前面討論的 InvokeScriptAsync 和 ScriptNotify 的方法讓我"注入"推送通知功能在現有的 Web 頁面內。請參閱圖 3 和您會注意到的額外的通知列。此列在 FOIAonline 網站上並不存在。

會解釋如何我能夠添加此額外的列。DOM 的內容是 web 視圖控制項內載入後,它會觸發 foiaWebview_onDOMContentLoaded 事件 (我註冊,它裡面的應用程式啟動事件的回憶)。這樣,可以通過注射將通知列添加到現有的 HTML 的自訂腳本來修改所承載的內容的行為的 MyFOIA 應用程式。此代碼創建基本的 Web 網站上的依賴性。因此,MyFOIA 應用程式可以中斷如果修改基礎的 Web 網站。在沒有 API 的情況下,web 視圖控制提供擴展的 Web 網站所提供的功能的唯一選擇。

圖 7,你可以看到和添加通知列,我通過"eval"腳本函數,以及腳本,webviewControl.invokeScriptAsync 方法的參數中。

圖 7 腳本函數,從當前載入 HTML 執行

script += "function notifyClick(checkboxControl) {";
script += "var notifyData = '';";
script += "if (checkboxControl.checked) {";
script += "    notifyData = 'add';";
script += "}";
script += "else {";
script += "    notifyData = 'delete';";
script += "}";
script += "window.external.
notify(notifyData + '|' + ";
script += " $(checkboxControl).attr('data-number') + '|' + ";
script += " $(checkboxControl).attr('data-uri'));";
script += "}";
script += "var header = $('#curElem thead tr');";
script += "$(header[0]).find('th:last').after('";
script += " <th class=\"detail\">";
script += " <a href=\"#\" onclick=\"return false\">Notify</a>";
script += " </th>');";
script += "var rows = $('#curElem tbody tr');";
script += "for (var i = 0; i < rows.length; i++) {";
script += "    var reqNumber = $(rows[i]).find('td:first a').text();";
script += "    var reqUri = $(rows[i]).find('td:first a').attr('href');";
script +=   "reqUri = 'https://foiaonline.regulations.gov/foia/action/public/view/' +";
script +=   "(reqUri.indexOf('request') != -1 ?
\"request?
\" : \"record?
\") + ";
script += "     reqUri.substring(reqUri.indexOf('objectId'));";
script += "    $(rows[i]).find('td:last').after('";
script += "     <td><input type=\"checkbox\" class=\"notifyCheckbox\" ";
script += "     name=\"notify\" value=\"notify\" ";
script += "     data-number=\"' + reqNumber + '\" data-uri=\"' + reqUri + '\" ";
script += "     onclick=\"notifyClick(this);\" /></td>');";
script += "}";
var scriptOperation =
   webviewControl.invokeScriptAsync("eval", new Array(script));

在成功地完成這個時,自訂腳本執行內載入的 HTML 頁面。 請注意在腳本程式碼片段中,在作為參數傳遞,包括對 window.external 方法的調用。 通知。 所以,當使用者選擇的核取方塊之一,foiaWebview_onScriptNotify 事件被解雇 MyFOIA 應用程式內。 圖 8 描述了應用程式如何處理此事件。 我調用調用來獲取對特定表的引用可獲取的廣域測量系統方法。 使用表物件,添加新的記錄 con­汀­ing 的自由資訊請求數量正在跟蹤和請求的 Uri。

圖 8 onScriptNotify 事件處理常式

function foiaWebview_onScriptNotify(eventArgs) {
  msgControl.innerText = "Updating Request...";
  var scriptNotifyDataArr = eventArgs.value.split("|");
  var operation = scriptNotifyDataArr[0];
  var reqNumber = scriptNotifyDataArr[1];
  var reqUri = scriptNotifyDataArr[2];
  var requestTable = foiaMobileServiceClient.getTable("Request");
  var tablePromise;
  if (operation == "add") {
    requestTable.insert({
      DeviceId: deviceId,
      TrackingNumber: reqNumber,
      RequestUri: reqUri
  }).done(function () {
    updateRegistration();
  });
  }
  // Code elided for clarity
  }
}
function updateRegistration() {
  var channelOperation =
     pushNotifications.PushNotificationChannelManager.
createPushNotificationChannelForApplicationAsync();
  channelOperation.then(function (newChannel) {
    channel = newChannel.uri;
    return requestTable.where({ DeviceId: deviceId }).read();
  }).then(function (requests) {
  if (requests.length > 0) {
    var trackingNumArray = getTrackingNumbers(requests);
    return hub.registerApplicationAsync(channel, trackingNumArray);
  }
  // Code elided for clarity

一旦成功地插入記錄,我也註冊的通道和跟蹤號碼通知集線器。 新插入的記錄然後由定期發射的廣域測量系統調度程式的自訂腳本撿起來。 自訂腳本檢查的自由資訊要求,使用 Uri 列的更新。 如果有任何更新,它會發送通知使用通知集線器。 使用通知集線器的優點是它可輕鬆地擴展到大量的收件者,而不需要重新構建的 MyFOIA 應用程式。 此外,通知基於標記。 標籤是方式註冊 MyFOIA app 使用者首選項。 具體來說,在 MyFOIA 應用程式中的標籤跟蹤號碼 FOIA 請使用者有興趣進行標記。 您可以註冊一個或多個標記。 通知中心然後使用標記來發送通知。

最後一項挑戰被有關將社交媒體功能添加到應用程式。 我以為它會有趣可以在 Twitter 等社交媒體工具分享從自由資訊請求和回應的"花絮"。 再一次的 FOIAonline Web 網站當前不支援這種能力。 在執行此種能力的挑戰是使用者會選擇宿主 HTML 頁內的文本。 這款應用程式如何捕獲選定的文本? 幸運的是,如中所示圖 9,web 視圖控制項提供了一種稱為 captureSelectedContentToDataPackageAsync,它捕獲選定的文本並將它傳遞給 loadTwitter 方法方法。 LoadTwitter 方法反過來使用 Windows.System。Launcher.launchUriAsync 方法來啟動與 URI 關聯的預設應用程式。 它也是有趣地注意到,使用 Windows.UI.ViewManagement.ViewSizePreference 選項,介紹了在 Windows 8.1,來定義應用程式視圖大小首選項。 這讓我啟動旁邊 MyFOIA 應用程式,瀏覽器應用程式中所示圖 4

圖 9 捕獲選定的文本和與 Twitter 分享

function mainAppBar_onTweet(eventArgs) {
  msgControl.innerText = "Loading...";
  var captureOperation =
   webviewControl.captureSelectedContentToDataPackageAsync();
  captureOperation.oncomplete = function (completeEvent) {
    var res = completeEvent.target.result;
    if (res) {
      var dataPackage = res.getView();
      dataPackage.getTextAsync().done(function (capturedText) {
        loadTwitter(capturedText);
      });
    }
    else {
      loadTwitter("");
    }
  };
  captureOperation.start();
}
function loadTwitter(tweet) {
  var url = new Windows.Foundation.Uri(
  "https://twitter.com/share?url=https://foiaonline.regulations. "
+
  "gov/foia/action/public/home&text=" + tweet);
  var options = new Windows.System.LauncherOptions();
  options.desiredRemainingView =
     Windows.UI.ViewManagement.ViewSizePreference.useMore;
    Windows.System.Launcher.launchUriAsync(url, options).done(
      function (data) {msgControl.innerText = "";
  });
}

在行動自由

以下新聞文章提出了可能的自由資訊使用:

  • "真相,違反" 查塔努加時報新聞自由 (田納西州) 2006 年 3 月 4 日這篇文章描述如何 FOIA 允許釋放的視頻顯示為總統喬治-布希進行簡報 由Michael布朗,主任的聯邦應急管理署 (FEMA) 布希。 在視頻中,專家表示擔憂颶風可能洪水新奧爾良,由此產生的高死亡人數,布希總統的回應"我們有充分的準備。
  • "聯邦調查局的寬鬆的流感疫苗植物,清理故障 Chiron" 三藩市紀事報 月 2006 年 6 21 日 Chiron 公司,一家英國製藥公司,擁有利物浦植物產生 50%的由美國使用的流感疫苗。 這篇文章描述如何,在 2005 年,根據自由資訊發佈的資訊導致發現這種 Chiron 植物不滿足食品及藥物管理局 (FDA) 法規。 2004 年,FDA 回顧,並摧毀了工廠的整個生產運行,在那一年的冬天導致流感疫苗短缺。 披露的資訊顯示 2005 年 10 月,這就導致關注美國最終清除了 Chiron 的疫苗 等待疫苗的公民。
  • "在範圍上致命的病症報案 ; 間皮瘤 罷工後受害者的接觸到石棉,年" 明星論壇報 (明尼阿波利斯明尼蘇達州),8 月。 21、 2005年這篇文章描述如何的煤礦安全與健康管理 (美國礦山) 要求下暴露的漏洞讓 LTV 鋼礦業公司的報告要求,FOIA 的記錄 放棄報告間皮瘤和其他使人虛弱的石棉有關的疾病約會從 1980 年其明尼蘇達燧岩煤礦工人之間的一個趨勢。 由於間皮瘤通常不會出現超過 20 年後接觸到石棉,按揭成數不報告的疾病和死亡的退休人員,(它需要對其活動的工人也這樣做)。 這個漏洞是沒有採取行動改善其他工人在礦的安全。 報告肺疾病病例煤礦工人的故障是從請求的文檔,鐵範圍地區受影響工人的家屬和記者交談後檢查發現的。 此外,美國礦山也發現未能報告疾病的公司的最高刑罰是 $60。

違反條例、 隱含的健康的研究和宣傳這些條款的其他資訊的曝光演示 FOIA 戲劇在保持公民瞭解由聯邦機構獲得的資料的重要性。 通過授予公民提出請求的任何和所有資訊來自政府機構的能力,自由資訊提供了公民與政府的資訊相同的存取權限。

待知道

自由資訊是一項法律,使公民有權訪問的資訊,從聯邦政府。 它經常被描述為讓公民瞭解他們的政府的法律。 MyFOIA Windows 應用商店 app 被旨在使自由資訊資料易於訪問。 MyFOIA 應用程式是使用 web 視圖控制和廣域測量系統生成的。 Web 視圖控制使成為可能不僅利用現有的 FOIAonline 網站,還提高它。 廣域測量系統使使用者能夠對他們感興趣自由資訊回應的更新的通知。

MyFOIA 應用程式進展中的工作,但我貼出了在代碼 github.com/AppliedIS/Foia 供您審閱。

最後,我想感謝潘蜜拉斯蒂格的這篇文章和 Sajad Deyargaroo MyFOIA app 的發展的説明的説明。

Vishwas Lele 是在應用資訊科學公司 CTO 他是負責協助組織的構想、 設計和實施企業解決方案。樂樂也擔任微軟的華盛頓特區,區域區域主任,是 Windows Azure 最有價值球員。您可以在 Twitter 上與他聯繫 twitter.com/vlele

衷心感谢以下 Microsoft 技术专家对本文的审阅:克賴希 Brockschmidt、Kevin Hill, Jake Sabulsky。
克賴希 Brockschmidt 曾與微軟 1988 年以來,專注于説明開發人員通過寫作、 教育、 公共演講、 直接的接觸。 他是上 Windows 生態系統團隊工作與關鍵合作夥伴構建 Windows 存儲應用程式的高級專案經理,使知識得到在那個經驗中向更廣泛的開發人員社區。 他最新的書是"在 HTML、 CSS 和 JavaScript 程式設計 Windows 8 應用程式" (免費電子書從 Microsoft Press) ; 在他博客 kraigbrockschmidt.com/blog

Kevin Hill(khill@microsoft.com)

Jake Sabulsky 是在 Windows 的應用程式體驗團隊的專案經理。 他自 2009 年以來在 Windows 中工作。 傑克的兩個在這段時間重點領域已建立的 Web 應用程式平臺和增強 Windows 應用商店的應用程式的應用程式到應用程式通信故事。