Blog

Alex Gorodov

What’s holding mobile app developers back from Flutter?

Posted by Alex Gorodov on August 13, 2019

“What’s the difference?” “Why switch?” You probably ask yourself first. If you work in the area of cross-platform development, you might wonder if and how it is more efficient than other native app development solutions.

Flutter is one of the most effective cross-platform solutions for app development. Having intuitive UI, Flutter is growing fast among development companies worldwide. Google released a new open-source solution, which supports the cross-platform applications development using a single codebase. In other words, it can be run on both Android and iOS. Flutter is an SDK – software development kit. This SDK already includes everything required to develop cross-platform applications, such as ready-made widgets, testing and integration APIs, rendering engine, and command-line tools. That’s why this solution helps developers to significantly save time and resources on creating applications for both platforms.

Until now, React Native used to be the most popular framework for developing cross-platform apps. It began as an internal secret project at Facebook back in 2013 and was announced only in 2015. At that time React Native allowed using some native development functions.

It brings quite inclusive widgets. React Native doesn’t have such an extensive choice as Flutter has. Furthermore, some of these components are adaptive, so they are able to evaluate which platform they are running on and deliver the compositions relevant to the specific platform.

Though React Native saves resources required to deliver an application, it still lacks in the area of performance and UX. React Native has more numbers of packages available, because of staying at the market for more than three years. Here Flutter is clearly losing.

At Google I/O 2019, Google assured that Flutter is also expected to be used both for web and desktop app development.

What’s so special about Flutter?

Flutter has a lot of benefits. It has achieved dominance in the market thanks to a large community of developers and other app owners. Let’s look through the advantages of a new solution for developing mobile applications.

Single codebase for two platforms

Flutter is a cross-platform tool. So its major advantage is the single codebase for Android and iOS that allows developers to release app updates simultaneously. Its widgets support platform-independent code creation. However, Flutter can also build separate apps.

Faster development

Hot Reload is another great feature of Flutter. It allows changing your code and looking through the updates in the UI immediately. Flutter contains Hot Reloading out of the box, no plugins or any configuration is necessary. Flutter improves the productivity of developers very quickly. Hot Reload has benefits in bug fixing. If you have a build error, it will show a message saying that Reload not performed. After the correction of your issues, you save it and the application will still be running.
With regard to simplicity, Flutter declares in the documentation that coding with Flutter is so easy that no previous programming knowledge is required: “Experience with object-oriented languages is definitely helpful, but even non-programmers have made Flutter apps!”.

Support for multiple devices

With Flutter, you can develop applications that run on different devices and even older versions of them. The new solution allows reuse of your existing Java, Swift, and C code to access native features and SDKs on iOS 8 and Android.

Great UI

The cross-platform solution uses widgets to build UIs. Flutter offers a widget approach. It provides a modern, reactive framework, and an extensive set of platform, layout and foundation widgets. Widgets allow developing user interfaces of any complexity that are no different from native UIs. Moreover, widgets in Flutter are not only used for views. They’re also used for entire screens and even for the app itself. You can also customize your widgets as per your requirement; this gives quirky and distinctive attributes which will be loved by your clients.

Effective testing

The new tool supports unit, functional, and UI testing that is accompanied by detailed documentation. Widget testing allows running UI tests quickly and effectively. In addition, Flutter Driver class allows to drive the application in another process and delivers different useful methods to test user interaction and interface of the app.

Why isn’t Flutter the top app development framework yet?

Although Flutter is noted for many of its interesting features, it is still not as enhanced as native development and has some drawbacks which do not let it become the top app development framework, at least for now.

Like all new tools, it may experience issues of relatively fresh technology. And though it has a significant Google support and offers great functionalities ready to be implemented, it’s still new, its libraries are limited. All that is the reason why its functionalities need to be developed by the application developers themselves that can be quite time-consuming. Some developers claim that it could not be used for building a complex commercial app yet and it’s better suited for simpler apps and prototyping. That’s why we at QuickBlox doesn’t use Flutter these days.

