Follow

Author: Admin

Automatic Deployment Using GitHub Actions

Posted on January 28, 2022 by in General, Software Development

Software development is a continuous process, with regular code updates from time to time. Whether from adding new features, fixing bugs or just performing general chores like updating project dependencies now and then. One effective approach to easily push and preview these local development changes to a staging or production environment is to create a continuous integration and deployment workflow. In the next few steps, I will teach you how to automatically deploy your project from GitHub to cloud server using GitHub Actions.

Prerequisites:

GitHub Account

In order to use GitHub actions you should have a GitHub account.

Cloud Server

You will also need a cloud server on which we will deploy the React app. For this tutorial we are going to a React app to keep the process of deployment simple.

Let’s go through some fundamentals

What is CICD?


CI and CD stand for continuous integration and continuous delivery/continuous deployment. In very simple terms, CI is a modern software development practice in which incremental code changes are made frequently and reliably. Automated build-and-test steps triggered by CI ensure that code changes being merged into the repository are reliable. The code is then delivered quickly and seamlessly as a part of the CD process. In the software world, the CI/CD pipeline refers to the automation that enables incremental code changes from developers’ desktops to be delivered quickly and reliably to production.

Why CICD?

CI/CD allows organizations to ship software quickly and efficiently. CI/CD facilitates an effective process for getting products to market faster than ever before, continuously delivering code into production, and ensuring an ongoing flow of new features and bug fixes via the most efficient delivery method.

GitHub Actions

GitHub Actions helps you automate tasks within your software development life cycle. GitHub Actions are event-driven, meaning that you can run a series of commands after a specified event has occurred. For  example, every time someone creates a pull request for a repository, you can automatically run a command that executes a software testing script.
What can you do with GitHub Actions? The possibilities are limitless, you could do anything from:

  • Handling CI and CD (Build, test, and deploy applications)
  • Performance monitoring
  • Twilio voice call or SMS alerts

and much more!

Let’s Start

Our target here is to see how automatic deployment of a react project from GitHub to cloud server can be done using GitHub Actions.

Create Project Repo

For this project I used react-app-deployment-GitHub-action as the repo name.

Create React Project

Step 1

Clone the empty repository.

Step 2

Create the basic react app using create-react-app command.

Please checkout more about how to create a new react app here.

Step 3

Run the base app verify that there are no issues.

Step 4

Commit and push the code to GitHub.

Add GitHub Action workflow

Now that we have the react app in the repository, we can go ahead and create the GitHub Action workflow for deployment.

Step 1

Go to Actions tab.

Step 2

Select Node.js workflow.

Step 3

Create the workflow file.

Firstly rename the file as react-app-deployment.yml (you can use any filename).
Edit the new file and paste the following content.

Commit the file to the repo with a commit message.

Let’s break the above yml file and understand what we are trying to do.

This is the name of the workflow.

Here we are telling when this workflow should trigger. In my example I want this workflow to trigger whenever someone pushes code to the master branch.

A job is a set of steps that execute on the same runner. By default, a workflow with multiple jobs will run those jobs in parallel. You can also configure a workflow to run jobs sequentially. For example, a workflow can have two sequential jobs: build and test code, where the test job is dependent on the status of the build job. If the build job fails, the test job will not run.

For our purpose we just want to do deployment so we just have 1 job.

Configures the job to run on a self hosted server. Since we want to deploy the project on our cloud server.

For now we just want to use node version 16 for our react portal. But if you want to use GitHub actions for testing and you have a piece of code written in node and want to test it across different node versions then you can mention that in the node-version array.

For our purpose we just want to deploy on a server so we will go ahead with Node v16.

Groups together all the steps that run in the job. Each item nested under this section is a separate action or shell command.

The uses keyword tells the job to retrieve v2 of the community action named actions/checkout@v2 . This is an action that checks out your repository and downloads it to the runner, allowing you to run actions against your code (such as testing tools). You must use the checkout action any time your workflow will run against the repository’s code or you are using an action defined in the repository.

This step uses the actions/setup-node@v2 action to install the specified version of the node software package on the runner, which gives you access to the npm command.

Finally we would like to install the node dependencies and build the production files. Optionally you can even run the test cases.

Note that as soon as you commit the file the workflow will start. Since the workflow file is being pushed to the master branch.

