Welcome to Syosys Blog

This blog will be featuring all the latest updates and happenings in the web technology world. You can read about the latest web design trends, coding standards, templates, scripts etc... here.

To know more about our activities and services, visit www.syosys.com

Official Blog of Syosys Technologies – Kannur, Kerala

Why you need a website ?

“If you have a business, you should have a website”. Business should at the very least have a presence on the web so that customers, potential employees, business partners and perhaps even investors can quickly and easily find out more about your business and the products or services you have to offer.

More and more people and businesses use the Internet to find information. If you don’t have a website, you’re losing business to other companies that do. A large portion of future business revenues would be derived from online transactions or from offline transactions that were the result of online marketing efforts.

Having a website is one form of marketing your business. Having a website allows your business to advertise 24 hours a day, seven days a week and it is available whenever someone is in need of information on your product or service. A website is possibly the most comprehensive, cost effective marketing tool you can have; providing the perfect way to advertise your product or services to the highest number of potential clients. Many potential customers might be swayed if they could learn a little more about you, your company, your products, etc., without having to phone or taking the time to meet with you in person. A website makes it easy for customers to learn more about your business at their own pace.

It’s not enough that you just have a website. You must have a professional-looking site if you want to be taken seriously. A website is a reflection of your business. A poorly designed website can make visitors question the quality of your service and turn them away as quickly as a well-designed website can draw them in. A professional website design incorporates design, content, and navigation together to achieve the best possible online marketing for your business.

5 top reasons for IT project failure and how offshoring can help

2011-04-01 12:48:10 | HugoMesser | Offshoring, Outsourcing
3tweetsretweet

A recent research from American project management consultancy PM Solutions identifies the top 5 causes of project failure. The research among 163 companies shows that only 47% of projects are termed ‘successful’, whereas the remaining 53% could be labeled ‘failure’ (either terminated, failed or recovered). The top 5 causes for project trouble cited by the research:

1. Requirements: Unclear, lack of agreement, lack of priority, contradictory, ambiguous, imprecise.
2. Resources: Lack of resources, resource conflicts, turnover of key resources, poor planning.
3. Schedules: Too tight, unrealistic, and overly optimistic.
4. Planning: Based on insufficient data, missing items, insufficient details, and poor estimates.
5. Risks: Unidentified or assumed, not managed.

Within IT departments or software firms, number 2 is in many cases the main bottleneck. Because there is a lack of skilled resources (usually caused by the scarcity of talented IT people in the market), product releases cannot be finished in time, custom projects can’t be delivered according to deadline, pressure on the IT department grows day by day.

Although no solution can solve all of the issues, offshoring can bring substantial improvement. The key ingredient for improvement is ‘resources’ .

Requirements

In IT projects, getting a clear picture of requirements is always a struggle. People (specifically users) cannot imagine the outcome of a project and only when the outcome is there, do requirements get clearer. How offshoring helps here is that it forces people to invest more time in developing clear requirements + it forces people to think about process.

People miss the frequent communication that occurs when sitting in the same room. Although this also has its disadvantages, most outsourcers understand one thing: if I don’t write down clearly what I want, my team abroad will interpret it in their own way and the outcome won’t always be what I envisioned. A client I spoke to a few weeks ago put it this way: ‘because I need to tell my programmer exactly what I need, it forces me to think deeper about what I want. This actually brings me benefits because the solutions we come up with are much stronger and it saves us time in sending results and changes back and forth’.

A much cited software development process today is ‘agile’ or ‘scrum’. No matter what the eventual process is (it could be a process strictly adhering the agile manifesto or a custom designed process), because people have to design, document and implement a process, things change. Specifically, scrum and agile deal with the requirements definition problem: instead of aiming at 100% clear requirements upfront, projects are cut into smaller pieces and the outcome of those pieces is evaluated in 2-4 weeks intervals, steering a project more effectively towards the desired outcome.

Resources

This is the biggest ‘win’ for people who embrace offshoring. It becomes easier to attract high skilled people, through access to the big labor pools of the offshore country. Besides, people are not employees (unless it’s a subsidiary), which makes it easier for the outsourcer to add or remove team members according to the capacity needed. If you have a product release planned and need to speed up, you engage a few more people and making the deadline becomes more likely.

Schedules, planning and risk

Schedules can be made more realistic by engaging more or less people in the team. Planning is not simplified directly, but indirectly, the need to develop a strong process frequently brings about change in the planning methods too. In many cases companies move to a more agile way of developing, which automatically brings shorter development cycles, that are easier to plan and manage.

Some might argue that offshoring brings more risk to a project. But that doesn’t need to be the case. If the work is organized in a structured way through continuously improved processes, risks can actually be lowered. Mostly, risk is not about the risk itself, but about the awareness of it. Offshoring forces people to think and plan deeper and usually also brings more brains into the equation (for example a process manager on the offshore ‘side’). While thinking through ‘how will we work’, risks can be identified before the actual work starts. And by building frequent feedback-loops (daily and weekly meetings), additional risks are identified early on during the work and effective measures can be taken.

Principles of Mobile ready web design…

http://media.mobilewebup.com/img/ad-creative/readiness-3b.jpg

Did you know that in the world today there are more than 2.4 billion mobile phone users, and a thousand more are added every minute!

About 30% of these mobile phone owners (more than 700 million and growing) have browsed the Internet through their mobile phones. This is the reason why mobile Web browsing is predicted to become the next predominant Internet platform.

Many consumer-driven companies have already seen how promising the mobile platform is and have already equipped themselves with a mobile Web site. A mobile Website today is not simply a passing fad. It is predicted that in the future mobile sites will prove to be a necessity, even the new Internet standard. Right now, there are millions of WAP mobile users browsing the Internet. But, there is an unfortunate disparity when it comes to the number of consumer-focused mobile Web sites that actually load properly on phones.

