Archive for » May, 2010 «

HTML and Semantics – Conjoined twins of the Future Web !

Around 4-5 years ago, my daily knowledge building and socializing activities went like read books, attend some sessions/training, visit a friend’s place, engage in a constructive debate, take a walk @ the nearby park and so on . But years later the scenario is slowly changing and I hardly find any time doing at least a few of the items listed above, and a lot more additional items have creeped in to the list!

The technology has taken over, and the collective wisdom of humanity, is slowly getting harnessed onto the most powerful medium today the WEB ! Kids are more concerned about making more friends on their favorite social-networking site than friends at school / college, we talk through comments and write on walls (I wouldve been happier, if we burn that much calorie to write on an actual wall but this is something else J). The internet is slowly becoming a part of daily life now. Imagine a day, when you could gather all the data that you would need, fetched from the millions of servers on the web, custom tailored to fit into your global profile page, without needing to go searching deeply into the fathoms of the complex web traffic. Yes, that is where the web is heading towards, and that day will be called The day of Semantic Web, and the most important players in that era will be none other than our old kid ‘HTML’ and the relatively sophisticated kid Semantics.

I plan to throw light on the relationship between these 2, from a web developers point of view.

What is SEMANTICS?

Wikipedia, says - Semantics (from Greek – semantikos) is the study of meaning, usually in language. Relating this to the internet, semantics is the study of meaning of data, ie, it is the study of the concept which makes a machine, understand what type of data it is dealing with (as far as web is concerned, the machine can be the browser, or any program / code, that deals with the data).

Example: A page may contain, a group of data, which are related to each other, like the steps to be taken to accomplish a task. There may be a tabular data, which comprehends the details of a product, its configurations and price details. There may be a date on which a particular document was created and the list goes on and on. In order to make those content / data meaningful to the machines, we need to follow some global guidelines, while creating them, which entitles the data to be a particular type or the other. Streamlining the data like this would make it really easier to make the data machine readable and this is the first step towards efficient data segregation and relation.

For instance, how would it feel like, if you are able to aggregate all the data available about a new gadget that you are planning to buy the pricing, reviews, configuration, features everything displayed in a single page, fetched from millions of machine readable data available over the web !

This exactly is the future of web, and the search god Google, is already relying on such search features, which would make them uber-god of the search engine world!

How is HTML related to Semantics?

Since, a browser is the primary interface enabling the user to get connected to the internet (computer screen, mobile screen, TV, Projector are all different medias, but ultimately, all these needs a browser to download the page locally and view the contents), and there is only one way, with which content can be displayed in a browser which is the HTML way. So, HTML holds the major stake, in determining the way, data has to be displayed on a page, and the tags used in rendering the output as HTML, to a browser determines the meaningfulness of the data contained. This is important, because a particular data/content can be rendered, using more than one HTML tag.

The page/content is said to be meaningfully rendered, or said to be semantically correct, if those are rendered using tags which represent the correct meaning of the data. Eg. A date rendered in a tag, a quote rendered in a tag, a label rendered in a

Find below, the semantics of a few HTML tags

(courtesy: htmlplayground)

h1 Normally the main header of the page. An ideal page should have a single h1 tag in it. Some constructive debate here link1, link2. Headers from H1 till H6 should be used hierarchically to denote the importance of the header in the context.
abbr Indicates an abbreviated form, like “Inc.”, “etc.”. By marking up abbreviations you can give useful information to browsers, spell checkers, translation systems and search-engine indexers.
address The

tag defines the start of an address. You should use it to define addresses, signatures, or authorships of documents. The address usually renders in italic. Most browsers will add a line break before and after the address element, but line breaks inside the text you have to insert yourself.
sup Defines superscript text.
div Defines a division/section in a document. Browsers usually place a line break before and after the div element. Use the <div> tag to group block-elements to format them with styles.
kbd Defines keyboard text. Phrase element. It is possible to achieve a much richer effect using style sheets.
legend Defines a caption for a fieldset.
big Renders as bigger text. Not deprecated, but it is better to achieve richer effects using style sheets.
P Defines a paragraph.
button Defines a push button. Inside a button element you can put content, like text or images. This is the difference between this element and buttons created with the input element.
ol Defines the start of an ordered list.
cite Defines a citation. Phrase element.It is possible to achieve a much richer effect using style sheets.
em Renders as emphasized text. Phrase element.It is possible to achieve a much richer effect using style sheets.
pre The pre element defines preformatted text. The text enclosed in the pre element usually preserves spaces and line breaks. The text renders in a fixed-pitch font. It is worth noting that while <xmp> is deprecated, the <pre> tag does not perform all of the functions of <xmp>: <pre><b>Hello</b></pre> displays Hello <xmp><b>Hello</b></xmp> displays <b>Hello</b>