This workflow will fail since we did not yet tell GitHub which server to use to run the workflow on.

Setup GitHub Runner

We have the workflow in place but we still did not specify which self hosted server to use. For this you need to add a GitHub Runner to the repo.

Step 1

Go to Settings tab.

Step 2

Go to Actions tab, and click on New self-hosted runner.

Step 3

Select the runner type. We are going to use a Linux server.

Step 4

You will see a bunch of commands which will guide you through the installation process.

Run the above download steps on your server.

Step 5

Please run all the commands in the same order in which they are shown to download.

Step 6

When you configure your runner please fill in the details which are asked.

You can give a name to your runner and also give a name for the work folder.

Step 7

Finally run the run script.

This will start your runner and it will start listening for the workflow events.

Step 8

Confirm that the runner is running.
Go to Settings > Actions > Runners

You will find that your runner is available and ready to take on any job.

Trigger workflow

Let’s go back to our project file and make a small change to see how this workflow runs now.

Step 1

Make a dummy update to base react app.

For now I added a h1  tag

Step 2

Commit and push the code. Go to the Actions tab and you will find your workflow running

Step 3

You can click on the latest workflow and check the details of the build job.
You will find all the steps and it will also show you the time it took for each step.

Step 4

Login to your server and you will find the build files inside actions-runner folder.

Here all the build files are there which can be served via apache or nginx.

Nginx Setup

I would like to keep this setup very simple.

Step 1

Install nginx

Step 2

Update the default nginx file

Step 3

Update the root path to your build file.

Here I am telling nginx to load the files from my react project.

Step 4

Restart nginx  service

Step 5

Open your server IP address and you will your react app.

Keep GitHub Runner running

You will find that after you close your server terminal where ./run.sh was running, your GitHub runner stopped.

What you can do instead is run the following command.

  1. Stop the self-hosted runner application if it is currently running.
  2. Install the service with the following command:
  3. Start the service with the following command:

You can find more details about this here.

Conclusion

Overall, I very much enjoy the experience of using GitHub Actions. I think it’ll be the future standard of CI/CD platforms. Every time I use GitHub Actions I’m delighted by how fast I can create workflows to automate a manual task and find new patterns to use GitHub Actions.

References

Posted By: Vishnu Kyatannawar, Osmosee

Nextcloud: Why Should You?

Posted on January 7, 2022 by in General, NextCloud


Nextcloud is open source file sync and share software for everyone from individuals operating the free Nextcloud Server in the privacy of their own home, to large enterprises and service providers supported by the Nextcloud Enterprise Subscription. Nextcloud provides a safe, secure, and compliant file synchronization and sharing solution on servers that you control.

You can share one or more files and folders on your computer, and synchronize them with your Nextcloud server. Place files in your local shared directories, and those files are immediately synchronized to the server and to other devices using the Nextcloud Desktop Sync Client, Android app, or iOS app.

Why should you?

There are multiple reasons to adopt nextcloud. Let’s dive into this and look at some of the features nextcloud has to offer that suits your business needs.

On Premises

Nextcloud is, hands down, the best on-premise cloud server platform on the market. Not only is it easy to deploy, it’s also reliable and expandable.

Unlike cloud storage, on-premises storage relies on infrastructure at your Company’s brick and mortar office to manage your data. You’ll own all of the equipment and you will be responsible for the lifecycle management. As you might guess, there are several pros and cons of on-premises solutions for data storage.

Though cloud-storage has been all the rage lately, some companies still believe that on-premises solutions are best suited for their business needs. For example, many enjoy the greater security that on-premises solutions and storage give their data. On-premises storage is a great option for your business because it can:

  • Operate without internet
  • Lower monthly internet costs
  • Provide greater security
  • Offer control over server hardware

Control & Compliant by design

Protect, control and monitor data and communication across your company. Guarantee compliance with business and legal requirements. Keep your data on servers you own, at all times. Nothing leaks, not even metadata.

Nextcloud products are designed with compliance in mind, providing extensive data policy enforcement, encryption, user management and auditing capabilities example: HIPAA, GDPR and more.

Your teams are using email attachments, public chat apps and consumer file sharing tools to communicate and collaborate. Then nextcloud is the best option to keep that under control

  • Host your own collaboration platform.
  • Protect your IT investment by re-using existing infrastructure.
  • Ensure compliance, security and flexibility.
  • Know where your data is, who has access and how it is used.
  • Facilitate secure collaboration and communication.

Security and Authentication


There is a lot to talk about security in nextcloud.

Nextcloud is designed to protect user data through multiple layers of protection. It aligns with industry standards such as Clause 14 of ISO/IEC27001-2013 and related standards, guidance and security principles. Their solution is built around combined assurance layers consisting of rich security features, applied best practices governed by policy and the design itself validated by industry standard testing processes.

Control is key to security. With Nextcloud, your IT department takes back control over its data, managed under its policies and procedures. Nextcloud integrates in the tooling you use in your data center like logging and intrusion detection and works with existing authentication mechanisms like SAML, Kerberos and LDAP.

Nextcloud supports your existing storage solution, keeping data under control of trusted IT administrators and managed with established policies. Nextcloud works with industry standard SQL databases like PostgreSQL, MySQL and MariaDB for user and metadata storage.

Nextcloud offers built in monitoring tools and integrates with existing MDM, DLP, event logging and backup tools, enabling existing tool chains to be used to monitor, backup and restore systems.

Nextcloud leverages existing data storage and database technologies so current security policies and governance processes can continue to be used to manage, control and secure operations with Nextcloud. Your IT department is fully in control.

Nextcloud includes a variety of second factors like TOTP, U2F and SMS gateways. 2-factor authentication can be enforced and user sessions and devices can be managed.

Nextcloud is also among the first in the industry to provide support for the WebAuthn standard, enabling password-less authentication and support for Windows Hello, various FIDO2 keys and other standards-compliant authentication devices.

You can find more security details here: https://nextcloud.com/secure/

Apps

The real power of Nextcloud Is Its Apps. If Nextcloud were only a personal alternative to file-hosting services like Dropbox, it wouldn’t be such a big deal. Its real power, however, is in the many extensions, or “apps”, that provide many additional functions.

The open source community gives you a variety of apps to choose from which suits your needs. Either you can go with the apps which are out there or you can build your own apps as per your business need.

You can find a lot of nextcloud apps here: https://apps.nextcloud.com/

Some of the popular apps are:

And many more… You can find a more detailed description of these apps in their respective pages on Nextcloud apps.
These apps make Nextcloud different from other file hosting services.

Mobile and desktop clients

Nextcloud gives you access to your data and communication wherever you are. Their easy to use desktop and mobile clients are available for all major platforms for free!

Users can access and share their data on Nextcloud through sync clients for Windows, Linux and Mac as well as Android and IOS, providing a smooth experience no matter where data is located.

The Nextcloud desktop client keeps photos and documents always up to date, enabling you to work like you always did.

Any file you add, modify or delete in the synced folders on your desktop or laptop will show up, change or disappear on the server and all other connected devices. Sync one or more folders locally with folders on the server and pick what folders you don’t need.

The mobile clients feature integrated real-time document editing. Nextcloud Text is used for note taking with Markdown files, Microsoft Office compatible document editing on-the-go is available through Collabora Online or ONLYOFFICE when these are installed on the server.

The clients also allow users to comment on documents, add a note to a shared file, view and act on server notification like a request to accept a file share or approve a login, see activity for any file and much more. Productivity is guaranteed, wherever you are!

No matter what device or how many devices you use, you will always find consistent data.

Collaboration

Nextcloud is being used by many corporations and since it is an open source project it has a lot of contributors. More than 1000 apps are published to be compatible with latest version of nextcloud. Nextcloud 22 brings a wide range of improvements for the modern digital office with new workflows, important new collaboration features in Talk, Groupware, and Files for effective self-management for teams.

The biggest improvements Nextcloud 22 introduces are:

  • User-defined groups with Circles that makes it easier to manage teams where you can share files or assign tasks to circles, or create chat rooms for a circle.
  • Integrated chat and task management where you can simply share a deck card into a chat room or turn a chat message into a task.
  • Easy approval workflow, where an administrator can define a new approval flow in the settings and users can, on a document, request approval.
  • Getting your document signatures easy with integrated PDF signing with DocuSign, EIDEasy, and LibreSign.
  • Integrated knowledge management Nextcloud puts knowledge available to everyone at a moments’ notice, providing easy search, sharing, and portable access.
  • Groupware improvements bringing a trash bin feature in Calendar and more. Nextcloud Mail features improved threading, email tagging, and support for Sieve filtering.
  • Big improvements in Nextcloud Talk with voice messages, location and contact sharing, message deletion and much more.

