Creating apps is easy

Unity – Simplified Application Development

How can you make application development more simple?

This is not a game. Have you considered finding a more simple approach to developing your apps and programs? Unity 3d(Free for Personal) compiles applications for a very wide variety of platforms including Windows, Linux, iOS, Android, and the web. As a primarily Java programmer, with a PHP backend, I’ve done a lot of other projects with other languages.

Let’s simplify the logic.

My favorite so far has been visual scripting with PlayMaker for Unity. Visual scripting is something that I used to think wasn’t anything special. Why? Well it’s not actually “scripting”, right?

Scripting simplified with PlayMaker

Wrong. Visual scripting contains all of the same logic that a normal programming/scripting language contains. You need to set your variables, interact with objects, set hooks and interrupts to trigger actions, etc. Everything is the same, but it’s more readable, and easier on the eyes. You can visually understand how the code is flowing, without having to read through all the code. Look at the above picture, how much code would this take? It’s a simple script that fades the camera in, waits, then fades it out. Well, you’d have to write a function that fades the camera, with some arguments that handle the fade in/fade out and sets a variable for original position right? 30 lines of code? 50? How about 3 code blocks instead? Debug that if something’s not working right, 2 clicks, not 2 hours of sifting through your code. AMAZING what PlayMaker can do to speed up coding, and simplify troubleshooting.

Playmaker

Let’s simplify the design

Obviously, as a 3d development application, Unity does 3d well. What about 2d? Just a regular app, not a game? Right now I use a deadly combination of WordPress for Unity and Next-Gen UI to make the best looking applications out there. These two plugins provide a seamless, and simple, approach to designing interfaces for applications. It’s a drag and drop, zero code, approach to your users’ interactions. I use these two along side PlayMaker to develop some of the most complicated applications I’ve worked on. I consider myself lucky to be alive, in a time where we have so many tools like this coming out to simplify our every day work. You need to understand, these tools are not just creating user interfaces and simplifying them, they’re giving you a simple way to animate them, put them to action, compile them for multiple platforms, and monetize them.

WordPress for Unity
NGUI: Next-Gen UI

Endless opportunities

The Unity Asset Store has endless amounts of free, or paid, assets for your projects that make it a whole lot easier to make money! No matter who you are, you can develop something extraordinary, with zero knowledge up front. The design/development of applications is coming together, and becoming easier, making it one simple platform – no longer two separate skill sets. One single person can now develop and design an amazing creation without having to do a whole lot of learning. It’s time for you to dive in.

PHP Can be easy

What does PHP do for WordPress?

What is PHP?

PHP is a scripting language that outputs a webpage by processing it on the server before sending it to the person viewing the page. How is that any different from a normal HTML page? Normally an average every day HTML page will simply be sent to your web browser for it to figure out how to display it, PHP thinks about things before sending your web browser the HTML. This means that it can process forms, access content from other sites, read a database, and many other things, before sending the web page to you! This unlocks a whole world of additional options when creating web pages.

PHP Can be easy

How does PHP affect WordPress?

WordPress is written in PHP, this means that everything you are viewing is pre-processed by the server then spit out on your screen. This allows WordPress to use many theme files to build your page dynamically on the server, before sending it to you. WordPress could be loading 20 different PHP files right now, and what you see is 1 file on your screen(this page).

What’s so cool about that?

All of this happens in milliseconds! The database information is retrieved in fractions of milliseconds, the pages are loaded and processed in milliseconds, and the final page is sent to you for viewing in less than a second. That’s amazing. Think about the amount of time it would take for you to take 20 pieces of paper and glue them together, to make a somewhat readable, single page document. It would be ugly, and it would take much longer than one second.

What can I do with PHP in my WordPress site?

Well honestly, you’re not required to do anything, but you can use it to produce dynamic content that is always up to date for your users. Something I’m working on right now is a budgeting tool for people to work on getting out of debt, or start saving money. This is going to be a simple tool that the user types their information into, and it puts it in a database. Once the database has their info, they’ll be able to view it from a webpage that lays it out nicely for them, calculates how much they could possibly be saving each month, what weeks they should be paying each of their bills, and how they could be saving or investing money. You can check out how I’m doing that on this post.

How does WordPress contribute to my PHP scripting experience?

WordPress has many built in functions that make things a lot easier, when writing in PHP. It’s amazing how much I find out each time about the different functions that WordPress offers, when I would have normally written the PHP by hand. I’m focusing lately on not reinventing the wheel as a developer, it’s very hard to do – I feel like I should be writing my own code, not reusing code that’s been written for me. WordPress does an amazing job at providing things to make life simple for a developer, and I absolutely love it!

