<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Alexander Deplov, AI artist, product designer</title><link>https://interfacecraft.online/</link><description>Recent content on Alexander Deplov, AI artist, product designer</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Wed, 07 Oct 2026 12:00:00 +0200</lastBuildDate><atom:link href="https://interfacecraft.online/index.xml" rel="self" type="application/rss+xml"/><item><title>Codex helped me start a hardware project: an ESP32 Ad Blocker</title><link>https://interfacecraft.online/blog/2026/an-esp32-ad-blocker-built-with-ai-agents/</link><pubDate>Wed, 07 Oct 2026 12:00:00 +0200</pubDate><guid>https://interfacecraft.online/blog/2026/an-esp32-ad-blocker-built-with-ai-agents/</guid><description>&lt;p&gt;Before, I used Codex only on digital products, but then I realized that it could also be used to get started with hardware more easily than ever before. Without learning a new programming language, I could ask Codex to help me change the firmware of a microcontroller.&lt;/p&gt;
&lt;p&gt;So I bought an ESP32 and asked it to help me build an ad blocker for my local network.&lt;/p&gt;
&lt;h2 id="ad-blocking-on-an-esp32"&gt;Ad blocking on an ESP32&lt;/h2&gt;
&lt;p&gt;&lt;img src="https://interfacecraft.online/blog/2026/an-esp32-ad-blocker-built-with-ai-agents/esp32-dns-filter_hu_4d254930cf0afa83.avif" srcset="https://interfacecraft.online/blog/2026/an-esp32-ad-blocker-built-with-ai-agents/esp32-dns-filter_hu_4d254930cf0afa83.avif 736w, https://interfacecraft.online/blog/2026/an-esp32-ad-blocker-built-with-ai-agents/esp32-dns-filter_hu_50cab04cfe4d89ac.avif 1472w"
 sizes="(min-width: 768px) 736px, calc(100vw - 2rem)" data-full-src="https://interfacecraft.online/blog/2026/an-esp32-ad-blocker-built-with-ai-agents/esp32-dns-filter_hu_50cab04cfe4d89ac.avif" alt="ESP32 DNS filter" width="736" height="414" loading="eager"
 decoding="async" fetchpriority="high"&gt;&lt;/p&gt;</description></item><item><title>How I Manage Multiple AI Agents with Terminal Colors</title><link>https://interfacecraft.online/blog/2026/how-i-manage-multiple-ai-agents-with-terminal-colors/</link><pubDate>Wed, 23 Sep 2026 20:40:00 +0200</pubDate><guid>https://interfacecraft.online/blog/2026/how-i-manage-multiple-ai-agents-with-terminal-colors/</guid><description>&lt;p&gt;Throughout the day, I use several AI agents in the macOS Terminal. Sometimes, it is difficult to navigate through multiple open windows and understand which agent is running in each one.&lt;/p&gt;
&lt;p&gt;Because of this, I adapted macOS Terminal settings to help me differentiate them with color.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://interfacecraft.online/blog/2026/how-i-manage-multiple-ai-agents-with-terminal-colors/images/terminal-colors_hu_b58443a75c2e4179.avif" srcset="https://interfacecraft.online/blog/2026/how-i-manage-multiple-ai-agents-with-terminal-colors/images/terminal-colors_hu_b58443a75c2e4179.avif 736w, https://interfacecraft.online/blog/2026/how-i-manage-multiple-ai-agents-with-terminal-colors/images/terminal-colors_hu_e37d5059e92c9e07.avif 1472w"
 sizes="(min-width: 768px) 736px, calc(100vw - 2rem)" data-full-src="https://interfacecraft.online/blog/2026/how-i-manage-multiple-ai-agents-with-terminal-colors/images/terminal-colors_hu_e37d5059e92c9e07.avif" alt="Terminal windows with color-coded AI agent profiles" width="736" height="475" loading="eager"
 decoding="async" fetchpriority="high"&gt;&lt;/p&gt;
&lt;h2 id="one-color-for-each-agent"&gt;One color for each agent&lt;/h2&gt;
&lt;p&gt;macOS Terminal has profiles. A profile can change the background color, text color, font, and cursor. I use three profiles, with a different color for each AI coding agent:&lt;/p&gt;</description></item><item><title>11W FreeBSD NAS</title><link>https://interfacecraft.online/blog/2026/11w-freebsd-nas/</link><pubDate>Sat, 19 Sep 2026 00:00:00 +0000</pubDate><guid>https://interfacecraft.online/blog/2026/11w-freebsd-nas/</guid><description>&lt;p&gt;I built a small FreeBSD NAS from an old mini PC and brought its average power consumption down to around 11 W.&lt;/p&gt;
&lt;h2 id="why-not-a-raspberry-pi"&gt;Why not a Raspberry Pi?&lt;/h2&gt;
&lt;p&gt;I already had two 2 TB external SSDs, and at first I considered putting them behind a Raspberry Pi. FreeBSD runs on several Raspberry Pi models, and the low power draw is attractive for a server that stays on all day.&lt;/p&gt;
&lt;figure&gt;&lt;img src="https://interfacecraft.online/blog/2026/11w-freebsd-nas/raspberry-pi-power-consumption.png"
			alt="Comparison of Raspberry Pi models running FreeBSD, their memory, power use, and suitable server workloads"&gt;&lt;figcaption&gt;
			&lt;p&gt;Raspberry Pi models that can run FreeBSD, compared by memory and typical power consumption.&lt;/p&gt;</description></item><item><title>I Built a FreeBSD Cloud to Use with FreeBSD</title><link>https://interfacecraft.online/blog/2026/i-built-a-freebsd-cloud-to-use-with-freebsd/</link><pubDate>Wed, 22 Jul 2026 09:00:00 +0200</pubDate><guid>https://interfacecraft.online/blog/2026/i-built-a-freebsd-cloud-to-use-with-freebsd/</guid><description>&lt;p&gt;At the moment, I’m working on my own window manager for FreeBSD, called Asterwm. The goal is to make its UX similar to macOS, so I can switch from Mac to FreeBSD during the day without having to readjust my muscle memory.&lt;/p&gt;
&lt;p&gt;&lt;a href="asterwm-for-freebsd.jpg"&gt;&lt;img src="https://interfacecraft.online/blog/2026/i-built-a-freebsd-cloud-to-use-with-freebsd/asterwm-for-freebsd_hu_10db5488676cbc4b.avif" srcset="https://interfacecraft.online/blog/2026/i-built-a-freebsd-cloud-to-use-with-freebsd/asterwm-for-freebsd_hu_10db5488676cbc4b.avif 736w, https://interfacecraft.online/blog/2026/i-built-a-freebsd-cloud-to-use-with-freebsd/asterwm-for-freebsd_hu_a63169b9c36c6066.avif 1472w"
 sizes="(min-width: 768px) 736px, calc(100vw - 2rem)" data-full-src="https://interfacecraft.online/blog/2026/i-built-a-freebsd-cloud-to-use-with-freebsd/asterwm-for-freebsd_hu_a63169b9c36c6066.avif" alt="User interface for Asterwm" width="736" height="460" loading="eager"
 decoding="async" fetchpriority="high"&gt;&lt;/a&gt;
&lt;a href="asterwm-for-freebsd-2.png"&gt;&lt;img src="https://interfacecraft.online/blog/2026/i-built-a-freebsd-cloud-to-use-with-freebsd/asterwm-for-freebsd-2_hu_6c736880901a053.avif" srcset="https://interfacecraft.online/blog/2026/i-built-a-freebsd-cloud-to-use-with-freebsd/asterwm-for-freebsd-2_hu_6c736880901a053.avif 736w, https://interfacecraft.online/blog/2026/i-built-a-freebsd-cloud-to-use-with-freebsd/asterwm-for-freebsd-2_hu_178b125dc7b33c7.avif 1472w"
 sizes="(min-width: 768px) 736px, calc(100vw - 2rem)" data-full-src="https://interfacecraft.online/blog/2026/i-built-a-freebsd-cloud-to-use-with-freebsd/asterwm-for-freebsd-2_hu_178b125dc7b33c7.avif" alt="User interface for Asterwm" width="736" height="460" loading="lazy"
 decoding="async"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;One of the most important things for me was being able to access both my work and personal files.&lt;/p&gt;</description></item><item><title>The FreeBSD Music Collection</title><link>https://interfacecraft.online/blog/2026/freebsd-music-collection/</link><pubDate>Wed, 01 Jul 2026 09:00:00 +0200</pubDate><guid>https://interfacecraft.online/blog/2026/freebsd-music-collection/</guid><description>&lt;p&gt;&lt;img src="https://interfacecraft.online/blog/2026/freebsd-music-collection/images/freebsd-music-collection-masks_hu_e03fabc3efa97a12.avif" srcset="https://interfacecraft.online/blog/2026/freebsd-music-collection/images/freebsd-music-collection-masks_hu_2845f8daf98ed9f7.avif 480w, https://interfacecraft.online/blog/2026/freebsd-music-collection/images/freebsd-music-collection-masks_hu_c5383d20c9ce3928.avif 768w, https://interfacecraft.online/blog/2026/freebsd-music-collection/images/freebsd-music-collection-masks_hu_9893b606ab30b79.avif 1536w, https://interfacecraft.online/blog/2026/freebsd-music-collection/images/freebsd-music-collection-masks_hu_d0979d5577f560bb.avif 1660w"
 sizes="(min-width: 768px) 736px, calc(100vw - 2rem)" data-full-src="https://interfacecraft.online/blog/2026/freebsd-music-collection/images/freebsd-music-collection-masks_hu_d0979d5577f560bb.avif" alt="Group of people holding FreeBSD daemon masks in an urban city setting" width="736" height="420" loading="eager"
 decoding="async" fetchpriority="high"&gt;&lt;/p&gt;
&lt;p&gt;This is my FreeBSD music collection. It consists of songs inspired by FreeBSD releases, experiments, and desktop and server experiences that have become part of everyday life. It was built using Suno AI and then tweaked and polished each one.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="freebsd-from-14-to-15-song"&gt;&amp;ldquo;FreeBSD From 14 to 15&amp;rdquo; Song&lt;/h2&gt;
&lt;p&gt;Context: I recently upgraded my server from FreeBSD 14 to 15.1-RELEASE-p1, which went smoothly. To make the song I used old melody that I had before, modified it 19 times in Suno to tweak the voice, melody, rhythm, lyrics, and voice accents. Then, I polished it in Ableton Live 12 and combined the best parts of different tracks and lyrics into one song.&lt;/p&gt;</description></item><item><title>How to Fit the FreeBSD Logo in a Perfect Circle</title><link>https://interfacecraft.online/blog/2026/how-to-fit-the-freebsd-logo-in-a-perfect-circle/</link><pubDate>Wed, 27 May 2026 12:00:00 +0200</pubDate><guid>https://interfacecraft.online/blog/2026/how-to-fit-the-freebsd-logo-in-a-perfect-circle/</guid><description>&lt;p&gt;The FreeBSD and Apple logos are quite similar. &lt;br/&gt;
Both have a heavy base and leaves / tails on top.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://interfacecraft.online/blog/2026/how-to-fit-the-freebsd-logo-in-a-perfect-circle/apple-freebsd-wrong-circle-fit_hu_61c5df9db86beaa4.avif" data-full-src="https://interfacecraft.online/blog/2026/how-to-fit-the-freebsd-logo-in-a-perfect-circle/apple-freebsd-wrong-circle-fit_hu_61c5df9db86beaa4.avif" alt="Apple and FreeBSD logos compared by their heavy base and top detail, followed by a wrong circular crop approach" width="928" height="200" loading="eager"
 decoding="async" fetchpriority="high"&gt;&lt;/p&gt;
