LogicalArt
appStore banner

This app is a digital circuit simulator. With this tool, you can build an 8-bit computer from simple logic gates by creating and connecting individual circuits that perform specific functions such as arithmetic and logic operations.

Interaction

Add Gate

Add a gate with gentle finger motion. You can wiggle finge in different directions to add different types of gates. Rather than dragging and dropping, or manually selecting the tool and tapping the target location, this process is more intuitive and streamlined.

You may notice that it used a drag-and-drop method along with some touchpad-like gestures in older version. That approach has now evolved into this new method. I find it much more natural - it's as if you're creating the gate directly from your finger!

Multi Selection

Surprisingly, I found a way to do multiple selections on the touchscreen, as the marquee selection or box selection in the RTS game is conflicts with the moving board gesture.

To select multiple gates, double-tap on a gate to enter selection mode — the gate will be highlighted. From there, you can tap additional gates to add them to the selection. Once selected, you can drag, duplicate, or delete them as needed.

The Pathfinding Dilemma

Allowing users to adjust links between gates by dragging them can be too cumbersome. Instead, I’ve implemented a pathfinding algorithm that attempts to find straight paths with less overlap and updates all affected links when a gate is moved.

SwiftUI

This project is based on SwiftUI rather than UIKit, and I've gained experience with the framework as it has evolved. You might be surprised at how it can be used to create complex interactions like this, and I’ve noticed significant performance improvements over the years.

Hopefully, the framework will mature as both my app and I continue to grow.

Discover

When I show this project to others I realized that I can do more than just flip the screen and show the circuit. I can send the circuit to their devices and let them play with it. So I added a discover feature to allow users to share their circuits with others. You can open this AppClip on your iPhone or save this page link for later use.

discover more

Thought behind the app

I was amazed by computers when I first encountered them, but there was no one around me with the knowledge I could learn from. I struggled to learn programming at first, but it wasn’t until I started reading english documentation/book, watching YouTube videos, and taking MIT OpenCourseWare that I finally began to understand it.

Hopefully, no one else has to go through what I did. There should be resources available for people at any level who want to understand how computers work, so they can start learning anything they desire from there.

Here are three sample illustrations showing how semiconductors are used to perform basic logic operations, along with a video that explains it in more detail.

Building an 8-bit breadboard computer! these series videos are an eye-opener. It makes me understand the physics of the information process. If I build an app to simulator the process it may easier to demonstrate the computer principles when you can hold it in your hand and play with it.

This could be a great starting point to understand the nature of computing and see what happens physically behind every interaction with the screen.

Try it yourself!

I found that the App Clip could be a great way to offer a trial version and allow users to preview the content.

You can scan it from the Camera app, or via the Code Scanner feature in Control Center and use up to 20 gates in AppClip.

Logic Gates explain

Or view on the AppStore

appStore banner