📜 ⬆️ ⬇️

ReadyScript Mobile - Ready eCommerce Mobile Application

“I want a mobile application for an online store” - such requests are increasingly coming from brand owners to web developers. But how can an ordinary web studio satisfy such a large-scale request, if among the company's competencies there is only web development?

According to our data, in most cases, small web studios try to dissuade the client from the mobile application in favor of the usual adaptability of the site or an independent mobile version. Often this is possible, although you have to fend off a lot of difficult questions, for example, such as: “And why all brands that have their own mobile application, why do they do it then?”.

In the same cases, when the client cannot be persuaded and he still wants to provide its users with a high level of service and brand penetration into various devices, the web studio begins to search for existing solutions.
')
In 2016, we evaluated this problem and a year later offered a ready-made solution for creating a mobile application for online stores developed on the ReadyScript platform. As usual, we offer both SaaS and a box. New service called ReadyScript Mobile.



Under the cut, we will tell you what technologies we used, what difficulties we faced and how we overcame them. Along the way, we compare the unique quality of our service with other solutions, namely, direct integration with the client’s online store, without intermediaries.

How did it all start?


One day, the head of our partner web studio came to visit us and complained that customers are growing and are constantly looking for inspiration for growth, looking at the projects of the eCommerce market leaders. Mobile applications are increasingly being asked for, but not everyone agrees on budgets with six zeros.

We thought, and indeed, customers want not just some kind of functionality-limited mobile application, but a full-fledged one, such as among market leaders. They want everything to be there: actual balances, availability in warehouses, support for all types of product variations, payment options, choice of the same delivery methods as on the website, various filters, and a single authorization as on the website , and so on.

We began to look for what is on the market in this area today and found only a couple of universal designers that have sufficient functionality. They were built on a standard intermediary scheme, when you need to upload products into them through YML, and only then administer orders from an online store in your account of such third-party service.



We immediately realized that this is too big a compromise, which our customers have to go to in order to get their mobile application:

  1. Information about prices, stocks and other product data in the mobile application becomes periodically irrelevant.
  2. Orders placed through the mobile application must be administered in a separate panel of the intermediary service, while all other orders - in the administrative panel of the online store or in the accounting system (1C);
  3. There is no connection with the capabilities of the platform (for example, if the user has a personal price type, prices will still not change in the mobile application). Payment, delivery is not related to the CMS, all you need to separately start in the control panel of the service intermediary. All reference books of cities, discount programs - nothing will be synchronized automatically with your site.

So the idea came that for all our customers we have to independently develop a mobile application that takes into account the capabilities of the eCommerce platform ReadyScript, and offer it as an affordable SaaS service. And we must provide development partners with a boxed version of the mobile application with the ability to refine the application for the client.

This is beneficial to all - partners can earn on mobile applications in the same way that they work with one or another CMS: buy a CMS license, modify individual chips, sell to a client. Customers get a quality product at an affordable cost that is developed and honed on many customers.

Technology selection


From the very beginning, we considered only cross-platform technologies, since the development process in this case would be as comfortable as possible. Once you add chips, once you debug the code, once you fix bugs, in fact, on two applications at once. It's cheaper. The economy did not occupy the last place in our project, so we were looking for those technologies that will not force us to send all the profit to support the project, but will give the opportunity to invest it in development.

There are no big calculations in the eCommerce mobile application, there are no incredible graphical requirements, respectively, hybrid technologies will cope with the task of displaying typical activities for an online store.

We chose between ReactNative and IonicFramework. It is clear that the first is very different from the second, so ReactNative allows you to build application interfaces using native components, but using JavaScript and React. While IonicFramework is a cordova-based framework that allows you to build mobile applications in WebView, where native capabilities can be used with the help of special cordova bridge plug-ins.

Initially, our choice fell on ReactNative, it seemed to us that it would give the maximum performance of the UI, which was so often complained by those who worked with cordova. But after a long search for developers ReactNative (it was June 2016), we lost hands, we realized that there are very few people interested in this technology in our city (Krasnodar).

Time passed, and we became increasingly aware that our product would be focused on web studios who are well acquainted with web technologies. We need to provide them with a product that they could refine and expand in their usual form for web developers. It was necessary to abstract them as much as possible from mobile technologies, but not from mobile applications.

We began to look closely at ionicFramework. Already by that time they had a smart ecosystem that allowed to build apps for iOS and Android through the command line. Seeing this, we were very happy, because it meant that we could fully automate the assembly of applications, and our support specialists would not need to load the projects of each client application for generating APK and IPA files into xCode and AndroidStudio.

Further, we saw that in the ecosystem IonicFramework there is the ability to update applications without republishing to appStore and googlePlay (ionic deploy) also via the console command. This means that hotfixes can be released automatically for all clients almost instantly, without red tape and an unbearably lengthy Review (from the appStore).

We should also say about the speed. Some applications written in Cordova really differed by the low speed of the interfaces, however more often this was due to the low speed of the JS frontend of applications written using jQuery. With the release of Angular 2, and later Angular 4, everything changed. The response speed and the feel of the application as a whole have become acceptable.

As a result, a rich ecosystem, a large number of plug-ins, acceptable performance helped us choose IonicFramework as the basis for our service.

Implementation and pitfalls


