Block-level elements such as divs, paragraphs, and lists are like pipes—they typically occupy a well-defined space, and they often stack on top of each other like pieces of PVC pipe fitted together. Their job is to direct the “flow” of content where you want it to go. You can choose which kind of pipes you have and even decorate them.
Inline elements like links, span, strong, and em are like water—they flow and take the shape of the container they are in. They take the path of least resistance. If the container they are in isn’t big enough, they will spill over where they’re not supposed to go. You can change the color, sweetness, and flavor of the water, but it’s still liquid.
If this analogy doesn’t help and you need more basic information, learn more about block and inline elements here and here.
]]>We’ve been hiring at Sebo Marketing, and my experience leads me to focus on four main areas when I talk to potential hires:
It’s usually a good idea to try and take stock of a candidate’s knowledge by asking some basic questions that cover a wide range of topics in web programming to test the breadth of his or her skill set. The W3Schools has quizzes for XHTML, CSS, PHP, and many other topics. These aren’t a perfect measure of someone’s knowledge, and some of the questions aren’t all that great (Like the one in the XHTML test that asks whether or not XHTML will replace HTML), but they can help you get a general idea. If your candidate misses more than 5 or 6 questions, you may need to keep looking.
I try to give interviewees a specific task or small project that will utilize a mix of skills to solve a (limited) real-world problem. They don’t even have to finish the task—it’s useful to see how far they got and how they were going about solving the problem.
In order to learn web programming, one must do it. There’s no escaping it. If potential hires don’t have a portfolio or aren’t willing to share it, they may never have done any real work. Even first-time hires need to code something that they can show. In my mind, a candidate’s portfolio is the most important gauge of ability in the interview.
Even if a candidate can write AJAX in his sleep and is helping write the upcoming CSS3 spec, he still may not make sense as an employee for your company. If salary/wage requirements are too high or if a part-time hire can’t work the proper hours due to scheduling issues, for example, then things just won’t work out. Candidates that aren’t a good fit for your organization are hard to pass on when they are well qualified, but trying to compromise on requirements and needs so they can work for you is a dangerous thing.
If your candidate can answer general web programming questions, solves your sample task, has a portfolio of well-crafted projects, and fits well with your organization, offer him or her a job! If there are a few problem areas, see if the situation can be managed through training, trial hire periods, or lower pay. If there are lots of red flags, many missed questions, and no samples of previous work, be warned! Good luck with your interviews.
]]>Typography is an important area of design, even on the web. Fonts, leading, letter-spacing, and other typographical choices say things about your site’s character and content and influence the likelihood that site visitors will actually read your content.
It’s different getting typography right on the web. The resolution is much, much lower than print (72 dpi instead of at least 300 dpi in print). You run into problems with fractional pixels. There’s no easy method for kerning. And many typographical choices are dramatically modified or even eliminated because users can resize and reflow the text.
The CSS2 Specification has controls for some of the most important typographical decisions—there are controls for leading (line-height), letter-spacing, font size, and others. Most modern browsers support these typography declarations. Web typography has moved forward a lot thanks to the acceptance and implementation of the CSS2 Spec.
Really, the most important hurdle in web typography is font choice. There is currently no universally accepted method for embedding fonts on a page or site, and thus web designers must create images with their text in them (there is a wide selection of text-image replacement techniques) or they are limited to the fonts that can be found on the majority of relatively modern Windows and Mac systems (without even thinking about the other operating systems out there, like Linux). It’s a pretty short list.
Alberto Martinez has maintained a very good list of universally available fonts and Windows/Mac font pairs that are very good approximations of each other. Here is his List of Web-safe Fonts.
If you exclude symbols and webdings, there are 14 total fonts on the list, many of which are very similar. There aren’t many people who are going to notice a huge difference between Times New Roman and Palatino Linotype, for example. The fonts with the most character are Impact, to be used sparingly, and Comic Sans, to be used even more sparingly.
On the bright side, it doesn’t take long to learn what your font choices are, and the web is a much more consistent place because of the limited font selection. That being said, I still hope that someday soon we’ll be able to see some kind of advanced font system in place that will unlock the world of fonts to web typographers.
]]>Don’t worry too much about what kind of web presence you have just yet. Think carefully about what kind of presence you really need. Do you need an informational site, an e-commerce platform, or a community or network site? Which suits your business best?
Is your site primarily meant to distribute information? Sell a product? Get subscribers? What are the end results you need to achieve?
Think about your ideal audience. Are they tech-lingo-speaking engineers? C-suite managers? Teenage girls with generous spending habits? Do you need to serve more than one audience? How will you serve multiple audiences? Some reading about personas might help at this point.
Do you really know who is visiting your site? This can be tricky to determine, but there are clues to who it is that is viewing your site. A web analytics package will go a long way in helping you to determine what content and which calls to action are resonating with your current audience. You can also ask your visitors directly—a short, online survey can do a lot to help unveil your visitors’ feelings and background.
There are many methods for driving traffic, and you need to figure out which will be most appropriate for your site and which are the highest priority. Natural search engine results? Pay-per-click ads? Viral, word-of-mouth marketing? Links from related sites? Press releases?
These actions are the baby steps towards achieving your main purpose in #2 above. Do you want your visitors to read a certain page, download a whitepaper, and then contact sales? Do you want them to read product reviews, look at a photo gallery, add a product to their cart, and check out? What are the most important actions that lead to achieving your goals?
Often the problem with a site is not getting visitors to come to a site, but making them stay. How can you connect with your audience and encourage them to stick around? What (small) set of calls to action are going to be used to motivate your visitors to explore, learn, and enjoy your site?
How do you make a website “sticky?” Is your site a one-trick pony? Does your site have more to offer visitors at a later date?
Once you’ve determined what your site needs to be, you need to think about how it will be built and maintained. Remember, it’s often the case that whatever site and system you have now is a sunk cost and therefore shouldn’t unduly influence your decision about what to do going forward.
Once you know what you need and want, you have to look at what you realistically can have, at least in the near term. You may have to prioritize your goals and simply try to accomplish as much as you can with your limited resources.
These 10 basic website questions don’t have perfect, unchanging answers, even for the same company at two different times. The best answer often changes with growth or challenges your company is facing. Each question is also open-ended, so there are multiple answers to each one. The main point is simply to think about what’s important regularly so that your company or site follows its optimal path on the web.
]]>One of the basic problems of many domain name research tools is the time it takes to determine whether or not each domain is already registered or not. Another is that it can be hard to brainstorm because it is hard to keep track of your past ideas and use them for inspiration.
Tabeze is basically an AJAX domain name research tool. It allows you to create as many “tabs,” or domain name searchers, as you’d like. Each tab allows you to determine whether or not a domain name is registered. You can use as many tabs at a time as you’d like—I can’t usually type fast enough to use more than 4 or 5 at once. When you get a result you’d like to keep, just leave it on the page and open up another tab. It’s really cool to be able to research multiple domain names simultaneously and to be able to see all my searches on one page.
I had problems with the page occasionally locking up if I had too many tabs running queries. That was frustrating because I have to copy down all the research I’ve done so far and reload the page. I lose the ability, unless I re-query all the previous domain names, of seeing all the research I’ve done on one page.
One feature that I really, really wanted was the ability to reorganize the tabs—I kept wanting to click and drag the tabs to reorganize them and group them into related sets. Grouping ideas is one of the best roads to great brainstorming, and I missed the ability to do that. The other feature I wanted was to query multiple domain-name extensions at once and view the results in a table or list that would normally be hidden but would appear when I hover over or click on a tab.
Well done, Tabeze, finding a need and doing a pretty good job of filling it. Please, please fix the connection problems I run into sometimes and add a few features to make domain name research much easier and snappier. If the server didn’t crash, I’d use Tabeze, with or without new features. Until then, I have to stick with the Network Solutions domain name research tool.
]]>Virtually all browsers in use today understand that they should ignore what’s in between <script> tags. For the most part, we don’t have to insert comment tags <!-- --> any more. Unfortunately, most validators still choke on what they find in between script tags. So technically, you could leave comment tags out, but in practice it’s very annoying to have the validator spitting back a big pile of errors.
To “fix” Google’s tracking code (which in theory should be perfectly fine) so that it doesn’t result in validation errors, simply add comments around the contents of the script tag, like so:
The nicest feature of the new Google Analytics tracking code is that it has Javascript code that automatically detects whether the page the code is on uses a secure, https:// connection or a normal, http:// connection. No more having to write your own detection code to include a different script.
Personally, I think adding comment tags is a small price to pay to get a tracking code that validates and automatically detects the transfer protocol. Thank you, Google.
]]>The basic concept of a CSS sprite rollover is to assign a background image to a link. This image contains the possible states of the link rollover. Based on which “state” is being used, we shift the background image around to display the correct portion of the image.
For example, the Lime Blog RSS feed icon is a CSS sprite rollover. Here’s the image used to create the effect:
In the default state of the link, I display the normal version of the RSS logo. The rest is hidden beyond the borders of the link (illustrated in black) like this image illustrates:
In the highlight or selected state of the link, I use the same RSS logo as a background, I just shift it so that the hover state is displayed and the default state is hidden:
Here’s the basic HTML needed:
And here’s the important part of the CSS:
There are many benefits to using CSS sprite rollovers, especially for most simple rollover applications:
By reducing the number of file requests and the overhead associated with each file, you reduce the load on your server, resulting in a snappier site.
The alternate states are included in just one image that is loaded for the initial state. Once the initial state is loaded, all of the states are loaded.
You only have one image file and one CSS file to edit.
Most Javascript rollovers result in bloated, ugly code with behavior and presentation mixed in with the content.
Some people have their Javascript and/or images disabled. Rollovers based solely on Javascript would break, whereas the CSS rollovers would degrade gracefully.
There are a few shortcomings to using CSS to execute rollovers:
Using animated .gifs, you can create some transitions, like the tabs at the bottom of the page on Corda.com, but you have to use separate images and they get big quickly.
For some complex applications, it’s nice to have multiple states to an object, and CSS is limited to link, visited, hover, and active.
For most intents and purposes, however, CSS is lighter, faster, and cleaner for a rollover, and a sprite-based rollover is one of the best CSS rollover methods.
]]>Accessing these resources is easy, legal, and free. How you use these materials, however, can be like walking a tightrope—there are lots of ways to screw up, and many of them hurt.
If you need images for a project, it’s really easy to grab images off the web using Google Image Search, Microsoft Live Search Images, or any stock photo site. Some of them even come formatted just the way you need them. With others, a little work with a smudge tool or creative use of cropping removes watermarking and makes the images look just like they came from your copy of Photoshop or digital camera. Is it ok to gather images this way? We have to look into the definition of a copyright to know for sure.
Copyrights are intended to protect a creator’s rights to the content he or she created, especially with regard to financial compensation for the use of the content.
Private incentives to create are supported by the exclusive rights that owners of copyright enjoy. Copyright owners (or their assignees) have the right to carry out or authorize reproduction and distribution of their work; preparation of derivative works; and, for literary, musical, and various visually based works, the public performance or display of their work. (1)
The U.S. Copyright Act states that a copyright exists once an “original work of authorship [is] fixed in any tangible medium of expression . . . from which [it] can be perceived, reproduced or otherwise communicated.” (2) Thus, images “fixed” to files and hard drives are copyright, by default and without notice, the moment they are created. Everything on the Internet is copyrighted—how you use content is simply a matter of what permissions the creator has given you for its use.
Using images from websites found through a search engine image search or from stock photo sites without permission or payment is infringing on the copyright holder’s rights. This includes creating derivative works.
There are some exceptions to copyright rules that fall under “fair use,” but most of these are in relation to educational purposes or making copies of something you already paid for the right to use. It you are going to use an image or other content for monetary gain (like on a blog with ads), then you definitely need to follow copyright law.
If you infringe on a copyright holder’s rights, there are three general outcomes. You might not get caught, but then you have to live with knowing you broke the law. You might be caught and asked to pay fines or damages. Finally, you might get caught and have someone take you to court.
Getting caught does happen, too. I have recently seen at least two companies that have had to pay fines. One had to pay $240,000 for the use of images it didn’t have the rights to. It nearly sank the company.
It’s more expensive to get caught than it is to pay for images up front, and all three outcomes for infringing on copyright holders’ rights reflect very poorly on your character. If you respect copyright holders’ rights, then you can justly expect others to do the same and you can morally enforce your rights. You could also put a line on your web site or on your work that states you comply with all copyright laws. This marketing statement may help reward you for following the law. Finally, following copyright law will let you be comfortable in your own skin—you’ll be able to feel that you are an honest person.
]]>Then you start to wish that you could destroy someone else’s site. Especially someone else’s site that is ugly, has invalid code, or promotes political views that just aren’t sane.
If you want to melt down your site, trash someone else’s, or simply waste some time, check out Net Disaster.
Here’s what happened when I took a machine gun to my site:
]]>Blog Rush, as I see it, is NOT against Google AdSense’s terms of service.
The Google AdSense blog says:
As many of you already know, our program policies strictly prohibit any means of artificially generating ad impressions or clicks, including third-party services such as paid-to-click, paid-to-surf, auto-surf, and click-exchange programs. These programs offer incentives for users to view web pages or click on ads, resulting in activity that is harmful to our advertisers.
Google wants to make sure that site and blog owners aren’t providing people with an incentive (beyond normal interest and curiosity) to click on AdSense links.
If you examine each part of the quote above, you can see that Blog Rush does not violate any of the statements made.
No one is paid to click on AdSense ads after they land on a page they found through Blog Rush. Doing so does not result in a reward for visitors.
No one is being paid to surf or autosurf—in money or clicks. Even if you surf your own site for an extra 1000 pages, you’ve only earned impressions. If your article titles suck, no one is going to click them. This will be even more true as cheating is weeded out of the impression system. You can see this even now—the cheaters are generating thousands of extra impressions, but no extra clicks. Click-through rates are simply falling. If someone does click through, it’s because they are truly interested in what you have to say.
Blog Rush is not click exchange—no one is using the system to agree to click each other’s AdSense links.
There is no incentive to view other web sites’ pages.
Because Blog Rush in no way affects visitor behavior in relation to AdSense ads, it does not violate the terms of service. So go ahead and join Blog Rush and see if it increases your blog traffic.
]]>