Geppy Parziale

189 Flips | 4 Magazines | 5 Likes | 2 Following | 35 Followers | @geppyp | Keep up with Geppy Parziale on Flipboard, a place to see the stories, photos, and updates that matter to you. Flipboard creates a personalized magazine full of everything, from world news to life’s great moments. Download Flipboard for free and search for “Geppy Parziale”

SceneKit Tutorial Part 2

Let’s continue to look at the functionalities and APIs offered by SceneKit. In a previous tutorial, I highlighted some of the basic classes you can use to create and render a 3D scene and add 3D objects to the scene using the builtin shapes. In this second part tutorial, we are going to see how to handle the appearance of a node. The information provided in this post and the previous one is relevant if you are building ARKit applications, so I suggest you to review the concepts highlighted in …

SceneKit Tutorial Part 1

We are going to start a new serie of tutorials about SceneKit, the framework that allows you to build and manipulate 3D objects in a 3D scene. SceneKit was introduced for the first time in macOS 10.8 (Mountain Lion) and sucessively in iOS 8. Recently, SceneKit was added to watchOS 3.0 and tvOS 9.<p>SceneKit allows developers to create 3D games and add 3D content to apps using high-level scene descriptions. Because of the recent introduction of ARKit, SceneKit is today a very relevant framework. If …

Metal video processing for iOS and tvOS

Real-time video processing is a particular case of digital signal processing. Technologies such as Virtual Reality (VR) and Augmented Reality (AR) strongly rely on real-time video processing to extract semantic information from each video frame and use it for object detection and tracking, face recognition, and other computer vision techniques.<p>Processing video in realtime on a mobile device is a quite complex task, because of the limited resources available on smartphones and tablets, but you …

Natural Language Processing and Speech Recognition in iOS

Natural Language Processing (NLP) is a field of Artificial Intelligence (AI) and Computational Linguistics (CL) concerned with the interactions between computers and human natural languages. NPL is related to the area of Human-Computer Interaction (HCI) and the ability of a computer program to understand human speech as it is spoken.<p>Speech Recognition (SR) is a sub-field of computational linguistics that develops methodologies and technologies enabling the recognition and translation of spoken …

Network Reachability in Swift 3

Almost every mobile app needs to connect to the Internet at some point to retrieve data from a host or service or upload new data to it. However, the Internet connection is not always available, and its availability can change at any time. To know the state of the system’s current network and if a host or service is reachable through that network, we can use the SCNetworkReachability.<p>This API is part of Core Foundation, so it written in C. If you are using Swift this API is not really …

Interactive View Animations in iOS 10

At the last WWDC, Apple introduced a new API to create interactive animations in iOS 10. In this post, I want to show you how to use this new API and build a new kinds of animations, where the user can pause and scrub the animation and interact with the animated object.<p>The main class of this new API is UIViewPropertyAnimator. This class allows you to animate views from start to finish as you would usually do with the old UIView animation API. In addition, UIViewPropertyAnimation allows you to …

Convolutional Neural Networks in iOS 10 and macOS

In iOS 10 and macOS 10.12, Apple introduces new Convolutional Neural Network APIs in the Metal Performance Shaders Framework and the Accelerate Framework.<p>In a previous post, I already provided you with an introduction on Machine Learning (ML) and Artificial Neural Networks (ANN) for iOS. If you are not familiar with this topics, I suggest to read that post, first.<p>I recently attended CVPR 2016, a scientific conference on Computer Vision and Pattern Recognition. There, I learnt that Convolutional …

Machine Learning in Swift for iOS

WWDC16 just ended and Apple left us with new amazing innovative APIs. This year speech recognition, proactive applications, deep learning, user intents, and neural networks have been the most frequent terms used during the conference. So, besides a new rich version 3 of Swift, almost every new addition to iOS, tvOS and macOS is related with artificial intelligence. For example, Metal and Accelerate in iOS 10 provide an implementation of convolutional neural networks (CNNs) for the GPU and CPU …

Investing in custom development

With the launch of SignaKit by iNVASIVECODE we would like to explain why you should invest in custom built code. SignaKit is a high-level iOS framework that helps you create handwritten signatures and add them to PDF documents. SignaKit is code that you pay for and comes with the support needed to make sure that it works through future Apple update. When developing an app you have the choice of using third-party code and open-source libraries, or creating custom built code. Using open-source …

Apple App Distribution

Companies often ask us for advice in what the current possibilities are for developing an app for their own use inside the company. Sometimes they are confused about which Apple Developer Program they have to choose, or how to distribute the app to their employees, or if they have to publish that App on the App Store or not. They have heard of MDM, VPP, Custom B2B, Enterprise Program and other acronyms and want to put the pieces of the puzzle in the right place. I will try to do that in this …

Replicator Layer

In this tutorial I am going to show you how to create a very interesting animation with replicator layers, instances of the CAReplicatorLayer class. After building so many apps and using every single framework of Cocoa Touch, every time I build something new for a customer, I feel the need to spend some time researching new functionalities and interaction patterns to make the solution we provide really unique. Most of the time, I focus on usability and try to push the limits of Cocoa Touch.

tvOS Focus Engine and Collection View

I recently did some consulting work for a new startup here in San Francisco. I built for them a couple of quite complex UI animations for an Apple TV app. Doing so, I was able to work very closely with tvOS and its very interesting interaction mechanism: the <b>Focus Engine</b>. I am quite fascinated by this new interaction model. After spending almost 8 years with touch-based devices, this new <i>toy</i> brings to my work some fresh air. I am going to demonstrate you how the Focus Engine works using the Watch …

