A New Approach for a New Age in Computing
Apps are essentially packages of fixed instructions (binary code) and data that operating systems (OS) or in the case of the web app, web browsers process. It is this dependency relationship between the OS or browser and applications that enables the behaviors that the app is designed to do. The behaviors are [primarily] pre-determined by coders. There are three major flaws that fixed approaches have in-common.
- Security Vulnerabilities – It is the fixed design of software that is the primary reason that software [operating systems and Apps] is vulnerable to attack by hackers [coders who have bad intentions]. In simple terms, fixed targets are easier to hit.
- Requires Specialist Skills – There are only ~18 million coders in the world [in 2018]. There are ~7.5 billion people. The overwhelming majority of people do not have the skills needed to create machine behaviors. This most certainly means there are many ideas that remain trapped.
- Inefficiencies are the Norm – The legacy approach to software development has benefited from decades of greater hardware performance, consistent with Moore’s Law [observation that the number of transistors in a dense integrated circuit doubles about every two years]. This has allowed software developers to rely on hardware without becoming more efficient [falling well below the potential of fully optimized solutions]. As operating systems are designed to do more things, they become larger and more complex.
At MindAptiv®, we believe that there’s a better way to create machine behaviors. Wantware (mostly on-the-fly generation of machine instructions based on human intentions) is a major departure from software (mostly fixed instructions that are predetermined by coders).
This blog post [other related ones on our website], the recently released illumin8® app [download the Mac OS X 10.12 version here] and the videos [here] about how it was made, collectively provide insight into an alternative to the legacy ways of delivering machine behaviors as a unified package of wantware and software. We call them Aptivs.
What is an Aptiv?
Every Aptiv is a semiotic computing system (compute system for meaning-making) in a package (can be existing ubiquitous containers like; jpeg, png, pdf, gif, mov, etc.) that dynamically adapts to the operating environment and the user. The purpose of an Aptiv is to produce the optimal machine instructions for a given set of ideas [pre-determined and from real time input].
Why Does the World Need Aptivs?
The fundamental benefit of this approach is the ability to bridge the gap between human intentions and machine behaviors in real time. Ultimately, enabling the world to “create at the speed of thought®.” That vision is not achievable as long as the primary way of instructing machines is through programming languages.
The concept of ideas [as a way to instruct machines] provides a level of inherent security and creative possibilities that is absent in legacy software approaches. The idea is a powerful way of communicating between humans, why wouldn’t that work for machines? The answer is, it does if the idea is being translated [into machine instructions] by an Aptiv.
An Aptiv only does what is consistent with initially provided “ideas” (e.g. compress, enhance visual quality, layer video on top of images or visual effects, provide user interface elements and other interactions with machine behaviors, etc.) and inputs (e.g. data and choices by the user or relating to services) that are consistent with the original ideas. In other words, it can’t generate its own ideas or be co-opted into doing things outside of its guiding ideas (e.g. steal or corrupt personal data).
Focus of the first Aptiv – illumin8® (i8):
- Making an original image the highest resolution of the display device (e.g. turning an original 34kb photo or a DVD quality movie into 4, 8 even 32 times the resolution of HD).
- Eliminating pixelation, even if the original passport size photo or video made for a phone is displayed on a stadium screen.
- Color-correction and sharpening edges for greater detail, making the output signal look better than the input signal.
- De-noising and removing banding and other qualitative improvements.
- Training, recognizing, synthesizing and translating the objects within images/videos/streams from sensors/Internet traffic for a wide range of applications, such as augmented reality (AR).
This is really game changing given all the above and more happens [as generated, not written instructions] in parallel and in real-time, and can be done on a single low powered computer or auto-scaled to many more machines across a local or distributed network (in a cumulative computing implementation).
Now, let’s take a deeper dive inside of every Aptiv.
Historically, the value of computing was largely the effort to produce written code. The true value of computing is what a given computing device does [behaviors]. By translating meanings [expressed in the users’ own style] into machine behaviors, Essence® realigns the value of computing.
Every Aptiv can contain an Essence® Agent, various Powers, Skills, Media and instructions [meaning-units] or data for the Essence® Agent to process.
Next, let’s go further into what Aptivs are by describing the Essence® Agent.
Measured in kilobytes, the Essence® Agent works with or does the work of an operating system and much more.
- Code Generator: The ability to regenerate the machine instructions according to profiling to tradeoff memory stalls vs arithmetic operations or to best manage dependencies from previous results, etc. The Agent generates auto-tuning, auto-scaling, and auto-synchronizing 100%-parallelized code for management of processors (various types), memory, storage, I/O, power resources, and other services.
- Resource Balancer: Automates the tuning of controls for visual, audio, physics-simulation, or other sensory and/or calculation based services.
- Skill Converter: Takes inputs from files, sensors, and the internet, and breaks them apart into software objects for compositing with other data streams, code and user input.
- Powers Bridge: The ability to process dynamically added or removed native code (e.g. hardware drivers, browser engines, emulators, virtual machines, operating systems, APIs, media formats, network code, etc.).
- Profiler: The ability to decide the amount and timing of work done to make better Scheduling estimates for similar future work and code generation. Realtime profiling costs us nearly nothing in performance cycles yet accumulates effective intelligence to estimate future work costs, particularly with varying amounts of data.
- Process Scheduler: A diverse array of adaptive agents that split work apart for many processors/co-processors, potentially creating dependency chains or duplicating necessary overlaps in split data to reach optimal performance. We have also added a scheduler subsystem that partitions spatially for 3D data fields.
The Essence® Agent needs to process legacy code, languages (natural and programming), services, data and meaning-units (a new method of instructing machines). The next part of an Aptiv, Essence® Powers, serves the purpose of connecting to things outside of the Essence® world.
The Essence® Powers System covers all possible ways that Essence® Agents can process any hardware device or computing platform ( e.g. drivers, APIs, emulators, browser engines, virtual machines, operating systems, file formats, network protocols, databases, etc. ), data and human or machine interactions.
Each Power has abilities (e.g. the Powers to compress, encrypt, search, transform media, recognize objects, and many more Powers.). Powers get added by engineers, then their behaviors get selectively applied and removed in real-time, without engineering. Powers are designed to be so easy to use that anyone can do it.
Once an engineer creates a container for native code, interoperability between the target entity [for the source code] and every Essence® Aptiv is immediate. This is a major leap forward in interoperability for developers of devices, services and computing systems of all kinds.
The EPS has 64 Power Types, grouped into 8 Domains.
Essence® Administer Powers
- Track: Enables recording of changes, the ability to replay critical system failures and critical messaging. Includes Agent priority levels, host powers, media exports, tables, forms, and sharing data.
- Analyze: Enables examining existing behaviors for analysis, assistance, and warnings. Includes coding conventions, debugging, design, future speculation, memes, estimates, project management, and psychology.
- Instruct: Enables generation of instructions for a given chip architecture, security agreements, and operating system calling conventions. Includes preprocessors, atomics, speedups/optimizers, compilers, assemblers, linkers, debuggers, profilers, disassemblers, and analyzers.
- Kernel: Enables low-level kernel activity of the underlying operating system and any unique conventions it offers. Host enables privacy controls, security guarding, and appropriate accessing of OS-level changes or user accounts such as file locations, contacts, events, and other user authorized data.
- Shell: Enables high-level user activity of underlying operating system. Includes notifications, menus, windows or panels, submissions of behavior, media production, message passing interfaces, and conformance behaviors.
- Engine: Enables management and throttling of tasks for our platform, the resources requested, and load balancing everything requested by the user. Includes core threading or multitask models, parallel scheduling, and memory models for read/write of cached RAM, direct RAM (like HP), transactional or quantum units.
- Produce: Enables marketing, packaging, user analytics, and other activities related to shipping products. Includes logos, ratings, feedback, strategy, shipping, analytics, and memes.
- Assist: Enables mid-level shell activity of running other programs, including installers, scripts, tools, and general changes to data used by other programs or the operating system. Assign obeys operating system requirements, a user’s wishes, and any other complexities. Includes accessing dynamically loaded code, certificates, profiles, code signing, packaging, install locations, and metadata.
Essence® Organize Powers
- Collect: Enables add, remove, sort, find, and other collection oriented capabilities to build searchable data.
- Clone: Enables cloning data in different formats, locations, and synchronizing changes dynamically.
- Domain: Empty
- Compress: Enables entropy evaluation, statistical signatures, redundancy finding, and bit prediction.
- Crypt: Enables ciphers, obfuscation, and other encryption affiliated tech.
- Power: Enables creating, verifying and accessing any versions of any powers enabled on this platform. Includes generating Essence Powers source files, makefiles, and other processing of project and pre-cosm (an Essence world instance) materials.
- Memory: Enables memory storage, access, and reordering General allocation and arrangement of memory.
- Project: Enables investigating the status of this platforms software, its current conditions such as bugs and known workarounds, as well as history and upcoming improvements.
Essence® Communicate Powers
- Compute: Enables access to computers of any kind, such as wearables, laptops, mainframes, robots, drones, appliances, etc. These powers include communicating with all machines capable of functioning independently and scheduling their own tasks.
- Sense: Enables sensor devices with analog signal data that may be processed or resampled, such as Cameras, Mics, or Thermometers.
- Emit: Enables discrete input/output between a user and a device, such as a touchscreens, keyboards or gyrometers.
- Route: Enables managing all incoming and outgoing messages in the system.
- Network: Enables detecting connections, finding locations, and verifying successful transfer of timely data to storage connections.
- Device: Enables hardware communications.
- Portal: Enables sensor devices with analog signal data that may be processed or resampled, such as cameras, microphones, or thermometers.
- Stream: Enables translation between external data formats and network protocols, separate from the Store approach.
Essence® Simulate Powers
- Knowledge: Enables the interface used to simulate a thing’s mind inside of Essence.
- Behave: Enables decision making, knowledge import and export, choice generation, scoring of options, genetic and neural net models as well as other decision approaches.
- Experience: Enables processing space time simulations of events and the chronology of changes for reverse, replay, or other changes.
- Interface: Interfaces for users and artificial thinking. Simulated user and machine interaction activities.
- Design: Enables assessing content relative to user selected criteria.
- Emulate: Enables both software and hardware emulation to support running former or imagined computer hardware, video game consoles, operating system configurations, virtual machines, web browsers, or other software applications are input/output interfaces.
- Make: Enables making and modifying related possibilities in a simulation.
- Edit: Enables management of the add, modify, and remove cycles for a domain of data, such as text editing, scene placement, stage directions, or presentation crafting.
Essence® Collect Powers
- Explain: Enables semantic processing using semiotic rules for relating differing ontologies. Human ideas are represented as data which attempts to capture as much personalized detail as possible with the least amount of ambiguity.
- Culture: Enables cultural and language mappings, processing, and storing of conventions for translations. It covers interpreting various user conventions, preferences and rules.
- Pattern: Enables finding patterns, such as closest string matches, top candidates or other means to score proximity.
- Print: Enables glyph collections (e.g. icons, sprites, fonts, or handwriting).
- Schedule: Enables time planning, estimating, and adjusting for clocks and calendars in different locales.
- Symbol_Session: Handles all assets and management used to get answers.
- Layout: Enables typography, ordering and placement of symbols into various space constraints, such as letters on a page.
- Express: Handles how to convert meaning into the right context.
Essence® Calculate Powers
- Calculate_Cycle: Enables scheduling, balancing and completing calculation work.
- Math: Enables numerical processing, arithmetic, geometry, trigonometry, statistics, and calculus on numbers or streams of numbers.
- Physics: Enables spacetime calculations of motion, collision, and transfers of energy that involve iterations.
- Random: Enables generation of pseudo-entropy distributed values, generating primes/factors, and noise/combinations of values.
- Navigate: Enables path finding and handling the creation of connections between obstructed locations in spacetime.
- Calculate_Solve: Enables iterating over solutions, possible answers, annealed values, NP-complete problems, and statistics.
- Extract: Enables detecting features, shapes, and other patterns within signals, such as object recognition, and distance estimations.
- Signal_Process: Enables field processing math equations across dimensions of streams of numbers.
Essence® Temporalize Powers
- Time_Cycle: Enables creating capabilities, scheduling, and tuning auralization samples in time.
- Time_Equate: Enables formula based processing of abstract data in time.
- Time_Meter: Enables statistically evaluated processing of physical data in time.
- Time_Synth: Enables synthesized conjuring of simulation data in time.
- Time_Transform: Enables transformations on existing data.
- Time_Session: Enables the pipeline, configuration and balance of resources to generate audio.
- Time_Match: Enables estimating phonemes, words, tones, and emotions in speaking or tone/patterns in music.
- Time_Balance: Responsible for evaluating tradeoffs in performance and quality.
Essence® Spatialize Powers
- Spatialize_Cycle: Enables creating capabilities, scheduling, and tuning visualization samples in space.
- Spatialize_Equate: Enables formula based processing of abstract spatial data.
- Spatialize_Meter: Enables statistically evaluated processing of physical data spatially.
- Spatialize_Synth: Enables synthesized conjuring of simulation data.
- Spatialize_Transform: Enables spatial transformations on existing data.
- Spatialize_Session: Enables the pipeline, configuration and balance of resources to generate visuals.
- Spatialize_Match: Enables face, characters (OCR), model parts, and other recognition methods, generally using Extract (Hro6_Try) in a spatial capacity.
- Spatialize_Balance: Responsible for evaluating tradeoffs in performance and quality.
Essence® Skills System
The Essence® Skills System covers all possible ways that users can interact with Essence® Powers. Each Skill is presented to the user or service as an interaction method (e.g. the Skills to dialog, touch, drag-n-drop, apply computer vision, browse, transform media and machine behaviors, etc.). Skills can be accessed, assembled, modified and removed in real-time, without engineering.
This is a new and powerful way of personalizing user experiences.
The following descriptions of Skill Types are only the beginning.
- Natural Language Dialog: A natural language dialog interface that can connect users with the rest of the system, as well as other systems. Speak or type to express intent.
- Computer Vision: Enables object learning, recognition, isolation, extraction, compositing, and many other processing options.
- Touch: Enables touch-based interfaces to interact, including the ability to create and modify Aptivs.
- Drag-n-drop: Enables drag-n-drop using a variety of controllers to interact, including the ability to create and modify Aptivs.
- Gesture: Enables gesture using a variety of controllers to interact, including the ability to create and modify Aptivs.
- Web Browse: Enables web browsing to interact, including the ability to create and modify Aptivs.
- Transform: Enables transforming a signal, such as video, into a series of visual elements over time, which allows the system to refer to visual elements using names, history, and other vocabulary to potentially ask questions involving space (is X near Y, can A be seen by B), time (how long was A near B), and commands (notify me if anything similar to X appears).
- Translate: Enables translating structured or unstructured data with recipes that have changeable ingredients, such as compositing, enhancing, compressing, and algorithmically modifying data.
Essence® Media System
The Essence® Media System covers all possible ways that Essence® can process a wide variety of data types and sources. Supported (packaged as an Essence® Power) media types and sources become translatable data structures in real-time. Essence® makes ‘Software Behaviors‘ commodities (made flexible), traded/modified/traded-again in a marketplace or across organizations and use cases.
The EMS enables software behaviors to be commoditized by creating Data-Structures that can translate themselves into others, sometimes perfectly and sometimes requiring human assistance (increasingly via dialogue) for ambiguities or lack of shared examples.
Translatable data structures (described in greater detail in an upcoming blog post) have attributes that those who are familiar with blockchain would recognize as the means to make all data and code behaviors transactional.
Like past major shifts in industries (e.g. carriages gave way to automobiles), software [largely] giving way to wantware will not eliminate the need for skilled professionals. Better tools in the hands of a craftsman typically enables better results. That being said, many tasks that currently require coding (e.g. creating a better photo app) does not compare to an app that helps indigenous languages and the cultures that create them survive in the modern age. Yes, a shameless plug for our recent blog post on Project Jewel.
Follow us on this blog, social media, and our website as we unveil more potentially world-changing solutions.
Get ready to ‘create at the speed of thought®‘
Ken Granville & Jake Kolb
Cofounders of MindAptiv®