Archive for October, 2010

Successful Freelancing With Ruby On Rails: Workflow, Techniques And Tools

Smashing-magazine-advertisement in Successful Freelancing With Ruby On Rails: Workflow, Techniques And ToolsSpacer in Successful Freelancing With Ruby On Rails: Workflow, Techniques And Tools
 in Successful Freelancing With Ruby On Rails: Workflow, Techniques And Tools  in Successful Freelancing With Ruby On Rails: Workflow, Techniques And Tools  in Successful Freelancing With Ruby On Rails: Workflow, Techniques And Tools

Warning: Freelancing Is Not for Everyone

A freelancer is a self-employed person who pursues a profession without a long-term commitment to any particular employer. Your curiosity in this opportunity was probably sparked by posts marked “Freelance” or “Work from anywhere” on the myriad of job boards around the Web. Freelancing is equal parts freedom and responsibility. While you have the freedom to choose when you work, where you work and what you work on, you are also responsible for everything: deadlines, finding work, the quality of your work, communication and so much more.

Workplace in Successful Freelancing With Ruby On Rails: Workflow, Techniques And Tools
Photo by Dmitry Belitsky

Ruby, with all of its frameworks and libraries (such as Rails, Merb and Sinatra), is a practical tool to use in your freelance Web development career because of its focus on clean code, object-oriented syntax, efficient development practices and strong community (whether a simple IRC chat room or large conference). For all of these reasons, I find that it is also quite fun to use and exciting to be a part of.

So, your skill may be in Ruby and your approach is to freelance, but it’s not that easy: freelancing is no walk in the park. It could become a living nightmare if you’re not able to use your time efficiently and remain focused and motivated until a project comes to a close. It could also become a nightmare if you market yourself poorly, are constantly desperate for work or surrender too much power to a client, putting you in the position of a monkey-worker responding to petty demands.

Over the four years that I’ve been freelancing, I have figured out the intricacies of it and grown to completely love it. I cannot envision myself working any other way.