Another drawback is that Flutter only serves the mobile application and isn’t supported by website browsers. Flutter is not made for maximum device flexibility.

Another reason why it is not the number one cross-platform solution is Dart. Developers creating native Android and iOS apps hold back the study of another programming language. Dart is used for Flutter’s development and has both benefits and drawbacks. It is an object-oriented programming language. Not many smart developers experience Dart, and it can be challenging to find new specialists in your team. It is an essential factor to keep in mind when going for a cross-platform approach.

To sum up, there is no question that Flutter is currently one of the most exciting tools for building mobile applications. It is the right solution if you need a mobile app development tool that has a high performance, accessibility and internationalization, ready widgets, and immediate updates. However, take into account its disadvantages in order to avoid all unpleasant surprises.

Alex Gorodov

Benefits of real-time features in your mobile business app

Posted by Alex Gorodov on July 18, 2019

Today, real-time features are more important than you may think. You can find them in all sorts of apps for one simple reason – these days, we want everything as quickly as possible, preferably, right now. Users want to track taxis or pizza orders on the map in real time, freelancers want to be alerted of potential jobs immediately, customers want to be notified of their order dispatch the very minute it left the warehouse, and if anything worth our interest happens, we all want to watch it live.

These days, virtually any app can benefit from real-time features. They have different formats and can be applied in almost any customer-facing business. However, all of them will potentially increase user engagement by allowing to multi-task and not distracting users from other activities.

Real-time messaging

Real-time messaging is, probably, the most popular of the features that we are going to discuss in this post. The market of messenger apps is growing and attracting more users with each passing day. WhatsApp, an absolute leader on the messenger app market, has 1.5 billion monthly active users and 500 million daily active users. Other popular apps have similarly high figures. At the same time, enterprises also tend to implement internal communication solutions with real-time messaging functions.

What is so attractive about real-time messaging? If compared to the way we used to communicate about two decades ago – sending SMS messages and waiting for an answer – real-time messaging has a bunch of great features:

  • User status. In today’s messengers, you can immediately see who is online or not, who is in a call, and who does not want to be disturbed right now. User statuses help to plan communication more effectively.
  • “Delivered” and “Read” indicators. Knowing that your counterparty has received and read your message allows assuming that a response will follow soon enough.
  • Typing indicator. Seeing that the person you are communicating with is typing in a chat shows that your message has reached the recipient and that they are ready with the response.

Possible use cases

If we tried to list all possible use cases of real-time messaging, we can go on for days. Let’s look at the most common examples:

  • Popular messenger apps that people use to chat with each other. Real-time chatting makes communication as close to actual talking as possible.
  • Various on-demand apps. Taxi services, food and other deliveries, household services, such as cleaning or laundry – all of them can benefit from real-time messaging.
  • Healthcare apps. Patients often need their doctor’s consultation quickly, thus, chatting in real-time is an effective solution.
  • Enterprise apps. A live chat can be a channel of quick communication and on-the-fly discussion between enterprise employees regardless of where they are located geographically.

Location tracking and sharing

Since most mobile devices are now GPS-enabled, it is easy to share your exact location via any messenger app or social platform. You can either share the geographic coordinates of your location, the address or the name of the place if it can be resolved.

Possible use cases:

  • Taxi apps. In a taxi booking app, users can monitor the taxi position on the map and follow its movement. At the time of booking, they can find the drivers that are in their vicinity. The drivers, in their turn, can build routes to their customers from their current position and calculate the time they need to reach them.
  • Delivery apps. With location tracking, users can follow their order moving to their place and evaluate the ETA. 
  • Logistics apps. For logistics companies, location tracking is a useful tool to find where all their vehicles and cargo are at any given moment in time. 

Multi-user collaboration