Why Semantics?

The actual advantages of sticking to semantically correct HTML are numerous. Here are a few of them

Search Engine Optimization

With the advent of web, information is money, and getting the right information which you look for, at the right time is more important, since no body wants to waste time searching for an information too long. Here comes the era of search engines, and the key here is to make the data / content in your piece of land on the web, appear in a decent position of SERP (Search Engine Result Pages). Using semantically correct code means that your page is easy to read for the machines, and search engine robots are nothing else, but machines / programs of search engines J. So, semantically correctly coded pages stands a better chance to appear on top of SERPs.

Scalability / Flexibility

Updating the pages, which are semantically well coded, is a pleasure! Since each sections are coded using the relevant tags, a change in style for the element can be done in the updation of CSS selector for that particular tag and markup level changes can also be done seamlessly.

Accessibility

There are visually impaired users using the internet, and they might use a screen reader to read out the contents aloud. These screen readers are programs (machines in our terminology J)which reads the content of the page, by trying to understand the meaning of the data represented.

There is not a better way to make things easier for these programs to understand the content of the page, than using a semantically well coded page ?

Cleaner and shorter code

Semantically correct page means, a clean and crisper code, which also means lightweight stuff for the browser to load !

The pursuit of Semantic Wellness some practical insights

The pursuit to achieve semantic wellness, never ends! Every time you code a page, and assume it to be the semantically perfect markup ever, there comes another better way to represent the same in a more correct way. It is all practice, experience and a thorough knowledge of the HTML specifications, which would make a coder compliant to semantics. Here are some insights that I have gained over a period of time as a UX evangelist and Front end engineer, that would help you to be successful in your pursuit of semantic wellness :)

Avoid DIV syndrome

Separating content and presentation using a DIV based layout with CSS, doesnt mean that DIV is the only tag that you should be using. Avoid DIVITIS by carefully choosing the tags for coding your page. This is the first step for semantic wellness . A great resource to start with is htmlplayground

It really is a pain, but learn to embrace it

Fast tracking your HTML coding can save you time and u may be able to earn more by billing more to the client. But Better things come at a cost ! If you want to be a semantically correct coder, be ready to bear the brunt of the excess hours and frustrating cross-browser issues and fixes. But remember, all those hardships are worth it, and the more you learn to embrace it, the more valuable you would be as a web standard evangelist.

Know the structure of the content/information

For knowing which tags to use where, it is extremely important to understand the type of content, in an Information Architecture level.

For eg .

  • The main navigation of a page, are a list of items that have something in common. ie, they all belong to the logical set called, main navigation. Here the ideal HTML tag candidate is unordered list (ul).
  • A step wizard, where there are a number of steps required to accomplish a task, will need to have the chronological order of the step as a very important factor. Here the ideal HTML tag candidate is ordered list (ol)
  • A list of posts displayed in a page are nothing but unordered lists (ul)
  • A glossary with alphabetical segregation is a couplet of, a term and a definition. Here the ideal HTML tag candidate is definition lists (dl)

Some related resources

  • Writing semantic markup
  • Guide to semantic mark-up

Watch out your Class names and ID names

Semantic wellness does not mainly fall under well written HTML tags. But it spills over to the CSS also. I would easily find out a semantic compliant coder, by scanning through the naming conventions of the classes and IDs of the CSS file !

Always avoid presentational names for classes or IDs, and it would yell out to the world about your attitude towards semantics. Read this for more insights on structural naming convention.

HTML5 The big leap towards Semantic wellness

