{"id":284,"date":"2011-12-31T17:06:44","date_gmt":"2011-12-31T06:06:44","guid":{"rendered":"http:\/\/blog.quppa.net\/?p=284"},"modified":"2011-12-31T17:06:44","modified_gmt":"2011-12-31T06:06:44","slug":"facebook-messenger-for-windows-is-not-just-for-windows-7","status":"publish","type":"post","link":"https:\/\/www.quppa.net\/blog\/2011\/12\/31\/facebook-messenger-for-windows-is-not-just-for-windows-7\/","title":{"rendered":"Facebook Messenger for Windows is not just for Windows 7"},"content":{"rendered":"<p>Facebook <a title=\"Liveside.net: Facebook launches Messenger for Windows\" href=\"http:\/\/www.liveside.net\/2011\/12\/29\/facebook-launches-messenger-for-windows\/\">recently launched \u2018Messenger for Windows\u2019<\/a>, a desktop client for Facebook chat.<\/p>\n<p>The <a title=\"Facebook: Messenger for Windows\" href=\"https:\/\/www.facebook.com\/help\/messenger-for-windows\">Messenger for Windows help page<\/a> suggests that the program requires Windows 7:<\/p>\n<blockquote><p><strong>What kind of computer operating system do I need in order to use Messenger for Windows?<\/strong>    <br \/>You can set up the app if you use Windows 7 on your computer.<\/p><\/blockquote>\n<p>In fact, it runs perfectly well under Windows Vista with the .NET Framework installed. In Windows XP, it crashes on load (though the notification area icon appears first):<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" style=\"margin: 5px auto; border: 0px currentcolor; float: none; display: block; background-image: none;\" title=\"Facebook Messenger for Windows (XP)\" border=\"0\" alt=\"Screenshot of Facebook Messenger for Windows (XP)\" src=\"https:\/\/www.quppa.net\/blog\/wp-content\/uploads\/fbmsgxp.png\" width=\"522\" height=\"416\" \/><\/p>\n<p>Looking at the executable in .NET Reflector, the program uses the functions <a title=\"MSDN: DwmSetWindowAttribute function\" href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/windows\/desktop\/aa969524.aspx\">DwmSetWindowAttribute<\/a> and <a title=\"MSDN: DwmExtendFrameIntoClientArea function\" href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/windows\/desktop\/aa969512.aspx\">DwmExtendFrameIntoClientArea<\/a>, which are not available in Windows XP. I suspect that adding support for that operating system wouldn\u2019t be very difficult, however, as the program is little more than a couple of <a title=\"MSDN: WebBrowser Control\" href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/aa752040.aspx\">WebBrowser controls<\/a> (the heavy lifting is not done on the client side).<\/p>\n<p>Given that Facebook decided not to support Windows XP, the least they could do is use a <a title=\"MSDN: Task Dialog\" href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/windows\/desktop\/bb787471.aspx\">task dialog<\/a> instead of this:<\/p>\n<p><a href=\"https:\/\/www.quppa.net\/blog\/wp-content\/uploads\/fbmsgdialog.png\"><img loading=\"lazy\" decoding=\"async\" style=\"margin: 5px auto; border: 0px currentcolor; float: none; display: block; background-image: none;\" title=\"Facebook Messenger for Windows dialog\" border=\"0\" alt=\"Screenshot of Facebook Messenger for Windows dialog\" src=\"https:\/\/www.quppa.net\/blog\/wp-content\/uploads\/fbmsgdialog_thumb.png\" width=\"485\" height=\"185\" \/><\/a><\/p>\n<p>If you look closely, you\u2019ll notice that the font is <a title=\"Wikipedia: MS Sans Serif\" href=\"http:\/\/en.wikipedia.org\/wiki\/MS_Sans_Serif\">Microsoft Sans Serif<\/a>, not <a title=\"Wikipedia: Segoe UI\" href=\"http:\/\/en.wikipedia.org\/wiki\/Segoe_UI#Segoe_UI\">Segoe UI<\/a> (the latter is the user interface font in Windows Vista and newer \u2013 MS Sans Serif hasn\u2019t been the default since Windows ME!). This is largely Microsoft\u2019s fault \u2013 MS Sans Serif is the default font in the Windows Forms designer even in Visual Studio 2010 (<a title=\"Microsoft Connect: Give .NET Windows Forms the MFC 7 look with the Tahoma font as default\" href=\"http:\/\/connect.microsoft.com\/VisualStudio\/feedback\/details\/115408\/give-net-windows-forms-the-mfc-7-look-with-the-tahoma-font-as-default\">and the issue has been around for a long time<\/a>) \u2013 but it\u2019s something that the Facebook developers should have picked up on.<\/p>\n<p>I was disappointed to see that the application is installed to the \u2018local application data\u2019 folder (C:Users&lt;User&gt;AppDataLocal in Vista and newer) instead of Program Files. I guess when Google decides it\u2019s acceptable to install Google Chrome in %appdata%, <a title=\"Wikipedia: The Brothers Karamazov\" href=\"http:\/\/en.wikipedia.org\/wiki\/The_Brothers_Karamazov\">everything is permitted<\/a>. (Microsoft itself is hardly blameless \u2013 ClickOnce applications are installed to somewhere non-standard.)<\/p>\n<p>Interestingly, the developers chose to use the <a title=\"MSDN: Window Class Styles\" href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/windows\/desktop\/ff729176(v=vs.85).aspx\">CS_DROPSHADOW window class style<\/a> to draw a shadow around the window even when the DWM is disabled. Given that <a title=\"Google: CS_DROPSHADOW\" href=\"https:\/\/www.google.com\/search?q=cs_dropshadow\">Google returns fewer than 10,000 results for CS_DROPSHADOW<\/a>, this must be one of very few applications to use that feature.<\/p>\n<p>(As the screenshot below demonstrates, running the program with IE7 installed produces hilarious results.)<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" style=\"margin: 5px auto; border: 0px currentcolor; float: none; display: block; background-image: none;\" title=\"Facebook Messenger for Windows (Vista)\" border=\"0\" alt=\"Screenshot of Facebook Messenger for Windows (Vista)\" src=\"https:\/\/www.quppa.net\/blog\/wp-content\/uploads\/fbmsgshadow.png\" width=\"233\" height=\"681\" \/><\/p>\n<p>The program doesn\u2019t respect the operating system\u2019s language settings \u2013 the notification area icon\u2019s menu is displayed in the language that the user selects on Facebook.<\/p>\n<p>Finally, the docking functionality is implemented by using an <a title=\"MSDN: Using Application Desktop Toolbars\" href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/windows\/desktop\/cc144177.aspx\">application desktop toolkbar (appbar)<\/a>. I haven\u2019t seen many programs use appbars, so it\u2019s neat to see one in action.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Facebook recently launched \u2018Messenger for Windows\u2019, a desktop client for Facebook chat. The Messenger for Windows help page suggests that the program requires Windows 7: What kind of computer operating system do I need in order to use Messenger for Windows? You can set up the app if you use Windows 7 on your computer. &hellip; <a href=\"https:\/\/www.quppa.net\/blog\/2011\/12\/31\/facebook-messenger-for-windows-is-not-just-for-windows-7\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Facebook Messenger for Windows is not just for Windows 7&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6],"tags":[54,171,179],"class_list":["post-284","post","type-post","status-publish","format-standard","hentry","category-programming","tag-facebook","tag-windows-2","tag-winforms"],"_links":{"self":[{"href":"https:\/\/www.quppa.net\/blog\/wp-json\/wp\/v2\/posts\/284","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.quppa.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.quppa.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.quppa.net\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.quppa.net\/blog\/wp-json\/wp\/v2\/comments?post=284"}],"version-history":[{"count":0,"href":"https:\/\/www.quppa.net\/blog\/wp-json\/wp\/v2\/posts\/284\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.quppa.net\/blog\/wp-json\/wp\/v2\/media?parent=284"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.quppa.net\/blog\/wp-json\/wp\/v2\/categories?post=284"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.quppa.net\/blog\/wp-json\/wp\/v2\/tags?post=284"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}