​Videoblocks Is Giving You 7 Days of Complimentary Downloads

Original Source: http://justcreative.com/2017/11/05/%E2%80%8Bvideoblocks-free-downloads/

Get 7 days of downloads on VideoBlocks!

Choose from 115,000 stock footage, backgrounds, and After Effects templates.

» Start Downloading Now

140 Downloads – Grab 20 clips a day for 7 days.
115,000 Choices – Download anything you want from their Member Library.
Forever Yours – Keep everything you download, even after your week ends.
Royalty-Free License – No licensing fees for personal or commercial projects.

Just create an account, and you get download access to everything in the Member Library for 7 days.

» Start Downloading Now

Don’t wait! This offer expires soon!

Samples From VideoBlock’s Collection

VideoBlocks Lake VideoBlocks Sky VideoBlocks Bike VideoBlocks Mountains VideoBlocks NYC VideoBlocks Beach VideoBlocks Surf VideoBlocks Trees

» Start Downloading Now

10 Ways to Increase Interactivity in Your Emails

Original Source: http://justcreative.com/2017/11/06/10-ways-to-increase-interactivity-in-your-emails/

This article was contributed by Kevin George.

Emails are constantly evolving. What began as an interdepartmental communication channel is now a vital marketing tool to reach the masses. Unlike a social post which is lost in a sea of updates, your emails reach your subscribers’ inbox, ready to be opened and read.

But the steps every email goes through are almost similar. Your subscriber receives your email, opens it, spends roughly 8 seconds to go through it, decides to either respond or move to the next email and repeats the same steps. Every email marketer struggles to make their emails interesting enough for their subscriber to spend more time and this increased time spent can be really pivotal in converting them into customers.

To make any email engaging, you have two options:

Make your email content engaging
Make, how your email content is presented, engaging

Email marketers have been using best practices and experimenting with email elements such as layouts, colors, email copy, visually appealing hero images, since long. Now, what if we tweaked the method of presenting the above-stated email elements so that your subscribers interact with your emails to unfold the message?

See here for the anatomy of the perfect email and how to use personalization in email.

Carter Dr.-Marten

Would you like to remind your subscriber about limited sale via text (a) or have a countdown timer (b) in your emails?

Presenting Interactivity in Emails…

Ever since the amalgamation of CSS (Cascading Style Sheets) into HTML emails, the scope for including keyframe animation in emails became possible. Using keyframe, any specific element from an email can be moved, expanded, reduced, flipped, etc. The end result is super amazing elements that change according to the user interactions.

We shall look into some of the interactive email elements that are being included by brands to make their emails STAND OUT. With some minor exceptions, the below stated interactive email elements are supported well in most of the widely used email clients.

Countdown Timer

Countdown, in any form, triggers the fear of missing out in the minds of the reader. Leveraging this sense of urgency, email marketers use countdown timers in their sale promotion/ announcement By using CSS, you can enable the timer to countdown from the time the email was opened to the deadline time. Unfortunately, this is currently only supported in Apple devices and Thunderbird, but fortunately for the non-supporting email clients, a GIF of the countdown timer can be a good fallback option.

The E-commerce industry can use countdown timers to depict the expiry of an ongoing offer or even for the abandoned products in the cart.

Dr.-Marten

In the above example, the countdown is right in the first fold. 

Scope of Application:

Ecommerce sites can create ‘limited period’ urgency while offering discounts on different products and in their cart abandonment emails.
Attendees to an event can be sent reminder by event companies
Automobile industry can send emails to enthusiasts with a countdown before the launch of a new car model.

Navigation Menu

Most of the brands now feature a navigation menu in the header or footer of the email. But when the email is opened on a mobile device, the content stacks up to make the email unintentionally long. This can be overcome by hiding the navigation menu within a collapsible menu so that only those interested can click on it. Moreover, the navigation when placed at the footer, shall not force the email content to shift down, as with the case in the navigation menu on the top.

This is compatible currently on Android native and Apple’s Native email clients.

Nike

As you can observe, in the above email the mobile layout features the navigation menu at the bottom

Scope of Application:

Links to extensive tour options can be offered by brands in Travel and hospitality services, neatly tucked behind menus within emails.
E-commerce websites can provide links to different product sections to showcase new product launches, recommendations and cross selling within the navigation menu.

Rotating Banner

When you need to showcase different products or variation of the same product, stacking them into columns is not a very wise decision in terms of email length. In such cases, integrating all the images into a rotating banner can be really helpful. Rotating banners automatically loop between different images, separated by a preset time interval – one image at a time. This doesn’t require any manual input from the user’s end and it keeps on running in a loop, being especially helpful when viewing on mobile devices.

Rei Ghost - Carousel

Adventure Gear retailer REI’s email features a rotating banner at email header explaining their featured product

Scope of Application:

Tour and travel companies can showcase various tour packages in limited space.
Academic and educational institutes can have a slideshow of their awards and achievements.

Sliders

Counterpart of rotating banners, sliders perform a similar function but the only difference is that in sliders the subscribers can rotate the banner in either direction, based on their interaction. Moreover, you can have separate CTA buttons for individual frames to help monitor user interactions.
Nest Slider

Home Automation Nest email features the slider showcasing their products.

Scope of Application:

Technological companies can display their products/services offerings, customer feedbacks, etc. through a slider.
Retailers can show all their newly launched products in one email, courtesy sliders in email.

Scratch & Flip Effect

For a dramatic effect, coupon codes in emails can be hidden behind a silver strip that a subscriber needs to virtually scratch or click in order to reveal. This is helpful in creating a sense of mystery and raises the subscriber’s curiosity level.

In desktop, both effects will work well in Apple Mail & Thunderbird; in mobile devices, it will work in native apps only.

Email-Flip-New

EmailMonks have implemented a flip in their email for Easter offer

Scope of Application:

E-commerce websites can create some drama by sending a coupon code that is revealed by a scratch effect and flip-flop a product’s image and information.
For a research company, providing stats and a brief about a research can be done successfully through a flip effect.

Accordion Effect

You can reduce the overall email length by hiding the email content behind tabs. When the subscriber clicks a tab, the content expands and any other tab shall get collapsed automatically. Really helpful when you need to share secondary information on a single product that’ll remain hidden until tapped. Although supported in desktop clients, its applications are best enjoyed in emails opened in mobile devices.