This is because there are special procedures involved in designing a mobile Web site. Here are some principles about mobile Web design that you should take note of before proceeding to build one of your own:

  • Websites which make use of tables for the main layout will not look right on mobile phones.
  • Your site must use CSS for the layout to ensure maximum compatibility.
  • It is easiest if your site is coded using either XML or XHTML, with your character encoding set at UTF-8.
  • You have to consider that different mobile phones have different screen sizes. This can be a major headache if you want your mobile Web site design to run on all of them.
  • Remember to put all the most important information that you want mobile users to see on the top of the page. It can be time consuming to browse through a mobile site, not to mention tedious to read through. Make your mobile site design convenient for your consumers.
  • It is difficult to enter text in mobile Web sites. You may want to offer your user the convenience of radio buttons and lists, which they can choose from depending on what they need.
  • If you wish to put images on your mobile Website, it should be in jpeg or gif format.
  • A good mobile Web site design provides back buttons and links. Many phones are not equipped with back buttons, so try to provide one.
  • Keepin mind that the maximum page size for a mobile page is only 20 kilobytes. Make everything fit into that number.
  • Lastly, you should bear in mind that users are actually paying fees to access your mobile Website. Make sure that they are getting their money’s worth!

Website is ready. Now what ?

You’ve probably been quite busy up until now getting your new website set up. You’ve bought some quality web hosting; researched and registered a fantastic domain name; you’ve even gone through the process of choosing a design. At this moment, however, you’re sitting there twiddling your thumbs and asking, “Now what?”

Website Marketing

Getting a website is not the final step in getting a new business presence online. People need to know to find you, and there are a number of ways to make that happen. Just follow this handy list and, soon enough, visitors will be flocking in.

  1. Notify Personal Contacts
    The best way to get the ball rolling is to tell everyone you know! This includes friends, family and anyone else you might bump into. They always say that the best sort of advertising is word-of-mouth, so be sure to give people something to talk about! Just think about how many times you have heard about a business because a friend told you about it.
  2. Get Listed in Business Directories
    Online business directories are generally a good place to list your products and services, and it also provides a link out there to your website. This can aid in getting your website into the search engines at a faster rate. For Australian businesses, we suggest searching for websites that focus solely on Australia unless you plan to also do business overseas. It’s all about target marketing.
  3. Build Up a Link Network
    As mentioned in “Getting in Touch with the Target Market”, you need to find where your potential customers will be hanging out on the Internet. Once you do, these are great areas to start building up a link network, whether that be by leaving a comment on a forum, buying advertising space or doing a link exchange.
  4. Get the Press Involved – Getting the press involved in an excellent source of promotion for a new website. Contact your local media and see if they would be interested in a piece about the new launch, or write up some press releases for popular news websites online. Again, it is best to choose a website that deals with only Australian businesses if that is your target market.
  5. Social Network
    Social networking tools, such as Twitter and Facebook, are excellent ways to kick-start a new website. These tools are popular, and they have become that way for a reason. Accounts are free of course, so be sure to at least give them a try before passing up the possibilities they offer. New to Twitter? Check out our post on “Twitter Buzz” to help get you up to speed. Don’t forget to add @DigitalPacific to your list because we love new followers!
  6. SEO
    Make sure your websites SEO is up to scratch. Check out Google’s very own Search Engine Optimisation Starter Guide. Be sure to have a well written page title, meta description and make certain that you have your keywords incorporated in your homepage paragraph text.
  7. Submit your website to Google Maps

Logo Trends in 2010

Every year, it’s worth noting the trends, lets have a look at some of them here.

Cubist

It should be no surprise that designers have again gone to the well of fine arts to draw upon technique for inspiration. As Pablo Picasso and Georges Braque discovered as the founders of the Cubism movement, there is a certain visual pleasure in the reduction of images down to their essence. In logo design, this same tenet applies, and a good marriage of concept and style emerge. Illustrating an image in a simple series of facets is really a glorified and more aesthetically pleasing version of an image reduced to a handful of pixels.

Illustration software which uses the Delaunay Raster process automatically creates spatial and color averaging that makes this technique broadly accessible. Illustrator Jonathan Puckey uses this process with stunning results on photographic images, and a similar animation style has become a signature look for a number of companies in their commercials. In identity design, hand rendering of these facets is pure cubist eye candy.

1. Iconologic, US Virgin Islands 2. Z&G, Brandogolik 3. Gardner Design, Graphic Impressions 4. Andrei Bilan, Kubis

Spores

Microbial hitchhikers with all the tact of a sticker or cockle burr, these logos are a scaled-back version of a radiant star, and they typically start to take on three-dimensional qualities. They tend to be suspended in space or give the appearance of an underwater mine placidly floating in wait. (In fact, any of these logos could be a perfect candidate for animation.) Despite such dire comparisons, these logos still maintain an attractive, mathematical and mysterious quality that allows them to work well.

In some, the points emanating from the central object seem to have a tentacle-like quality, reaching out to convey a sense of connectivity and of serving multitudes. This same group of logos tends to exemplify how order can be applied to complexity. They show an ability to verge on the edge of chaos but still be held together with the perfection of nature. The aggressive surface of this style certainly requires a client that is able to be faithful to the complex nature of the forms.

1. MYDE, Smart Communication Technologies 2. KITA International | Visual Playground, KITA 3. Seamless Creative, 1025 Photography 4. BrandBerry, Anvexa

Ghosts

Attracting attention in a visual world is a designer’s most challenging task. Encouraging someone to really look is hard; forcing them to engage is harder to the nth degree. These Gaussian-like logos compel the viewer to take the second look if for no other reason than to confirm what they are seeing. The effect of the soft-edged translucent nature of these marks could well be considered a subtle act of confrontation.

That an image is appropriate to the objective is imperative, so this is not permission to just make any logo fuzzy. Remember, however, that there is mystery in leaving something to the imagination. The slow reveal or partial reveal can be much more engaging than the literal, all-out full reveal. The technique seems to have its greatest success if the image in question is obvious enough through silhouette that the viewer is not left confounded. Color is also a critical clue as we tend to identify objects by color before shape.

1. Julian Peck, Futbol California 2. Iconologic, America’s Natural Gas Alliance 3. Supersoon Good Design, Swiss Heat Transfer Technology 4. Strange Ideas, Shadow Farm

Tendrils

There is just the right amount of whimsy and human intervention in the draftsmanship of these logos to make them a pleasure to absorb. In past years, the LogoLounge trend reports have discussed logos with floral flourishes, dingbats and typographic elements bringing life to and skirting the edges of the mark. This group, however, helps place the Si Scott-inspired wisps of fancy into context. Far from being drafted with geometric perfection, these tendrils have a natural gnarl to their wandering, like a real vine.