What brought you to consider PHP with WordPress?

What made you think about this? Do you need help? Are you stuck on a piece of code, and you’re not sure what to do with it? Feel free to comment, and I’d be more than happy to help you out!

 

PHP WordPress

PHP with WordPress, MySQL, and Forms

PHP with WordPress is not a common thing. WordPress is designed for developers as much as its designed for designers. So it becomes very interesting diving in to PHP with WordPress, not too terribly complicated after you figure out all the functions WordPress has built in,  though. The key to success, seems to be, having the right set of tools. There is so much available for wordpress, it’s unbelievable.

I’ve run into countless times already in WordPress where I’m unable to perform the PHP Functions or Database Operations that I’d like to on forms that are submitted. I’m going to walk you through one way how this can be done. The example code is going to be real life code that I’m currently working on, and it is unfinished, but it’s functional.

PHP WordPress

Plugins Needed

  • Contact Form 7
  • Advanced CF7 DB
  • Insert PHP Code Snippet

The Vision

In this case, I want to create a debt/ budget management system. This will be a simple system(at first), that assists the user with planning their budget. The user will fill out forms to add income, bills, and additional expenses. The data will be collected in a database, and displayed for the user and calculations will be performed on the data.

The Scope of This Post

This post will cover one of the modules of the system. This post will only explain the income portion including:

  • Installing and configuring plugins
  • The roles of each plugin
  • How the data is stored in the database
  • Adding income
  • Displaying income
  • Limiting display to only what the currently logged in user added
  • Calculating total weekly and monthly income
  • Creating a reusable set of functions

I plan on adding posts in the future to tie things together. For now, we’ll look at the getting started portion.

The Plugins

The plugins you’ll be using are Contact Form 7, Advanced CF7 DB, and Insert PHP Code Snippet. I tried multiple plugins, before landing on these, and none of them worked well in combination like these plugins do. So I wouldn’t recommend straying away from the listed plugins.

Setup of these is self-explanatory, if you’ve never installed plugins before – look for a post about it by me, I just added it to the to do list.

Configuration, may be something that you need assistance with, though.

Contact Form 7 Install

Contact Form 7 configuration starts with simply installing the plugin. Search for it in the WordPress Plugins area, and click , then click . As far as actual configuration, there’s none needed, you simply install this one. We’ll go over form creation, in a minute. This plugin is the one we use to create the actual forms

Advanced CF7 DB also starts with installation. Search for it in WordPress Plugins, and click , then . There is no additional configuration with this either. You do need to know that nothing is available in this plugin, until you submit a form. So you must create a form, then submit a test submission. This plugin adds the submitted forms to the database, Contact Form 7 alone does not do this.

Insert PHP Code Snippet Install

Insert PHP Code Snippet is the exact same procedure. Add new plugin, search for Insert PHP Code Snippet, click , then click . This plugin adds the ability to insert PHP code, that you create, anywhere in a page or post. This is super nice, if you have little functions you’d like to place in specific places. Otherwise using PHP with WordPress is much more manual, and complicated.

Where do we access these plugins?

In the image above, there are 3 options highlighted in yellow. These are the 3 plugins that we just installed. Throughout this tutorial, we pretty much start at the top of the 3 plugins highlighted in the picture, and work our way down. Lets dive right in, with Contact Form 7!

Contact Form 7

Setting up the form will be made as simple as possible here. Unfortunately Contact Form 7 isn’t a drag and drop interface, but this does allow us to copy and paste a form into the editor. Here is the code:

[hidden user-name default:user_login]
<label> Income Name (required)
    [text* income-name] </label>

<label> Take Home  (required)
[number* income-amount] </label>

<label> Note to Self
[text notes] </label>

[submit "Add"]

to a snippet of more short codes. Pretty smart, if you ask me. I’ll only explain 2 of them in some depth, the rest follow the same pattern.

[hidden user-name default:user_login]

What does that do? Let’s take it word for word.

hidden means just that, it’s a hidden field. Hidden fields are hidden from the user, they exist with whatever value you’d like it to hold. You could have it hold a time or time zone value for the person filling it out, so you’re not using server time for example. In this case, we’re having it fill in the currently logged in user’s username. This is what we’ll use to make sure we only display data that this user has entered.

user-name is simply the name that we’re giving the field. This is what it will be named in the database, so it’s a very important part of our code.

default:user_login is a global variable that is handled by WordPress. This is a very simple way of saying:here’s a session id, what is the use id associated with that, and what is the user name associated with that id? K set that as the default value of this field. I prefer the 3 word short code. Imagine all the words I just typed multiplied by PHP and SQL, that’s the beauty of short codes. PHP with WordPress is amazing!