Accordion

In the above email, the content is neatly stacked into tabs when viewed in the mobile layout

Scope of Application:

Publishers and bloggers can implement accordion to accommodate more content in their email newsletter.
eCommerce retailers can provide secondary information about a product that’ll remain hidden until tapped.

Integrated Forms

Integrated Forms

Instead of redirecting your subscribers to a landing page, you can embed in-line forms within your emails for lead generation purposes. By having an integrated form in email, you increase the form filling efficiency manifold. But what needs to be noted is that only Text box, Paragraph, Checkboxes, and Radio Buttons are supported currently.

These come very handy when you need to conduct surveys or collect feedbacks. The data collected in the form field can be redirected to any search engine or your website database to enable search right from your email.

Scope of Application:

E-commerce websites, in their post purchase email, can add a form in which the customer can review the product.
Restaurant owners can send promotional emails to get subscribers for filling form to process the specific order or for reviewing their experiences.

Tooltips

Tooltips

Similar to the tooltips you encounter on websites and desktop applications, you can integrate a tooltip within an email. This can be really helpful for e-commerce emails, where subscribers can get additional information about a specific product by clicking or tapping on the overlay. Combined with embedded forms in emails, it can be used to provide helpful information.

Scope of Application:

Apparel and retail stores can show elaborate information on their products when the user clicks on the tooltip box.
Tourism companies can share the details about amazing destinations with related package details displayed on correct word.

Video

The most engaging content since the popularity of Youtube and Snapchat, you can even include a video that is embedded in the email. Upon user interaction, the video can play right inside the email. Currently supported in Apple devices, Outlook for Mac and Android native clients.

In the above email, Eurostar has added a rotating banner using GIF as well as an embedded video right in their email.

Wrapping Up

Email marketing still manages to bring the highest ROI, and innovations such as these interactive elements, keep email at the top as the preferred marketing tool by most marketers. Moreover, those with non-supporting email clients are not left in the dark since all the above interactive emails designs come bundled with appropriate fallbacks in order to not ruin the user experience.

Have you ever received or sent any interactive email? Share your experience in the comments below.

About the author: Kevin, the Head of Marketing at EmailMonks – one of the fastest growing Email design and coding companies, specializes in crafting beautiful email templates, PSD to HTML email conversion and free master email templates. He loves gadgets, bikes, jazz, and breathes ‘email marketing’. 

23 Beautiful Wireframe Sketches for Web Designers

Original Source: https://line25.com/articles/wireframe-sketches

Speed up your design process, build websites and apps faster and make the whole web/app developing process a lot easier with these beautiful wireframe sketches!

In case you are not familiar with the differences between a prototype and a wireframe, here are some clarifications:

A wireframe is a low-fidelity design depiction. It lacks fine detail, it’s static, and while it often defines shape, it lacks in substance (functionality).
A mockup can be a mid – to high-fidelity depiction of a design. But while it may provide a significant amount of detail, it is also static.
A prototype, on the other hand, is dynamic. A prototype can represent a product to any degree of detail you might choose. Or any part or specific feature of an end project. A prototype can be virtually indistinguishable from a final design in terms of look and feel. But it is still only a simulation.

Prototypes can be attractive, although they don’t necessarily have to be. They need to work well enough to prove key design features.

To create a prototype:

Sketch out the page flows (how a user might navigate);
Build low-fidelity versions of each page. Run usability tests, and take note of lessons learned;
Add detail until your high-fidelity model can emulate the look and feel of the proposed design;

The focus below is on prototyping tools. Several have wireframe and mockup capabilities as well, and there is one on the list that can deliver a working product.

So, we selected here 23 helpful wireframe sketches web designers can use. These are not only for websites but can also be used for apps as well. In this list, you will find both desktop and mobile wireframes which will help you effectively build your designs on them!

These are both general and more specific wireframes. You will find some niche-oriented wireframes for entertainment and weather apps too in this showcase.

Also, these great wireframe sketches can be used to show your clients some initial ideas before beginning the whole complex design process. Get inspired and create your own based on these examples.

Wireframe Effectively on the New, Improved 970 Grid System

Wireframe Effectively Wireframe Sketches

Designing your page layout is one of the most important aspects of web design and using a grid system is a popular approach in this case. Grid systems are usually used during the wireframing stage of your design project. In this article, you’ll find plenty useful information in regards to how to effectively wireframe in the 970 grid system.

Weather Analytics Application by Michael Pons

Weather Analytics Application Wireframe Sketches

This example is the result of a hard-working team who delivered a world-class user interface which was designed to match WTI’s ambition in regard to backends and complex data information. They’ve managed to turn information into the catalyst for delivering actionable date. The user came first in this team’s design approach.

Wheel Of Om Nom Wireframes

Wireframes

There are many and varied ways to increase the quality of a design. Some processes can be streamlined, avoiding errors or redundant processes can also help, and awareness of what is happening from a project’s start, through to its conclusion is also important. That’s why wireframing is such an important step! Here is a very helpful example of good wireframing. Check it out and see how many things you can learn from The Wheel of On Nom Wireframes.

E-Commerce wireframe Concept design

E-Commerce wireframe Concept design

This is a really nice UI/UX wireframe which was specially designed for customers who are looking for custom solutions based on their needs and who have unique requirements in the e-commerce field. This is only a preview of the project, this wireframe has become now a default template for e-commerce websites.

Mobile Wireframe Kit PSD

Mobile Wireframe Kit PSD

This is a really nice wireframing example which could help you a lot in the features. It is definitely well designed and crafted and it comes in PSD version so make sure to download it and have a closer look at it.

Wireframe Examples

Wireframe Examples

Maybe it’s time to stop working harder, and start working smarter! Wireframing is the key! You might want to save this link as it contains various examples of wireframing. Have a look at them and get your inspiration.

Kitchenware Pro – Wireframe Kit

Kitchenware Wireframe Kit

Kitchenware Pro is also a helpful wireframing kit you might want to keep close to you. It contains various examples and one of them, if not all, might be your next source of inspiration.

Virgil App Wireframe