Humans have been involved here, and that is the message. As beautiful as these logos are, they were not created by a soulless machine. They were created to glorify the brusque reality of imperfection. These marks are important because they show the importance of embellishment that customers associate as an above-and-beyond concept. At the same time, the hand-hewn message reinforces that this is an authentic offer, as different as a handwritten note is from spam.

1. Derrick Mitchell Design, LLC, Easthaven Baptist Church 2. RawType, Jacob’s Well 3. Sabingrafik, Inc., Rosenblum Cellars 4. Dale Harris, Blank Expression

Shift

Perfection is highly overrated even when imperfections are crafted perfectly. Transparent overlays of color often resembling a misregistered CMYK or RGB letterforms are the hallmarks of this trend, although significantly overlapping kerning and turning on the transparent mode qualifies marks for this category as well. Colors are usually clear and clean to allow the murky overlaps to be even more evident. The purposeful layering gives a nod to connectivity between different entities as they come together for a common good.

This trend is a bit of the celebration of diversity that shows a merging for common good. From another perspective, it could be a single entity splitting out into multiples. Because these are brighter, with elements of pure chroma colors, they tend to occur often in the entertainment or literature corridors. Though the images are static, the shifting elements give a sense of motion to the viewer. This instability draws the eye and can create the impression that these marks represent a work in progress.

1. Asta form, Sheriff Studio 2. Go Welsh, Penn State Architecture 3. Effusion Creative Solutions, musicplace.com 4. Liska + Associates Communication Design, Becker and Becker

Parts

This trend give insight into the comment “one of something ugly is ugly, but many of something ugly is beautiful.” Take any one of these ugly things—or, in this case, the iconic representation of your parts—and assemble these into an ideal construction. It’s an element in which many parts come together to create a common goal. From a distance, the image is the larger whole. But on closer inspection the image is revealed to be an amalgam of molecular images.

A diverse group of logos here show some very different takes in achieving similar objectives. “We the people form this nation” and create a map of the United States. A hundred or so divers come together to create a school of fish forming the outline of a shark, and yes, it is for a diving school. In each case, a nice visual balance was found to help the reader make the jump from the whole to the parts that came together to compose the result.

1. Kuznetsov Evgeniy, Russian Team 2. Ten:pm Media, Advanced Armament Corp. 3. Chris Rooney Illustration/Design, Ramsell 4. Hand dizajn studio, Diving Club Big White

Pixel

For your amusement, take a screen capture of the portrait favicon at the beginning of the address for www.marthastewart.com. Then park the minute picture of Martha in Photoshop and enlarge to fill your screen. This view of a 16 x 16 square of pixels as if through a microscope can be revealing. Nothing is as it seems once you knock it down to its atomic core. In the world of RGB, on-screen images, the pixel is the lowest common denominator. So these are logos that speak to their digital pedigree, but which are willing to say, “This is our very essence.”

Pixels seem to be a natural building block when dealing with digital products. They convey naturally the concept of many elements coming together to create a larger result. Because of the medium, the colors are often high in chroma and representative of diversity, but even in the HD City logo, you can see the effective use of the subtle range of tints even within a single color. There is no mistaking the association, but the challenge is to avoid being trite and discovering a new way to present a solution crafted using these tiny tools.

1. Eight a.m. Brand Design , C2 MEDICAL SPA 2. Eightday Studio, Antioch Community Church Norman Corp. 3. Gyula Nemeth, HD City 4. Andrei D. Popa, City Tower

Hexahedron

Stephen Doyle created such an intelligent design with his new identity for The Cooper Union, and the attending animation of the elements tumbling together helps further sell the concept. It’s just two cubes with three transparent, colored faces, representing the letters C and U. But a great sense of space is alluded to, which leaves the viewer with a sense you could navigate the space and imagine what this mark would look like from various angles. In short, it invites you to participate and become comfortable with it.

Other identities based on transparent cubes in various arrangements all have an implied sense of space and almost challenge us to interact with the marks. This may rise from the optical illusion aspect: The greater the participation level the design creates for the consumer, the more chances they have to buy into the ownership of the logo. The greater their level of ownership, the better the level of loyalty.

1. Doyle Partners, The Cooper Union 2. Kristin Spix Design, Phelps Stokes. 3. Tom Hughes Design, Zink, Inc. 4. Adstract Art, Civiquip Industries

Dust

When you speak loudly and fail to modulate your tone, your voice becomes a monotonous drone. When you lower your tone and speak in a hushed whisper, every head in proximity will turn an ear to pick up the conversation. This group of marks understands the importance of subtlety. The whisper is created by a stippled effect that, depending on its density, creates different levels of tone within the logo. Yet because each speck is a hard-edged vector image, any appearance of color gradation is only an illusion.

Again the eye is drawn to these not just for the design but because they are confronting the viewer with something they have not seen before. The soft feathering of edges lends a different tactile nature to these marks that makes them unique. There is something a bit magical conveyed with this technique. The Galaxy Garden logo gives the feeling of some special charm being cast amongst the stars of the heavens, and the Atmosphere logo seems to isolate every particle we inhale.

1. RedBrand, Atmosphere Design House 2. Strange Ideas, Galaxy Garden 3. Tannehill Design, GSL Fine Lithographers 4. Identra, Cognida

Peepshow

It’s the image inside the image that makes the sale. A pedestrian solution suddenly becomes a thing of beauty or interest if there is a great and compelling story showing through from behind the scenes. These logos tend to use vector-edged colored fields in their solutions that are lively and engaging. The contrast levels are kept minimal to avoid making the fill area visually jumpy. This adds a new field in which to play out concept or set the visual tone for a client, and it also establishes pattern as part of the visual vocabulary of the visual brand.

Iconologic successfully developed a series of Coca-Cola icons for use at the Vancouver Olympic Games. The iconic Coke bottle silhouette was fractured into fields that reflect the stacked stone logo of the games. These broken elements could have been rendered with simple color or gradation, but instead these areas use the blues and greens of the patterns developed for use at Olympic venues. It’s a nice sense of connectivity and a smart use of color.