As I told in the introduction of this article, the coming era of the web will be that of Semantic web, and the giants of web have already started embracing this in a very big way. This latest edition to the family HTML is going to be biggest leap of web towards a semantically correct place. With a lot of groundbreaking proprietary tags implemented, and the dependency of various third-party tools being dropped, this version of HTML is truly going to lead the bandwagon towards the semantic web.

Here is a brief account on the new tags that are implemented in HTML5

<header></header>
The header of a 'section', typically a headline or grouping of headlines, but may also contain supplemental information about the section.

<footer></footer>
This tag logically represents the footer section, with the copyright and other footer information including the footer links and all

<nav></nav>
Represents the navigation of the page, where normally there would be a list of links which leads to respetive contents/pages. This tag should be in the same level as header, footer and the main section tags used in a particular page

<article></article>
An article could represent content that logically is equivalent to an entry of a blog, an article or some other content from an external source

<aside></aside>
An aside indicates content that is tangentially related to the content around it.

<audio></audio>
Defines sound, like music or audio streams

<video></video>
Defines video, like video clip or streaming video

The following is a visual representation of the architecture of HTML tags in a typical web page.

Resources on HTML5

  • HTML5 Readiness
  • Caniuse.com
  • HTML5 Security Cheatsheet
  • Accessible HTML5 Video
  • Test your browser support for HTML5

Resource to help you out in The Pursuit of Semantic Wellness

Semantics is a vast ocean by itself … and what i have covered here is its relation with the HTML. This article intends to throw on the aspects of semantics, when it comes to coding an HTML page, and is aimed at those aspiring front end engineers and web standards evangelists, to help them out in bringing out the best. Sharing few of the resources that I have gathered over years, which may help you out to become a semantic rockstar :)

  • semantic-code-what-why-how
  • Div Mania
  • Tying web 3.0
  • HTML Vs Body Element
  • Preparing for HTML5
  • W3C Semantic Web FAQ

Don’t forget to share your input with us via comments section. Thanks for reading.

30+ Best Websites to Download Free E-books

I believe that reading is the best and simplest way for human to derive and construct a particular knowledge from a source. It would be good if were able to download free e-book and keep it with us.You might be surprised by how many good free ebook sites there are out there. Nowadays, you can find many popular and non-popular books online. People just need to know where to download.Thats why weve crawled deep into the Internet world to compile this list of Best Websites to download free E-books for your use.

1.20200k

A mass directory for free online books and free ebooks and have a big collections of ebooks in different categories like Art,photography,Spirituality,Science,mystery and thrillers etc…

2.Asksam

Asksam has a collection of free e-books like Shakespeare, and assorted legal & governmental text etc…

3.Google books

Search and preview millions of books from libraries and publishers worldwide using Google Book Search. Discover a new favorite or unearth an old classic.you can get details of book Title, Return books with the title, e.g. Books and Culture. Author, Return books written by, e.g. Hamilton Mabie or “Hamilton …

4.Free PDF ebooks

5.Digital library

This online books website has a Listing of over 30,000 free books on the Web.

6.Ebooks3000

It is the best free ebooks download library. It’s the open directory for free ebooks and download links, and the best place to read ebooks.

7.Ebook lobby

Free ebooks in ebook lobby are divided into different categories. Categories range from business, art, computing and education. Select the category appropriate to the e-book youre looking for.

8.Ebooks directory

E-Books Directory is a daily growing list of freely downloadable ebooks, documents and lecture notes found all over the internet. You can submit and promote your own ebooks, add comments on already posted books or just browse through the directory below and download anything you need

9.Ebooks download free

Ebooks download free is one of the biggest books sharing websites that contains huge collection of pdf and chm books for free download you can download free books in many categories: Computer books like free php ebooks to download, ADO.NET, AJAX, java, ajax, photoshop, javascript Exchange Server, Sharepoint , ASP.NET XML free books downloads, c# and c+ books.

10.Ebooks-space

Free downloadable ebooks for computer IT, programming lauguages, software development, tutorial, database design in PDF-CHM file format.

11.Ebooks-x

EBook-x lets you to download popular free ebooks, classical free ebooks, new releases and more.

12.E-library

Plenty of free books available here to download.

13.Esnips

eSnips is the one place where you can share anything you want, about any topic: your thoughts, your photos, your music, your videos, your flash files, stuff you find on the web, and many other media types. You can search and download for free documents in eSnips as well.