Virgil App Wireframe

This is an app wireframe example that could be a great starting point for future awesome apps. It was specially designed to guide users in public transportation, by sending them a notification when the buss is about to arrive. It’s got a minimalist interface and it is definitely an example worth following.

App design | Phase 2: Wireframes

App design Wireframes

This is an overview of the UX flow which was specially designed for a radio streaming platform. This example is really nice and it could be a great starting point for future projects.

Colorframes

Colorframes Wireframe Sketches

Have a look at designer’s wireframing project and his sketchbook and get inspired by the hard work that was put into it.

Wireframe & UI Elements

Wireframe Elements

This is a nice set of wireframing and UI examples in which you will definitely find your inspiration.

iOS 8 UX Flows

iOS Flows Wireframe Sketches

This example is part of a project. The designer was working on some iOS 8 updates and this is a preview from his wireframing process.

PSD Web Design – One Page Website Wireframes

PSD Wireframes

If you’re looking for some inspiration for one-page website wireframes then you’ve come to the right place. This site contains various examples.

Movies app wireframe by Vladimir Vorobyev

Movies app wireframe

This is a really useful Movies app wireframing designed by Vladimir Vorobyev. It is done on a millimetric paper texture and it has a minimalist design.

Vim Interactive homepage concept

Vim Interactive homepage concept

If you want to dig in into more designer’s sketchbooks check out this wireframing scheme and get your inspiration. This example is an interactive website’s homepage.

Wireframe

Wireframe

If you’re up for even more wireframing examples check out this one and the ones yet to come. This example is very detailed and it could be a great source of inspiration.

Wireframes by Evgeny Vasenev

wireframes

Evgeny Vasenev chose a really nice presentation format for his wireframing process, a brochure format.

Interactive Sketching Notation

Interactive Sketching Notation

This example is part of an article about wireframing and interactive sketching notation. The idea behind this example is driven by a desire to visualize user interface states and actions in a clear and rapid manner.

Annotating Wireframes

Annotating Wireframes

This is a clean illustration of Annotating Wireframes which you can use as a source of inspiration. This is a great starting point for future projects.

Moderation Dashboard Wireframes

Moderation Dashboard Wireframes

This example contains some ideas for a moderation dashboard. Everything is very clear and highly detailed.
Basiliq – Freehand UI Kit by Cloud Castle

Basiliq Wireframe Sketches

This is a hand-drawn and designed UI Kit by Cloud Castle which might become your next source of inspiration.

Layout sketches – Eddie Lobanovsky

Layout sketches

Have a look at a designer’s project. This example contains a hand-drawn layout concept in which you’ll definitely find your inspiration.

Wiki Wireframe

Wiki Wireframe

This is only a preview of a wireframing process which includes a layer for written documentation. This example communicates the UX and UI intentions.

The post 23 Beautiful Wireframe Sketches for Web Designers appeared first on Line25.

Marketer Cheats his Field With Design – Creates 15 Logos in 15 Days

Original Source: https://webdesignledger.com/marketer-cheats-field-design-creates-15-logos-15-days/

Robert Katai’s first contact with the design was back in the days when Photoshop was a fun tool, used essentially for liquifying friends’ faces. We’ve all been there, on either one of the teams – the liquefiers or the liquified.

The first time I opened a design program was way back when Photoshop was only for liquifying your friends faces and edit some photos of  your crush’s in high school.

Since then, he has come a long way and today he’s a visual marketer and content strategist at Bannersnack. Even though he didn’t follow the design path as a career, he finds joy in creating something visually beautiful from scratch from time to time.

He enjoys experimenting and challenging himself, hence, he decided to start 15 days dare: to create each day a logo for a marketing buzzword.

“As every marketer who wants to do something new, something different and crazy, I thought about starting a 15 days challenge and design some marketing logos.”

Throughout the process, Robert has asked for the opinion of his fellow designers but even though he received some suggestions he decided to leave his logos chiseled.

“Well, I don’t want to make them perfect. Because I’m a marketer, not a designer!”

Check out Robert’s gallery of 15 marketing logos! Let us know what you think.

 

Read More at Marketer Cheats his Field With Design – Creates 15 Logos in 15 Days

22 New Forum Website Themes with Great Functionality

Original Source: https://line25.com/articles/new-forum-website-themes

Even though people are more into social media these days, forums are still frequently used! You can add a forum to your website and create a whole community around it. Forums for specific niches can be very helpful and can also help your website grow.

These 20+ forum website themes may come in handy if you want to build an online community or a forum! These forum themes offer advanced customization features and lightweight CMS solutions, They use various types of content management systems such as phpBB, Vanilla or vBulletin.

These forum website themes bring much more than just a beautiful design for your forum! They offer an optimum performance and are designed to provide a seamless user experience. Customization can be easily made, without too much coding knowledge.

So, if you’re thinking about adding a forum on your site or creating an online community, then we recommend you to take a look at these 20+ new forum website themes with great functionality. These new forum website themes have nice designs, user-friendly layouts and will help you build an online community in just minutes!

Here they are:

Ravaio – Modern Responsive phpBB Forum Theme

Ravaio Forum Website Themes

Ravaio has a modern and functional minimalist design which will definitely grab your attention. You can customise it to best fit your interests and even add a large horizontal image in your header and overlay some huge white typography.  This example is exactly what you need to build an online community.

Cinematix – BuddyPress Theme
Cinematix - BuddyPress Theme

Here you have everything you need to build a community. This template was specially designed for a social media website. You can use this template to build an amazing social network for your company, school, sports team or niche community. It also has a nice and colorful interface design.

BBOOTS – HTML5/CSS3 Fully Responsive phpBB 3.2 Theme
BBOOTS SHOWCASE Forum Website Themes

This theme has a clean and functional design which will look great on any devices and browsers. It was build based on a Bootstrap Framework. You can easily customise it and change colors. You’ll start your online community in no-time!

Ideal – A vBulletin 4 Suite Theme

Ideal - A vBulletin 4 Suite Theme

Ideal, as the name suggests, is an ideal premium theme for the full vBulletin 4.x suite and it was specially designed for vBulletin users who want a more clean, modern look for their project. You can edit and customised everything this template contains to make the perfect forum for your community.

Metro — XenForo Responsive & Retina Ready Theme

Metro Forum Website Themes

This template has a flat design and it can suit any kind of online community. This is a premium theme which will look great on every device and browser.

Quarto —phpBB3 Responsive & Retina Ready Theme

Quarto phpBB3 Responsive Theme

Quarto is yet another cool premium theme with a modern flat design. Do not miss the chance to use this template. It’s got amazing features and it can easily be customised.  This theme is suitable for any phpBB3 forum community.

ForumEngine, Flat Responsive WordPress Forum Theme

ForumEngine Best forum software

ForumEngine is a template that focuses on the individual and what they’re posting on your online community. This is a flat, minimalist and responsive WordPress forum theme.

Hawiki – Forum Theme

Hawiki Forum Theme

Amongst its amazing features, this template contains a W3C valid HTML + CSS, a responsive and retina ready design, various footer blocks and more! It has a minimalist and it is definitely a template worth having in your collection.

Paper – Flat Theme for vBulletin 5 Connect

Paper Forum Website Themes

This is a really nice flat theme for a forum website. The Flat Theme is a forum style for vBulletin 5 Connect and it has a modern and functional design which can easily be customised to best fit your interest and it is exactly what you need to start your own online community right away!

Paragon – A vBulletin 4 Suite Theme

Paragon vBulletin Theme

This awesome theme is cross-browser and cross-device compatible. It has a modern design and it is very easy to customize it to your forum’s needs. Paragon is also a nice vBulletin theme at which you might want to have a closer look at. It a premium theme which was specially designed for online communities so it comes along with great features.

Primus – A Theme for vBulletin 4.2 Suite

Primus Forum Website Themes

If you like modern and colorful forum themes then have a look at this customizable example. Primus is a vBulletin 4.2.4 theme which comes in five color schemes, a fixed and fluid layout, Google web fonts and many other features. It has a clean and simple design, perfect for online communities and forums.

Electron – vBulletin Forum Skin

Electron Forum Website Themes

Electron is a vBulletin 4.2.x forum with a clean and minimalistic fluid and fixed width style. It has plenty great features such as detailed documentation, XHTML and CSS3 valid, cross-browser support and much more.

Forum Plus – Responsive Drupal Forum Theme + RTL
Forum Plus - Responsive Drupal Forum Theme

If you’re looking for more amazing forum themes then check out Forum Plus, a responsive Drupal forum theme. This is a fully-responsive theme which comes with the PSD files included. It has a sleek and modern design which you can customise. Using this template will save you a great deal of time and it will help you rapidly achieve the results you want.

Vilan Corporate, Shop & Forum WordPress Theme

Vilan Corporate Forum Website Themes

Vilan is a professional business, eCommerce, and forum theme for WordPress built with Bootstrap with a flat and simple design, vibrant color variations and custom modules. On this template, you can easily use plugins such as the Visual Composer and Revolution Slider.

One Click – Premium Vanilla Theme

One forum Theme

The One Click template might be just what you’ve been searching for. It has a friendly and intuitive user interface and plenty color variations. This theme offers a great user experience for all forum users.

Subway – Flat Metro phpBB 3.1 Theme

Subway - Flat Metro forum

Subway has a minimalist yet very friendly design. This theme is perfect for setting up an online community and has a design that is clean and crisp and looks awesome across all browsers and devices.

Eles – Responsive phpBB 3.2 Theme

Eles - Responsive phpBB 3.2 Theme

Eles is yet another great example of forum template. It has a nice design which is also responsive so you won’t have to worry about how your forum will look like on different devices.

FLATBOOTS – phpBB 3.1 and 3.0

FLATBOOTS Forum Website Themes

The Flatboots theme was built on a Bootstrap framework. This is a great premium theme for forums which also comes with plenty amazing features. You’ll find everything you need to build an amazing online community.

Pristine – A vBulletin 4 Suite Theme

Pristine Forum Website Themes

Pristine is yet another great example of an online community template. You can customise this theme to best fit your interests. You can also add a really nice background picture such as the one you see in the preview. It was designed to serve vBulletin users who are looking for a hi-tech forum style.

HelpDesk – WordPress Support Center Theme

HelpDesk - WordPress Support Center Theme

Helpdesk comprises in a single template everything you need for your project. This template can be easily customised, it has a fully fledged Knowledge Base which will help your forum’s users find solutions. It is compatible with all the modern browsers and it is fully responsive.

Ariki – phpBB3 Flat Theme

Ariki Forum Website Themes

If you’re looking for another cool and flat template for your website then you might want to check out Ariki. It has a friendly and intuitive user interface design.

Marina — Responsive & Retina Ready phpBB3 Theme

Marina Forum Website Themes

Last but not least, Marina is a great responsive and retina ready forum theme. The web design layout looks great and comes with a clean design, focused on readability and subtly enhanced with CSS3 effects.

The post 22 New Forum Website Themes with Great Functionality appeared first on Line25.

Active Record Without a Rails App

Original Source: http://blog.teamtreehouse.com/active-record-without-rails-app

When you want to work with Ruby on Rails models, even if you’re just playing around, you have to go through a few steps:

Create an app directory
Create a database
Generate model classes
Run migrations

But sometimes you need something much more lightweight. When I was creating code challenges for our new Active Record Associations in Rails course recently, I needed to simulate a full Rails environment without actually loading Rails (which would have been too slow). So I created a setup that:

Loads just the Active Record library, not all of Rails
Creates a database entirely in RAM, not on disk
Sets up the database without running migrations

I wanted to share my results with all of you, so you can experiment with new Rails models without having to create full Rails apps.

Start learning to code today with a free trial on Treehouse.

The Code

The bulk of our simulated Rails app resides in a single file. This particular setup mimics an app for a veterinary office, including an Owner model that has_many instances of a Pet model. (But you can substitute model classes of your own, if you want).

Create a file named vet.app, in any folder you want, and paste in this code. (We’ll explain all the code in a bit.)

File: vet.rb

# Instead of loading all of Rails, load the
# particular Rails dependencies we need
require ‘sqlite3’
require ‘active_record’

# Set up a database that resides in RAM
ActiveRecord::Base.establish_connection(
adapter: ‘sqlite3’,
database: ‘:memory:’
)

# Set up database tables and columns
ActiveRecord::Schema.define do
create_table :owners, force: true do |t|
t.string :name
end
create_table :pets, force: true do |t|
t.string :name
t.references :owner
end
end

# Set up model classes
class ApplicationRecord < ActiveRecord::Base
self.abstract_class = true
end
class Owner < ApplicationRecord
has_many :pets
end
class Pet < ApplicationRecord
belongs_to :owner
end

Now to actually use these models. In the same folder, create another file (you can name it anything you want).

File: your_code.rb

# Load the above file
require ‘./vet’

# Play around!
owner = Owner.create(name: “Jay”)
owner.pets.create(name: “Max”)
owner.pets.create(name: “Chai”)
p Owner.first.pets

If you run the above file from your terminal, the model objects will be created and saved to the in-memory database!

$ ruby your_code.rb
— create_table(:owners, {:force=>true})
-> 0.0193s
— create_table(:pets, {:force=>true})
-> 0.0008s
#<ActiveRecord::Associations::CollectionProxy [
#<Pet id: 1, name: “Max”, owner_id: 1>,
#<Pet id: 2, name: “Chai”, owner_id: 1>
]>
$

And when Ruby exits, the database will be removed from memory, leaving you with a clean slate again. You don’t need a Rails app directory or a SQLite database file; all you need is these two Ruby code files.

How it Works

If we’re just playing with Active Record models, we don’t need all of Rails, we just need a database adapter and Active Record itself. These two lines load the necessary libraries:

require ‘sqlite3’
require ‘active_record’

If you use the special value of “:memory:”, SQLite3 can write everything to a database in RAM, rather than a file on disk. Sure, everything disappears when Ruby exits, but that’s actually preferable when you’re just playing around. These lines set Active Record up to use an in-memory database:

ActiveRecord::Base.establish_connection(
adapter: ‘sqlite3’,
database: ‘:memory:’
)

Your model classes won’t work unless the database contains the appropriate tables and columns. A Rails app maintains its database setup in a file named db/schema.rb, and that file can be used to recreate a database from scratch, without running migrations. But the schema doesn’t have to be kept in a separate file; we can just throw it straight into our single-file app!

ActiveRecord::Schema.define do
create_table :owners, force: true do |t|
t.string :name
end
create_table :pets, force: true do |t|
t.string :name
t.references :owner
end
end

And then we need the actual model classes. These lines set them up:

class ApplicationRecord < ActiveRecord::Base
self.abstract_class = true
end
class Owner < ApplicationRecord
has_many :pets
end
class Pet < ApplicationRecord
belongs_to :owner
end

Now to load your makeshift Active Record environment, and set up the database. This line looks in the current directory for a file named vet.rb, and runs the code it contains:

require ‘./vet’

Once that’s done, you’re free to create new instances of your model classes, save them to the in-memory database, and load them back out again!

owner = Owner.create(name: “Jay”)
owner.pets.create(name: “Max”)
owner.pets.create(name: “Chai”)
p Owner.first.pets

Other Stuff to Try

You don’t even have to create multiple files for this – you can house all your code in a single file. For example, here’s a mini-app that lets you play with Post and Comment models from a blog.

The next time you’re troubleshooting an issue with your models, or you just want to show off your code, you don’t have to share a whole Rails app. Instead, you can create one of these miniature apps, and share everything you need with a single file!

P.S.: If you liked this post, you should try out our new Active Record Associations in Rails course!

The post Active Record Without a Rails App appeared first on Treehouse Blog.

From Web Development to iOS Developer: Laurie’s Story

Original Source: http://blog.teamtreehouse.com/web-developer-to-ios-developer

We first met Laurie Gray, an inspiring Scottish Treehouse student, two years ago when he shared his story with us. In less than a year of learning with Treehouse, Laurie had learned to code, switched career paths, started his own freelance business and landed a part-time job as an in-house web developer, which later became a permanent position. Since then, Laurie’s career has continued to evolve, and his journey as a programmer has taken a new direction. Today, Laurie has reached his dream career as a full-time iOS developer. Not only does his role satisfy his thirst for knowledge and intrigue for technology, but he also now works alongside a team of other talented developers.

We reconnected with Laurie to hear more about his experience evolving from web developer to iOS developer and to share his advice with other aspiring iOS developers.

Start learning to code today with a free trial on Treehouse.

What first encouraged you to learn to code and pursue a career in the tech industry?

From the moment I first saw the iOS App Store, heard about the iPhone and saw the power to put apps in people’s hands that they could physically interact with, I became increasingly interested in development. Programming suddenly became very relevant to me, however, at the time it was still shrouded in total mystery; it seemed to be like magic that code could make such amazing things. At the time I didn’t even know how to use a semi-colon correctly in English, never mind whilst programming, so I essentially had to learn everything from the very beginning.

I didn’t even know how to use a semi-colon correctly in English, never mind whilst programming, so I essentially had to learn everything from the very beginning.

I started to get into web development as a means of transitioning from my job at the time and did this outside of my working hours supporting my family as the sole-provider of income for our household. Initially, it was very difficult to pick up some of the most basic concepts, especially when learning Javascript, but over time it began to make more sense and my skills started to grow. I managed to get a part-time position as a frontend developer shortly afterward and then it became my full-time occupation. It was a marvelous feeling developing every day and I loved every second of that job, however, I began to develop apps for the company I was with and I was delighted to begin transitioning into my dream career of being an iOS app developer.

You’re now a full-time enterprise iOS developer. Tell us a little about how your career has evolved since you last shared your story with us.

When I last shared my story I was just starting out on my journey as a programmer. It was my dream to be one day working as an iOS developer, particularly on large-scale enterprise applications and I had no idea how much I would learn on the journey to making that dream become a reality. I have met many incredible and inspirational people along the way to help me reach where I am now (both inside and outside of the tech industry).

I was always the sole developer in my last position which was an interesting challenge. Now I am surrounded by phenomenal developers who constantly share their knowledge openly and don’t mind taking the time to help out when I’m really stuck.