1. Iconologic, The Coca-Cola Company 2. Dalius Stuoka, Trava 3. Wizemark, MonkVibe 4. X3 Studios, Media IQ

Festoon

Anyone whose childhood included a springtime visit to a hardware store remembers the electric fans and window air-conditioners replete with tassels blowing horizontal at attention, thus assuring us that our own homes, too, could become a summertime den of arctic chill. These logos maybe are a bit less about the chill and a bit more about the blowing. Wind tunnels of streamers often in motion and flapping at gale force describe an invisible image underneath, or they may just be in full motion to define a pleasant breeze.

The key to most of these solutions is the tapering of the graphic element to a diminishing point and also the overlapping of the streamers. Generally, these are transparent so there is a color change where they overlap. There is a bit of free spirit and lack of control that comes in as part of the equation. Looking like untamed horizontal licks of flame, these designs convey a sense of joy or festivity that serve well in a lighthearted, feel-good application.

1. BrandBerry, TravelWorld.su 2. Burocratik – Design, Leite & Leite 3. Factor Tres, Gaby Luna 4. Rpd Design, Osorio City Hall

Stains

Imagine hand-drafting the great logos of our age on blotter paper with a juicy brush, and you start to get a feel for the logos in this genre. All are beautifully drafted and probably more than ever require great sensitivity to allow the blur of the technique to not detract too much from the essence of the image. Designers have been using stains on napkins from a coffee cup or a glass of burgundy for years, but this group moves beyond the simple spillage and plays out the art of the stain to new heights.

Paradox Box Design created a series of beautiful animal stains for the Begucci Cafe in Russia. Kangaroos, snails, cheetahs, walrus and more were each crafted in a caffeinated dark roast. The snowboarders shown here were also created as a series by Burton Snowboard. There is motion when a blurred edge comes into play; the grainy immediacy of these marks creates an impression of authenticity. It’s another example of breaking with traditional design technique and gaining that second and third look from the consumer.

1. Paradox Box, Rinat Tuhvatullin 2. Suprematika, Rucksack, the backpack online shop 3. Demographic Inc., Blood Brothers 4. Burton (Snowboards) Corp., Burton Snowboards

Burst

Fireworks no doubt win hands-down in a look-at-me contest. The accompanying audible boom is certainly a factor in drawing your attention to the flash, but the burst and emanating jets of light are visual adrenaline. What better centerpiece could you choose for an identity geared toward excitement, activity, or pleasure? All of these marks, and there were a number of them this year, deal with the imagery in their own unique way. But all of these still capture the fleeting image at its full glory.

Color and lots of it in every bright hue and full tilt spectrums were evident everywhere this year. These marks describe a penultimate moment and define it with motion, distribution and brilliant flashes. Trying to describe this effect in the fewest strokes is challenging, but the LaQuinta logo by LatinBrands and the Logistigo logo by Porkka Kuutsa are both great solutions with simplicity kept intact.

1. Sakideamsheni, Expo Georgia 2. Latinbrand, La Quinta 3. BrandBerry, 1945-2010 4. Porkka & Kuutsa Oy, Logistigo Oy

Wallpaper

After watching monochromatic vines, flora, swirls, and flourishes incase anything and everything for the last several years, a truce to the over-embellishment seems to be closer than ever. But the decoration and fascination with print pattern has found a new incarnation and in full blazing color as well. Silhouettes and shapes are coming to life with substantial gusto, and they are relishing the attention. There is no apologizing for the color being used in this category.

A profile of a woman’s head is no more than that until you imagine what is inside the head. Blend the demure with the flamboyant, and her thoughts leap off of the page. A personality has been defined. These silhouettes don’t typically require much more than solid draftsmanship as the real story is being told with the panoply inside the shape. Obviously, any identity that relies this heavily on diverse color is going to find a challenge when reproduced in one color, but who lives in a one-color environment anymore?

1. Nectar Graphics, Mes Amies, Ladies Fineries 2. Koodoz Design, Tullamore Estate 3. Dirty Design, Nectar Homes 4. Kreativer Kopf, Schoen und Wider Druck

Box-Up

The use of text as part of a visual brand identity has become more critical than ever. Not just the name of the company must be spelled out, but there are other key points of importance as well—what the client makes, the motto, the location, the founding date, the point of differentiation. Even when this additional text is not included, the wordmark and the symbol at the very least require a lock-up to define a visual relationship between the two. A lock-up is always a balancing act that respects the needs of both elements. Enlarging the pair in an effort to make the wordmark larger can make the symbol too large. Reducing the symbol to a more modest size will make the wordmark illegible.

More designers than ever have taken a cue to capture the two elements together in a literal box. Take everything you need to communicate and pour it into an ice tray. No possibility of confusion for those that can’t respect an identity lock-up. It’s all there together in one package, no directions required.

1. Schwartzrock Graphic Arts, Pugleasa 2. Sudduth Design Co., Wilmington-Gordon 3. Fargo Design Co., Inc., Jackson Trading Co. 4. Sigg Design, Swiss International Hotels

Other Noteworthy Trends

Extrusions: Flat outline forms, whether transparent or solid, that have been extruded mechanically to give dimension.

Plastic A/Deksia Designs, Grand View University

Quilts: Imagine the surface of a logo covered with geometric transparent facets, layered together like the panels of a quilt.Niedermeier Design, Clear Bags
Melting: Points on a logo are allowed to drip and stretch away from the primary shape, as if gravity was temporarily turned off.Milou, rain bows
Contort: Graphics or halftone imagery is warped as if looking at a reflection in a fun-house mirror. Sometimes the original image is almost lost when contortion is compounded.Sparc, Inc., LaunchAgents
Rainbowed: Any use of the full-color spectrum rotation on a logo. Often this occurs when the mark creates a wreath-like effect and the color is able to circle back into itself.Rise Design Branding Inc., Star Creative
Spirogram: A mark crafted of many repetitive very thin lines, but not necessarily like the rosettes created by a Spirograph. The volume of lines helps create the mass of the logo.Interrobang Design Collaborative, Inc., Zero2sixty Creative

HTML 5 Infographic

How to develop WordPress Themes (Basic)

