Create This Gorgeous Moonlight Poster of a Girl Walking on a Railway

Learn how to create this beautiful moonlight scene in Photoshop. This tutorial will teach you many great Photoshop techniques such as how to easily mask complex objects using channels, create your own astrophotography-like skies, and add surreal colors to the whole image. A PSD is also included with this tutorial. Read this tutorial and learn […]

The post Create This Gorgeous Moonlight Poster of a Girl Walking on a Railway appeared first on Photoshop Tutorials.

View Tutorial: Create This Gorgeous Moonlight Poster of a Girl Walking on a Railway

Introducing SpriteKit

SpriteKit is Apple’s 2D game engine—a rendering engine built on top of OpenGL. It was introduced with iOS 7, and each subsequent release has brought great additions to the framework. With the
use of textured sprites, a built-in physics engine, and the very
powerful SKAction class, you can very quickly build functional 2D games.

SpriteKit has built-in editors for scenes and particles, a camera node since the release of iOS9, and built-in support for tilesets since the release of iOS 10. With these new additions, SpriteKit is quickly becoming a powerhouse for creating 2D games.

Below is an image of the built-in scene editor, with a label, a colored sprite, and a textured sprite.

Scene Editor

Rendering Loop

SpriteKit, like most game engines, uses a rendering loop to render and update the screen. The rendering loop goes through the following steps in rendering each scene:

  1. Update the scene and its objects
  2. Evaluate actions
  3. Simulate physics
  4. Apply constraints
  5. Render the scene

Each of these steps has a corresponding method you can hook into to apply additional logic. The render loop methods are as follows:

  1. update
  2. didEvaluateActions
  3. didSimulatePhysics
  4. didApplyConstraints
  5. didFinishUpdate

For example, if you wanted to manually move objects in your scene, then the update method would be what you would use. Or if you had objects that were being affected by actions or physics, you could tie into the corresponding methods to make sure those actions and the physics simulation are applied before whatever changes you make.


The SKNode class is the fundamental building block of SpriteKit. All of your onscreen assets will be an SKNode or subclass thereof.

The SKNode class does not draw any visual assets itself. Its primary role is to provide baseline behavior that other classes implement. For example, the SKScene class is the root node in a tree of SKNode instances and is used to hold sprites and other content that needs to be rendered. 

The rendering and animation are done by an SKView instance. The view is placed inside a window and an SKScene instance is added to it, and that scene will be rendered and animated as long as the view is active. You can use a single SKView instance in your window and switch between different scenes at any time.

The framework defines a number of other SKNode subclasses. The most common one used within a scene is the SKSpriteNode class. The SKSpriteNode class can be drawn either as a rectangle with an image mapped onto it with SKTexture, to create a sprite, or as a colored, untextured rectangle. You’ll most often
use textured sprites, because this is how you will bring your game’s artwork
to life. 

Other important types of nodes include:

  • SKShapeNode, which renders a shape defined by a Core Graphics path
  • SKVideo, which displays video content
  • SKLabel, which displays a text label

We’ll look at several of these subclasses of SKNode later in this series.


The SKAction class is a very powerful class that is used to bring your nodes to life. SKAction can change your node’s properties over time, for example by moving, scaling, or rotating them. You can chain actions together in a sequence, execute many actions together as a group, and repeat them in a loop. You can also use SKAction to run a custom block of code. For example, suppose you wanted to print out the coordinates of a node after it has moved. You could run a custom block of code within the SKAction to do just that.

SpriteKit Features


SpriteKit has a built-in physics engine that makes handling complex physics scenarios a breeze. Built on top of the popular Box2D framework, it allows you to respond to collisions and contact events, apply forces and gravity, and build very complex physics simulations using joints, such as pins and springs. You can use the scene editor to visually add physics to the nodes, or you can add physics programmatically.

Coordinate System

In SpriteKit, the coordinate (0,0) is
located at the bottom left of the screen instead of the top left, which
you may be used to if you’ve worked with Flash, Corona, HTML5 Canvas,
and many other game frameworks. Having the origin at the bottom left is an OpenGL convention, and SpriteKit follows it because SpriteKit uses OpenGL
under the hood.

Particle System

SpriteKit has a very powerful particle engine which can be used to simulate particle systems such as fire and smoke. There is also a built-in particle editor where you can visually lay out particle systems. If you prefer to stick with code, you can program these systems from the ground up using nothing but code.

Below is an image of the particle editor with a fire-like particle system.

Particle Editor


SpriteKit has a number of classes dedicated to building tiled layouts. Using tilemaps offers better memory usage than using a very large single image. The tiles can be arranged in rectangular, hexagonal, or isometric grids.

Below is an image of a tile map node using a rectangular grid.

Tile Map Node


These are a few of the highlights of the SpriteKit engine. I would suggest reading the SpriteKit overview to learn more about what it has to offer. To learn more about how to get started with SpriteKit, you should also check out Davis Allie’s post here on Envato Tuts+.

Also, check out our SpriteKit courses! These will take you through all the steps of building your first SpriteKit game for iOS, even if you’ve never coded with SpriteKit before.

View Tutorial: Introducing SpriteKit

How to Create a Hand-Lettered Housewarming Poster in Adobe Photoshop

Final product image
What You’ll Be Creating

In this tutorial, we’ll be creating a hand-drawn lettering poster that will make our home cozy and add a warmer atmosphere to any interior. We’ll be using various drawing tools and functions of Adobe Photoshop to create fancy letters from scratch and digitize our handwriting, transferring it from paper into Photoshop and editing it to make it fit our poster. 

By the end of this tutorial, you’ll have learned some tips and tricks that will inspire you to create more lettering illustrations, such as these lettering posters. And if you wonder how your poster would look when it’s printed and placed in a frame, you can try out some of these poster frame mock-ups to see how it would look in real life!

Let’s get started!

1. How to Create Lettering With the Pen Tool

Step 1

Everything starts from scratch. First of all, we need to have an idea of what we are going to create. As we’re planning to create a housewarming poster, I’ve decided to choose a nice quote for a cozy atmosphere. I’ve made a couple of rough thumbnail sketches, writing out “Home is where your heart is” and emphasizing the word “home”. 

On the first sketch, I’m trying to insert the quote inside a house shape, but in this case, I think the image looks somewhat cramped and busy with the unneeded details, while the main part of the composition—the lettering itself—is too monotonous. Apart from that, it doesn’t interact with the word “heart”, which is another important and meaningful element of the whole phrase, balancing with the word “home”. 

Thinking this way, I make another rough sketch (even rougher than the first one, as you may notice), where I clearly emphasize both words. I also add a touch of symbolism, depicting a stylized roof on top of the word “home” and placing the word “heart” into a heart shape. Now everything looks more balanced and meaningful. Let’s make a poster from the second sketch!

thumbnail sketches

If you want to use the same sketch as a reference image, you can right mouse click on the screenshot below and Save it to your computer.

home lettering sketch

Step 2

Let’s create a 3000 x 3000 px, 300 ppi New Document and place your sketch there. 

Use the Eyedropper Tool (I) to pick the dark-blue color from the sketch and apply it to the Background Layer using the Paint Bucket Tool (G). 

Lower the Opacity of the Sketch to 25%, making it semi-transparent if it distracts you too much.

place sketch into photoshop

Step 3

Now let’s take the Pen Tool (P) and start outlining the letters of the word “home”. Use the polyline to draw out the left stem of the letter “H”. Close the path and move on to the right stem, making it thinner.

use the pen tool to trace the letter

Feeling shaky and unconfident with the Pen Tool? Don’t worry, you just need a bit more practice! This tool is actually not so scary and difficult to use as it might seem! Check out these easy-to-follow instructions about the Pen Tool and see for yourself!

Step 4

Make a rectangular shape for the crossbar and let’s unite all the elements of our letter! Select them all with the Direct Selection Tool (A) and head to the Path Operations menu in the control panel on top. From here, let’s select Combine Shapes and apply it by pressing Merge Shape Components in the bottom of the menu. There we have it! Now all the parts of the letter are merged!

 Combine Shapes in Path Operations

Step 5

Let’s move on and trace the letter “O”. It will consist of several elements, so let’s start with its main part. Try to make the line smooth and curved by dragging the anchor handles every time you make a point. Make an oval and then another one for the counter of the “O”. 

Select both ovals with the Direct Selection Tool (A) and this time let’s Exclude Overlapping Shapes in the Path Operations menu. Click Merge Shape Components to cut out the inner circle.

Exclude Overlapping Shapes in the Path Operations menu

Step 6

We can fill our letter with some color to see if the Path Operations work. Let’s open the Paths panel (Window > Path) and click Fill path with foreground color in the bottom of the panel, applying the Foreground Color which is currently set to white in our Color panel.

Fill path with foreground color in the Paths panel

Step 7

Let’s Undo (Control-Alt-Z) our previous action to remove the fill and continue designing the letter.

Use the Pen Tool (P) to shape the swash of the letter “O”, using the sketch as a base and tracing above it. Start from the top left part of the letter “O” and gradually move to the right, making a banana-shaped curve.

add a swash to the letter

Step 8

Remember that you can change the direction of the path without releasing the mouse key (or the pen of your graphic tablet) and without switching between the tools. Simply click and drag to make the handles of the anchor point visible. Then, holding down the mouse key, click Alt, rotate and move the handle up. Close the path, connecting it with the very first anchor point of the swash.

We can always use the Direct Selection Tool (A) to move the anchor points, making the lines look smooth.

add a swash to the letter 2

Step 9

Let’s select both elements of the “O” and use the Combine Shapes and Merge Shape Components functions to unite the shapes.