&lt;br/&gt;
&lt;br/&gt;
&lt;h2 id="this-is-how-apple-fits-its-logo-into-a-circle"&gt;This is how Apple fits its logo into a circle&lt;/h2&gt;
&lt;p&gt;&lt;img src="https://interfacecraft.online/blog/2026/how-to-fit-the-freebsd-logo-in-a-perfect-circle/apple-homepod-logo_hu_9e2740982a0ce971.avif" srcset="https://interfacecraft.online/blog/2026/how-to-fit-the-freebsd-logo-in-a-perfect-circle/apple-homepod-logo_hu_9e2740982a0ce971.avif 928w, https://interfacecraft.online/blog/2026/how-to-fit-the-freebsd-logo-in-a-perfect-circle/apple-homepod-logo_hu_f419f82880e4265b.avif 1472w"
 sizes="(min-width: 768px) 736px, calc(100vw - 2rem)" data-full-src="https://interfacecraft.online/blog/2026/how-to-fit-the-freebsd-logo-in-a-perfect-circle/apple-homepod-logo_hu_f419f82880e4265b.avif" alt="Apple logo centered on the circular top surface of a black HomePod" width="928" height="618" loading="lazy"
 decoding="async"&gt;&lt;/p&gt;</description></item><item><title>I Connected a Desktop Phone to a FreeBSD Server, so Now I Can Call It</title><link>https://interfacecraft.online/blog/2026/desktop-phone-connected-to-freebsd-server/</link><pubDate>Tue, 14 Apr 2026 09:00:00 -0400</pubDate><guid>https://interfacecraft.online/blog/2026/desktop-phone-connected-to-freebsd-server/</guid><description>&lt;p&gt;I turned a Panasonic KX-T2315 desk phone into a physical menu for my FreeBSD server. When I pick up the handset, the phone adapter calls Asterisk, waits for one digit, and triggers a predefined script on the FreeBSD server. This post covers the phone restoration, HT801 setup, Asterisk configuration, Lua dialplan, Python AGI dispatcher, and the full config download.&lt;/p&gt;
&lt;p&gt;The basic flow looks like this:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#56b6c2"&gt;[&lt;/span&gt;Panasonic KX-T2315 analog phone&lt;span style="color:#56b6c2"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;		|
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;		| FXS phone cable
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;		v
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#56b6c2"&gt;[&lt;/span&gt;Grandstream HT801&lt;span style="color:#56b6c2"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;		|
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;		| SIP + RTP
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;		v
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#56b6c2"&gt;[&lt;/span&gt;FreeBSD &lt;span style="color:#d19a66"&gt;14&lt;/span&gt; + Asterisk&lt;span style="color:#56b6c2"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;		|
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;		| AGI
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;		v
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#56b6c2"&gt;[&lt;/span&gt;Python dispatcher&lt;span style="color:#56b6c2"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;		|
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;		v
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#56b6c2"&gt;[&lt;/span&gt;Predefined server-side scripts&lt;span style="color:#56b6c2"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src="https://interfacecraft.online/blog/2026/desktop-phone-connected-to-freebsd-server/images/Panasonic-KX-T2315-connected-to-FreeBSD-schema_hu_3f3b5b5b2c6efe06.avif" srcset="https://interfacecraft.online/blog/2026/desktop-phone-connected-to-freebsd-server/images/Panasonic-KX-T2315-connected-to-FreeBSD-schema_hu_3f3b5b5b2c6efe06.avif 736w, https://interfacecraft.online/blog/2026/desktop-phone-connected-to-freebsd-server/images/Panasonic-KX-T2315-connected-to-FreeBSD-schema_hu_6f58a1df6bd1ef29.avif 1472w"
 sizes="(min-width: 768px) 736px, calc(100vw - 2rem)" data-full-src="https://interfacecraft.online/blog/2026/desktop-phone-connected-to-freebsd-server/images/Panasonic-KX-T2315-connected-to-FreeBSD-schema_hu_6f58a1df6bd1ef29.avif" alt="" width="736" height="368" loading="eager"
 decoding="async" fetchpriority="high"&gt;&lt;/p&gt;</description></item><item><title>Life before Smartphones: Late 90s and Early 2000s</title><link>https://interfacecraft.online/blog/2026/life-before-smartphones-late-90s-early-2000s/</link><pubDate>Tue, 31 Mar 2026 12:00:00 +0200</pubDate><guid>https://interfacecraft.online/blog/2026/life-before-smartphones-late-90s-early-2000s/</guid><description>&lt;p&gt;Before the advent of smartphones, constant connectivity simply did not exist. The late &amp;rsquo;90s and early &amp;rsquo;00s had their own rhythm: a slower, more physical and more local one. In this post, I want to document my memories of life before the iPhone changed everything, so that these moments are not forgotten. Even if the post is a bit chaotic.&lt;/p&gt;
&lt;h2 id="late-90s-to-early-2000s"&gt;Late 90s to early 2000s&lt;/h2&gt;
&lt;h3 id="communication"&gt;Communication&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;The landline phone was the main way to communicate.&lt;/li&gt;
&lt;li&gt;Incoming calls had no caller ID. You would just pick up the phone and say &amp;lsquo;Hello&amp;rsquo; to find out who was calling.
You could pick up the receiver at the exact moment it rang and connect instantly. It was sometimes confusing and funny at the same time.&lt;/li&gt;
&lt;li&gt;Public payphones were everywhere, and you had to pay to make a call.
If you didn’t have any money but had an agreement with your parents, you could still call home just to let them know you were okay. When they picked up, the public phone would automatically disconnect the unpaid call, but you would know they had answered. We had a system of “two missed calls”: if I called twice and the connection dropped both times, they understood that I was safe.&lt;/li&gt;
&lt;li&gt;Telegrams and handwritten letters were still part of everyday life.&lt;/li&gt;
&lt;li&gt;Later, pagers came into use.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="internet"&gt;Internet&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Modems and dial-up defined the online experience.&lt;/li&gt;
&lt;li&gt;FidoNet. For me, it was a network of people I knew personally. Later, when we abandoned it in favour of the Internet, I found it a bit strange that I had to communicate with strangers. It was also a big surprise that the majority of Internet network users had no technical skills compared to the FidoNet audience.&lt;/li&gt;
&lt;li&gt;Internet access was sometimes bought with prepaid cards and traffic limits.&lt;/li&gt;
&lt;li&gt;Email clients had an offline mode because being connected constantly was expensive or impossible.&lt;/li&gt;
&lt;li&gt;Most of the images online loaded line by line, from top to bottom.&lt;/li&gt;
&lt;li&gt;Translation software were weak, so paper dictionaries still mattered.&lt;/li&gt;
&lt;li&gt;Instead of Wikipedia, there were paper encyclopedias.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="computers"&gt;Computers&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;CRT monitors were standard.&lt;/li&gt;
&lt;li&gt;Backups were often burned to CD-R.&lt;/li&gt;
&lt;li&gt;Operating system updates were rare and sometimes paid (like for macOS).&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="media"&gt;Media&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Music used to be stored on CDs or cassettes. Looking back now, I miss CD quality, I think it was better than Spotify.&lt;/li&gt;
&lt;li&gt;TV was the main source of entertainment.&lt;/li&gt;
&lt;li&gt;Printed TV schedules were normal.&lt;/li&gt;
&lt;li&gt;Black-and-white static on TV was still if no channel found.&lt;/li&gt;
&lt;li&gt;Radio, including wired radio outlets, was part of everyday life, and even during power outages, radios and telephones could continue to function independently of the main power line.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="photography"&gt;Photography&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Photos meant film, developing, and printing.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="everyday-life"&gt;Everyday life&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Printed phone books were useful.&lt;/li&gt;
&lt;li&gt;In our apartment building, there was a sign listing residents’ names and apartment numbers — something that later disappeared, likely for security reasons (or maybe just out of laziness).&lt;/li&gt;
&lt;li&gt;Most ads lived in newspapers.&lt;/li&gt;
&lt;li&gt;Shopping was offline and cash was standard.&lt;/li&gt;
&lt;li&gt;A thermometer outside the window and the weather forecast on TV were enough.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="social-life"&gt;Social life&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;In-person communication was the default.&lt;/li&gt;
&lt;li&gt;Visiting friends happened often and without much planning.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="early-to-mid-2000s-about-2003-2006"&gt;Early to mid-2000s (about 2003-2006)&lt;/h2&gt;
&lt;h3 id="communication-1"&gt;Communication&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;The landline phone was still dominant.&lt;/li&gt;
&lt;li&gt;Caller ID usually showed a number, not a name.&lt;/li&gt;
&lt;li&gt;We get used to remember phone numbers.&lt;/li&gt;
&lt;li&gt;Taxis were ordered by phone.&lt;/li&gt;
&lt;li&gt;Email was still relatively rare for many people.&lt;/li&gt;
&lt;li&gt;Online chat was becoming a thing, by using ICQ and clients like Adium on macOS or Trillian.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="internet-1"&gt;Internet&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Internet access was still limited.&lt;/li&gt;
&lt;li&gt;Email was still used to be switched offline, after you synced with the server.&lt;/li&gt;
&lt;li&gt;There was no cloud storage.&lt;/li&gt;
&lt;li&gt;There were no password managers.&lt;/li&gt;
&lt;li&gt;Files and photos were kept locally.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="computers-1"&gt;Computers&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;The computer was the central hub for movies, music, and games.&lt;/li&gt;
&lt;li&gt;DVDs and flash drives slowly entered our life.&lt;/li&gt;
&lt;li&gt;Wacom tablets to draw in Photoshop.&lt;/li&gt;
&lt;li&gt;The transition from CRT monitors to flat screens had started. Now I&amp;rsquo;m missing CRTs especially for gaming.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="games"&gt;Games&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Most games were offline.&lt;/li&gt;
&lt;li&gt;Sharing games with friends was normal.&lt;/li&gt;
&lt;li&gt;PlayStation 1 and PlayStation 2.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="media-1"&gt;Media&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;MP3s existed, but mostly as offline files.&lt;/li&gt;
&lt;li&gt;CDs were still widely used.&lt;/li&gt;
&lt;li&gt;The iPod changed how people carried music, but wired headphones were the only option.&lt;/li&gt;
&lt;li&gt;MTV still mattered.&lt;/li&gt;
&lt;li&gt;Radio was still widely used, including call-in radio shows. I liked the fact that you call call to the radio and chat with the DJ.&lt;/li&gt;
&lt;li&gt;Artists that strongly fit the atmosphere of that period include Limp Bizkit, The Prodigy, Deep Dish, and Bloodhound Gang.&lt;/li&gt;
&lt;li&gt;Video still meant DVDs and television.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="photography-1"&gt;Photography&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Early digital cameras existed, but they had low image quality and tiny storage cards.&lt;/li&gt;
&lt;li&gt;Moving photos from the camera to a computer was inconvenient.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="everyday-life-1"&gt;Everyday life&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Almost nothing needed charging! Oh, I missed it now too.&lt;/li&gt;
&lt;li&gt;Many devices ran on replaceable batteries.&lt;/li&gt;
&lt;li&gt;Magazines still shaped hobbies, from interior design to games to sewing patterns.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="social-life-1"&gt;Social life&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Social networks existed, but they were not dominant.&lt;/li&gt;
&lt;li&gt;Most communication still happened face-to-face. People tended to talk on the phone rather than text or chat online.
Some phone calls had amazing sound quality. I remember being on the phone to my grandpa once and realising that I could hear him so clearly that it was as if he were sitting next to me. I feel sad now when I have to use AirPods for phone calls. The microphone on the AirPods is very poor. I&amp;rsquo;m also experiencing frequent connection drops during cellular calls.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="2007-right-before-the-iphone-changed-everything"&gt;2007, right before the iPhone changed everything&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Even in 2007, daily life still felt much closer to the early 2000s than to the smartphone world that came after.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="communication-2"&gt;Communication&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Phone calls were still dominant as remote communication.&lt;/li&gt;
&lt;li&gt;Skype was intented.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="internet-and-mobility"&gt;Internet and mobility&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Mobile Internet was not widespread.&lt;/li&gt;
&lt;li&gt;There were no cloud ecosystems or seamless syncing.&lt;/li&gt;
&lt;li&gt;Going outside often meant losing Internet access completely. You had no connection to anyone. If you needed to meet someone, you first had to call them to agree a time and place.&lt;/li&gt;
&lt;li&gt;It could also mean having no immediate way to contact someone.&lt;/li&gt;
&lt;li&gt;Maps were usually paper-based.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="photos-and-data"&gt;Photos and data&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Everything was stored locally.&lt;/li&gt;
&lt;li&gt;There was no Apple Photos library and no cloud photo sync.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="social-life-2"&gt;Social life&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Social networks already existed, but they still did not define daily life.&lt;/li&gt;
&lt;li&gt;Most communication was still in person.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="media-and-culture"&gt;Media and culture&lt;/h3&gt;
&lt;p&gt;Movies and games already looked modern by the standards of the time, but today many of them feel strangely naive in a good way. The atmosphere of that era is still strongly associated with titles like &lt;em&gt;The Matrix&lt;/em&gt;, &lt;em&gt;Fight Club&lt;/em&gt;, &lt;em&gt;Terminator 2&lt;/em&gt;, &lt;em&gt;RoboCop&lt;/em&gt;, &lt;em&gt;Alien&lt;/em&gt;, and &lt;em&gt;The Animatrix&lt;/em&gt;.&lt;/p&gt;</description></item><item><title>How to Match FreeBSD’s YouTube Seeking Speed on macOS</title><link>https://interfacecraft.online/blog/2025/how-i-match-freebsd-youtube-speed-on-macos/</link><pubDate>Tue, 25 Nov 2025 12:55:15 +0100</pubDate><guid>https://interfacecraft.online/blog/2025/how-i-match-freebsd-youtube-speed-on-macos/</guid><description>&lt;p&gt;On FreeBSD, YouTube seeking can feel almost instant: click anywhere on the timeline and playback resumes immediately. On macOS, Firefox may pause briefly after seeking.&lt;/p&gt;
&lt;p&gt;The safest way to approach this is to tune Firefox itself while leaving macOS networking unchanged. This keeps YouTube responsive without changing TCP behavior for Mail, video calls, VPNs, or other applications.&lt;/p&gt;
&lt;p&gt;This guide uses conservative settings. It keeps HTTP/3, modern media formats, and hardware video decoding available, while avoiding excessive connection counts, forced codecs, aggressive buffering, and global macOS network changes.&lt;/p&gt;</description></item><item><title>Automatically Disable Wi-Fi When Ethernet Is Plugged in macOS</title><link>https://interfacecraft.online/blog/archive/automatically-disable-wifi-when-ethernet-is-plugged-in-macos/</link><pubDate>Wed, 12 Nov 2025 14:33:35 +0100</pubDate><guid>https://interfacecraft.online/blog/archive/automatically-disable-wifi-when-ethernet-is-plugged-in-macos/</guid><description>&lt;p&gt;macOS has a long-standing bug that persists in macOS Tahoe. When I connect my MacBook to an external dongle with an Ethernet internet connection, it prioritizes the Wi-Fi connection. My Wi-Fi is very unstable, so even when connected to Ethernet, macOS refuses to use it. I set the Service Order to put Ethernet on top, but macOS ignores it.&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s so annoying that I ended up making a script to automate it:&lt;/p&gt;</description></item><item><title>Why I Ditched Dark Mode on macOS</title><link>https://interfacecraft.online/blog/2025/why-i-ditched-dark-mode-on-macos/</link><pubDate>Sun, 07 Sep 2025 22:42:50 +0200</pubDate><guid>https://interfacecraft.online/blog/2025/why-i-ditched-dark-mode-on-macos/</guid><description>&lt;p&gt;&lt;img src="https://interfacecraft.online/blog/2025/why-i-ditched-dark-mode-on-macos/image_hu_d6c87e9ae87b0dc.avif" srcset="https://interfacecraft.online/blog/2025/why-i-ditched-dark-mode-on-macos/image_hu_d6c87e9ae87b0dc.avif 736w, https://interfacecraft.online/blog/2025/why-i-ditched-dark-mode-on-macos/image_hu_cbfb9e17a1bda6ef.avif 956w"
 sizes="(min-width: 768px) 736px, calc(100vw - 2rem)" data-full-src="https://interfacecraft.online/blog/2025/why-i-ditched-dark-mode-on-macos/image_hu_cbfb9e17a1bda6ef.avif" alt="" width="736" height="217" loading="eager"
 decoding="async" fetchpriority="high"&gt;&lt;/p&gt;
&lt;p&gt;I stopped using dark mode on my macOS. I don&amp;rsquo;t need it anymore. It actually creates more problems than it solves.&lt;/p&gt;
&lt;p&gt;The original idea was good: with dark mode in the operating system, you can use your computer at night without damaging your eyes with high brightness. Dark mode was first introduced in macOS Mojave in 2018. Then web community realized the same need. In 2019, the CSS Working Group added new specifications for prefers-color-scheme. This means that any website can specify colors for dark mode.&lt;/p&gt;</description></item><item><title>MATE on FreeBSD: macOS-Like Setup Guide: Font Rendering, UI Tweaks, and Settings</title><link>https://interfacecraft.online/blog/2025/mate-on-freebsd-macos-like-setup-guide-font-rendering-ui-tweaks-and-settings/</link><pubDate>Fri, 23 May 2025 20:38:13 +0200</pubDate><guid>https://interfacecraft.online/blog/2025/mate-on-freebsd-macos-like-setup-guide-font-rendering-ui-tweaks-and-settings/</guid><description>&lt;p&gt;&lt;a href="#fonts"&gt;Font rendering settings&lt;/a&gt;&lt;br/&gt;
&lt;a href="#keyboard_and_mouse"&gt;Keyboard and mouse settings&lt;/a&gt;&lt;br/&gt;
&lt;a href="#interface"&gt;Interface settings&lt;/a&gt;&lt;br/&gt;
&lt;a href="#tearing"&gt;Turn on TearFree&lt;/a&gt;&lt;br/&gt;
&lt;a href="#wallpapers"&gt;Wallpapers&lt;/a&gt;&lt;br/&gt;
&lt;a href="#mate_theme"&gt;macOS theme for Mate&lt;/a&gt;&lt;br/&gt;
&lt;a href="#mate_spotlight"&gt;Spotlight replacement&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;As I mentioned earlier, I noticed similarities between FreeBSD and macOS—after 20 years of using macOS, returning to FreeBSD feels like coming home. But I don’t like the font rendering used in non-macOS systems. Partly because Apple did it very well — &lt;a href="https://www.typeroom.eu/steve-jobs-calligraphy-apple-typography-legacy" target="_blank" rel="nofollow"&gt;Steve Jobs had a great understanding of typography&lt;/a&gt; — and partly because I’m just used to it.&lt;/p&gt;</description></item><item><title>How to Install the FreeBSD AMDGPU Driver on a Beelink SER5 5560U</title><link>https://interfacecraft.online/blog/2025/how-to-install-freebsd-amdgpu-driver-beelink-ser5-5560u/</link><pubDate>Thu, 22 May 2025 22:45:11 +0200</pubDate><guid>https://interfacecraft.online/blog/2025/how-to-install-freebsd-amdgpu-driver-beelink-ser5-5560u/</guid><description>&lt;p&gt;After installing FreeBSD 14.2 fresh on my Beelink SER5 5560U, I installed the GPU driver and enabled the TearFree option for better desktop usage by following these steps:&lt;/p&gt;
&lt;p&gt;&lt;img src="https://interfacecraft.online/blog/2025/how-to-install-freebsd-amdgpu-driver-beelink-ser5-5560u/Beelink-SER5-5560U_hu_c5fe1f5049a43269.avif" srcset="https://interfacecraft.online/blog/2025/how-to-install-freebsd-amdgpu-driver-beelink-ser5-5560u/Beelink-SER5-5560U_hu_c5fe1f5049a43269.avif 736w, https://interfacecraft.online/blog/2025/how-to-install-freebsd-amdgpu-driver-beelink-ser5-5560u/Beelink-SER5-5560U_hu_fb7e3bd5a8404892.avif 1472w"
 sizes="(min-width: 768px) 736px, calc(100vw - 2rem)" data-full-src="https://interfacecraft.online/blog/2025/how-to-install-freebsd-amdgpu-driver-beelink-ser5-5560u/Beelink-SER5-5560U_hu_fb7e3bd5a8404892.avif" alt="" width="736" height="432" loading="eager"
 decoding="async" fetchpriority="high"&gt;&lt;/p&gt;
&lt;h3 id="1-speed-up-keyboard-repeat-rate"&gt;1. Speed Up Keyboard Repeat Rate&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#7f848e"&gt;# kbdcontrol -r fast&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Edit &lt;code&gt;/etc/rc.conf&lt;/code&gt;:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e06c75"&gt;keyrate&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;=&lt;/span&gt;&lt;span style="color:#98c379"&gt;&amp;#34;fast&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="2-install-xorg"&gt;2. Install Xorg&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#7f848e"&gt;# pkg install -y xorg&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="3-add-user-to-necessary-groups"&gt;3. Add User to Necessary Groups&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-sh" data-lang="sh"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#7f848e"&gt;# pw groupmod video -m username&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#7f848e"&gt;# pw groupmod wheel -m username&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Verify with:&lt;/p&gt;</description></item><item><title>Comparing Performance of MacBook Pro M1 Pro to Mini PC on FreeBSD</title><link>https://interfacecraft.online/blog/2025/freebsd-vs-macos-for-daily-use-my-personal-migration-story/</link><pubDate>Mon, 19 May 2025 22:15:36 +0200</pubDate><guid>https://interfacecraft.online/blog/2025/freebsd-vs-macos-for-daily-use-my-personal-migration-story/</guid><description>&lt;p&gt;As a designer I&amp;rsquo;ve been using macOS since 2005, but with each new update, I dislike the direction Apple is heading in. They add unnecessary features that use system resources and can&amp;rsquo;t be disabled. My seven-year-old MacBook Pro with an Intel processor became so slow and unresponsive with the latest macOS version that I can&amp;rsquo;t use it at all anymore. If your Mac can&amp;rsquo;t handle the latest macOS version, the only solution is to buy a more powerful Mac. This is probably fine, people upgrade their hardware from time to time, and this is part of the evolution of the field. However, Apple can deem any five-year-old Mac obsolete. It seems like they have more control over your computer than you do.&lt;/p&gt;</description></item><item><title>PC Wallpapers Inspired by 2000s</title><link>https://interfacecraft.online/blog/2025/pc-wallpapers-inspired-by-2000s/</link><pubDate>Tue, 29 Apr 2025 11:06:19 +0100</pubDate><guid>https://interfacecraft.online/blog/2025/pc-wallpapers-inspired-by-2000s/</guid><description>&lt;style&gt;
#grid a:nth-child(1) img {
 margin-top: 0 !important;
}
&lt;/style&gt;
&lt;div id="grid" class="columns-1 md:columns-2 gap-6"&gt;
 &lt;a href="./images/marble-light.webp" target="_blank" onclick="if (window.goatcounter) { window.goatcounter.count({ path: 'wallpaper-download-marble-light', title: 'wallpaper-download-marble-light', event: true }); }"&gt;
 &lt;img src="./images/marble-light-thumbnail.webp" alt="alt text" title="title" loading="lazy" decoding="async"&gt;
 &lt;/a&gt;
 &lt;a href="./images/marble-dark.webp" target="_blank" onclick="if (window.goatcounter) { window.goatcounter.count({ path: 'wallpaper-download-marble-dark', title: 'wallpaper-download-marble-dark', event: true }); }"&gt;
 &lt;img src="./images/marble-dark-thumbnail.webp" alt="alt text" title="title" loading="lazy" decoding="async"&gt;
 &lt;/a&gt;
 &lt;a href="./images/green-emboss-waves.webp" target="_blank" onclick="if (window.goatcounter) { window.goatcounter.count({ path: 'wallpaper-download-green-emboss-waves', title: 'wallpaper-download-green-emboss-waves', event: true }); }"&gt;
 &lt;img src="./images/green-emboss-waves-thumbnail.webp" alt="alt text" title="title" loading="lazy" decoding="async"&gt;
 &lt;/a&gt;
 &lt;a href="./images/beige-marble.webp" target="_blank" onclick="if (window.goatcounter) { window.goatcounter.count({ path: 'wallpaper-download-beige-marble', title: 'wallpaper-download-beige-marble', event: true }); }"&gt;
 &lt;img src="./images/beige-marble-thumbnail.webp" alt="alt text" title="title" loading="lazy" decoding="async"&gt;
 &lt;/a&gt;
 &lt;a href="./images/leopard-texture.webp" target="_blank" onclick="if (window.goatcounter) { window.goatcounter.count({ path: 'wallpaper-download-leopard-texture', title: 'wallpaper-download-leopard-texture', event: true }); }"&gt;
 &lt;img src="./images/leopard-texture-thumbnail.webp" alt="alt text" title="title" loading="lazy" decoding="async"&gt;
 &lt;/a&gt;
 &lt;a href="./images/freebsd-purple.webp" target="_blank" onclick="if (window.goatcounter) { window.goatcounter.count({ path: 'wallpaper-download-sand', title: 'wallpaper-download-freebsd-purple', event: true }); }"&gt;
 &lt;img src="./images/freebsd-purple-thumbnail.webp" alt="alt text" title="title" loading="lazy" decoding="async"&gt;
 &lt;/a&gt;
 &lt;a href="./images/freebsd-purple-tiled.webp" target="_blank" onclick="if (window.goatcounter) { window.goatcounter.count({ path: 'wallpaper-download-sand', title: 'wallpaper-download-freebsd-purple-tiled', event: true }); }"&gt;
 &lt;img src="./images/freebsd-purple-tiled-thumbnail.webp" alt="alt text" title="title" loading="lazy" decoding="async"&gt;
 &lt;/a&gt;
 &lt;a href="./images/finder-tile.webp" target="_blank" onclick="if (window.goatcounter) { window.goatcounter.count({ path: 'wallpaper-download-finder-tile', title: 'wallpaper-download-finder-tile', event: true }); }"&gt;
 &lt;img src="./images/finder-tile-thumbnail.webp" alt="alt text" title="title" loading="lazy" decoding="async"&gt;
 &lt;/a&gt;
 &lt;a href="./images/sand.webp" target="_blank" onclick="if (window.goatcounter) { window.goatcounter.count({ path: 'wallpaper-download-sand', title: 'wallpaper-download-sand', event: true }); }"&gt;
 &lt;img src="./images/sand-thumbnail.webp" alt="alt text" title="title" loading="lazy" decoding="async"&gt;
 &lt;/a&gt;
 &lt;a href="./images/waterdrops.webp" target="_blank" onclick="if (window.goatcounter) { window.goatcounter.count({ path: 'wallpaper-download-sand', title: 'wallpaper-download-waterdrops', event: true }); }"&gt;
 &lt;img src="./images/waterdrops-thumbnail.webp" alt="alt text" title="title" loading="lazy" decoding="async"&gt;
 &lt;/a&gt;
&lt;/div&gt;</description></item><item><title>iOS Apps Icon Corner Radius Formula</title><link>https://interfacecraft.online/blog/2025/ios-apps-icon-corner-radius-formula/</link><pubDate>Mon, 24 Mar 2025 11:06:19 +0100</pubDate><guid>https://interfacecraft.online/blog/2025/ios-apps-icon-corner-radius-formula/</guid><description>&lt;p&gt;If you need to create an iOS app icon design or a mockup with various app icon size and want to ensure the corner radius is accurate, use this simple formula:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#abb2bf;background-color:#282c34;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-swift" data-lang="swift"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e06c75"&gt;corner&lt;/span&gt; &lt;span style="color:#e06c75"&gt;radius&lt;/span&gt; = &lt;span style="color:#e06c75"&gt;icon&lt;/span&gt; &lt;span style="color:#e06c75"&gt;width&lt;/span&gt; × &lt;span style="color:#d19a66"&gt;2&lt;/span&gt;&lt;span style="color:#56b6c2"&gt;/&lt;/span&gt;&lt;span style="color:#d19a66"&gt;9&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src="https://interfacecraft.online/blog/2025/ios-apps-icon-corner-radius-formula/ios-app-icon-radius-based-on-size_hu_f59b4c3f0e207b36.avif" srcset="https://interfacecraft.online/blog/2025/ios-apps-icon-corner-radius-formula/ios-app-icon-radius-based-on-size_hu_f59b4c3f0e207b36.avif 736w, https://interfacecraft.online/blog/2025/ios-apps-icon-corner-radius-formula/ios-app-icon-radius-based-on-size_hu_99b89462edbe473d.avif 1408w"
 sizes="(min-width: 768px) 736px, calc(100vw - 2rem)" data-full-src="https://interfacecraft.online/blog/2025/ios-apps-icon-corner-radius-formula/ios-app-icon-radius-based-on-size_hu_99b89462edbe473d.avif" alt="" width="736" height="496" loading="eager"
 decoding="async" fetchpriority="high"&gt;&lt;/p&gt;
&lt;p&gt;For example, for a 1024x1024 px icon (the standard size for iOS app icons), the corner radius would be approximately 229 px.&lt;/p&gt;</description></item><item><title>How to Set Up Usenet Access in 2025</title><link>https://interfacecraft.online/blog/2025/how-i-set-up-usenet-slrn-access-in-2025/</link><pubDate>Thu, 13 Mar 2025 17:19:30 +0100</pubDate><guid>https://interfacecraft.online/blog/2025/how-i-set-up-usenet-slrn-access-in-2025/</guid><description>&lt;p&gt;In the 90s, before even the Internet existed in our area, I was lucky to be part of Fidonet. It was an amazing experience, that&amp;rsquo;s hard to explain today. Connecting with people across the globe through a network felt like stepping into the future, sharing messages (and sometimes files) at a time when such communication was rare and magical in its own way. All the memories about Fidonet are always warm. The TUI (Text-based user interface) contained everything you needed.&lt;/p&gt;</description></item><item><title>How I Automated My Computer Routine with macOS Folder Actions</title><link>https://interfacecraft.online/blog/2025/how-i-automated-my-computer-life-with-macos-folder-actions/</link><pubDate>Wed, 12 Feb 2025 21:53:39 +0100</pubDate><guid>https://interfacecraft.online/blog/2025/how-i-automated-my-computer-life-with-macos-folder-actions/</guid><description>&lt;blockquote&gt;
&lt;p&gt;I&amp;rsquo;ve always believed that computers should handle repetitive tasks better than humans. It frustrates me when something can&amp;rsquo;t be automated the way I want or when simple actions require more effort than they should.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Let&amp;rsquo;s say we want to convert a &lt;span class="highlighter"&gt;video from one format to another&lt;/span&gt;. This often happens to me when I need to share a screencast video with colleagues on Slack. By default, macOS records in &lt;span class="highlighter"&gt;.MOV&lt;/span&gt; format, which is too large to share. Sometimes, I also have another file that I want to shrink for easier sharing in a message.&lt;/p&gt;</description></item><item><title>Can Cheap MiniPC with FreeBSD 14 Outperform MacBook Pro M1 Pro?</title><link>https://interfacecraft.online/blog/2025/can-cheap-minipc-with-freebsd-14-outperform-macbook-pro-m1-pro/</link><pubDate>Wed, 05 Feb 2025 22:25:51 +0100</pubDate><guid>https://interfacecraft.online/blog/2025/can-cheap-minipc-with-freebsd-14-outperform-macbook-pro-m1-pro/</guid><description>&lt;h3 id="tldr"&gt;TL;DR&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;I put my €1800 MacBook Pro M1 Pro head-to-head with a €300 mini PC and found the cheaper option surprisingly fast. While the mini PC couldn&amp;rsquo;t completely replace my Mac for work due to some software and hardware limitations, it made me question the need for expensive purchases. Do we really need the latest and greatest hardware to be productive? Or are we being pushed to constantly upgrade for features we might not even fully utilize?&lt;/p&gt;</description></item><item><title>Why I Ditched My Apple Watch for a Quartz Watch—and Never Looked Back</title><link>https://interfacecraft.online/blog/2024/why-i-ditched-my-apple-watch-for-a-quartz-watch/</link><pubDate>Wed, 20 Nov 2024 21:37:37 +0100</pubDate><guid>https://interfacecraft.online/blog/2024/why-i-ditched-my-apple-watch-for-a-quartz-watch/</guid><description>&lt;p&gt;I have always been a &lt;span class="highlighter"&gt;HUGE&lt;/span&gt; Apple Watch fan. I used this device day and night, but at some point, after couple of years usage, I realized that I don&amp;rsquo;t like it anymore. The biggest issue was that the battery drained too fast, so I had to charge it three times a day. I should add that I was wearing it at night to see the time if I woke up in the middle of the night.&lt;/p&gt;</description></item><item><title>Opera Browser Onboarding UX Analysis</title><link>https://interfacecraft.online/blog/archive/opera-browser-onboarding-ux-analysis/</link><pubDate>Fri, 01 Nov 2024 16:28:45 +0100</pubDate><guid>https://interfacecraft.online/blog/archive/opera-browser-onboarding-ux-analysis/</guid><description>&lt;iframe src="https://docs.google.com/presentation/d/e/2PACX-1vQlk_bUStpNmEc5hiQs7nGSU7qHR1J5z4bi4TDNpvF4pSI5bCRIlzCHPKMvLY21Cg/embed?start=false&amp;loop=false&amp;delayms=3000" frameborder="0" width="100%" allowfullscreen="true" mozallowfullscreen="true" webkitallowfullscreen="true" style="width: 100%; aspect-ratio: 16/10" autofocus&gt;&lt;/iframe&gt;
&lt;details&gt;
&lt;summary&gt;Text version&lt;/summary&gt;
&lt;p&gt;Inspired by the &lt;a href="https://growth.design/course"&gt;Product Psychology Masterclass&lt;/a&gt;, I did an analysis of the Opera browser onboarding to find the peaks and valleys in the journey.&lt;/p&gt;
&lt;p&gt;Each step will increase or decrease the psych level marked with 🟢 for up or 🔻 for down.&lt;/p&gt;
&lt;p&gt;The Opera website has a nice claim about browser features. Faster, safer and smarter than standard browsers. I was excited to try something new, so my psych level was high 🟢:&lt;/p&gt;</description></item><item><title>The Best Way to Create iOS Screenshots Titles</title><link>https://interfacecraft.online/blog/2024/the-best-way-to-create-ios-screenshots-titles/</link><pubDate>Fri, 25 Oct 2024 11:08:10 +0200</pubDate><guid>https://interfacecraft.online/blog/2024/the-best-way-to-create-ios-screenshots-titles/</guid><description>&lt;p&gt;Inspired by that tweet, instead of saying &amp;ldquo;Here&amp;rsquo;s what our product can do&amp;rdquo; you can shift to &amp;ldquo;Here&amp;rsquo;s what you can do with our product&amp;rdquo;. This approach led me to rethink all the screenshots I&amp;rsquo;ve created in the past to make them more effective.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://interfacecraft.online/blog/2024/the-best-way-to-create-ios-screenshots-titles/images/1_hu_943a40486942b2e9.avif" srcset="https://interfacecraft.online/blog/2024/the-best-way-to-create-ios-screenshots-titles/images/1_hu_943a40486942b2e9.avif 736w, https://interfacecraft.online/blog/2024/the-best-way-to-create-ios-screenshots-titles/images/1_hu_3238b89dad3c4976.avif 1408w"
 sizes="(min-width: 768px) 736px, calc(100vw - 2rem)" data-full-src="https://interfacecraft.online/blog/2024/the-best-way-to-create-ios-screenshots-titles/images/1_hu_3238b89dad3c4976.avif" alt="" width="736" height="204" loading="eager"
 decoding="async" fetchpriority="high"&gt;&lt;/p&gt;