WordPress, one of the most popular blogging platforms of the world, has a large user base throughout the world. One of the main attractions for its users is the great themes contributed by the thousands of users around the world. Though in general, bloggers use the themes already available and contributed by other users, but sometimes there is a need to customize the theme or create a new theme from the scratch. Without getting to much in the history, let me show you how to create a WordPress theme with as little expertise as possible. Keep in mind that developing a WordPress theme doesnot require PHP expertise from your side. Just a little of CSS and working knowledge of XHTML / PHP will work.

Getting into WordPress Theme

Before starting the actual development of the theme, we need to understand how WordPress actually works and how the content is presented to the users. Well, the short answer is that the content in WordPress is served by themes to the users. Themes in WordPress is a combination of CSS and PHP files that reside inside a particular directory at a particular place. The ‘particular directory’ meant for storing of theme related stuff is named with the name of theme and this will be the public identity of your theme. The theme directory resides in wp-content/themes/ directory. Actually, all the WordPress themes reside under the same directory.

Structure of WordPress Theme

The WordPress theme mainly consists of four regions viz, header, footer, content & sidebar. You can theme every region with an independent theme file. WordPress theme essentially consists of two files, one for CSS named style.css and another for content named index.php. We can run our theme with these two files only and later on add more files to fine tune the theme.

Get Started

Let’s start actual theme development. With your favourite text editor or PHP editor, create a blank CSS file inside your theme folder, let’s say cool-theme, and name it as style.css. Put a few lines of comments at the top like this.

/*Theme Name: cool-theme
Theme URI: http://www.yoursitename.com
Description: My theme is a cool and beautiful theme
Version: 1.0.0
Author: Ehsan Quddusi
Author URI: http://www.authorsitename.com
*/

Well this is the standard comment style for WordPress CSS file. Actually this information is read by WordPress to display it in the theme list alongwith the provided thumbnail. You can see the theme list in admin menu of WordPress under Presentation heading. All the lines in the above comment are self explanatory and you can well understand what they mean. Now that our CSS file is created with the initial theme information in the form of comment, it is time to create the PHP file to display content on the page. Again using any text editor, let’s create a PHP file named index.php
Now let’s put some code into it, to display all the posts available there.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title> My WordPress Theme</title>
</head>
<body>
<?php if (have_posts()) {
while (have_posts()) {
the_post();
the_title();
echo '<br/>';
}
}?>
</body>
</html>


Wow! you are done. With just a few lines of code, you are able to fetch all the WordPress Post titles from the database. Let’s have a look on the above code. HTML code is same as you will be using for normal web development. Now let’s have a look on PHP code wrapped inside <?php and ?>. Here we are using a condition to verify the output and if available loop through it and display contents. Oh! I know you will be feeling boring. Ok let’s quickly move next. Actually here we are using an in-built function of WordPress, have_posts(), to fetch the contents of the post. The above function first checks for the posts and if available loops through them to fetch content the content of each of them and display their title using the_title().

It is interesting to note that we displayed titles of all the posts with just few lines of code. Let’s have some fun now. Every post in WordPress has an ID associated with it and we will provide a link to each title to display its content. Let’s modify the above written PHP code like this.

<?php
if (have_posts()){
while (have_posts()) {
the_post(); ?>
<a href="<?php the_permalink();?>"><?php the_title();?></a><br/>
<?php if(!is_home()) {
print '<p>';
the_content();
print '</p>';
}
}
}
?>

And here it is. Magic! as you can see. Again by adding 4 lines of code, we are able to provide a link to each post title to show its contents on an independent page. This is the beauty of WordPress. Minimising as much code as possible and maximising productivity.

We will now update our code again to display category with each post as well as date of posting and author.

<?php
if (have_posts()){
while (have_posts()) {
the_post(); ?>
<a href="<?php the_permalink();?>"><?php the_title();?></a><br/>
Posted under <strong><?php the_category(',');?></strong> at <strong><?php the_time('F jS, Y');?></strong> by <strong><?php the_author();?></strong><hr/>
<?php if(!is_home()) {
print '<p>';
the_content();
print '</p>';
}
}
}
?>

And we are done. By putting a single line of code, we have been able to derieve post category, post date & post title for each post. WordPress API provides all the theme related functions to minimize custom coding. As you can see we used three function in the above written one line. the_category() function is responsible for deriving categories of each post separated by supplied argument ‘,’. We can pass many optional arguments to the the_catgory() function to exclude some categories or provide post counts etc. Another function used is the_time(‘F jS, Y’), meant for displaying date of the post while as the_author displays the link for the author alongwith his/her name. This ends the basic tutorial on WordPress theming.

One thing to note is that WordPress allows splitting of code into multiple files for the sake of manageability and granular control over design. Till now we have used only one file in our theme. In the next tutorial we will be using multiple files for theming to achieve granular control along with doing some designing using CSS.

All about .htaccess files

.htaccess stands for hypertext access. It is the default name of Apache directory-level configuration file. .htaccess file provides a way to make configuration changes on a per-directory basis. .htaccess file is placed in a particular directory and the directives in the .htaccess file apply to that directory and all subdirectories thereof.The filename starts with a dot because dot files are by convention hidden files on Unix-like operating systems.

A few general ideas

In order to create the file, open up a text editor and save an empty page as .htaccess (or type in one character, as some editors will not let you save an empty page).

.htaccess files must be uploaded as ASCII mode, not BINARY. You may need to CHMOD the htaccess file to 644 or (RW-R–R–). This makes the file usable by the server, but prevents it from being read by a browser, which can seriously compromise your security. (For example, if you have password protected directories, if a browser can read the htaccess file, then they can get the location of the authentication file and then reverse engineer the list to get full access to any portion that you previously had protected. There are different ways to prevent this, one being to place all your authentication files above the root directory so that they are not www accessible, and the other is through an htaccess series of commands that prevents itself from being accessed by a browser, more on that later)

Most commands in htaccess are meant to be placed on one line only, so if you use a text editor that uses word-wrap, make sure it is disabled or it might throw in a few characters that annoy Apache to no end, although Apache is typically very forgiving of malformed content in an htaccess file.

