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.

A bit more formally:

  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 frequency of updates, 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 statistics of requests (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 was the result:



From the interesting: I had to pick up and reassemble the source library of the graphs to get the certification of the application.

Technical details
Уже в процессе подготовки к публикации приложения выяснилось, с помощью Windows App Certification Kit, что внутри компонента есть некие вызовы kernel32.dll. В частности, были две ошибки:
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.
Оказалось (после гугления и перебора исходников), что в компоненте, написанном для Windows phone присутствует директива #if WPF. Кусок кода не использовался, но при это ломал тест сертификации. Закомментировал директивы, скомпилировал и, вуаля, все тесты прошли. Было очень неприятно узнать о подобной ошибке в самом конце выпуска обновления. Но повезло.

Some statistics of requests by June: The



written service gave the following information on the use of tiles:

  • 125 users with 0 tiles - mainly used by the application directly
  • 260 users with 1 tile
  • 175 users with 2 tiles
  • 61 users with 3 tiles
  • 7 users with 4 tiles
  • 1 user with 6 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 was the result:




Statistics:



The numbers are not transcendental, but for me it is very pleasant. 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 was the result:





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


Subsequently, another 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 tiles or specific problems of the 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 in general there will be no system updates and “buy new phones”. And for the application it was a shame, especially considering the positive, in general, user feedback.

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

Also popular now: