Skip navigation
Help

tools

warning: Creating default object from empty value in /var/www/vhosts/sayforward.com/subdomains/recorder/httpdocs/modules/taxonomy/taxonomy.pages.inc on line 33.

The Afghan box camera—a homemade wooden device known as the kamra-e-faoree, meaning “instant camera”—has been used to preserve memories in Afghanistan for generations. It is part of the local landscape, with street photographers dotting city thoroughfares. It is itself a part of Afghan history, having been briefly banned by the Taliban, but these days, the box camera is in danger of disappearing. Fewer and fewer people know how to make and use the traditional tool, which uses no film but can both capture and develop an image.

Lukas Birk and Sean Foley, an Austrian artist and an Irish ethnographer, respectively, had discovered the box cameras while visiting Afghanistan on research trips. They learned that the devices, which came to the region in the early 20th century, were being replaced by their digital descendants among photographers who could afford it—or lying unused by photographers who couldn’t afford to refill on photographic supplies. The art of the karma-e faoree had been passed down through families, but Birk and Foley thought that this generation was going to be the last.

They were both struck by the importance of the cameras in local history and the poignancy of the medium’s persistence, and were also interested in the potential stories to be told when Afghans were photographed by other Afghans.

But the photographs produced by the cameras were the real draw. “We’re both visual people,” said Birk in an email, “and box camera photography is a feast for the eyes.”

So, in 2011, funded by a Kickstarter project, the two traveled to Afghanistan to begin research on a project about the Afghan box camera. The website they produced from that trip features box-camera tutorials, profiles of itinerant photographers and examples of box-camera photography and traditional hand-tinting from Afghanistan and the surrounding region. But the 2011 trip was not the end of their exploration of the box camera. Birk and Foley have started a Kickstarter page to raise money for another trip to Afghanistan, slated for this spring, with plans to produce a book with the additional material.

“Right now we can still talk about it as a living form of photography, maybe for another couple of years, before it will completely disappear,” Birk said.

Those interested in the box camera technology, which allows the photographers to snap and develop their pictures all at once, can watch a movie about it below. (Birk notes that he is doing his best Werner Herzog impression as the narrator, hoping to evoke the style of vintage ethnographic films.)

Find out more about the Afghan Box Camera project here or donate to the project’s Kickstarter fund here.

0
Your rating: None

INKLING BY WACOM (by Wacom)

Wacom’s newest artist gadget is the Inking, a digital ballpoint pen that captures your lines as you draw on any sketchbook or piece of paper.

I’m unsure if I’d find any use out of this apart from novelty.

2
Your rating: None Average: 2 (1 vote)

Discover all sorts of content that's related to a specific image. Just specify an image, and you'll find other similar or related images as well as relevant results from across the Web.

For example, search using a picture of your favorite band and see search results that might include similar images, webpages about the band, and even sites that include the same picture.

How to search

There are a few ways to search by image:

  • Visit images.google.com, or any Images results page, and click the camera icon camera icon in the search box. Enter an image URL for an image hosted on the web or upload an image from your computer.
  • How to enter an image URL

    1. On any webpage, right-click an image and select the option to copy it. In most browsers, this option's name starts with "Copy image," except Internet Explorer for which you'll select "Properties" and then copy the URL that's then displayed.
    2. Visit images.google.com, or any Images results page, and click the camera icon camera icon in the search box.
    3. Paste the copied URL into the search box
    4. Click Search

    How to upload an image

    1. Visit images.google.com, or any Images results page, and click the camera icon camera icon in the search box
    2. Click the Upload an image link
    3. Click Choose File
    4. Select the image from your computer
    5. Wait for the file to upload, then click Search

    Tip: You can also drag and drop an image to initiate a search. Simply click on an image, hold down the mouse, and begin dragging it toward the search box. You should see a blue box appear, and then you can drop the image into that box.

  • Download a browser extension for Google Chrome or Firefox to search by any image on the web, simply by right-clicking on the image.

Search by image is optimized to work well for content that is reasonably well described on the web. For this reason, you’ll likely get more relevant results for famous landmarks or paintings than you will for more personal images like your toddler’s latest finger painting.

How it works

Google uses computer vision techniques to match your image to other images in the Google Images index and additional image collections. From those matches, we try to generate an accurate "best guess" text description of your image, as well as find other images that have the same content as your search image. Your search results page can show results for that text description as well as related images.

The results page

When you search by image, your results will look different than your normal Images or Web results page. The biggest difference is that your results can include non-image results like webpages that seem relevant to the image that you searched for. The elements of your results page will change depending on your search and on the information that's most relevant to that search.

Elements you might see

  • Preview image: see a small version of the image that you searched with. (Note that if you return to that results page after a certain time, you may not see this image anymore.)
  • Best guess: if our system can find a text description for your image, you'll see it appear as a link to further search results. You might also see a few top web results for that text query. To change your search, edit or add to the best guess by typing in the search bar.
  • Visually similar images: see a set of images that are close matches to the image that you searched with. Click the link to see additional images that are similar.
  • Pages that include matching images: see web pages that show your image on their site
  • Other searches related to this image: if our system finds more than one "best guess" description, you'll see them as links at the bottom of the page. Click one to see full search results for that query.

Note that images you upload and image URLs that you search with will be treated and stored in accordance with Google's privacy policy.

5
Your rating: None Average: 5 (1 vote)

40mm Machine Gun

Behold this demo of the 40mm Machine Gun by FPSRussia, the most powerful machine gun a civilian can own: it can fire a 4 pound projectile (or a giant bullet) at 2800 feet/second. (Thanks Ben!)

Related posts:

  1. Wenger Giant Swiss Army Knife
  2. K-Series .68 Rifle Launcher
  3. Video: LEGO Minigun

0
Your rating: None

There’s been quite a bit of news recently regarding game engines and game creation tools:

Monocle Engine – Monocle is a promising open source 2d game engine that’s being developed by Alec Holowka and Matt Thorson. The creators are inviting developers to jump in and help out.

CryENGINE – In an “open letter to the Crytek Modding Community”, Crytek’s Cevat Yerli announced (via Crymod) that a free CryENGINE SDK will be released to the public in August 2011. This free SDK will be well-documented and kept up-to-date with the advances being made to CryENGINE 3. Developers looking to sell their work digitally will be offered “an innovative low-cost licensing model”.

Adventure Game Studio – After 14 years, Chris Jones has released the source code to AGS, a popular tool for making point and click adventure games. It’s being released under the Artistic License 2.0.

UDK – Epic Games showcased some of the new features of the Unreal Engine at the Game Developer’s Conference in March.

Unity – Unity has added Android to its list of supported platforms.

Game Maker – YoYoGames has released version 8.1 of their game-making tool, which includes some long-due features, such as block-tabbing in the code editor and the removal of SoftWrap. GM 8.1 will cost $25 until June, when the price will be raised to $40. People who own 8.0 will get the upgrade for free. On top of that, YYG has released a video (above) that teases an upcoming edition of GM which will feature multi-platform export (PC, Mac OSX, iOS, Android, HTML5).

FlixelDethmuffin in the comments mentioned that Flixel, the open source Flash game library, has reached version 2.5. I didn’t realize it had such a spiffy new website, either!

Construct 2 – Scirra is also working on a new version of Construct, another open-source game creation tool that people have compared favorably to Game Maker. Construct 2 is being redesigned from the ground up to export HTML5 games and you can start playing with preview builds already.

0
Your rating: None

Robert Moses Beach iPhone

Lately, I’ve been hit with the photography bug. It usually happens to me once a year. It goes something like this: I get the bug, I research cameras for a week, I buy an expensive camera, I use it non-stop for a few months, the bug goes away, I sell the camera.

I’m a gear head, so when I become obsessed with something I immediately try to find all the best gear that I can get my hands on. It’s good because I get to learn and experience new things, but it’s also bad on my wallet. And when it comes to photo gear, there’s no stopping me.

Until recently.

After countless cameras, and years of searching for the perfect camera that would push my photos to the next level, I’m now a firm believer that the best camera is the camera that you have with you. Yes, a Hasselblad H4D-60 will blow any other camera away, but you don’t see many people in street with a $42,000 camera hanging from their necks.

I hated lugging around a big ass body, with a big ass lens and a hood attached to it. That was the primary reason why I would stop shooting: I didn’t want to carry around all that stuff. I used to carry around a Hasselblad 503, with a prism and metal hood. The damn thing weighted a ton—and it sure captured some amazing photos—but after a few hours of carrying it, I wanted to throw it in the garbage. I hated that feeling because it ruined the moment and eventually led me to feel unmotivated. The tool was getting in the way of my creativity.

Now I just shoot with my iPhone 4. I already carry it around, and the built-in camera is pretty damn good. When I see an interesting shot, I just pull it out and snap a photo. The joy and spontaneity of shooting is instantly back. I would love it if Apple added some advanced features to the camera app—like shutter and aperture control—and I do miss me some depth of field, but overall the phone produces some fine images.

I think I’ve achieved some good results with this little camera. I took the photo to the left with my iPhone. This guy did a fashion shoot with an iPhone 3GS. Granted, he used a great lighting system, but the images are still impressive. Check out these folks who took a great looking shot with a Canon Powershot SD630 and some basic lighting. Professional fashion photographer Terry Richardson does entire shoots with a Yashica T4 point and shoot and the photos look great.

Don’t get me wrong, it is much easier to produce a great photo with high-end camera. That’s why it’s even more impressive when a great photo is taken with a lower-end one. The talent truly shines in that case.

My point is, in any creative field, the tool isn’t important. It’s what’s behind the tool that counts. So, don’t stress about getting a Canon 1Ds Mark III or the latest version of Photoshop. Just create.      

0
Your rating: None

Smashing-magazine-advertisement in 40 Useful jQuery Techniques and Plugins
 in 40 Useful jQuery Techniques and Plugins  in 40 Useful jQuery Techniques and Plugins  in 40 Useful jQuery Techniques and Plugins

Over the last year, Smashing Magazine has evolved. We’ve been publishing fewer lists and more in-depth articles about design and Web development. We have invited professionals and high-profile developers to write for us. We’ve been investing more resources in the quality and relevance of our articles. We’ve also explored new formats; and on weekends we’ve been publishing more inspirational pieces, leaving the in-depth articles to weekdays.

We’ve tried our best to fuel the growing appetite of our readers for more advanced articles, but recently we’ve been receiving more requests for carefully selected, useful round-ups. We are not big fans of lists either, but the format is useful and — if the resources are relevant — can be extremely helpful. Therefore, we’ve decided to add a couple of round-ups per month as a bonus to our regular articles. Instead of replacing the main articles, we will add round-ups on top of our regular schedule. If you don’t like round-ups or find them inappropriate, please feel free to skip them. How does this work for you?

In this post, we present 40 useful but obscure jQuery plug-ins that will hopefully help you improve the user experience on your websites. We look forward to your ideas and suggestions in the comments to this post.

[By the way: The network tab (on the top of the page) is updated several times a day. It features selected articles from the best web design blogs!]

Tips, Hints, Navigation

TipTip jQuery Plugin
TipTip detects the edges of the browser window and will make sure the tooltip stays within the current window size. As a result the tooltip will adjust itself to be displayed above, below, to the left or to the right of the element with TipTip applied to it, depending on what is necessary to stay within the browser window. TipTip is a very lightweight and intelligent custom tooltip jQuery plugin. It uses ZERO images and is completely customizable via CSS.

JS-00 in 40 Useful jQuery Techniques and Plugins