use the Combine Shapes and Merge Shape Components functions

Step 10

Let’s move on and use the Pen Tool (P) to draw out the letter “M” with the polyline.

use the Pen Tool to draw out the letter M

Step 11

Continue to the letter “E”‘; this one will be a bit more complex than the previous letters. Start making an elliptical shape with the Pen Tool (P) similar as we did with the letter “O”. Use straight lines to form the finial of the letter, and then continue forming a curved path for the inner part of the “E”.

Continue to the letter E

Step 12

Gradually move up. Hold down Alt to change the direction of the anchor handle to make a corner at the crossbar of the letter “E”. Finish off its silhouette, closing the path.

change the direction of the anchor handle to make a crossbar

Step 13

Add a drop-like shape for the inner part (the counter) of the letter. Now we can select both elements and apply Exclude Overlapping Shapes (don’t forget to Merge Shape Components after selecting the desired function in the Path Operations).

We can check our letter in the Paths panel by filling it with white color.

Add a drop-like shape for counter of the letter

Step 14

Now let’s add a swash to the opposite side of the crossbar, using the Pen Tool (P) to form a curved shape.

add a swash to the opposite side of the crossbar

Step 15

Select both parts and Combine Shapes in the Path Operations, clicking Merge Shape Components to apply the effect.

Combine Shapes in the Path Operations

Step 16

Great! All the letters of the word “home” are ready. Let’s take a look at them and use the Paths panel to fill the letters with white color.

Now let’s make the letters look more interesting and diverse by applying some effects to the fill.

use the Paths panel to fill the letters

2. How to Add Shadows and Gradients

Step 1

Let’s add some volume to our letters using a gradient fill. Take the Gradient Tool (G) (you can find it in the same drop-down menu as the Paint Bucket Tool).

First of all, head to the Layers panel and Lock transparent pixels of our “home” layer so that everything we do is applied only to our letters, without affecting the area around them.

Go to the Color panel and set blue for the foreground color and white for the background color.

Then grab the Gradient Tool (G) and drag from bottom to the top of the word “home”, applying a vertical linear gradient from blue to white. You can check the gradient settings in the control panel on top, selecting the desired type of gradient.

apply linear gradient

Step 2

Let’s create a shadow cast on the background by the letters to make the word “home” stand out a bit more. Create a New Layer right under the “home” layer. Now, keeping the new layer selected, hold down the Control key and click the “home” layer. This way we create a “marching ants” selection around the letters. 

Set the foreground color to dark blue in the Color panel, take the Paint Bucket Tool (G) and click to fill, creating a dark-blue copy of the word “home” on a new layer. Now we can move the bottom layer a few pixels down and to the right, making the dark-blue shadow visible.

create a shadow from selection

Step 3

Now let’s see how we can add gentle shadows to the letters, making them more three-dimensional. We’ll be using the Pen Tool (P) or the Freeform Pen Tool to create the shape. Let’s Zoom In (Control-+) on the letter “E” and draw a path connecting its swash with its crossbar, as shown in the screenshot below. 

Continue building the path, making a rectangular shape. It doesn’t have to be perfect—just make sure that it is wider than the letter.

use the Pen Tool to connect the swash with the crossbar

Step 4

Select the “home” layer in the Layers panel, hold down Alt, and click the Create New Layer button. In the pop-up New Layer window, tick the Use Previous Layer to Create Clipping Mask box to create a linked layer. You will see a small arrow next to our new layer, indicating that anything we draw on it will appear only inside the boundaries of the objects on the main layer.

Let’s see how it works. Right mouse click and Make Selection. Use the Gradient Tool to apply a diagonal linear gradient from blue to white.

Make Selection and apply gradient

Step 5

Switch the Blending Mode of the linked layer to Multiply, making the white part of the gradient transparent. This way we’ve created a gentle shadow, separating the crossbar (and its swash) from the body of the letter “E”.

Add a similar shadow on top of the crossbar, this time changing the direction of the gradient to the opposite.

Switch the Blending Mode to Multiply

Step 6

Use the same technique to add a shadow to the letter “O”, separating its curled swash from the bowl of the letter.

Now the whole word looks three-dimensional and finished! Let’s move on to the next element of the composition! 

add the shadow to the letter O

3. How to Add Custom Shapes and Digitise Your Lettering

Step 1

What we’re going to do next is to add a heart shape. Luckily, we don’t need to draw it manually, as we can take the Custom Shape Tool, pick a heart from the list of Shapes in the control panel on top, and create a heart of the desired size, using our sketch as a reference. 

create a heart with custom shape tool

Step 2

Take the Direct Selection Tool (A) and move the anchor handles, making the heart more bulging and rounded at the bottom. If you can’t see the handles, use the Convert Point Tool to click and drag the handles out of the anchor point.

We can switch between Fill and Stroke color (or apply both, or set both to none) from the control panel on top, selecting the desired color from the drop-down panel. 

I’m setting the Fill color to None for now as I need to see the letters of my sketch inside the heart.

reshape the heart

Step 3

Let’s move on to the word “heart”. For such script-style hand-drawn lettering, I actually prefer to use a real brush pen and paper. If you’ve always wanted to try hand-lettering, this is a good starting point. One of the best brush pens to start with is Tombow Fudenosuke, or it can be any other brush pen of your choice. 

You can also do it just with a usual gel pen or even a pencil, creating a so-called “fake calligraphy”, drawing those thicker downstrokes manually and filling them with color. In our case, it doesn’t matter how you reach this hand-lettered effect as long as it looks good, as we’re going to tweak it in Photoshop anyway.

So I just draw out my letters on a piece of paper, positioning the letters in such a way that the composition resembles the shape of a heart. We can tweak the position of each letter later on if it doesn’t fit our heart, so don’t worry about it, but still try to make it look close to those letters we have in our reference sketch.

Scan your lettering (or make a photo) and drag it into Photoshop. Go to Image > Adjustments > Levels (Control-L) and from here we need to increase the overall contrast and brightness of our lettering layer to make the dark letters really black and the background color white, making the paper texture disappear. 

To do this, drag the black slider to the right and the opposite (white) slider to the left, placing them closer to the middle slider. You will see the difference while adjusting the position of both sliders, making the image look sharp and clean.

digitise your lettering and use Levels

Step 4

Once you’re satisfied with your contrast lettering, go to Select > Color Range to open the options window. From here, you’ll have the Eyedropper Tool selected by default. Use it to hover over the word “heart” and click any of the black letters. Leave the Fuzziness slider at 40% or adjust the value if you feel that not all the black area is visible in the preview. Click OK once you’re ready and you’ll see a “marching ants” selection around the letters. Copy (Control-C) the letters.

use Select  Color Range to select black letters

Step 5

Now we can Paste (Control-V) the “heart” word into our poster and press Control-T for Free Transform to resize and rotate the layer, making it fit the heart shape. 

If some of the letters don’t fit the heart shape, use the Lasso Tool (L) to select the letter (just draw around it), and then hit Control-T again and rotate/resize the selected letter individually. 

Let’s make our letters visible and bright. Select the “heart” layer and go to Image > Adjustment > Invert, changing the color of the letters from black to white.

Paste and Invert the layer

Step 6

Let’s add some smaller details around the letters. Take the Brush Tool (B) and either open the Brush panel (Window > Brush) or press the right mouse button to open the list of brushes and select a Hard Round Brush

If you don’t see any of these on your list, open a drop-down menu by clicking the small cog icon in the top right corner and find Round Brushes with Size on the list. Click it and either replace or Append it to your brushes list. 

open the brush panel or list of brushes

Step 7

You can find the brush settings in the control panel on top. I keep both Opacity and Flow at 100%, making the lines sharp and thick. I’m drawing dots and strokes around the letter “H”, using the graphic tablet. 

add minor details

Step 8

Go on adding strokes and dots around each letter. Once you’ve finished and are happy with the result, select the heart shape layer, click the Custom Shape Tool to make the Shape menu in the control panel on top active, and set the Fill color to red, filling the inner part of the heart.

fill the heart with red color

Step 9

Let’s give our “heart” lettering more of a golden or metallic look by applying a simple linear gradient from yellow to white. This way it looks more three-dimensional.

apply gradient to the lettering

Step 10

Next, we’re going to draw the word “is”, which is used twice in our quote. So you can actually write it twice to make every element look unique and hand-written, or go on and just duplicate the one you make. 

I’m using the same Hard Round Brush and my graphic tablet here to draw the small letter “i”, using the sketch as a reference. As you can see, I draw the top and bottom horizontal lines in the first place, and then I add two vertical lines for the edges of the letter, defining its thickness. And finally, I just fill the inner part of the letter with light-blue, almost white, color.

Then I use exactly the same technique for the letter “s”: I draw out its silhouette and then I fill its inner part with color.

write with hard round brush

Step 11

Here we can see how our poster looks so far. I’ve used the copy of the “is” layer (Control-J) to add it right under the heart.

use the copy of the is layer

Step 12

Now we can move on to the next element of our composition and add the “where your” words right above the heart shape. 

You can experiment with the Hard Round Brushes or Calligraphic Brushes of Adobe Photoshop to achieve a hand-written effect if you have a firm hand and a graphic tablet. Or you can follow the same technique as we used for the word “heart”. 

So let’s write out the phrase “where your” on paper using the brush pen, and then scan it and bring it into Photoshop to make it clean and contrasting using Levels (Control-L). Next, use Select > Color Range to select the black letters, Copy (Control-C) them and Paste (Control-V) right into the poster. Use Free Transform (Control-T) to rotate and resize the words, making them fit the top part of the heart shape. 