There are many more new features and changes like notifications in the app navigation, integrated compression in the Files interface, and significant performance improvements to universal search.

Conclusion

Nextcloud is a great alternative to proprietary services such as Google Drive and Dropbox. It also provides a set of apps which you can install to extend its functionality in various ways. Below is a summary of the features offered by nextcloud:

  • Nextcloud is open source – there are no limitations and you can inspect, integrate, extend and modify Nextcloud however you want.
  • Powerful, integrated logging, two-factor authentication and NIST compliant password policy control functionalities.
  • Sharing and Provisioning REST APIs. Facilitates the integration of remote 3rd party apps.
  • Nextcloud offers an easy to use user interface which comes with search functionality, favorites, tags and even more ways to quickly reach the files you need. Full Text search is available using Apache Solr.
  • Authentication through LDAP / Active Directory, Kerberos and Shibboleth / SAML 2.0 and more.
  • Fine-grained control from mobile, desktop or the Web over data access and sharing capabilities. Pick from the list of users and groups, stored either locally or on another, authorized, server.
  • Quick access to core functions for app development with the powerful Nextcloud App API and webhooks following the publication / subscription model.
  • Text file editing and thumbnail previews of PDF, images, text files, office files and more.
  • Pre-loaded files and folders for new users. Populate a new user’s Files area with, for example, a tutorial file, which appears when they first log in.
  • Advanced quota management with configurable accounting of external storage.
  • Built in, easy to use theming to set color, login background and logo from Administrator screen.

How Osmosys Can Help?

Osmosys has been developing Nextcloud apps since Jan 2019. We have worked with some of the organizations from Germany and helped them in developing large scale solutions around Nextcloud to meet their business requirements.

For example: Nextcloud is capable of keeping the data in sync across different clients which are connected to one Nextcloud instance. We have come up with a solution for one of our clients to be able to sync their data across multiple Nextcloud instances. This requirement is very specific to their business requirement.

We can develop custom nextcloud apps which are very specific to your business needs. Osmosys will also help with deployment and maintaining the Nextcloud instance. We also provide support for enhancements and maintain app compatibility with future Nextcloud releases.

Contact us for more queries.

References

 

Posted By: Vishnu Kyatannawar, Osmosee

Growth Of Mobile Applications

Posted on December 28, 2021 by in iOS, Mobile Technologies

A mobile application, most commonly referred to as an app, is a type of application software designed to run on a mobile device, such as a smartphone or tablet. Mobile applications frequently serve to provide users with similar services to those accessed on PCs.

The purposes of the apps is to provide utility, productivity, and navigation to entertainment, sports, fitness, and just about any other imaginable.

Smart watches and fitness trackers are two examples of how mobile technology is changing. The internet for things (IoT) has allowed for technologies like remote control of home appliances, heating and security  systems; there is no doubt that things like this are the future of the IoT. From innovations like a connected car, health monitors, Google glass, fitness trackers and latest smart watches, the future of mobile application seems to integrate them perfectly into all aspects of our lives.

But, before starting to work on one, Let’s go to know some app usage stats that can help you create an intelligent app development and marketing strategy.

Mobile Usage

Almost everyone is having a smartphone today and the usage of smartphones in people’s day-to-day life is growing exponentially. There are 5.29 billion mobile phone users in the world today, according to the latest data from GSMA Intelligence and in it 3.2 billion people are using smartphones in the world and the growth of mobile applications has been steadily on the rise anchored on the swelling number of smartphone users across the world.

  1. Internet usage on mobile has been rising as desktop internet usage has stalled
  2. Americans spent eight percent more time on mobile than watching live TV each day.(Source)
  3. Generation Z (ages 6-24), Millennials (ages 25-40), and Gen X/Baby Boomers (ages 41-75) spend 16 percent, 18 percent, and 30 percent more time year-over-year,respectively, in their most-used apps. (Source)
  4. Only eight percent of time spent on mobile is spent using a web browser (Source)

In 2021, China had more smartphone users than any country in the world at almost 912 million. India had the second most smartphone users, although less than half as many as China.

Mobile App Downloads