14.Free book centre

Cisco certification books, Free Computer Science ebooks,Free Computer Science ebooks download, programming tutorial, online programming,

Mathematical books etc…

15.Free book spot

FreeBookSpot is an online source of free ebooks download with 4485 FREE E-BOOKS in 96 categories which up to 71,97 GB.You can search and download free books in categories like scientific, engineering, programming, fiction and many other books. No registration is required to download free e-books.

16.Free computer books

You can get huge collection of free online Computer, Programming, Mathematics, Technical Books, Lecture Notes and Tutorials. It is very well categorized by topics, with 12 top level categories, and over 150 sub-categories.

17.Free e-books

Free-eBooks is an online source for free ebook downloads, ebook resources and ebook authors. Besides free ebooks, you also download free magazines or submit your own ebook.You need to become a Free-EBooks.Net member to access their library. Registration is free.

18.Free techbooks

FreeTechBooks lists free online computer science, engineering and programming books, textbooks and lecture notes, all of which are legally and freely available over the Internet. Throughout FreeTechBooks, other terms are used to refer to a book, such as ebook, text, document, monogram or notes.

19.Getfreebooks

GetFreeEBooks is a free ebooks site where you can download free books totally free. All the ebooks within the site are legal downloadable free ebooks.

20.Knowfree

KnowFree is a web portal where users are able to exchange freely e-books, video training and other materials for educational purposes and self-practice.

21.Mega-PDF

22.Memoware

MemoWare has a unique collection of thousands of documents (databases, literature, maps, technical references, lists, etc.) specially formatted to be easily added to your PalmOS device, Pocket PC, Windows CE, EPOC, Symbian or other handheld device.

23.Networkgood

24.Online computer books

OnlineComputerBooks contains free computer books, free ebooks, free online books and sample chapters related to Information Technology, Computer Science, Internet, Business, Marketing, Maths, Physics and Science which are provided by publishers or author details.

25.Online free books

This website Provides links to various ebooks (mostly in pdf) spanning in 9 big categories which are: Automotive Ebooks, Business Ebooks, Engineering Ebooks, Gadget Ebooks, Hardware Ebooks, Health & Medical Ebooks, Hobbies Ebooks,Programming & Technology Ebooks, Sport & Martial Art Ebooks.

26.PDF geni

PDFGeni is a dedicated pdf search engine for PDF ebooks, sheets, forms and documents.

27.Pdfoo

Developed for free services to provide resources of PDF files. All files based on popular section and it short by number of the most download by people. Browse through the category section will lead you find the PDF files that you are looking for. Every time people download, or system will counting how many times it has download by people.

28.pdf search engine

Pdf Ebook Search Engine, A tons of books, free unlimited pdf download and search.

29.Scribd

Scribd, the online document sharing site which supports Word, Excel, PowerPoint, PDF and other popular formats. You can download a document or embed it in your blog or web page.

30.Slideshare

SlideShare is the best way to share your presentations with the world. Let your ideas reach a broad audience. Share publicly or privately.

31.Snipfiles

SnipFiles offers you free ebooks and software legally by brought or attained PLR, resale or master rights to all the products on their page.

32.Ufindbook

Customize your WordPress Backend for Personal Branding

With more and more people building custom WordPress themes, it only makes sense to want to create it more personal. I have found a few ways that I will share with you on making your WordPress powered site more personal. This tutorial will show you how to create a custom WordPress login, and explain how to fit it to your needs.

We will then take it a step further and create a custom admin panel footer, and also a custom admin header image for our WordPress site.

Let’s Get Started

Setting it Up

For this example we are going to modify our functions.php file. If your theme does not have this file you can create a blank file and name it functions.php – Make sure this file is placed in the theme directory of the current activated theme you are using.

Add the following to your functions.php file:

functions.php


php
function custom_login() {
echo 'wplogin/wplogin.css" />';
}
add_action('login_head', 'custom_login');
?>

Explanation of the Code

We are using the functions.php file to tell WordPress to override the default settings for the .css file used to make up the login screen. By doing this we are directing WordPress to use a specified .css file that we are going to create for our custom login screen. This .css file will be what we modify to design the login page.