&lt;p&gt;I realized I made another mistake by not considering that users often lack context. Here is a bad example:&lt;/p&gt;</description></item><item><title>My iOS &amp; macOS App Icons Design Gallery</title><link>https://interfacecraft.online/blog/2024/ios-app-icons-design/</link><pubDate>Wed, 23 Oct 2024 21:44:06 +0200</pubDate><guid>https://interfacecraft.online/blog/2024/ios-app-icons-design/</guid><description>&lt;p&gt;Throughout my career, I have created several iOS app icons. The biggest challenge is to express the idea of the app through simple graphics. At the same time, the icon should be unique and attractive.&lt;/p&gt;
&lt;p&gt;Some of the icons have been A/B tested to find the best performing versions.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://apps.apple.com/us/app/locader-changing-wallpaper-based-on-location/id1061791495?mt=12"&gt;&lt;img src="https://interfacecraft.online/blog/2024/ios-app-icons-design/images/image0_hu_8336a3ab55f7892d.avif" srcset="https://interfacecraft.online/blog/2024/ios-app-icons-design/images/image0_hu_8336a3ab55f7892d.avif 736w, https://interfacecraft.online/blog/2024/ios-app-icons-design/images/image0_hu_733abaeea893adb9.avif 1472w"
 sizes="(min-width: 768px) 736px, calc(100vw - 2rem)" data-full-src="https://interfacecraft.online/blog/2024/ios-app-icons-design/images/image0_hu_733abaeea893adb9.avif" alt="" width="736" height="299" loading="eager"
 decoding="async" fetchpriority="high"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3 id="ios-app-icons-i-made"&gt;iOS App Icons I Made&lt;/h3&gt;

&lt;div class="image-grid"&gt;
 
 
 
 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
 

 
 

 
 
 
 
 

 
 

 
 
 
 
 
 
 
 &lt;div class="grid-item"&gt;
 
 &lt;img src="https://interfacecraft.online/blog/2024/ios-app-icons-design/images/image01_hu_14bf87735f654bbe.avif" srcset="https://interfacecraft.online/blog/2024/ios-app-icons-design/images/image01_hu_14bf87735f654bbe.avif 120w, https://interfacecraft.online/blog/2024/ios-app-icons-design/images/image01_hu_c41a0c0f0c89568f.avif 240w" sizes="120px" width="120" height="120" alt="Grid image 1" loading="lazy" decoding="async"&gt;
 
 &lt;/div&gt;
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
 

 
 

 
 
 
 
 

 
 

 
 
 
 
 
 
 
 &lt;div class="grid-item"&gt;
 
 &lt;img src="https://interfacecraft.online/blog/2024/ios-app-icons-design/images/image02_hu_3320195becbaf42a.avif" srcset="https://interfacecraft.online/blog/2024/ios-app-icons-design/images/image02_hu_3320195becbaf42a.avif 120w, https://interfacecraft.online/blog/2024/ios-app-icons-design/images/image02_hu_be52ed2d601999e2.avif 240w" sizes="120px" width="120" height="120" alt="Grid image 2" loading="lazy" decoding="async"&gt;
 
 &lt;/div&gt;
 
 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
 

 
 

 
 
 
 
 

 
 

 
 
 
 
 
 
 
 &lt;div class="grid-item"&gt;
 
 &lt;a href="https://apps.apple.com/us/app/gps-navigation-hiking-compass/id791684332" target="_blank" rel="noopener noreferrer"&gt;
 &lt;img src="https://interfacecraft.online/blog/2024/ios-app-icons-design/images/image03_hu_629a9719f273e67e.avif" srcset="https://interfacecraft.online/blog/2024/ios-app-icons-design/images/image03_hu_629a9719f273e67e.avif 120w, https://interfacecraft.online/blog/2024/ios-app-icons-design/images/image03_hu_15c400e4462acb2d.avif 240w" sizes="120px" width="120" height="120" alt="Grid image 3" loading="lazy" decoding="async"&gt;
 &lt;/a&gt;
 
 &lt;/div&gt;
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
 

 
 

 
 
 
 
 

 
 

 
 
 
 
 
 
 
 &lt;div class="grid-item"&gt;
 
 &lt;img src="https://interfacecraft.online/blog/2024/ios-app-icons-design/images/image04_hu_88795140795a992c.avif" srcset="https://interfacecraft.online/blog/2024/ios-app-icons-design/images/image04_hu_88795140795a992c.avif 120w, https://interfacecraft.online/blog/2024/ios-app-icons-design/images/image04_hu_70a690985d4067c0.avif 240w" sizes="120px" width="120" height="120" alt="Grid image 4" loading="lazy" decoding="async"&gt;
 
 &lt;/div&gt;
 
 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
 

 
 

 
 
 
 
 

 
 

 
 
 
 
 
 
 
 &lt;div class="grid-item"&gt;
 
 &lt;a href="https://apps.apple.com/us/app/white-noise-deep-sleep-sounds/id1083248251" target="_blank" rel="noopener noreferrer"&gt;
 &lt;img src="https://interfacecraft.online/blog/2024/ios-app-icons-design/images/image05_hu_20c9df7ab505e51b.avif" srcset="https://interfacecraft.online/blog/2024/ios-app-icons-design/images/image05_hu_20c9df7ab505e51b.avif 120w, https://interfacecraft.online/blog/2024/ios-app-icons-design/images/image05_hu_e163a90b92043183.avif 240w" sizes="120px" width="120" height="120" alt="Grid image 5" loading="lazy" decoding="async"&gt;
 &lt;/a&gt;
 
 &lt;/div&gt;
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
 

 
 

 
 
 
 
 

 
 

 
 
 
 
 
 
 
 &lt;div class="grid-item"&gt;
 
 &lt;img src="https://interfacecraft.online/blog/2024/ios-app-icons-design/images/image06_hu_6823eaf8e31c7dca.avif" srcset="https://interfacecraft.online/blog/2024/ios-app-icons-design/images/image06_hu_6823eaf8e31c7dca.avif 120w, https://interfacecraft.online/blog/2024/ios-app-icons-design/images/image06_hu_9a4ad6f953147528.avif 240w" sizes="120px" width="120" height="120" alt="Grid image 6" loading="lazy" decoding="async"&gt;
 
 &lt;/div&gt;
 
 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
 

 
 

 
 
 
 
 

 
 

 
 
 
 
 
 
 
 &lt;div class="grid-item"&gt;
 
 &lt;a href="https://apps.apple.com/us/app/enhance-photo-raw-90s-filters/id1426669594" target="_blank" rel="noopener noreferrer"&gt;
 &lt;img src="https://interfacecraft.online/blog/2024/ios-app-icons-design/images/image07_hu_96be8ffdf5340e6d.avif" srcset="https://interfacecraft.online/blog/2024/ios-app-icons-design/images/image07_hu_96be8ffdf5340e6d.avif 120w, https://interfacecraft.online/blog/2024/ios-app-icons-design/images/image07_hu_46d29480aca35e1.avif 240w" sizes="120px" width="120" height="120" alt="Grid image 7" loading="lazy" decoding="async"&gt;
 &lt;/a&gt;
 
 &lt;/div&gt;
 
 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
 

 
 

 
 
 
 
 

 
 

 
 
 
 
 
 
 
 &lt;div class="grid-item"&gt;
 
 &lt;a href="https://apps.apple.com/us/app/calcly-free-universal-calculator-for-ipad/id1036343033" target="_blank" rel="noopener noreferrer"&gt;
 &lt;img src="https://interfacecraft.online/blog/2024/ios-app-icons-design/images/image08_hu_cc956511c22a301f.avif" srcset="https://interfacecraft.online/blog/2024/ios-app-icons-design/images/image08_hu_cc956511c22a301f.avif 120w, https://interfacecraft.online/blog/2024/ios-app-icons-design/images/image08_hu_2754de077f56a01d.avif 240w" sizes="120px" width="120" height="120" alt="Grid image 8" loading="lazy" decoding="async"&gt;
 &lt;/a&gt;
 
 &lt;/div&gt;
 
 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
 

 
 

 
 
 
 
 

 
 

 
 
 
 
 
 
 
 &lt;div class="grid-item"&gt;
 
 &lt;a href="https://interfacecraft.online/posts/blog/archive/new-app-release-newspaper-for-ipad/" target="_blank" rel="noopener noreferrer"&gt;
 &lt;img src="https://interfacecraft.online/blog/2024/ios-app-icons-design/images/image09_hu_3c90278671e2dcf7.avif" srcset="https://interfacecraft.online/blog/2024/ios-app-icons-design/images/image09_hu_3c90278671e2dcf7.avif 120w, https://interfacecraft.online/blog/2024/ios-app-icons-design/images/image09_hu_6f132d54d5b6a58b.avif 240w" sizes="120px" width="120" height="120" alt="Grid image 9" loading="lazy" decoding="async"&gt;
 &lt;/a&gt;
 
 &lt;/div&gt;
 
 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
 

 
 

 
 
 
 
 

 
 

 
 
 
 
 
 
 
 &lt;div class="grid-item"&gt;
 
 &lt;a href="https://x.com/GSP/status/1224416520635183105" target="_blank" rel="noopener noreferrer"&gt;
 &lt;img src="https://interfacecraft.online/blog/2024/ios-app-icons-design/images/image11_hu_df097d1b52f39ac5.avif" srcset="https://interfacecraft.online/blog/2024/ios-app-icons-design/images/image11_hu_df097d1b52f39ac5.avif 120w, https://interfacecraft.online/blog/2024/ios-app-icons-design/images/image11_hu_ae5f087df4215687.avif 240w" sizes="120px" width="120" height="120" alt="Grid image 10" loading="lazy" decoding="async"&gt;
 &lt;/a&gt;
 
 &lt;/div&gt;
 
 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
 

 
 

 
 
 
 
 

 
 

 
 
 
 
 
 
 
 &lt;div class="grid-item"&gt;
 
 &lt;a href="https://x.com/taskmoji" target="_blank" rel="noopener noreferrer"&gt;
 &lt;img src="https://interfacecraft.online/blog/2024/ios-app-icons-design/images/image12_hu_9a83ea60f8dcf959.avif" srcset="https://interfacecraft.online/blog/2024/ios-app-icons-design/images/image12_hu_9a83ea60f8dcf959.avif 120w, https://interfacecraft.online/blog/2024/ios-app-icons-design/images/image12_hu_ea44feb879958fac.avif 240w" sizes="120px" width="120" height="120" alt="Grid image 11" loading="lazy" decoding="async"&gt;
 &lt;/a&gt;
 
 &lt;/div&gt;
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
 

 
 

 
 
 
 
 

 
 

 
 
 
 
 
 
 
 &lt;div class="grid-item"&gt;
 
 &lt;img src="https://interfacecraft.online/blog/2024/ios-app-icons-design/images/image13_hu_9abc3cf597ebbb9a.avif" srcset="https://interfacecraft.online/blog/2024/ios-app-icons-design/images/image13_hu_9abc3cf597ebbb9a.avif 120w, https://interfacecraft.online/blog/2024/ios-app-icons-design/images/image13_hu_529398c3434ce18f.avif 240w" sizes="120px" width="120" height="120" alt="Grid image 12" loading="lazy" decoding="async"&gt;
 
 &lt;/div&gt;
 
 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
 

 
 

 
 
 
 
 

 
 

 
 
 
 
 
 
 
 &lt;div class="grid-item"&gt;
 
 &lt;a href="https://apps.apple.com/us/app/fresh-reversi/id732986215" target="_blank" rel="noopener noreferrer"&gt;
 &lt;img src="https://interfacecraft.online/blog/2024/ios-app-icons-design/images/image14_hu_b6b4c3d4025ee057.avif" srcset="https://interfacecraft.online/blog/2024/ios-app-icons-design/images/image14_hu_b6b4c3d4025ee057.avif 120w, https://interfacecraft.online/blog/2024/ios-app-icons-design/images/image14_hu_9d26608a188d1e08.avif 240w" sizes="120px" width="120" height="120" alt="Grid image 13" loading="lazy" decoding="async"&gt;
 &lt;/a&gt;
 
 &lt;/div&gt;
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
 

 
 

 
 
 
 
 

 
 

 
 
 
 
 
 
 
 &lt;div class="grid-item"&gt;
 
 &lt;img src="https://interfacecraft.online/blog/2024/ios-app-icons-design/images/image15_hu_a75a0901c75a688a.avif" srcset="https://interfacecraft.online/blog/2024/ios-app-icons-design/images/image15_hu_a75a0901c75a688a.avif 120w, https://interfacecraft.online/blog/2024/ios-app-icons-design/images/image15_hu_282f3c000b58b329.avif 240w" sizes="120px" width="120" height="120" alt="Grid image 14" loading="lazy" decoding="async"&gt;
 
 &lt;/div&gt;
 
 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
 

 
 

 
 
 
 
 

 
 

 
 
 
 
 
 
 
 &lt;div class="grid-item"&gt;
 
 &lt;a href="https://apps.apple.com/us/app/game-for-toddlers-animal-kids/id1456368359" target="_blank" rel="noopener noreferrer"&gt;
 &lt;img src="https://interfacecraft.online/blog/2024/ios-app-icons-design/images/image16_hu_83d5765f9f943246.avif" srcset="https://interfacecraft.online/blog/2024/ios-app-icons-design/images/image16_hu_83d5765f9f943246.avif 120w, https://interfacecraft.online/blog/2024/ios-app-icons-design/images/image16_hu_bf9ecebed18bbbb.avif 240w" sizes="120px" width="120" height="120" alt="Grid image 15" loading="lazy" decoding="async"&gt;
 &lt;/a&gt;
 
 &lt;/div&gt;
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
 

 
 

 
 
 
 
 

 
 

 
 
 
 
 
 
 
 &lt;div class="grid-item"&gt;
 
 &lt;img src="https://interfacecraft.online/blog/2024/ios-app-icons-design/images/image17_hu_7b93503b169bb4b2.avif" srcset="https://interfacecraft.online/blog/2024/ios-app-icons-design/images/image17_hu_7b93503b169bb4b2.avif 120w, https://interfacecraft.online/blog/2024/ios-app-icons-design/images/image17_hu_6eae4546eab4c5d8.avif 240w" sizes="120px" width="120" height="120" alt="Grid image 16" loading="lazy" decoding="async"&gt;
 
 &lt;/div&gt;
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
 

 
 

 
 
 
 
 

 
 

 
 
 
 
 
 
 
 &lt;div class="grid-item"&gt;
 
 &lt;img src="https://interfacecraft.online/blog/2024/ios-app-icons-design/images/image18_hu_d8602fc1c668ad0d.avif" srcset="https://interfacecraft.online/blog/2024/ios-app-icons-design/images/image18_hu_d8602fc1c668ad0d.avif 120w, https://interfacecraft.online/blog/2024/ios-app-icons-design/images/image18_hu_4375b51bd38e5cb6.avif 240w" sizes="120px" width="120" height="120" alt="Grid image 17" loading="lazy" decoding="async"&gt;
 
 &lt;/div&gt;
 
 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
 

 
 

 
 
 
 
 

 
 

 
 
 
 
 
 
 
 &lt;div class="grid-item"&gt;
 
 &lt;a href="https://imiwaapp.com/" target="_blank" rel="noopener noreferrer"&gt;
 &lt;img src="https://interfacecraft.online/blog/2024/ios-app-icons-design/images/image19_hu_f20c40f0800db96d.avif" srcset="https://interfacecraft.online/blog/2024/ios-app-icons-design/images/image19_hu_f20c40f0800db96d.avif 120w, https://interfacecraft.online/blog/2024/ios-app-icons-design/images/image19_hu_ce09208a95fb8bd2.avif 240w" sizes="120px" width="120" height="120" alt="Grid image 18" loading="lazy" decoding="async"&gt;
 &lt;/a&gt;
 
 &lt;/div&gt;
 
 
 
 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
 

 
 

 
 
 
 
 

 
 
 
 
 
 
 

 
 
 
 
 
 
 
 &lt;div class="grid-item"&gt;
 
 &lt;a href="https://apps.apple.com/us/app/slumber-calm-stories-for-sleep/id1109543953" target="_blank" rel="noopener noreferrer"&gt;
 &lt;img src="https://interfacecraft.online/blog/2024/ios-app-icons-design/images/slumber_hu_75c5bbcfdf719309.avif" srcset="https://interfacecraft.online/blog/2024/ios-app-icons-design/images/slumber_hu_75c5bbcfdf719309.avif 120w, https://interfacecraft.online/blog/2024/ios-app-icons-design/images/slumber@2x_hu_592b451b4224830f.avif 240w" sizes="120px" width="120" height="120" alt="Grid image 19" loading="lazy" decoding="async"&gt;
 &lt;/a&gt;
 
 &lt;/div&gt;
 