Collaboration apps allow several users to work together on the same project in real-time. Google Docs is the first thing that comes to mind when real-time multi-user collaboration is mentioned. Google Docs is definitely the most popular among collaboration apps, but any enterprise can implement an internal custom solution tailored to its specific requirements.

Possible use cases:

  • Enterprise. Each business produces volumes of documentation that need to be collaborated upon. With a tool that can synchronize and merge all updates made by different users, documentation management becomes more streamlined.
  • Freelance platforms. Often, several freelancers join forces to complete a single project, and they will appreciate a real-time collaboration tool allowing each of them to do their section of the work.
  • Healthcare. Patients sometimes need to be examined by several doctors either to form a complete picture of their condition or to get a second opinion. Allowing doctors to add their notes and comments to the patient’s record will produce a document that can be accessed by multiple doctors and will be as up-to-date as possible at any moment in time.

Live streaming

Apps creating data and simultaneously delivering it to end users have become extremely popular. The ability to see things as they develop creates a sense of close involvement and makes users greatly engaged in the content.

Possible use cases:

  • Media and entertainment. Of course, these are the primary users of live streaming apps, as their main goal is to deliver news and action to the users as soon as possible, preferably, in real-time. 
  • Social networks and blogging. Often, opinion leaders use live streaming to communicate their messages or show the events they take part in. Live streaming gives them the opportunity not only to deliver their content to the audience but also to establish real-time communication with them. Users watching live streams use the accompanying chat feature to comment on what they see or ask questions to the author.
  • Real estate and tourism. Live streaming can be used to organize virtual tours around real estate properties or vacation places. This way, buyers or tourists can “walk through” the place right from the comfort of their homes to make a better informed decision.

Push notifications

There is hardly any app that does not use push notifications nowadays. At the very least, push notifications inform users about app updates that need to be installed and deliver other service messages. However, many apps use push notifications to achieve their primary business goals.

Possible use cases

  • Health, diet, and fitness apps. In this area, push notifications serve as reminders to perform an action – to drink water, exercise, take medicine, test blood pressure. Push notification help users keep to their health or fitness plans.
  • On-demand apps. Here, push notifications work both ways – for customers and service providers. A taxi driver or freelance worker can be notified of a potential order, while their customers will be reminded that the taxi has arrived or a section of the work has been completed.
  • Delivery apps. A delivery service can use push notifications to send order status changes to customers.
  • eCommerce apps. Push notifications can have multiple uses in eCommerce – from informing customers of selected products being back in stock and of any upcoming special offers to sending order-related information.
  • Banking and finance apps. Banks can communicate with their clients via push notifications to remind them of a next loan payment due soon or a procedure change.

Summing up

The world is picking up speed, and app users do not want to wait for information. They want it here and now, and this is exactly why real-time features are becoming critical for most customer-facing businesses. Real-time features engage users and create more satisfactory experiences.

Want to include real-time features in your app? Contact our experts, and they will gladly consult you on the best way to implement real-time functionality that will be the most optimal for your business.

Alex Gorodov

QuickBlox chat statistics for businesses: what does it give?

Posted by Alex Gorodov on July 1, 2019

Apart from their primary purpose – providing a communication channel between a customer and a service – live chats can be a bottomless source of useful information for the business. Chats can give valuable insights on how your customer service performs and whether your customers are happy with you. If you know where to look, that is.

Why do you need metrics and statistics? Statistical data gives you the reference point that you use to judge whether you are successful or not. Without hard facts and figures, you cannot know whether you need to optimize and improve. As W. Edwards Deming, an American statistician, once said, “In God we trust, all others must bring data”. This quote hits the bullseye in the context of business performance management – to evaluate if you are doing well, you need to define “well”, and it’s best done with hard figures.

The Quickblox communications solution provides chat statistics for Enterprise customers only. It includes a number of analytical tools yielding various customer-oriented metrics that you can use to optimize your service. Let’s see what you can measure with a QuickBlox chat and how you can interpret these metrics.