Contextual Slideout Tips With jQuery & CSS3
A set of contextual slideout tips with jQuery & CSS3, which are ideal for product pages and online tours.

Js-t1 in 40 Useful jQuery Techniques and Plugins

jQuery Slider plugin (Safari style)
jQuery Slider is easy to use and multifunctional jQuery plugin.

JS-52 in 40 Useful jQuery Techniques and Plugins

jSquares
jSquares is a jQuery plugin that pops up an image and a description in an overlay on hover. It is basically identical to the image grid found on www.ted.com. Works like a charm in IE6+, FF 3+, Safari 3+ and Opera 10.

Js-x1 in 40 Useful jQuery Techniques and Plugins

Nav-o-Matic
Single sprite navigation is great, but we all know it can get a little bit tedious. All that measuring of pixel perfect photoshop slices, careful coding of your CSS and subsequent calculator bashing is enough to drive anyone to start microwaving fluffy kittens. Wouldn’t it be great to have a fancy online tool to take care of all the boring stuff for you in a few simple clicks? Well wish no more…

JS-58 in 40 Useful jQuery Techniques and Plugins

Jquery Two Sided Multi Selector
This Plugin converts a multi select list into a two-sided multi-select list. This means you display a list of options in the left hand box and items you select are moved into the right hand box.

JS-01 in 40 Useful jQuery Techniques and Plugins

jQuery MegaMenu Plugin

JS-11 in 40 Useful jQuery Techniques and Plugins

jQuery Keyboard Navigation Plugin
The jQuery Keyboard Navigation Plugin provides the capability for elements on a page to be navigated and activated via the keyboard’s up, down, right and left arrow keys.

JS-77 in 40 Useful jQuery Techniques and Plugins

FullCalendar – Full-sized Calendar jQuery Plugin
FullCalendar is a jQuery plugin that provides a full-sized, drag & drop calendar like the one below. It uses AJAX to fetch events on-the-fly for each month and is easily configured to use your own feed format (an extension is provided for Google Calendar). It is visually customizable and exposes hooks for user-triggered events (like clicking or dragging an event).

JS-89 in 40 Useful jQuery Techniques and Plugins

Forms

iPhone Style Radio and Checkbox Switches using JQuery and CSS
A simple technique for creating radio button and checkbox switches with jQuery.

JS-86 in 40 Useful jQuery Techniques and Plugins

jQuery UI Selectmenu: An ARIA-Accessible Plugin for Styling a Custom HTML Select Element
Our latest contribution to labs is the selectmenu plugin, which is designed to duplicate and extend the functionality of a native HTML select element, and lets you customize the look and feel, add icons, and create hierarchy within the options. Best of all, it’s built with progressive enhancement and accessibility in mind, has all the native mouse and keyboard controls, and is ThemeRoller-ready.

JS-17 in 40 Useful jQuery Techniques and Plugins

A Better jQuery In-Field Label Plugin
This is a pretty nice effect, and it can really help to save space on forms. There are a billion different ways to implement this, and I don’t suggest you use the example from above because that was just a quick way to show the effect. So let’s walk through a couple of different implementation approaches and figure out the best way to implement this feature.

JS-24 in 40 Useful jQuery Techniques and Plugins

Sliding Labels
Tim Wright came up with a jQuery technique that presents labels in input fields by default but then slides them to the left (or up) rather than removing them on click. If JavaScript is turned off, the labels are displayed above the input fields. The small jQuery snippet works in all major browsers and can be used for input and textarea elements.

JS-59 in 40 Useful jQuery Techniques and Plugins

Login or Signup with jQuery
Some users doesn’t like to filling the registration form. So that I had implemented login and singup fields in same block just controlling with jquery and PHP. It’s is very simple javascript and basic PHP code.

Js-y1 in 40 Useful jQuery Techniques and Plugins

Uniform – Sexy forms with jQuery
Have you ever wished you could style checkboxes, drop down menus, radio buttons, and file upload inputs? Ever wished you could control the look and feel of your form elements between all browsers? If so, Uniform is your new best friend. Uniform masks your standard form controls with custom themed controls. It works in sync with your real form elements to ensure accessibility and compatibility.

JS-66 in 40 Useful jQuery Techniques and Plugins

Slideshows and Galleries

jQuery Quicksand plugin
Reorder and filter items with a nice shuffling animation.

JS-82 in 40 Useful jQuery Techniques and Plugins

Nivo Slider: Slideshow jQuery Script
Nivo Slider is a simple and powerful jQuery image slider plug-in that fits the bill. The tool has nine unique transition effects built in, as well as plenty of options to fiddle with: for instance, you can define functions to be applied before and after the image has changed, set the animation speed and activate pause on hover.

Slideshow in 40 Useful jQuery Techniques and Plugins

#grid
#grid is a little tool that inserts a grid onto the Web page. You can hold the grid in place and toggle it between the foreground and background. To display the grid, just press a hot key on your keyboard, and you can set your own short keys to switch views. #grid comes set up with a 980 pixel-wide container, with 20-pixel gutters, and assumes one lead of 20 pixels. You can download the source code (JavaScript and CSS) and use classes for multiple grids.

Analog in 40 Useful jQuery Techniques and Plugins

Improving The Content

Dynamic Footnotes With CSS and jQuery
Lukas Mathis has come up with an elegant solution to improve user experience with footnotes: his jQuery script shows the content of footnotes as soon as the user indicates that they are interested in it – i.e. when they move the cursor over the footnote symbol.

Footnote in 40 Useful jQuery Techniques and Plugins

jQuery Captify Plugin v1.1.3
Captify is a plugin for jQuery written by Brian Reavis to display simple, pretty image captions that appear on rollover. It has been tested on Firefox, Chrome, Safari, and the wretched Internet Explorer. Captify was inspired by ImageCaptions, another jQuery plugin for displaying captions like these. The goal of Captify is to be easy to use, small/simple, and completely ready for use in production environments (unlike ImageCaptions at the moment).