[Offtopic: by the way, did you know that there is a Smashing eBook Series? Book #1 is Professional Web Design, 242 pages for just $9,90.]

Pros

Alone in Successful Freelancing With Ruby On Rails: Workflow, Techniques And Tools
Photo by Giorgio Montersino.

Be your own boss.
Report to no one but yourself. You are at once king, countryman, peasant, squire, blacksmith and merchant. You will work on excruciatingly boring tasks, grand and exciting ventures and everything in between. You will have very tough times and very beautiful times.

Enjoy your freedom.
You have the freedom to work when and where you please, the freedom to structure your day as you please and the freedom to fail. Structure and discipline can be daunting and intimidating but also rewarding and empowering.

Choose what to work on.
Want to spend 50% of your time on open-source projects? Interested in building your own Web app? You have the power to make that a reality. Want to work exclusively on projects in social media? Make it happen.

Set your rates.
Value is both a reflection of how you perceive yourself and how others perceive you. Are you capable of meeting deadlines, communicating well and delivering quality code? Charge what you think that is worth. Often the market will decide. If you are just starting out, charging $80 per hour will be hard; you have to earn that rate over time and with experience.

But what’s to stop you from charging $80 per hour after just a year of full-time freelance work as a Ruby developer? Only yourself. You will have to be confident, and I suspect that most people reading this article do not charge that rate. But if you truly feel capable, then by all means.

In sum, you will experience highs and lows, but with the right attitude, the lows will always pay off.

Cons

Freelance-freedom in Successful Freelancing With Ruby On Rails: Workflow, Techniques And Tools

Selling yourself
Many dislike the notion of having to sell themselves. That’s understandable: the task is certainly not without its unpleasantness. If coding is an art, then like any good artist you’ll be critical of your own work. But maintain perspective. Recognize that you have to take responsibility for the quality of your code, but also understand that your clients probably won’t be programmers themselves. Hacking together something that works will be okay in many cases; and if it breaks because it was poorly written, offer to fix it for free.

When you write code that is efficient and powerful, explain as much to the client in vocabulary that they will understand; something like, “I changed the application so that it can perform × task at twice the speed.” Remember that your clients will likely not be developers and that in the freelancing game communication skills are often more important than programming skills. Be aware of yourself, be realistic in your expectations of yourself, be humble yet straightforward, and understand that if you truly believe in yourself, selling becomes easy. You are just being honest when you say to someone, “I’m good at what I do.”

Responsibility and discipline
No one will prevent you from procrastinating. No one will stop you from meeting with a friend in the middle of the day for lunch or a walk. No one will tell you what to do or when to do it. This may sound amazing—and it is if you’re disciplined—but discipline becomes rarer as we get increasingly overloaded with details that demand our attention. (In my opinion, discipline is one of the most important traits any freelancer can have.)

Time management
Manage your time as if each hour were a brick of gold. Time is more precious than any other resource. Tools are out there to help you become aware of how you spend it and that help you figure out where you are going wrong and right. Harvest, Trails, Tick and a slew of other applications are all designed to help you understand how you spend your time.

Emotions
The freelancing life is often isolating and can get lonely. It has often been said that running a small business is an emotional roller coaster: well, it is. Fight the inclination to stay cooped up and out of touch with the world. Get out and meet people; it could save you from serious bouts of depression.

Ultimately, freelancing is not for the faint of heart, but that doesn’t mean it isn’t worth your best shot!

Tools Of The Trade

Plenty of tools will help you get your projects done, but the best ones help you complete your projects effectively. We all work differently, and numerous tools are at our disposal that will help us accomplish the same task in different ways.

You’ll find a lot of discussion on the Web (some of it bordering on holy wars) about the relative merit of Vim vs. Emacs, Prototype vs. jQuery, Haml vs. ERB. But it doesn’t matter what you use: results matter. Properly caring for your code will help you grow, so use tools that allow you to craft the best possible code. Tools are always relative.

Text Editor (Vim, Emacs, TextMate, IDE)

MacVim in Successful Freelancing With Ruby On Rails: Workflow, Techniques And Tools

As with most other tools, choose a text editor by trying it out. I used TextMate in the past and now work in Vim most of the time. Some folks prefer Emacs or big IDEs such as RubyMine. You can try all of these just by downloading a trial version. You’ll know when you’ve found your favorite.

*Nix Server Management and Working in the Unix Shell

Many useful resources on Linux server management are available in various Slicehost articles. You’ll also find a lot of info about working in the command line at commandlinefu.com. Beyond that, let Google guide you.

Ruby Will Become Your Best Friend

Ruby in Successful Freelancing With Ruby On Rails: Workflow, Techniques And Tools

Yukihiro Matsumoto (a.k.a. Matz), creator of Ruby, said that he wanted to minimize his frustration with programming, minimize his effort in programming and have fun with software development. In fact, Ruby was designed to make programmers happy. But while Ruby is simple in appearance, it is complex inside, like the human body.

As hard as it is to believe, Ruby has been around for 15 years. As the years go by, more and more people see the beauty in this language and become passionate users. Today, Ruby is the language of choice for hundreds of thousands of developers worldwide. Several lively Ruby conferences take place each year around the world. And big corporations use Ruby: Microsoft and Sun have created their own Ruby interpreters (IronRuby, jRuby), and Apple now includes Ruby with OS X 10.6. Countless Ruby developers are hired every day on every continent.

The community around a language is one of my primary considerations in deciding whether to learn that language. Ruby’s community is vibrant and growing; it is friendly to people of all skill levels and comprises both online communication such as chatting and mailing lists and in-the-flesh interaction at meet-up groups and conferences. Ruby and its frameworks—especially Rails—have become their own sub-culture; full of life and passion and changing every day.

A very useful resource is confreaks.com, where you can watch videos from great Ruby-related events such as Rubyconf, acts_as_conference and more. Highly recommended.

Popular Ruby-related resources:

  • The official Ruby website
  • Ruby mailing list
    A useful place to get help or advice from those active in the Ruby community.
  • Ruby Inside
    A Ruby blog with daily news, links, code and tips. Claims to be “the #1 Ruby programming blog.”
  • RubyFlow
    A community-driven Ruby links website, with more than 1000 members. Posts are made by members of the community. Enjoy the links and leave comments.
  • RubyForum
    Helpful forum for Ruby and Rails.
  • Ruby Learning
    “A thorough collection of Ruby study notes for those who are new to the Ruby programming language and in search of a solid introduction to Ruby’s concepts and constructs.”
  • Planet Ruby
    RSS aggregator of top Ruby-related blogs.

The Ruby on Rails Framework (and Alternatives: Merb, Sinatra, Ramaze, Rango)

Rails is my MVC framework of choice because of its ease of use as well as the vast community of passionate users who stand behind it. If you’d like to learn it, a great starting point is Agile Web Development With Rails. UC Berkeley has a series of intensive Ruby on Rails classes on YouTube, which are rather useful. And a lot of screencasts are on the Web. I also like confreaks (already mentioned but worth a second push); it delivers videos from large Ruby conferences, and I’ve learned a lot from the talks.

Railsguides in Successful Freelancing With Ruby On Rails: Workflow, Techniques And Tools

Some general Rails-related resources:

  • RailsGuides
    A great Rails documentation project.
  • RailsBridge
    A friendly Rails community.
  • Ruby on Rails 3.0 Release Notes
    A new Rails 3 guide, with details on the new Rails release.
  • Dive into Rails 3
    Rails 3 screencasts on new features such as Bundler, Active Model, the new router syntax and more.
  • The New Ruby Ecosystem
    An interesting post from Paolo “Nusco” Perrotta about the most used development tools in the Ruby community.
  • Rails Tutorial
    An extensive series of tutorials (one of the most comprehensive resources for beginners I’ve found).
  • RubyonRailsTutorials.com
    A great catalog of links, to further satiate your appetite for Rails knowledge.

Some more specific tools for Ruby to check out:

  • The Ruby Development Tool
    An IDE consisting of Ruby-aware features and plug-ins for the Eclipse platform.
  • Watir
    An open-source (BSD) library for automating Web browsers. It allows you to write tests that are easy to read and maintain. It is at once flexible and simple.
  • Radrails
    A Ruby on Rails IDE, either standalone or as an Eclipse plug-in. Free, open source and cross-platform, Radrails includes an integrated shell console, rich code completion for Ruby and Rails, an integrated debugger and cloud deployment options.

    Radrails in Successful Freelancing With Ruby On Rails: Workflow, Techniques And Tools

  • Heroku
    An online Ruby on Rails cloud platform-as-a-service. A “fast, frictionless and maintenance-free Rails hosting platform” with a free plan. The platform is effective, though not invincible.
  • Capistrano
    An open-source tool for running scripts on multiple servers, most commonly used to deploy Web applications. It automates the process of making a new version of an application available on one or more Web servers, including support for tasks such as changing databases.
  • The Ruby Toolbox
    Provides an overview of tools available to Ruby developers. Tools are sorted by category and rated according to the number of watchers and forks in the corresponding source code repository on GitHub, so you can easily figure out your options and which are the most common ones in the Ruby community.

    Toolbox in Successful Freelancing With Ruby On Rails: Workflow, Techniques And Tools

  • RailRoad
    “A class diagrams generator for Ruby on Rails applications. It’s a Ruby script that loads the application classes and analyzes its properties (attributes, methods) and relationships (inheritance, model associations like has_many, etc.).”
  • Instant Rails
    “A one-stop Rails runtime solution containing Ruby, Rails, Apache and MySQL, all preconfigured and ready to run (on Windows, OS X, Linux and BSD). No installer—you simply drop it into the directory of your choice and run it. It does not modify your system environment.”
  • Ruby on Rails Toolbox
    A list of 20+ tools to help you with your Ruby on Rails coding.

TDD and BDD

Test-driven development (TDD) is a software development technique that involves repeating a very short development cycle: the developer writes a failing automated test case that defines a desired improvement or new function; then they produce code to pass that test; and finally they refactor the new code to meet recognized standards.

Behaviour-driven development (BDD) is an evolution of the thinking behind TDD and acceptance test-driven planning. It brings together strands of TDD and domain-driven design in an integrated whole, making the relationship between these two powerful approaches to software development more evident.

Cuke Logo in Successful Freelancing With Ruby On Rails: Workflow, Techniques And Tools

BDD helps focus development on the delivery of prioritized, verifiable business value by providing a common vocabulary (also referred to as an “ubiquitous language”) that spans the divide between business and technology.

Cuke in Successful Freelancing With Ruby On Rails: Workflow, Techniques And Tools

HTML, CSS, HAML, SASS, LESS

Nothing can be done on the Web without hypertext mark-up. Every page has its own mark-up and style, and you have to know the basics in order to work with mark-up. Learning HTML basics should take about an hour, and becoming a CSS expert a lot more time, but everything starts with your first step. Once you know how each works, diving into tools that simplify them, such as HAML, SASS and LESS, will be enjoyable and rewarding.

VCS (Version Control Systems)

Version control is essential whether you work alone or on a team, because it tracks all significant changes you have made to a project (called “commits”), and you can easily save the project’s growth history, make new branches to test new functionality, jump back and forth through changes and distribute those changes to others involved in writing the code. I prefer Git and use it most often. It’s fast and reliable, but other systems offer their own functions and strengths. “7 Version Control Systems Reviewed” covers the spectrum of options.

Git in Successful Freelancing With Ruby On Rails: Workflow, Techniques And Tools

“Git is a free distributed revision control, or software source-code management, project, with an emphasis on being fast. It was initially designed and developed by Linus Torvalds for Linux kernel development.”

— Wikipedia

Here is a list of helpful resources to help you jump into working with Git:

Finding Clients

You’ve weighed the pros and cons, and the pros won. You’ve learned enough Ruby and Rails to start looking for work. Now, where do you find clients?

Finding clients is a big topic, so I’ll stick to the basics for now and leave out details on marketing strategies and brand development.

Communicate with potential clients first through simple emails. Write your thoughts in short and effective paragraphs; be selective with your words, and get to the point quickly, mindful of the time people are spending reading your message. You will not only deliver your message effectively but show that you are focused on important matters and that you avoid wasting people’s time.

If you have no portfolio, you may have to do work for very little pay—or even for free—to entice prospects. As you develop your portfolio, describe each project very briefly (one to two sentences), and then start adding these summaries to your emails. The inclusion of references to real work greatly increases your chances of securing more work.

In your search, follow up on every interesting job posting that you’ve found, mentioning your professional experience, technologies you know and your professional qualities, such as being responsible and being able to deliver projects on time and on budget. Ideally, you would show testimonials from previous clients.

Job Boards

Wwr in Successful Freelancing With Ruby On Rails: Workflow, Techniques And Tools

A lot of freelance job boards are around. Here are the ones I know of and have used successfully:

Contributing to Open Source

Github in Successful Freelancing With Ruby On Rails: Workflow, Techniques And Tools

If you want clients, you need to prove yourself. Nothing speaks better of developers than their code (although technical skill is only part of the puzzle).

Choose projects that interest you; you’ll get better results. Choose projects that give you a chance to learn and grow. But be careful: your learning should not prolong project deadlines. I find that the best projects are those in which I can work with a passionate team and learn new things along the way.

Learn How People Hire

Read articles that explain how to hire developers for insights into the hiring and hunting process. Articles such as these:

Get Your First Project

If you have no previous development experience, create some first. Write tests for open-source apps, fix bugs, put together a simple Web app: over time you will have developed a portfolio and eventually become confident enough to take on client work.

One way to start: choose a project on GitHub and learn its internals; offer help by writing tests and fixing bugs. Over time you will learn how to work as a team player and how to read code written by others. This knowledge will help you tremendously.

Focus on Building Your Profile

Linkedin in Successful Freelancing With Ruby On Rails: Workflow, Techniques And Tools

This could be the first thing people read about you, and first impressions count. Make this impression as good as possible, and use all of the best-known networks: LinkedIn, Working With Rails and GitHub.

Create a Website or Blog

You should have your own website or blog because that’s expected in the Web development field. On it, you can describe your professional experience, new technologies that you have been working with, book reviews (this might also bring in new readers from search engines) and interviews with people you find interesting. Include productivity tips and personal thoughts on things you’re interested in. Remember, describe your own experiences and show your face. Be authentic. Read about writing for the Web on useit.com and A List Apart (the writing section).

Get Involved in the Community

Railsbridge in Successful Freelancing With Ruby On Rails: Workflow, Techniques And Tools

Make something useful for yourself and people like you. This could be a library or plug-in, an article or a tutorial—anything usable. Writing documentation for RailsBridge will surely increase your understanding of Rails, too.

Write a Lot of Emails to Employers

If all goes well you might have a pool of a few jobs to chose from. Choose wisely, and then work vigorously to deliver something great—on time! When you reach out at first, don’t expect many responses. If you get only a few clients from 50 emails that you send, you’re doing good. Now you need to get things done, and that takes time and a good process.

Working Process

There are many well-known methods of working, and each offers a different approach to solving the same problem: how the heck do I get things done effectively?

Here are the two techniques I follow:

Getting Things Done (GTD) is a method created by David Allen and described in his book of the same name. GTD relies on the principle that a person needs to move tasks out of their brain by recording them externally. That way, the mind is freed from having to remember everything that has to get done and can concentrate on actually performing those tasks. Check out the interesting introductory video by David Allen on YouTube.

GTD is an easy step-by-step and highly efficient method of achieving this relaxed, productive state. It includes:

  1. Capturing anything and everything that has your attention;
  2. Categorizing actionable tasks discretely as outcomes and concrete next steps;
  3. Organizing reminders and information in the most streamlined way, in appropriate categories, based on how and when you need to access them;
  4. Staying current and “on your game” with appropriately frequent reviews of the six horizons of your commitments (purpose, vision, goals, areas of focus, projects and actions).

The Pomodoro Technique is a way to get the most out of your time. Turn time into a valuable ally to accomplish what you want to do, and chart continual improvement in the way you do it. Francesco Cirillo created the Pomodoro Technique in 1992. It is now practiced by professional teams and individuals around the world. A great way to learn it is through this cheat sheet.

It can be described simply in five steps:

  1. Choose a task to be accomplished;
  2. Set the Pomodoro (i.e. the timer) to 25 minutes;
  3. Work on the task until the Pomodoro rings, and then put a check on your sheet of paper;
  4. Take a short break (about five minutes);
  5. After every four Pomodoros, take a longer break.

My own productivity method mixes these two techniques. I break big tasks into smaller chunks, and then I write them down in a Pomodoro-like table and work on them for 25 to 30 minutes, with 5 to 10 minutes breaks.

Getting Perspective

Get Some Rest

Rest in Successful Freelancing With Ruby On Rails: Workflow, Techniques And Tools
Photo by Dmitry Belitsky

Rest is just as important as work. They are a yin and yang, work and rest. Rest both your body and mind. No one can work much more than 40 hours per week and still be productive.

Here are a few tips to rest the right way:

Take a break.
If you have worked on the computer for more than an hour, switch your focus. Go exercise, wash the dishes or take a walk. Attend to something that doesn’t involve staring incessantly at a screen. When you get back to work, you will find your mind relaxed and rested.

Meditate.
Meditation comes down to us from the ancient sages as a method of training the mind to be at peace. It helps you to relax your mind and body and become at once joyful and calm. There are a lot of different techniques of meditating; try the simplest one, making it a part of your daily routine. This is a great
article on meditation
because it relates to creative fields, but the principles apply to any profession (and who says good code isn’t art, anyway?).

Go for a walk.
Walking is a great way to calm your mind, exercise your body and take in fresh air. Integrate walking into your daily or weekly routine, too.

Don’t overeat.
Overeating takes blood away from your brain and moves it to your hard-working stomach to help it digest all that food. This makes you tired and less focused. Food is great, but don’t overdo it.

Take up a non-computer-related hobby.
We should all find something that keeps us away from our computers for a while. If you live alone and work as a freelancer, you can lose yourself for weeks, working too hard and forgetting everything else. Jamis Buck has some great advice on the subject:

“You should be well balanced. Computers are great and everything, but you should definitely have hobbies that are completely unrelated to computers. In the last two years I’ve taken up both wood carving and string figuring, and they have helped me immensely in recovering from burn-out.”

Success

  • “Everything you write is crap, so always try to improve yourself.”
    – Dirkjan Bussink.
  • Hard work is the secret to success.
  • Passion is critical; it makes or breaks any endeavor.
  • Love what you do.
  • “Never let anyone (yourself included) convince you not to do something that will make you happy or fulfilled.”
    – Yehuda Katz

Video Resources

Parting Thought

Decide how good you want to be. Do you want to master the craft or just fulfill the basic needs of employment? As a freelance developer, you might find yourself in a constant struggle. You could be forced to produce code that you are dissatisfied with because of a tight deadline or unforeseen problems with other parts of the project. Be patient and relentless. Know that you will become more skilled over time, and trust that you will eventually—even if it takes years—be proud of your abilities.

(al)


© Dmitry Belitsky, Grayson Stebbins for Smashing Magazine, 2010. | Permalink | Post a comment | Add to del.icio.us | Digg this | Stumble on StumbleUpon! | Tweet it! | Submit to Reddit | Forum Smashing Magazine
Post tags: , ,


How to Integrate an Efficient Backup into your Workflow

Advertisement in How to Integrate an Efficient Backup into your Workflow
 in How to Integrate an Efficient Backup into your Workflow  in How to Integrate an Efficient Backup into your Workflow  in How to Integrate an Efficient Backup into your Workflow

by Rafiq Elmansy

High scale enterprises with a large number of employees have their own regular backup routines that are obligatory to maintain. Especially these firms face a high risk of losing valuable data; we are all familiar how prone computers are to crashes and that they have to be well protected against viruses.

While the importance of the backup process increases in larger scale companies, many small companies and freelancers who run a small business don’t allocate the backup process at the same level of importance in their company routine. This should be well thought out and can prevent unforeseen loss of data and by all means keep the business running smoothly.

Backup Screen Bn in How to Integrate an Efficient Backup into your Workflow

Although a small business has less hardware and workflow compared to a large company, they still face the same risks. You will find numerous people who have lost a large amount of work, sometimes even whole projects, due to a virus that had attacked their computer or have experienced an unfortunate system crash. Such a disaster can affect one’s time, project files and costs which are the main important factors in any project. It’s worth the time and effort to plan a backup process, add it to your daily tasks and schedule a time to backup your work on a regular basis.

In this post, we will discuss the backup process and how to apply it to small firms as well as freelance businesses; the different types of backups you can do and exactly which devices to use for your backup process. Tools and softwares you can also use will be introduced. First, let us start by understanding the backup process and its different types.

Backup methods

The backup refers to the process where a copy of the data is taken and saved to be retrieved in case the original data is lost or damaged. The risk of data loss occurring is around 66% — a statistic found on Wikipedia. There are many backup methods as we will see below; these types are based on how each method interacts with the content, updates and information. Most backup tools and software provide the option to create one or more of the following types:

Full backup

This is the standard concept of a backup process and the starting stage for other backup methods. Full backups take a copy of all the files, including both the data and the overall structure. The full backup isn’t performed frequently; usually after major changes in the system, such as changing the operating system or a large number of files being modified. It is also done as the starting point for any other backup method. The advantage of this method is that it’s the simplest. The disadvantage is that the backup file is very large and it also takes the longest time to restore the data.

Differential backup

In most cases, the changes only affect small amounts of data or specific folders; the full backup wouldn’t be necessary in this case. The differential backup is the next method to backup files and it requires a full backup at the beginning. In this method, you take a backup of the files that are changed in comparison to the base full backup.

For example, if you make a full backup of your system on day one, the differential backup on day two only saves the files that have changed since day one. On day three, the differential backup saves the changes that have occurred since the first full backup on day one. The advantage of this method is that it takes less time to restore the saved backup. The disadvantage of this is that the frequent backing up using this method produces files that can be larger than the full backup file itself.

Incremental backup

This method is similar to the differential backup. The only difference is that this type saves the changes from the last backup whether it is full, differential or another incremental backup. The advantage of this process is that it takes less time to complete as it only saves the changes from the last backup. The disadvantage of this backup type is that it takes a long time to restore the data because each previous backup must be processed before completing the restore action. Although all the backup applications depend on the full backup as the initial backup process, these tools may implement two or more backup methods.

Each of the above methods varies in the final size of the backup. It is important to determine the backup output or the device you will choose for the backup as we will see later in choosing the backup devices.

Backup in How to Integrate an Efficient Backup into your Workflow

Backup only what you need to backup

The backup is one of the most crucial regular steps in your schedule. It consumes time, effort, hardware and cost. The backup process must be well organized to avoid mistakes and excessive time consumption. While many people aim to categorize the backup files based on their type, it is important to keep in mind these two main factors while choosing the backup type:

1) Only backup the necessary files (such as project source files), important documentation (such as contracts), project documents and plans. Also backup the files that are hard to find again or already located on the web, such as free software, browsers, source files and so on. Minimizing the backup of these files will help in reducing the size of the output files; the backup and restore processes will also take less time.

