Click here to Skip to main content
13,349,033 members (70,250 online)
Click here to Skip to main content
Add your own
alternative version

Stats

3.9K views
5 bookmarked
Posted 3 Dec 2017

Publishing to App Store, Play Store and Windows Store impression and experience

, 3 Dec 2017
Rate this:
Please Sign up or sign in to vote.
In this article I'm sharing personal and common experience that were received during last years working with application stores from Google, Apple and Microsoft

Introduction

All the things below are only my thoughts and conclusions. I may be mistaken in some aspects and some facts I'm sharing may be wrong or you may not agree with them. There are thousands of platforms where you may share your thoughts similar to what I'm doing here and read from other sources if you disagree with stuff below.

I have been thinking about this article for the last two years and always postponed it mainly due to the fact that I had a feeling that my knowledge about stores is not complete and I don't know something. During these two years all the mentioned stores have changed significantly so I realized that any point of time is good for the things I wanted to share here. In this article I want to share my experience and observations from work with applications markets from Apple, Microsoft and Google. I was looking for such an article two years ago when started to deal with applications stores. I hope this article will give some help to people that are joining army of applications developers and want to understand something about different market places and work with them. Experienced people may find something useful in my article as well.

Background

I work in software development industry and don't know any coworker who has no GREAT IDEA for mobile application. Mobile apps looks for us similar as gold mines in the time of gold rush. We know many success stories when one engineer who had nothing to eat and was very poor spent few weeks to develop some application or game and in few days he woke up multimillionaire and started to give interviews about his success. Indeed such things happen, probably some of them even with help of Google and Apple to keep interest for mobile development high. But for one success story we have millions of failures. If I see some interesting application I always check about its publisher. How many apps does he have, how successful are they, what else does this publisher propose, etc? It was always interesting for me to understand the minimum you need to be successful in application publishing business. Still I don't have a clear answer for this question but last few years gave me some thoughts I want to share here. Applciation publishing and development is quite intesive and dynamic world, new apps raise every day and I still believe everyone has a chance in this business now.

There are thousands of publishers but only few of them seem to be reach and successful. In stores we can see hundreds of thousands apps that are not supported anymore and I'd call them "zombie applications". I don't believe that even a very successful and complete app doesn't require at least one update per month. For me all these zombies are stories of failure because if the app is successful, a publisher for sure will continue its support. Basing on it we have another fact which confirms that probably 90% of apps in the store are failure stories that don't generate any profit for their creators. (I may be mistaken in number here and further but this article is not about statistics, you can find many statistical articles in web to understand mobile application business numbers). I don't know the secret how to be successful in mobile development but I know many mistakes and issues that every publisher has at the beginning. When you start this business you try to understand it and realize that there is no reasonable, actual and fresh information that will help you to start in mobile development and publishing. Those who tried to find "how to" articles that can help you to eliminate common mistakes and explain how to deal with stores will confirm that all the information we have in web is very old, or very primitive, or very high level, or, or, or. I really can count on my fingers good articles about mobile development that will help a developer to start faster. Believe me I tried to search them very hard. Not sure if this article will be one of those helpful things. In this work I want to share my real experience, my friends' and partners' and I really believe those who are starting  their journey to mobile app world and those who started it long time ago will find something useful here and our experience will help people to focus on correct aspects while they are creating their apps. So let's review applications stores one by one:

Apple App Store

Registration - The first market we tried and touched was Apple App Store. Till that time we hadn't had any experience with Apple and all the engineers related to the activities had never worked with any application store. It was pretty easy to register to App Store and create there developer account. First thing that was unexpected to us was that Apple requested to verify our company if it really exists. You have two options to register as a developer for Apple: as an organization or as a private person. When you register as a company, be ready that Apple will request you to provide DUNS number for your company. This number for us was provided by Dun & Bradstreet company and it took about one month for us to get this number, confirm we're an organization and start using it. If you're publishing as a company you should keep it in mind and take care about it ahead. Verification company will reach your government organizations to get confirmation that your company is real and registered in your country without any issues.