Don’t forget to Image > Adjustment > Invert the layer to make the letters white.

As you can see from the screenshot below, I’ve also started adding red dots and strokes along the left edge of the heart in the same way as we did for the word “heart”. It gives an intricate and playful look to the overall design of our poster, so let’s stick to it, adding more ornamental details of this kind.

scan and digitize your hand-lettering

Step 13

Continue adding those minor decorative details around the heart, using the Hard Round Brush with 100% Opacity and Flow.

ad minor decorative details around the heart

Step 14

As soon as we’ve finished with the heart, let’s move to the top of our poster and draw a stylized roof of our house in the same ornamental style. Make a New Layer, set the foreground color to light blue, and vary the size of the brush, making the triangular base of the roof a bit thicker than those dots and strokes around it. 

I’m adding a swirled element by the right side of the roof, depicting a very simplified, almost abstract, smoke from the fireplace chimney. 

Next, I’m adding some strokes beneath the word “home”, bending them in the opposite direction to balance the roof.

draw a stylized roof of our house

Step 15

Let’s move on and create a New Layer for another set of decorative elements. Here I’m making the foreground color much, much darker and adding swirls, strokes, and dots around the letters of the word “home”. You can Image > Adjustment > Invert the layer if the strokes are too dark to work with and then Invert back when you’ve finished with the whole word.

create another set of decorative elements

Step 16

Our dark ornaments here are finished! Let’s continue!

dark ornaments are finished

Step 17

We’ll be adding some more swirls and strokes around the heart. Start by filling the left side of the image and then move to the opposite side, creating similar ornaments to make the composition look balanced. 

Finish up by adding light-blue horizontal strokes on both sides of the word “is” at the very bottom of the poster.

Finish up by adding light-blue horizontal strokes

Home Sweet Home! Our Housewarming Poster Is Ready!

Great job, folks! I hope this tutorial will inspire you to create more hand-lettered playful posters for your cozy interior or for print. Feel free to use all the tips and tricks described in this article, and don’t forget to share your result.

Happy designing!

Our Housewarming Poster is Ready
View Tutorial: How to Create a Hand-Lettered Housewarming Poster in Adobe Photoshop

A Quick Guide to Dependency Management With Bower


Web developers use a variety of libraries and frameworks in their sites, jQuery among them, and they need some way to easily manage them. Bower is such a tool, and in this video tutorial from my course, How to Become a Web Developer: jQuery and Bootstrap, you’ll learn the basics of dependency management with Bower.


Watch the Full Course

The full course, How to Become a Web Developer: jQuery and Bootstrap, will teach you some of the fundamental tools for front-end web development. You’ll get a primer on JavaScript, learn how to use package management tools such as NPM, and then go on to practice using the very powerful and popular jQuery framework for efficient manipulation of HTML. Finally, you’ll learn how to use the Bootstrap CSS framework to jump-start your user interface and build responsive apps.

You can also kick-start your web development by downloading some of the useful JavaScript and jQuery plugins on Envato Market.

View Tutorial: A Quick Guide to Dependency Management With Bower

Using the Twitter API to Tweet Repetitive Content

Final product image
What You’ll Be Creating

Welcome back to our coverage of the Twitter API. If you use Twitter, you may have come across a friend sharing tweets from the @infinite_scream bot (shown above). I know it’s mostly a bot because it tweets at ten-minute intervals. But it varies the string length of its virtual screams to avoid being blocked by the Twitter’s API’s infamous undocumented restrictions. Tweet too frequently or repeat the same content and you’ll find your bots hopelessly blocked.

Recently, an online friend asked me to help them write code for a bot that might repeat but provide some intelligent content variation. In today’s tutorial, I’ll write about how to do this with the Twitter API.

In today’s tutorial, I’ll describe how to build a bot that does the basics:

  • random tweet interval
  • random selection of status text
  • random selection of hashtags
  • random inclusion of URLs
  • avoid getting blocked by Twitter

However, if you want to use a Twitter API bot to effectively promote your product or service on your own account without annoying your followers, you need to write code that intelligently varies the topic, contents and frequency of your tweets in an organized way. I’ll be writing about how to do that in future episodes. 

If you have any questions or ideas, please post them in the comments below. If you’d like to see some of my other Envato Tuts+ tutorials, please visit my instructor page, especially my startup series. Let’s get started.

Getting Started

For the bot in episode one, I’m trying to generate fun tweets on a regular basis while avoiding upsetting the great Twitter God of Restricted Access in the Sky.

The tweet content is very simple and can be randomly created by combining previously written status text, hashtags, and URLs.

The bot runs in Yii, a popular PHP-based platform. I’ll keep the guide below fairly simple for straight PHP developers. However, I encourage you to use frameworks. You can learn more in my Yii Series.

Building the Bot

Registering a Twitter App

Basically, the first thing I did was register an app to get my Twitter keys:

Repeating Twitter API - Setting up your Twitter App

If you aren’t familiar with creating an app and authorizing API access with Twitter, please review some of our earlier tutorials:

Authoring Content for a Range of Tweets

I wanted to create a system where my friend (or any approved author) could write variations of tweets and place them in a database for ongoing use. First, I created a database migration to build the table for them.