JS-88 in 40 Useful jQuery Techniques and Plugins

Copy to Clipboard with ZeroClipboard, Flash 10 and jQuery
With today’s post I will show you a contrived example to get you started. I eventually hope to add this to the contextMenu.js jQuery plugin that I use, but for now this should be pretty straight forward. I do want to note that in the demo and download I am loading the latest version of the jQuery library (1.3.1) from Google’s CDN for the first time in any of my posts. For more information on how to do this see the instructions from Google.

JS-41 in 40 Useful jQuery Techniques and Plugins

Layouts

Columnizer jQuery Plugin
This jQuery plugin will help you create a multi-column layout without complex CSS hacks. Works across all major browsers.

JS-71 in 40 Useful jQuery Techniques and Plugins

jQuery Grid Plugin

JS-50 in 40 Useful jQuery Techniques and Plugins

Charts and Graphs

Dygraphs: Create interactive graphs from open source Javascript library
Dygraphs is an open source JavaScript library that produces an interactive, zoom-able charts of the present time series. It is mainly designed to display the dense data sets and enable the users to explore and interpret them. It is a JavaScript Visualization Library.

JS-38 in 40 Useful jQuery Techniques and Plugins

gMap – Google Maps Plugin For jQuery
gMap is a lightweight jQuery plugin that helps you embed Google Maps into your website. With only 2 KB in size it is very flexible and highly customizable.

JS-65 in 40 Useful jQuery Techniques and Plugins

10 jQuery Plugins for Easier Google Map Installation
The plugins below offer not only an easier method to install a map, they also offer the option to add extra functionality, should you choose to need them. They also all come with a varied degree of docs, some are extensive and some non-existent, so choose your plugin wisely.

JS-78 in 40 Useful jQuery Techniques and Plugins

Images and Visual Effects

jQuery imageless buttons a la Google
This jQuery plugin is an attempt to recreate Google’s imageless buttons and prove that it doesn’t take a whole team of engineers and an endless cycle of code revision and quality control (their own words) to pull this off. I don’t know how Google did it, but my buttons automatically adapt to paddings and other styling you wish to use. They allow for a lot of stylistic customisatoin via a few lines of css while keeping all the display critical css rules hidden deep inside the plugin.

JS-67 in 40 Useful jQuery Techniques and Plugins

jQuery Presentation Plugin
jQuery Presentation Plugin: Say NO to Keynote!

JS-90 in 40 Useful jQuery Techniques and Plugins

jQuery pageSlide
This plugin allows any developer to recreate a similar interaction on their own website using a few simple lines of Javascript. By attaching the method to an anchor tag, pageSlide wraps the original body content into a wrapper and creates an additional block for the secondary content load. The slide is animated whenever the click event is invoked.

JS-74 in 40 Useful jQuery Techniques and Plugins

jqFancyTransitions: jQuery Image Rotator Plugin
jqFancyTransitions is easy-to-use jQuery plugin for displaying your photos as slideshow with fancy transition effects.

JS-15 in 40 Useful jQuery Techniques and Plugins

A demo of AD Gallery
A highly customizable gallery/showcase plugin for jQuery.

JS-16 in 40 Useful jQuery Techniques and Plugins

Pines Notify jQuery Plugin
Pines Notify’s features include: timed hiding with visual effects, sticky (no automatic hiding) notices, optional hide button, supports dynamically updating text, title, icon, type, stacks allow notice sets to stack independently, control stack direction and push to top or bottom.

JS-51 in 40 Useful jQuery Techniques and Plugins

Animate Panning Slideshow with jQuery
In today’s tutorial we’ll take the makings of a classic slideshow, but use a different kind of transition to animate between slides. It may not fit every project, but diversity is always welcome in the world of web design.

JS-79 in 40 Useful jQuery Techniques and Plugins

Sponsor Flip Wall With jQuery & CSS
Designing and coding a sponsors page is part of the developer’s life (at least the lucky developer’s life, if it is about a personal site of theirs). It, however, follows different rules than those for the other pages of the site. You have to find a way to fit a lot of information and organize it clearly, so that the emphasis is put on your sponsors, and not on other elements of your design.

JS-39 in 40 Useful jQuery Techniques and Plugins

Last Click

CofeeScript
CoffeeScript is a little programming language that compiles JavaScript while simplifying the code that developers actually have to deal with. It works with current JavaScript libraries and compiles clean code, leaving even comments intact. Once developers familiarize themselves with how CoffeeScript works, they could potentially save themselves a lot of time and headaches with the simplified code.

Coffeescript in 40 Useful jQuery Techniques and Plugins

Brosho ‘Design in the Browser’ jQuery Plugin
With this Plugin you can style your markup right in your browser with a build-in element selector and CSS editor. Generate the CSS code of altered elements with one click and use it in your own stylesheet.

JS-62 in 40 Useful jQuery Techniques and Plugins

gameQuery – a javascript game engine with jQuery
gameQuery is a jQuery plug-in to help make javascript game development easier by adding some simple game-related classes. It’s still in an early stage of development and may change a lot in future versions. The project has a Google Code page where the SVN repository of the project is hosted and a twitter page where you can follow the daily progress of the development.

JS-13 in 40 Useful jQuery Techniques and Plugins

Mind-blowing JavaScript Experiments
The following JavaScript experiments demonstrates the amazing capabilities of the modern browsers such as Chrome and Safari. In this post I will showcase to you an array of experiments that will surely blows your mind off.

JS-35 in 40 Useful jQuery Techniques and Plugins

Is adding round-ups to our regular content a good idea?

What do you think, is adding more round-ups to our regular content a good idea?Market Research