Number of users

The number of users is a multi-purpose metric, because you can measure it from different perspectives:

  • Number of new users. You count new users by the number of newly-created accounts. This knowledge gives you an idea of your business growth. When you overlay the user growth curve over your marketing schedule – special offers, promotion campaigns, industry events, website redesigns, etc. – you can see what brought the desired growth and what needs some rethinking.

Measuring the number of new users can be one of the essential KPIs for eCommerce businesses. Online stores need new customers, thus, for them this information can be helpful.

  • Number of active users. This metric will show you your user engagement. However, before you measure it, you need to define what an “active user” means in the context of your business. It can be a logged-in user or a user who performed one or several of the predefined actions – started a chat, returned to a previous chat, etc. You can measure the number of active users for different periods – a day, a week, a month – to see the trends.

While useful in any online business, this metric can be valuable for healthcare services. Logging the number of active users allows measuring the effectiveness of the service and the level of customer satisfaction.

Number of chat messages

From the number of messages in a chat, you can evaluate the effectiveness of your service. If a case takes too many messages to resolve, it is not a very good sign and needs investigating. The reasons may be different – customers getting to a wrong person who cannot help them properly, a service agent not being experienced enough and asking too many questions, or even a customer being either too finickity or unwilling to supply information.

You cannot do much in the latter case, but if the high message count is caused by your service, you can find ways to improve. You can revise your chat feature so that customers can select the proper department easily. On the other hand, you can pay more attention to staff training to help them resolve issues quickly.

Obviously, this metric is especially useful for customer support services but can also help to evaluate the service effectiveness in other areas.

Use of platforms

The QuickBlox chat analytics can show the number of users on each platform – iOS/Mac or Android. Today, you cannot ignore mobile users, and many apps even take the mobile-first approach to reach the maximum audience. Therefore, knowing your platform stats can be useful.

When you see that one of your platform versions is lagging behind, you might need to tweak that app to make it more attractive to the users. On the other hand, you can review your app posting in the App Store or Google Play to make it more appealing to users and encourage them to choose your app among dozens of similar products.

On a final note

We started this post with a quote, and we are going to end it with another – “You can’t manage what you can’t measure”. These words are attributed to several famous people and are hotly disputed as of lately, but there is a grain of truth in them.

While statistical data and KPIs are not the primary drivers of business management, their importance should not be underestimated. They are the proof that what you are doing is right or an indicator that you are missing something. A perfect strategy is nothing when is yields poor results, and you cannot know it otherwise than from statistics.

Live chats, as an important component of many customer-facing apps – healthcare, eCommerce, finance – are a great indicator of your service performance. QuickBlox chat includes the algorithms gathering chat stats and converting them into an easily interpretable format, so that you can immediately see the history, current status, and trends and can forecast the future periods.

If you have any questions about Enterprise plan and chat statistics, contact us and our customer support will gladly assist you.

Alex Gorodov

Exploring telemedicine in 2019: 4 old and new use cases that work

Posted by Alex Gorodov on June 19, 2019

In many ways, healthcare is suffering the supply-demand problem. Rural areas in many countries face a lack of qualified medical care providers. On the other hand, the cost of quality healthcare can sometimes prevent people from obtaining proper medical services.

The appearance and growing popularity of telemedicine are very likely to change the current healthcare situation on a global scale. Providing professional medical services remotely via communication channels makes healthcare available and affordable for the social groups that used to struggle with geographic and financial problems whenever they needed doctor’s assistance.

The market recognizes the importance and disruptive capacity of telemedicine and responds accordingly. The current trends show an increase in the volumes of healthcare-related solutions production, and analysts predict the telehealth market growth rate at almost 19% per year by 2022.