One of the things which I’m so grateful for is that I have several mentors now. Having someone to direct you, give you helpful hints every now and then as well as show you ways of doing things that stretch your thinking has drastically changed the way I approach problems and coding in general. It has really pushed me forward these last few months and seeing their sheer fluency in several technologies has raised the bar for what I expect of myself and provided me with someone to model myself on.

web developer to ios developer

Having someone to direct you, give you helpful hints every now and then as well as show you ways of doing things that stretch your thinking has drastically changed the way I approach problems and coding in general.

What have you found the greatest challenge while learning to code?

The most challenging thing about learning to code is learning on your own for long periods of time. Traditional education gives you small outcomes with planned curriculums which may or may not be relevant to your end goal. Programming contrasts wildly with this! You tend to spend most of your time on the very edge of what you can understand and are trying to use that knowledge – while it is still very fresh – to solve some problem. Furthermore, a lot of this time is spent on your own, without anyone to show you if you’re doing it correctly or not. This can be very incredibly frustrating, especially when you don’t know why your code doesn’t work!

It can be easy to lose direction when you’re working towards being proficient in a certain language or framework and this can lead you into a place where you might get a bit lost on your journey.

What has the value of a Treehouse education meant to you?

Treehouse gave me something that I couldn’t find anywhere else: a track to follow with encouraging teachers. With the mountain of information out there I would have found it difficult to create anything concrete if I didn’t have some sort of route with a definite goal at the end. It was incredibly practical with less theory and more hands-on development and it met my thirst for knowledge where I could take several tracks in order to learn the skills I needed to be employable.

The teachers are super encouraging and somehow that really comes across in the videos. Positivity has an infinite impact on you and you need every bit of it you can get whilst learning to code.

Positivity has an infinite impact on you & you need it whilst learning to code.
Click To Tweet

What are your favorite aspects of working in the tech industry compared to your past career?

My thirst for knowledge has only ever been satisfied when working in tech. It is the only career I’ve had where every single day I am absolutely set to give my all from morning to night and I rise the next day loving it even more. I simply can’t get enough of it. The people within the community are so inspirational and creating things all day is just the best thing on earth. There is nothing quite like it!

What advice would you share with aspiring iOS developers?

I remember going to the stories page on Treehouse when I was starting out to read of people who had managed to transition into a job as an app developer. It really helped me get excited that it was possible and I want to tell those who are reading my humble story that in all honesty being an iOS developer is the most fulfilling job I have ever had. I absolutely love it. However, when you’re working towards making that dream a reality it is incredibly difficult. It feels like you’re going at it every day and not noticing any difference. I know how you feel!

I want to tell everyone who is interested in working in iOS that you absolutely can do it. No one can stop you. You’re limitless.

If I was to offer any piece of advice though I would say give yourself time, practice writing code and most importantly, build something you’re passionate about. Everyone gets into app development with a desire to make something of their own creation. Tap into that creativity and you’ll go much farther than just following other people’s lead.

Every now and then check your old work and you’ll see progress and always be working on something, no matter how small.

Most importantly I would say go out and actually meet real developers. Learning on your own makes it hard to know if you’re going at a good pace and talking things through with an iOS developer can really give you a lift and a catapult you forward towards your goal. Most developers will totally be able to relate to you even early on and will offer you advice and tips that can help. Also knowing people in the community opens doors for you later on.

My thirst for knowledge has only ever been satisfied when working in tech. It is the only career I’ve had where every single day I am absolutely set to give my all from morning to night and I rise the next day loving it even more. I simply can’t get enough of it.

Self-Taught Developer to Web Development Director: Jim’s Story

The post From Web Development to iOS Developer: Laurie’s Story appeared first on Treehouse Blog.

The CSS attr() function got nothin’ on custom properties

Original Source: https://css-tricks.com/css-attr-function-got-nothin-custom-properties/

Normally, the connection between CSS and HTML is that CSS selectors match HTML elements, and the CSS styles them. CSS doesn’t know about the actual content in the HTML. But there is a way CSS can get its hands on data in HTML, so long as that data is within an attribute on that HTML element.

It’s like this:

div::after {
content: attr(data-whatever);
}

That’s certainly interesting. You could use it for (rather inaccessible) tooltips, for example:

<button data-tooltip=”Information only mouse-having sighted people will see.”>
Button
</button>
button:hover::after {
content: attr(data-tooltip);
/* positioned and styled and whatnot */
/* ya, a :focus style would buy you a tad more a11y */
}

But you can’t put HTML in the attribute value, so those tooltips are limited to a string value, and couldn’t have a title, link, or anything like that inside them.

Here’s a better use case. There is an old print stylesheet chestnut where you use attr() to add the URL’s to links, so you can actually see what a link is linking to:

@media (print) {
a[href]::after {
content: ” (” attr(href) ” )”;
}
}

That’s clever. But what else? Could you pass a color down?

<h2 data-color=”#f06d06″>
Custom Colored Header
</h2>

That’s not invalid, but it isn’t useful.

h2 {
/* Not gonna work */
color: attr(data-color);
}

The value from attr() is a string. Even though that string is in the same format as a hex code, it won’t be used as a hex code.

Nor can you pass a URL that can actually be used in something like background-image(). Nor you can pass a unit like 3, 20px or 4rem or 0.8vw.

CSS’s attr() function is only strings, and strings are only really useful as content, and content (being unselectable and somewhat inaccessible) isn’t particularly useful anyway. You can’t select the text of psuedo content, for example, nor search for it, making it rather inacessible.

You know what can pass any sort of value and is equally easy to implement as attributes?

CSS custom properties!

You can pop them right into the style attribute of any element. Now those values are available to that element:

<button
style=”
–tooltip-string: ‘Ug. Tooltips.’;
–tooltip-color: #f06d06;
–tooltip-font-size: 11px;
–tooltip-top: -10px

>
Button
</button>

We’re passing a string to CSS above, but also a color and length values. Those values are immediately usable as-is:

button::after {
content: var(–tooltip-string);
color: var(–tooltip-color);
font-size: var(–tooltip-font-size);
}

Here’s that demo with some fiddly “logic” (would need to be improved a lot to be actdually useful) to allow variations:

See the Pen CSS Custom Properies Mo’ Betta’ than attr() by Chris Coyier (@chriscoyier) on CodePen.