It is not surprising that an average smartphone user has more than 40 apps installed on their phone. However, only 10 to 20 are the apps are actively used.

    • The iOS App Store launched in 2008 with an initial 500 applications available.Today, 1.85 million different apps are available for users to download. Android users have even more from which to choose, with 2.56 million available through the Google Play Store. (Source)
    • In the third quarter of 2021, users downloaded 27.6 billion apps from Google Play. In contrast, mobile app only generated roughly 8.1 billion downloads in the Apple App Store. The Google Play platform has always made up the bulk of app downloads but the Apple App Store is stronger in terms of revenue generation.
    • There is a report from Statista saying that for every four non-gaming applications available on the App Store, there is a gaming application.
    • According to Statista, the market share of Android devices is 87% and hence, the competition in Google Play Store is a lot lighter than in the App Store and it underscores the scope for market growth in Google Play Store for various mobile app development initiatives in India that wish to list their applications in these stores.
    • Apple’s App Store has over 500 million weekly visits.
    • Social media mobile apps are the most used app category

Google Play Vs App Store Downloads

Google Play Store and the App Store are the most recognizable app stores in the world. People with devices running on the iOS will download the apps that they need from the Apple App Store while users with devices running on Android OS will download apps from Google Play Store. The total number of downloads in Google Play Store was 27.6 billion in the second quarter 2021. During the same quarter, the number of app downloads in the App Store was 8.1.

Number of Apple App Store and Google Play mobile app downloads worldwide from 3rd quarter 2016 to 2nd quarter 2021

Most Popular App Categories

we can say the mobile application market has exploded in recent years. People are more focused to build a mobile app using the latest technology trends. Because apps are an integral part of the whole smartphone ecosystem, whether it’s iOS or Android. These apps are what truly make the mobile experience engaging and fun.

Now, these apps are split and bundled under different categories of mobile apps. The categories are formed depending upon the features of the mobile applications.

There are over 20 categories of mobile apps. The Google Play Store has about 33 mobile app categories. On the other hand, the App Store from Apple has about 24 categories of mobile applications.

The top 5 most popular app categories – Games, Business, Education, Lifestyle, and Utilities make up about 50% of app share on Apple’s (iOS platform) App Store. (Source: Statista)

As of June 2021, business apps were the second-most popular category in the Apple App Store with a share of 10.10 percent of active all apps being business apps. Games were the most popular iOS app category, accounting for a total of 21.49 percent of active apps.

Most popular Apple App Store platform categories in June 2021, by share of available types of apps

Global Apple & Android Apps Spending

There’s an app for almost everything these days. From online delivery of food, groceries,and day-to-day stuff. And people aren’t shy of spending money on the apps.

Overall consumer spending on in-app purchases, premium apps, and subscriptions grew 15.1 percent Y/Y to $33.6 billion from $29.2 billion, across Apple’s App Store and Google Play Store in the first half of 2021.(Source)

Compared to the Play Store, Apple’s App Store saw relatively modest growth. The revenue from App Store grew 13.2% – from $19 billion to $21.5 billion compared to last year

According to International Business Times, the App Store receives over 1,000 app submissions every day.

How to market an app

Over around four million of apps are available from the world’s leading app store today. Marketing strategy is the only way to stand out in today’s app market

While focusing on mobile app development and building an app that functions properly is a central factor for success, if users’ don’t know the product exists, your hard work is worthless. Before developing any  applications have a complete understanding to the below questions to make your app’s success.

    • Who is the target audience for your app?
    • Why will they be interested in your product?
    • How are your competitors currently targeting the same audience?

And this are the some essential app marketing strategies

    • App Store Optimization

    It is the process of improving your app’s visibility in the App Store and Google Play Store. It requires you to identify and utilise keywords that will help your app rank high in the App Store. It is also essential to include screenshots of your app and a video of in-app use. You can also make use of secondary app categories so users have more than one way to find your app

    • Social media marketing
    • Paid user acquisition campaigns
    • Influencer marketing

Conclusion

Mobile apps have significantly grown over the past few years. And mobile apps industry industry isn’t showing signs of slowing down any time soon. And the future of the mobile app industry is very bright with over 3.2 billion smartphone users and 1.14 billion tablet users worldwide, there’s a good market for mobile apps. And studies shows that 88% of mobile usage was spent on apps. And some apps have become an extension of ourselves.

