A couple of weeks ago I received an awesome e-mail from a customer, Vladimir Atanackovic. We have exchanged e-mails before. As a TMS Business customer, he was using TMS XData and naturally asking for help here and there with technical issues.
Our previous e-mail conversation was four months before, just a regular support question, but this one was different. He sent a kind e-mail for letting me know that his company has finally released their application, HealthLy, built with TMS XData.
HealthLy is a mobile application, available for iOS and Android, that help users to manage their health life: track health data, provide reminders for taking medicines and injections, monitor health indicators, organize doctor appointments, offer information about drug interactions, etc.
In this blog post we added some screenshots of the application, but of course you are invited to visit the following links to know more about it, or even download and use it, it never hurts to take better care of your health!
HealthLy for iOS (App Store): https://apps.apple.com/us/app/healthly/id1536292632
HealthLy for Android (Play Store): https://play.google.com/store/apps/details?id=com.healthcarecentral.healthly
HealthLy web site: https://HealthLyApp.com
It was so nice to receive a personal message as a feedback from a customer, and even nicer to see our product, TMS XData, helping to build such a well built, well regarded, professional product like HealthLy (I has received 5 stars in both Apple and Google stores).
Vladimir shares his experience
After that, I asked Vladimir if he could share more technical information for the readers of this blog. He kindly agreed, and I sent him some questions. The pace of the "interview" or the questions might look a little strange, but it's just because all the questions were made in advance without a previous answer.
If you are a TMS XData user, I hope you will find encouraging to see how many nice things can be built with it. If you are not a TMS XData user, well I can only invite you to join the family! I hope you like what Vladimir has to say about his development process, XData and, of course, HealthLy.
Wagner Landgraf: Can you please say in a few words for our audience what is your application for? Who can benefit from it?
Vladimir Atanackovic: Managing all the aspects of health development and history can be a big task. Even more challenging is when a person is struggling with a chronic condition or is helping someone else in that struggle.
Personalized health management depends heavily on health data analysis and well-organized health-related activities. HealthLy is a health management system and a companion.
It is encompassing the crucial health improving and monitoring tools together with personal health data to create a platform for individuals, families, and physicians, or pharmacists.
Two years ago, in order to validate our idea, we created a mobile app Tableta, designed only for a local market and with limited features. Through the organic growth and no marketing money, we have managed to reach 3,000 users and achieve 4.8 stars ratings on both PlayStore and AppStore.
WL: I see your app has 5 stars score in both App Store and Google Play. Congratulations about that! What do you consider are the strong points of your app and what makes it so appreciated by your customers?
VA: HealthLy has 5 stars score in both App Store and Google Play and about 50 reviews till now.
I think the biggest strength of the app itself is precisely the team of people behind HealthLy.
The team includes professional and good developers, people from the medical profession, as well as from business.
The application is very intuitive, and we have 2 years of experience with the MVP application Tableta, as well as 20 years of experience of people in the field of medicine, exclusively in working with patients, who are an important part of our team. We strive to create an application that is easy and intuitive to use for patients (of all ages), and which in turn includes the ability to monitor everything related to user health.
I think that the strength lies in covering all the needs of users in the easiest, fastest and simplest way possible. Of course, we put a lot of energy into the security and stability of the application itself.
WL: What did you use to develop the frontend and backend of your application?
VA: As the idea creator, and at the same time an experienced Delphi programmer, it was logical for backend to be developed in Delphi. In addition to decades of experience working with Delphi, I did not work with backend programming before this project, I mainly developed Windows desktop applications.
Exploring which tool is best and easiest to use for backend development, I came across XData and blown me away by the ease, speed of development, as well as scalability, simply “that was it”.
The frontend was developed in Kotlin for Android and Swift for iOS. The Delphi community in Serbia is relatively small and this was, somehow, the most logical solution for the front, in order to quickly gather a great team of developers for the frontend.
WL: What is the architecture of the backend, hardware used, costs…?
VA: Server is hosted on MS Azure in USA (because application is covering Serbian and US market at the moment, and we are currently planning expansion on EU). We are using XData Console Application, base is FireBird 2.5 (planning 3.0 soon).
Application is not very demanding thanks to XData performance and server that we are using is Windows Server 2019, 2 cores i 8GB RAM.
We also used blob fields in the database, but we also save larger files on Azure Blob Storage.
Backend costs are affordable for now. Once again, XData is a great product that manages data very quickly and well without too much hardware requirements.
WL: How was the development experience? Was the learning curve steep, what were the main difficulties you had?
VA: The development experience, in addition to a lot of challenges and new things that needed to be learned, went quite quickly and easily. The challenges were great, switching from desktop applications to cloud based applications is not easy.
Delphi is something I love and a lot is known, XData just builds on previous knowledge, the challenges were somehow on another field.
For the first time, I also encountered Google Payment and Apple payment APIs related to subscription applications, etc. Other things were more or less familiar. We also tried to prepare the application for HIPAA compliance, for which we plan to apply in the USA, so we had to study and research there. One of the challenges is the security of the database and data, encryption of the same, because it is also sensitive, health data of users.
WL: What good surprises, good experience you had during the development?
VA: Every new thing I learned made me even more interested in the possibilities of the environment itself and the improvement of the application itself. XData is a really great product, very fast to learn, but also very fast and stable to use.
I also remember one true anecdote during development: when we included one frontend developer in the iOS team, he was looking for something from the server and the GET was so fast that his comment was: it's coming from a local core data. Then I told him it was not, it came from the server 🙂
Indeed, most XData functions depend only on the internet flow of the frontend application, and the server is so fast that you often have the impression that it extracts data locally.
WL: How is the reliability of the solution? Did/do you have any issues with memory consumption, stability, performance…?
VA: The solution is very stable and there are very little resource requirements. I have followed it a lot and believe me, I execute queries over large tables very quickly with a very small load on memory or processor. Our database contains a complete database of FDA drugs, as well as over 250,000 pharmacies and hospitals in the USA and Serbia with all address data and the codebooks themselves are over 1.2 GB of data, the server is almost "playing" with the data 🙂 We also supported the Cyrillic alphabet for users in Serbia and behaves well there.
WL: Is the server heavily requested? Are you allowed to share numbers like user base size, and/or number of simultaneous requests, or something like that?
VA: The server is not heavily requested and I am very enthusiastic about it. As far as user data is concerned, it's hard for me to say for now, because we are just at the beginning, but we have a constant growth of new users and downloads.
I can say that we had the most access when we appeared in Serbia on national television and presented the application, then over 1000 users registered in less than 15 minutes and it went very well.
The application itself in that part is not demanding, you update the therapies, enter examinations, health indicators and sometimes there are a lot of users, and sometimes less at the same time. What is important is that the server works great and XData really solves it perfectly.
WL: Were you satisfied with the support you received from TMS Software? Was it valuable to have a company behind the product to help you out and guarantee bug fixes? What could be improved in the support?
VA: Now here to praise you and really you personally, you answered my every question and email very quickly and helped me solve the problems. TMS is a great company and I am a very satisfied user, so I can only say the best.
WL: Anything else you would like to comment or share to our audience, who are mainly Delphi developers looking about how to bring their applications to the cloud, build mobile solutions?
VA: A warm recommendation that if you plan to develop applications to the cloud XData is a very good solution for that, it works quickly and reliably. It is easy to learn if you are a Delphi programmer and have experience working with databases.
I just want to send a big "thank you" to Vladimir for building such nice application and having the time to share his experience with us.
What about you? Did you find it interesting? Do you also have similar stories to share? Comment below or send us a note, we are eager to know the great things you are building with TMS solutions over there. Let us know!