2) Plan your backup structure carefully and how you actually want to backup your files. Actually, it is more related to your own arrangement of the files and how you arrange your projects source files. Implementing the same arrangement would prevent becoming lost in the middle of many projects and files and avoid any mistakes. Such mistakes usually happen because of the confusion between your own files arrangement and the backup arrangement.

How to choose backup devices

As mentioned, backups depend on saving data in another location to be able to retrieve it if the original data is lost or corrupted. The backup process uses the available storage technologies to store the files. Throughout the history of the computer and even before it, there were many forms to save data from punched cards to magnetic tapes, and finally hard disks and Blu-ray technology. Storage media is constantly improving by increasing in capacity and applying new technologies as well as further developing existing technology. While the devices change based on technology, choosing a suitable storage device for the backup depends on some important points when choosing the device:

The storage capacity

The storage devices vary in capacity and their ability to save large files; you should put this into consideration when choosing the best storage media if you plan to create frequent backups.

The price

The cost of the backup device is one of the most important issues that you should consider as you may need to use more than one device based on their storage capacity. If you are using online backup tools, you should consider the cost of the storage space and if you will eventually need extra space on the server to host your files.

The ability to extend or rewrite

Rewritable devices are more flexible and allow adding more content each time you create the backup instead of using a new device each time. Also, the extended devices can help you keep all the files in one place instead of spreading it across multiple devices.