The development was not as simple as we expected. She took us 1 year of work. During this time, we wrote all the necessary APIs on the backend, developed all personal accounts and promotional pages on our website, created the client application itself and the auxiliary DEMO application.

The main difficulty was that Angular and IonicFramework actively developed in parallel with the way we developed our application. Angular has been updated for this period from version 2 to 4, Ionic from version 2 to 3. We only had time to update the packages and fixed problems that occurred after the update for weeks. Either one plug-in stopped working with another, some kind of construction was cut out from Angular or Ionic, then new chips were published that speed up the system, and we were obliged to implement and rewrite the code.

In general, we courageously transferred all this, but always worked only with the latest version, because we understood that it was impossible to release a service release on an outdated version of the framework.

We had to buy Apple MacMini to debug iOS apps, even though we could build IPA files and upload them through iTunes to the device on our main Windows machine.

As a result, currently we have an application written on Angular4 + IonicFramework 3, and everything has been tested on iOS and Android. The app contains a huge list of features, and it is perfectly integrated with our ReadyScript platform.



How does it work now?


The ReadyScript Mobile service is integrated into the ecosystem and is provided in a standard form through a personal account on our website ReadyScript.ru.

We provide the user to fill in the data in his personal account to connect to his online store ReadyScript via API (domain name, API key), then we suggest filling in all the fields necessary for publishing the application in the appStore and googlePlay (name, description). Next, we propose to determine the color scheme of the future application.



Only after the publication of the application in the marketplace, we open the opportunity to pay a subscription.

We offer our services on all difficult sections of this route. More specifically, we offer the creation of icons and screensavers of the application, offer assistance in registering accounts on the appStore and googlePlay, as well as take on the generation of all the necessary certificates in client accounts to build the application, as well as the publication of the application.

Thanks to the ability of the Ionic service to perform deploy (deployment of a new version) directly to client devices, bypassing marketplaces, we implemented a quick ability to update applications if the user changes, for example, the color scheme of the application in his personal account.

Despite this, we periodically re-release applications directly in the appStore and googlePlay, so that immediately after installation, new clients do not have a message that there is an update for the application.

Owners of online stores see all the information about the subscription status in their administrative panel. In case of approaching the end of the subscription period, notifications will be received through all channels, including the administrative panel of the store.



The mobile application works directly with the server of the online store, which means that all balances, prices, settings will always be relevant.



Push notifications are a great marketing tool.


When we implemented the Push notification subsystem, we thought it would be nice to transfer the device model when registering the Push-token in the online store. We were then told a big thank you to online stores selling electronics and accessories. So they were able to do point push e-mails about the receipt of specific accessories to owners of only certain smartphones, which greatly increased their sales.

Subsequently, we saw that some of our customers segment their customers according to solvency using a filter by phone model and produce more targeted mailings.

It is important to say that Push distribution can be carried out directly from the administrative panel of the online store. For each message, you can specify the text and the destination to which the user will go after clicking on push. This can be a product, category or article.

How to expand the capabilities of the application?


Every business is unique. Despite the fact that now the application has a sufficient set of functions with a margin, anyway, someone will need customization. We understand this, and therefore have provided several options.

The first - the easiest - is to extend the functionality of the application through the ReadyScript marketplace.

How is this possible? When launching the application, we laid a growth point in the form of loading the correcting work of Angular components of the JS script from the online store server, as well as loading of Ionic templates. Any module of the ReadyScript platform can modify the JS script and template using hooks.

This approach allows you to adjust or supplement the behavior of existing activities and components of the application, but it does not allow, for example, to add new application activities. For example, using this mechanism for expanding the functionality, the Bonus Program module from our marketplace corrects the work of the basket in the mobile application, allowing you to display the current number of user bonuses, as well as credit them as a discount.

If the client needs more drastic changes, you need to create an individual application assembly and use the refinement and support of the boxed version of the application, instead of SaaS. This is possible with the help of partners or our services (only partners in the future).

Work with development partners or boxed mobile app


For partners developing eCommerce projects on the ReadyScript platform, we have prepared two partner programs, one of which suggests an agent-based scheme for selling subscriptions to mobile applications for our clients, and the other provides for the possibility of selling a boxed license for a mobile application to a competent partner.

A box license for a mobile application is a great opportunity for a web studio to reduce costs when developing an eCommerce mobile application for the end user. In fact, this allows the studio to focus only on the unique, individual features of the client, without focusing on the development of routine things such as ordering, payment, searching, filtering products, the push notification subsystem, and much more.

Promotion


For the convenience of promoting the service, we created a demo application in which you can specify the domain name of the online store on the ReadyScript platform and the API key to see the future mobile application filled with customer data.

The application is published in the appStore and googlePlay under the name RS Mobile. If you do not have an online store, you can evaluate the capabilities of the application by clicking on the inscription "I do not have my own shop"



Conclusion


ReadyScript Mobile is a modern solution to the problem of mobile applications for online stores, built on 2017 technologies. Thanks to the direct integration of the service with the ReadyScript platform, an optimal merging of eCommerce CMS and mobile application capabilities is achieved.

ReadyScript Mobile service is an affordable opportunity for the end user to get a mobile application for the online store of their brand, and for development partners to meet the growing demand of customers for their business presence in mobile devices at the lowest cost.

Links


Service site
Presentation of the service ReadyScript Mobile
RS Mobile demo app in the AppStore and GooglePlay

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


All Articles