Bringing f.lux to the Windows Store using the Desktop Bridge
With the introduction of the Desktop Bridge, developers are able to bring their Win32 applications into the Windows Store, giving them direct access to over 400 million Windows 10 users. This case study describes how we used the Desktop Bridge to bring f.lux to the Windows Store.
- Michael Herf – President, f.lux Software LLC
- James Earle – Technical Evangelist, Microsoft
- Jerry Nixon – Senior Software Engineer, Microsoft
F.lux Software LLC is a Los Angeles-based company that creates f.lux, a software that reduces blue light from your computer display based on the time of day. It makes your computer screen look like the room you’re in all the time, warm at night and sunny (like sunlight) during the day. The application allows you to customize the desired light temperature and effective time range to your preference. Nighttime blue light exposure is shown to negatively influence sleeping habits, so the goal of f.lux is to reduce this effect. When installed, the application is always running in the background. Based on the time of day, your monitor’s display is slowly modified to a warmer temperature. F.lux boasts over 20 million total downloads, with over 500,000 downloads a month, making it an extremely popular solution.
We wanted to convert this app due to its large and growing popularity, which would directly benefit Microsoft and the Windows Store. F.lux also wanted to convert their app because of the large Windows 10 user base and the benefits they would gain with a direct channel to these users. F.lux is not a Universal Windows Platform (UWP) app. Because of this, it cannot be put into the Windows Store without using the Desktop Bridge. The other option is to create an alternate version of f.lux as a UWP app; however, this requires substantial development effort on the part of the team. By using the Desktop Bridge and the Desktop App Converter (DAC), f.lux can be converted and brought to the Store without code changes or prolonged development on the team’s behalf.
Solution, steps, and delivery
The initial conversion was performed by using the DAC. This created the necessary virtual file system to convert the application’s package files and wrap them as a UWP app. This was a successful conversion, but the team at f.lux wanted the application to also run at startup. This is not allowed in traditional UWP apps, and is disabled by default in apps converted by using the Desktop Bridge.
The startup functionality can be included by adding the startup extension task to the application manifest. Following is the code for this addition.
<Extension Category="windows.startupTask" Executable="flux.exe" EntryPoint="Windows.FullTrustApplication"> <StartupTask TaskId="fluxRunAtStartup" Enabled="true" DisplayName="f.lux" /> </Extension>
After the AppxManifest.xml file was modified, all that was left to do was repackage the application. This was done by using makeappx.exe from a directory above the location of the AppxManifest.xml.
makeappx.exe pack /l /d ".\f.lux\" /p "flux.appx";
At this point, f.lux was successfully converted. After the repackaging was complete, f.lux was able to be submitted to the Store hassle-free.
“It was surprisingly easy to publish f.lux to the Windows Store. We used Microsoft’s Desktop App Converter, and we were able to see f.lux in the Store shortly after. We’re excited to bring f.lux to Windows 10 users through this channel.” —Michael Herf, President, f.lux Software LLC
By using the DAC, f.lux was able to deploy to the Windows Store with minimal effort. After small changes to the application, f.lux is now directly available for over 400 million Windows 10 users. To try it out, download f.lux.