Monday, August 8, 2016

6 More Must-Do Grav Tweaks: Ready for Hacker News Traffic!

We previously looked at some essential Grav plugins with which to round off the installation of a personal blog. In this post, we'll take a look at some additional, advanced plugins, as well as other tweaks we can apply.

Grav Logo

Related Pages

Once a blog has enough posts, user retention becomes more difficult - as users find it hard to locate related or interesting posts to read, they leave your site. The related pages plugin helps with that.

Out of the box, it includes some sensible defaults for calculating relation scores between posts, and can include title scanning, content parsing, matching by taxonomies, and much more. Once the scanning has been configured, rendering the pages is a matter of including the generated list of related items in an existing template, like so:



Note that the styling, while decent in its default form, is ultimately up to you. That's where the next plugin comes in handy.

Continue reading %6 More Must-Do Grav Tweaks: Ready for Hacker News Traffic!%


by Bruno Skvorc via SitePoint

Does Your Landing Page Target Prospects but Forget Customers?

Trello Personalization

Like many, I use Trello to keep track of all my projects.

Recently, upon returning I noticed that the login form was prominently titled “Welcome back to Trello!”. They understood that I was already a customer, and personalized the landing page to make it easier for me to log in. How thoughtful! This got me thinking, how can SaaS businesses further personalize their landing pages for existing customers?

Welcome back to Trello

So, Why Personalization Is Important?

Most of us spend months refining our website content, trying to convert visitors into paying customers. This means that it's easy to neglect the experience that our existing customers have. The login button is always hidden in favor of a signup form, and the headline is designed to sell us on the benefits of the product.

But if I’m already a customer, I don’t need to signup and you don’t need to keep selling me. This is a missed opportunity. If you were designing a landing page aimed purely at existing customers – not prospects – what would it look like?

I know, how can you tell who’s already a customer and who isn’t? If I’ve already logged into my account, and then I revisit your website, it’s highly likely that I’m already a customer and you should design the experience accordingly. Cookies can help us separate returning prospects from returning customers.

Trello’s Design

I previously mentioned that it was Trello that gave me the idea for this article, so let’s take a closer look at their design (related: Futurama fans, how amazing is the placeholder text “1bdi@planetexpress.nnyc”?).

Welcome back to Trello

What’s most striking is the simplicity. You’re only presented with a login form and nothing else. There’s no sales pitch, no navigation, and even no branding! All customers want to do is log in to their account, so let’s make it as easy as possible for them to do just that. These are small details, but they all add up to create the best experience possible!

Highlighting Additional Information

Taking the Trello design further, aside from a login form, what other information can we highlight?

This will be different for every SaaS business. It could be a blog post, company announcement, specific feedback on a new feature, or even some tips on how to use your product more efficiently. What’s key is that we don’t add too much information and keep it simple. Below are 3 ideas that can be applied to a wide range of SaaS businesses.

Roadmap

Sharing your roadmap is a great way to get input from customers and keep them up to date on new releases. You can also take it further by bringing them into the design process and encouraging commenting and voting on new features. As an perfect example, here’s Trello’s public roadmap.

Referrals

Do you have a referral program that rewards customers for signing up new members? Make them aware of this by displaying the details on your landing page. Trello does a great job of this when people log out, and they invite you to “Share Trello to get free Trello Gold”.

Share Trello to get free Trello Gold

They will need to login to access their unique referral link, but you’re taking a moment to highlight the rewards that are available for users helping to spread the word. Referred customers have a higher lifetime value, and 83% of satisfied customers are willing to refer products and services (source: Ambassador).

Company Culture

Some of the most memorable websites I’ve visited are the ones that have personality. It could be photos of your last retreat, or maybe two of your team members just ran a marathon for charity. Either way, why not share these moments?

Designing the Landing Page

Let’s tie all of this together and design our own landing page. Remember to keep it simple and don’t overwhelm people with too much detail. Aside from the login form I’ve only added 1 extra piece of information.

Trello Login and Roadmap

Items such as “Pricing”, “Learn More” and “Sign up” don’t need to be shown. So I’ve simplified the header navigation to show only links that would be of relevance.

Login Form

When customers visit your website, all they want to do is log into their account. So it’s important to make sure that the login form is the most prominent element on the page. If you take only one thing away from this article, this should be it.

Secondary Information