[text* income-name]

I bet you can guess what this one does. Yup, text field. The significance of text* is the asterisk. Marking it with an asterisk sets it as a required field. In this case all of our fields are required, except the hidden one. This is to avoid errors caused by a field that the user cannot see.

[number* income-amount]

The last one we’re looking at before we move on, is the number field. I specify number, so the form will not allow anything but numbers to go in this area. This will avoid any errors in the future with calculations. If somebody decides they want to put a dollar sign, or anything extra, in this area – it would mess up the PHP script, and they would blame you.

Make the form

Before you get sick of me typing, let’s get on to the form! Copy the code above and paste it in the box, just like the following image:

new contact form

After pasting your code in there, click the save button on the bottom left. This will add your first form!

An error?

There will be an error in the mail tab. It’s a very very simple fix, though. Let’s click the mail tab at the top:

mail tab error

The following image is where you’ll find the error, within the mail tab.

additional headers error

Why are we getting this error?

We get the error in Contact Form 7, because we have modified the default template for the form. The [your-email] portion is trying to pull data from a field that doesn’t exist! So we’ll get rid of that issue, by simply putting in our own email.

additional headers fixed

And the error is gone! Let’s click save again, to make sure this error stays gone, and we can move on to the next step

Adding the form to a page

Adding the form is a pretty simple procedure. We’re not even to the point of using any PHP with WordPress yet. WordPress is an incredible creature, and we’ll be simply adding a short code to the page, to generate the form.

So where’s the shortcode?

You may have noticed, after the contact form was saved, that a short code popped up in a purple area on top of the form editor. This is going to be the short code that we will copy and paste to our new page, yours may have a different ID than mine, so don’t copy mine. Here’s where you’ll find it:

contact form short code

Find that code, and copy it for the next step.

Let’s create a new page! This can be done by mousing over the new button, in the top navigation bar of your WordPress site, and clicking page.

new page

If you’re this far into it, you probably already know how to make a new page. I’m just including these images to avoid any confusion, or misinterpretation of what I’m saying. Now that we’re in the create a page area, simply paste the short code in to the page editor area and click Publish. This is what mine looks like:

add form to page

Now that we have published it, let’s preview it, and add our first entry! We will need an entry to work with, before we can have any data displayed in a table. After you input a Income Name, Income Amount, and Notes if you want to add them, click  add. This is what your form should look like:

add weekly income

After you click the add button, you’ll get a message saying thank you, your message has been sent. That’s because this is normally a subscriber form, we’ll learn how to remove this and redirect to a new page in a different post. If you’ve gotten this far, success! You’re super close to being done.

Advanced CF7 DB

Here’s the tough part, Advanced CF7 DB. Database work is terrifying! Not with this addon, though. Seriously, there’s nothing to do. If you want to verify that the entry went in the database, you can do it here. That’s all we have to do with it, it does it’s own thing! Here’s my DB entry, you can check it out to see if it went in, just like I did.

verify database entry

That’s it, for real. Nothing to do. Next!

PHP Code Snippets

K, here we’ll finally add some PHP code to WordPress. Click on XYZ PHP Code, on your left hand navigation. When that loads up, we’ll click add new php code snippet. That will get the ball rolling. We’re going to start with the Table Styling. That will put some color to our table. Here’s what the input looks like:

add php code

You’ll want to copy the exact code, and names that I use. The functionality depends on that. Feel free to ask questions, if you have any. Here’s the code we’ll use, in between each chunk of code, you will click  and go start a new one. This code is released under the 2-Clause BSD license, details can be found here. Here are the blocks of code:

Tracking Name: Table-Style

//Copyright 2018 Your Epic Tech
//Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
//1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
//2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
//THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