© Vitaly Friedman for Smashing Magazine, 2010. | Permalink | 78 comments | Add to del.icio.us | Digg this | Stumble on StumbleUpon! | Tweet it! | Submit to Reddit | Forum Smashing Magazine
Post tags: , ,

0
Your rating: None

by Noura Yehia

JavaScipt libraries have made huge leaps and bounds in helping developers write code and develop products more quickly. jQuery is one of the most popular JavaScript frameworks, with powerful tools that improve the user’s interaction with Web applications. jQuery has an additional advantage in that it allows developers to select elements on a page using CSS-like syntax.

To help you take it up a notch, we share below some methods that can help you give visitors to your website an amazing user experience. Here are over 45 impressive jQuery plug-ins and techniques that have been recently created and that could make the development of your next website an easier and more interesting experience than the last.

You may want to take a look at the following related posts:

Dynamic Content

1. Build A Login Form With jQuery
In this tutorial, we’ll create a sliding panel, that slides in to reveal more content, using JQuery to animate the height of the panel. In this case, we will be creating a hypothetical login for the new tutsplus area that’s coming soon.

jQuery

2. Spoiler Revealer with jQuery
A simple technique that hides some content first and fades it in once a link is clicked.

jQuery

3. AJAX Upload
This AJAX file upload plug-in allows users to easily upload multiple files without having to refresh the page. In addition, you can use any element to trigger the file selection window. The plug-in creates a semi-transparent file input screen over the button you specify, so when a user clicks on the button, the normal file selection window is shown. After the user selects a file, the plug-in submits the form that contains the file input to an iFrame. So it isn’t true AJAX but provides the same user experience.

jQuery

4. FCBKcomplete
Give your users fancy Facebook-like dynamic inputs, with auto-complete and pre-added values.

jQuery

5. Create Accessible Charts Using Canvas and jQuery
This tool is proof that you can use the <canvas> element to illustrate HTML table data. The idea is a good one: putting the data in a table allows it to remain accessible, while the chart can be shown for visual enhancement.

jQuery

 

Form Manipulation

6. Radio Button and Check Box Replacement
This jQuery tool replaces radio buttons and check boxes with a more appealing display.

jQuery

7. Submit a Form without a Page Refresh

jQuery

8. jQuery AJAX Contact Form
Here is a quick and easy way to make a jQuery AJAX contact form with a “honeypot” to foil email bots, load success and error messages dynamically without leaving the page and provide descriptive error messages detailing why submitted values have failed validation.

jQuery

9. Simple jQuery Form Validation
This jQuery form shows live form-input validators both server-side and browser-side.

jQuery

 

Navigation Menus

10. jQuery Context Menu
A context menu plug-in for jQuery that features easy implementation, keyboard shortcuts, CSS styling and control methods.

jQuery

11. Kwicks for jQuery
Kwicks for jQuery started off as a port of the incredibly attractive MooTools framework, but has evolved into a highly customizable and versatile widget.

jQuery

12. jQuery iPod-style Drilldown Menu
“We created an iPod-style drilldown menu to help users traverse hierarchical data quickly and with control. It’s especially helpful when organizing large data structures that don’t translate well into traditional dropdown or fly-out menus.”

jQuery

13. jQuery File Tree
The jQuery File Tree is a configurable AJAX file-browser plug-in for jQuery. You can create a customized, fully-interactive file tree with as little as one line of JavaScript code.

jQuery

14. How to Create a MooTools Home Page-Inspired Navigation Effect
In this tutorial, you’ll recreate the same effect seen in MooTools’s menu, but in jQuery!

jQuery

15. CSS Sprites2
This tutorial demonstrates how to implement inline CSS Sprites2 using jQuery.

jQuery

 

Manipulating Content

16. jQuery books widget
With some custom JavaScript and jQuery magic you can create some interesting widgets. A good way to demonstrate this functionality is by building a browsable Amazon.com books widget.

jQuery

17. Text Size Slider
This tutorial explains how to use a slider to control the text size of an article on a page. This lets the user control exactly the size that suits them, and is also a pretty impressive feature to have on a site.

jQuery

18. Pagination
Create navigational elements: when you have a large number of items, you can group them into pages and present navigational elements that allow users to move from one page to another.

jQuery

19. Coda-Slider
As with the last tool, groups items together using navigational elements that allow users to move from one page to another.

jQuery

20. Creating a Slick Auto-Playing Featured-Content Slider
If you love the Coda-Slider plug-in for jQuery, then you will find this plug-in very useful for displaying lots of content in a small area. This nice plug-in adds some features not found in the original Coda-Slider, such as slowly cycling through panels, auto-playing different types of custom content. An arrow indicator serves as a visual indication of which panel you are currently viewing.

jQuery

  • Demo can be found here.
  • Download files here.

21. haccordion
A simple horizontal accordion plug-in for jQuery.

jQuery

 

Tabular Data and Grids

22. Table Row Checkbox Toggle
This tool generically adds a toggle function to any table row you specify based on a CSS class name. It will, by default, toggle on any check boxes within that table row.

jQuery

23. Tablesorter
Tablesorter is a jQuery plug-in that turns a standard HTML table with <th> and <td> tags into a sortable table without the need for page refreshes. Tablesorter can successfully parse and sort many types of data, including linked data, in a cell.

jQuery

24. TableEditor
TableEditor provides flexible in-place editing of HTML tables. User-defined handler functions can easily be dropped in to update, for example, a data source via an AJAX request.

jQuery

25. Scrollable HTML Table
This JavaScript code can be used to convert ordinary HTML tables into scrollable ones.

jQuery

 

Lightbox Techniques

26. Revealing Photo Slider
Learn how to create a thumbnail photo gallery, where clicking a button reveals the entire photo and more information about that photo.

jQuery

27. FancyBox
FancyBox was born to automatically scale large images to fit in windows, adding a nice drop-shadow under the zoomed item. It can be used to group related items and add navigation between them (using a pre-loading function). FancyBox is totally customizable through settings and CSS.