The area to the right of the login is used to highlight additional information that’s aimed at existing customers. I chose the product roadmap, but you should experiment with what information to show here. Again, it could be referrals, company announcements, or something completely unique to your SaaS business.

Need an Account?

If by chance the person viewing your personalized landing page isn’t already a customer, you need a way for them to easily learn more about your SaaS business. The original website can be accessed by scrolling down, or by clicking on “Need an account?”.

Key Takeaways

Continue reading %Does Your Landing Page Target Prospects but Forget Customers?%


by Richard Child via SitePoint

Get Early Access to Envato Elements—and Lock in a Lifetime Discount

Jérémy Vitté

opl-small

Unique One Pager for art director Jérémy Vitté featuring scattered parallax scrolling project images. Such a cool feature how the category filter blurs out the non matching scattered project images.

by Rob Hope via One Page Love

Asynchronous Multiple File Upload with Rails and Dropzone.js

The Application

Our application is a module of an e-commerce shop to create products and attach pictures to them. It uploads the pictures on the server, returns the list of uploaded files, and then submits the form to create the product record. There is a one-to-many association between pictures and product, meaning that a product may have many images.

Here is the database schema:

38329356-1acc-11e6-85ef-39a73b823cb7

Let's jump to our code. First, make a new Rails application by opening your terminal and typing:

rails new myapp

We need to add the Javascript and CSS files for Dropzone and Bootstrap, so please go to the dist folder from the Dropzone and Bootstrap downloads and find the following files:

bootstrap.css
dropzone.css
basic.css
dropzone.js

Continue reading %Asynchronous Multiple File Upload with Rails and Dropzone.js%


by Vahob Rasti via SitePoint

Quick Tip: How to Make Changes to Multiple Files Within a Directory Using Python

Say that someone is familiar with British spelling and has decided to complete his degree in the US. He is asked to write a paper about Python for the class. He is well versed in Python and has no issue in writing the paper. He was talking about images in a part of his paper and wrote more than once the word grey (British spelling) instead of gray (US spelling), in addition to neighbourhood (British spelling) instead of neighborhood (US spelling). But he is now in the US and has to go through all the words spelled the British way and replace them with the US spellings.

This is one of many scenarios in which we need to change some spelling or mistake in multiple locations. 

In this quick tip, I will show you an example where we have five text files that have misspelled my name. That is, instead of writing Abder, Adber is written. The example will show you how we can use Python to correct the spelling of my name in all the text files included within a directory.

Let's get started!

Data Preparation

Before we move forward with the example, let's prepare the data (text files) we want to work with. Go ahead and download the directory with its files. Unzip the directory and you are now all set.

As you can see, we have a directory named Abder which contains five different files named 1,2,3,4, and 5.

Implementation

Let's get to the fun part. The first thing we need to do is read the content of the directory Abder. For this, we can use the listdir() method, as follows:

If we try to see what's inside the directory, we can do the following:

In which case, we will get:

This shows that we have five rft files inside the directory.

To make sure we are working with the current directory (directory of interest), we can use chdir as follows:

The next thing we need to do is loop through all the files in the directory Abder. We can use a for-loop as follows:

Since we want to look in each of the five files in the directory and look for Adber, the normal thing to do at this stage is to open and read the content of each file:

Now comes a vital step, especially when talking about pattern matching, in our case, searching for Adber. This step is the use of regular expressions. In Python, in order to use regular expressions, we will be using the re module. 

We will be using two main functions from this module. The first is compile():

Compile a regular expression pattern into a regular expression object, which can be used for matching using its match()and search() methods.

And the second is sub(), for substituting the wrong spelling with the correct one. We will thus do the following:

Finally, we want to write the new text after substitution to our files, as follows:

Putting It All Together

In this section, let's see how the whole Python script, which will look for Adber in each file and replace that with Abder, will look:

As we can see, Python makes it very easy to carry out modifications across multiple files using the for-loop. Another important part to remember here is the use of regular expressions for pattern matching. 

If you want to know more about Python's loops, check A Smooth Refresher on Python's Loops. And, for more information about regular expressions, check Regular Expressions in Python.


by Abder-Rahman Ali via Envato Tuts+ Code

Lucidstyle Internetagentur

Lucidstyle Internetagentur

Straight forward One Pager for German digital agency 'Lucidstyle' but nice reference here to expand your Impressum text within a hidden footer.

by Rob Hope via One Page Love