Application data content providing - when we started to deal with iTunes Connect and added there applications it was not very convenient. For example screenshots uploading was a pain. At the moment Apple removed many barriers and enhanced iTunes Connect. Still I have a feeling that many things may be improved. For example if I want to derive something from main language and customize it only for those languages I want. At the moment you should insert same data to many places. Using defaults will economize a lot of efforts. In general Apple created convenient infrastructure to create, register and deliver applications to store. In case you experience any issues it is very easy to contact Apple support. You will not work with robots there and a real person will assist you in a fast and professional way.

Application upload and review - this is probably most challenging and delicate thing in work with Apple. Every your delivery is reviewed by Apple employee. Yes, every your new application or update on current one is reviewed by human. Apple has rules to publish applications called "App Store review guidelines" and many of those rules are not straightforward. As any kind of law or rule Apple guidelines may be interpreted differently in different situation. This is what confuses many developers and I think this is the main concern that application publishers have about working with App Store. We know many stories when applications were deleted from store and developer accounts were locked. Many times this was justified and those developers tried to cheat the system, but there are many examples when developers have many challenges with Apple Review team.

For example one of my friends published 8 applications for language learning. One application per language. They used same materials and data but decided to come with application per language as it was better from marketing and discoverability. They released these application for about two years. After this time Apple come to them and said that their apps are clones and need to be combined to one application. My friend tried to negotiate with Apple representative without success. They deleted 8 successful applications from App Store. During discussion with Apple my friend pointed to their competitors. He showed more than 10 examples of well-known competitors that have application per language. Apple representative told him that rules are the same for everyone and competitors will remove clones as well. Guess the result.  All his competitors released more than 10 updates since that time and no one removed any clones. Thing that make him changed his business model dramatically is not applicable for bigger publishers, they continue to work in a way convenient for them. Apple works differently with different publishers and even with the same publisher but for another delivery. You don't know if your next delivery will pass. This is a fact confirmed by many publishers. There is human factor and your app always depends on reviewer's professionalism, point of view, mood etc. You may publish application, release dozens of updates and then unexpectedly at some point of time Apple will tell you that your app is wrong and should be removed or you need to rework it in a way that this will be completely different application. I'm not talking about spy software or something like this. This experience we received from applications in category Education.

 I must say that Apple has a way to appeal to the decision about your app and prove you're right. It really works and people there listen to you carefully. But this doesn't eliminate the fact that your delivery may be rejected five times in a raw with really strange comments and justifications. You explained to Apple how it should be, they agree and next delivery it comes again. We were able to negotiate one delivery several times like this and at next iteration reviewer was not so friendly. We received reject and had to change something that for us seems to be applicable and is not problematic. This human factor that Apple has from one side protects end users and is a great barrier from stupid, non-completed, problematic and other software. From the other side quite often it is a pain for developers. When you publish to Apple you should be ready to protect your software and have a lot of negotiations with Apple review team. They are really responsive and friendly but their rejects sometimes make you crazy about delivery process. One more important thing with Apple is that if you need to release new version very urgently you can request expedited review from Apple and in this case your changes will appear in Store very fast. We never tried this option and there is recommendation not to use it quite often, but we must say thanks to Apple for such a great assistance for publishers.

Application promotion strategy (keywords, description, etc.) - you have 100 symbols for defining your keywords for application using comma as a separator. Besides this after iOS 11 was released with a new market you have only 30 symbols for app name. If with keywords everything is more or less good then 30 symbols for name and few keywords is really small amount. If your app has unique nickname with 5-6 symbols and space after it you have a place for 2-3 more words and quite often it is hard to build something meaningfull in this scope. Apple decided to be similar to Android and show full app name for a user. About a year ago there were no limitations and many developers tried to put many keywords to their names. Those who passed a review in this way could have an application name something like this: "Calculator - mathematics, addition, substraction, percents, for kids and adults, school and university". User saw only first few words in the store and all the rest text was for keywords. This was ugly and this is good that Apple decided to limit app name. First they provided 50 symbols that finally reduced to 30. Funny thing is that Android Market increased from 30 to 50 at the same time. This added more complexity for us as application publishers as we need to maintan different names for Apple and Android if we want to use all symbols provided for the name. There are many articles about the way how to use your keywords and name in App Store. We found that keywords in Apple really work and if you selected correct words there your app can be discovered sometimes even much better than known applications. Actually App Store seems to be the only one store that gives you what promised and all your keywords are counted. You know that if you use your keywords for your app discovery finally you'll find it. Also it seems not to be a secret that keywords in name have bigger weight than those in keywords section. About a year ago Apple updated that app description will be parsed for keywords as well. We didn't see it actually works but after that started to work on app description much more carefully :) At the momeny our description fully correlates with keywords and looks Android style where app description is everything you propose to store and basing on it your keywords are generated automatically using secret Google algorythms.

 Bottom line here is that if you worked carefully on your app description and keywords then as a result target users will be able to find it. No, we don't know the secret how to make app on top charts or first lines of searches. We don't see it as a secret we realized that you need to build best in class application that is required by users now. All the rest is cheating and will give you only temporary success that may have negative overal impact. Our company creates educational software and this is now something unique our business model is "me too". All we can do is to try to create best in class applications and this is what we try to do now. We realized that there is no magic here and success in store as it is now is very hard day to day work.