This really isn’t any more accessible, for the record. If I were implementing tooltips for real, I’d probably read the heck out of this.

What about some other “good” use cases for attr()?

One that comes up a lot is responsive data tables. Imagine a table with headers along a top row and rows of data below:

<table>
<thead>
<tr>
<th>First Name</th>
<th>Last Name</th>
….
</tr>
</thead>
<tbody>
<tr>
<td>Chris</td>
<td>Coyier</td>

</tr>

</tbody>
</table>

Rows of data like that might become problematic on small screens (too wide). So in a reponsive data table, we might hide that top row, and show labels on a per-cell basis instead.

@media (max-width: 500px) {
thead {
display: none;
}
/* Need to reveal another label now that we’ve hidden the normal labels */
}

Where does that label come from? We could do…

. …
<tr>
<td data-label=”First Name”>Chris</td>
<td data-label=”Last Name”>Coyier</td>

</tr>

Then:

td::before {
content: attr(data-label);
/* Also display: block things and such */
}

That’s a pretty good use case. If we use some kinda of accessible hiding method for that <thead>, it might even pass a11y muster.

But this same exact thing is doable with CSS custom properties…

. …
<tr>
<td style=”–label: ‘First Name’;”>Chris</td>
<td style=”–label: ‘Last Name’;”>Chris</td>

</tr>
td::before {
content: var(–label);

}

Eric Bidelman pointed me to a method of using psueudo content to show an input’s value.

<style>
input {
vertical-align: middle;
margin: 2em;
font-size: 14px;
height: 20px;
}
input::after {
content: attr(data-value) ‘/’ attr(max);
position: relative;
left: 135px;
top: -20px;
}
</style>

<input type=”range” min=”0″ max=”100″ value=”25″>

<script>
var input = document.querySelector(‘input’);

input.dataset.value = input.value; // Set an initial value.

input.addEventListener(‘change’, function(e) {
this.dataset.value = this.value;
});
</script>

That feels a smidge dangerous to me since I didn’t think pseudo content was supposed to work on replaced elements like an <input>. It’s probably a job for output, and the JavaScript would be essentially the same. You could use pseudo content with the additional element, but there’s really no need for that.

Exploiting the fact that psuedo content can’t be copied is also clever. For example, GitHub does code block line numbering with data-line-number=”” and ::before { content: attr(data-line-number); }.

Nobody likes selecting line numbers when they are trying to copy code! Good use here (probably even more flexible than CSS counters), but again, something that CSS custom properties could handle as well.

<td style=”–line-num: 5″> … </td>

You could argue this is better because if you did want to use CSS counters, you could use that first value to kick things off and not need it on every line.

See the Pen Line Numbering by Chris Coyier (@chriscoyier) on CodePen.

Same deal with typographic trickery involving duplicating text in CSS for stylistic reasons. Check out this cool demo by Mandy Michael using attr(). I’m sure you can imagine how –heading: “Fracture”; could do the trick there.

The CSS3 Values spec (in Candidate Recommendation) has a way to make attr() useful

I’m not sure it matters much, as I’d argue CSS custom properties are a near total replacement for attr(), but the spec does specifically cover this, presumably as an attempt to make it more useful.

The idea is to set the type of value as you grab it in CSS.

<div data-color=”red”>Some Words</div>
div {
color: attr(data-color color);
}

Or…

<span data-size=”50″>span</span>
span {
font-size: attr(data-size px);
}

But as far as I can tell, no browser supports this.

The CSS attr() function got nothin’ on custom properties is a post from CSS-Tricks

New Illustrated Lettering Class with Gemma O’Brien

Original Source: http://justcreative.com/2017/10/26/illustrated-lettering-class-gemma-obrien/

Fellow Aussie, Gemma O’Brien (aka MrsEaves), is a talented award-winning artist who I started following a few years back when I saw her speak at a design conference. She creates incredible, envy producing lettering, illustration and typographic work.

The good news is that she has just released a brand new Skillshare lettering class.

In the class, you’ll create an intricate, illustrated letterform — and level up your skills with new creative approaches to typography, drawing, digital layout, and more.

Every lesson breaks down her step-by-step approach, while also sharing illustration and composition techniques you can add to your personal repertoire and bring to projects of your own.

All are invited to join this class and flex their creativity. Whether you’re new to illustration and looking for a weekend project, or a seasoned artist aiming to create a complex piece, you’ll gain insights and skills for use again and again.

Once you dive in to Gemma’s creative lettering, you’ll never look at illustration the same way again.

2 Free Months of Skillshare Premium!

Get unlimited access to this premium class and 17,000+ more with Skillshare Premium. .

» Get started for free

10 Design Principles That Will Dramatically Boost User Experience

Original Source: http://justcreative.com/2017/10/30/10-design-principles-that-will-dramatically-boost-user-experience/

This article was contributed HubMonks.

A strong user experience (UX) is instrumental in your online marketing success. Increased engagement results into increased leads, which translates into greater revenue.

In this article we will specifically dissect the design principles that influence the extent to which your web page performs for users.

Page Objectives

 

It is not enough to say that you want an excellent website with a good user experience. See the difference between UX and UI here. It is vital to define what your visitors and your business should achieve from the web page. It should be understood that your goals and the audience’s goals may differ. Your visitors’ goals are about finding information or getting a downloadable eBook, while your goals may include increasing engagement, form fill-ups or downloads. The trick is to strike a balance to create a win-win situation for both users and your business. Your goals should help you in establishing the following:

Who the target audience are?
How to craft effective content?
How to organize the website?
How to measure the effectiveness of the website?

In order to understand marketers’ vision it is important to have the key team-members of the design team while discussing online goals in an organization.

User Journey Mapping

User-journey mapping is a visual or a graphical representation of the overall storytelling from the user’s first touch point with your organization, to building a perspective around your service or product or brand, and communicates with them through various mediums. This process is very narrative in nature and requires a text-based approach to describe the nuances of the customer experience.

The story is told from the customer’s perspective, but also lays importance on the important intersections between user expectations and business requirements. Here are the key points that you will have to include in user journey mapping

Visual demonstration of the journey.
Understand user behaviour on the existing website analytics.
Understand the interactive elements that will help them achieve their goals.