Capture Video with AVFoundation and Swift

AVFoundation allows you to capture multimedia data generated by different input sources (camera, microphone, …) and redirect them to any output destination (screen, speakers, render context, …).<p>Some years ago, I wrote this post on how to build a custom video camera based on AVFoundation using Objective-C. At that time, Swift did not exist. Recently, we received so many requests to show how to build the same custom video camera using Swift. So, here I am going to show you how to do that.

Metal: Blazing Fast Image Processing

Metal allows developers to perform graphics rendering and parallel computing directly on the GPU. Before Metal, OpenGL ES was the framework available …

iOS Programming

WebKit, Safari and SafariViewController

iOS and web have been always hand-by-hand since the iOS inception. After all, websites were already 15 years old when iOS saw the light (the first website ever created dates back to 1991 and iOS was presented in 2007). There was already so much web content when the iPhone came out, that iOS had to offer a way to show it.<p>In iOS 9, we have different options to render web content and depending on the specific needs, developers can evaluate the different options and choose the one that fits them …

Custom View Controller Transitions and Storyboard

A few weeks ago, I wrote this post about the storyboard’s features introduced in iOS 9. In that post, I mentioned that you can now trigger a custom view controller transition through storyboard segues. Starting from iOS 9, you can perform view controller transitions using the new APIs introduced by Apple first in iOS 7 and, then slightly modified in iOS 8. These APIs use dedicated objects to control the transition animations. In this post, I am going to show you how to use these APIs and …

UIPopoverPresentationController and UISearchController

UIPresentationController is the presentation management class that backs view controllers presentation. From the time a view controller is presented until the time it is dismissed, UIKit uses a presentation controller to manage various aspects of the presentation process for that view controller. The presentation controller can add its own animations on top of those provided by animator objects, respond to size changes, and manage other aspects of how the view controller is presented onscreen.

iOS Crash Reporters

Nobody likes it when an App crashes. You don’t like it and neither do your users. And when your App crashes, you, as the developer, are very interested in knowing why, as soon as possible. You want to know what is causing the crash so you can fix it. To do so, it’s invaluable to have crash reports delivered to you and your team without delay. And that is why you install a framework to detect crashes and generate crash reports.

Dynamic animation system: UIFieldBehavior

Dynamic animation is an area of science concerned with the behavior of physical bodies when they are subjected to forces or displacements, and the subsequent effects of those bodies on their environment. In iOS app development, dynamic animation represents simplified physics that is useful for building a prototype model, well-tuned for performance. However, bear in mind that the dynamic animation system is a 2D physics inspired animation system, no real physics are used here! Moreover, bear in …

Advanced CloudKit (Part III): CKSubscription

This is the third part of a trilogy of posts about Apple’s CloudKit. In the first part, I showed you how to manage critical data. The second part was …

iOS Programming

Advanced CloudKit (Part II): CKOperation, CKQueryOperation

Last week, we published an in-depth CloudKit tutorial on managing critical data. So, in this post, I will build on what I showed you last week by teaching you how to manage a large amount of data with CloudKit.

Advanced CloudKit (Part I): CKDatabase

CloudKit helps developers manage static data and almost every App needs some static data to function properly. By static data, I mean, non mutable data. Apps that use non mutable data could be:<p>an App that stores information about a URL and an API key locally so that it can connect to some web service;<br>• a reference App, such as a dictionary or a translator, that needs to quickly access the dictionary entries in order to work offline;<br>• a quiz game, like a trivia App, that needs access to the …

UIAlertController: Alert and Action Sheet in iOS

In this tutorial, I will show you the new way to display an alert message to the user and associate user actions with that alert message in your iOS app.<p>UIAlertView and UIActionSheet, introduced in iOS 2, were deprecated in iOS 8. And now, starting from iOS 8, they have both been replaced by UIAlertController. But for apps that target prior versions of iOS 8, you should still use the UIAlertView class to display an alert message to the user and the UIActionSheet class to present the user with a …

Storyboard Reference, Strong IBOutlet, Scene Dock in iOS 9

In this tutorial, I want to show you some of the new Xcode 7 features that I believe will change how you think about Storyboards.<p>IBOutlets are Strong<p>Apple has done some optimization in both Xib and Storyboard files. And because of this optimization, you can now define an IBOutlet as strong, instead of weak. Apple pointed this out at the last WWDC, so let’s give a look at this in more details.

GameplayKit: State Machine for non-game Apps

Developing mobile Apps is a complex task, but it is our job as developers to solve that complexity. And a state machine is one tool that helps us construct simplicity out of complexity. So, in this Xcode tutorial in Swift, I will show you how to use a state machine when developing apps for iOS 9 and OS X 11 El Capitan.

Engineers create world's first white laser beam

Researchers at Arizona State University have created the world's first white laser beam, according to a new study published in <i>Nature</i>. More work needs to be done to perfect this technology, but white lasers could serve as a potential alternative light source — both in people's homes and in the …

Sweeping 4K drone footage shows off Tesla's Fremont factory

And maybe even a glimpse of the new Model X SUVs<p>Stephen Powelson recently flew his Phantom 3 drone over Tesla's battery factory in Fremont, California and recorded the flight. Almost as soon as he posted the video to a Tesla Motors Club forum, other commenters began warning Powelson of the legal …

Tesla

MapKit for iOS 9: Flyover, Transit and Customization

During the WWDC 2015, Apple introduced new iOS 9 features in MapKit. The development community has been requesting these feature for a long time and finally, here they are. Let’s check them in detail.