&lt;/div&gt;

&lt;style&gt;
.image-grid {
 display: grid;
 grid-template-columns: repeat(3, 1fr); 
 gap: 5px;
 width: 100%;
 margin: 0 auto;
 padding: 20px 0;
}

.grid-item {
 width: 100%;
 justify-content: center;
 display: flex;
 aspect-ratio: 1/1;
 background-color: rgba(0, 0, 0, 0.05);
 backdrop-filter: blur(10px);
 border-radius: 10px;
}

@media (prefers-color-scheme: dark){
 .grid-item {
 background-color: rgba(255, 255, 255, 0.05);
 backdrop-filter: blur(10px);
 }
}

.grid-item img,
.grid-item a {
 width: 100%;
 max-width: 120px;
 height: auto;
 object-fit: cover;
 display: block;
 margin: auto;
 justify-content: center;
 align-self: center;
 transition: transform 0.2s;
}

.grid-item a:hover img{
 transform: scale(1.1);
}

 
@media (max-width: 768px) {
 .image-grid {
 grid-template-columns: repeat(2, 1fr); 
 }
}
&lt;/style&gt;

&lt;h3 id="macos-app-icons-i-made"&gt;macOS App Icons I Made&lt;/h3&gt;

&lt;div class="image-grid"&gt;
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
 

 
 

 
 
 
 
 

 
 

 
 
 
 
 
 
 
 &lt;div class="grid-item"&gt;
 
 &lt;a href="https://apps.apple.com/us/app/locader-changing-wallpaper-based-on-location/id1061791495?mt=12" target="_blank" rel="noopener noreferrer"&gt;
 &lt;img src="https://interfacecraft.online/blog/2024/ios-app-icons-design/images/image10_hu_4997a7b9b3d91192.avif" srcset="https://interfacecraft.online/blog/2024/ios-app-icons-design/images/image10_hu_4997a7b9b3d91192.avif 120w, https://interfacecraft.online/blog/2024/ios-app-icons-design/images/image10_hu_cd83437af0c117f5.avif 240w" sizes="120px" width="120" height="120" alt="Grid image 1" loading="lazy" decoding="async"&gt;
 &lt;/a&gt;
 
 &lt;/div&gt;
 
 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
 

 
 

 
 
 
 
 

 
 

 
 
 
 
 
 
 
 &lt;div class="grid-item"&gt;
 
 &lt;a href="https://interfacecraft.online/blog/2024/waterlogue-pro-macos-app-icon-creation/" target="_blank" rel="noopener noreferrer"&gt;
 &lt;img src="https://interfacecraft.online/blog/2024/ios-app-icons-design/images/image20_hu_f97fc34c3e113270.avif" srcset="https://interfacecraft.online/blog/2024/ios-app-icons-design/images/image20_hu_f97fc34c3e113270.avif 120w, https://interfacecraft.online/blog/2024/ios-app-icons-design/images/image20_hu_693b42aa55b04589.avif 240w" sizes="120px" width="120" height="120" alt="Grid image 2" loading="lazy" decoding="async"&gt;
 &lt;/a&gt;
 
 &lt;/div&gt;
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
 

 
 

 
 
 
 
 

 
 

 
 
 
 
 
 
 
 &lt;div class="grid-item"&gt;
 
 &lt;img src="https://interfacecraft.online/blog/2024/ios-app-icons-design/images/image21_hu_2554a59ff9060aa5.avif" srcset="https://interfacecraft.online/blog/2024/ios-app-icons-design/images/image21_hu_2554a59ff9060aa5.avif 120w, https://interfacecraft.online/blog/2024/ios-app-icons-design/images/image21_hu_4c4251597214862a.avif 240w" sizes="120px" width="120" height="121" alt="Grid image 3" loading="lazy" decoding="async"&gt;
 
 &lt;/div&gt;
 
&lt;/div&gt;

&lt;style&gt;
.image-grid {
 display: grid;
 grid-template-columns: repeat(3, 1fr); 
 gap: 5px;
 width: 100%;
 margin: 0 auto;
 padding: 20px 0;
}

.grid-item {
 width: 100%;
 justify-content: center;
 display: flex;
 aspect-ratio: 1/1;
 background-color: rgba(0, 0, 0, 0.05);
 backdrop-filter: blur(10px);
 border-radius: 10px;
}

@media (prefers-color-scheme: dark){
 .grid-item {
 background-color: rgba(255, 255, 255, 0.05);
 backdrop-filter: blur(10px);
 }
}

.grid-item img,
.grid-item a {
 width: 100%;
 max-width: 120px;
 height: auto;
 object-fit: cover;
 display: block;
 margin: auto;
 justify-content: center;
 align-self: center;
 transition: transform 0.2s;
}

.grid-item a:hover img{
 transform: scale(1.1);
}

 
@media (max-width: 768px) {
 .image-grid {
 grid-template-columns: repeat(2, 1fr); 
 }
}
&lt;/style&gt;

&lt;p&gt;Many of them can be found in Michael Flarup&amp;rsquo;s &lt;a href="https://x.com/flarup/status/1567433631626395649/video/1"&gt;The iOS App Icon Book&lt;/a&gt; as well. Learn process behind the app icons making process in the &lt;a href="https://interfacecraft.online/blog/2024/waterlogue-pro-macos-app-icon-creation/"&gt;Waterlogue Pro app icon&lt;/a&gt; case.&lt;/p&gt;</description></item><item><title>With iOS 18 Your App Needs Dark App Icon More Than Ever</title><link>https://interfacecraft.online/blog/archive/with-ios18-your-app-needs-dark-app-icon-more-than-ever/</link><pubDate>Tue, 24 Sep 2024 17:02:50 +0200</pubDate><guid>https://interfacecraft.online/blog/archive/with-ios18-your-app-needs-dark-app-icon-more-than-ever/</guid><description>&lt;p&gt;With the latest release of iOS 18, Apple continues to emphasize design harmony throughout the operating system with Dark Mode for app icons. It provides a sleek and modern aesthetic that many users have come to love. Unfortunately, if your app doesn&amp;rsquo;t conform to this visual paradigm, users are more likely &lt;strong&gt;to remove it from the Home Screen&lt;/strong&gt; to get rid of an app icon that doesn&amp;rsquo;t fit.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://interfacecraft.online/blog/archive/with-ios18-your-app-needs-dark-app-icon-more-than-ever/images/1_hu_3aa4a4a43460d4ad.avif" srcset="https://interfacecraft.online/blog/archive/with-ios18-your-app-needs-dark-app-icon-more-than-ever/images/1_hu_3aa4a4a43460d4ad.avif 736w, https://interfacecraft.online/blog/archive/with-ios18-your-app-needs-dark-app-icon-more-than-ever/images/1_hu_25e0d5fef249028.avif 1472w"
 sizes="(min-width: 768px) 736px, calc(100vw - 2rem)" data-full-src="https://interfacecraft.online/blog/archive/with-ios18-your-app-needs-dark-app-icon-more-than-ever/images/1_hu_25e0d5fef249028.avif" alt="" width="736" height="434" loading="eager"
 decoding="async" fetchpriority="high"&gt;&lt;/p&gt;</description></item><item><title>UI Elements: Understanding Their Purpose for Effective Design</title><link>https://interfacecraft.online/blog/2024/ui-elements-understanding-their-purpose-for-effective-design/</link><pubDate>Tue, 10 Sep 2024 14:08:34 +0200</pubDate><guid>https://interfacecraft.online/blog/2024/ui-elements-understanding-their-purpose-for-effective-design/</guid><description>&lt;p&gt;Once I was reading a tutorial about color and the article was about &amp;ldquo;there are a bunch of color schemes, like monochromatic, analogous, complementary, etc.&amp;rdquo;, with all the description how to create each one. But at the end they wrote &amp;ldquo;Use them!&amp;rdquo; This confuses me. How is the reader supposed to learn how to use them? In my opinion, we need to understand the underlying purpose of each tool we can use, as well as an outcome. If we agreed that color is a tool.&lt;/p&gt;</description></item><item><title>Two Data-Driven Methods to Identify Your Target Audience Age</title><link>https://interfacecraft.online/blog/archive/two-data-driven-methods-to-identify-your-target-audience-age-as-a-product-designer/</link><pubDate>Mon, 29 Jul 2024 13:13:53 +0200</pubDate><guid>https://interfacecraft.online/blog/archive/two-data-driven-methods-to-identify-your-target-audience-age-as-a-product-designer/</guid><description>&lt;p&gt;Knowing your target audience is critical to creating a product that truly resonates with your users. By understanding their age (as an example), you can tailor the user experience, features, and even your marketing messages to their specific needs and preferences. This personalization not only increases engagement, but also contributes to the overall success of your product.&lt;/p&gt;