Please make note that there are some very specific styles within the .css file that MUST be present, and changed accordingly for this to properly work. I have created the folder and placed the .css file in it to keep it separated from our regular theme files. If you want to the path can be altered as long as it points to the direct location of the CSS file within your theme.

The Setup

Next we will need to do two things. First, we will need to create a new folder in our theme directory. For this example we are going to use the folder name wplogin.

This folder will be placed within our WordPress theme file folder.

In this folder we will make a new blank file and name it wplogin.css

Taking a look at the setup

This is now what you should have. Remember that the location can be changed using the code we placed in our functions.php file – but for this example you should now have the following:

The file structure will be: wp-contentthemesYOUR_THEME_NAMEwplogin

The new folder we named wplogin will go into your theme folder, and the new .css file we created will be held within the new folder.

Now let’s view what we will be adding to our .css file:

wplogin.css


/* Page Background */
html {
	background: #eae2d5 url(bgimage-path);
	margin: auto;
	font-weight:bold;
}
/* WordPress Logo - MAKE SURE TO MATCH THE WIDTH AND HEIGHT */
h1 a {
	background:url(logo-path) 0 0 no-repeat;
	width:290px;
	height:150px;
	margin-left: 10px;
	margin-bottom: 0px;
	padding-bottom: 0px;
}
/* Top Bar Background Color */
body.login {
	border-top-color:#dac6ad;
}
.message {
	margin-bottom: 0px;
}
/* Login Button */
#wp-submit {
	background: #bc3d1d;
	border: #f24643;
}
/* Lost Password Link */
.login #nav a, .login #nav a:hover {
	color: #443030!important;;
}
/* Top Bar Link */
.login p#backtoblog a:link, .login p#backtoblog a:visited {
	color:#443030;
	font-weight: bold;
}
.login p#backtoblog a:hover, .login p#backtoblog a:active {
	color:#443030;
	text-decoration:underline;
}

Explanation of the .css

Now that we have both the functions.php code in place telling WordPress to use our custom .css file, and our .css file in place, we can start to modify it a bit. The comments within the .css example should explain most everything but we will break it down to further understand it.

Make a note that when changing the logo image you MUST match it with the width and height in the CSS file. That is noted up above in the comments within the CSS file but it is VERY important or it will not always work correctly.

Full Breakdown

I know the .css is commented well but I still want to cover each editable item. Let’s see below to take a look at it:

The Page Background will be the entire page background color and image. The example .css file above shoes a link to the image but there is not one set. You can modify this to create a full-page background image, or change it to a color of your choice.

The WordPress Logo: This is where you will need to be sure to change the width and height to match your image. As long as the dimensions fit your logo you are using it will work correctly.

Top Bar Background Color: This is the bar located at the very top of the page. This can be changed to any color you like.

Message: This is the bottom bar that can be changed to any color you wish as well.

Login Button: This is the submit button on your login page.

Lost Password Link: This is the a:link button to retrieve your password if lost.

Top Bar Link: This is the a:link’s at the very top of the page within the Top Bar area.

Login: This is the writing on the login form of your page.

Take a look at the image below for a diagram of items within the CSS file we can change:

Taking it a step further

Now to continue making our WordPress install more custom and personal, we will change the footer link on our admin screen. This can personalize our website just a little bit more.

Again using the functions.php file we can force WordPress to change something. We will be telling WordPress what we want in our footer area of our admin screen instead of the generic text that comes standard with a regular install of WordPress.

Here is the code we will be adding, but this can be modified to your needs:


function remove_footer_admin () {
echo 'Anything you want can go right here | Copyright &copy; 2010 My Website name';
}
add_filter('admin_footer_text', 'remove_footer_admin');

Changing the Admin Logo

This can also be really useful when trying to personalize your WordPress powered site. Even if you are creating the site for a client they will always enjoy seeing their logo on the admin screen. This is easy to do, and can be done by editing the functions.php file. Add the following code and be sure it points to your image that you will be using:


// Custom Admin Top Logo
add_action('admin_head', 'my_custom_logo');

function my_custom_logo() {
   echo '<style type="text/css">
         #header-logo { background-image: url('.get_bloginfo('template_directory').'/images/custom_logo.gif) !important; }';
}