Posted By: Ravi Teja Koduru Siva Naga, Osmosee

 

Lexical Environment & Closure

Posted on December 20, 2021 by in Javascript

Code Blocks

If a variable is declared inside a code block {...} , it’s only visible inside that block.

For example:

We can use this to isolate a piece of code that does its own task, with variables that only belong to it:

For if, for, while and so on, variables declared in {…} are also only visible inside:

Nested Functions

A function is called “nested” when it is created inside another function. It is easily possible to do this with JavaScript. We can use it to organize our code, like this:

Here the nested function getFullName()  is made for convenience. It can access the outer variables and so can return the full name. Nested functions are quite common in JavaScript.

What’s much more interesting, a nested function can be returned: either as a property of a new object or as a result by itself. It can then be used somewhere else. No matter where, it still has access to the same outer variables.

Below, makeCounter  creates the “counter” function that returns the next number on each invocation:

Despite being simple, slightly modified variants of that code have practical uses, for instance, as a random number generator to generate random values for automated tests.
How does this work? If we create multiple counters, will they be independent? What’s going on with the variables here?
Understanding such things is great for the overall knowledge of JavaScript and beneficial for more complex scenarios. So let’s go a bit in-depth.

Lexical Environment

Every execution context has a reference to its outer environment, and that outer environment is called Lexical Environment.

We can say that whenever an execution context is created to execute the code along with it a lexical environment is also created by the JavaScript engine. Each lexical environment has reference to its parent lexical environments.

A lexical environment can be considered as a data structure which holds identifier-variable mapping (identifier => name of the variable/functions). It has two components:

  1. Environment Record – Actual place where the variable and function declarations are stored
  2. Reference To Outer Environment – it has access to its outer (parent) lexical environment. This component is the most important in order to understand how closures work.

A lexical environment object looks like this:

Closure

A closure is a function that remembers its outer variables and can access them. In some languages, that’s not possible, or a function should be written in a special way to make it happen. But as explained above, in JavaScript, all functions are naturally closures (there is only one exception, to be covered in The “new Function” syntax).

Usually, a function remembers where it was born in the special property [[Environment]]. It references the Lexical Environment from where it’s created (we covered that in the chapter Variable scope, closure).

But when a function is created using new keyword, its [[Environment]] is set to reference not the current Lexical Environment, but the global one.

When person()  is executed, the JavaScript engine creates a new execution context and a lexical environment for the function. After this function finishes, it returns displayName()  and assigns it to peter variable.

When the person()  finishes, its execution context is removed from the stack. But its lexical environment is still in the memory because its lexical environment is referenced by the lexical environment of displayName() . So name variable is still accessible.

Posted By: Shubham Kumar Jha, Osmosee

App Clips! How Can App Clips Help Your Business Acquire More Customers

Posted on August 10, 2020 by in iOS

Twelve years ago Apple revolutionized the industry with the launch of App Store, and nine years ago Apple came up with a phrase, “There’s an application for that!”. In June 2020 at WWDC, the phrase saw itself getting tweaked: “There’s an App Clip for that“.

It is the first time, the tech giant took user experience outside of application install.

What is App Clip ?

An app clip is a small part of your app that’s discoverable at the moment it’s needed. The App clips are designed to be lightweight and fast so that the users can open them expeditiously. Whether they’re ordering take-out from a restaurant or renting a scooter, users will be able to start and finish an experience from your app in seconds. And when they’re done, you can offer the opportunity to download your full app.

App Clips offer your users two functionalities: to use a small part of your application and download the full application.

Use the sub-part of your application – Users only function around that part of your application which is needed at that moment. This functionality is based on a specific feature or feature set of your application.

Download the full application – For making it easier for your customers to access the entire application, you can present an option for download at an appropriate time in your app clip. You can even persist any information the user has provided and seamlessly transition it to the full app.

