Top Mobile Development Trends For 2020
Mobile development is one of the most critical aspects of software and hardware development in today’s globalized ecosystem. The highly and quickly evolving technological world will continue to grow in 2020 and beyond, which will mostly include mobile development. With over 4 billion users operating in the digital world of mobile technologies, and since - as noted by Business News Daily, “...mobile app revenues are projected to hit nearly $600 billion in 2020.” Enterprises of all sizes have an unprecedented opportunity to capitalize on a large user base that encompasses over half of the human population. The mobile development market, according to Clarion, is growing at a rate of 14 percent and is expected to reach $100 billion by 2022.
Digging deeper into what mobile development entails, it is essential to recognize first what “mobile” means. “Mobile” technology includes any type of portable technology that can be carried on one’s person. This technology encompasses smartphones, tablet computers, and wearable technology, such as smartwatches and smart clothes. “Mobile Development” indicates the digital design, development, and engineering of those mobile systems, whether it be the Operating System(s) that run on top of the hardware, the applications that run on the mobile hardware, the web apps that integrate with the native hardware or run in a browser, etc.
While mobile development - in particular mobile app development - is growing, many advanced technologies are likewise growing, which are integrating with the advancement of mobile technologies, and will thus be tightly linked with mobile development in 2020 and beyond:
- Artificial Intelligence
- Machine Learning/Deep Learning
- VR Technology
- AR Technology
- 5G Network Technology
- Wearable Technology (Internet of Things)
- Blockchain Technology
- And more…
As of 2020, while mobile app development is increasing and evolving, mobile development - which includes mobile app development, mobile system/OS development for all mobile devices (i.e., mobile phones, tablet computers, smartwatches, wearable technology), web application mobile development and hybrid mobile app development - is evolving with specific trends that are important for businesses to understand and leverage to increase their bottom and top lines. Here’s an overview of the mobile development trends of 2020:
- Mobile App Development: The design, development, and engineering of mobile applications, typically on two major mobile platforms (though other platforms exist), Android and iOS. Mobile apps exist not only on smartphones and tablets, but on smartwatches, smart bracelets, smart clothes, and a variety of mobile systems associated with the Internet of Things (IoT) and wearable technology.
- Mobile applications can further be broken down to include:
Native Mobile Applications: Native mobile apps are developed to be specific to a single platform or mobile OS.
Cross-Platform Mobile Applications: Cross-platform mobile apps are developed to run on a variety of mobile platforms and Operating Systems without developers needing to recode for specific, native platforms.
- Mobile applications can further be broken down to include:
- Mobile System Development: As IoT and wearable technology increases, and as portable (“mobile”) devices increase and become more ubiquitous, mobile operating systems and mobile systems will require engineers that develop, maintain, patch, and design such systems for the technologies to work effectively.
- Hybrid Mobile App Development: The development of an app that feels and looks like a native app but operates with web app technologies distinguishes hybrid mobile app development.
- Web/Mobile App Development: The development of a mobile app that is opened from a mobile platform but executes in a web browser and requires an internet connection that defines web mobile application development.
- Web app development: Web apps, developed via HTML5, in 2020 and beyond, usually require developers to integrate the web app with mobile platforms.
Internet of Things (IoT) For App Integration
The Internet of Things (IoT) is a novel technology that can change how the physical world and the digital world integrate and interact with each other. A myriad of trends in 2020 associated with developing mobile systems and apps that interconnect with IoT technology will require businesses to rethink both the MSDLC and how they utilize mobile development systems for mobile development, such as development frameworks and platforms.
The Internet of Things is a unique networking system that links together internet-connected devices. Sensors and actuators in the devices use Wi-Fi or 4G/5G to collect data and integrate these systems with other hardware systems and software systems. IoT tech typically allows users to utilize mobile apps on mobile devices to control the Wi-Fi-integrated network of IoT devices. Essentially, IoT tech is a system that will enable a multitude of devices - that are typically not connected to the Internet - to be linked and integrated with other devices - via the Internet. This integration allows both mobile devices, powered by mobile systems along with mobile apps, to be integrated and to work together via an Internet connection.
The IoT allows three primary (novel) functions:
- Remote viewing: IoT tech allows one’s device - such as a mobile phone or tablet computer - to operate as a viewing console, giving a user the ability to see remote areas through the camera of a remote device that has sensors and IoT modules attached to it.
- Remote control: While IoT tech allows a user to view remote areas via the camera of an interconnected device (typically connected via Wi-Fi), IoT also allows a mobile device to send control commands via the Internet to the device, creating a “smart” network of Internet-connected devices.
- Data and IT connections & integrations: IoT devices typically create a network of data sharing, connections, and integrations by having sensors linked to the device to collect and stream (in real-time) data to central hubs or centralized systems, including a user’s workstation or mobile device.
As noted by Hackr.io, there are several real-world, advanced applications of IoT Technology, from 2020 and beyond:
- Smart Cities: Smart Cities are city infrastructures with a myriad of cameras and sensors linked with everyday city objects (i.e., traffic lights, buildings, street lights, etc.) - objects that are connected to Wi-Fi - allowing central operators to connect with and control parts of the city while streaming data from such devices via the linked sensors. Future mobile devices and apps will likely be engineered to connect with such city-systems so operators can monitor and logistically manage such IT-based infrastructures.
- Smart Homes: Smart Homes, like smart cities, are IoT-linked homes with a variety of Wi-Fi-connected modules, sensors, and actuators that allow users to control home appliances remotely along with controlling certain functions (e.g., opening the garage, turning up the AC, etc.), and to view areas of the house via IoT-based Wi-Fi-connected cameras, and more. Mobile apps are often used to manage and control smart home features.
- Smart Cars: Smart cars are linked to the Internet via Wi-Fi-enabled modules and allow users - via mobile apps on their mobile phone, tablet, or smart device - to control the functions of their car remotely. Along with 5G and a system of integrated sensors, this technology may allow self-driving vehicles to be a reality.
- Farming IoT: IoT technology in the farming industry is a novel concept that allows farmers to track their herds via smart sensors and microchips (that hold critical information on the animal), along with sensors connected with tractors and other farming equipment that may allow farmers to detect issues better and predict the status of the weather and crops. Some examples include AIIMETOE and Pynco. The ability for farmers to monitor the health of their agricultural systems via a mobile app on their phone is a critical way for farming IT systems to become a staple in the agricultural sector.
- Health IoT: IoT devices that track one’s health, blood pressure, blood sugar, heart rate, fitness regime, and even disease progression are capable of revolutionizing the health industry via a system of remote diagnostic systems linked with sensor-enabled, Wi-Fi-connected smart bracelets, smart clothes, and smart medical modules. Most of such smart systems relay key health data to mobile phones and tablets for quick monitoring and diagnostic operations.
- Manufacturing, Tracking and Monitoring IoT: The Industrial Internet of Things (IIoT) allows inventory tracking, GPS asset tracking, supply monitoring, logistics management, and even the automated tracking of issues with railways, airplane systems, and manufacturing pipelines all via interconnected, sensor and Wi-Fi-enabled smart systems. This allows supply chain management to be radically altered to make life easier for businesses, vendors, operators, manufacturers, and more, who can manage such systems via mobile apps on mobile devices.
- Smart Retail: Smart retail has the potential to transform how retail companies operate. IoT tech allows such businesses to connect with customers via their mobile devices and even enable such companies to monitor and track user paths through a store to offer personalized content to specific demographics based on data of high traffic areas.
- Smart Grids: Smart Grids allow the building of smart infrastructures that allow electric, gas, and energy companies (among others) to manage their assets and network of systems via a network of IoT devices. Such a system gives operational admins the ability to better manage electrical outages via mobile apps on mobile devices and offers such companies real-time surveillance and data streaming from IoT grid-devices so that the distribution, transmission, and management of energy can be optimal.
- Internet of Nano Things (IoNT): As nanotechnology evolves within every industry and market, connecting nanobots with Wi-Fi modules and a network of sensors allows businesses and users to take advantage of a myriad of functions. For example, nanomedicine-based bots could monitor health from one’s bloodstream and offer both diagnostic data streams to physicians and even allow doctors to fight off infections and cancer cells via the control of such bots. IoNT sensors would likely relay and stream critical health data to mobile devices such as tablets.
Overall, IoT technology serves as the foundation of “smart” technology and is associated with everything from wearable technology (“smartwatches, smart bracelets, smart clothes, etc.”), to smart airplanes and smart infrastructures. Some examples of wearable technology - which only work due to mobile developers engineering both the mobile device OS and the mobile app used to operate the devices - include:
- Tap Strap: Tap Strap is a “remote keyboard” system that works without a keyboard, and only requires a user’s hand movements. The system detects the user’s hand position and links with VR due to having 3D space detection functionalities.
- DuoSkin: DuoSkin attaches to the skin like a tattoo and allows a user to control digital devices, while also having other functions such as reacting to body signatures, transmitting NFC data, etc.
- dhamaSport: dhamaSport is a smart bracelet system that detects body temperature and cools the body, while also helping the body to recover from exercise.
As for businesses, IoT technology can integrate well with Artificial Intelligence and Big Data technologies to use a system of actuators and sensors on mobile and mechanical devices (e.g., trains, motorcycles, drones, etc.) to send a continuous stream of data that can be analyzed and parsed to give executives of businesses actionable, real-time insights on how to alter or continue their operations.
Out of virtually every novel, advanced technology of 2020, IoT tech arguably has the most significant opportunity for allowing mobile developers to engineer mobile systems (including operating systems and low-level mobile functions) for IoT-enabled mobile devices and the mobile apps that drive them. These apps control everything from smart cars, smart homes, and IoT nanobots to smart grids, smart farm equipment, and smart city objects.
Smart Home technology, such as Google Home, Apple Home, and other systems associated with IoT technology, are a group of evolving technologies that have the capabilities of allowing mobile development firms to leverage their experience to develop powerful smart home apps for managing, securing, and viewing their smart home peripherals. Tech such as Google Home, Amazon Echo, or Apple Home uses smart speakers and a smart display to allow voice commands from a user to their digital assistants (Google Assistant, Alexa, and Siri, respectively) which will carry out the commands. Such smart speaker systems often work in conjunction with smart IoT home appliances that are connected to the primary house Wi-Fi so users can control their house via voice commands, typically through a mobile tablet. However, smart speakers are often used not for IoT voice commands to control a smart home but are frequently used simply to carry out basic commands via the respective voice assistant system, such as asking for directions to the cinema, setting calendar dates for events, and playing music via voice commands.
Household Appliances & Mobile Apps
Mobile apps will soon have the power to control the ubiquitous smart devices that are connected to Wi-Fi via IoT technology, giving mobile developers an unprecedented opportunity to use robust mobile development frameworks and platforms to create a mobile phone, smartwatch and wearable tech apps that integrate with smart house systems. Such smart appliances can include a myriad of different peripherals that are within the network of a smart home, allowing mobile apps to control and manage such systems remotely:
- Smart Refrigerator: Utilize a mobile app to control the temperature or even view inner contents via a camera.
- Smart garage: Use a mobile app to open and close the garage.
- Smart thermostat: Use a mobile app to remotely change the temperature of the house.
- Smart cameras: Use a mobile app to connect with house cameras to view the premises while away.
- And more...
Like with IoT tech, smart house gadgets will benefit from a robust Mobile SDLC and a powerful development framework or platform.
Artificial Intelligence (AI) & Chatbots
Like the Internet of Things, Artificial Intelligence (A.I.) is fast becoming one of the most ubiquitous and evolved areas of tech, and will soon be utilized in a myriad of IT applications globally in 2020 and beyond. Such an evolution of A.I. provides developers with a massive amount of mobile development opportunities as A.I. is likely to become integrated with a large number of computing devices in the future.
A.I. is by no means new technology but is a system of developing software to “think” like an autonomous, intelligent human - including developing solutions, solving problems, “learning,” remembering information, adapting, and more. To this end, A.I. has existed for decades, the recent explosion in advanced A.I. systems, robots and machines encompasses software and hardware machines that are better able to adapt and learn as a human would via complex algorithms and programming that enables them to rewrite their own algorithms to reflect their experiences, resulting in more efficient behavior in the future. There are a few aspects of A.I. that are critical to understanding how mobile development will become integral to engineering A.I. systems associated with mobile devices in the near future:
- A.I.: Artificial Intelligence entails any hardware or software system (machine) that is able to use human-like intelligence in order to “think” for itself like an autonomous, sentient person.
- Machine Learning: What makes modern A.I. a radically important tech innovation is the use of Machine Learning (ML) algorithms, which are complex code that give machines the ability to recode their own data structures and algorithms to “learn” and change their behavior in the future.
- Deep Learning: Deep learning equates with “learning by experience” and is coupled with ML to give machines the human-like quality of extrapolating meaning from experiences and learning from them, thus changing their code to operate differently (more effectively) in the future.
There are a massive amount of real-world examples that reveal how A.I. is the future when coupled with mobile systems, as noted by Edureka:
- A.I. in Marketing: Mobile A.I. systems are becoming critical in helping to drive marketing pipelines within mobile apps, where customers can have smart bot-powered e-commerce mobile apps quickly learn their preferences and suggest applicable products without the customer even having to attempt a search.
- A.I. in Banking: Mobile banking apps are becoming the norm. The use of A.I. systems within banking apps to help customers manage their money will help multitudes to feasibly carry out their financial tasks on a daily basis.
- A.I. in Finance: The mobile apps of financial institutions will not only help banks to manage their financing operations but will help investors to better invest with the help of bots that have analyzed large chunks of financial data.
- A.I. in Agriculture: Like with IoT in agriculture and farming, using A.I. in farming systems helps farmers to use mobile devices to better analyze weather patterns and even soil conditions, helping such specialists to know when and how to cultivate their crops.
- A.I. in HealthCare: A.I. coupled with tablets and mobile apps has a wide array of applications in allowing doctors to better analyze diagnostic data and carry out bioinformatic analyses to meet the ever-changing needs of Precision Medicine, among other things.
- A.I. in Gaming: A.I. has existed in gaming for decades, and is one of the more fundamental uses of A.I. up until 2020. As mobile games become more and more common, the development and deployment of complex A.I. systems within mobile gaming platforms and apps will be paramount to the evolution of games on mobile consoles, giving users an extra challenge.
- A.I. in Autonomous Vehicles: A.I. in self-driving cars will be one of the most necessary components so cars can “learn” and drive themselves in the same way that a human would drive them. As mobile devices become more commonplace in integrating with advanced technology, mobile developers will be needed to develop apps and mobile OS features that will allow the deployment of A.I. within autonomous vehicles.
- A.I. in Chatbots: A.I. systems are the foundation of chatbots, which give users a new way to interact and communicate with mobile devices.
One of the most unique examples of A.I. smart bots operating in a way that dramatically enhances and alters modern mobile experiences are chatbots, coupled with a conversational UI.
Chatbots are smart bots: programs within an application that interact with and communicate with a user in a human language via Natural Language Processing. Chatbots allow users to use human language to interact with, navigate, and communicate with machines (including hardware robots and software applications) when such A.I.-powered smart bots are coupled with a conversational UI. Conversational UI enables users to interact with machines (via chatbots) using human language and contrasts archaic CLIs (command-line interfaces), point-and-click interfaces (e.g., mouse and keyboard), and the modern touch interfaces of tablet computers. One critical aspect of smart chatbots within mobile systems is that they are able to learn a user’s preferences to customize a user’s mobile experience, which has a wide array of applications.
Due to the complexity of A.I. systems, robots, and chatbots, such systems will require skilled mobile developers to engineer three critical aspects of A.I.-powered robot (mobile) systems:
- Chatbots within mobile applications
- The Conversational UI of such mobile applications
- The mobile OS and software that runs smart A.I.-robots
Smart (physical) robots - working to automate industrial tasks and other operations throughout a variety of industries - are the future, and, as quasi-mobile systems, will require skilled mobile developers to engineer their systems and the apps used to connect with them.
When it comes to specific development trends associated with developing A.I. systems, in order for businesses to increase the time-to-market and enable quick, robust A.I. mobile systems to be engineered for public use, developers will increasingly use mobile development platforms and mobile development frameworks for development. Agile and DevOps workflows will likely continue to become more commonplace, while the Design phase of the Mobile SDLC will be important for the UX and mobile UI to be optimally created when it comes to chatbots and the conversational UI of mobile systems.
Augmented Reality (AR) vs Virtual Reality (VR)
Virtual Reality (VR) and Augmented Reality (AR) are two advanced and powerful systems that will greatly revolutionize how mobile devices and apps are developed and used by end-users. However, it is critical to note that, while similar, the two technologies are quite different:
- VR uses mobile headsets (typically) to allow a user to feel and experience a visual and simulated reality that fully immerses the user, leaving the user feeling that they are in the simulated environment as opposed to their actual, physical environment.
- AR is camera-based (or uses a visual system) that overlays data onto a physical, surrounding environment without the user being immersed in a simulated environment. The user still feels fully immersed in their physical surroundings while having bits of data (from a mobile system or app) superimposed over that environment.
Regardless of whether the tech in play is AR or VR, both will benefit largely from mobile systems and apps. In order for mobile VR headsets to run, they require a mobile OS and mobile system programming, making it essential for mobile developers to use robust engineering platforms or frameworks to ensure that VR headsets work optimally. When it comes to AR systems, such AR operations usually work in conjunction with a mobile device such as a smartphone, a smartwatch, a smart bracelet, or smart glasses, which allows data to be overlayed on top of the mobile device’s screen via the relaying of data to the display from its camera.
AR in Marketing
Marketing systems associated with mobile systems and mobile apps can significantly benefit from AR systems in a variety of ways. From augmented reality brand promotion when a product is scanned using an AR reader app on a mobile phone - showing how the product works and why a user should buy it - to AR displays showing the design of a customized product before it is bought (e.g., a car) - AR has the power to completely alter marketing “business as usual.”
AR in Healthcare
Like AR in marketing, AR can completely change how the medical world operates when coupled with mobile systems such as tablet computers and even smart glasses. AR mobile systems can help doctors with:
- Disease detection using image recognition via real-time screening analysis using smart glasses (or an optical device that feeds data to a tablet computer display).
- Overlaying holographic information (via smart glasses) over a patient to aid in treatment and diagnosis.
- Overlaying visualized information (via smart glasses or some optimal mobile device) over a patient during complex surgical procedures.
While most modern development trends - such as Agile/Scrum, and the standard MSDLC - will likely continue to be used, the use of AR systems with mobile devices will require a robust design and development phase, and will significantly benefit from mobile development platforms and mobile development frameworks.
Cross-Platform Mobile Development
One of the most ubiquitous and ever-increasing trends within the world of mobile development is cross-platform mobile development. “Cross-platform” entails mobile apps that can be deployed on multiple hardware platforms and operating systems without developers having to recode for each native platform or OS.
Along with the standard MSDLC and development platforms/frameworks, in order to help cut down on mobile development timeframes, developers optimize such phases by developing with cross-platform systems that allow a quick time-to-market and deployment phase since they can engineer such applications and mobile programs without having to recode for each native platform.
Powerful Apps with 5G Technology
2020 begins the age of 5G, which is an enhanced, much faster, and more robust mobile network that increases the speed of streaming data to, and from mobile devices, including smartphones, smartwatches, wearable tech (IoT), self-driving cars, etc. Since 5G will allow the direct streaming of data to and from many mobile devices - not just mobile phones - this gives mobile developers a myriad of opportunities to engineer mobile apps for the new, super-fast mobile systems that will drive such new IT systems.
The 5G network is a software-defined network that will use Cloud-computing and will give mobile devices 100 times more data capacity and better response times for the network when compared with 4G networks. Additionally, 5G will use network slicing (separate wireless networks on the cloud) to offer personalized/customized experience. This will not only affect laypeople, as businesses will be able to pay for more of a network “slice” to aid in their marketing pipelines, and will thus have a more significant internet share.
Ultimately, 5G will offer a more streamlined mobile experience, offering more of an opportunity for better apps and systems to be engineered for mobile systems, including smart vehicles. 5G will integrate with mobile platforms and mobile apps to be suitable for self-driving cars, mobile gaming apps, movie streaming mobile devices, and more.
Additionally, 5G systems will link with the Internet of Things mobile devices for better data integration with other devices (i.e., robots, medical equipment, industrial equipment) using the much faster and more capable 5G network.
Mobile Wallets & Wearable Devices
2020 is the age of digital wallets, mobile wallets, cashless payments, digital currency payments, blockchain cryptocurrency, and more, all of which allows seamless payments and optimal integration with one’s daily life via the use of mobile apps in conjunction with mobile systems (e.g., mobile phones, smartwatches, smart bracelets, etc.). Contactless payment systems link to apps and integrate with personalized, customized day-to-day operations, giving mobile developers a lot of opportunities to make custom mobile apps/systems that link with cryptocurrency and contactless payment systems.
FinTech employs DevOps - which integrates security with each SDLC phase - and robust, security-based mobile development frameworks, as mobile development firms engineer more and more mobile-based contactless payment systems.
There are a variety of contactless payment systems that integrate with mobile apps, including Apple Pay, Google Pay, and others - most of which use NFC (Near Field Communication) - along with a variety of Blockchain-based cryptocurrencies. Cryptocurrency wallets, like with mobile wallets, depend on robust FinTech mobile apps to allow users to manage and sometimes store their digital or Fiat currency, either via a smartphone or smartwatch/smart bracelet.
All of the above tech will depend on well-engineered backend integrations with mobile apps and systems, allowing users to use mobile devices to connect with their currency accounts.
Key Elements of Mobile Apps
Mobile systems and mobile apps typically have a set standard when it comes to functionalities and overall elements. And while there are some typical elements, there are also some more exotic elements that, after 2020, may become more commonplace. Standard elements include app integration via API code, push notifications, and a robust UI. As more technologies evolve while revolving around mobile systems, more advanced elements, such as chatbots, ML bots, and image/facial recognition may become standard elements integrated with standard mobile apps and mobile systems.
There is a wide variety of standard mobile system/app elements that virtually all mobile devices - specifically smartphones and smartwatches - use, including:
- Login/Signup Management: The ability to use an email or social media accounts for mobile apps to sign up for, log in with, and utilize the app’s functionalities is vital for authentication and authorization functions to permit pertinent access control mechanisms for relevant users.
- Social Integrations (Facebook, Instagram, Twitter): The ability to use social media accounts to access, and signup with certain mobile apps - and the ability to share data between social media apps and other mobile apps - is key for the modern function of the smartphone/smartwatch. Such social media integrations allow users to integrate their personal and critical files and data seamlessly across mobile systems with ease, something which mobile developers typically include in most apps of 2020.
- Push Notifications: Push notifications are a way for mobile users to be notified of critical messages and app updates even when the user is not active within the UI of the app. In other words, even when a user is carrying out other functions on a mobile phone (including using other apps), and/or when he/she is not even using the phone, provided that the phone is on, they will be notified that they have received a message or app update (i.e., critical information) via the notification being presented visually on the screen of the mobile device.
Along with standard mobile functionalities, mobile systems of 2020 typically connect with cloud storage systems, such as Dropbox, Box, Google Cloud, or Microsoft OneDrive, to allow users to store data across hardware platforms and sync their critical files with their device(s) instantly across all of their hardware. This real-time ability to sync and update their files across platforms and mobile systems requires robust mobile development methodologies and models and optimally will allow data from the cloud to be available offline on all synced devices.
In 2020 and beyond, A.I. and M.L. will become standard mobile tech that will make everyday life easier, mainly by giving users a personalized experience and the ability to navigate the mobile UI via human language.
As the future of mobile tech gravitates towards the use of conversational bots (“chatbots”) for user interaction and navigation of mobile apps, mobile development firms will use development platforms and frameworks to increasingly use A.I./M.L. for other integrated tech, including image and video recognition, and speech recognition.
Regarding the former, image recognition in mobile apps - such as the one associated with Facebook’s tagging system - and facial recognition - such as the iPhone Face ID and Samsung’s Face Recognition security feature - are quickly becoming the norm with smartphones. Such an evolution of recognition software requires mobile platforms to be developed with mobile systems that support such functions. With regard to speech recognition, most modern “smart devices” allow microphone input for voice commands in conjunction with a digital assistant. Mobile systems such as the iPhone also allow dictation via speech recognition, giving users a new avenue for interacting with their mobile platforms.
Leverage Mobile Development To Keep Your Business Relevant
Mobile development is the new phase of technology that is here to stay. As of 2020, mobile development is a rapidly growing industry that is tightly integrated with the rapidly expanding advanced technology industries, which include everything from smart, A.I.-powered Chatbots, to the Internet of Things, to wearable, smart tech, to AR technology, etc. Regarding the rapid expansion of IoT markets and devices - where wearable technology becomes ubiquitous - mobile development will become the impetus for how such technologies evolve due to mobile systems/apps underpinning how such technologies operate. Thus, businesses all over the globe can benefit from leveraging mobile development to remain competitive and to scale and increase their bottom and top lines.