jQuery

28. Facebox Image and Content Viewer
Facebox is a lightweight Facebook-style Lightbox that can display images, divs, and even entirely remote pages (via AJAX) inline on a page and on demand. It uses the compact jQuery library as its engine, unlike Lightbox v2.0, which uses Prototype.

jQuery

29. jQuery.popeye
jQuery.popeye is a plug-in that transforms an unordered list of images into a simple image gallery. When an image is clicked, it enlarges Lightbox-style. The images are displayed in a box with “Previous” and “Next” controls, and information about the images can be included.

jQuery

 

Image Galleries and Viewers

30. Simple Controls Gallery
Simple Controls Gallery rotates and displays each image by fading it into view over the previous one, with navigation controls that pop up when the mouse hovers over the gallery. The controls allow the user to play, pause or jump to a specific image in the gallery.

jQuery

31. Agile Carousel
This jQuery plug-in allows you to easily create a custom carousel. Use the jQuery UI to enable many different types of transition. The plug-in uses PHP to call images from the folder you specify. Configure many different options including controls, slide timer length, easing type, transition type and more!

jQuery

 

Browser Tweaks

32. Setting Equal Heights with jQuery
A script to equalize the heights of boxes within the same container and create a tidy grid.

jQuery

33. jQuery IE6 PNG Transparency Fix
Another IE6 PNG fix that uses jQuery selectors to automatically fix all PNG images on a page.

34. BGI frame
This tool helps ease the pain of dealing with IE z-index issues. You can find a demo here.

35. Fix Overflow
IE puts scroll bars inside overflowing elements, and if an element is only one line, the scroll bar will cover it. This plug-in fixes that issue.

jQuery

36. Lazy Load
Lazy Load delays the loading of images below the fold on long pages. As the user scrolls down, the images are loaded as needed. Check out the demo here.

37. Maxlength
It’s a fairly common design practice to limit the number of characters a user can input in a field while giving feedback on how many spaces are left. This plug-in automates that task.

jQuery

 

Animation Effects

38. Scrollable
Scrollable is a flexible and lightweight (3.9 KB) jQuery plug-in for creating scrollable content. Scrollable items can contain any HTML, such as text, images, forms, video or any combination of them. You can make items scroll horizontally or vertically and decide how many items are visible at once.

jQuery

39. jQuery Fading Menu - Replacing Content
“Instead of thinking about CSS as page layout and a way to style your page when it loads, you can use in animation and change it on-the-fly to react to events that happen on your page. Take for example a menu. You can take the “click” event that happens when clicking on a menu to do lots of stuff.”

jQuery

40. Build an Animated Cartoon Robot with jQuery
This effect simulates a faux 3-D animated background reminiscent of old-school side-scrolling video games (and not unlike the parallax effect). This effect is created by layering several empty divs over each other, with transparent PNGs as background images. The backgrounds are animated at different speeds using jQuery.

jQuery

41. Flip
Flip is a plug-in for jQuery that “flips” page elements in four directions. Compatible with Firefox 2+, Internet Explorer 6+, Safari 3.1 (for Windows) and Google Chrome.

jQuery

  • Download files here.

42. Use jQuery for Background Image Animations
Animate your menu whenever a user hovers over an item with this effect.

jQuery

 

Image Manipulation

43. Jcrop
Jcrop is the quick and easy way to add image-cropping functionality to your Web application. It combines the ease of use of a typical jQuery plug-in with a powerful cross-platform DHTML cropping engine that is faithful to familiar desktop graphics applications.

jQuery

44. jQZoom
JQZoom is a JavaScript image magnifier that makes it really easy to magnify what you want. It is easy to customize and works on all modern browsers.

jQuery

 

Miscellaneous

45. Date Range Picker
A rich date-range widget that uses the jQuery UI’s date picker and some additional custom interaction.

jQuery

46. Sortable Lists
Unordered lists are commonly used to structure a website’s navigation. Having the ability to re-order such lists would be extremely useful. Here is a method to easily save and reload the list element order without getting lost as the page is refreshed.

jQuery

47. Amazing Music Player Using Mouse Gestures and Hotkeys
Learn how to create an amazing music player, coded in XHTML and jQuery, that makes use of mouse gestures and hotkeys. You can click and drag the mouse to interact with the music player’s interface or use directional keys and the space bar instead of the mouse.

jQuery

48. Script for Tracking Outbound Links in Google Analytics with jQuery
This code snippet uses Google Analytics and jQuery to automatically track outbound links. This interesting script enhances behavior by comparing the link’s domain to the current page’s domain and, if they are different, triggering the behavior. This is helpful when using a CMS or other tool that generates full URLs, including the “http://,” instead of relative ones.

<script type="text/javascript">
	$('#content a:not(.popupwindow)').filter(function() {
		var theHref = this;
		if (theHref.hostname && theHref.hostname !== location.hostname) {
			$(theHref).not(".noAutoIcon").addClass("offSite");
			$(theHref).not(".noAutoLink").attr('target','_blank').bind('click keypress', function(event) {
				var code=event.charCode || event.keyCode;
				if (!code || (code && code == 13)) {
					if(pageTracker){
						var fixedLink = this.href;
						fixedLink = fixedLink.replace(/https?:\/\/(.*)/,"$1");
						fixedLink = '/outgoing/'   fixedLink;
						pageTracker._trackPageview(fixedLink);
					};
				};
			});
		};
	});
</script>

49. jGrowl
jGrowl is a jQuery plug-in that delivers unobtrusive messages within the browser, similar to the way that OS X’s Growl Framework works.

jQuery

Related posts

You may want to take a look at the following related posts:

About the author

Noura Yehia is a Web designer and blogger who can be found at Noupe and Devsnippets. If you want to connect with the author, you can follow her on Twitter.

0
Your rating: None