How Are App clips Made Discoverable?

  •  App Clip Codes – By 2020 end, Apple will offer the tools needed for creating the app clip codes. But it doesn’t mean we cannot appreciate what is to come. The app clip code would have an encoded URL and an NFC tag, which would enable the code to eb tapped and scanned by the iPhone camera.
  •  NFC Tags – Users can tap their iPhone on NFC tags that you place at specific locations to launch an app clip, even from the lock screen.
  •  QR Codes – You can place QR codes in specific locations for enabling users to launch the app clip by scanning the code through their camera app or barcode reader.
  •  Safari App Banner – When your webpage is configured with a Smart App Banner for app clips, users can just tap to open it from there.
  •  Links in Message – By enabling sharing inside your app clip, users would be able to send it via iMessage to their acquaintances. The receiver, on the other side, will be able to open it straight from their messages.
  •  Place Cards in Maps – If your app clip is linked to a particular location, you can register it to appear on a place card in Maps, which users will be able to directly open.

How Can App clips Help in Business?

Spot advertising

The conversion will undoubtedly grow because companies will now be able to start their spot advertising campaigns offering services and info about themselves only when such services or data are really necessary for their target audience. The customer receives the opportunity to use exactly that feature that best suits the background.

Preserving Privacy

At the same time, the customer privacy level remains high, and that is extremely important nowadays. The emerging tool will bring benefits to businesses, users, and Apple itself.

Easy Pay

What’s more exciting is that with the close integration of Apple Pay, you don’t have to worry about saving payment information as long as your application supports “Sign in with Apple”.

Offline Support

The support for offline applications through QR scan and NFC tags makes it a great way for the brick-and-mortar business owners to acquire customers. All they have to do is integrate the functionality of app clips in their business’s iPhone application.

For a platform provider who services businesses, may create several app clip experiences in App Store Connect and use a single app clip to power them all. To people using the app clip, it appears with the branding of an individual business or location instead of your own branding.

Use consistent branding

When people see the app clip card for a business, the brand for that business is front and center. Tone down your own branding and make sure the branding for the business is clearly visible to avoid confusing people when they enter the app clip experience.

Consider multiple businesses

An app clip may power many different businesses or a business that has multiple locations. In both scenarios, people may end up using the app clip for more than one business or location at a time. The app clip must handle this use case and update its user interface accordingly. For example, consider a way to switch between recent businesses or locations within your app clip, and verify the user’s location when they launch it.

Where Can Users Resort to App Clips?

The main purpose of this tool is to increase user engagement, making it as easy as possible for users to interact with any app. In fact, any company providing a mechanism for quick goods or services ordering can use App Clips.

Here are some of the examples:

  • Gift certificate or discount coupon activation;
  • Bicycle or electric scooter rental payment;
  • Facility access ticket validation;
  • Electronic queue management (for example, in a bank);
  • Cafe order payments;
  • Cars park spot rental;
  • Hotel self-check-in;

Such mini-apps will greatly accelerate customer interaction with a company offering goods or services required by users.

Posted By: Anand Prakash, Osmosee

Osmosys locks-in their campus selects during the lockdown

Posted on May 19, 2020 by in Life of an Osmosee
Osmosys – Virtual Campus Placements

As we complete 2 months of lockdown due to the Covid-19 pandemic, organizations are still adjusting to the “new normal” – work from home, managing teams via online meetings and messaging. It is now inevitable for organizations to alter their business models and embrace digital transformation so that business continues seamlessly despite this unfavorable situation.

With the IT industry in India expected to have a lower growth rate due to this epidemic, Osmosys is no exception as we are also experiencing delayed decisions, temporary suspension of contracts and payment delays, However, we are committed to our employees, customers and stakeholders to wade-through these tough times with a sense of caution.

Then what about the commitments we made to our campus selects? This question was haunting us…

We had given job offers to more than 50 graduates from various colleges across India and this lockdown situation has postponed their final examinations and valedictions, which in-turn would delay their joining dates with us. We had to get creative in taking advantage of this downtime and engage our future employees.

We decided to fast-track their induction into Osmosys by employing a technology-driven online training program that would enable our campus selects to utilize this current lockdown period productively to acquire and sharpen their skills and get ready to make a smooth transition from “campus to corporate”.

To start with, we had to be cognizant to the situations and priorities of our campus selects and so we worked closely with their Placement Officers and encouraged them to register to our training program with no obligations and with a guarantee that this had no bearing to our current job offers to them.

In no time, we got an overwhelming response to our initiative and more than 40 of our campus selects registered for the program.

Our Managers and Leads came up with a training agenda that was inclusive, personalized and practical, covering topics like

Engineering Basics – Problem Solving, OOPS and Principles of Programming
Programming Languages – HTML/CSS, JavaScript, JQuery and SQL