Store statistics and tools - Apple has really good statistics and metrics that you can review. One thing that is not very good is that apple collect statistics only from users that agreed to share it. Basing on it you don't actually know the full picture and extrapolate you results to users that are not visible for you by Apple statistics. We realized that statistics that Apple generates is little bit obsolete and it doesn't have some useful metrics. We compensated it with FireBase that we add to all our projects. Having combinations of two analytics engines we can see full picture of our software usage and understand relevant for us metrics. Most efficient metrics from Apple that we use are: retention that is done really good (I suggest to add also user cohorts, hope Apple will do this soon), we see also split by countries, devices. Impressions and product page views are also great metrics to see if your SEO is done well. In comparison to Microsoft and Android metrics apple doesn't seems to be leader here their statistics was not changed for long time. We expect something new coming soon as impressions that were recently added and that are really cool metric. As I mentioned we had to combine Apple Analytics with FireBase only then we achieved expected level of control.

Microsoft Windows Store

Registration - Similar to Apple Windows store used Symantec as its partner to verify company identity for publisher that is not physical person. We collected and provided documentation to Symantec who is Microsoft partner and after that they did company verification and confirmed we can publish to Windows Store. It was easy actually. I don't remember anything special or complicated while registration for Microsoft store.

One thing that I should mention about Microsoft and will probably tell it several times further is that Microsoft constantly changes their web interfaces that you use as application publisher. When we registered there were few portals now all of them are combined to one portal where you can manage everything. It is more or less convenient now, but in comparison for example with Azure Portal that we also use for our servers I can tell that Development Console for application publishers looks uncompleted. Quite often there are many changes in Development Portal that interferes with each other. Almost constantly your data is delayed and Microsoft apologies about it. There is feeling that Development Console is fresh, it changes very fast that developers hard to follow these changes. In comparison to Apple where every change is evaluated and is done with high quality you have a feeling that Development Console is a field of experiments and this is startup that changes every day. In general there is a feeling that Microsoft still doesn't believe that the application store business is something that they need and plant to use in the future. As I said Azure that generates huge income for Microsoft looks much more mature and completed. During last few years we saw many positive changes in Windows Store and application publishing, but what we really missing is a feeling that Microsoft takes care about publishers same way as Google and Apple. Microsoft should believe in this business themselves and then this feeling will come to publishers and they will stop leaving Microsoft Store.

Application data content providing - as I mentioned Development Console from Microsoft changes very fast and if I'll start digging into details here this information will be obsolete in few months :). General feeling from Development Console is good. When you insert your application details and all the data it looks convenient. Many things feels uncompleted and work with bugs, but this is general comment that relates to whole console. Bottom line you can insert your data easily and fast.

Application upload and review - not clear but seems like Microsoft did a mix of what Google and Apple do for the app review. First time and then some selectable deliveries are reviewed by human and all the rest updates seems to be reviewed by robots. We didn't find anything like App Store Review guidelines for Microsoft. You can find some suggestions and recommendations in MSDN and other Microsoft web resources but they are not structured and separated as in Apple and Google. We received few rejections for our deliveries and it was really hard to understand what Microsoft wants from us. Not clear description. The process of review and communication between developer and Microsoft reviewer is not perfect. This is for sure not Apple way of support. We see some progress here from Microsoft as well, but as a publishers we don't feel comfortable with it.

