Abstraction, Artificial intelligence and the Ability to understand tech underlying
The technology is evolving, perhaps faster than we can comprehend, let's understand Digital Literacy and why it's important now more than ever.
What is Abstraction?
In object-oriented programming (OOP), abstraction is a fundamental concept that focuses on representing essential features or behaviours of real-world objects in a simplified and generalized manner. Abstraction aims to hide unnecessary details and expose only relevant information to the users. It provides a high-level view of an object or a system, allowing developers to focus on essential aspects while ignoring the implementation specifics.
The car analogy: This is a classic example of abstraction in OOP. When you drive a car, you don't need to know how the engine works or how the brakes are implemented. You just need to know how to use the car's controls to get where you want to go. The car's internal details are hidden from you, which allows you to focus on the task at hand.
Learn more about Abstraction here 👈🏻
How's this a good thing?
Software abstraction is not limited to just the design and structure of code; it can also be applied to the user interface and overall user experience. By abstracting away complex technical details, software developers can create intuitive and user-friendly interfaces that shield users from unnecessary complexity. The app or website may hide the complex processes happening in the background, presenting users with an easy-to-understand interface that allows them to perform tasks efficiently.
Abstraction in AI-Powered Products
Perhaps the best example would be ChatGPT by OpenAI (or Bard by Google). The user only has to input a thoughtful prompt and ChatGPT will spit out a workable answer. It may not be perfect all the time, but it helps a lot.
The UI of the website is very simple and anyone can understand how to operate it. It leads to more accessibility, which is a good thing. The end goal for any software product should be to be accessible to the largest possible user group.
But underlying this very simple website lies an advanced technology that is a Large-Language Model (or LLM). Since the early 2020s, we have encountered LLMs like GPT-3 and GPT-4 from OpenAI, LLaMA from Meta, and PaLM2 from Google. And the number is gonna increase and these models are getting smarter soon.
Another similar example would be DALL-E 2 by OpenAI. It has a similar user experience involving writing a prompt and waiting for images to appear.
At the heart of this seemingly straightforward software, DALL-E 2 uses sound diffusion to generate images from textual descriptions. During its training, the algorithm gradually adds noise to the input images and refines them using stable diffusion.
Confusing, am I right? Hence the Abstraction. A general user doesn't need to understand these terms to operate ChatGPT or DALL-E. Which brings me to my next point.
(Orignal by Hurca!™ edited with DALL-E 2 by OpenAI)
A user will keep using these advanced technologies with ease without understanding what and how they work, eventually making the learning curve steeper than the capability of the common man to understand.
Any sufficiently advanced technology is indistinguishable from magic.
~ Arthur C. Clark
Of course, there will be people who'll understand these models as they age but it'll be soon limited to just them, the experts.
You can learn more about Understanding Image Generation with Diffusion here 👈🏻
It's the Hardware as well
It's almost a given that most people have at least some degree of knowledge about PCs. We've embraced PCs as an essential tool in our personal and professional lives, recognizing their significance and adapting to their functionalities.
We understand logic gates in basic computing but when they got evolved to become nano-meter-sized transistors in the last few decades, common people lost the ability to comprehend the scale and complexity.
A modern smartphone is a technological masterpiece we treat as a mere entertainment device like it doesn't have the latest micro-electronics and optimised software in it.
The issue with Abstraction
These software and hardware products are way too easy to operate. It takes away the curiosity you might have of anything because that opportunity is kept hidden from you in the context of simplicity and instant gratification.
The user may never search about how something works if they don't have the basic idea of what they're searching for.
Having a basic understanding of the underlying concepts can empower users to make informed decisions, troubleshoot problems, and adapt to new technologies more easily. It can also help users identify and avoid potential risks or security vulnerabilities.
It is crucial to strike a balance between abstracting away complexity for usability purposes and providing users with the necessary knowledge to comprehend the fundamental concepts.
Advocating for Digital Literacy
AI is being incorporated into every piece of software nowadays. VoiceGPT, PDFGPT, AudioGPT, use a noun preceding GPT and you'll get a website wrapping ChatGPT API. Search for .ai domain and get a basket full of AI-driven tools.
Companies are incorporating AI into their existing software products. A certain blogging site, a popular design and prototyping tool website, the office suite. With this major uptick in the usage of AI, it is necessary more than ever to learn about Artificial Intelligence in depth.
What is Digital Literacy?
To quote - "Digital literacy is defined as an individual’s ability to search, find, evaluate, and compose clear information through typing, writing, tapping, and by using other mediums (e.g., multimedia videos, video calling, and messaging) on various digital platforms, which requires a basic level of computer competency ."(Bawden, 2008).
Digital literacy is essential in today's digital age as it enables people to fully participate in the digital world, make informed decisions and use digital technology effectively for a variety of personal, educational and professional purposes. It enables people to critically process digital information, communicate and collaborate with others, protect themselves online and navigate the complex environment of the digital landscape.
Abstraction is necessary for a good product experience but a user should be provided the means to dig deeper on their own.
We should promote AI with literacy in mind and foster inclusivity while teaching.
Conclusion
Ultimately, while abstraction can simplify technology for broader adoption, it is essential to encourage a basic level of understanding to mitigate potential issues and empower users to make informed decisions regarding the technology they use. Striking a balance between abstraction and understanding is crucial for ensuring both usability and responsible usage of technology.
Stay Curious.