This article is a guest post written by Dirk Jesse, the developer of YAML (Yet Another Multicolumn Layout), an (X)HTML&CSS framework which explains his motivation for YAML in the last paragraph of the article. This article is supposed to initiate the discussion about the need for more flexible layouts in modern web design and explain why flexible designs are still important — even despite the Full Page Zoom-functionality implemented in most modern browsers.

The new generation of web browsers — Firefox 3, Opera 9.5 and Internet Explorer 7 — provides a feature which seems to save a lot of work for web-developers in the future, namely the Full Page Zoom. Instead of allowing users to increase and decrease the font size on a given web-site, browsers now enable users to literally scale the rendered layout including visuals and background images. The whole design layout is scaled proportionally according to some adjusted zoom-factor, with all the elements of a page’s layout expanding equally. Consequently, every fixed, pixel-based layout becomes “scalable”; the content area always remains within the layout box it is supposed to be in and there is no chance of producing overlapping boxes as we’ve seen in the previous generations of web-browsers.

However, is the new zoom-technique indeed so advanced that we don’t need flexible layouts any longer? Just as this question is extensively discussed in the blogosphere, it is extensively answered with “yes”. And there is a good reason behind it. The coding of a fixed layout is much easier and, when used properly, produces exactly the results a designer is willing to achieve. With fixed layouts, designers can ensure the exact positioning of each pixel (a dream of many graphics designers comes true!) and the user can adjust the size of the layout with a scaling zoom on demand. No wonder that it’s tempting to motivate the switch to fixed layouts. However, as professionals, we need to consider how reasonable it is from the professional point of view.

In the following let’s discuss why we strongly believe that this paradigm won’t lead web design to more user-friendly and accessible web-sites, why flexible layouts still remain important today and why they will become even more important in the future.

Where Full Page Zoom doesn’t help at all

The main difference between fixed (px-based) and flexible (%-based) layouts is the simple fact that flexible layouts can better adapt to user’s viewing preferences. With flexible solutions, the width of the layout depends on the viewport of the browser and can perfectly fill the viewing space without any manual adjustments from the user’s side. Fixed layouts can’t do that. Full page zoom, when applied to fixed layouts, enables users to manually adjust the design after it has already been rendered.

Another important aspect which is worth keeping in mind: Internet Explorer 6, probably the nightmare of every web-developer out there, has a market share of almost 40% — and it doesn’t support zoom at all.


According to w3schools.com, the larger and wider screen resolutions (larger than 1024×768px) will become a standard in the future.

More problematic is the overwhelming confidence of developers that the individual decision-making is better for users from the accessibility point of view. When applied to fixed layouts the web-developer delivers a clear message:

Dear users, your browser can zoom my fixed layout - so please help yourself if you want or need to!

From designer’s perspective with this argument it is tempting to switch to a more comfortable (fixed) design solution at expense of accessibility. Why should a user adapt his viewing preferences to a web-site? Shouldn’t a web-site rather adapt itself to the viewing preferences of its users? If you think about it for a second, you have the same situation as in a cloth store where you are offered cloth only in some very specific size. If the size doesn’t fit to you, it’s your problem, not store’s owner. And if you want to you can take a needle, some fabric and create the cloth of its own choice for free. That is not user-friendly.

Even more crucial is the simple fact that full page zoom isn’t really feasible in practice. Let’s assume that the designers has a fixed layouts with the width of 960px. To zoom it using a 150% scale factor and still browse the page without horizontal scroll bar, users need to have at least the screen resolution of 1440px and a browser opened in the full-screen-mode. Is it really a path for the Web to take in the years to come? As Nancib states, “problem is that sometimes the font on a page is friggin’ tiny without zooming it in, but zooming the page (with the images) doesn’t just make it more readable.”

Web developers often tend to argue that flexible layouts are too complex and with full page zoom every fixed layout is becoming scalable anyway. That’s right, scalable, but not flexible. Why should a browser correct the mistakes a developer or designer has done when creating a site layout?

Flexible layouts are hard to control? That’s not true!

Whenever designers argue against flexible layouts they tend to use the following argument:

In flexible layouts the text flows in the width when expanding the browser window, making the content hard to read. This text flow is hard to control.

Wide text flow is definitely not a nice thing to offer your visitors. However, text flow doesn’t need to flow in the width when the browser window is expanded. To achieve attractive flexible designs one can use the properties min-width and max-width. Of course, Internet Explorer 6 doesn’t support both of them — just as it implements both hasLayout-model and the Float-model incorrectly. However, this is not the reason to not use floats for your design layouts, right?

To simulate max-width and min-width you can use various workarounds (JS Expressions); and to simulate min-width you can even use a pure CSS-solution. But what happens if the user’s browser doesn’t support JavaScript? Well, in this case a flexible Layout without max-width doesn’t necessarily destroy the layout, although the text flow may be too wide. But this is what the Progressive Enhancement is all about, so this is not that problematic.

How to find an ideal width for a flexible layout?

Let’s consider how wide the layout should be for an optimal flexible layout:

  • Layout width: use width:auto or any %-value to make sure that the layout makes use of the available width of the browser windows automatically.
  • Minimal width: use some px-value (e.g. 760px). This lower bound should be used for all pixel-based layouts, so the content remains readable when displayed in the minimal screen resolution.
  • Maximal width: use an em-value (e.g. 90em). Thus the text flow doesn’t grow in width in an uncontrollable fashion, but remains constant for various screen resolutions. Side effect: the maximal width is scaled according to the font-size of the browser.

Also keep in mind that we, designers, don’t really have the design layout (whether fixed or flexible) under control as the presentation of our layouts depends on the browser, font size adjustments, operating system, alternative user-stylesheets etc.

The Holy Photoshop Mockup

