Jump to content

AWS

FPCH Admin
  • Last visited

  • Posts

    27,571
  • Reputation

    649

Everything posted by AWS

  1. Microsoft is accepting tester applications for the next version of its Windows Intune service for managing and securing Windows PCs — and soon iOS and Android devices. Source: All About Microsoft
  2. Previous blog posts have discussed the Metro style application model using Windows Runtime. An important attribute of this app model is that apps are suspended when they are no longer visible to the user. Suspending Metro style apps in the background is a good thing, as it conserves CPU for other apps and ensures that background apps dont cause activity that can consume resources, thereby improving the battery life and increasing responsiveness. This is outlined in detail in Sharif Farag and Ben Srours blog post, all[/i] the memory that suspended Metro style apps would otherwise hold onto. Windows 8 can reclaim this memory without having to terminate an app. Your browser doesn't support HTML5 video. Download this video to view it in your favorite media player: [url=http://ak.channel9.msdn.com/ch9/5c2b/1b9a4ea2-6cec-4869-a068-c5a49a3a5c2b/ReclaimingmemfromMetroApps_high.mp4">High quality MP4 | [url=http://ak.channel9.msdn.com/ch9/5c2b/1b9a4ea2-6cec-4869-a068-c5a49a3a5c2b/ReclaimingmemfromMetroApps.mp4">Lower quality MP4 Memory, responsiveness, and Metro style apps For any type of app (Metro style or desktop), Windows tries to regulate physical memory allocations on behalf of that app, regardless of the memory requests it has made. Windows has always behaved this way to keep memory available in anticipation of future app memory needs. Windows is careful to only allocate physical memory to an app when the app tries to touch it, even if the app had allocated it earlier. Windows will also page out or repurpose parts of memory from an app if the pages of memory havent been touched in a long time. It is important to understand the goal is not to deny memory to a requesting process, but to delay allocating physical memory as long as possible (until the user actually touches the app) because as with many resources, there is a tendency for software to over-budget. The OS is the place where all these requests come together and it has the information to see that meeting all the fully budgeted requests would ultimately starve every process. Not only would work not complete, but the system will essentially lock up. This happens even if the memory is virtualinstead of running out of RAM, your PC would simply swap pages in and out of disk. The physical memory given to a process at any point in time is referred to as the working set of the process. A private working set represents physical memory that is unique to a process. Processes also touch other pages of physical memory that are shared, which several processes can reference. When you look at the Processes view in Task Manager, the memory for a specific process is actually its current private working set. NOTE: For simplicity, when I refer to working set in this blog, I mean private working set. When the system starts to run low on available memory, the OS will look in all processes for pages of physical memory that it can repurpose to satisfy other needs in the system, even by paging out memory when necessary. For desktop apps, Windows will try to keep the most important (frequently accessed) pages of memory in the apps working set this is because desktop apps expect to be able to run code at any time, even when theyre in the background. Its a fine balance though: if too many pages of memory were to be removed from a desktop app, it could affect the apps responsiveness due to additional disk I/O (as the app tries to touch memory that has been paged to disk under the covers). For a deep dive on Windows memory management, see Mark Russinovichs Mysteries of Windows Memory Management Revealed talks: [url=http://channel9.msdn.com/Events/TechEd/NorthAmerica/2011/WCL405" target="_blank">part 1 & [url=http://channel9.msdn.com/Events/TechEd/NorthAmerica/2011/WCL406" target="_blank">part 2. Metro style apps, however, are different from desktop apps, in that they are usually suspended whenever they are no longer in the foreground. When theyre suspended, they arent touching ANY of their memory. To illustrate, Ive highlighted a few suspended Metro style apps with memory held in their working sets in the screenshot below. [url=http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-29-43-metablogapi/0640.11_5F00_35FC5125.png" target="_blank">http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-29-43-metablogapi/6013.11_5F00_thumb_5F00_4ABE23D8.png Suspended apps holding on to memory NOTE: In the Consumer Preview build, the Suspended status does not show in the Processes view of Task Manager by default you have to choose to show it via an option on the View menu. If there isnt memory pressure in a system, its actually a good thing (most efficient) to just leave memory in the suspended apps working sets. But if there is some memory pressure, the fact that these Metro style apps are suspended presents an opportunity to get almost all the memory in these working sets back for other apps, without terminating them. Reclaiming memory from suspended Metro style apps In Windows 8 Consumer Preview, we can efficiently write the whole (private) working set of a suspended Metro style app to disk, in order to gain additional memory when the system detects pressure. This process is analogous to hibernating a specific app, and then resuming it when the user switches back to the app. Were taking advantage of the suspend/resume mechanism of Metro style apps to empty or re-populate an apps working set. The sequence of events is described below: The Process Lifetime Manager (PLM) detects memory pressure in the system and asks the Memory Manager (MM) to empty the working set of a specific process that houses a suspended Metro style app. [url=http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-29-43-metablogapi/3683.Visio1_5F00_1781EA6F.png" target="_blank">http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-29-43-metablogapi/7485.Visio1_5F00_thumb_5F00_2FA554CA.png MM moves the pages of memory from the working set of the app to the operating systems modified page list (which is a list of memory whose contents are to be written out to disk before being reused). [url=http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-29-43-metablogapi/3288.Visio2_5F00_086B0B95.png" target="_blank">http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-29-43-metablogapi/3782.Visio2_5F00_thumb_5F00_442AA448.png The working set pages on the modified page list are written out asynchronously, as dictated by the usual MM policies (written out opportunistically in the background, writes triggered when under memory pressure). [url=http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-29-43-metablogapi/4762.Visio3_5F00_35EC2B58.png" target="_blank">http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-29-43-metablogapi/4375.Visio3_5F00_thumb_5F00_63011826.png Even after the suspended apps working set is written to disk, the memory pages removed from a process are left intact on the operating systems standby list. This is a cache of useful pages of memory that can be repurposed for other apps, if necessary. If these pages are immediately needed again by their original process, they are quickly moved back. [url=http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-29-43-metablogapi/4760.Visio4_5F00_6D523C86.png" target="_blank">http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-29-43-metablogapi/3201.Visio4_5F00_thumb_5F00_7A4C1C97.png If a user switches back to the app while its working set pages are still in physical memory (on the modified page list or the standby list), its straightforward: the pages will be added back into the apps process immediately. If they are no longer available, Windows will read in the apps working set from disk in an optimized manner. Reclaiming memory in action To get a feel for how this works, lets walk through an example with real running code. The initial state is represented by the screenshot above. I had several Metro style apps running on a PC with 2GB of RAM. The Metro style apps were in the background, and therefore Windows suspended them. I then started opening more apps to drive up memory use on the system and trigger the new functionality. In the next screenshot, below, youll notice that I opened some apps in order to introduce additional memory pressure and induce the behavior described above. As you can see, Windows emptied the working sets of the suspended Metro style apps (highlighted). [url=http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-29-43-metablogapi/2318.12_5F00_7973B6AD.png" target="_blank">http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-29-43-metablogapi/6428.12_5F00_thumb_5F00_573BAB27.png Working sets of Metro style apps emptied Lets compare the before and after working sets of the original Metro style apps (some of the after stats cannot be seen because Task Manager ran out of room to show all 27 launched apps): Metro style app Working set before (MB) Working set after (MB) Flixster 23.5 0.5 Flow 15.2 0.6 Kindle 23.1 0.5 LiveComm 3.8 0.3 Lyrics 65.3 0.9 Maps 28.1 0.8 Remote Desktop 21.0 0.5 SkyDrive 23.1 0.5 Store 26.9 0.6 Weather 42.0 0.8 Windows Reader 9.2 0.4 So in this example, we liberated over 250 MB of physical RAM for other apps to use without shutting down the suspended apps. Responsiveness when reading the working set back in A test for this new facility is how responsive a suspended app is after its working set contents are emptied and you decide to switch back to the app. While I was running this test, I used the Lyrics app as my indicator of responsiveness. The Lyrics app can display the lyrics of a song as well as play back a music video. When the Lyrics app goes to the background, it gets suspended, which stops the playback. After driving memory use to the point where working sets were emptied, I opened additional apps and used the system for a while to ensure that a swap back to the app was going to read the working set from disk. I then triggered the switch back to the Lyrics app (below). [url=http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-29-43-metablogapi/6763.13_5F00_6EF2E28D.png" target="_blank">http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-29-43-metablogapi/1641.13_5F00_thumb_5F00_14102CFA.png Lyrics apps working set is repopulated The key indicator I was looking for was how long it would take from the time I triggered the switch back to the app to the point where I could hear sound again. On a low-end machine, with a high memory load, its hard to perceive a difference in responsiveness when switching back to the app whose working set was being read from disk compared to when its working set was still in memory. Your mileage will vary though: the larger the working set, the longer it will take to read-in from disk. Were also continuing to reduce the amount we have to write to disk for Metro style apps and further optimizing this feature. This functionality is something that everyone with the Consumer Preview release can try for themselves. Just open up a number of Metro style apps and desktop apps to generate some memory pressure, and then switch back to a suspended Metro style app that has had its working set emptied. NOTE: Windows will still close Metro style apps if memory gets into the critical range. However, this feature will enable a system to run more applications before getting to that point. Reading in a working set optimally To have a responsive experience when you switch back to a suspended app whose working set is on disk, weve optimized how we write the working set in the first place, so that reading it in is as efficient as possible. When we write out the working set of a suspended Metro style app, the working set pages are being written out to disk sequentially. This allows us to read the data back into a process using a small number of large sequential disk reads. The screenshot below is from our Windows Performance Analyzer (WPA) tool that comes as part of the [url=http://www.microsoft.com/download/en/details.aspx?id=28997" target="_blank">Assessment and Deployment Kit (ADK), showing a visual representation of disk reads during this process. Ive highlighted the working set read-in I/O. You can clearly see the sequential stream as we repopulate an apps working set. [url=http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-29-43-metablogapi/2727.Windows_2D00_Performance_2D00_Analyzer_5F00_437E9BC6.png" target="_blank">http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-29-43-metablogapi/6763.Windows_2D00_Performance_2D00_Analyzer_5F00_thumb_5F00_02701C62.png Sequential read I/Os to repopulate an apps working set (WPA Tool) Reading back sequential data from almost any storage device is really fast. Most rotational disks can achieve between 50-100MB per second. If a storage device is flash-based (like an SSD), you can get upwards of 200MB per second for these reads. We expect that many apps will take less than a second of I/O to get the working set of a suspended app back into memory. Conclusion By definition, all PCs of all form factors have limited physical memory. The challenges of managing memory do not change when you add more physical memory, so long as you are actually running more programs that request more memory. Several classes of modern software will continue to evolve to use more and more memory photo editing of giant RAW images, in-memory databases, very large spreadsheets, and so on. Whether these have WinRT-based implementations or desktop implementations, the OS needs to evolve to manage these ever-increasing memory requests. WinRT is an opportunity for programmers to use an API that allows access to all the memory they need while putting the user first in terms of responsiveness and getting work done. I hope youll try this out this feature in Windows 8 Consumer Preview. -- Bill Karagounis Source: Windows 8 Blog
  3. Microsoft officials have finally started to confirm specific features that will and won’t be included in the various Windows 8 editions that are due out later this year. Source: All About Microsoft
  4. Microsoft has added another bunch of new features to its SkyDrive cloud storage service. Source: All About Microsoft
  5. It’s a big week on the Windows branding front, with Microsoft officially releasing the final names for Windows 8 client and Windows 8 Server. Source: All About Microsoft
  6. There’s a new version of Microsoft’s Windows Intune service coming. There’s documentation about an April preview now available for download. Source: All About Microsoft
  7. Windows 8 is the official name of the next version of Windows client. Here are details on the four SKUs that are in the pipeline. Source: All About Microsoft
  8. Today I would like to share information with you on the editions that will be available for "Windows 8" when it is released to market. We have talked about Windows 8 as Windows reimagined, from the chipset to the user experience. This also applies to the editions available – we have worked to make it easier for customers to know what edition will work best for them when they purchase a new Windows 8 PC or upgrade their existing PC. Windows 8 has the flexibility you need - whether you’re on an x86/64 or a WOA PC. You can use a touch screen or a keyboard and mouse – and switch anytime. It’s beautiful, fast, and fluid design is perfect for a wide range of hardware. And you’ll love browsing through the Windows Store and downloading all the apps you want. And those apps can work together too so you can share photos, maps, contacts, links and whatever else you want faster and easier. All editions of Windows 8 offer a no-compromise experience. First, Windows 8 is the official product name for the next x86/64 editions of Windows. For PCs and tablets powered by x86 processors (both 32 and 64 bit), we will have two editions: Windows 8 and Windows 8 Pro. For many consumers, Windows 8 will be the right choice. It will include all the features above plus an Windows RT[/b] is the newest member of the Windows family – also known as Windows on ARM or WOA, as we’ve referred to it [url=http://win8.ms/woa" target="_blank">previously. This single edition will only be available pre-installed on PCs and tablets powered by ARM processors and will help enable new thin and lightweight form factors with impressive battery life. Windows RT will include touch-optimized desktop versions of the new Microsoft Word, Excel, PowerPoint, and OneNote. For new apps, the focus for Windows RT is development on the new Windows runtime, or WinRT, which we unveiled in September and forms the foundation of a new generation of cloud-enabled, touch-enabled, web-connected apps of all kinds. For more details on WOA, we suggest reading [url=http://blogs.msdn.com/b/b8/archive/2012/02/09/building-windows-for-the-arm-processor-architecture.aspx" target="_blank">this blog post which shares more detail on how we have been building Windows 8 to run on the ARM architecture. The below chart breaks down key features by edition (this list should not be considered an exhaustive list of features): Feature name Windows 8 Windows 8 Pro Windows RT Upgrades from Windows 7 Starter, Home Basic, Home Premium x x Upgrades from Windows 7 Professional, Ultimate x Start screen, Semantic Zoom, Live Tiles x x x Windows Store x x x Apps (Mail, Calendar, People, Messaging, Photos, SkyDrive, Reader, Music, Video) x x x Microsoft Office (Word, Excel, PowerPoint, OneNote) x Internet Explorer 10 x x x Device encryption x Connected standby x x x Microsoft account x x x Desktop x x x Installation of x86/64 and desktop software x x Updated Windows Explorer x x x Windows Defender x x x SmartScreen x x x Windows Update x x x Enhanced Task Manager x x x Switch languages on the fly (Language Packs) x x x Better multiple monitor support x x x Storage Spaces x x Windows Media Player x x Exchange ActiveSync x x x File history x x x ISO / VHD mount x x x Mobile broadband features x x x Picture password x x x Play To x x x Remote Desktop (client) x x x Reset and refresh your PC x x x Snap x x x Touch and Thumb keyboard x x x Trusted boot x x x VPN client x x x BitLocker and BitLocker To Go x Boot from VHD x Client Hyper-V x Domain Join x Encrypting File System x Group Policy x Remote Desktop (host) x In the coming months, we plan to share much more information about Windows 8, including details on pricing and limited-time programs and promotions that we will make available to customers. Today, you can check out NOTE: As with previous versions of Windows, we will also have an edition of Windows 8 specifically for those enterprise customers with Software Assurance agreements. Windows 8 Enterprise includes all the features of Windows 8 Pro plus features for IT organization that enable PC management and deployment, advanced security, virtualization, new mobility scenarios, and much more. [/i] Source: Windows Team Blog
  9. Howdy and welcome. I am sure if you post in the correct forum someone will help you.
  10. Last year, word leaked about HTML5 and JavaScript add-ons coming for Office 15. Now we know the codename for those add-ons: Agaves. Source: All About Microsoft
  11. A live tile is one of the best ways to entice users back to your app. This post shows you how to update your app’s live tile using polling and local APIs so that you can show off what is great about your app directly on the Windows 8 Start screen. Your tile can put front and center the best of what’s going on inside of your app. The app tile is a core part of your app, and quite possibly its most frequently seen part – take advantage of the tile to get users back into your app! In this post I walk through an example app to illustrate how to: Design for tile updates Choose templates to match the tile content Use polling notifications from the cloud to update the tile while the app is not running Update the tile while the app is running by using the NotificationsExtensions library included in the SDK (Windows 8 SDK App tiles and badges sample). Introducing the Contoso Food Trucks app Let’s walk through an example app: Contoso Food Trucks. This app allows users to get info about traveling food trucks. This is the same app that we showcased in the website to Metro style app case study. In this blog post, I show how to add live tiles to it. . What is your app best at? Keeping in mind what your app is best at helps you figure out what content the tile should contain and how frequently it should update. The Contoso Food Trucks app is best at helping users find and track their favorite food trucks, and to discover new ones near them. Because of that, I have these goals for our Food Trucks tile: Feature the food trucks near a location Track the user’s favorite food trucks Don’t use your app tile as an advertisement surface. Using the tile to show ads is not allowed in most cases per the terms of the Windows app store. Default tile and tile size Each app has a default tile. This is the tile that the user sees when they first install your app. The default tile logo image represents your app logo or other branding so users can clearly identify the app. You define the default tile logo image in the app manifest and Windows displays it until the tile is updated by receiving its first notification. The tile can revert back to the default image when it has no notifications to display for example, when the current tile notification expires or the user turns off live tile updates for the app. The default tile images also define the sizes that the tile supports. Tiles are available in two sizes: square or wide. All apps must support a square tile, but an app can also support a wide tile. If an app doesn’t provide a wide logo image for the default tile, the app tile cannot be resized to a wide tile, which means that it cannot receive a wide tile notification. If the app includes a wide logo image, Windows shows the tile in its wide format by default. For our Contoso Food Trucks app I chose to support wide tiles because I update the tile at least once a day, and the content the app provides needs the extra space. These are the images I use for default tile logos: . Both square and wide tiles can receive notifications. When sending notifications, I always include both a square version and a wide version. This way, if a user resizes the tile to a smaller size, they still see updated data. More info on how to create a default image for your app is in this Quickstart: Creating a default tile using the Microsoft Visual Studio 11 Manifest Editor. You can find more about tile size concepts in the tile and notification overview. Designing tile updates Feature the food trucks nearby One of the best things about our app is that it helps users decide which food truck to visit. So, we need to know which food trucks are nearby. To figure this out, our app lets users set their default lunch location. When the user sets this location, we show the user which food trucks are by that location now. For this tile update, I chose a template without an image. Because tiles are updated by fitting the app content into system-defined templates, our first task is to choose a template that works for our content. After looking through the catalog of templates in the Dev Center (see Choosing a tile template), I picked the TileWideText01 template for the wide tile. For the square tile, I picked the TileSquareText03 template. I picked these two text-only templates because I am only updating text strings on the tile. I used the Windows 8 SDK App tiles and badges sample to play with different template options before making my final decision. Using the sample lets me easily swap in different text strings and images until I settle on the final tile design. For example, by testing the templates in the sample, I determined that I had to use the food truck’s short name in the square template to get the text to fit correctly. . . Tile updates are created by sending a notification. A notification is simply a snippet of XML that fills out the tile schema. You create the XML in code by using the TileUpdateManager.getTemplateContent() function, or using the NotificationsExtension library which I will talk about in the second part of this post. The notification indicates which tile template is used when rendering the notification, and the text and images to be displayed on the tile according to the template’s layout. To create the tile updates shown earlier for our food truck app, I used this tile XML: Tile XML xml version="1.0" encoding="utf-8" ?> Food Trucks Near Youtext> Nom Nom Barbecue Trucktext> Sushi Trucktext> Macaroni Makin' Wagontext> binding> Near Youtext> Nom Nomtext> Sushi Trucktext> binding> visual> tile> There are two elements in this XML – one each for the wide and square tile. Because our app supports wide tiles, I always supply the wide and square tile template bindings in every tile notification. This lets the tile always show the notification update content no matter what size the user sets the tile to. The square tile shows only two truck names because the third doesn’t fit on the smaller square template. Favorite food trucks In our app, I want to let users know where their favorite food trucks are. On the tile, I want to let users know the same thing. In my case, the info fits on a couple of short lines of text. I also have images that represent each food truck, which will make our tile look more interesting. Because tiles are updated by fitting the app content into system-defined templates, our first task is to pick the right template. After looking through the catalog of templates in the Dev Center (Choosing a tile template), I picked the TileWideImageAndText02 tile template for the wide tile that supports an image and two short text strings. For the square tile, I picked the TileSquarePeekImageAndText04 template to let the tile show both the image and the text. The peek templates allow me to supply more content than the normal tile area permits. Windows animates peek templates to show both the image and the text I put in the template within the square tile, so the top and bottom frames of the square tile alternate on the tile. The content of a peek tile scrolls up and down within the tile space to display the full content provided. . . Tile XML xml version="1.0" encoding="utf-8" ?> Nom Nom Barbecue Trucktext> Washer Ave and 3rd until 3text> binding> http://www.contoso.com/foodtrucks/nomnombbq-square.png"/> Nom Nom @ Washer Ave and 3rd until 3text> binding> visual> tile> As before, I determined what the tile will look for by using a notification defined as an XML payload. The difference between my first tile and this one is that I am using images in this notification. The images in notifications are not included in the XML payload – they are referenced from the payload to other locations. The images can be either on a web service, as shown here, or on the local machine. After Windows receives the notification, it downloads the images from the web service at the time it’s shown to the user. More info on how to include images to a tile is in How to add images to a tile template in the Dev Center. There are limitations on the content size of the images in KB and pixel sizes. Tile notifications won’t be displayed if the images are too big, so use images that meet these limitations. Also note that tiles support only JPG and PNG images. For more details about including images in your tile see Tile image sizes in the Dev Center. More to come Now that we know what we want the tiles to look like, the next step is to figure out when to update them. In part 2 of this post, we walk through how to add polling and local tile updates to the Contoso Food Trucks app. I show you how to start polling for tile updates from your app, provide example ASP.NET and PHP that can be used to build a web service for polling, and talk about how to add a secondary tile to the app and update it using the NotificationsExtension library. Until then, I hope this post has helped you to start thinking about how you can make your app shine with a live tile! View the full article
  12. New updates are out for two Windows Phones: The Nokia Lumia 900 on AT&T and the HTC Trophy on Verizon. Source: All About Microsoft
  13. Microsoft is taking the wraps off the latest iteration of its Media Platform, which is now hosted on Windows Azure and includes third-party integrations, at the NAB show. Source: All About Microsoft
  14. I have upgraded the software used for this site to the newest version. I also upgraded the blog software and turned the gallery on again. Along with this I changed the style to something easier on the eyes. If you find any bugs let me know about them.
  15. Microsoft still isn’t talking about Windows 8 on Intel/AMD system-on-a-chip devices. But Intel has started to open up. Source: All About Microsoft
  16. Microsoft has created a new wholly owned subsidiary that will focus on working with the open-source community. Source: All About Microsoft
  17. Microsoft is moving its Bing Search programming interface to the Windows Azure Marketplace and turning it into a paid subscription service. Source: All About Microsoft
  18. Anyone have any positive or negative experiences to report when buying Nokia’s latest smartphone from an AT&T store? Source: All About Microsoft
  19. Screen shots of a Microsoft product roadmap for partners have leaked to the Web. Here are the key take-aways. Source: All About Microsoft
  20. The latest decision in Microsoft’s patent dispute with Motorola Mobility is in Microsoft’s favor. Source: All About Microsoft
  21. Office 2007 users: You now have a few more months before Microsoft ends your free support period. Source: All About Microsoft
  22. Get your buzzword bingo scorecards ready. Machine learning is Microsoft executives’ newest favorite phrase. Source: All About Microsoft
  23. Nokia revealed that it sold 2 million Lumia smartphones in the first quarter of 2012. Is that good or bad? Source: All About Microsoft
  24. Howdy and welcome.
  25. Microsoft isn’t often mentioned when it comes to in-memory database conversations. But here’s why Redmond thinks they deserve to be. Source: All About Microsoft