&lt;p&gt;As a product designer, if you can&amp;rsquo;t define your users, it&amp;rsquo;s like trying to shoot a target blindfolded. You need to know their ages, preferences, and behaviors in order to design a product that fits them like a glove.&lt;/p&gt;</description></item><item><title>Navigating Success: 11 Years of Innovation with Anchor Pointer GPS Compass</title><link>https://interfacecraft.online/blog/archive/navigating_success_11_years_of_innovation_with_anchor_pointer_gps_compass/</link><pubDate>Thu, 04 Jul 2024 21:52:14 +0200</pubDate><guid>https://interfacecraft.online/blog/archive/navigating_success_11_years_of_innovation_with_anchor_pointer_gps_compass/</guid><description>&lt;p&gt;As a product designer with a passion for innovation, I embarked on a journey to create my own product. This led to the birth of the &lt;a href="https://apps.apple.com/us/app/find-car-anchor-pointer/id791684332"&gt;Anchor Pointer GPS Compass&lt;/a&gt;, an iOS app designed to provide reliable navigation without an internet connection.&lt;/p&gt;
&lt;p&gt;Total downloads 732K, latest 5 years:&lt;/p&gt;
&lt;p&gt;&lt;img src="https://interfacecraft.online/blog/archive/navigating_success_11_years_of_innovation_with_anchor_pointer_gps_compass/images/1_hu_d0268537f4ed562d.avif" srcset="https://interfacecraft.online/blog/archive/navigating_success_11_years_of_innovation_with_anchor_pointer_gps_compass/images/1_hu_d0268537f4ed562d.avif 736w, https://interfacecraft.online/blog/archive/navigating_success_11_years_of_innovation_with_anchor_pointer_gps_compass/images/1_hu_aeac18dfb69d2.avif 1472w"
 sizes="(min-width: 768px) 736px, calc(100vw - 2rem)" data-full-src="https://interfacecraft.online/blog/archive/navigating_success_11_years_of_innovation_with_anchor_pointer_gps_compass/images/1_hu_aeac18dfb69d2.avif" alt="" width="736" height="481" loading="eager"
 decoding="async" fetchpriority="high"&gt;&lt;/p&gt;
&lt;h3 id="project-goal"&gt;Project goal&lt;/h3&gt;
&lt;p&gt;In 2013 I decided to release my first iOS app. On this way I asked my brother-developer to help me with this project. The goal was to try to create a unique navigation app using GPS as a core technology with one big advantage, it can work without internet connection by reading GPS signal directly from satellites. It could be handy for people who are traveling and not willing to buy another SIM card just to have an internet connection. Or people who use iPhone in a natural area, far away from cell towers.&lt;/p&gt;</description></item><item><title>How to Shake Up Zero Downloads on App Store</title><link>https://interfacecraft.online/blog/archive/how-to-shake-up-zero-downloads-on-app-store/</link><pubDate>Sun, 30 Jun 2024 14:54:59 +0200</pubDate><guid>https://interfacecraft.online/blog/archive/how-to-shake-up-zero-downloads-on-app-store/</guid><description>&lt;h3 id="the-problem"&gt;The Problem&lt;/h3&gt;
&lt;p&gt;You have a paid iOS app that you want to publish to the App Store, or it&amp;rsquo;s already published, but sales are dropping to zero.&lt;/p&gt;
&lt;p&gt;Today in the App Store have about 4 million and 1 million of games according to statista. With such huge competition each new app will be hidden to a user, and according to PhoneArena:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;400,000 apps in the App Store have never been downloaded says report - PhoneArena&lt;/p&gt;</description></item><item><title>Making Mobile Game for Toddlers</title><link>https://interfacecraft.online/blog/2024/making-mobile-game-for-toddlers/</link><pubDate>Wed, 26 Jun 2024 12:08:12 +0200</pubDate><guid>https://interfacecraft.online/blog/2024/making-mobile-game-for-toddlers/</guid><description>&lt;p&gt;&lt;img src="https://interfacecraft.online/blog/2024/making-mobile-game-for-toddlers/images/1_hu_3672e6236193f3cd.avif" srcset="https://interfacecraft.online/blog/2024/making-mobile-game-for-toddlers/images/1_hu_3672e6236193f3cd.avif 736w, https://interfacecraft.online/blog/2024/making-mobile-game-for-toddlers/images/1_hu_a4b04aaa4f9ca212.avif 1408w"
 sizes="(min-width: 768px) 736px, calc(100vw - 2rem)" data-full-src="https://interfacecraft.online/blog/2024/making-mobile-game-for-toddlers/images/1_hu_a4b04aaa4f9ca212.avif" alt="Hero" width="736" height="213" loading="eager"
 decoding="async" fetchpriority="high"&gt;&lt;/p&gt;
&lt;h3 id="project-goal"&gt;Project goal&lt;/h3&gt;
&lt;p&gt;As a side project I wanted to create a game that could be used to entertain toddlers. I wanted to learn how to code using a simple and fun project. By the way, this is my first project with SpriteKit as a developer, so I wanted to keep the mechanics as simple as possible.&lt;/p&gt;
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;
			&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/RV8-Pp8Iv2Q?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;
		&lt;/div&gt;

&lt;h3 id="researching-target-audiences"&gt;Researching target audiences&lt;/h3&gt;
&lt;p&gt;Despite the fact that the game is designed for children under 4 years of age, it was necessary to take into account the &lt;strong&gt;adult audience&lt;/strong&gt; of parents. After all, parents decide what their children play. Parents give their children their smartphones when they need some time to themselves (sometimes it happens). Therefore, the game should be simple enough for a child to play without asking a parent for help.&lt;/p&gt;</description></item><item><title>Waterlogue Pro macOS App Icon Creation</title><link>https://interfacecraft.online/blog/2024/waterlogue-pro-macos-app-icon-creation/</link><pubDate>Mon, 24 Jun 2024 17:31:08 +0200</pubDate><guid>https://interfacecraft.online/blog/2024/waterlogue-pro-macos-app-icon-creation/</guid><description>&lt;h3 id="project-goal"&gt;Project goal&lt;/h3&gt;
&lt;p&gt;A friend and client of mine — &lt;a href="https://www.tinrocket.com"&gt;Tinrocket&lt;/a&gt; — asked me to create a new Mac app icon for the new Waterlogue Pro app. Back in the day, an iOS version of the icon was used for macOS, but John (the founder of Tinrocket) set the goal to make it more mature and more &amp;ldquo;pro&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://interfacecraft.online/blog/2024/waterlogue-pro-macos-app-icon-creation/images/1_hu_898f74ae8a40a4da.avif" srcset="https://interfacecraft.online/blog/2024/waterlogue-pro-macos-app-icon-creation/images/1_hu_898f74ae8a40a4da.avif 736w, https://interfacecraft.online/blog/2024/waterlogue-pro-macos-app-icon-creation/images/1_hu_21bf6efcbcc7b84f.avif 1472w"
 sizes="(min-width: 768px) 736px, calc(100vw - 2rem)" data-full-src="https://interfacecraft.online/blog/2024/waterlogue-pro-macos-app-icon-creation/images/1_hu_21bf6efcbcc7b84f.avif" alt="iOS version of the icon" width="736" height="690" loading="eager"
 decoding="async" fetchpriority="high"&gt;&lt;/p&gt;</description></item><item><title>Personal Computer Crisis</title><link>https://interfacecraft.online/blog/2024/personal-computer-crisis/</link><pubDate>Sat, 22 Jun 2024 16:30:18 +0200</pubDate><guid>https://interfacecraft.online/blog/2024/personal-computer-crisis/</guid><description>&lt;p&gt;&lt;img src="https://interfacecraft.online/blog/2024/personal-computer-crisis/images/1_hu_2548960c8aaa30c7.avif" srcset="https://interfacecraft.online/blog/2024/personal-computer-crisis/images/1_hu_2548960c8aaa30c7.avif 736w, https://interfacecraft.online/blog/2024/personal-computer-crisis/images/1_hu_dc2f812c03ed051.avif 1472w"
 sizes="(min-width: 768px) 736px, calc(100vw - 2rem)" data-full-src="https://interfacecraft.online/blog/2024/personal-computer-crisis/images/1_hu_dc2f812c03ed051.avif" alt="WarGames movie" width="736" height="345" loading="eager"
 decoding="async" fetchpriority="high"&gt;&lt;/p&gt;
&lt;p&gt;First computer in our family was bought when I was about 11-13 years old. It was a 486 IBM PC. During that first period I learned a lot about DOS, Win 3.1, OS/2 Warp, all kind of Linuxes and FreeBSD, and so on.&lt;/p&gt;
&lt;p&gt;Different operating systems were installed, along with games and all kinds of software just out of curiosity.&lt;/p&gt;</description></item><item><title>Dark UI Depth – The Hidden Hierarchy</title><link>https://interfacecraft.online/blog/2024/ui-depth-and-color-the-hidden-hierarchy/</link><pubDate>Thu, 20 Jun 2024 20:38:00 +0200</pubDate><guid>https://interfacecraft.online/blog/2024/ui-depth-and-color-the-hidden-hierarchy/</guid><description>&lt;p&gt;When working with dark UI and custom colors, you need to think about how the content will appear on the screen, not only from top to bottom, but also from far to near.&lt;/p&gt;
&lt;p&gt;Every button, every view you have has a different sense of distance to the viewer.&lt;/p&gt;
&lt;p&gt;Darker, or objects that appear in a shadow or semi-transparent usually feels far away from the viewer. White and contrasted with the background feels closer to the viewer.&lt;/p&gt;</description></item><item><title>How to Boost Mobile App Usage With a Simple Analytics Analysis</title><link>https://interfacecraft.online/blog/archive/how-to-boost-mobile-app-usage-with-a-simple-analytics-analysis/</link><pubDate>Thu, 21 Sep 2023 20:41:08 +0200</pubDate><guid>https://interfacecraft.online/blog/archive/how-to-boost-mobile-app-usage-with-a-simple-analytics-analysis/</guid><description>&lt;p&gt;If you are working on an app interface, you need to know very well how people are using your app.&lt;/p&gt;
&lt;p&gt;In order to improve usage, you need to find an answer to what exactly is popular amount of users and what isn’t.&lt;/p&gt;
&lt;p&gt;Sometimes app analytics can be very tricky, depending on the complexity of your app, your level of expertise in data analysis and the variety of techniques that require skills to work well. So after a while you might feel that you don’t use analytics very often.&lt;/p&gt;</description></item><item><title>How to Use Strings Method to Improve Any App UI Design</title><link>https://interfacecraft.online/blog/2023/how-to-use-strings-method-to-improve-any-ui-design/</link><pubDate>Tue, 15 Aug 2023 20:41:08 +0200</pubDate><guid>https://interfacecraft.online/blog/2023/how-to-use-strings-method-to-improve-any-ui-design/</guid><description>&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;
&lt;p&gt;Sometimes, when you’re building a UI or trying to analyse competitors’ apps, you notice that something is wrong with the UI, but you can’t say for sure what it is. It just looks wrong, or not well aligned, or noisy.&lt;/p&gt;
&lt;p&gt;If you need to make the UI look clean and professional, you can use Strings Method to clean it up quickly.&lt;/p&gt;
&lt;p&gt;Let’s take a look at this screen first, it’s clearly noisy and not well aligned:&lt;/p&gt;</description></item><item><title>How Text Affects the Meaning of UI Icons</title><link>https://interfacecraft.online/blog/2023/how-text-affects-the-meaning-of-ui-icons/</link><pubDate>Sun, 13 Aug 2023 20:41:08 +0200</pubDate><guid>https://interfacecraft.online/blog/2023/how-text-affects-the-meaning-of-ui-icons/</guid><description>&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;
&lt;p&gt;When you create icons for the user interface of an app, you should remember that the icon should be easy to read. The user should grasp the meaning of an icon in a few milliseconds and understand the meaning correctly. Otherwise, it will lead to confusion.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;A good designer should remember that the meaning of the same icon can be changed by its label.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;By reading the label, the user creates a meaning that affects what we see when we look at the icon.&lt;/p&gt;</description></item><item><title>What Works Better Than a Three-Click Rule?</title><link>https://interfacecraft.online/blog/archive/what-works-better-than-three-click-rule/</link><pubDate>Fri, 11 Aug 2023 20:41:08 +0200</pubDate><guid>https://interfacecraft.online/blog/archive/what-works-better-than-three-click-rule/</guid><description>&lt;p&gt;&lt;img src="images/0.webp" data-full-src="images/0.webp" alt=""
 loading="eager" decoding="async" fetchpriority="high"&gt;&lt;/p&gt;