Durability

Durability is essential in backup media as its sole purpose is to store files in case of an emergency. When determining suitability, the question is how easy will the data corrupt under normal circumstances?

Portability

If your business requires a lot of moving, then you need to think about the portability of the device as well as it’s durability throughout.

The transfer speed

When you transfer the backup data from the computer to the device, you need to have a fast transfer media to achieve this in the least time-consuming manner; therefore is the speed of transferring data another factor to put into consideration when buying the backup hardware. Transfer speed is one of the most important factors in online backup storage. Although it is mainly dependent upon your internet connection speed, the server transfer speed varies throughout the day.

Backup devices

Storage devices vary based on the above factors and are updated frequently with new technologies and storage capabilities. The following briefly summarize storage media based on their type.

Optical discs

This includes CDs, DVDs and Blu-ray discs; they vary on their storage size and their rewrite-ability as following:

Compact Discs (CDs):

CDs are the lowest sized optical storage devices; they come in CD-R, or CD-RW which allow rewriting content on the CD many times. They can save up to 700 MB; more information can be found here.

Advantages:
CDs are cheap, portable and compatible with both DVD-ROM and CD-ROM drives.

Disadvantages:
Low capacity, can easily be damaged or scratched and are known as one of many non-secured media.

Digital Versatile Discs (DVDs):

