“Codetopia 2023”: ChromatOS
This is a Finder extension developed with Swift and Xcode, so please, make sure to have Apple’s integrated development environment for macOS installed on your Mac. While Xcode is the primary IDE for Apple platform development, you can use other text editors and IDEs, such as Visual Studio Code, JetBrains AppCode, or even Vim or Emacs with the Swift compiler in order to write and develop Swift code. However, Xcode provides a development environment with graphical tools for building macOS apps making your way much easier; it’s definitely worth a try!
If you feel like exploring the code and giving Swift a try, or if you simply want to try the extension itself, you have the option to install the extension directly:
- Once you download and unzip the latest release, move the app to the Applications folder and open it.
- You’ll have to manually enable the extension in:
- System Preferences > Extensions > Finder extensions.
- System Preferences > Extensions > Added Extensions.
If you’re interested in the development process, though, start by cloning the extension’s repository to your local machine using Git.
Open your terminal and run the following command:
$ git clone https://github.com/JuditKaramazov/Codetopia-ChromatOS.git
Then, open the project in Xcode:
- Launch Xcode.
- Click on “File” in the top menu, then select “Open” or “Open Project.”
- Navigate to the directory where you cloned the repository and select the Xcode project file (usually with a .xcodeproj extension).
- Click “Open” to open the project in Xcode.
Now, you can build and run the application:
- Select your target device (e.g., a simulator or a connected iOS device) from the top left corner of the Xcode window.
- Click the “Run” button (a play icon) in the top left corner or use the keyboard shortcut
Cmd+Rto build and run the application.
If you want to test it on a physical iOS device, you’ll need to set up a development provisioning profile and code-signing identity in Xcode. Refer to Apple’s documentation for details on this process – and feel free to modify and customize the project as needed! Sharing is caring, after all, and I bet we’ll manage to build together something truly interesting.
Although this tendenceny of including my repositories into imaginary gaming/dev events has become one of this GitHub account’s main habits, this time (and due to some variations regarding my purposes and goals),
ChromatOS works as part of this fall’s
Codetopia, inspired by Africa’s first annual destination Indie Games & Immersive Arts festival and conference Playtopia. Initially aiming at practicing the basics I couldn’t explore during my formation, I must admit that I am
still learning (of course!), but also exploring the many technologies, languages, frameworks and tools fitting my needs and (generally deceiving) ideas better.
In this case, and since my life changed quite a bit these last months, I recently discussed with my roommate how much Apple restricts customization of system elements like folder colors for consistency, coherency and security. After having a look at the devices that we have at home, it’s undeniable that customizing icons and folders in macOS may be more accessible compared to iPadOS as macOS allows more flexibility for system customization and integration with custom extensions or code. iPadOS, on the other hand, is more locked down and restricts extensive customization, especially when it comes to system-level changes.
The conclusion, of course, was a mutual
that's lame moment, but even though these restrictions are a (sad) reality we can’t possibly overcome, talking about how great it would be to allow users for this extra customization is an idea that I couldn’t get out of my mind.
Why couldn't I? Because as it happens to the best of us, my brain strictly follows the patterns and logic processes that allow me to keep some order up there, just like it usually happens when organizing our notes with colors.
colors, and here’s a little explanation of their importance and benefits:
- Colors serve as visual cues that help users
quickly identify and categorize items. When applied to folders, they make it easier to distinguish between
different types of contentor projects at a glance.
- Colors can trigger
memory associations. When users assign specific colors to folders, they can establish a color-coding system that aids in remembering the contents or significance of each folder. For example,
red foldersmight represent urgent or high-priority tasks, while
blue folderscould signify personal (or just Apple-related) projects.
- A well-organized visual system
reduces cognitive load. Users don’t need to remember folder names or dig through numerous directories. Instead, they can rely on the visual cues provided by colors.
- Beyond the practical benefits, color customization adds an aesthetic dimension to literally everything – and the macOS experience is no exception.
- MacBooks are cool – but they could be cool
Considering this, and due to this sudden urge of allowing other individuals (my roommate, more specifically) to make their desktop and Finder environment more visually pleasing, I decided to create a
Swift Apple Finder extension empowering users to personalize their macOS experience by easily
changing folder colors.
Everyone has a unique organizational style, as well as some well-established color associatons due to their preferences. Why wouldn’t we support the flexibility granting a highly personalized and user-centric organization system, then? Well, well…
Now that we’ve clarified some relevant matters regarding how discouraging it can be to feel that we can’t access even the most essential tools, allow me to explain what you’ll find by accessing this repository
or installing my little extension
- Easy Installation . Users can enable ChromatOS through
System Preferences -> Extensions -> Finder Extensions/Added Extensions, which makes the tool extremely easy to use.
- Intuitive Color Selection. You’ll simply have to right-click on one or more folders to access the
Color menu, and then choose from a variety of colors to customize your folders’ appearance.
- Persistent Preferences. ChromatOS continues to work even after the initial window is closed, which means tht users’ color preferences persist across Finder sessions. Yay!
What’s Coming Next
As usual, this is definitely not much, but as my best friends would say, it’s
honest work – still in progress, but “work”, after all. However, and as ChromatOS continues to evolve, here’s a preview of upcoming improvements:
- [ ] Flexible macOS/iPadOS ecosystem adaptation, ensuring that ChromatOS is seamlessly adaptable to both macOS and iPadOS environments. - [ ] Regular updates according to major *macOS releases*. - [ ] Improved "Help" section, making the app more user-friendly and comprehensive. - [ ] Bug Fix related to selecting the default folder (blue) prior to switching again.
Note: ChromatOS has been thoroughly tested on various macOS versions, including the latest macOS 14 (Sonoma). Please be aware that the extension requires macOS 12.1 or later, and we’ll keep it up to date with future macOS changes.
As for the
icon that I decided to incorporate as the main application one, and before you dare think that I’ve been committing slavery during all my time as part of GitHub and the @interwebz community, I intended to capture a colorful spirit while keeping Apple’s clarity and coherent style as the very core of the design. Also, why not define a little brand by adding the extension’s name,
ChromatOS? Independently of that, and no matter my good or bad intentions regarding illustrations, icons, and this world filled with colors and nice vibes, it wouldn’t have been possible to create such an emblematic icon without the aid of
According to your own mindset and way of understanding the world, I should stop using your little doodles when they are not even “that polished” or even finished – and that’s
technically correct if we use the intellectual property card. What you can’t possibly see is that even the slightest commentary or drawing is filling me with determination and ideas that wouldn’t come to mind if it wasn’t thanks to our conversations and moments together, though. Now, just allow me to thank you not only for your illustrations but especially for your constant support, enthusiasm, and patience.
Please note that while I’m trying my best to improve and explore different possibilities, there might be some inconsistencies, bugs and errors that will surely be addressed in the future, as we previously discussed. Do not hesitate to let me know about it, though! And remember that you can make the Dinosaur extremely happy if you…