All of my tables for this project have the prefix norm_. Here is the Tweet table or norm_tweet:

  use yii\db\Schema;
  use yii\db\Migration;
  class m170120_211944_create_table_norm_tweet extends Migration
    public function up()
        $tableOptions = null;
        if ($this->db->driverName === 'mysql') {
            $tableOptions = 'CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE=InnoDB';

        $this->createTable('{{%norm_tweet}}', [
            'id' => Schema::TYPE_PK,
            'tweet' => Schema::TYPE_TEXT.' NOT NULL',
            'media_id' => Schema::TYPE_STRING.' NOT NULL',
        ], $tableOptions);


    public function down()


Next, I used Yii’s Gii scaffolding system to create a model and CRUD files for me. Here’s the model:

Repeating Twitter API - Yiis Gii Scaffolding Model Generator

And here’s the CRUD generation:

Repeating Twitter API - Yiis Gii Scaffolding CRUD Generator

So all of this code automatically provides the grid view below and editing capabilities.

Repeating Twitter API - The Authoring Tweets UX

For now, I’m not using the Media ID, which is for images that are uploaded to be used within tweets. I’ll likely address this in the next episode.

Pretty straightforward so far, right? 

Adding a Range of Hashtags

Then, I repeat this process for the other models. Here’s the norm_hash migration for hashtags:

  use yii\db\Schema;
  use yii\db\Migration;
  class m170120_212009_create_table_norm_hash extends Migration
    public function up()
        $tableOptions = null;
        if ($this->db->driverName === 'mysql') {
            $tableOptions = 'CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE=InnoDB';

        $this->createTable('{{%norm_hash}}', [
            'id' => Schema::TYPE_PK,
            'tag' => Schema::TYPE_STRING.' NOT NULL',            
        ], $tableOptions);


    public function down()


The idea is to randomly include a selected hashtag (or two) in the tweets to make it appear that the bot is human, varying its tweets. 

Here’s the Hashtag UX:

Repeating Twitter API - The Authoring Hashtags UX

I won’t repeat the Yii Gii steps from above, but I repeat them for norm_hash and norm_url as well.

Adding a Variety of URLs

Here’s the database migration for adding URLs:

  use yii\db\Schema;
  use yii\db\Migration;
  class m170120_211955_create_table_norm_url extends Migration
    public function up()
        $tableOptions = null;
        if ($this->db->driverName === 'mysql') {
            $tableOptions = 'CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE=InnoDB';

        $this->createTable('{{%norm_url}}', [
            'id' => Schema::TYPE_PK,
            'url' => Schema::TYPE_STRING.' NOT NULL',
            'last_used' => Schema::TYPE_INTEGER . ' NOT NULL',
            'created_at' => Schema::TYPE_INTEGER . ' NOT NULL',
            'updated_at' => Schema::TYPE_INTEGER . ' NOT NULL',
        ], $tableOptions);


    public function down()


The bot master may add URLs at different times. It’s probably best for this bot not to use old URLs or to repeat them. The last_used and created_at Unix timestamps allow the tweeting algorithm described below to decide when to use URLs.

Here’s the URL UX page:

Repeating Twitter API - The Adding URLs UX

Now, let’s look at the fun algorithm to combine all of these tables into interesting tweets that aren’t annoying to Twitter’s Master Overlord of Restrictions.

Randomizing the Content of Bot Tweets

It’s fun to have a bot that tweets a variety of content, but the variety is also helpful at preventing it from getting blocked by Twitter. 

You can see the Twitter Rate Limits here, but some of the rules for content repetition don’t appear to be documented:

Repeating Twitter API - Rate Limits Chart

I took directions from my friend as to how they wanted the algorithm to build tweets from the database of tweets, hashtags, and URLs.

Here’s the build algorithm we decided on for now; it’s easy to tweak. I’ll describe it in parts.

In my opinion the algorithm below is low on its use of hashtags and URLs, and if you want a more robust variety of content, change it to your liking.

First, we use yii\db\Expression; to properly select a random single tweet text from the table:


namespace frontend\models;

use Yii;
use yii\db\Expression;


public static function build() {
  // pick a random tweet message (any one of them)
  $txt = NormTweet::find()
  ->orderBy(new Expression('rand()'))

Then we decide whether to use a hashtag (currently 1 in 5 or 20% of the time) and how many to use (currently fixed to just one):

// decide whether to use a hashtag
// pick a random # between 0 and 4
$useHash = rand(0,4);
// if rand# is not 0 but instead 1,2,3 or 4, include hashtag(s)
// for less freq use of hash tags, we can change this > 2 or >3
if ($useHash>3) {
  // so we're now going to decide which and how many hash tags to
  // Creator decided to only use one hashtag for right now
    $numHash = 1; // rand(1,3);
    // select this rand# $numHash randomly from our list
    $hash = NormHash::find()
    ->orderBy(new Expression('rand()'))
} else {
  // don't use any hashtags

Then, we decide if there is a URL available to use. URLs must be less than a week old and they can only be used once every 72 hours (3 days). So any new URL might only be available for use once, twice or possibly three times before expiring.

// only use a url if it's less than a week old
  $url_weekago = time()-7*24*3600;
  $url_3daysago = time()-3*24*3600;
  // only use a url if it's not been posted in the last 72 hrs
  $url= NormUrl::find()
    ->andWhere('last_used<'.$url_3daysago) // handles unused zero case
    ->orderBy(['id' => SORT_DESC])->one();

Finally, we build the tweet based on the selected data (available URLs are added only one in four times or 25% chance):

$content = $txt->tweet;
  if ($hash!==false) {
    $content.=' #'.$hash->tag;
  // only add URL 1/4 of the time
  if (!is_null($url) && rand(1,4) ==1) {
    $content.=' '.$url->url;
    $url->last_used = time();
  return $content;

Choosing When to Tweet

Yii allows you to call console controllers from cron. So I add a call to my /console/DaemonController.php in crontab.

$ sudo crontab -l

Here’s how my tasks are scheduled:

# m h  dom mon dow   command
*/3 * * * * /var/www/bot/yii daemon/frequent
*/15 * * * * /var/www/bot/yii daemon/quarter
0 * * * * /var/www/bot/yii daemon/hourly
15 1 * * * /var/www/bot/yii daemon/overnight
15 3 * * 5 /var/www/bot/yii daemon/weekly

Every hour, daemon/hourly in /console/DaemonController.php is requested. Our bot app only decides whether to tweet or not once every four hours.

First, you’ll see I have a NormLog table which I didn’t describe above, but that tracks all the output and when tweets were made. So my friend didn’t want to tweet more than once a day. 

public function actionHourly() {
  // every hour
  $current_hour = date('G');
  if ($current_hour%4) {
    // every four hours
    echo "Review tweeting plan...";
    $dayAgo = time()-24*3600;
    $nl= \frontend\models\NormLog::find()
      ->orderBy(['id' => SORT_DESC])
    echo 'created_at: '.$nl->id.' '.$nl->created_at.'...';
    echo 'dayago: '.$dayAgo.'...';
    if ($nl->created_at<$dayAgo) {
      // okay to maybe tweet

We didn’t want followers of our bot to get annoyed by high frequency tweeting.

Then, we pick a number, basically the six times a day (every four hours), and tweet if the number is 6 (or a one in 12 chance).

  // every four hours, if 6 is picked from 1-12, we tweet
      // 1 in 12 chance 12x in two days
      $r = rand(1,12);
      if ($r==6) {
        echo 'tweet, 6 was picked...';
      } else {
        echo "do not tweet, 1 in 12 # not picked...";
    } else {
      // never tweet twice in 24 hrs
      echo 'do not tweet, not yet 24 hrs...';
    echo '..made it to end...!';
      if ($current_hour%6) {
      // every six hours

Delivering the Tweet to the Twitter API

Here’s the NormTweet::deliver() method called by the Daemon to post the tweet:

public static function deliver()
    // post an update
    // construct
    $content = NormTweet::build();
    // tweet it using params for norm acct
    $connection = new TwitterOAuth(
    $postit = $connection->post("statuses/update",
        ["status" => $content]);        
    // save it in the log
    $nl = new NormLog();
    $nl->tweet = $content;

The account’s Twitter application keys are stored in /bot/frontend/config/params-local.php, configured from the bot.ini file I use:

$ more params-local.php 
return [
'norm' => [
     'consumer_key' => $config['norm_consumer_key'],
     'consumer_secret' => $config['norm_consumer_secret'],
     'access_token' => $config['norm_access_token'],
     'access_token_secret' => $config['norm_access_token_secret'],
     'user_id' => $config['norm_user_id'],


Bots aren’t simple, but they are fun!

Examining the Results

Here are the results of our bot:

Repeating Twitter API - Tom McFarlin Head Editorial Goddess

Just kidding! That’s one of the editorial goddesses, Tom McFarlin. AI scripts aren’t yet capable of replacing his “insights,” but Envato Tuts+ has hired me to work on this. 

Here’s the actual bot, meant to remind my friend and its followers that America’s new politics aren’t exactly normal. I imagine whatever your views you’d agree with that.

Repeating Twitter API - Bot Tweet Stream from Tutorial

I hope you’ve enjoyed this episode.

What’s Next?

Next, I’m going to create a more marketing-driven platform to help you use the Twitter API to promote your startup, services, and business without getting labeled as a bot and blocked.

If you have any questions or suggestions about this tutorial, please post them in the comments. If you’d like to keep up on my future Envato Tuts+ tutorials and other series, please visit my instructor page or follow @reifman

Related Links

View Tutorial: Using the Twitter API to Tweet Repetitive Content

How to Draw a House Step by Step

Final product image
What You’ll Be Creating

Drawing freely from imagination is cool, but not everything can be drawn using free, intuitive movement of the hand. Man-made objects, like vehicles and buildings, are created according to certain rules, and these rules bind our freedom. You can’t draw a building by guessing the lines—you must follow the rules, and these rules are defined by perspective.

In this tutorial I will how you how to draw a house step by step in the two-point perspective. I’ll do my best to explain the whole process to you rather than just tell you what to do.

What You Will Need

You can use any photo of a house you want, for example your own. We will not copy the reference, but we need some kind of a base to know what we’re trying to draw. So its perspective doesn’t need to be perfect—we’ll create our own view!

You can draw using any tool, but it’s best to use some drawing software for this—perspective doesn’t require fine manual skills, so you can successfully use a mouse for this. If you prefer to draw traditionally, make sure you use a much bigger sheet of paper than the intended size of the drawing. And don’t forget to use a long ruler!

1. How to Start a Drawing in Perspective

Step 1

Start with the horizon line. When something’s above it, you look up on it. When something’s below it, you look down on it.

horizon line
The horizon line should be much longer than your intended drawing if you want to avoid extreme distortion

Step 2

We want two sides of the building visible: the right side and the front. They share a common dimension: their height. In 2-point perspective, height is generally the dimension that stays perfectly vertical, so we don’t need to draw any vanishing points for it.

house edge

However, it’s also important where we place that height. The center of the horizon line is also the center of the vision. If you place that edge line there, both sides will be equally visible. If you place it more to the left, the front will be more visible at the cost of the side. And that’s what we want!

preparataion for perspective drawing
horizon line and length
The shorter the height in relation to the horizon line, the less extreme the distortion.

Step 3

Perspective turns parallel lines into convergent lines. Where do they converge? Well, it depends on you. The more of the side you want to see, the farther the vanishing point should be.

how to make perspective less distorted

Step 4

Draw the other edge of the front between both lines. Imagine how long the front would be without perspective, and then make it shorter according to the angle between the left edge and the ground—90 degrees would give the full length, and the smaller the angle, the shorter it must be.

house front edges
perspective front view
how to shortne in perspective
Thanks to a far placed vanishing point and the relative height of the front, our angle is wide enough to allow for almost a full length

Step 5

You can now connect both edges to create a full surface of the front wall. Keep in mind these two lines are parallel in reality! Everything parallel to them will go towards that vanishing point.

perspective parallel lines
perspective front
perspective parallel vann

Step 6

Time for the other side. The rule is very simple here: the more visible one side, the less visible the other. So we need to place the vanishing point close.

how to place vanishing points

Step 7

Again, imagine the full length of that side and shorten it according to the angle.

perspective converging lines
perspective 2d views
perspective two walls
The angle is quite acute, so we need to shorten the side strongly

Step 8

Close the shape of the side with two more lines. Again, these lines are parallel and everything parallel to them will go towards the same direction.

perspective house side
perspective flat views
perspective simple building

Step 9

Now that you know how to use the vanishing points, I will show the drawing up close to make the details more visible.

Perspective distorts proportions, so we need to place the guide lines very carefully. It’s best to use special, universal algorithms to divide an area into equal parts. Let’s divide the front in half and in thirds—the porch seems to be about one-third of the length, so this would be useful for us.

house front divided into thirds
Regular lengths make drawing in perspective easier, so let’s simplify the proportions for our purpose

First connect the corners of the front.

how to divide rectangle in half
how to draw halves in perspective

Step 10

The diagonals of a rectangle show you the center of it even in perspective. So this is how we divide it into halves. Keep this middle line fully vertical.

rectangle two parts algorithm
how to divide into halves in perspective
Notice that one of the halves seems longer than the other—that’s how it works in perspective, and that’s why you can’t just use a ruler for this

Step 11

Once we have the middle lines, we can use it to create thirds:

how to cut in three
perspective three thirds
cut in three
how to divide in thirds in perspective

Keep these guide lines only that visible to use them later, but without confusing them with the final lines of the drawing.

perspective guide lines

Step 12

The other side seems to be about five windows long, so it will be the most useful to us to divide it into fifths. There’s an algorithm for this as well:

house side wall
perspective cut in half
perspective side wall
cut in cross
prspective cross
perspective diagonals
draw diagonals
perspective four diagonals
how to divide in five parts
how to divide in fifths in perspective

Again, keep these guide lines barely visible.

perspective building guide lines

2. How to Add Windows and Doors in Perspective

Step 1

We need more guide lines to place the elements on the wall properly. Because this is a building, we can expect the elements follow some kind of proportion. Once we discover it, we can use it in our drawing.

Look at the height of the outline above the windows, the windows, and the lower part of the wall. Mark them on the edge.

house divide horizontally
divide horizontally
perspective divide horizontally

Step 2

Draw parallel lines through these points. Do you remember what parallel means here?

parallel lines
how to draw parallel lines in perspective

Step 3

It’s the easiest to divide the areas in halves and thirds, so let’s assume the window, with all its outline, is one-ninth of the length of the front. Divide each third into thirds to create guide lines for this.

divide into ninths
how to draw regular guide lines in perspective

Step 4

The door does not have such obvious proportions, so we need to create it ourselves. Connect two clear points…

how to discover proportions in drawing
how to make drawing proportionate in perspective

… and draw a vertical line through a crossing of the guide lines.

crossing of the guide lines
perspective mark

Step 5

We now have enough guide lines to outline the windows and door.

windows and doors
windows and draws front view
windows and doors in perspective

Step 6

The actual windows start slightly deeper within the outline. How can we guess their width? Well, let’s create it! Symmetrical ‘X’s are easy to draw…

symmetrical division
symmetrical division in perspective

… and they neatly cross that upper guide line.

house windows
house in front view
how to place windows regularly in perspective

3. How to Draw a Roof in Perspective

Step 1

The roof of the house in my reference is not a simple one, but don’t let that discourage you! Every roof follows the same rules, and some just need more work to apply them.

Define the highest point of the roof. You must think in 3D—you can’t just elongate one wall vertically and place that point there. That point must belong to both walls at the same time!

house roof height
house height front view
how to define roof height in perspective
The height of the roof is arbitrary, but make sure you make it proportional to your overall vision.

Step 2

My roof has a “ridge” on top. Its width will be a nice reference point, but we need to define it first. Again, to add any length to our drawing in perspective, we must base it on something that’s already been drawn. For example, draw two diagonals through the thirds on the side of the window (we can be sure they’re symmetrical)…

house roof proportions
hidden proportions front view
hidden proportions perspective

… and draw a line through the point where they cross with the lowest horizontal guide line.

house front view roof
The height of these lines is arbitrary.
house roof width perspective

Step 3

To draw the height of these lines, we need to place them on the same level as the middle line. Project some lines through guide lines to find the right spot.

how to use guide lines in perspective

Step 4

We know where this ridge starts, but we still don’t know where it ends. More guide lines are necessary to find that point. Remember to keep the proportions from the base view!

how to make proportions constant front view
how to make proportions constant perspective
perspective roof distortion

Step 5

You can now easily outline the ridge.

house top ridge
complicated roof perspective
There’s no need to draw the lines that are concealed by the front, but make sure you know where they are

Step 6

Before we draw the rest of the roof, we need to understand exactly what we want to draw. From the side, the roof looks like a triangle, and we already have the top of this triangle, so we need to follow that rhythm.

house roof triangle

If we elongate the top of the wall towards that line, we’ll find the length of the roof (measuring the distance from the wall to the edge).

house roof length

Now our job is to create some easily replicable guide lines. It doesn’t matter where they are, as long as they create the proportion we want every time they’re used.

house perspective proportions

Apply these guide lines to the drawing in perspective.

special guide lines for roof

Step 7

To find the actual length of the roof, we need to project it to the ground.

how to find roof length in perspective

Step 8

We have the length, but we also need the exact placement of the corners. They’re easy to find now!

perspective roof corners

Step 9

These points are useless to us as long as they’re on the ground, but it’s not difficult to project them to their right level.

house roof height
perspective how to place the roof correctly

Step 10

Finally, connect the dots!

roof front view
how to draw a roof in perspective

4. How to Draw a Complicated Roof in Perspective

Our house has its walls and the roof, so it’s technically done. But it’s
boring, and it doesn’t look like the reference at all! Now we’re going
to make it look more interesting, but keep in mind this may create a
higher level of difficulty. I will also assume you’ve grasped the
techniques we’ve been using so far, so I may not explain every step as

Step 1

The elements on the roof are placed in a non-random way, and we need to discover it. Let’s create some repeatable guide lines in advance: divide the side of the middle block into eight parts.

eight parts division
divide into eights in perspective

Step 2

The roof of the porch starts in the horizontal center, but not exactly in the center of the roof. Find the exact points you want to use for guide lines, and then project them to your drawing.

house roof center
house porch height
porch height in perspective
Always pay attention to the position of the elements inside the walls.

Step 3

The roof of the porch seems to be parallel to the rest of the roof. We can mark it easily on the side view, but how can we find it in perspective?

roof curvature
roof angle front view

As always, we need to create replicable guide lines that point to our desired result…

replicable guide lines

… and project them to the drawing.

guide lines projection in perspective

Step 4

We know how long the roof is on the side, but we also need to find its width (which, like the reference suggests, is slightly longer than the middle third of the front wall). These guide lines should do the job.

porch roof width
house porch width
porch roof in perspective

Step 5

Now we need to cross the guide lines from both dimensions to find the corners of the roof. The illustration below may look confusing, because we’re so close to the horizon line that the guide lines are almost horizontal.

horizontal guide lines

Step 6

Now we have all we need to outline the little roof!

porch roof outline front view
porhc roof outline in perspective

Step 7

The protruding windows on the roof will be quite complicated to draw, so feel free to skip them if you feel lost.

First, let’s add some guide lines on the roof to see its surface better. We don’t have vanishing points for them, so just follow their rhythm.

roof curvature lines
roof guide lines

Step 8

We need more guide lines in that inner block of the roof. Divide it into quarters.

inner roof guide lines
inner roof guide lines perspective

Step 9

We should know enough to place the base of the window.

roof window guide lines
roof window guides

Step 10

The window has a triangular top, so we need to mark it as well. Quite easy once we stay on the same level of depth, isn’t it?

roof window height
roof window height in perspective

Step 11

Now we need to project the window outline to its place on the roof. I told you it was going to be difficult!

additional roof guide lines
additional roof guide lines in perspective
how to draw roof in perspective
how to draw roof window in perspective
how to measure roof  in perspective
how to draw triangular weindow in perspective

Step 12

The roof of that window is protruding, so we need to project it forward as well. We’re going to use the front wall as a reference to make it easier.

house roof window
small window roof proportions
triangular window roof outline

Make the whole window outline protrude in order to make measurements easier.

triangular window proportions

Step 13

The roof has a certain thickness and angle, so they’re not easy to project. Use a trick to create them: find guide lines on the window outline that automatically create the outline of that roof. It doesn’t need to be perfect, just close enough.

triangular window roof width
triangular window width in perspective
triangular window roof on roof
triangular window roof on roof in perspective

Step 14

Create the other window using the same steps, or by drawing guide lines through the already drawn one.

how to draw windows on the roof in perspective

Step 15

We know exactly where the roofs starts, so we can easily draw their tops.

how to make roof mroe interesting

Step 16

The sides of these windows go towards the inside of the roof, but they’re also covered by it. The curvature of the roof can be measured, but we don’t need to be as precise—just remember that every line going down must be shifted slightly towards the front (as its back gets gradually concealed by the roof).

complciated roof in perspective
roof curvature in perspective

5. How to Draw a Porch With Steps in Perspective

Step 1

The porch has symmetrical sides, but we only have a guide line on one of them. Let’s create a similar one on the left side.

house symmetrical porch
symmetrical porch in perspective

Step 2

Use these guide lines to create the outline of the short wall.

house porch walls
porhc walls front view
porch wall outline

Step 3

These walls will be as long as the roof over them, but not as wide. Use an additional guide line to exclude the part of the roof from the width of the porch area.

roof over porch
roof over porch proportions

Step 4

You can now give these walls all their sides.

little walls of porch
porch walls in perspective

Step 5

Divide the inner side of the wall into thirds—this should be enough to create four steps.

house porch divide into thirds
house porch wall divide into thirds

Step 6

The first step is quite flat, so mark it first before adding the other steps. Its height may be arbitrary.

house flat step
house first step front view
house first step in perspective

Step 7

Divide the two thirds into 16 parts—four heights and four lengths of every step.

how to prepare guide lines for steps
how to prepare guide lines for steps in perspective

Step 8

Draw the outline of the steps, following the guide lines.

steps outline
steps outline front view
steps outline in perspective

Step 9

Now you have enough guide lines to draw the steps.

steps front view
how to draw house steps
how to draw steps in perspective
The other way to do it is to draw the outline of the steps on the other side as well and then to connect them.

Step 10

The porch wall has an elevated part, so we need to draw it as well. It should be easy to measure it with what we already have.

house elevated porch wall
house elevated porch wall front view
elevated porch wall perspective
interesting porch walls in perspective

Step 11

There are pillars supporting the roof growing from the lower part of the wall. I’m going to go the easy way and make them as wide as the wall and a step.

house porch pillar
house pillars front view
house pillars in perspective

Step 12

When all the guide lines are done, you can finish your drawing. If you’re creating it digitally, you just need to remove the guide lines and add the details following the rhythm of the other elements. If you’re drawing traditionally, it’s better to place a new sheet of paper on the sketch and draw clean lines on the top.

how to draw a house step by step

Good Job!

It was a long tutorial, but I hope I managed to clear some things up about perspective and drawing buildings from scratch. Don’t forget to post your result in the comments!

how to draw a house in perspective
View Tutorial: How to Draw a House Step by Step

How to Draw a Cute Pirate Character in Photoshop

Photoshop is not only powerful on image editing or photo manipulations, but also very useful to produce image creations. Even from scratch, pure from your imaginations. We can take character design for example. When you design a character, you put your imaginations on your canvas. You can do it although you start from a blank […]

The post How to Draw a Cute Pirate Character in Photoshop appeared first on Photoshop Tutorials.

View Tutorial: How to Draw a Cute Pirate Character in Photoshop

How to Create an Abstract Vietnamese Woman Portrait in Adobe Photoshop

Final product image
What You’ll Be Creating

In this tutorial I’ll show you how to create an abstract piece featuring a young Vietnamese woman in a traditional long dress. Long dresses, lotus, and bamboo are known as cultural symbols in Vietnam. 

First, we’ll build the background using an old texture and some watercolor images. After that, we’ll add the model and the lotus and bamboo branches. Later, we’ll paint some light and add some splatter and bokeh. We’ll use several adjustment layers to complete the final effect.

Stay inspired! Create beautiful abstract portraits quickly with Photoshop Actions from GraphicRiver.

Tutorial Assets

The following assets were used during the production of this tutorial:

1. How to Make the Watercolor Background

Step 1

Create a new 2000 x 1500 px document in Photoshop with the given settings:

New document

Step 2

Open the texture image. Drag the image into the white canvas using the Move Tool (V) and lower the Opacity of this layer to 40%:

add texture

Step 3

Go to Layer > New Adjustment Layer > Hue/Saturation and reduce the Saturation value to -54:

texture hue saturation

Step 4

Click the
second icon at the bottom of the Layers panel to add a Mask to the
texture layer. On this layer mask, activate the Brush Tool (B) and
choose a Soft Round Brush with black color to paint
on the left section near the middle of the canvas. It’s to reveal the
lightness to fit the light on the model (we’ll see in the next

texture masking

Step 5

Create a Color Balance Adjustment Layer and alter the Midtones settings:

texture color balance

Step 6

Open the
watercolor images pack. Choose the image named 1030 or one you like
and place it on the canvas. Use the Free Transform Tool (Control-T) to
make it fit the size of the background. Change this layer Blend Mode to
Multiply 100%.

add watercolor 1

Add a Mask
to this layer and use a Soft Black Brush with a lowered Opacity (about
30-35%) to reduce the visibility of the watercolor effect.

watercolor 1 masking

Step 7

Choose the
image numbered 1029 and place it in the right half of the canvas. Mask
it off to show some cyan details only around the middle.

add watercolor 2
watercolor 2 masking

Step 8

Make a Hue/Saturation Adjustment Layer above this layer and set it as
Clipping Mask. Adjust the Master and Cyans settings to change the color of the
indicated cyan details.

watercolor 2 hue saturation master
watercolor 2 hue saturation cyans

Step 9

Add the watercolor 2 image to the middle section and set this layer Blend Mode to Multiply 50%. Use a Layer Mask to blend it with the existing background.

add watercolor 3
watercolor 3 masking

2. How to Import the Model

Step 1

Extract the model and add her to the middle of the background using the Move Tool (V).

add model

Step 2

Add a Mask to the model layer and activate the watercolor brushes.
Select the one you like and press F5 to change the settings for this

watercolor brush settings

Use this brush to soften the bottom of the model and blend her with the canvas.

model masking

Step 3

Create a Hue/Saturation Adjustment Layer and change the Master, Reds and
Magentas settings. The aim is to change the color of the long dress.

model hue saturation master
model hue saturation reds
model hue saturation magentas

Step 4

Use a Color Balance Adjustment Layer to give the model some vibrance:

model color balance adjustment layer

Step 5

Make a Curves Adjustment Layer to darken the front of the model a
little. Paint on the back and the shadow areas of the model.

model curves adjustment layer

3. How to Add the Lotuses

Step 1

Cut out the lotus and place it above the left shoulder of the model.
Duplicate it four times and add the copies to the back, hair, and face. Use
Control-T to change their size and direction.

add lotuses

Step 2

Add a Mask to the lotuses on the shoulder and face. Use a medium Soft Black Brush to blend the lotus with the shoulder and remove the front of
the one on the face to show only two petals near the eye.

lotuses masking

Step 3

Select all the lotus layers and press Control-G to make a Group for
them. Change this group’s Blend Mode to Normal 100% and add a Hue/Saturation Adjustment Layer within the group. Bring the Hue value up to +15:

lotuses hue saturation adjustment layer

Step 4

Use a Color Balance Adjustment Layer to increase the red for the lotuses.

lotuses color balance adjustment layer

Step 5

Make a Curves Adjustment Layer to brighten the lotuses. Paint on the
shadow areas so they won’t be affected by this adjustment layer.

lotuses curves adjustment layer

4. How to Decorate With the Bamboo Branches

Step 1

Extract the bamboo branch and place it in anywhere on the canvas. Set this layer under the lotus group.

add bamboo branch

Go to Filter > Liquify and choose the Forward Warp Tool. Use this tool to make the branch longer and more curved, like mine:

branch liquify
branch liquify result

Place this modified branch behind the biggest lotus.

locate branch

Step 2

Use a Layer Mask to erase the top of this branch.

branch masking

Step 3

Use this method to create more different twisted branches. Arrange them
around the model, above the head, along the hair, and beside the cone. Use
a Layer Mask if needed to blend the branches with the head or make them
appear behind or in front of the model.

add more bamboo branches

Step 4

Make a Group for the bamboo branches. Add a Color Balance Adjustment Layer to make the branches more yellow to match the existing

branches color balance adjustment layer

Step 5

Go back to the model layer and add a Mask to it. Use a medium Soft Black Brush with a very small size (2-3 px) to erase the space between the branches on the head.

model masking
model masking result

5. How to Paint Some Light

Step 1

Make a New Layer on top of the layers and use a large Soft Brush with
the color #251601 to paint on the model area. Change this layer’s Blend Mode to
Linear Dodge 100%

paint light 1
light 1 result

Step 2

Duplicate this layer twice to strengthen the light effect. Use a Layer Mask to erase the light on the model’s face to focus on the cone area

paint light 2

Step 3

On a New Layer, use a small Soft Brush with the color #d9ab53 to paint the lotus on the shoulder. Change this layer Blend Mode to Overlay 100%.

paint light 3

6. How to Make the Splatter Effect

Step 1

Open splatter 1 image. It has a transparent background, so just use
the Move Tool to place it under the lotuses behind the model.

add splatter 1

Step 2

Double-click this layer, choose Color Overlay, and pick a green color similar to the color of the bamboo’s branches (#8aa013).

splatter 1 color overlay

Step 3

this layer twice and resize them to be smaller. Move one rightward a bit
and the other to the shoulder, and then use a Layer Mask on each of these layers to soften the
lines of the splatters.

add more splatters 1

Step 4

Add more splatter under the big lotus behind the model and change the color to #df7877 to match the color of the lotus.

change splatter 1 color overlay

Step 5

Open the watercolor 2 image again and place it over the lotuses on the
model’s back. Scale it down and change this layer Blend Mode to Darken 100%.

add watercolor 2 darken mode

Use a Layer Mask to clean up the effect on the bigger lotus.

watercolor 2 darken mode masking

Step 6

Make a Hue/Saturation Adjustment Layer to change the effect’s color to green.

watercolor 2 hue saturation

Step 7

Use a Curves Adjustment Layer to decrease the effect’s visibility.

watercolor 2 curves

Step 8

Open the splatter 2 image. Extract the splatter from the white
background using the Magic Wand Tool (W). After that, use the Lasso Tool
to select the right part (or any parts you like—your choice) and
add it to our main working file. Duplicate this layer and move the
splatters to the head and the back of the model.

add splatter 2

Take the upper part of the splatter and place it in the cone area.

add more splatter 2

Step 9

Add a Mask to each of these layers and clean up the unwanted details.

splatters 2 masking

Step 10

Make a Group for the splatter 2 layers and change their color to green using a Hue/Saturation Adjustment Layer.

splatters 2 hue saturation

Step 11

Create a New Layer on top of the layers. Change the Foreground Color to
and use a watercolor brush to paint on top of the head.

add watercolor brush

Add a Mask to this layer and use a smaller watercolor brush with settings like our previous ones to make a defined effect.

watercolor brush masking

7. How to Add the Bokeh

Step 1

Place the bokeh image over the lotuses on the model’s back. Change this layer Blend Mode to Overlay 100%
and use a Layer Mask to clean up the hard edges and make some bokeh
visible on the lotuses.

add bokeh
bokeh masking
bokeh masking result

Step 2

Select different parts of the bokeh image to add to the cone area, the
head, and the back. Apply Masking on each of these layers to show some
light and bokeh.

add more bokeh
bokeh effect result
bokeh effect result

Step 3

Make a Group for these
layers and alter the group’s Blend Mode to Overlay 100%. Add a Hue/Saturation Adjustment Layer and bring the Hue value down to -13:

bokeh hue saturation adjustment layer

Step 4

Create a Curves Adjustment Layer to strengthen the effect and light.

bokeh curves adjustment layer

8. How to Make the Final Adjustments

Step 1

Create a Gradient Map Adjustment Layer on top of the layers and pick the
colors #e10019 and #ae730c. Lower the Opacity of this layer to 20%.

gradient map adjustment layer

Step 2

Make a Color Balance Adjustment Layer and alter the Midtones settings:

whole scene color balance adjustment layer

Step 3

Use a Curves Adjustment Layer to increase the contrast of the whole image:

whole scene curves adjustment layer

Congratulations, You’re Done!

I hope that you’ve enjoyed my tutorial and learned something new. Feel
free to share your ideas or comments in the box below—I’d love to see
them. Enjoy Photoshopping!

Abstract Vietnamese Photo Manipulation Photoshop Tutorial
View Tutorial: How to Create an Abstract Vietnamese Woman Portrait in Adobe Photoshop

8 Best WordPress Slider & Carousel Plugins of 2017

Whether you want to show off customer testimonials, your latest blog posts,
your best images, or just celebrate the members of your team, there is a WordPress slider or carousel plugin out there that’s right for you.

But before we share the 8 hottest in the Envato Market this year, maybe we
should clarify the difference or the lack thereof between a slider and a
carousel plugin. Some say that there’s little difference between the two because
they both do a variation of the same thing: display a number of images in a
slideshow format while offering some controls like previous/next arrows, thumbnail
navigation, and sometimes transition effects between the slides.

Others insist that though this may be true, the important distinction
between the two is that a slider slides the images horizontally or vertically while
a carousel rotates the images on an axis with the image always facing the
viewer. While the jury is still out which camp is right, for the purpose of
this article we’ll treat the two terms as interchangeable and get on with the
business of revealing the 8 Best Slider
& Carousel Plugins of 2017 on CodeCanyon.

1. Magazine Builder – Turn your blog theme into a magazine theme

Magazine Builder is the latest kid on the block at CodeCanyon. Its
main purpose is to incorporate magazine layouts, elements and features into
your blog theme, and in doing so it has created three slick slider features that
bring an air of cool to any WordPress site. 

Magazine Builder

My favourite feature is the drag & drop interface which makes it oh so easy to use.

Other favourite features:

  • full-width template
  • responsive layout
  • 4 display options
  • blog layouts
  • and many more

Magazine Builder may be the new kid on the block, but it won’t be long
before it’s dominating the field.

2. Woo Shop
Slider – WooCommerce Slider For Products, Single Product and Categories

Woo Shop Slider is specifically designed for users with products they
want to sell online, but really it offers such a great range of slider styles
that there’s no reason the general user can’t adapt it to suit their needs.

Woo Shop Slider

The standout feature for me with this item is that the sliders generate
a shortcode that can be placed anywhere on your website.

 Other favourite features:

  • 8 different slider designs to choose from
  • visual composer friendly
  • lazy loading
  • easy installation
  • and more

For users wanting to show off their products, Woo Shop Slider is hard to
beat for versatility and visual power.

3. Master
Slider – WordPress Responsive Touch Slider

There’s no wonder why Master Slider is a perennial favourite on CodeCanyon.
The Responsive Touch Slider offers over 70 templates which are highly
customizable and as easy to use as 1, 2, 3. 

Master Slider

What I like the most with this plugin is the ability to insert or embed
HTML formatted text, links, images or video directly into each slide and then independently
animate each layer.

great features include:

  • drag and drop visual builder
  • easy to display image gallery as slider
  • touch swipe navigation
  • ability to load and display galleries from services
    like Flickr and WooCommerce
  • and more

 With over 70 customisable options to choose, Master Slider has a wide
cross-user appeal.

4. Slider Pro
– Responsive WordPress Slider Plugin

Slider Pro, a top three seller at CodeCanyon, provides a clean and
intuitive user interface in the admin area and a smooth navigation experience
for the end users.

Slider Pro avoids unnecessary fanciness, which many times is an obstacle
for end users in getting the information they need, and instead focuses on
simplicity and performance, while still providing a wide range of customization

Slider Pro

My favourite feature is
the deep linking feature where each slide change will update the URL in the
browser’s navigation bar with the appropriate URL hash.

 Other great features include:

  • optimised image loading
  • easy customisation
  • smooth animations
  • multiple layouts
  • and more

Slider Pro, as the name suggests, is the professional solution you need.

5. RoyalSlider
– Touch Content Slider for WordPress

The single most downloaded slider at CodeCanyon, Royal Slider for
WordPress is packed with irresistible features. Used by companies as diverse as Coco Cola, Ralph Lauren and Land Rover,
this plugin does just about everything you could possibly want from a slider.


The most appealing
feature is the full-screen feature with native HTML5 fullscreen support.
Perfect for showing high-resolution photography.

 Other great features include:

  • multiple sliders per page are allowed, even with
    different skins
  • touch swipe navigation support
  • responsive design
  • vertical or horizontal thumbnails, bullets or tabs
    for navigation
  • and more

RoyalSlider will definitely wow your visitors with its clean and professional

6. Logos Showcase – Multi-Use Responsive WP Plugin

The Logos
Showcase plugin is specifically targeted for users who want to create a grid of
images with external or internal links or need to display a list of clients’ or
sponsors’ logos.

Logos Showcase

The standout feature
with RoyalSlider is the ability to display logos on a grayscale version with
the option to display with original colors by hovering if desired.

great features include:

  • choice
    of three different ways to display images
  • control
    of transition speed and auto scroll is enabled
  • control
    of default size of logo images
  • option
    to set URLs to each logo which can open on the same page or in a new
  • and

Logos Showcase is the slider to choose if your priority is to display
logos and lists most effectively.

7. Carousel
Anything for Visual Composer 

With Carousel
Anything, you can turn any content into a slider: latest blog posts,
testimonials, team members, image sliders, video, or anything else you want.

Carousel Anything

What I most like
about this plugin is the simple, clean interface and ease of use.

Other great features

  • responsiveness
  • touch and swipe
  • fully customizable
  • ability to work with any theme
  • and more

Carousel Anything will definitely satisfy users who have a
variety of content they want to create sliders from.

8. Ultra
Portfolio – WordPress

Ultra Portfolio will primarily appeal to users who are interested in building
portfolios with slider features included. It offers a large number of layout options and really delivers on flexibility
and functionality.

Ultra Portfolio

The most appealing
feature with this slider is the ability to control animation effects and
animation speed.

Other great features

  • unlimited layouts
  • WooCommerce integration
  • Google Font integration
  • ability to control the number of columns for various
    screen resolutions and widths. (2, 3, 4, 5, 6 columns)
  • and more

Ultra Portfolio should be your choice if you want to combine slider
functions with a wide range of portfolio options.


This is obviously but an incredibly small subset of options and products available in the Envato Marketplace. If you don’t find what you’re looking for here, why not look at what else is available?

Furthermore, if you’re interested in getting more into WordPress development, don’t hesitate to review the many tutorials we have available.

View Tutorial: 8 Best WordPress Slider & Carousel Plugins of 2017

How to Create iMessage Stickers in Adobe Illustrator and Make Extra Cash!

Final product image
What You’ll Be Creating

You may have noticed that there is a craze for iMessage stickers since they were introduced with iOS 10. Today, you can now create and sell your very own digital stickers, instead of using the pre-installed emojis.

iMessage stickers are a cool and fun way to express your ideas and thoughts because you can peel, place, and stick them into your chats!!

If you’ve ever wondered what goes into making a sticker pack for iOS, in this tutorial, we will work from a sketch to design simple iMessage stickers in Adobe Illustrator using lines, shapes, and colors. Then will briefly shift to iTunes Connect and Xcode to launch our own iMessage sticker pack onto the App Store.

If you’re looking for emoticon inspiration for your own sticker designs, pop on over to GraphicRiver.

1. Come Up with a Concept and Prepare Your Sticker File in Adobe Illustrator

Step 1

I’ve been missing home for a while. No matter how much I enjoy the wonders of travel, my belly is
always filled with the scent of “home” food. So I decided to base my theme on “Lebanese food”. There is absolutely nothing
as rich and abundant with variety as Lebanese cuisine.

So let’s start by sketching out our food concept on paper or digitally.

I’ve sketched out 12 food “stickers” from the Lebanese table, and labelled their names in Lebanese, just for reference.

Generally it’s good to have about 24 designs for a sticker pack, but for the sake of this tutorial we are working on just 12.

Start by sketching out 12 items in a 4 x 3 grid form, as below.

sketch lebaanese food

After you have finished sketching, move the sketch into Adobe Illustrator.

Step 2

Launch Adobe Illustrator CC.

Open a New Document: File
> New
(Command-N) and set up your Custom file:

Name: “Lebanese_Food_iMessage_Stickers”.

  • Number of Artboards: 12 (respective to the number of stickers, as each sticker should have its own artboard)

You have three choices of sticker sizes to create.

  • Small: 300 x 300 pixels
  • Medium: 408 x 408 pixels
  • Large: 618 x 618 pixels

I personally prefer working on 618 x 618. So adjust the New Document Settings:

  • Columns: 4
  • Width:
    618 px
  • Height:
    618 px
  • Units: Pixels
  • Color Mode:
  • Click Create Document
Adobe illustrator open new document

Step 3

Use the Place shortcut (Command-Shift-P) to place the sketch onto the first Artboard. Drag the image to fill all the artboards, so your sketches fill all the artboards created.

Command Shift P Place

Next, we need to create a layer for our line work. 

Open the Layers panel, Window > Layers.

on the sub-menu of the Layers panel:

  1. Name: Sketch
  2. Select Lock
  3. Dim Images to: 20%
  4. OK
Adobe Illustrator layer options

After locking the “Sketch” layer, Create New Layer, on top of the ‘Sketch, and name it ‘Linework’.

File > Save (Command-S), and save your Illustrator file.

2. How to Draw the Line Work


Let us prepare to draw in our line work.

First, we need to create a “pressure” Calligraphic art brush. Open the Brushes panel: Window > Brushes.

Select the Ellipse Tool (L), with a black Fill, null Stroke, and draw in a small ellipse the size of the brush you want to draw with.

create art brushes

Step 2

With the ellipse selected, drag and drop it into the Brushes panel. 

A New Brush dialog box will pop open. Select
Art Brush, and OK.

create art brush new brush

The Art Brush Options dialog
box will open.

Note: If you have a digital pen tablet, it’s perfect to create an art brush that reacts to the pen pressure.

To create a brush to move with the pressure of the pen, in the Art Brush Options dialog
box, select:

  • Width: Pressure
  • Brush Scale Options: Stretch to Fit
    Stroke Length
  • Colorization Method: Tints; this will enable us to customize the colors of our custom brush strokes later.
  • Click OK.
create art brush

Once the art brush is created, Delete the created ellipse.

Now we have a pressure-oriented art brush ready!

Step 3

Let’s start tracing the sketch.

  1. Open the Stroke panel: Windows > Stroke.
  2. From the Brushes panel, select the art brush we just created.
  3. Choose the Paintbrush Tool (B), from the Tools panel.
  4. In the Stroke panel, select a black Stroke of 0.5 pt, and Fill set to none.

Make sure your brush is not very smooth when you trace, so that it looks as if it’s hand drawn. To smooth out the art brush, double click the Paintbrush Tool (B), from the Tools panel, and the Paintbrush Tool Options dialog box will open.

Drop the Fidelity down a notch or two.

paint brush tool artbrush fidelity

Step 4

Let’s start tracing with the Paintbrush Tool (B).

Follow the sketch and trace in the line work. It does not have to be perfect, as we want to give it a simple hand-drawn doodle effect.

sketch trace linework

Once all the line work is put in, Lock your “Linework” layer from the Layers panel.

Create New Layer, under ‘Linework“, and name it “Color“, so we can apply color below the line work.

adobe illustrator create new layer

Always Save your file. File > Save (Command-S).

3. How to Quickly Color the Artwork

Step 1

Let’s color!

From the Tools panel, select the Blob Brush Tool (Shift-B). The Blob Brush is similar to a marker, and it’s fun to use. 

Just select the Color Stroke swatch of your choice, with null fill,
and color in the food icons.

  • A quick tip: To manage the Blob Brush Tool size, hold the left square bracket key ([) to decrease the
    brush size and the right square bracket (]) to enlarge.
  • Along with the Blob Brush Tool (Shift-B), use the Eraser Tool (Shift-E), to erase any blob shapes you want to clean out.

The coloring doesn’t have to be perfect, as we need it to have an organic feel.

Start with the hummus.

adobe illustrator tip blob brush tool

As you see, you can achieve a lot with the Blob Brush Tool just by changing its size and colors. Plus it’s fast to use.

So have fun and color in the rest of the artwork!

Step 2

You need to arrange the blob shapes as you color along, so to Arrange objects, use these shortcuts to speed up the workflow:

  • Arrange > Bring to Front (Command-Shift-])
  • Arrange > Bring Forward (Command-])
  • Arrange > Send Backward (Command-[)
  • Arrange > Send to Back (Command-Shift-[)

Once you have arranged everything, you should have a nice colorful set of icons.

arrange layers

Step 3

Now let’s clean up our artboards.

  1. Unlock the “Linework” layer from the Layers panel.
  2. Delete the “Sketch” layer, by dragging
    it from the Layers panel to the
    trash icon on that panel.
  3. Select the Selection Tool (V), and for each food icon, select the respective line work and color.
  4. Group (Command-G) it together. Automatically, once you group the two layers, the new group moves into the “Linework” layer.
  5. Center each icon to the center of the artboard by simply eyeing it.
selection tool

6. Scale the grouped objects to fit within the artboard dimensions, and keeping a small space along the borders. To
maintain the object’s proportions, hold down Shift as you drag the bounding box handle until the object is the desired size.

7. Once all the food icons have been scaled, delete the “Color” layer, as it’s empty.

selection v tool

File > Save (Command-S).

4. How to Export and Create Our App Icons

Step 1

Export the art files, using the Export for Screens feature (File > Export > Export for Screens). 

  1. Export as PNG.
  2. Click the Advanced Settings icon, select which location to export your files to, and set Scale to 1x.
  3. Set Background Color: Transparent.
  4. Export Artboard.
adobe illustrator export files

Step 2

You have two choices. Either choose to use a secondary app Marketplace to launch the stickers, like LINE Creators Market, or build it yourself using the Apple Developers Account.

For this tutorial I will briefly guide you through opening an Apple Developers Account, which costs $100 a year. The application process is quite straightforward, and acceptance is quick. However, then you need to sign in to iTunes Connect and set up the administrative stuff like the Tax and Banking, if you’re planning to sell your stickers (This is not required for free sticker packs).

For more
details, go to the iTunes Connect Developer Guide, and take the time to familiarize yourself with it.

Step 3

To generate our stickers, we need to use Xcode.

Download the latest version of Xcode 8 direct from the Mac App Store and Install.

Step 4

Uploading the stickers to Xcode is easy; just follow the steps:

Open Xcode.

Make sure you are signed in to Xcode with your Apple ID.

Preference > Account > Select + > Sign in.

  1. Create a New Xcode Project.
  2. Select Sticker Pack Application.
  3. Click Next.
  4. Give the sticker bundle a Product Name to identify it: ‘Lebanese Food‘.
  5. Then fill out the Team, Organization Name, and Identifier (com.yourcompany.ProductName), according to your details.
  6. Click Next
  7. Select Stickers.xcstickers > Sticker Pack folder, and upload the stickers, by dragging and dropping the images.
Xcode Select sticker pack application
Xcode Sticker Bundle

Step 5

Next upload the iMessage App Icons.

The folder is above the ‘Sticker Pack’ folder.

Chose one image from the food set that you want to use for the App Icon, and convert it into a JPG in Adobe Photoshop, so it has a white background. Rename the App Icon image: “Lebanese_Food_App_Icon.jpg“.

There are 12
icon images in total that you will need for Xcode, and 1 for iTunes Connect.
To generate the app icons easily, visit MakeAppIcon.

Upload the selected food icon onto the website, enter your Email, and it will generate all the various app icon file sizes for you.

You can Download them direct from your email.

makeappicon generator app

Once you have downloaded the generated images, Upload into Xcode by dragging and dropping.

It should look something like this once you’ve uploaded to Xcode.

Xcode upload iMessage app

5. Configure and Register the Stickers

Step 1

Once you have uploaded the stickers, you need to ‘Test the Build‘ from Xcode, to see if the stickers in
action are good. You can do this through the
Xcode Simulator
, or
you can run it on your own device. All you need to do is:

  1. Select your mobile device, under Set the Active Scheme.
  2. Click the Run button.
Xcode select iphone device

If a notification error is showing, make the requested changes, export and upload the corrected icons again.

Then test the stickers on the Xcode Simulator by clicking the Run icon. Looks fab!

test run stickers imessage

If you need to adjust the display size of your stickers on iMessage, you can do so in the right panel, as seen below.

The sizes “Medium” or “Small” work well.

Xcode sticker

Once it’s done, we need to register an App ID for the stickers.

Step 2

Log in to your Apple Developer Account to register an App ID.

  1. Enter Account > Identifiers > App ID > Select +
  2. Fill in the details and Register.
apple developer account app

Step 3

Now we can finally Export & Upload our “build” to iTunes Connect!

Go back to Xcode.

  1. Select “Generic iOS device” under Set the Active Scheme.
  2. Then select the ‘Stickers.xcstickers’ folder, and from the top main menu click Product > Archive, to Archive the build.

A new window should appear that will show the archived “Build“. You will see the stickers in the left panel.

Click Validate to see if all stickers are good to go. If there are
issues, Xcode will display a notification in red on the top menu bar.

If everything goes well with the “Build“, then you need to upload it to iTunes Connect for Review.

Click on Upload to App Store. This will upload the stickers to iTunes Connect. After it’s done uploading, it should appear on your iTunes Connect account. Give it a few minutes.

xcode archives sticker pack

Step 4

Time to submit the stickers to the App Store!

In iTunes Connect:

  1. Select My Apps.
  2. Select + > New App, and select the ‘Build‘ we just uploaded for submission.
itunes connect plus add new app
  1. Select iOS platform.
  2. Name: Lebanese Food.
  3. Select Language and Bundle ID.
  4. Create a unique SKU “”.
  5. Create!
itunes new app

On the left menu panel, fill out the App information and Pricing & Availability. Here you can write the app description, language, categories, and price of the app. We will not get into all the details, as it’s quite straightforward, but it should look similar to this:

itunes connect app

Step 5

In Adobe Photoshop, create some screenshots, using the Xcode Simulator, and upload them onto iTunes Connect, to create iMessage preview images for the screenshot displays. This might take some time. Create 5 screenshot dimensions: iPhone 5.5 inch display (1242 x 2208 px). The system will generate the rest of the sizes for you.

itunes imessage preview images app

Once done, click Submit for Review.

that’s it!

Now all you’ve got to do is wait for the review process for a few days, to get approved.

While your stickers are in review, you can send out Test invitations to your fans through TestFlight, to try out the stickers free for 60 days. Or you can use the time to set up your taxes, agreements, certificates, and
bank details with Apple.

It’s a bit time-consuming, and you will face some errors along the way, but with some patience and help, you will get there.

Our “Lebanese Food” iMessage Stickers Are Ready!

Wow, I hope
you’ve enjoyed this tutorial! Designing stickers is fun, especially if you can make some money out of it! 

Purchase the ‘Lebanesy Food’ sticker pack from iTunes.

I hope you found this tutorial useful! I would love to see what you create! Share your sticker designs with us.

Lebanese Food Final
View Tutorial: How to Create iMessage Stickers in Adobe Illustrator and Make Extra Cash!