&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;
&lt;p&gt;One of my favorite product design podcasts is the Quick Coffee. They discussed what makes great product design in the episode “5 principles of product design”. One of the principles was the “3 click rule”. The idea is simple: Keep a goal closer to the user, so they don’t have to do more than three clicks.&lt;/p&gt;
&lt;p&gt;After research on that topic I found alternative ideas to that.&lt;/p&gt;</description></item><item><title>Why Layout Evolution Matters in UI Design</title><link>https://interfacecraft.online/blog/2023/why-layout-evolution-matters-in-ui-design/</link><pubDate>Wed, 08 Feb 2023 20:41:08 +0200</pubDate><guid>https://interfacecraft.online/blog/2023/why-layout-evolution-matters-in-ui-design/</guid><description>&lt;p&gt;While researching old operating systems I decided to try an experiment and re-created old UIs with modern components. Here we have File Viewer from NeXTSTEP operating system.&lt;/p&gt;
&lt;h3 id="nextstep-window-old-layout-old-ui-components"&gt;NeXTSTEP window, old layout, old UI components:&lt;/h3&gt;
&lt;p&gt;&lt;img src="https://interfacecraft.online/blog/2023/why-layout-evolution-matters-in-ui-design/images/image1_hu_7488cde6d40b9148.avif" srcset="https://interfacecraft.online/blog/2023/why-layout-evolution-matters-in-ui-design/images/image1_hu_7488cde6d40b9148.avif 736w, https://interfacecraft.online/blog/2023/why-layout-evolution-matters-in-ui-design/images/image1_hu_696ac80beaaaff1b.avif 1472w"
 sizes="(min-width: 768px) 736px, calc(100vw - 2rem)" data-full-src="https://interfacecraft.online/blog/2023/why-layout-evolution-matters-in-ui-design/images/image1_hu_696ac80beaaaff1b.avif" alt="" width="736" height="565" loading="eager"
 decoding="async" fetchpriority="high"&gt;&lt;/p&gt;
&lt;h3 id="same-layout-of-the-nextstep-but-rebuilt-with-modern-ui-components"&gt;Same layout of the NeXTSTEP, but rebuilt with modern UI components:&lt;/h3&gt;
&lt;p&gt;&lt;img src="https://interfacecraft.online/blog/2023/why-layout-evolution-matters-in-ui-design/images/image2_hu_62e790af709af8f3.avif" srcset="https://interfacecraft.online/blog/2023/why-layout-evolution-matters-in-ui-design/images/image2_hu_62e790af709af8f3.avif 736w, https://interfacecraft.online/blog/2023/why-layout-evolution-matters-in-ui-design/images/image2_hu_dc4f566543937a16.avif 1184w"
 sizes="(min-width: 768px) 736px, calc(100vw - 2rem)" data-full-src="https://interfacecraft.online/blog/2023/why-layout-evolution-matters-in-ui-design/images/image2_hu_dc4f566543937a16.avif" alt="" width="736" height="774" loading="lazy"
 decoding="async"&gt;&lt;/p&gt;
&lt;p&gt;Here we can quickly notice few problems with old layout :&lt;/p&gt;</description></item><item><title>Recreate the Apple Watch's Iconic Pairing Pattern in Vector</title><link>https://interfacecraft.online/blog/archive/cracking-the-code-recreate-the-apple-watch_s-iconic-pairing-pattern/</link><pubDate>Mon, 22 Mar 2021 10:27:48 +0200</pubDate><guid>https://interfacecraft.online/blog/archive/cracking-the-code-recreate-the-apple-watch_s-iconic-pairing-pattern/</guid><description>&lt;p&gt;&lt;img src="https://interfacecraft.online/blog/archive/cracking-the-code-recreate-the-apple-watch_s-iconic-pairing-pattern/images/0_hu_730f7075451212ca.avif" srcset="https://interfacecraft.online/blog/archive/cracking-the-code-recreate-the-apple-watch_s-iconic-pairing-pattern/images/0_hu_730f7075451212ca.avif 736w, https://interfacecraft.online/blog/archive/cracking-the-code-recreate-the-apple-watch_s-iconic-pairing-pattern/images/0_hu_cc05a2b3b3e19f71.avif 1472w"
 sizes="(min-width: 768px) 736px, calc(100vw - 2rem)" data-full-src="https://interfacecraft.online/blog/archive/cracking-the-code-recreate-the-apple-watch_s-iconic-pairing-pattern/images/0_hu_cc05a2b3b3e19f71.avif" alt="" width="736" height="458" loading="eager"
 decoding="async" fetchpriority="high"&gt;&lt;/p&gt;
&lt;p&gt;Apple Watch itself is so beautiful, but also its pairing screen. I feel that this pattern is too complicated to be made by hand, so it seems that it was made by using code. It turns out that Apple made it based on 24 ovals, each representing 24 hours in a day. Each oval is offset from the center. So we can easily recreate it in code.&lt;/p&gt;</description></item><item><title>iOS App Pricing Doesn't Have to Be Low</title><link>https://interfacecraft.online/blog/archive/ios-app-pricing-doesn-t-have-to-be-low/</link><pubDate>Fri, 30 Jun 2017 18:46:57 +0200</pubDate><guid>https://interfacecraft.online/blog/archive/ios-app-pricing-doesn-t-have-to-be-low/</guid><description>&lt;p&gt;For many years, I developed only paid iOS apps. I read many online articles suggesting to set the price low, like $0.99 per copy. They said it allows more people to afford it.&lt;/p&gt;
&lt;p&gt;After some tests, I tried with one of my app pricing less than 0.99 (Tiers A, B), 0.99, 1.99, 2.99, up to 11.99. Then I calculated what price makes more income.&lt;/p&gt;
&lt;p&gt;The result was that one of my top apps made more money &lt;strong&gt;in total&lt;/strong&gt; when the price was 3.99. I tested this idea many times and over and over again — 3.99 was the winner.&lt;/p&gt;</description></item><item><title>Taskmoji: Simplified To-Do App for People Who Hate To-Do Apps</title><link>https://interfacecraft.online/blog/archive/taskmoji-simplified-to-do-app-for-people-who-hate-to-do-apps/</link><pubDate>Wed, 07 Sep 2016 10:53:16 +0200</pubDate><guid>https://interfacecraft.online/blog/archive/taskmoji-simplified-to-do-app-for-people-who-hate-to-do-apps/</guid><description>&lt;p&gt;You probably know that apps can sometimes be harder to use than physical objects. They&amp;rsquo;re slow, confusing, and require a lot of taps, clicks, and selections.&lt;/p&gt;
&lt;p&gt;That&amp;rsquo;s why, for many people, pen and paper still works better than some fancy app on your iPhone.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://interfacecraft.online/blog/archive/taskmoji-simplified-to-do-app-for-people-who-hate-to-do-apps/images/1_hu_b6f20662fccec0cd.avif" data-full-src="https://interfacecraft.online/blog/archive/taskmoji-simplified-to-do-app-for-people-who-hate-to-do-apps/images/1_hu_b6f20662fccec0cd.avif" alt="" width="595" height="275" loading="eager"
 decoding="async" fetchpriority="high"&gt;&lt;/p&gt;
&lt;h3 id="core-of-the-problem"&gt;Core of the problem&lt;/h3&gt;
&lt;p&gt;I started digging into the idea of &amp;ldquo;how can it be so simple, so literally replace pen &amp;amp; paper&amp;rdquo; and found that there are two main problems with apps:&lt;/p&gt;</description></item><item><title>The Future of Icons is No Shapes?</title><link>https://interfacecraft.online/blog/archive/the-future-of-icons-is-no-shapes/</link><pubDate>Sat, 16 Jul 2016 20:41:08 +0200</pubDate><guid>https://interfacecraft.online/blog/archive/the-future-of-icons-is-no-shapes/</guid><description>&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;
&lt;p&gt;If you’re a designer or developer you probably working with icons a lot. They’re everywhere. The main goal for every icon designer — is to make its shapes so clear, so it can be understandable without labels, without words. Even in foreign cultures.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://interfacecraft.online/blog/archive/the-future-of-icons-is-no-shapes/images/1_hu_519d954ee244e6c7.avif" srcset="https://interfacecraft.online/blog/archive/the-future-of-icons-is-no-shapes/images/1_hu_519d954ee244e6c7.avif 736w, https://interfacecraft.online/blog/archive/the-future-of-icons-is-no-shapes/images/1_hu_36281586667e3618.avif 800w"
 sizes="(min-width: 768px) 736px, calc(100vw - 2rem)" data-full-src="https://interfacecraft.online/blog/archive/the-future-of-icons-is-no-shapes/images/1_hu_36281586667e3618.avif" alt="" width="736" height="552" loading="eager"
 decoding="async" fetchpriority="high"&gt;&lt;/p&gt;
&lt;p&gt;Few years ago there is one popular topic in designers circles “why we should not use floppy disk icons anymore”, remember? The idea is simple, modern computers has changed, we don’t have floppy disk so modern user can’t associate the idea of save something with a floppy disk shape.&lt;/p&gt;</description></item><item><title>New App Release Newspaper for iPad</title><link>https://interfacecraft.online/blog/archive/new-app-release-newspaper-for-ipad/</link><pubDate>Tue, 12 Apr 2016 09:51:03 +0200</pubDate><guid>https://interfacecraft.online/blog/archive/new-app-release-newspaper-for-ipad/</guid><description>&lt;p&gt;The Old Newspaper app &lt;a href="https://itunes.apple.com/us/app/old-newspaper-breaking-news/id1068207248?mt=8"&gt;released on App Store&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://interfacecraft.online/blog/archive/new-app-release-newspaper-for-ipad/images/1_hu_97f64ad0d0cdde20.avif" srcset="https://interfacecraft.online/blog/archive/new-app-release-newspaper-for-ipad/images/1_hu_97f64ad0d0cdde20.avif 736w, https://interfacecraft.online/blog/archive/new-app-release-newspaper-for-ipad/images/1_hu_45c0228cafa00369.avif 1472w"
 sizes="(min-width: 768px) 736px, calc(100vw - 2rem)" data-full-src="https://interfacecraft.online/blog/archive/new-app-release-newspaper-for-ipad/images/1_hu_45c0228cafa00369.avif" alt="" width="736" height="552" loading="eager"
 decoding="async" fetchpriority="high"&gt;&lt;/p&gt;
&lt;h3 id="story-behind-the-app"&gt;Story behind the app&lt;/h3&gt;
&lt;p&gt;I just finished a side project I always wanted to do: turn the iPad into a newspaper. From the first moment I saw the iPad, I saw it as a book replacement. The surface we can fill with dynamic information, but unlike the iPhone, it has the same format as books. Or, yes, a newspaper.&lt;/p&gt;</description></item></channel></rss>