Layman's Guide to Computing

Articles tagged with app

Issue 14: What do developers do?

Published:

By J S Ng

Issue 18: Frameworks

While libraries make it easier to do the same thing in a programming language, a framework makes it easier to make a particular kind of app. Like libraries, frameworks are usually specific to a particular programming language, and can’t be used in another programming language.

Published:

By J S Ng

Issue 26: Software distribution

A developer can simply put up a download on a webpage and hope people download it and figure out how to get the app on their devices. But often, the more popular way is to publish the app to a repository (also known as an app store, for mobile devices). Before this can be done, the code or application needs to be packaged according to the requirements of the repository.

Published:

By J S Ng

Issue 65: Memory Sharing in the Operating System

Shared memory helps to reduce the amount of memory needed by all the applications running on an operating system. It also allows applications to send data to each other, and to communicate.

Published:

By J S Ng

Issue 92: All about apps

Sandboxing is a catch-all term for the concept of ensuring apps don’t have access to resources outside of their privileges. Sandboxed apps are generally safer than non-sandboxed apps in terms of security, and easier to manage, terminate, and uninstall.

Published:

By J S Ng

Issue 93: What's in a web app?

Web apps have limited access to the device’ storage, and can only store data in browser-managed databases. Progressive Web Apps (PWAs) can additionally register service workers that run in the background. Because they are so cleanly sandboxed, they can be easily removed by clearing the browser cache and storage, and deregistering any service workers manually.

Published:

By J S Ng

Issue 94: Why do web browsers take up so much memory?

Web apps require the browser to request memory on their behalf, and thus their memory usage shows up under the browser process in the OS Task Manager. Web apps use this data to store a more convenient (but larger) representation of the webpage document, and to store the data needed by the app.

Published:

By J S Ng

Issue 95: What’s in a mobile app?

Mobile apps, unlike web apps, can bundle resources and libraries to be installed to a mobile device. They can also request access to storage, and typically have a higher memory limit than web apps.

Published:

By J S Ng

Issue 96: Why are mobile apps so large in size?

Mobile apps are sandboxed by the operating system. As a result, they have to bundle all the libraries they need, and are not allowed to share libraries with other apps. This results in mobile apps with huge filesizes.

Published:

By J S Ng

Issue 97: Laptop apps

A laptop app can do practically anything, if it is running through the Administrator/root account. Sandboxing is carried out through permission control.

Published:

By J S Ng

Issue 99: Where does all the app data go? A look at Mac-like systems

MacOS, Linux, and other similar systems treat everything as a file, organised into appropriate subfolders.

Published:

By J S Ng

Issue 100: Where does all the app data go? A look at Windows systems

Windows systems categorise data into two types: files, and settings. Files are stored under an appropriate subfolder in C:\, while other storage devices and network locations are stored elsewhere or given their own drive letters. Settings are managed through the Windows Registry, which is stored in C:\Windows\System32\Config\ and C:\Windows\Users\Name\.

Published:

By J S Ng

Issue 101: Why apps crash

An app crashes when it encounters a situation it can’t handle, or when it attempts to perform an operation that is disallowed by the operating system.

Published:

By J S Ng

Issue 102: Threading

Applications are assigned a thread by the OS for running a sequence of instructions. The instructions are executed sequentially, and the app cannot proceed if it gets stuck on any instruction.

Published:

By J S Ng

Issue 103: Why apps hang even with multiple threads

A race condition happens when threads depend on instructions happening with coincidental timing for success. When instructions are not executed with appropriate timing, one or more threads can get stuck waiting on a response that never comes.

Published:

By J S Ng

Issue 104: Storing sensitive data

Published:

By J S Ng

Issue 145: What an app wants, what an app needs

Programs do not usually deal with the gnarly details of hardware, but instead access it through an interface. They access storage devices through a filesystem, and access hardware through drivers.