What we have now

Now we have created a custom WordPress login screen, as well as a custom footer within our admin screen, and a custom image in the header of our admin screen. This should be a good start in personalizing our WordPress powered site. There are still things that can be done to take all of this even further. Using these methods is good for personal sites, multi-user sites, and even sites created for clients that want to see their WordPress site personalized. Playing with the above provided code will allow you many options to customize your WordPress site.

Important Features Every Web Hosting Account Should Have

The features that almost every web hosting UK account will have will be pretty similar, save for a few exceptions. But, it is still essential for you to verify that your web hosting UK account will have all the most common and important features before you buy. Here are some of the main features you need to look for

Multi-domain support
It is important that multidomain support is included in your web hosting UK package. If you want to run multiple sites on the same account, it is very important to have multi-domain support.

more »

Category: Reviews  Tags:  Leave a Comment

Web Operating Systems: The Options You should Consider

Showcase of Web Operating SystemsMost of us have heard of WebOS or Web Operating Systems and most of us just don’t know what it is. Well, WebOS and Web operating system are terms that describe network services for internet scale distributed computing. However, the terms WebOS and Web operating system have been employed more broadly and with far greater popularity in the context of “the web as in HTTP”, and for many meanings ranging from singular systems to collections of systems. Common to uses for collections of systems, a Web operating system is distinct from Internet operating systems in that it is independent of the traditional individual computer operating system. This conception of the system reflects an evolution of research in the field of operating systems. I compiled 16 WebOS apps to know what they are and to experience operation systems in your browser.

1. EyeOs

EyeOs is a Cloud Computing Platform that includes an office suite, group ware applications and the toolkit to develop specific web applications that you need.

2. iCloud

icloud consists of a desktop with applications and files that you run through your web browser. Because it’s running in the cloud (the internet) it can offer you impressive features such as easy sharing and rich collaboration.

3. CorneliOS

CorneliOS is a web-based OS that runs in your web browser. All applications and files are stored on the CorneliOS server and are accessible all the time and anywhere. CorneliOS is platform and browser independent and is available as free Open Source software under the GPL as well as under a commercial license. The CorneliOS Web OS includes a Content Management System (CMS) so that you can easily set up and manage your own website as well as a Database Management System that allows to rapidly build any kind of database application.

4. Glide OS

Glide OS 4.0 is a comprehensive Ad-Free cloud computing solution. Glide provides a free suite of rights-based productivity and collaboration applications with 30GBs of storage. The Glide OS provides automatic file and application compatibility across devices and operating systems. With Glide OS you also get the Glide Sync App which helps you to synchronize your home and work files.

5. myGoya

6. atoolo

atoolo is a personal communication platform or differently spoken: an individual home in the net and a useful aid with the everyday work on the PC.

7. Cloudo

With Cloudo, every computer, in school, at work, at your friends or even in the library becomes your own, free of charge computer. And with Cloudo Mobile your online computer is accessible from your mobile phone as well.

8. OOS

OOS (Online Operating System) is your personal online desktop that supports multiple applications and allows online collaboration and it comes with Windows XP like theme.

9. Pipio

Pipio is a social operating system that aims to give people the ability to share and communicate in real-time. You can search what other people are communicating about in real-time based on contextual, geographical, and chronological relevance. As an operating system, Pipio allow full functionality of third-party web apps within the Pipio ecosystem.

10. KIDO’Z

KIDO’Z is a web OS for kids. KIDO’Z Kid’s Web Environment is safe, easy and fun way for young kids to surf their favorite sites, watch videos, play games, send emails, create and communicate without knowing how to read and write. KIDO’Z is powered by parents and gives parents the power of control.

11. Peepel

Peepel is an online WebOs and office suite.

12. Startforce

13. Fenestela

Fenestela is an operating system for WEB space with a simple and convivial graphic interface. Code your Web pages, your programs, and save your files online. Share with your friends your photographs, family movies and office documents.

14. mybooo

15. SilveOS

16. Lucid

Lucid is a free, open source web desktop, or webOS that lets you: Access your media, office documents, and other files anywhere Stay up to date with Twitter, RSS feeds, and what’s happening on the web Create great web applications in short amounts of time.