This is the next stage in developing optical discs and has greater storage space compared with CDs. DVDs can store up to 4.7 GB. DVDs are commonly used these days when compared with CDs because of their storage ability which was the main problem with CDs.

Advantages:
DVDs share the advantages of CDs but also have the ability to store larger content up to 4.7 GB.

Disadvantages:
The disadvantages of DVDs are the same as CDs and also they aren’t compatible with older disc drives.

Blu-ray discs

Blu-ray discs are the latest optical technology that supersede DVDs. They also allow storing massive amounts of data that can reach 25 GB for single layer discs and 50GB for double layer discs.

Advantages:
Blu-ray discs have similar plus points just like other optical discs, in addition to the ability to store large amounts of data. This is why it is mainly used for PlayStation video games and to store HD video.

Disadvantages:
Its price is still quite high, compared to other optical discs and its storage capacity. Also, blu-ray discs drives are not commonly used compared to other discs drives.

Hard Disks

Hard disks have been developed a lot and have massive storage capabilities. Hard disks let you store large data that can reach TBs. It is the most commonly used and largest storage media. Hard disks implement different interfaces to transfer data such as using ATA, SCSI, SATA, USB, FireWire and eSATA.

Advantages:
Hard disks have a large storage size that increases dramatically and its price is consistently falling. Also, it ensures fast data transfer along with the easy ability to rewrite and update content. Unlike optical discs, hard disks can be secured and allow adding passwords to the content.

Disadvantages:
Hard disks are easily damaged, especially when in transit. They should be treated with great care and not moved excessively.

USB Flash Drives

USB memory sticks are an easy, portable substitution for hard disks that can be easily carried and transported with far higher durability than normal disks. Their storage capacities vary and expand as technology itself develops.

Advantages:
USB Flash drives are the most suitable portable devices as they are easy to transport and durable against shocks compared with other storage devices. Also, it can be easily attached to a computer and function in a similar way to Hard Drives.

Disadvantages:
Due to its light weight and small size, USB Flash drives can be easily lost. Also, their prices are higher than hard disks per gigabyte.

Remote backup

With the increasing speed of the internet and the ability to transfer large amounts of data in a short space of time, remote backup is becoming one of the most efficient solutions to store backups, especially in large disasters that can happen in the workplace or company location. The remote backup saves the data using an encrypted format to remote storage servers where the data can be removed or downloaded when required. Remote backups, either through the internet or network can be a good solution to store data in a secure place and retrieve the data without the need to transport it or move it as is the case when using the other storage devices above.

Advantages:
It provides better secured data storage as the data is saved in a different location from the source data. Also, its storage avoids being transported which reduces the chance of the files corruption. Remote backup methods are more extendable than other methods as the data is stored in locations created especially for this reason and you can download the data or restore it from anyplace. On the other hand, the saved data is secured by a secret key that prevents viewing the data without it.

Disadvantages:
The biggest disadvantage of remote backup is the price; it is expensive to buy storage space compared with other methods. Also, it requires a fast internet connection to work properly and not to cause any delay. Generally, choosing the backup device depends on your needs and business requirements; you have to select the best method that fits with the stored data and how it should be handled.

Backup applications

Choosing the right backup application or tool is the next step to complete your backup system and arrange the backup process. In this stage, we will look at the backup applications we can use to perform the backup. These applications can be freeware, shareware or paid applications depending on its policy which can be updated.

As mentioned above, the backup can be done through offline backup storage, such as optical discs and hard disks, as well as online backups through the network or the internet. Therefore, backup applications can be categorized as either offline tools and online tools. While some of the offline tools may allow you to upload the backup files to remote servers, they are mainly designed to do the backup offline on the local machine and then give you the ability to upload it. Also, it does not provide online storage similar to the full online backup tools that we will see later.

Offline backup tools

These tools can be used to backup files and store them on storage devices that were discussed earlier. The following list includes some of the commonly used backup tools:

Cobian Backup 10 (Freeware – Win)

Backup Screen01 in How to Integrate an Efficient Backup into your Workflow

It is a multi-threaded application that you can use to backup files and folders from the local machine and store them in another destination or upload it to an FTP account. Cobian backup can save the stored files in both a compressed and non-compressed format.

DeltaCopy (Freeware – Win)

Backup Screen02 in How to Integrate an Efficient Backup into your Workflow
DeltaCopy is an open source backup tool that is based on the incremental backup method to save the files. It reduces the backup and restores time. DeltaCopy can run based on a scheduled time with one click to restore the saved files.

AceBackup (Freeware – Win)

Backup Screen03 in How to Integrate an Efficient Backup into your Workflow
With Acebackup, you can store the backed up files on different storage media as well as the ability to upload the backup files to a remote FTP account. Also, it supports different compression and encryption methods for the files. Similar to other backup tools, it can be scheduled to do the backup process in specified times.

