📜 ⬆️ ⬇️

Windows Phone 8.1: Post development nostalgia. The history of one application

Greetings, Habr!

The post is inspired by the news about the termination of support for Windows 10 mobile .

Being one time the owner of Nokia Lumia 925, I will tell about one of my handicrafts in the field of mobile development under Windows Phone 8.1.

Appendix: "Exchange rates of the Central Bank of the Russian Federation." Prehistory


It was the end of 2014 and something truly strange was happening. The dollar grew, the euro was not inferior, but a vacation in a few months was already planned and it was time to buy this currency, or at least keep an eye on it.

Not finding anything useful on the Windows Phone Market, I decided to try to write something “for myself”.

In the end, it is not so difficult - I made an application on my knee, flooded the assembly on the phone and you live well for yourself. And if you like it yourself, you can download it to the market, even if it is good for others.

PS "Nothing useful" implied filtering applications with a terrible amount of advertising (by golly, what was wrong with you?).

Version number 1


The goal: to create a simple application with the only opportunity - to see the exchange rates in the application and create a tile on the main page

Slightly more formal:

  1. The easiest UI
  2. Table with the price of currency for today / tomorrow
  3. Ability to create a tile on the main page
  4. No ads

What was the result (unfortunately, the screenshots of the first versions of the tiles were not preserved):



Intermediate service


Tiles are accessed by reference to a written service that accesses data from the Central Bank and caches them for a day, because The Central Bank does not update the data more often. Those. The application does not work with real-time data, because The very concept of tiles does not allow for frequent updates.

The minimum update rate, as I recall, was around half an hour.

Who would know how many comments and minimum stars I received for creating an application with “incorrect data!”. Adding information about the frequency of updates in the next versions did not change the situation - users continued to periodically write about bad data.

In addition to requests for data, the service itself allowed collecting small statistics on the use of the application. At first, the request statistics (each tile = request) was as follows:



Version number 2


Purpose: Comments appeared unexpectedly from users asking them to add a graph of the dynamics of changes in rates.

What happened in the end:



From the interesting: I had to pick up and rebuild the source library of graphs in order to get an application certification.

Technical details
Already in the process of preparing for the publication of the application, it became clear, using the Windows App Certification Kit, that there are some kernel32.dll calls inside the component. In particular, there were two errors:
API CreateFileMappingA in kernel32.dll is not supported for this application type. Sparrow.Chart.WinRT.45.dll calls this API.
API MapViewOfFile in kernel32.dll is not supported for this application type. Sparrow.Chart.WinRT.45.dll calls this API.
It turned out (after googling and sorting through the sources) that the component #if for the Windows phone contains the #if WPF directive. A piece of code was not used, but it broke the certification test. Commented out the directives, compiled and, voila, all the tests passed. It was very unpleasant to learn about a similar error at the very end of the update release. But lucky.

Some statistics of requests by June:



The written service issued the following information on the use of tiles:


Version number 3


Purpose: inspired by the requests of users (two people asked, but this is enough), I decided that to be a new design.

What happened in the end:




Statistics:



The numbers are not exorbitant, but for me it is very nice. Slowly but surely, the number of users increased.

Version number 4, the final


Purpose: this time was inspired by the new design of the application for VKontakte. Yes, and MVVM had to be rewritten at last. Yes, and courses of oil and metals add.

What happened in the end:





It is evident that at this moment I wanted to earn some money on a voluntary donate. It was possible to earn something around 800-900 rubles, which could not be withdrawn. Thank you Microsoft for a minimum withdrawal size of $ 25.

Final statistics:



In custody


Later a stopwatch timer was written, but nothing interesting about it. It just works with all the limitations of the system, of which there were a lot.

Fuse for the development began to disappear when it began to appear more and more comments from users on Windows Phone 10 with requests to correct the size of the tiles or the specific problems of the new system. At the same time, as my device was categorically not included in the list for updating the platform with Windows Phone 8.1. Desires to lay out at random, testing only in the emulator, especially not.

Then came the news that there would be no system updates at all and “buy new phones”. And for the application it was a shame, especially considering the positive, in general, user reviews.

On such a note and finish nostalgia development post. Thanks for attention.

Source: https://habr.com/ru/post/437260/