<?php
?>
<style>
.datagrid table { border-collapse: collapse; text-align: left; width: 100%; } .datagrid {font: normal 12px/150% Arial, Helvetica, sans-serif; background: #fff; overflow: hidden; border: 1px solid #006699; -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; }.datagrid table td, .datagrid table th { padding: 3px 10px; }.datagrid table thead th {background:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #006699), color-stop(1, #00557F) );background:-moz-linear-gradient( center top, #006699 5%, #00557F 100% );filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#006699', endColorstr='#00557F');background-color:#006699; color:#FFFFFF; font-size: 15px; font-weight: bold; border-left: 1px solid #0070A8; } .datagrid table thead th:first-child { border: none; }.datagrid table tbody td { color: #00496B; border-left: 1px solid #E1EEF4;font-size: 12px;font-weight: normal; }.datagrid table tbody .alt td { background: #E1EEF4; color: #00496B; }.datagrid table tbody td:first-child { border-left: none; }.datagrid table tbody tr:last-child td { border-bottom: none; }.datagrid table tfoot td div { border-top: 1px solid #006699;background: #E1EEF4;} .datagrid table tfoot td { padding: 0; font-size: 12px } .datagrid table tfoot td div{ padding: 2px; }.datagrid table tfoot td ul { margin: 0; padding:0; list-style: none; text-align: right; }.datagrid table tfoot  li { display: inline; }.datagrid table tfoot li a { text-decoration: none; display: inline-block;  padding: 2px 8px; margin: 1px;color: #FFFFFF;border: 1px solid #006699;-webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; background:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #006699), color-stop(1, #00557F) );background:-moz-linear-gradient( center top, #006699 5%, #00557F 100% );filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#006699', endColorstr='#00557F');background-color:#006699; }.datagrid table tfoot ul.active, .datagrid table tfoot ul a:hover { text-decoration: none;border-color: #006699; color: #FFFFFF; background: none; background-color:#00557F;}div.dhtmlx_window_active, div.dhx_modal_cover_dv { position: fixed !important; }
</style>

Tracking Name: Functions

//Copyright 2018 Your Epic Tech
//Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
//1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
//2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
//THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

<?php
//****************************************************************************
//***This function gets all id's for things the user submitted with forms.***
//***This function also filters id's that aren't for the table being built.******
//****************************************************************************
	function dbgetdataids($username,$filter){
                global $wpdb;
		$results= $wpdb->get_results ( "SELECT DISTINCT data_id FROM " . $wpdb->prefix . "cf7_vdata_entry WHERE name='user-name' AND value='" .  $username . "'");
$i=0;
foreach ($results as $result) {
$wpdb->get_results ( "SELECT data_id FROM " . $wpdb->prefix . "cf7_vdata_entry WHERE name='" . $filter . "' AND data_id='" . $result->data_id . "'");
if ($wpdb->num_rows == 0){
unset($results[$i]);
}
$i++;
}
return $results;
	}
//****************************************************************************
//***************This function gets individual entries by id.*****************
//****************************************************************************
	function dbgetentry($name,$id){
                global $wpdb;
		$name = $wpdb->get_results ( "SELECT value FROM " . $wpdb->prefix . "cf7_vdata_entry WHERE name='" . $name . "' AND data_id='" .  $id . "'" );
return $name;
	}
	
//****************************************************************************
//***This function builds the 3 column table, with as many rows as exist.**
//****************************************************************************
function buildtable($username,$namevar,$amountvar,$notesvar,$tablelabel1,$tablelabel2,$tableheader1,$tableheader2,$tableheader3){
                $c = true;		
//**Building Columns
	        $dataid = dbgetdataids($username,$amountvar);
		echo "<div class=\"datagrid\"><table><thead><tr><th>" . $tableheader1 . "</th><th>" . $tableheader2 . "</th><th>" . $tableheader3 . "</th></tr></thead>";

//**Building Rows**
foreach ( $dataid as $id )   {
		$name = dbgetentry($namevar,$id->data_id);
		$amount = dbgetentry($amountvar,$id->data_id);
		$notes = dbgetentry($notesvarvar,$id->data_id);

	        if ($c) {echo "<tr class=\"alt\">";} else {echo "<tr>";}
	        echo "<td>";
		echo $name[0]->value;
                echo "</td><td>";
		echo $amount[0]->value;
		$totals = $totals + $amount[0]->value;
	        echo "</td><td>";
		echo $notes[0]->value;
	        echo "</td></tr>";
                $c = !$c; 
}  

	echo "<tfoot><tr><td colspan=\"3\"><div id=\"paging\"><span><ul><li><a>" . $tablelabel1 . "</a></li><li><a>";
        echo $totals;
	echo "</a></li></ul></span></div></td></tr>";
	echo "<tr><td colspan=\"3\"><div id=\"paging\"><span><ul><li><a>" . $tablelabel2 . "</a></li><li><a>";
	$totals = $totals*4;
        echo $totals;
	echo "</a></li></ul></span></div></td></tr></tfoot></table></div>";
}
?>

Tracking Name: Build-Income-Table

//Copyright 2018 Your Epic Tech
//Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
//1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
//2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
//THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

<?php
	global $current_user;
        get_currentuserinfo();
	$username =  $current_user->user_login;	
        $tablename = "income-name";
	$tablelabel1 = "Weekly Income";
	$tablelabel2 = "Monthly Income";
	$tableamount = "income-amount";
	$tablenotes = "notes";
	$tableheader1 = "Income Name";
	$tableheader2 = "Income Amount";
	$tableheader3 = "Notes";
buildtable($username,$tablename,$tableamount,$tablenotes,$tablelabel1,$tablelabel2,$tableheader1,$tableheader2,$tableheader3);
?>

So you should have 3 PHP code snippets:

  • Table-Style
  • Functions
  • Build-Income-Table

Table-Style just makes the table pretty.

Functions provides a few necessary functions to gather the data, but not too much data, for the table.

Build-Income-Table builds the table, and calls the functions to gather the data and lay it out nicely.

php code snippets

Now what?

Next to each code snippet, you’ll see a short code. That’s what we’ll use to display the table on the page. 3 short codes. They need to go in correct order, Table-Style, Functions, Build-Income-Table.

You’ll want to copy these 3, and we’ll create another new page, as we did earlier! Paste those puppies into the content area, and let’s see what we get.

Success! You just lied to everybody, and told them you make $50,000 per week! I wish! Let me know if you have any ideas, or how you put this to work. I look forward to hearing about it! PHP with WordPress is not too shabby.

perfect image

Creating Effective Images for the Web

How long have you been creating images for the web? Have been creating images for quite a while now. I didn’t realize until recently, when I looked at the statistics driven by the images that I have created, I wasn’t creating effective images. Why not? These images that I was creating weren’t tailored for my audience, they were created for me. Images that I have created for myself aren’t going to attract anybody else’s attention. I’m not trying to attract myself to my own site, I am already on my website everyday.

perfect image

Colors

There was a study recently that showed that the color Orange grab users attention better than any other color. This make sense, fire trucks are Orange and they are pretty hard to miss. Think of other Orange objects around you that are placed there to grab your attention, they are everywhere. Orange is a great color for background, or for a bold heading. This should be the color used to direct the reader towards the most important part of your image.

What other colors are very important to include? Blue and green are two very important colors when trying to attract the attention of men. Its color is make men feel at home, like this place was made for them.

What about women?   Pink is probably the best color for women because it is the most feminine color. Purple is also an amazing color for women, Because purple is the color of royalty, And every woman wants to be a princess.

Keep in mind when you are creating your image, how important it is to identify the audience that you are targeting. If you are targeting everybody, then really you are targeting nobody. Another rule to all of these things that I’m telling you today, is please don’t over do it. If you use a ridiculous amount of Orange in an Image, you will probably scaring people away. These colors are used to attract the attention of people, and generally you’re trying to attract them to a specific part of your image. Don’t create an image that attracts negative attention.

Fonts

The fonts that you use are a very important part of your image. I admit, I have only began to touch the Surface of what fonts can do for me. I have recently come to realize how much my fonts can affect what I’m trying to get across to the reader.

Don’t get me wrong though, fonts can also be overdone in a terrible way. There are some very cool looking fonts out there , but that doesn’t mean that they’re always right for the job. Humans are becoming more and more quick when deciding whether or not they like something. If they can’t read your text in less that about half of the second, they are not going to pay any attention to your image at all.

Your main heading should be bold and easy to read. It should also be short and sweet. This makes it very easy for people to comprehend, if they have to read it more than once, they will probably give up. That is another thing About millennials, if they feel that there is a chance that they will fail at something, like reading your text, they will give up immediately. I am a millennial, and I am living proof of this. If your text is terrible, I’m not going to read it, there’s plenty of other things on the internet.

Artistic text can add a good touch to your image, but again do not over do it. You can use artistic text as a subheading or a short description, very short. You do not want your readers to be straining their eyes trying to read this.

Background images

Please think about your topic before choosing a background. Where a picture is worth a 1000 words, a bad picture is worth a 1000 grammatical errors in between each of those words. If you place an image in the background that isn’t related to something that the reader is looking for, they probably won’t be looking at your picture. Dark pictures have the same effect on people’s view of your picture, dark images are an immediate turn-off for most people.

A moderately bright picture, with perfectly offset text/container will grab a user’s attention, and direct them exactly where you want them to go. Your image is the headline for whatever it is that you’re attracting attention to.

Perfection!

Remember your image is never perfect. I spent quite a while trying to come up with the perfect image to represent a post, that is actually about the perfect image. Don’t get carried away with spending amazing amounts of time to make the perfect image, because you’re only going to realize more flaws in your image as the time goes by.

Your turn!

What do you think? Anything I missed? How are you going to use this info on your own images?