Another point that should be mentioned here is SDK versions and Visual Studio updates. We saw a regression that happened in our applications, they crash after Microsoft released some updates. For example we used banners from Microsoft (yes in Windows apps you can't use banners networks from other providers besides Microsoft) and they changed something in the way banner should be used. Immediately all our aps started to crash while loading banner. We received dozens of negative reviews and complains from users. Microsoft didn't send us anything about it. One more time we don't see a dialog between us as publishers and Microsoft as store owner. We try to follow all rules, create Universal apps, use latest tools etc. but this doesn't guarantee us success. We have a feeling that many crashes we have are not related to our software but to Microsoft components. Please don't take last statement it as a fact as this is our subjective opinion.

Application promotion strategy (keywords, description, etc.) - guys, I don't know what to say here. We're confused. We didn't see limitation for name duration and names are managed separately in this store. We tried to use normal duration for name with few keywords inside. Besides name you have description, that doesn't seems to be counted for discoverability. After description you have 7 keywords. How to use them? No rules, this may be word or word combination. In both cases we're not sure it works at all :). We have a feeling that Windows store provides you random applications when you do search by keywords or name. Even search by name works strange. We tried to find by our keywords, guys only 7 keywords per app!, and it doesn't work for all of them. Why do you give me 7 slots for keywords when I can't find then my app using them? How do they test it? Too many open questions and too many reasons to quite this store.

We read many complains about application discoverability in store and adding our vote to those developers that complain. Even if you developed nice application and created correct keywords for it this doesn't guarantee your app will grow in search results. We don't have any idea how to promote your app in Windows Store. If Apple and Google give you at least some ideas like constant updates, good statistics, good user feedback, etc. then Microsoft is silent here. During last two years we tried to understand at least some trends in Microsoft store without any success. This is very problematic to be a publisher in such an uncertainty. As thousands of developers we decided to stop many projects and not release them for Windows platform as we're not sure that they will be found and used by users. This makes our investments in such projects to be very risky. If Microsoft wants publishers to go to their market they should explain to us rules of the game at least at Apple's and Google's level. They already started to do some steps in this, we see new advertisement networks added to Microsoft pool and monetization from ads started to grow slowly. We plan to continue with Windows Store but with flagman projects, small things will not be there due to problems with store I described above. In general as big Microsoft fun I really hope that Windows store will be such commonly used as the ones from Google and Apple and development of Windows apps will bring same profit for developers. There are all conditions for this and we need only more attention from Microsoft.

Store statistics and tools - despite all my complains about Windows store I can say that their statistics is the best. You can't connect to your application such third party as FireBase but actually you don't need that. Microsoft provides you excellent statistics that can be easily used to understand your product details. Very good work and nice done. Microsoft concentrated on metrics that are relevant to developer and such areas as usage, acquisitions and real time are really great. This is something that we expect in all stores. Microsoft Analytics is really the best one in market. Again I'm not diving into details as it may be totally changed in few weeks :) but during last two years we were happy to use analytics for Windows Store and I believe it will become better in the future. Every user is counted and calculated not as in Apple and this gives you exact numbers which is pretty well for analysis.

Google Play Store

Registration - registration and work with development account in Google is very easy. I don't remember any issues we experienced with Google. I don’t know many people without Google account so if you have it you can connect all your data to this account. Application delivery and management is convenient as other Google services related to your account. We had also account verification and performed necessary steps here, but if I remember correctly this was the easiest way to register as a publisher.

Application data content providing - Google Development console is well developed and has many areas where you can enter and edit data about your application. From our perspective Google Development console is quite complicated in comparison to other interfaces for publishers. Interface is not straightforward and to complete your application inserting to store you need to jump between many areas where you need to insert data. When you do it first time you're confused and many things are not clear for you. Interface is far from iTunes connect with its simplicity. From the other side in Development console you need to insert less data as many things are derived from one language to another and you customize only things you need.

 Google has their service to translate your application description and content to any language you need. We didn't use it as it seems to be quite expensive in comparison to independent translators or translation agencies, but in general idea looks great. If you have successful project that generates you a lot of money you don't need to hire translators and look for agencies, you do everything inside the tool that you use for publishing apps. What is really cool in Google is that you can change your application metadata in the store without publishing new version of application. Very convenient and here Google really takes care about publishers. You can have SEO people working on app absolutely independent from developers and plan their work as they want and not connect it to another release.

Application upload and review - Google Play Store is known as most democratic platform that gives everyone to release applications they want. You can release few dozens of new calculators, you can release your control work, some test, ugly, buggy, not completed application, etc. No one cares, BUT it is partially true. Google has review for applications especially those that are related to kids and participate in "Designed for families" program. Google reviewers in many cases look like robots and their responses to your delivery is not always clear. They use templates for replying to you and you don't have feeling you work with people as in case of Apple reviewers. Seems like Google has reviewers department but they behave like ninjas and appear when it is required for them not you. You don't have an open channel with reviewers from the Development Console (at least we didn't find it). With Google you have a feeling you work with software not people. Our personal feeling is that it would be great to add little bit more channels between real people in Google and publishers.

What is also very convenient and we like a lot in Google is work with releases. You fully control your alpha, beta and production. You can promote alpha to beta and then to production very fast. Release management in Development Console is really strong and what is important fast. You don’t need to wait few days as in case of Apple and Microsoft. You changes appear in store in few hours. Sometimes we can release three versions in one day due to many reasons and it works out of the box. You have full responsibility for you work and releases and Google provides you with tools to do this, not more.

Application promotion strategy (keywords, description, etc.) - recently Google increased symbols that you can use for application name from 30 to 50. This is significant change and you can put many keywords in your application name. We don't know for sure but everyone says that keywords from name have higher ranks for search. You need to think carefully and use 50 symbols for application name carefully. After name there is short description where you have 80 symbols. We think that here keywords should be used as well, no confirmation for this and probably you can use here whatever you think is necessary and not only keywords.

After you inserted name and short description it is time for description itself. In Google application promotion this is the most important thing. Your application description as well as other data that is smaller is parsed by Google and basing on it Google builds keywords and probably some other metrics to show your application in search results. Your description should be meaningful for user and should contain your keywords mentioned several times. This is not very easy to write good description for Play Store. Google doesn't give any recommendations here and  we were not able to find anything reasonable in WEB besides the fact that words that you treat as keywords should be present in the text several times. It would be great to hear something about this from Google but they don't share anything besides common phrases. Probably afraid for publishers to cheat the system.

Few words also about application promotion in the store - we don't know any techniques :). We tried frequent releases, changing texts, some other actions and it didn't change our downloads number at all. When we do the same search from two different devices our application appears in different positions. We realized that Google makes app search personalized. Basing on it we don't have any idea how to promote our application in the Play Market. I'll say obvious things but it seems like the best promotion is the great metrics and constant growing. Having this you don't need to take care too much about your application texts and keywords.

Store statistics and tools - Development Console doesn't have too much metrics and they looks poor in comparison to other stores. Statistics panel shows very basic things and you for sure need to integrate here with another great thing from Google - FireBase. One cool metrics that Google has is number of installations on active devices. It is calculated as number of installations minus number of uninstallations. Yes, Google shows how many people removed your app :). This is hard metric for developer but it opens your eyes fast and you from my perspective this is the best metric to measure product health.

General things that we learned from using market places and publishing apps

Time\Date for the first release. In many articles and blogs you'll find that the best time to publish new application is Christmas and New Year time as many people stay at home and according to different statistics this is the time when people download many new apps. I agree with this but only partially. Why? The statement above is correct for huge publishers that have big experience and release application that is mature and they know what to do. If you're not so big and successful than publishing during the hot time may work to you opposite and people may neglect your app because someone famous and reach (read can advertise his app at top level) will publish some app even in your category that will move people's attention there. Second thing here is that Christmas time in one country may be usual week in another, for example in biggest market in the world Chinese Market at that time there is nothing specific. My personal feeling is that you shouldn't connect to any time or period and release your app when it is ready. Of course you should take it in mind and not release educational app for kids during summer holidays, but in general if you release great application it will find its audience independent of time of the first release.

Downloads is the most important metric. I disagree. As probably all beginner publishers first thing I was looking for how many people installed my application today, last week, last month, etc. It is important indeed, but what really important is the number of people that stay with your app and use it after installation. I prefer to have 100 downloads a day from where 50 people will stay with my app rather than 1000 downloads a day where 20 people will stay with my app. Number of downloads seems to impact your position in the store, but it is not direct dependency and you shouldn't focus on it at all.

Usage of tools like App Annie and Sensor Tower. Probably for big publishers portals such as App Annie and Sensor Tower may give some input to fine tune their application promotion and marketing. For those that only starting their business it is more than enough to use metrics from stores. We also recommend FireBase from Google in addition to it. Having combination of store statistics and FireBase it is more than enough for you to understand how your app is going in market and if it is popular or not.

Mobile advertisement. Honestly we have no too much experience in this area, but one thing I can tell for sure. It is very hard to make money from mobile advertisement. You shouldn't expect big income from your banners. Don't rely only on banners thing about different strategies for your application monetization. Keep it in mind when you plan the profit from your application. Ad networks pay only for clicks. Users are full of advertisement and ignore your banners automatically plus many of them use different adblock software so to make good money from advertisement you need to have really big amount of active users. In addition to that ad networks use their algorithms to prevent occasional and other clicks that were not correct from their side. We can see that many attempts to show advertisement are not successful. Ad networks for sure have explanations for them but this doesn't make you more money. As I mentioned we're only diving to mobile advertisement and probably somewhere in the future I'll publish another article about this experience.

Metrics are different - same application shows different metrics when you use different platforms for calculation. For example Firebase shows us 10 application purchases while in Apple we see only 8 payments :) You shouldn’t rely too much on these numbers and expect differences. Besides this you should count some devices that are offline and don't send any statistics.

 

Conclusions

As a final conclusion I want to say that after two years of work with three biggest stores I have a feeling that my company works with three organizations that are not aware about each other. In general idea of application market is the same for all of them and realization seems similar. Overall concept is that you upload an app and earn some money from it together with the market place provider. All the rest is very different. Each market place has great ideas and things that seems to be easy implemented in other places, but there is constant feeling that no one from Apple never used Android Market and people from Google don't aware that App Store exists. Microsoft in its turn decided to reinvent bicycle again and experience of Apple and Google is neglected there. They want to go over all the mistakes and issues of existing stores instead of review them and create something really new and fresh. This is not critics, I can imagine how hard to build the store with all its huge data bases, metrics, processes but why not review and derive best things from competitors this is not clear for me. Some things seems so easy to do but they are not implemented for years, while some crazy and complicated things that no one cares are done.

It is not easy to publish apps now and work with different platforms. We always should stay tuned as apps developers to survive with our publishing platforms. Apple, Google and Microsoft constantly create\change rules of the game for us and sometimes this make you very angry on them, but this is our reality and if you decided to be application publisher, you need to be ready that this is very dynamic environment and things do not stay constant here. From the other side Apple, Google, Microsoft and other market places give us unique chance that was not available for developers 10 years ago: chance to present your application in front of the whole world fast and efficient. This makes me exiting about application markets and all I want from them is clear rules how to use them. For me developing and publishing applications is a cool game that you play against billion of users and I wish you to win this game with your application.

P.S. I'm looking for your feedback about this stuff. Please share your experience with stores. I'll integrate it to this article and all together we will help new people to start smoothly. Appreaciate your feedback.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

Share

About the Author

Sergey Kizyan
Architect
Ukraine Ukraine
Working on different projects and technologies from web to low level core programming, from scripting languages to C++. With all this stuff my personal opinion is that C#,.NET and Microsoft environment is the best thing programmer may have. Basing on it I prefer to publish only about my favorite technologies that are .NET and Azure now.

P.S. Looking for partnership and cooperation in outsourcing.

You may also be interested in...

Pro
Pro

Comments and Discussions

 
GeneralMy vote of 5 Pin
DrABELL4-Dec-17 10:39
professionalDrABELL4-Dec-17 10:39 
GeneralRe: My vote of 5 Pin
Sergey Kizyan4-Dec-17 11:29
mvpSergey Kizyan4-Dec-17 11:29 
QuestionEasy 5 Pin
Franc Morales3-Dec-17 14:20
memberFranc Morales3-Dec-17 14:20 
AnswerRe: Easy 5 Pin
Sergey Kizyan3-Dec-17 22:22
mvpSergey Kizyan3-Dec-17 22:22 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

Permalink | Advertise | Privacy | Terms of Use | Mobile
Web01 | 2.8.180111.1 | Last Updated 3 Dec 2017
Article Copyright 2017 by Sergey Kizyan
Everything else Copyright © CodeProject, 1999-2018
Layout: fixed | fluid