The most frequent argument used to motivate the fixed layout solution is the fact that customers are confident that a perfect Photoshop mockup would look best when displayed 1:1 in user’s browser. Indeed, it is hard to explain to the customers that flexible solution, although looking differently in different context, has some advantages. After all, if the design doesn’t look as expected on senior project manager’s wide screen laptop, then this is not something the customer would agree on.

However, following customer’s decisions blindly you neglect your professional responsibility to develop accessible, user-friendly web-sites. It’s your duty to complement your customer’s wishes, compromise and seek for the best possible solution for users and not for the senior manager. A quick argument that a user-friendly solution which doesn’t look best at some specific configuration would bring more satisfied customers and consequently more money in a long run usually suffices.


Vivabit.com: transparency, patterns and background images can lead to impressive and flexible results.

The end-result layout isn’t supposed to be used as a nice screenshot for one single portfolio. It has to serve users’ needs and enable them to get to the content of the site as quickly and as painlessly as possible. Take your time and go through some of the layouts presented in numerous CSS-showcases. In way too many cases the attractive pixel-based design breaks down completely when the browser window is resized or the content is scaled. A Photoshop Mockup isn’t necessarily easy to convert into a flexible design layout, however it is definitely worth consideration. Transparency, patterns and background images can lead to impressive and flexible results.

In most cases we design web-sites not to present some design, but to let the design help users to achieve some objectives such as finding the information they are looking for. Graphics-heavy flexible layouts are not easy to achieve and require planning, patience and confidence that the results are worth it. However, these efforts improve user experience and make the design medium-independent.

Mobile Browsers – Why flexible is better

Mobile Web layouts as well as its small and big problems are a topic which is worth a single discussion. Just one year ago my old mobile phone could access the Internet, however it was extremely hard to browse web-pages, read them and navigate. With the improved user interface of iPhone it has completely changed. Mobile web-browsers (e.g. Opera Mini or Safari on the iPhone) have dramatically improved over the last two years — at the moment it is almost natural that they render web-pages without any considerable display errors.

My iPhone has no problem displaying flexible layouts in the landscape format or portrait format; in fact it automatically adjusts them to the best format which fills the whole iPhone window. At the same time I often experience problems when loading fixed layouts — from time to time they need to be zoomed in to fill in the whole browser window.

What holds for mobile devices holds also for printing devices. Ironically, nobody really argues about the advantages that flexible layouts for print layouts manage to deliver. Flexible design allows to use portrait / landscape - formats for optimal printing.

The decision for flexible layouts against fixed layouts doesn’t only improve the accessibility on Desktop-PCs, but also creates robust and flexible medium-independent layouts which can be easily adapted to any output devices. After all, with flexible rules (relative measure units, minimal margin and padding, alignment etc.) instead of fixed rules (px) rendering engines can better consider the properties of the used media.

The future, the unexplored land

As mentioned above, the mobile Web is becoming more and more important. Are we now going to optimize layouts for 640×480 or 800×600? The screen resolutions are increasing, the prices for high-resolution displays are decreasing. At the same time the physical resolution of devices as well as the spatial printing resolution (dpi). Consequently, the absolute size of one pixel decreases. No wonder that pixel-based definitions are becoming less expressive.

The gap between low-resolution displays and high-resolution displays hasn’t bridged over the last 10 years. On the contrary: the gap has increased dramatically. Web-sites are viewed in hundreds of possible screen resolutions while each user may have his own preference for the viewport of his browser. This consideration alone explains how important flexible design layouts are today and how important they will be in the future. Consequently, fixed layouts won’t make the cut in the future as designers will need to consider more and more different devices to optimize the design for. What we need in web design to come to grips with all this variety are dominating relative measurement units.

Flexible Layouts with YAML

YAML (”Yet Another Multicolumn Layout”) is an (X)HTML/CSS-framework which was developed especially to meet the requirements of flexible and user-friendly design layouts. Since June 2007 YAML is available in English and provide an extensive documentation. Most CSS-Frameworks like Blueprint CSS or YUI Grids offer designers a predefined system of CSS-classes to create grid-based layouts visually. To create a layout designer needs to create a HTML-structure of the site and to assign CSS-classes to containers. The rest is automatically taken care of.

YAML takes a different route. The Framework supports the development of grid-based layouts as well as the development of the grid system - with the emphasis on flexible layouts. If a designer wants to create a grid-based layout he can use the basic skeleton with three columns, header and footer. Each element can be removed or adjusted to user’s needs. The actual design, the positioning of the columns, is done using CSS-definitions (and not HTML-structure as it is done in other CSS-frameworks). The benefit for designers: with YAML one has better options for defining his own system of classes, using any measurement units and getting clean code.

Based on the HTML-structure of YAML, the framework includes layout presets which already prevent IE-bugs; thus the framework makes it easier for designers to create a layout which works in both modern and older browsers. Layout examples provide an overview of what is possible with YAML and may deliver some ideas for your future layouts. Apart from that, YAML offers a set of flexible grid-components which you can use to create columns within columns and thus design a more complex but flexible Grid-layouts.


YAML Example: a demonstration of YAML’s flexible grids.

Consider the example above. BluePrint CSS has a demo-page which displays a layout created with Blueprint CSS. And this is the result of the very same template created using the flexible grid-elements of YAML. The scaling works even in IE 5.5, including min-width and max-width.

Apart from layout design, YAML also delivers style sheets for print layouts, as well as components for horizontal and vertical navigation. YAML definitely requires some time to climb the learning curve: the tool offers a variety of functions and user-friendly flexible layouts are definitely not easy to build.

The concept of YAML is, however, well documented in the online- and PDF-documentation and my provide beginners and professional with a good introduction to the framework. For practical purposes you can also use YAML-Builder, a handy tool for visual development of YAML-based CSS layouts which allows you to put the containers of the layout visually together via drag-n-drop. The valid HTML- and CSS-code is generated automatically on the fly.

0
Your rating: None