Hagaki Sakka public

Hagaki Sakka is a widely used greeting card software in Japan. The software developed by RootPro, has set of functions that most users need when they create greeting cards such as contacts management, print layout, images that are easy to use.

Microsoft worked with a team of Hagaki Sakka developers to convert their app to Windows UWP, using Desktop Bridge.

The core team:

  • Shuhei Sakurai – Senior Developer, RootPro
  • Tomoo Kimura – General Manager, RootPro
  • Shozo Arai – Technical Evangelist, Microsoft Japan
  • Parag Paithankar – Technical Evangelist, Microsoft Japan
  • Kazuki Tsuguma - App Consultant, Microsoft Japan

Customer profile

RoorPro Co., Ltd. is a Japan-based organization, their main business is the development, sale, and Original equipment manufacturers (OEMs) development of Windows applications. RootPro main products are the New Year’s greeting postcard creation software, “Hagaki Sakka” [Postcard Writer], the 2-D general-purpose CAD software “RootPro CAD”, and “Hagaki Sakka – Insatsu Service” [Postcard Writer – Printing Service]. There are both free versions and paid versions of “Hagaki Sakka” and “RootPro CAD”. These are popular applications: the free version of “Hagaki Sakka” has been downloaded nearly 400,000 times, while there have been around 150,000 downloads of “RootPro CAD”.

Problem statement

Payment and license management tasks for sales of RootPro applications have become a burden for the company. They are interested in selling through the Windows Store to resolve the issue, but at the same time control the development costs associated with distributing their products through the Store.

There would be multiple technical challenges during the conversion:

  • This software requires the custom fonts, because Japan new greeting card need mouhitsu as writing brush.
  • This software provides the shell extensions.
  • This software has multiple executables for address surface and content surface.

Solution, steps, and delivery

To handle these issues, we took the following steps:

  1. Held a hackfest (intensive technical implementation and coding session) for Desktop Bridge.
  2. Discussed issues related to running a UWP app of Hagaki Sakka.
  3. Published a UWP app to the Windows Store.

1. Hold a hackfest for Desktop Bridge

The hackfest procedure was as follows:

  • Conduct a session on how to use Desktop App Converter and Windows SDK tools.
  • Provide a sample of an app to convert.
  • If an issue arises, discuss and decide how to solve it.
  • As required, provide new sample code of script.

Hackfest 1

Hackfest 2

Hackfest 3

Some questions and answers:

  • How do you determine process type?

    We provide sample code.

  • How do you use C/C++ runtime library?

    See information on Desktop Bridge supported runtime is over Visual Studio 2012. If using previous Visual Studio or other tools, please use static link option.

  • How do you use the custom fonts?

    You can use the custom fonts with app bundle its. On Anniversary Update, the custom fonts can’t share with other applications. When available Creators Update, you can use SharedFonts element , as result become its.

  • How do you use the appx symbol package?

    For useful crash report, you need to upload appx symbol package. We provide information on how to use appx symbol package.

  • How do you use deferent executable per file extension?

    For its, you use an Executable attribute of UAP3:Extension element. We provide information on how to use file extension settings.

Some issues and solutions:

  • Issue: How do you use the shell extension?

    On Anniversary Update, you can’t use the shell extension. As result remove the shell extension. When release Creators Update, Desktop Bridge supports the shell handler, such as preview handler, thumbnail handler, property handler. For its, you must user Desktop App Converter v2.0.2 or higher.

  • Issue: How do you use Windows Runtime API with minimum impact to the existing code?

    We recommended using the win32 dynamic link library to encapsulate Windows Runtime API code. Here is the DLL sample.

  • Issue: Can’t create the appx package by using Visual Studio.

    When using JavaScript project template, Visual Studio reported an error associated with the storeassociation.xml. Hence, we advised on deleting the storeaasociation.xml from this project.

3. Publish a UWP app to the Windows Store

Special thanks to Kazuki Tsuguma (Microsoft App Consultant), who helped to publish the Windows App. He was our teacher of publishing process. So, the package is now available on Windows Store. In publishing process, we received few questions about certificate criteria, then we gave an advice.

WindowsStore

App1App2

App3App4

Opportunities going forward

RootPro now has the app ready for Windows Store.
RootPro plan to support the shell extension and the custom font on next version.

Conclusion

RootPro successfully converted Hagaki Sakka app. They are expecting to have broader customer reach with Windows Store, and enhanced usability with additional functions. Here is a quote from our customer.

As more and more users use Windows10, we expected application downloads from Windows Store will also increase. Therefore, we considered to distribute our “Hagaki Sakka” through Windows Store, but we originally thought it difficult because “Hagaki Sakka” is developed with MFC, using Visual Studio 2015.
Desktop App convertor really filled the needs. We needed to do couple of minor changes on the program, but other than that, we only needed to audit xml file in AppX package. Microsoft team helped convert and put the app to Windows Store. Now we see the benefits of distribution through Windows Store both for developers and users.
Tomoo Kimura – RootPro, General Manager

Additional resources