Installing Android apk using adb

What is adb? Android Debug Bridge (adb) is a command-line tool that lets you communicate with a Android device. It facilitates a variety of device actions, such as installing and debugging apps. There are several other facilities that adb provides. For more information about adb, visit here. How adb works? When you start an adb…

Back to Basics – OAuth 2.0

Today, I am delighted to start my new series, Back to Basics. This series aims to provide basic knowledge about the technologies that developers come across in their day-to-day lives. Let’s begin today’s topic, shall we? Ever since the Cambridge Analytica scandal is uncloaked, data privacy and security has been the talk of the town. Eventually, privacy…

Supporting Picture in Picture (PIP) in iOS application

Introduction iOS 9 had brought some multitasking enhancements mainly for iPads. One of which is Picture in Picture (PIP) mode for video playback. In short, PIP allows user to leave the application and continue to watch a video in a floating resizable window. Also, the user can continue to use its iPad normally, without interrupting a…

POP (Protocol-Oriented Programming) – an introduction

Preface A computer is a complex machine made up of several hardware components. Then there is a software layer which efficiently makes use of these components to perform the desired task. These complex machines, many of the times, talk to each other to share the information or to delegate some tasks. All these tasks, at some point…

iOS design patterns — Part 2 (VIPER)

In the first part, here, we toured on MVC, MVP and MVVM, three of the most famous design patterns used in iOS application development. This final part will explore the VIPER design pattern. Lately, VIPER is treated as the extended version of MVVM which provides more modularity as compared to its contenders. It basically comprises…

iOS design patterns — Part 1 (MVC, MVP, MVVM)

Design patterns have always helped in building a manageable, testable, reusable and optimized software. Generally, it helps in modularizing the software such that each component is separate and handles a single responsibility. Additionally, they drastically improve the readability of the code which plays a big role in communicating the software code. Also, the software development…