Wednesday, March 30, 2011

Quick & Easy jQuery Plugin for Zooming Pictures

Zoomy is a quick and easy plugin that will zoom into a picture. You only need two images; the display image and the zoomed in image. Just link the zoomed in picture on the display picture, and tell the plugin to use that link when zooming.

Zoomy is easy to implement and customize. There are a few options that allow you to change the appearance and usability of Zoomy. Plug it in, and even the most boring pictures can turn heads. Get a extra level of detail without boging down your page with gaint images. Take it for a test drive, and let Zoomy magnify you website.



information is shared by www.ideasroad.com

Tuesday, March 29, 2011

How to Choose a Typeface for Your Website

Typography could be considered the most important part of any design. It’s definitely among the most important elements of any design project. Choosing a typeface can be tricky. The beauty and complexity of type, combined with an inexhaustible supply of options to evaluate, can make your head spin.

While there are no easy-to-follow rules on how best to choose a typeface, there are many tried-and-true principles you can quickly learn and apply to make an appropriate typeface choice. Take a look at A Crash Course in Typography and How to Choose a Typeface, you will have a winning typeface choice in no time.



information is shared by www.ideasroad.com

Monday, March 28, 2011

Credit Card Validation Library for Javascript

CreditCard.js is a credit card validation library for JavaScript using Prototype. Using CreditCard.validate(’1111 2222 3333 4444′) returns true/false, the given string is automatically stripped of whitespace, so it can be plugged directly into form validations.

It checks if the luhn validation code add up, and the range and the length of the numbers. You can do the card identification via CreditCard.type(string) returns “Visa”, “MasterCard”, etc.



information is shared by www.ideasroad.com

Saturday, March 26, 2011

A New jQuery UI Theme: Aristo

For those that arn’t familiar with jQuery UI, it’s essentially a collection of jQuery plugins that try to do for user interaction what jQuery did for JavaScript. Like it’s parent library, jQuery UI does its very best to remain cross browser compliant. It is easy to implement. It is very easy to theme.

Ace and Aristo are the respective open source themes of SproutCore and Cappuccino, applied to their parent JavaScript libraries. Tait Brown has ported the “Aristo” theme for Cappuccino over to jQuery UI.

It’s a proof-of-concept to illustrate how jQuery UI could progress if they get sacrifice some of their direction and get some nifty designers on board. Imagine the possibilities if jQuery UI got Cocoia or Sofa on board!



information is shared by www.ideasraod.com

Friday, March 25, 2011

CSS Modal Box without Javascript or Images

Using CSS3 tech­niques a modal box can be cre­ated with­out JavaScript or images. With a bit of ani­ma­tion, tran­si­tion and trans­form, it can be made that lit­tle bit more special. Here we have CSS Modal by Paul Hayes.

The modal animation is hardware accelerated on Safari and iOS, which gives notable performance improvements. The animations are available in Chrome but will feel more sluggish. Firefox will see the opacity transition but not the bounce or minimise animation as it doesn’t yet support @keyframe.

However, it won’t work in IE8 and below, there’s no pointer-event sup­port and opac­ity is poorly imple­mented. IE9 sup­ports :tar­get but no pointer-events. Some IE spe­cific styles could eas­ily switch the opac­ity tog­gle to a dis­play or vis­i­bil­ity one.



information shared by www.ideasroad.com

Thursday, March 24, 2011

Nice and Simple CSS Easing Animation with Ceaser

Now that we can use CSS transitions in all the modern browsers with Ceaser – CSS Easing Animation Tool. Simply choose an easing type and test it out with a few effects. If you don’t quite like the easing, grab a handle and fix it. When you’re happy, snag your code and off you go.



information is shared by www.ideasroad.com

Wednesday, March 23, 2011

JSON Rendering Engine that Crafts Data Templates in HTML

Tempo is a tiny JSON rendering engine that enables you to craft data templates in pure HTML. It works with or without jQuery. Also, it degrades gracefully if JavaScript is not enabled.

There will be no HTML in your JavaScript files anymore. Tempo makes AJAX content easier to work with. It has been tested on Safari, Chrome, FireFox, Opera, and Internet Explorer 6+.



information is shared by www.ideasroad.com

Tuesday, March 22, 2011

Node.js and Server Side JavaScript

An example of a web server written in Node which responds with "Hello World" for every request.

var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello World\n');
}).listen(8124, "127.0.0.1");
console.log('Server running at http://127.0.0.1:8124/');
To run the server, put the code into a file example.js and execute it with the node program:

% node example.js
Server running at http://127.0.0.1:8124/
Here is an example of a simple TCP server which listens on port 8124 and echoes whatever you send it:

var net = require('net');

var server = net.createServer(function (socket) {
socket.write("Echo server\r\n");
socket.pipe(socket);
})

server.listen(8124, "127.0.0.1");


Node's goal is to provide an easy way to build scalable network programs. In the "hello world" web server example above, many client connections can be handled concurrently. Node tells the operating system (through epoll, kqueue, /dev/poll, or select) that it should be notified when a new connection is made, and then it goes to sleep. If someone new connects, then it executes the callback. Each connection is only a small heap allocation.

This is in contrast to today's more common concurrency model where OS threads are employed. Thread-based networking is relatively inefficient and very difficult to use. See: this and this. Node will show much better memory efficiency under high-loads than systems which allocate 2mb thread stacks for each connection. Furthermore, users of Node are free from worries of dead-locking the process—there are no locks. Almost no function in Node directly performs I/O, so the process never blocks. Because nothing blocks, less-than-expert programmers are able to develop fast systems.

Node is similar in design to and influenced by systems like Ruby's Event Machine or Python's Twisted. Node takes the event model a bit further—it presents the event loop as a language construct instead of as a library. In other systems there is always a blocking call to start the event-loop. Typically one defines behavior through callbacks at the beginning of a script and at the end starts a server through a blocking call like EventMachine::run(). In Node there is no such start-the-event-loop call. Node simply enters the event loop after executing the input script. Node exits the event loop when there are no more callbacks to perform. This behavior is like browser javascript—the event loop is hidden from the user.

HTTP is a first class protocol in Node. Node's HTTP library has grown out of the author's experiences developing and working with web servers. For example, streaming data through most web frameworks is impossible. Node attempts to correct these problems in its HTTP parser and API. Coupled with Node's purely evented infrastructure, it makes a good foundation for web libraries or frameworks.

But what about multiple-processor concurrency? Aren't threads necessary to scale programs to multi-core computers? Processes are necessary to scale to multi-core computers, not memory-sharing threads. The fundamentals of scalable systems are fast networking and non-blocking design—the rest is message passing. In future versions, Node will be able to fork new processes (using the Web Workers API ) which fits well into the current design.

information is shared by www.ideasroad.com

Monday, March 21, 2011

jStat – A JavaScript Statistical Library Based on Flot

jStat is a statistical library written in JavaScript that allows you to perform advanced statistical operations without the need of a dedicated statistical language (i.e. MATLAB or R). The majority of jStat functions can be used independently of any other libraries. However, the plotting functionality of jStat is based on the jQuery plugin – flot.

jStat only uses elements that adhere to the jQuery UI ThemeRoller styles so any jQuery UI theme can be used. jStat was designed with simplicity in mind. Using an object-oriented design provides a clean API that can produce results in a few lines of code. jStat should work in all major browsers.



information is shared by www.ideasroad.com

Thursday, March 17, 2011

CSS Floats 101

The float property is a valuable and powerful asset to any web designer/developer working with HTML and CSS. Tragically, it can also cause frustration and confusion if you don’t fully understand how it works. Also, in the past, it’s been linked to some pretty nasty browser bugs so it's normal to get nervous about using the float property in your CSS rule sets. Let’s calm those nerves and ease that frustration. I’ll show you exactly what the float property does to your elements and how incredibly useful it can be once you master it.

We see floats in the print world every time we pick up a magazine article with an image on the left or right with text flowing nicely around it. In the world of HTML/CSS, text will wrap around an image with the float property applied to it, much like in a magazine layout. Images are just one of the many use cases for the float property: we can also achieve the popular two-column layout using floats. In fact, you can float just about any element in your HTML. By learning and understanding float property basics, along with position property basics, you will be able to achieve any layout with confidence.

The definition

Let’s start with the definition of a float. According to the W3C:
A float is a box that is shifted to the left or right on the current line. The most interesting characteristic of a float (or “floated” or “floating” box) is that content may flow along its side (or be prohibited from doing so by the “clear” property). Content flows down the right side of a left-floated box and down the left side of a right-floated box.

The float property has four values that we can apply to it: left, right, inherit, and none. Each value is pretty self explanatory. For example, if you assign float: left to an element, it will move to the left-most boundary of its parent element. The same idea applies if you were to assign float: right; to an element. That element would be sent off to the right-most boundary of its parent element. The inherit value tells an element to inherit the float value of its parent element. The value none is the default value and tells an element not to float at all.

Here is a simple example like the magazine reference above, Example A and the corresponding markup:

img {
float: right;
margin: 10px;
}

How floats behave

Nothing too complex, but still pretty cool right? Child’s play you say. Ok, well before we get into the part where floats usher in a world of bacon-loving unicorns, let’s back up for a second to talk about what’s actually happening here. In the web world, our HTML is bound by some rules, in particular, the normal flow. In the normal flow, each block element (div, p, h1, etc.) stacks on top of each other vertically, from the top of the view port down. Floated elements are first laid out according to the normal flow, then taken out of the normal flow and sent as far to the right or left (depending on which value is applied) of the parent element. In other words, they go from stacking on top of each other to sitting next to each other, given that there is enough room in the parent element for each floated element to sit. This behavior is crucial to remember as you build your websites.

Let’s look at a few more examples. In Example B, there are three blocks without the float property applied:

.block {
width: 200px;
height: 200px;
}

Notice how they stack on top of each other? This is the basic concept of normal flow. Here is the same example again, but this time the blocks are all floated in Example C:

.block {
float: left;
width: 200px;
height: 200px;
}

Now the blocks are sitting side by side. Great, we’ve got that figured out. But what about that part where I said “given there is enough room in the parent element for each floated element to sit?” I thought you’d never ask. Let’s take our last example and increase the box count five fold. The parent element in this example is the body of our document. Notice that depending on the size of your browser window (and subsequently the parent element body), the blocks drop to a second row, because there is not enough room for all of them to sit side by side. As you resize your browser window to allow more room, you’ll see the blocks rearrange themselves. Try it for yourself, in Example D.

In the clear

The float property has a step-brother, clear. The two complement each other in a way that should make you a happy coder. As you may recall, a floated element is first laid out according to the normal flow, then removed from the normal flow. This means that every element that follows a floated element will behave contrary to what you expect. This is where I suspect we might start to get into trouble. Let’s look at a quick example with our blocks again. In Example E, I am going to float two blocks (pink and blue) and directly after those, not float two more blocks (green and orange).

Here is the HTML and CSS for Example E:

.block {
width: 200px;
height: 200px;
}
.float { float: left; }
.pink { background: #ee3e64; }
.blue { background: #44accf; }
.green { background: #b7d84b; }
.orange { background: #E2A741; }

How do you like that green block? Oh wait, where is it? It’s there, right underneath the pink block. The pink and blue blocks are both floated and behaving as we would expect, sitting side by side. Since they’re removed from the normal flow however, the green and orange blocks act as if they’re not even there. That is why our green block is hidden undereath our pink block. So how do we make our green block show up again? Enter the clear property.

The clear property has five values available: left, right, both, inherit, and none. Assigning a value of left says the top edge of this element must sit below any element that has the float: left property applied to it. The same concept applies for the right value—the element must sit beneath any element that has the float: right property applied to it. Using the both value tells our element that its top edge must sit below any element floated either left or right. The inherit value takes on the clear property from its parent element, while the default value none behaves as you would expect. Arming ourselves with this knowledge, let's look at Example E2. This time we’ll clear our two floats by applying the clear property to our green block.

Our slightly modified code looks like this:

.block {
width: 200px;
height: 200px;
}

.float { float: left; }
.clear { clear: left; }
.pink { background: #ee3e64; }
.blue { background: #44accf; }
.green { background: #b7d84b; }
.orange { background: #E2A741; }

By assigning a clear: left property value to our green block, we’ve told it to act as if the pink block is in the normal flow of our document, even though it has been removed, and to sit below it. This is an immensely powerful property; as you can see, it helps bring our non-floated elements back into the normal flow, a behavior that we tend to expect by default. That said, knowing and understanding both the float and clear property really starts to open some creative doors when you write your HTML and CSS.

information is shared by www.ideasroad.com

Check How Fast Your Website Loads From 50 Locations

Loads.in gives you the possibility to see how fast your (or any) website loads in a real browser from over 50 locations worldwide.

If you have a worldwide audience, or your site is hosted in a different country from where your visitors live, it is useful to see how long it takes to load your web pages. With loads.in you simply enter the full URL of the page you want to check, and the page is retreived by a browser at a random location. For each subsequent check you can choose a specific location and browser profile.



information is shared by www.ideasroad.com

Tuesday, March 15, 2011

Know About CSS Browser Issue

When released, Internet Explorer 8 will support many new values for the CSS display property, including the table-related values: table, table-row, and table-cell—and it’s the last major browser to come on board with this support. This event will mark the end of complex CSS layout techniques, and will be the final nail in the coffin of using HTML tables for layout. Finally, producing table-like grid layouts using CSS will be quick and easy.

" Perhaps you’re feeling slightly uncomfortable about the example we’ve just seen—after all, haven’t web standards advocates like myself been insisting for years that you shouldn’t be using tables for layout? "

Applying table-related display property values to web page elements causes the elements to mimic the display characteristics of their HTML table equivalents. In this article, I’ll demonstrate how this will have a huge impact on the way we use CSS for web page layouts.

Using CSS Tables

CSS tables solve all the problems encountered when using absolute positioning or floats to create multi-column layouts in modern browsers. Specifying the value table for the display property of an element allows you to display the element and its descendants as though they’re table elements. The main benefit of CSS table-based layouts is the ability to easily define the boundaries of a cell so that we can add backgrounds and so on to it—without the semantic problems of marking up non-tabular content as a HTML table in the document.

We also need to apply the following CSS:

#main {
display: table;
border-collapse: collapse;
}

#nav {
display: table-cell;
width: 180px;
background-color: #e7dbcd;
}

#extras {
display: table-cell;
width: 180px;
padding-left: 10px;
border-right: 1px dotted #d7ad7b;
}

#content {
display: table-cell;
width: 380px;
padding-left: 10px;
}

The fresh CSS table-based layout that we’ve just created will display correctly in Internet Explorer 8 as well as in Firefox, Safari, and Opera; the image below shows how it looks in IE8.

information is shared by www.ideasroad.com

Monday, March 14, 2011

Create a Chat Server in 12 Lines of Code with NowJS

NowJS is a NodeJS module. The client javascript (now.js) is served by the NowJS server. NowJS creates a magic namespace “now”, accessible by server and client. Functions and variables added to now are automatically synced, in real-time.

You can call easily client functions from the server and server functions from the client. That means you can push to the client simply by calling a client-side Javascript function on the server. Communication is achieved using Socket.io

NowJS v0.2 is supported in Chrome, Opera, Safari, Firefox, and IE9. Support for older version of IE is coming.



information is shared by www.ideasroad.com

Saturday, March 12, 2011

CSS3 Text to Path Generator

CSS3Warp is a proof of concept: create Illustrator like “warped” text (text following an irregular path) with pure CSS and HTML.

CSS3 brings new text-transform options: rotation, skew, matrix, transform-origin… By applying the right transformations to every single letter it is possible to create the illusion of text following a path.

Type your text into the webform, click “Warp it!”, then alter the path as you like. You can attach your text to a circle or a bezier. Add or delete points, or change position, angle and radius of the circle. When your done, click “Generate code”. Copy the CSS and HTML into your document.



information is shared by www.ideasroad.com

Friday, March 11, 2011

Open Source CMS for Building Government Websites

In 2009, the White House chosen Drupal as the open source platform for its web site. If the most powerful voice in our nation chooses to tap into global innovation by using an economical, open source platform called Drupal to manage intensely scrutinized, mission-critical content each day and to effectively encourage feedback from citizens … why wouldn’t you?

OpenPublic is the product of a decade’s work in the open source network and the collective experience of building secure, scalable, transparent websites for all sectors of government and the citizens they serve.



information is shared by www.ideasroad.com

Thursday, March 10, 2011

A set of Terms and Conditions Relevant to Design Work

Every design project is different and the best will result from trust between the client and the designer. The most effective way to assure trust meets both client and designer expectations in an engagement is to codify the relationship with a written agreement.

AIGA has shared Standard Form of Agreement for Design Services with us. The standard agreement is adaptable to unique circumstances while still drawing from the best proven practices based on mutual respect and clarity. It is a modular approach that recognizes the different needs and requirements of different types of engagements.



information is shared by www.ideasroad.com

Wednesday, March 9, 2011

35 Professionally Designed Personal Portfolio Websites

Web technology has filtered its way in to portfolios especially in the digital work place job market. Creative Professionals are looking for an portfolios websites for an exclusive online presence to present their work more professionally and elegantly.
Recently, I have been working on my personal portfolio website, which mainly showcase the websites I have done in the past. I have been browsing through hundreds of Professionally Designed Personal Portfolio Websites for inspirations. And I have hand-picked the following most beautiful ones for you. Please feel free to suggest the ones you love too!

Josh Sullivan



Adham Dannaway



information is shared by www.ideasroad.com

Tuesday, March 8, 2011

wdCalendar – jQuery Based Google Calendar Clone

wdCalendar is a jquery based google calendar clone. It cover most google calendar features. User can choose to have a daily view, weekly view or monthly view. User can easily create, update or remove events by drag & drop. It is very simple to to integrate wdCalendar with a database.

wdCalendar is free (open source LGPL license), easy to use, and with great functionalities. You can check out the demo, and download it here.



information is shared by www.ideasroad.com

Monday, March 7, 2011

jFormer – Open Source jQuery Form Framework

jFormer is a form framework written on top of jQuery that allows you to quickly generate beautiful, standards compliant forms. Leveraging the latest techniques in web design, jFormer helps you create web forms that: Validate client-side, Validate server-side, Process without changing pages (using AJAX).

At 18K gzipped, jFormer is one of the first frameworks that comes Closure Compiled with Google’s latest JavaScript compression technology. You may use any jFormer project under the terms of either the MIT License or the GNU General Public License (GPL) Version 2.



information is shared by www.ideasroad.com

Saturday, March 5, 2011

TNX.net Brand New Text Link Ads Points System



TNX.net is a relative new but awesome text link ads system for both advertisers and publishers. The system seems working really well as it trades over 25.000.000 text link ads per month. Despite of the fact that TNX.net is completely free to join, which has attracted more than 24,000 webmasters using the system already.



For Publishers

Webmasters can sell your text link ads through TNX.net as well. It will calculate ratings of each page for you and give you TNX-Points when a link is sold. You have full control to block new text link ads purchase at any time. So that you can avoid irrelevant text link ads appear on your site. After you have gained some TNX-Points, you can either use these points to purchase links from other websites, you can actually sell your TNX-Points to TNX.net Network at any time. Current rate is $0.61 for 1000 points and it will grow by 2% every week. You can also earn 12.5% commission of your referrer earned.

For Advertisers

TNX.net allows advertisers purchasing non-reciprocal links from thousands of relevant websites. Instead of purchasing site-wide text link ads, TNX.net allows advertisers select any single page you want to locate your ads at. Or you just need to select the sum of text link ads, they will be placed on websites with selected PageRank, number of Yahoo backlinks on selected category automatically. The price of purchasing 1000 inbound links only cost you $1.14 at the moment which is quite bargain I think.

User Interface and Security

tnx3.png The user interface is very good which is really easy to use. You can mange both advertiser and publisher accounts easily on one single account. And also, TNX.net claimed that there is no more than 4 text link ads are placed on each page by default, it does not look like a link farm, therefore there is no risk to get banned or penalised by search engines.




information is shared by www.ideasroad.com

Friday, March 4, 2011

HSL Color Picker For Web Designer

HSL (Hue, Saturation, Luminosity) allows us to describe meaningful relationships between colors. Give this brown color, hsl(36, 73%, 10%), it’s clear that if we desaturate 40 steps and lighten 70 steps we get hsl(36, 33%, 80%), a cream color. HSL Color Picker can help you with this.

In graphics software, it feels more natural to work with HSB (Hue, Saturation, Brightness) than RGB or CMYK. Now, with CSS3 we can use HSL which is actually quite different than HSB. Without a decent HSL color picker, it’s difficult to understand.



information is shared by www.ideasrod.com

Thursday, March 3, 2011

A Draggable jQuery Captcha System with jQuery UI

QapTcha is a draggable jQuery captcha system with jQuery UI. QapTcha is an easy-to-use and intuitive captcha system. Users do not need to type letters or digits from a distorted image that appears on the screen. Instead, they simply need to drag an element of the form in order to unlock it.



information is shared by www.ideasroad.com

Wednesday, March 2, 2011

Manipulate Data-Driven Documents with D3.js

D3 is a small, free JavaScript library for manipulating HTML documents based on data. D3 can help you quickly visualize your data as HTML or SVG, handle interactivity, and incorporate smooth transitions and staged animations into your pages.

D3 is not a traditional visualization framework. Rather than provide a monolithic system with all the features anyone may ever need, D3 solves only the crux of the problem: efficient manipulation of documents based on data. This gives D3 extraordinary flexibility, exposing the full capabilities of underlying technologies such as CSS3, HTML5 and SVG. It avoids learning a new intermediate proprietary representation.



information is shared by www.ideasroad.com

Tuesday, March 1, 2011

Create Interactive Subway Map with jQuery Plugin

Have you been fascinated by the visual clarity of the London Underground map? Finally, with the advent of HTML5 element and jQuery, it is now possible to implement this in a way that with a little bit of effort, anyone who knows HTML can easily create a subway map.

Subway Map Visualization jQuery Plugin lets you create a beautiful, interactive subway map visualization for their website using HTML markup. The map size, line width and colors can all be customizable. The markup used to create the map is search engine friendly too.



information is shared by www.ideasroad.com