SyncToy (Freeware – Win)

Backup Screen04 in How to Integrate an Efficient Backup into your Workflow
SyncToy is basically a synchronization application between files and folders and it can create backup copies of these files and folders. SyncToy’s new version includes better error handling than the previous one. In addition to the new features, it also includes the ability to filter files based on one or more attributes and manage folders through the command line interface.

Personal Backup (Freeware – Win)

Backup Screen05 in How to Integrate an Efficient Backup into your Workflow
Personal-backup saves the backup files to both local and remote storage locations with the ability to include or exclude folders and files based on manual selection or using filters. It maintains the original files architecture and compresses the files as Gzip or Zip.

Allway Sync (Freeware – Win)

Backup Screen06 in How to Integrate an Efficient Backup into your Workflow
Allway Sync is a free, personal backup tool that allows you to backup files and folders as well as synchronizes them with an easy to use interface. It can also backup files on local devices or through the network.

Hinxsoft (Freeware – Win)

Backup Screen07 in How to Integrate an Efficient Backup into your Workflow
Hinxsoft backup tool allows automatic backup of files and folders with multi-language support. This application is written in Java and comes with a simple interface. The backed up files can be saved on local devices or FTP using SSL and SFTP.

Comodo BackUp (Freeware – Win)

Backup Screen08 in How to Integrate an Efficient Backup into your Workflow
Comodo is a free backup and recovery application that includes some useful features in addition to the ordinary backup features such as quickly restoring data, multiple compression options, email notification with the backup status and securing features through password and data encryption.

SyncBackSE (Commercial with 30 days trial version- Win)

Backup Screen09 in How to Integrate an Efficient Backup into your Workflow
SyncBackupSE saves files with ‘fast backup’ and ‘smart synchronization’. It keeps the previous backup versions and creates a new version with every new backup.

Acronis Backup and Security (Commercial with free trial – Win)

Backup Screen10 in How to Integrate an Efficient Backup into your Workflow
Acronis is another commercial backup tool; it lets you schedule the backup process and create encrypted backup content. It also provides a secure backup for files and gives you the ability to adjust your system resources such as the CPU and bandwidth allocated to the Acronis backup process. Acronis allows you to recover files from different points in the backup version as well, so you can revert to the points where the data isn’t corrupted, and it provides protection to multiple computers at the same time.

ChronoSync (Commercial with demo version available– Mac)

Backup Screen11 in How to Integrate an Efficient Backup into your Workflow
ChronoSync is a Mac backup application that provides a tool to synchronize files, backup files and create bootable backups where you can boot to your backup files and run your Mac from the backup. Similar to the rest of the backup tools, ChronoSync provides a scheduled sync of your files.

Tri-Backup 5 (Commercial – Mac)

Backup Screen12 in How to Integrate an Efficient Backup into your Workflow
It is an easy to use backup utility for your Mac files and folders as it provides the ability to create a bootable copy of the hard disk, compression and encryption for the files, automatic upgrades and the ability to work in the background while your applications are running.

SuperDuper (Commercial with free limited version – Mac)

Backup Screen13 in How to Integrate an Efficient Backup into your Workflow
This utility includes common backup tasks along with simple and clear language. Also, it is working perfect with both Intel and Power PC Macs.

Carbon Copy Cloner (Freeware – Mac)

Backup Screen14 in How to Integrate an Efficient Backup into your Workflow
It is a free backup application that lets you backup, synchronize and clone your data using the incremental backup to create fast backups since it only saves the changes that happened based on the previous version of the backup data. Carbon Copy archives the items that have been deleted from the source and backs up the files to the hard drive or a disk image.

Online backup

Online backup tools depend on storing files as encrypted data on the server where you register a specific space and pay for it on a monthly or annually basis. The following online backup applications provide examples of online tools and how they work.

Acronis Online Backup (Commercial with free trial- Win)

Backup Screen15 in How to Integrate an Efficient Backup into your Workflow
Acronis provides an online backup tool that lets you backup data up to 250GB with full security and protection. Also you can use it to store your data and download it from anywhere without the need to transport your data everywhere you go. Acronis Online Backup subscription can be either on a monthly or a yearly plan. You can use the account to backup one or more PCs or laptops.

Carbonite (Commercial with free trial – Win)

Backup Screen16 in How to Integrate an Efficient Backup into your Workflow
Carbonite provides different subscription plans to join their backup service which include one, two or three year periods. Carbonite provides secure online storage for the backup by using up-to-date encryption.

Mozy (Commercial – Win and Mac)

Backup Screen17 in How to Integrate an Efficient Backup into your Workflow
Mozy is one of the most comprehensive online backup utilities that provides encryption for the backed up data as well as automatic detection of changes in the files and backing up. On the other hand, it supports the backup of open and locked files and an automatic, scheduled backup. Mozy is using the incremental backup method to store the files and lets you decide the bandwidth you would like to dedicate for the backup process. Mozy provides a free account that includes 2 GB of free backup space to trial without the need to add any payment information.

IDrive (Commercial – Win and Mac)

Backup Screen18 in How to Integrate an Efficient Backup into your Workflow
This utility is using the incremental method and saves only the changes that occur in the files; this saves a lot of space and increases the backup speed and can be helpful in the online backup process. IDrive provides other features such as the option to automate the backup of common files such as photos, documents and videos. IDrive can detect changes in files and back it up every 10 minutes as well as apply encryption to it. Also, it can backup open and locked files, external hard drives and restore data from anywhere using the fast search feature. You can try IDrive through the free account which provides 2 GB free storage to store files and backup data.

Dropbox (Commercial – Win and Mac)

Backup Screen19 in How to Integrate an Efficient Backup into your Workflow
Dropbox includes file sync, file sharing and online backup for your files. It enables automatic updates for the files, even if you are working offline, as once you connect your computer to the internet, Dropbox starts to synchronize the files and makes sure you have the latest updates on the server. Through the paid account, you can undo file changes to an unlimited number of versions. You can try Dropbox through their free account with 2 GB of space and undo for up to 30 days.

Conclusion

The backup process has a variety of different methods and options to choose from. You should now be able to choose the most suitable backup storage media and utility that meets your business needs, whether it is a backup process for your company or your freelance projects. After reading this post, you should be aware of the different methods and options available and be able to utilize the backup process workflow that fits with your business and the files you wish to backup.

In addition to the above information, you can find more information about the backup process and understand the different backup applications in Melissa Scroggins’ article Knuckle Down and Back Up. In this article, you will find more applications and useful links to backup-related topics and sites. Always be on the safe side — don’t forget to backup!