htaccess files affect the directory they are placed in and all sub-directories, that is an htaccess file located in your root directory (yoursite.com) would affect yoursite.com/content, yoursite.com/content/contents, etc. It is important to note that this can be
prevented (if, for example, you did not want certain htaccess commands to affect a specific directory) by placing a new htaccess file within the directory you don’t want affected with certain changes, and removing the specific command(s) from the new htaccess file that you do not want affecting this directory. In short, the nearest htaccess file to the current directory is treated as the htaccess file. If the nearest htaccess file is your global htaccess located in your root, then it affects every single directory in your entire site.

Also…some sites do not allow use of htaccess files, since depending on what they are doing, they can slow down a server overloaded with domains if they are all using htaccess files. I can’t stress this enough: You need to make sure you are allowed to use htaccess before you actually use it. Some things that htaccess can do can compromise a server configuration that has been specifically setup by the admin, so don’t get in trouble.

In general, you should never use .htaccess files unless you don’t have access to the main server configuration file. There is, for example, a prevailing misconception that user authentication should always be done in .htaccess files. This is simply not the case. You can put user authentication configurations in the main server configuration, and this is, in fact, the preferred way to do things.

The use of .htaccess files effects performance. When AllowOverride is set to allow the use of .htaccess files, Apache will look in every directory for .htaccess files. Thus, permitting .htaccess files causes a performance hit, whether or not you actually even use them! Also, the .htaccess file is loaded every time a document is requested.

.htaccess files are very popular and common among web administrators or server administrators as they provide various configuration settings for them. .htaccess files are commonly used for

  • Authorization and Authentication to specify the security restrictions for a particular directory.
  • Redirect users from one page to another using Apache mod_rewrite.
  • Prevent directory browsing.
  • Change the default index page of a directory.
  • Block various bots.
  • Presenting custom error pages

Authorization & Authentication

.htaccess files are often used to specify the security restrictions for a particular directory, hence the filename “access”. The .htaccess file is often accompanied by a .htpasswd file which stores valid usernames and their passwords.

You must have “AllowOverride AuthConfig” in effect for these directives to be honored.

Contents of .htaccess file to provide authentication for a directory

AuthType Basic
AuthName "Password Required"
AuthUserFile /www/passwords/password.file
AuthGroupFile /www/passwords/group.file
Require Group admins

Note that AllowOverride AuthConfig must be in effect for these directives to have any effect.

Redirect users from one page to another

Syntax: Redirect permanent [old directory/file name][space][new directory/file name]

Redirect permanent /olddirectory /newdirectory
Redirect permanent /olddirectory /somedirectory/newdirectory
Redirect permanent /oldhtmlfile.htm /newhtmlfile.htm
Redirect permanent /oldhtmlfile.htm http://your-domain.com/newhtmlfile.htm

All the above lines are valid. Just remember to replace the file/directory names with actual ones.

Using mod_rewrite rules

This is an Apache module which provides rule based rewriting engine to rewrite requested URLs on the fly. It supports an unlimited number of rules and an unlimited number of attached rule conditions for each rule to provide a really flexible and powerful URL manipulation mechanism. The URL manipulations can depend on various tests, for instance server variables, environment variables, HTTP headers, time stamps and even external database lookups in various formats can be used to achieve a really granular URL matching.

This module operates on the full URLs (including the path-info part) both in per-server context (httpd.conf) and per-directory context (.htaccess) and can even generate query-string parts on result. The rewritten result can lead to internal sub-processing, external request redirection or even to an internal proxy throughput. But all this functionality and flexibility has its drawback: complexity. So don’t expect to understand this entire module in just one day. This module was invented and originally written in April 1996 and gifted exclusively to the The Apache Group in July 1997 by <a href=”http://www.engelschall.com” target=”_blank”>Ralf S. Engelschall</a>

Examples of mod_rewrite

1. Description – Your current pages are called using index.php with parameter of url i.e

http://www.example.com/index.php?url=category

and instead of this URL, you want a nice and easy to read URL like http://www.example.com/category
Solution – Put the following lines in your .htaccess file.

RewriteEngine on
RewriteRule ^([^/.]+)/?$ /index.php?url=$1 [L]

Note: If your file already contains a line ‘RewriteEngine on’ then you don’t need to put it again unless it was set to off before you putting in your lines.

2. Description – Your current URL is
http://www.example.com/index.php?cat=category&subcat=subcategory
which you would like to see as
http://www.example.com/category/subcategory
Solution – Put the below lines in your .htaccess file

RewriteEngine on
RewriteRule ^([^/.]+)/([^/.]+)/?$ /index.php?cat=$1&subcat=$2 [L]

3. Description – You want to have many sub categories or categories like
http://www.your-domain.com/category/subcat1/subcat2/subcat3/subcat4/subcat5/
which you would to rewrite to
http://www.your-domain.com/index.php?cat=category&subcat1=subcat1&subcat2=subcat2 and so on …
Solution – See below lines..

domain.com/category –> index.php?cat=category
RewriteRule ^([^/.]+)/?$ /index.php?cat=$1 [L]
domain.com/category/subcategory/ –> index.php?cat=category&subcat=subcategory
RewriteRule ^([^/.]+)/([^/.]+)/?$ /index.php?cat=$1&subcat=$2 [L]
domain.com/p1/p2/p3/ –> index.php?a=p1&b=p2&c=p3
RewriteRule ^([^/.]+)/([^/.]+)/([^/.]+)/?$ /index.php?a=$1&b=$2&c=$3 [L]
domain.com/p1/p2/p3/p4 –> index.php?a=p1&b=p2&c=p3&d=p4
RewriteRule ^([^/.]+)/([^/.]+)/([^/.]+)/([^/.]+)/?$ /index.php?a=$1&b=$2&c=$3&d=$4 [L]
4. Description – Your URL has a folder and you would like rewriting for that folder. The URL looks like this http://domain.com/folder/index.php?url=name which you want to see as http://domain.com/folder/name/
Solution – Place the following lines in your .htaccess file

RewriteEngine on
RewriteRule ^folder/([^/.]+)/?$ folder/index.php?url=$1 [L]

5. Description – Your actual URL is http://example.com/index.php?page=hello which you want to see as http://example.com/hello.htm
Solution – Place the following lines in your .htaccess file

RewriteEngine on
RewriteRule ^([^/.]+).htm$ index.php?page=$1 [L]

6. Description – Your URL is http://example.com/folder/index.php?page=hello which you want to see as http://example.com/folder/hello.htm
Solution – Place the following lines in your .htaccess file

