Originally posted in https://blog.liip.ch/archive/2017/03/14/adobe-after-effects.html

Animation with After Effects

Animations greatly improve the overall user experience of an app. They also bring different benefits to the user. In my last blog post about the SwiftAlps Conference, I wrote about the 12 basic principles of animations in design (see the slides in the blogpost). During the conference, we used CAEmitterLayer from Core Animation to insert a snow background effect.

Adobe After Effect is another option to build animations. After Effects is a powerful tool that is used to create digital visual effects and motion graphics. This tool is mainly used in film and television production although is also popular to create UI/UX animation among designers.

Adobe After Effects Logo

The main difference between After Effects and Swift

When it comes to design complex animations, After Effects is the way to go. Being able to craft an animation in real-time with visual feedback is easier than coding an animation in Swift and having to compile each time to see the results.

For custom animations such as animating the characters of a logo or animating the path of an icon then I would recommend doing it first with After Effects and then importing the animation int your app. If the animations are simple such as moving a layer of changing its alpha value then I’d just user your languages animation properties.

The most important advantage is visual feedback. Having visual feedback you can easily tweak and iterate an animation to achieve the expected desire. Then as we will explain in a future blog post, this animation can now easily be imported to be used in your app projects.

Furthermore, another important advantage is that After Effects is very popular among designers and animators, that said there are many online tutorial and youtube videos with examples of probably what you are trying to achieve.

Playing with After Effects

To get me started I watched the following. They are two video-tutorial that explain how to animate a company logo step-by-step. They have some good basic knowledge explanations that help me understand the basics of how to start. Read more

RhythmBox Logo

Rhythm Box is a music box system for your iOS app written in Swift. The easiest way to create Music Rhythm Patterns in Swift.

To Generate a constant BPM signal is as simple as this.

let rhythmBox = RhythmBox(bpm: 120)
rhythmBox.perform {CurrentBeat, CurrentSubBeat, CurrentNote in

    print("CurrentBeat", CurrentBeat)
    return .resume
}

 

And to generate a 90 BPM signal with a time signature of 3/4 and subdivision.

let rhythmBox = RhythmBox(bpm: 90, timeSignature: (3,4), subdivision: "011")
rhythmBox.perform {CurrentBeat, CurrentSubBeat, CurrentNote in

    print("CurrentBeat", CurrentBeat)
    return .resume
}

 

Learn more about it in the github repository or in the documentation.

 

 

This post was originally posted in https://blog.liip.ch/archive/2016/12/20/swift-alps-conference.html .

Last month my colleague Kilian and I were pleased to attend the Swift Alps Conference, an experimental conference about Swift taking place in the Swiss Alps. This conference had a different format from what one can expect from a typical software development conference. In this case the format was more focused in experimenting and collaborating with other attendees with the goal of learning something new.

Read more

SuggestonsBox Logo

Suggestions Box is an open-source library now updated to Swift 3 made to aggregate users feedback about suggestions, features or comments in order to help you build a better product.

Read more

Swift Logo

With the new iPhone 7 Apple has released the iOS 10 operating system and with it comes Xcode 8 and a new version of the Swift language for the iOS developer community.

Swift 3.0 is an open source language that has been developed by the community together with Apple Engineers.
Swift Logo
One of the great things about developing an open source language is that everybody can see the evolution of the language and inspect the code. In the official release notes there is a list of all the changes that have been implemented in the new Swift version.

Read more

MEVHorizontalContacts

An iOS UICollectionViewLayout subclass to show a list of contacts with configurable expandable items.

Read more

MEVFloatingButton

MEVFloatingButton is An iOS drop-in UITableView, UICollectionView, UIScrollView superclass category for showing a customizable floating button on top of it.

Read more