Archive
2026
April
When we build features like widgets or Safari extensions in our app, short video guides can help our users follow the setup steps that must be performed ...
2021
October
Displaying web content in an app is quite easy and straightforward with WebViews but what happens when we want to open a communication channel between th...
Have you ever had to build an app with a scroll view of multiple widgets with different heights, and you wanted to add a link so that the user can automa...
2020
July
Apache Bench or ab for short, is a command-line tool to perform simple load tests on an HTTP server, be it a website or an API.
In version 2.7, Dart introduced extensions to allow developers to add further functionality to an existing component. Extensions can be a great tool in o...
June
SF Symbols is a great way to add symbols in apps. Introduced during WWDC 2019, and with a new updated version this year, the SF Symbols app now provides ...
One of the ways to improve the user experience when they fill a form on iOS apps is the use of keyboard types. Keyboard types can be used to show differe...
Nowadays, more and more apps rely on a server to support their functionality. One part of this communication is the ability of the app to create new and ...
One characteristic of a complete API is its ability to allow clients to modify the server-side data. This can be in the form of creating new entries, upd...
May
By default, GraphQL supports only a handful of basic types that we can use on the schema definition. This list includes Int, Float, String, Boolean and I...
Nowadays, it’s quite common for many iOS apps to rely on the communication with a server to deliver their services to the user. And while in most cases t...
In this post, I am going to walk you through the process of setting up a CI(Continuous Integration) workflow with GitHub Actions on a Scala project.
Have you ever ended up in a situation where you have multiple builds of the same app installed on a device and you find it hard to figure out the configu...
April
What are the initial steps that you take when creating a new iOS project? Regardless of the language or the framework, it’s quite common when creating a...
Today, I had yet another usual Sunday morning. Drinking my tea, doing some UI experiments on this blog and using Chrome’s DevTools and the Device Mode to...
Have you ever been into a situation where you would love to see all of your users to update to the latest version of your app?
Nowadays, more and more users rely on ratings and reviews when they are about to make a purchasing decision, whether it is buying products, deciding on a...
March
As you may have noticed from the URL, I am using GitHub Pages to host this blog, which means that the whole code is open-sourced. Amongst other things, a...
February
The topic of this post is about Bluetooth and how we can use it in our applications.
Sometimes, on a native iOS app, there is the need to embed a web page within the application. To cater for cases like this, iOS provides WKWebView, an ob...
January
One of the hidden gems of Xcode is a feature called Xcode Snippets. Despite the fact that most developers happen to use them quite often, only handful of...
A Share Extension is a type of App Extension which is used to share content with other apps. One such content type and a quite popular use case for share...
iOS comes with a plethora of App Extensions that you can use to improve the functionality and the user experience of your app. An example of such extensi...
Have you ever ran into issues with your storage disk being full?
2019
November
A few days ago I wrote a post describing how to run an HTTP server from an iOS app. This intrigued me to start investigating how to implement a similar a...
October
Have you ever wondered if it is possible to run a server in an iOS app? A while ago I had this question! It seems that SwiftNIO and SwiftNIO Transport Se...
Having spent some time exploring and learning more about Kotlin Native, time has come to start building an app where I can use Kotlin Native in a real wo...
Feed is a term used to usually describe a text file that provides information about the content of a website and it is primarily intended to be used for ...
September
TL;DR This post is about how some specific Kotlin features are compiled to Objective-C and how they can be used in a Swift project when using Kotlin Nati...
How many times have you started a project with the intent to follow practices such as writing unit tests and enforcing a code style, only to give up afte...
August
In every project, regardless of the language or framework, it’s really important to have confidence when making a code change. Unit tests are here for th...
In the previous article, I tried to explain step by step the process of creating an iOS and Android app with a shared library using Kotlin Multiplatform ...
Hi, time has come to write something about Kotlin Multiplatform Project and more specifically how to setup a project with an iOS app, an Android app and ...
July
For quite a long time I wanted to experiment with the creation of a custom Xcode template and finally the time has come!! In this article, I will try to ...
June
In the previous article, we described the steps required to set up Firebase Remote Config and A/B testing. So, it is time to proceed with the implementat...
This article is part of a series on how to setup and integrate Firebase Remote Config and A/B testing on an iOS app. To illustrate and describe the proce...
January
Happy New Year everyone!! This is my first post of the year!! Today’s topic is a guide about some of the features of curl. Curl is a command line tool th...
2018
December
SwiftLint is a great tool to enforce Swift style and conventions. When working with different developers with different levels of experience and differen...
A recent discussion with a colleague about the use of the Xcode shortcuts is the reason behind this blog post.
November
In my try to empty my To-do list, one item that caught my attention and I decided to give it a try is AppleScript.
This is a blog post for those that don’t like using the computer mouse or trackpad, those who don’t use Sourcetree or other version-control tools to mana...
October
A few months ago, I took the decision that I wanted to start writing some articles. At that time, one of the first things to consider, and that would def...
September
Have you ever been in a situation where you have to experiment with UI and change colors frequent? Does the designer or PM asks for changes in font size...
Hello world, this is my first blog post!! 🚀 My name is Ioannis Diamantidis, I am a software developer and a few months ago I decided to start my own blog...