Tags
A/B testing
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...
AVFoundation
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 ...
AVKit
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 ...
When displaying videos in an iOS app, you may sometimes need them to loop continuously. Think of a workout app where a trainer demonstrates an exercise. ...
Android
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...
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...
Continuing my journey on Kotlin Multiplatform Project, this time I will explore some tools that can be used to apply code style conventions on such proje...
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 ...
On a recent attempt to pull a realm database file created by an application that I built on my device, I got an error with the following message:
By default, Gradle expects an AndroidManifest.xml file on the root directory of the main source set of every Android project. But what if for some reason...
Apollo
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...
App Extensions
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...
AppleScript
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 ...
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.
Blog
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...
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...
Bundler
CI
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.
This is the second part of a series of posts about the steps that I usually take when creating a new iOS project.
Catalyst
The topic of this post is about Bluetooth and how we can use it in our applications.
CocoaPods
Codecov
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.
Command Line
Have you ever ran into issues with your storage disk being full?
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...
If you are a heavy user of the command line (as I am 🤓), there is a high chance that you use the command cd quite often to navigate back and forth to dif...
When working on a website or a service, the development environment should imitate as much as possible the production one. And since most production webs...
make is great tool to orchestrate the setup and build process of a project. It expects a Makefile, where we define targets to execute, like for example i...
Core Bluetooth
The topic of this post is about Bluetooth and how we can use it in our applications.
Curl
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...
Dart
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...
Detekt
File Upload
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...
Firebase
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...
Flutter
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...
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...
Git
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...
GitLab
Github Actions
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.
GraphQL
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...
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...
IntelliJ
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 ...
JSON feed
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 ...
JavaScript
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...
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.
Jekyll
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 ...
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...
The command jekyll server, by default, binds to 127.0.0.1, as you can see in the following logs.
KMP
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...
Continuing my journey on Kotlin Multiplatform Project, this time I will explore some tools that can be used to apply code style conventions on such proje...
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...
Kotlin
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...
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...
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...
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 ...
Kotlin Native
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...
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 ...
Ktor
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...
LLDB
In a previous post, I wrote an introduction about the use of LLDB expressions to modify the UI elements. In this post, I will continue on the same topics...
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...
Licenses
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...
OSA
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.
ObjC
Open Source
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...
Performance
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.
Personal
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...
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...
Productivity
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...
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 ...
A recent discussion with a colleague about the use of the Xcode shortcuts is the reason behind this blog post.
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...
Python
R.Swift
Remote Config
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...
SF Symbols
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 ...
Scala
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.
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...
Selenium
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...
Storage
Have you ever ran into issues with your storage disk being full?
Swift
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 ...
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...
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...
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...
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...
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...
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 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...
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...
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...
When displaying videos in an iOS app, you may sometimes need them to loop continuously. Think of a workout app where a trainer demonstrates an exercise. ...
SwiftLint
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...
Continuing my journey on Kotlin Multiplatform Project, this time I will explore some tools that can be used to apply code style conventions on such proje...
SwiftNIO
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...
SwiftUI
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 ...
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...
Unix
Have you ever ran into issues with your storage disk being full?
Vapor
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...
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...
WKWebview
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...
Xcode
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...
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 ...
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 ...
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.
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.
In a previous post, I wrote an introduction about the use of LLDB expressions to modify the UI elements. In this post, I will continue on the same topics...
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...
Sometimes when working on Xcode Playground you may experience some unexpected behavior where Playground gets stuck on ‘Running…’ without any obvious reas...
badge
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...
fastlane
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...
This is the second part of a series of posts about the steps that I usually take when creating a new iOS project.
Continuing my journey on Kotlin Multiplatform Project, this time I will explore some tools that can be used to apply code style conventions on such proje...
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...
iOS
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 ...
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 ...
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...
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...
This is the second part of a series of posts about the steps that I usually take when creating a new iOS project.
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...
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...
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...
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 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...
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...
Continuing my journey on Kotlin Multiplatform Project, this time I will explore some tools that can be used to apply code style conventions on such proje...
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 ...
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 ...
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...
In a previous post, I wrote an introduction about the use of LLDB expressions to modify the UI elements. In this post, I will continue on the same topics...
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...
It is quite common when you have an input view on an iOS app to show some actions above the keyboard to improve the user experience. Those actions can ra...
When displaying videos in an iOS app, you may sometimes need them to loop continuously. Think of a workout app where a trainer demonstrates an exercise. ...
CSS
Did you know that you can define variables in CSS as well? And not only that, but also all the major browsers support this feature.
In recent years, dark mode has grown in popularity as more and more devices and browsers are adding support for it.
Accessibility
With the ever-growing number of services offering their products solely through digital channels, digital accessibility is becoming more and more importa...
Web
TLDR; Open the browser’s Javascript console, Execute document.designMode = 'on';, Click on any text in the screen and start typing!
HTML
When building a website, especially one for a brand or a company, maintaining the integrity of your brand’s name and specific terms is crucial. However, ...