Basically, telehealth allows doctors to consult and examine patients with the help of communication technology. Today, telehealth exists in the following formats:

  • Real-time doctor-patient sessions in the form of audio or video calls or live chats
  • Patient monitoring with the help of connected devices transmitting real-time data on the patient’s vitals (blood pressure, heart rate, blood sugar or oxygen level, etc.)
  • Patient record management with uploading and exchanging of test results, X-ray and CAT scans, doctor’s opinions, drug prescriptions, etc.

Telemedicine use cases

Today, telemedicine exists both in the form of healthcare proper, when medical services are provided over communication channels, and in the form of telepharmacy dealing with remote drug management.

Telehealth use cases

Telehealth for stroke treatment

In the event of a stroke, it is critical to apply the necessary treatment within the shortest time possible to prevent major brain damage. When a person suffers a stroke at a distant site, the time needed to transport them to a clinic with qualified medical personnel may be too long to reverse the processes that have begun.

With a stroke, the hope of full recovery exists mostly when the proper treatment aimed at dissolving the blood clots is administered within 24 hours of the stroke, the earlier the better. A communication channel can be established within minutes, and qualified neurologists can examine the patient via video and instruct and consult the medical personnel onsite on the proper procedures.

Telepsychiatry

In addition to the most common challenges that telemedicine is intended to resolve – the distance between the patient and a specialized clinic, the cost of personal visits, the lack of qualified doctors – psychiatry has other issues. The main one is the social stigma that is still associated with mental conditions and sometimes prevents patients from visiting psychiatric clinics.

For such patients, telepsychiatry is a perfect solution. Being able to get an expert consultation from the comfort of their home can have a beneficial effect on the patient’s mental condition, while the stress of a personal visit can worsen it. Besides, psychiatry involves almost no physical contact between the doctor and the patient, thus the telehealth technology suits it entirely.

Telepharmacy use cases

Remote prescription review

When there is no pharmacist is a local hospital, such functions can be performed remotely over a communication channel. Whenever a medication is prescribed to a patient, the prescription details are forwarded to a remote pharmacist who checks the prescriptions for validity and eligibility, reviews the patient’s records to verify that there are no contraindications or interactions with other drugs, and authorizes the prescription.

Remote patient consulting

Pharmacists not only dispense drugs but also consult patients on using them and dealing with possible issues. Such consultations can be set up in the format of an audio or video session during which the pharmacist can explain the specifics of drug usage to the patient, demonstrate any related techniques and answer the patient’s questions.

With telemedicine, patients can have a 24/7 communication channel with their pharmacist to receive both ordinary and urgent advice on their medication.

Wrapping up

Telemedicine is just picking up speed, but its advantages are already obvious. Sometimes, it can become a life-saver in the most literal sense. The fact that clinics and doctors are gladly adopting telemedicine is a great sign of the general improvement of the healthcare system and its becoming available to all social groups.

At the same time, the implementation and popularization of telemedicine raise the ever-present issues of security and compliance. Healthcare is too sensitive an industry to neglect security measures and government regulations. Hence, we recommend that clinics and practitioners wishing to embrace telemedicine engage professional developers experienced in building such products. This way, the effectiveness, security, and compliance of the telemedicine solution will be at the required level.

Julia Poltavets

AWS vs GCP vs Azure vs Alibaba Cloud – Overview of the Cloud Services Market

Posted by Julia Poltavets on June 6, 2019

Cloud services are an important component of our work, and QuickBlox always follows the evolution of this sector closely. We use clouds to host our backend infrastructure, and we are focused on using the best options available on the market. We have already shared with your our comparison of AWS vs GCP and Microsoft Azure vs Alibaba Cloud. In that research, we mostly dealt with the technical aspects of different cloud providers highlighting their strongest suites. Today, we would like to review the general trends in the cloud services market to see what the main players are going to offer in 2019.

Cloud services market overview