Each topic is spread across 5-6 online classroom-style session of 2 hours each with material-led training, daily assignments, mock tests and a final examination at the end of each topic. Each of our trainer is backed-up by an observer and a few assistants that answered questions and queries of the participants via dedicated group chat and email.

As we pilot this for the first time, we are hopeful this attempt to disseminating knowledge via online to our future employees would accelerate their learning and help them join our teams with more confidence.

Historically, major world events are often an inflection point for rapid innovation and only time will tell if online technology and collaboration tools would be a viable alternate to manage all or most of our business processes including hiring, training, onboarding et all.

Posted By: Dinesh Madireddy, SVP – Global Delivery, Osmosee

Osmosys at the forefront of adapting to the “new normal”

Posted on April 19, 2020 by in Life of an Osmosee

virutal-meeting

On a sunny Monday afternoon in early Feb 2020, my boss and I were having a casual chat on ‘work-life balance’ and we instantly decided that it was time for a ‘break”. We quickly nailed-down on Goa as the best place to go on a quick vacation and enjoy the sandy beaches.

As we were getting nearer to the travel day, the news about corona virus was circulating. We just ignored and started planning for the trip. But just two days before the travel, my boss called me and said that we need to cancel our trip due to the virus prevalent. I thought he was too paranoid as at that time there was not even one positive case in India.

By mid-March, the global scene had changed drastically with the Covid-19 epidemic hitting hard and there was lot of confusion and chaos everywhere. The foresightedness of our CEO needs special mention as even before most companies were trying to understand the situation, we were already implementing strict “social distancing” and “personal hygiene” regimes in our office.

Indian IT Industry traditionally never believed in Telecommuting (aka Remote working or work from home), and we were no different. Arguably so, because we are a “bottom heavy” pyramid with close to 80% of our resources less than 5 years experienced. Our senior and mid managers have always been skeptical of their teams working remotely as they want to see them together and working in front of them. The fear of lack of control or losing control is still an issue and IT companies in India continue to hold this stigma.

But by end of March, the Covid-19 situation was worsening, and lockdown was imposed by the Government. In less than 48 hours, our teams switched to work from home by moving desktops/laptops to their homes, sorting out connectivity and infrastructure issues and it was ‘business as usual”. The speed at which we transitioned to a new way of working from home and team collaboration without physical presence in office, surprised even our CEO and senior management.

We quickly put some procedural protocols in place for remote working, educated our resources on the do’s and don’ts and just prayed that this model is productive enough for our business continuity. By end of April, our teams had adapted so well to the “new normal” that the top management sees the possibility, of allowing up to 50% of staff to work remotely which would reduce up to 20% on costs like facility charges including real estate, maintenance of office space and other infrastructure related overheads.

However, we need to be cautious in our approach and weigh-down the advantages and disadvantages of telecommuting. A young IT workforce in India still needs lot of mentoring, learning and sharing for their career growths. Only time will tell how the Indian IT companies would accept the ‘new normal’ and if this becomes an integral part of our operating models.

Having said that, post Covid19 era will be new for all those that believed “only the paranoids survive”.

And as for our Goa plans, the beaches have to wait for now…

Posted By: Dinesh Madireddy, SVP – Global Delivery, Osmosee

App store review process simplified

Posted on September 7, 2018 by in iOS

Introduction

App Store has millions of apps and they are growing in number. Apple paid a total of 100 billion U.S. dollars to iOS app developers. It’s a large market with a large number of users and App developers. If this gives you motivation to upload your app to the App Store, tag along and we will give some valuable tips and tricks to pass through the App Store review process.

The 5 Best Project Management Trends Shaping 2018

Posted on August 1, 2018 by in PineStem

This is going to be a big year for project management, but not because of a breakout in new tech or an influx of government-hired professionals. No, 2018 is going to center itself around emerging trends in the field. From role changes to hiring processes and more, here are the trends that will create a paradigm shift in project management.

Internship experience at Osmosys

Posted on July 25, 2018 by in Life of an Osmosee

Introduction

On the 7th of May, I first stepped into Osmosys after having just passed out of my sophomore year at VIT, Vellore. To appease my university’s need for me to learn first-hand at a software company, and to fulfill my own thirst for learning, I joined Osmosys as a Software Development Intern.