RewriteEngine on
RewriteRule ^folder/([^/.]+).htm$ folder/index.php?page=$1 [L]

There are many more things that you can do with mod_rewrite. As and when I discover more examples, I will keep updating this page. Please feel free to post your usage of mod_rewrite if already not covered here and I will add them to the above list of examples.

Prevent directory browsing

When directory browsing is on, people accessing a URL from your site with no index page or no pages at all, will see a list of files and folders. To prevent such directory access, just place the following line in your .htaccess file.
IndexIgnore */*
Many hosting companies, by default deny directory browsing and having said that, just in case you need to enable directory browsing, place the following line in your .htaccess file.
Options +Indexes

Change the default index page of a directory

Apache configuration file by default contains various file formats with index as filename as defaults for the index page. So, in case your site or directory does not has a file name which is included by default, chances are that your visitors will either see a list of all the files and folders [through directory browsing] or will not see anything at all. To change the default index page’s name for a directory or the site, place the following line in the .htaccess file of the root folder or the particular directory for which you want to change the index page’s name.

DirectoryIndex homepage.htm
DirectoryIndex somepage.htm

To have more names, put a space between file names and it will take into considerations all those file names as possible index page names. Which means, if it finds a filename matching a list of names you supplied [in the given order] in .htaccess, then it will open that page as the index page for the directory. The below line, with multiple names, is also a valid usage:
DirectoryIndex homapage.html somepage.html myindexpage.html anything.html
Remember, each entry must be in one line only.

Prevent access to your .htaccess file (.htaccess security)

This article would remain incomplete without mentioning this trick. To prevent visitors from viewing your .htaccess file, place the following lines in your file. Of course, by default most Apache installations will not show .htaccess file but just in case.

<Files .htaccess>
order allow,deny
deny from all
</Files>

More information and detailed documentation, visit Apache website.

Presenting custom error pages

Use .htaccess file to present users with your custom pages for 401 [Authorization Required], 403 [Forbidden], 404 [not found] and 500 [Internal Server Error].

Syntax:
ErrorDocument < error-code > < location -of-custom-page>

Examples:

ErrorDocument 401 /401.html
ErrorDocument 403 /403.html
ErrorDocument 404 /404.html
ErrorDocument 500 /500.html

You can include some script in your customized pages to automatically send an email to you whenever those pages are called for. This way you will be notified every time a user encounters 404, 500 and other error messages.

Allow/Disallow certain visitors from accessing your site

To accomplish it use the following lines. Look at the syntax first:

Syntax:

Order allow,deny
Deny from < incoming -address >
Allow from < incoming -address>

The first line [Order allow,deny] tells what should be done first. The second line tells about denying incoming-addresses [could be a single IP, an IP block, domain name and all] and third line tells about the incoming-addresses [could be a single IP, an IP block, domain name and all] those should be allowed. If second line has ‘Deny all’, then you should change the order of allow,deny in the first line to deny,allow.

To deny access to a single IP address and allow everyone else

Order allow,deny
Deny from 100.100.100.1
Allow from all

To deny a block of IP address and allow everyone else. [Notice the second line]

Order allow,deny
Deny from 100.100.100.
Allow from all

To deny a single IP address and allow everyone else. [Use it to block referrals from a specific domain]

Order allow,deny
Deny from www.my-domain.com
Allow from all

CSS Best Practices

CSS Best Practices is the topic that I had been planning to write on for months. As CSS is the order of the day as far as web related UI is concerned, more people are moving to it. CSS isn’t always easy to deal with. CSS coding can sometimes become a nightmare, particularly if you’re not sure which selectors are applied to document elements. CSS Best Practices covers some important and easy to remember tricks and tips to better manage, organise and develop your CSS Snippets.

Use a browser reset

One of the most common mistakes that designers fall victim to when it comes to CSS is not resetting their browser defaults. This leads to inconsistencies in the appearance of your desing across different browsers. So before doing anything else, when coding a website, you should reset the styling. You can use a simple reset with the universal selector like this

* { margin:0;padding:0;}

But using the universal selector is sometimes a bad idea as it is very heavy on the rendering agent to apply rules to every single element in the document.

One of the most popular browser resets is of CSS Reset by Eric Meyer. As Meyer says, “the styles should list all the actual elements to be reset and exactly how they should be reset.”

Another Browser Reset Library is Yahoo! UI Library: Reset CSS. It removes and neutralizes the default styling of html elements providing a foundation upon which you can explicity declare your extentions.

Another very useful CSS reset is CSS Global Styles Reset by Kyle Neath. A simple CSS Reset with some additional classes for better debugging.
Size text without using pixels

Web Designing best principles is to enable a site to withstand a user enlarging text and setting absolute text sizes is not a good practice. Instead we can size our text relative to the browser. Standard browser font size is 1em which is equal to 16px. A little web designer trick works around the issue and resets the font sizes for the entire site so that 1em is equal to 10 px.

body { font-size:62.5%; }

Simply throwing the font-size to 62.5% for the entire site does the trick. Now you can use em instead of pixels.

Organise your CSS Code

Organising your CSS code helps you with future maintainability of your site. You should make independent style sheets for different purposes and then linke them in your master stylesheet. Like you should maintain your typographic styles and structure selectors independently in different stylesheets and then link them together in your master stylesheet.

@import url(“reset.css”)
@import url(“structure.css”)
@import url(“typography.css”)
Make your code easy to read

While scanning through CSS, I came across a very nicely separated CSS coded probably by Rundle. It looked something like this:

h1 {}
h1#title { font-size:2em; }

div {}
div#error { color:#eee; }

This technique is very useful if you’re sharing code or working on a large site where you are using the same div tag in multiple places.

Document your code

This might be common sense to some of you but sometimes I look at CSS and it’s not documented at all. It is always a good practice to document your code or atleast provide a separate heading for a part of code as it makes working with code months or years later easier.

/**********************************/
/* Primary Navigation – Top Links */
/*********************************/
#nav {
border:1px solid #eee;
margin:10px auto;
padding:5px;
}

/***************/
/* Search Box */
/**************/
#search-box {
position:absolute;
top:30px;
left:30px;
}
Keep containers to minimum