Even a casual glance at the current market situation shows that AWS has been holding the lead and is not likely to yield to the competitors in the immediate future. As Amazon CEO Jeff Bezos said, this lead is largely due to the fact that AWS started out way ahead of the rest of the popular cloud providers: “AWS had the unusual advantage of a seven-year head start before facing like-minded competition, and the team has never slowed down. As a result, the AWS services are by far the most evolved and most functionality-rich.”

Microsoft Azure is a steady runner-up with GCP holding the bronze until just recently when Alibaba Cloud pushed it one step down. All four providers together are forecast to take over a stunning 84% of the entire cloud services market and thus can be rightfully considered the most preferred choices of a cloud platform for the majority of users.

Image credit: ParkMyCloud

Cloud providers at a glance

Since this post is an overview, we prefer not to overwhelm you with too many technical details (for technical details, refer to our blog where you can find a deeper analysis of all four clouds). Let’s just single out the most prominent features of each of the four clouds that may tip the scales in their favor.

Before we go on, we should note that all four are effective and secure, have the applicable certificates by global, national and industry institutions, and are rather customer-friendly in the pricing area. All cloud providers have free trial options with varying conditions for you to judge their performance before you actually invest your first dollar.

Amazon Web Services

Great choice of cloud servicesFlexible pricingHigh availability
AWS offers 200+ cloud services. When you launch a cloud service, you are getting a complete infrastructure specifically set up for a particular purpose – a database, a message queue manager, a containerization service. From among the cloud providers currently on the market, AWS has the largest selection of services.AWS has three payment models – pay-as-you-go (you are billed for the exact quantity of consumed resources), save when you reserve (you can reserve cloud instances with upfront payment at much lower rates) and pay less by using more (volume-based discounts). AWS has 66 availability zones creating a global presence and ensuring 99.99% availability at any time in any place. The availability zones guarantee sufficient redundancy and resilience to withstand eventual outages and maintain uninterrupted service.

Google Cloud Platform

Focus on advanced technologiesLow pricesLive migration
GCP development is leaning towards hi-end technologies, such as AI and machine learning, data analytics and other advanced technology areas. GCP provides a complete environment for building AI, ML and other similar products.GCP is rather user-friendly when it concerns pricing. The provider uses the pay-as-you-go model with no upfront fees. At the same time, GCP supports various discounts, cost-effective plans and free services.Live migration makes GCP stand out, as other cloud providers offer no such feature. In GCP, you can migrate a virtual machine to a different host with no stopping and rebooting. This way, your service remains uninterrupted even when any updates are required.

Microsoft Azure

Cloud-based Windows toolsEnterprise AgreementsHybrid cloud opportunities
Since Microsoft Azure and other Microsoft products are under the same umbrella, it was only natural to bring the traditional Windows tools to the cloud. In Azure, you can launch a Windows desktop with the rest of your  favorite Microsoft products – Windows Server, Office, and others. Companies using Microsoft tools usually make Enterprise Agreements including a range of products at a volume-based discount. For companies wishing to use Azure as their cloud provider, there is an option to include Azure into their Enterprise Agreements and enjoy the cloud service at a discount.Microsoft Azure is very well suited to building scalable and secure hybrid clouds. A hybrid cloud combines the features of a public cloud and a private cloud easily integrating the internal infrastructure with public resources.

Alibaba Cloud

Top cloud provider for ChinaDiscount plansFast-growing service list
Alibaba Cloud’s footprint in China is way beyond the rest of the competition. The provider places a great focus on serving enterprises and small and medium businesses in China, thus becoming the cloud of choice for companies or branches located in China and the Asia region.In addition to a rather flexible pricing system with both prepaid and pay-as-you-go models, Alibaba Cloud offers targeted discount plans – Student Discount Program, discounts for new US-based users, and other attractive programs.While the list of Alibaba Cloud services is nowhere near that of AWS, it is quickly gaining with dozens of available products and more to come. Moreover, Alibaba is actively investing in developing advanced cloud tools and platforms, such as AI, machine learning and big data.