About the author
Rafiq Elmansy is a graphic designer and runs his own design studio Pixel Consultations. He is also an Adobe Community Professional, Certified Expert and Adobe user group manager. He is a Friend of Icograda (the International Council of Graphic Design Associations). Read his latest book Photoshop 3D for Animators. You can read his writings on Adobe site, Adobe Edge magazine, communitymx.com and his own blog www.graphicmania.net. He can also be followed on Twitter.


When A Thousand Words Is Worth A Picture

Smashing-magazine-advertisement in When A Thousand Words Is Worth A PictureSpacer in When A Thousand Words Is Worth A Picture
 in When A Thousand Words Is Worth A Picture  in When A Thousand Words Is Worth A Picture  in When A Thousand Words Is Worth A Picture

Good design speaks for itself, right? Unfortunately, that is rarely the case. Most of us don’t have the privilege of designing for ourselves; we design for clients, clients who have their own taste and ideas, clients who ultimately need to be persuaded on why we’ve made certain decisions. Good design doesn’t speak for itself; it needs an advocate.

This article examines both why design requires justification and how you can go about providing it in a way that is clear and understandable. While we’ll focus on visual design, the principles described here are applicable to any creative process or endeavor. Indeed, we learned most of these lessons while presenting Web interfaces and prototypes to clients, which took place after the visual designs had been agreed on.