Avoid using too many Divs as it makes your document too much complex and tougher to handle. Avoid block level tags as much as possible and consider all options before using DIVs. New Developers to CSS often mistake DIVs for table cells and maximise their use to achieve the layout. Some people even style their headings with DIVs. Try using small tags or inline tags for goodness sake.
Use Shorthand CSS

Work smarter, not harder with CSS. You can wrap multiple properties within a single declaration by using special syntax. Avoid unnecessary properties as it directly effects your troubleshooting efforts.
Like instead of writing

margin-left:2px;
margin-top:3px;
margin-right:4px;
margin-bottom:5px;
You can write

margin:3px 4px 5px 2px;

Similarly we can use shorthand for border, background, padding, font and other properties.


Specify Units

Always specify units for the Property values unless it is 0. This a very common mistake among CSS beginners. In HTML you can get away with this but in CSS all length values should have a unit. While there’s no wrong in specifying a unit for 0 value, but for me it’s only a wastage of space.

padding:2px 3px 0 10px;

Working with Colors

In hexadecimal notation, a color is represented by three pairs of hexadecimal digits. You can write a color more efficiently by omitting every second digit like this.

#ffffff can be written as #fff

Similarly #ff3366 can be written as #f36

Another color related tip is that you can specify web safe colors by using only digits that are multiples of 3 for the red, green and blue.

Don’t redeclare inherited values

The values of many properties are inherited by any descendants of the element that you specify the property for. So there is no fun of redeclaring those properties again and again. Some of the commonly inherited properties are of font and color.

div { font-size:2em;color:#ef321d; }
div.hello { font-size:2em;color:#ef23ef; }
can be written as

div { font-size:2em;color:#ef321d; }
div.hello { color:#ef23ef; }

Multiple Classes

You can assign multiple classes to a single HTML element. This allows you to write several rules that define different properties and only apply them as needed. The multiple classes (assuming .head & .head-about) can be applied to a single element like this.

This is test for multiple classes

Minimise CSS Hacks

Hacks are the tricks, usually non-standard, to overcome some browser limitations. Don’t use hacks unless it is a known and documented bug as it makes the future maintenance of the code very difficult in absence of proper documentation and standard coding design.

Define pseudo classes for links in the LoVe/HAte order

Link, Visited, Hover & Active, as the above represents. You should define your pseudo classes in this order

a:link { color: blue; }
a:visited { color: purple; }
a:hover { color: purple; }
a:active { color: red; }

Define generic font families

“When we declare a specific font to be used within our design, we are doing so in the hope that the user will have that font installed on their system. If they don’t have the font on their system, then they won’t see it, simple as that. What we need to do is reference fonts that the user will likely have on their machine, such as the ones in the font-family property below. It is important that we finish the list with a generic font type. [Getting into good coding habits]

p { font-family: Arial, Verdana, Helvetica, sans-serif; }

1 ID per page, many classes per page

“Check your IDs: Only one element in a document can have a certain value for the id attribute, while any number of elements can share the same class name. [..] Class and id names can only consist of the characters [A-Za-z0-9] and hyphen (-), and they cannot start with a hyphen or a digit (see CSS2 syntax and basic data types).” [Roger Johansson]

Horizontally Centering an element

It is very easy to center an element horizontally using HTML with the align attribute, but there is no such property in the CSS. Instead we use margin to center the element like this

margin:0 auto;

Here ‘auto’ automatically divides the space left on the sides of element into half and assigns each half on each side of the element

Conditional Comments of IE

IE versions less than 7 adhere to CSS standards very less and often create a nasty CSS bug or issue to deal with. You can come around the issue by creating a different style to address the issue and then include the style for only IE using IE conditional comments like this.

To be continued…

The ability to select an object in an image to either remove it from its background or isolate the object for specific correction/manipulation has certainly been available in earlier versions of Photoshop forever. The problem people seem to have has always been the quality of the selections. For instance, isolating and extracting flyaway hair on a model from a background is a bane for many if not most people. Some pixels invariably get left behind, background pixels travel with the hair or a combination of both.

Adobe Photoshop CS3 comes to the rescue by adding a truly powerful selection tool that gives the user incredible control over the quality of their selections. Called the Quick Selection Tool, it is found in the toolbar and has been coupled in a group with the Magic Wand. Adobe has recognized the strength of this tool over the wand, so much so that it has given the Quick Selection Tool top billing in the palette (the Magic Wand now resides in the fly out for the two tools).

Enough of me talking… let me show this thing in action. Let’s start with an image from Photos.com:

Step 1

The Quick Selection tool is found close to the top of the Toolbar, and resembles the Magic Wand somewhat.

Like so many other tools, the Quick Selection holds roots in the Brushes. That is to say you ‘paint’ your selection. Select a larger brush size for the areas further from the edges, and as you get close to the edge of the object reduce the brush size to refine the selection and reduce the chance of grabbing background pixels.

Step 2

This tool is smart too… I find it to be much more intuitive and exact than the Magic Wand. You need not paint over the entire area to be selected, as the tool adjusts the selection as you paint to find and isolate the edges.

Step 3

So what happens when an area is selected that wasn’t intended? Simple. Simply reduce the size of the brush, then hold down the Option/Alt key and paint away that area!

Step 4
So how did that selection turn out? If it were removed from the background now, would the pixels be jagged or blurred?
Ah, young grasshopper, we are not finished just yet. You can not only check the selection before it is applied, you can actually refine the selection before you accepts it, AND view what it will look like in a Quick Mask, on a white or black background, or even as a layer mask.
In the options bar there is a button titled ‘Refine Edge’. This opens a dialog box for the selection tool. From here you can control Radius and Contrast, as well as feather the selection, increase or decrease the selection size (by small amounts), smooth the selection edges to remove ‘the jaggies’ without blurring the edges of the selection and any number of combinations of these settings to refine the edge. You get to watch the adjustment in realtime, ensuring before you accept it that the selection is exactly what you want.

With the selection refined to your taste, you can accept the selection and then remove the image, edit it without altering other objects or the background, and so forth.

Step 5

This overview is brief, but I hope it gives you an idea of the power behind this newest and most welcome of tools in the Adobe Photoshop software. Don’t simply take my word for it… go try it yourself! You’ll be pleased as punch that you did.