Visual Hierarchy

Source: http://edgemm.com

The above picture clearly defines the purpose of visual hierarchy. Visual hierarchy covers almost all the considerations of design; however it tends to give importance to the vital elements of your web page where you want to draw the user’s attention. A robust visual hierarchy also groups similar elements and organize them into meaningful patterns to carry an effective communication process with the viewer. How does a designer actually create a good visual hierarchy? Well, they just need to look for that in their inventory! Here are the key components:

Size: Using size as a hierarchal tool is a great way to guide them to the key components of your web page.
Colour: Colour is a great organizer and also infuses personality. Bold and contrasting colors will demand attention.
Contrast: When audience see something on the web page that is a deviation from the others, they want to know more about it. You could differentiate an important part of the page from the core content of the page with the help of contrasting colors.
Proximity: If there are multiple sections in a web page, how you place related objects of a section is what defines a good proximity. It helps in clearly associating similar content.
Density and Whitespace: When you populate a section of the webpage densely, it looks unfavourable in terms of UX. Similarly, keeping too much space between elements will break the link. So, the elements need to be placed and separated with whitespace to differentiate which elements are related and which aren’t. 

F-Pattern Scanning

Visual signs in text such as headings, sections, bolding help users take shortcuts while scanning through the web page and they don’t need to read everything. When they don’t find these signals, they are left to help themselves. Users create their short while scanning the web page and make out if they would like to engage or not. According to this study by Nielsen Norman Group, the pattern of this scanning behaviour forms the shape of the letter “F.”

Source: Monsoon Consulting

If you want to ensure that your users’ attention is drawn towards the most important elements of the web page (Calls-to-action, forms, images, videos), it is highly recommended to follow an F pattern and place your elements accordingly. 

Responsive Design

Responsive design is like a jigsaw puzzle! Responsive web design requires movement of various elements of the page that changes the initial design. Organizing elements to fit could be a great challenge with responsive design as larger pages and their elements will have to shrink to fit on narrow platforms for a mobile phone or tablet. We have listed some vital considerations below:

Consider a mobile-first strategy.
Include a hamburger collapsible menu (or similar) in case of multiple items.
Optimize image for all the types of devices (desktop, smartphones, tablets).
Optimize the content for mobile devices as the content for desktop will occupy too much space.
Check the loading speed once the pages are live and check if certain design components are reducing the load speed.
Implement Google’s AMP (Accelerated Mobile Pages) that is meant to optimize the content load time on mobile phones.

Calls-to-action

Calls-to-action play a vital role in boosting your website conversions. A single call-to-action is empowered with the responsibility to attract attention and later get clicked on. These two factors will race your website towards a high ROI. So, what are the key principles of a call-to-action that designers need to consider?

Size: Decide the size of the call-to-action by ensuring that it gets noticed amongst the other elements of the web page. If the call-to-action button should be placed below a form, the size should be equal to that of the fields of that form.
Text: If the marketer has decided on the text for various pages and sections, they should be communicated with the designers with the copy. This will help them in determining the ideal size.
Colour: Colour plays 70% of the role in attracting the viewers’ attention. Ensure that it stands out from the rest of the section by smart usage of colours.
Button Shape: If there are various sections and smaller objects in a single webpage, how smartly you define a button by carving its shape is important. Ensure that the shape stands out from the rest of the objects.
A/B Testing: The best practice to gauge effectiveness of a call-to-action is by creating different variants of colour, text, and fonts. Monitor which CTAs are more successful. At HubMonks we insert the CTA from the HubSpot marketing tool for all our HubSpot COS web development projects so that clients are able to measure the button’s performance. 

Forms

There is a huge difference between forms and advanced forms that boost UX. Even forms have various design principles that help users understand its hierarchy and helps designers utilize less space with all the important fields included.

Label alignment helps users identify the field with its corresponding label. Proper alignment also consumes less space that ultimately boosts the psychological factor to get form-fills.
Placeholder text is a great innovation in forms, wherein the user is able to see the label inside the field which disappears once the user brings the cursor on the box.

Cognitive Load

 

Cognitive load in web design refers to the amount of thought process a person has to give while they are engaged in the buyer’s journey. The cognitive load theory is differentiated in two types for user experience:

Intrinsic cognitive load: It refers to minimal usage of copy so that the user is not hampered from completing a specific task on the web page.
Germane cognitive load: It refers to the effort devoted to process information and how user understands the pattern of the information by mentally organizing categories of information and any relationship among them.

Hick’s Law

Source: My Site Auditor

Designers could explain this law to the marketers so that users are not overwhelmed with too much information or options. Hick’s Law tells us that the time taken by a person to make a decision depends upon the number of choices available to him or her. See here for more psychology principles.

Interaction Design

Source: colossom.com

Interaction design is dedicated to creating engaging interfaces with prediction about the user behaviour. It is essential to know how users and technology communicate with each other. Here are some questions that you should consider when designing for the best interaction:

How users can interact? Which parts of the website will be interacted by the user with mouse, finger, or stylus?
Which clues will make it easier for the users to interact? The colour, size, shape, text will differentiate the objects and helps users in understanding these interactive points.
Is information chunked into seven items at a time? Users tend to keep only five-nine items in their short term memory.
Are various sections of the website differentiated with the help of edges and corners? Elements like menus need to be differentiated by these design considerations. Moreover, they form a boundary stating that the finger or the mouse cannot be moved beyond that boundary.

Conclusion

The whole concept of user experience is centered around having a clear understanding of the targeted users, their needs, their values, abilities, and their limitations. It takes into account your business goals and objectives. The best practices of UX works towards promoting the quality of how the user interacts with your website and the perceptions of the product and all related services.

When you are running a marketing campaign, you tend to pull interested prospects and make them a part of your marketing funnel. At every point of this funnel, your users need guidance to move smoothly towards their journey with your organization. The points discussed in this article will help you create an exceptional user experience that helps them achieve their goals and boost your business initiatives.

Dev is the Head of Marketing at HubMonks, a HubSpot content optimization system (COS) partner for major inbound marketing agencies and brands. You can contact him on Facebook and Twitter. Top photo by PhotoSpin.