[Offtopic: by the way, did you know that we are publishing a Smashing eBook Series? The brand new eBook #3 is Mastering Photoshop For Web Design, written by our Photoshop-expert Thomas Giannattasio.]

Beyond The Talk

There is a saying oft quoted by professionals:

“Those who can, do; those who can’t, teach.”

— George Bernard Shaw, Man and Superman

I disagree with the premise of this statement, but I do sympathize with its tone. It is borne of the frustration that comes from the separation between the practice of a discipline and its theory.

Web design is to some degree immune from this criticism, being an extremely practical discipline by nature, and also a very new one. But we don’t have to look far to find university professors teaching students how to design layouts using tables!

At the other end of the spectrum, we have the salespeople. These people may not be great at precise explanation, but they can certainly put forward a compelling argument. Ever sat in on a sales pitch and barely recognized the product being promoted? By the time the salesperson was through talking, you were convinced that the CMS could take you to the moon. I once heard this described as “truth massage.�

Wasp in When A Thousand Words Is Worth A Picture
The WaSP InterACT (featured) and Opera Web standards curriculum were created to address the problem of institutions getting out of step with the Web industry.

While the full-time teacher (and even full-time salesperson) certainly have a place in the industry, explaining our designs is too important a task to leave to professional “talkers.�

We need to reconnect the practice of design with the theory of design. To do this, we need to learn the words and arguments for making a strong case for our designs.

The Importance Of Communicating A Message

“Marketing without design is lifeless, and design without marketing is mute.”

— Von R. Glitschka

Despite what many designers think, “marketing� is not a dirty word. We can learn much from the advertising and marketing industries about the importance of communication. Some advertising is as subtle as a sledgehammer, practically screaming at the user “Buy now!�; nevertheless, a great deal of thought went into how each message would be perceived and what would convince buyers most effectively.

When it comes to Web design, communication tends to be a much subtler affair: a delicate balance between satisfying users needs and delivering on business objectives. Here, design can play a key role by simplifying processes and persuading users.

Consider the registration form. Usually, business objectives demand as much information from the user as possible, so that the company can streamline and direct its marketing efforts. However, users are reluctant to supply information about themselves and are put off by long forms.

In this instance, trends dictate that the user experience wins out; registration forms now commonly consist simply of an email address and password. But business objectives are not entirely dismissed either: the reduction in effort to sign up translates into more registered users for the website, and people are generally becoming more willing to submit their email address. Plus, a short form fits neatly onto most pages, grabbing the attention of users when they are most receptive — for example, after having just read an interesting article.

Tumblr in When A Thousand Words Is Worth A Picture
The micro-blogging platform Tumblr epitomizes the simple sign-up form.

Design Doesn’t Just Happen

Design is itself a process of deduction. It involves a number of decisions, both conscious and unconscious. During this process, the designer dismisses some ideas as unworkable and pursues others in order to arrive at a solution.

But this process is completely opaque to the client. The client likely views the design not as the outcome of an in-depth process, but as a response to the brief, merely a visual representation of the constraints and considerations set before the designer. As the designer, part of your job is to educate the client and reveal the design process to them.

If you fail to do this, you risk reliving the scenario parodied The Oatmeal’s post on “How a Web Design Went Straight to Hell.� In short, what happens is that client (rightfully) wants some input into the process, so they make suggestions or improvements. But they don’t fully understand the reasons behind your design choices, and so their “minor tweaks� take the website further and further away from its purpose. The design suffers, the designer gets exasperated, the client feels unappreciated and the relationship breaks down. Sound familiar?

Oatmeal in When A Thousand Words Is Worth A Picture
The Oatmeal comic describes how poor communication leads to Web design hell.

As designers and Web professionals, we needn’t be afraid of criticism. Good design stands up to criticism, because it is more than a matter of taste. View criticism as an opportunity to explain the reasons behind your decisions, to invite the client into the design world so that they feel like a part of the process.

If you treat criticism this way, then both you and the client will benefit. The client begins to articulate “problems� with the design in language that you can respond to. Instead of just saying, “Make it green,� they might now say, “The red feels too dominant, and we want to push the environmental benefits of our product, so I feel a more natural color is needed. Perhaps green?� Similarly, you will be less precious about your designs, understanding that they will be open to change unless the arguments behind your design decisions are convincing.

Learning The Vocabulary

If we are to explain our designs to clients, then we need to know the language. Translating a visual medium into words is not straightforward. Designers suffer from being so well versed in the language of design that they struggle to articulate it to others. To them, it just “looks right.�

The second difficulty faced by designers is assumed knowledge. They forget that much of their understanding of design comes from past experience, and they can become impatient with clients who are resistant to their suggestions.

In these situations, going back to the basics — i.e. the elements and principles of design — can be helpful. These basics are the “fundamental ideas about the practice of good visual design that are assumed to be the basis of all intentional visual design strategies� (from Wikipedia). A few are listed below:

Principles in When A Thousand Words Is Worth A Picture
The elements and principles of design.

You might wish to familiarize yourself with these elements and principles, although you very likely use them liberally in your designs already. For example, white space is really an expression of balance, because it affords each element enough space to have the right amount of focus. Similarly, we draw on proximity when designing forms to make clear the relationship between labels and inputs.

Understanding the principles and elements of design can also help in the design process. When assessing your options, you are able to fall back on more than “It just looks right.�

Making A Convincing Argument

Ultimately, if we are going to persuade clients of the value of our designs, then we need to make convincing arguments. Clients are people, and people have biases; so, the best way to convince them is to frame your argument in the right context.

Clients usually have various pressures put on them, and have to deal with various expectations of the website. Understanding these expectations from the outset will help you at each stage of the process, including the design stage. Some expectations will be formalized as objectives, which should be documented and serve as the basis of the design brief; other expectations might be politically motivated and therefore more difficult to identify.

While I don’t advocate playing the political game, spending some time understanding your client’s motivations will pay dividends as the project proceeds.

Broadly speaking, motivations fall into five categories:

  1. Usability and accessibility,
  2. Return on investment (ROI),
  3. Return on engagement (ROE),
  4. Deadline-driven,
  5. Financial.

Depending on the dominant factors in a project, the client will be sympathetic to certain solutions and hostile to others. Let’s look at one factor in detail.

Usability and Accessibility

These tend to be a strong motivator with government, not-for-profit and service-oriented clients, usually stemming from a combination of legislative pressures and a desire to be inclusive to all audience segments. Of course, usability and accessibility should be core considerations in all projects, but they are rarely client-driven.

In such a case, Flash and other highly interactive technologies could be dismissed out of hand for not being accessible. This will also have a bearing on decisions related to color, font and clarity, which in turn will have a huge impact on the overall look and feel of the design.

Understanding this from the outset will help you present the design in the right framework and thus make the design appeal more to the client.

Presenting Your Case

Always present a design to the client in person (or by remote conferencing when that is not possible). Never just send it as an attachment to an email, otherwise you will:

  1. Look incredibly unprofessional,
  2. Have no control over the environment (or mindset) in which your design is viewed.

Once you have set aside a time to present your design, how should you proceed? The first thing to do is set clear expectations for the meeting.

Whether you like it or not, the way you present a design sends a message. For example, if you show up at a kick-off meeting with professionally printed boards of design ideas, you will be sending two conflicting messages, because no matter how much you talk about “sketching out� ideas and “exploring� concepts, your boards will be communicating something completely different. The danger here is that the client gets hung up on what they see, which can derail the project in later stages.

As a designer, you have many tools in your arsenal: wireframes, mood boards, sketches, scamps, flat designs, HTML templates and even the backs of napkins. Pick the method that conveys the right amount of professionalism, while offering enough flexibility.

And remember, whatever expectations you have for the meeting, make sure to communicate (and agree on) them before a single design is made.

ShowCover Aspx in When A Thousand Words Is Worth A Picture
Dan M. Brown’s book Communicating Design focuses on those deliverables (wireframes, concept models, site maps) that serve as the primary communication tools between designers and clients.

The second thing I find really helpful, closely related to setting expectations, is giving the client a task. Believe it or not, clients actually want to help. But like a wayward child in the kitchen, this help can sometimes be more damaging than constructive.

The best way to do this is to bring the client on board with your own goals. Talk them through the design brief and how you have answered it, or reiterate your overall concept to them. Invite the client to look at the design from this standpoint and to use it to shape their comments. They should consider themselves the website’s quality control officer, pointing out where you might have veered from your own principles. If you do this, then you are far more likely to hear the sort of helpful criticism we spoke of earlier.

To Recap

  • Remember, your design doesn’t speak for itself. If it is to stand up to scrutiny, then it needs an advocate.
  • In explaining your design, resist the temptation to use meaningless catchphrases. Instead, use plain, easily understood language.
  • If possible, include your client in the design process. Walk them through the process you took to arrive at your decisions.
  • Don’t be afraid of criticism, because good design is more than a matter of taste.
  • Don’t be precious with your design. Be prepared to change elements that you cannot make a good argument for.
  • Translating a visual medium into words can be difficult. But the principles and elements of design will help you articulate this visual language.
  • To make your argument convincing, frame it in the right context. Understand the pain points, and justify your design in these terms.
  • Always present your design in person, and ensure that any expectations are communicated (and agreed on) before a single decision is made.
  • Finally, be proud of your work. When you’ve finished speaking, give it plenty of space to say a few words of its own!

Further Reading

(al)


© Felicity Evans for Smashing Magazine, 2010. | Permalink | Post a comment | Add to del.icio.us | Digg this | Stumble on StumbleUpon! | Tweet it! | Submit to Reddit | Forum Smashing Magazine
Post tags:


4 New jQuery Plugins

In today’s news round-up we feature four powerful and new jQuery plugins that will add plenty of cool functionalties to your sites or applications.

Phono – jQuery Phone Plugin

Phono - jQuery Phone Plugin

Phono is a simple JQuery plugin and JavaScript library that turns any web browser into a phone; capable of making phone calls and sending instant messages. You can even connect to SIP clients; all with a simple unified API.
Phono – jQuery Phone Plugin

Wijmo – jQuery UI Widgets

Wijmo - jQuery UI Widgets

Wijmo is a complete kit of over 30 jQuery UI Widgets. It is an extremely dangerous mixture of jQuery, CSS3, SVG, and HTML5 that when combined become an unstoppable force on the web.
Wijmo – jQuery UI Widgets

SlideNote – A jQuery Plugin For Sliding Notifications

SlideNote - A jQuery Plugin For Sliding Notifications

SlideNote is a customizable, flexible jQuery plugin that makes it easy to display sliding notifications on your website or in your web application.
SlideNote – A jQuery Plugin For Sliding Notifications

IMGr – jQuery Image Rounder

IMGr - jQuery Image Rounder

IMGr is a jQuery plugin for rounding image corners. The script utilizes CSS3 in modern web browsers, and VML in Internet Explorer 8 and below.
IMGr – jQuery Image Rounder

By Paul Andrew (Speckyboyand speckyboy@twitter).


How to make WordPress URLs root relative

For several reasons, including portability, reducing download size, and general code neatness, I like to make all links within a website root relative.

WordPress, on the other hand, seems to like absolute URLs for some reason. To clean this up a bit I have the following simple function in my functions.php file to strip the protocol and domain name from URL strings:

function make_href_root_relative($input) {
    return preg_replace('!http(s)?://' . $_SERVER['SERVER_NAME'] . '/!', '/', $input);
}

Read full post

Posted in , .



  •   
  • Copyright © 1996-2010 BlogmyQuery - BMQ. All rights reserved.
    iDream theme by Templates Next | Powered by WordPress