'HTML and JavaScript are the real web platform'

0 comments

By Jeffrey Zeldman, godfather of web standards

One of Jeffrey Zeldman's biggest passions is web standards. Here, Zeldman, co-founder of the Web Standards Project and founder of Happy Cog offers his take on the current situation:

"For a long time, browsers have been becoming more and more compliant with CSS2, HTML, XHTML, JavaScript and ActionScript. So in one sense, time has been standing still since about 2000 and there have just been incremental upgrades to these browser brands. But I think acceptance of standards has been growing all this time.

"A few days ago I validated the top 100 United States websites according to Alexa and I think seven were valid. But if you look under the hood, there were almost no table layers or anything like that. There was a standards awareness even among the sites that had problems. It's just become normal among many developers and designers. They understand that markup is supposed to be semantic. And there's growing interest in microformats and curiosity about HTML5. Things are happening."

Zeldman, who co-founded the Web Standards Project in 1998, admits that HTML5 is surrounded by a lot of unrest. Many standardistas are worried about the direction it's going in, but he thinks the overall picture isn't actually that bad.

"Among the vanguard of people such as Eric Meyer and John Allsop of Web Directions North there is a frustration that things are moving slowly and they're not sure if the direction we're moving in is good. But I think the larger community, people who use Dreamweaver or just do table-based design, have started thinking about the semantics of their markup and about optimising CSS. All the frameworks that have come out are helping to get acceptance of CSS."

Keeping it simple

There's still a lot of work to be done to improve web standards, of course. Zeldman points out that the understanding isn't always there and some people think it's a good CSS layout if you use a bunch of divs with no semantic markup. Overall, he wants things to be much simpler.

"I'd like to be able to design as easily as if I was using Photoshop," he explains. "I'd like to be able to create a multicolumn layout and control source order without having to do advanced mathematics or hire Eric Meyer or Dan Cederholm to figure out the CSS because I can't. I'd also like to be able to embed fonts via @font-face as a law-abiding owner of a font. I'd like to be able to buy Franklin Gothic and use it for all the headlines on my website and not have a user able to easily pirate it, or the ITC coming after me for violating its copyright. But right now I can't use typefaces that designers have been using for hundreds of years."

The world of standards certainly can be confusing, but Zeldman doesn't see it as a huge problem that there are currently many different guidelines to web standards (he says that if you pick one and adhere to it, you're doing a good thing).

"A bigger problem than multiple standards is the lack of clarity in those standards. Accessibility is like usability or even the aesthetics of design. Two designers look at a design and have three opinions about it. Validation is easy – you run your site through a validator and it's either valid or it isn't. The rest of the stuff, such as whether my logo or the biggest headline should be the h1 in my HTML, isn't so easy and is subject to interpretation. We have arguments about all this stuff. Sometimes it's silly how many arguments we have about it, but I think there's a greater good to the fact that we're having these discussions."

The greater good might be that everything Zeldman uses on the web has now been designed with web standards, which makes him very happy. "I'm not against Flash and I love the work that people such as Joshua Davis do," he explains.

"It's brilliant, but I've always been in this other area of web development that I thought was probably better for most content. There was a point in the 90s when I felt like a sucker for doing HTML and CSS and telling people about this stuff. I looked at all these people who had pure typographic control and could do animation, all this great, fun stuff, and I was this jackass saying 'No, we should use HTML'. I felt like a loser, but we won – HTML has won.

"That's the amazing thing for me. People use Flash for film and they use it for what Daniel Mall calls 'the experience layer' as part of a standards-based site. So there are uses for Flash, but basically HTML, CSS and JavaScript have become the real platform of the web now. I feel very heartened by that; it's the thing that makes me the happiest. Even if it's not always the best markup, what are Facebook and Twitter? They're web standards with some scripts. They may not validate, but they're still CSS layouts and simple markup, and that's great!"

Surviving the crunch

Jeffrey Zeldman founded Happy Cog, initially as a one-man business, at the beginning of 2000 in New York, when the bubble began to burst. Companies were wiped out and the economy was devastated, but Zeldman kept working. He says this downturn is like nothing he's seen before and he knows plenty of web designers who are worried about losing their jobs, but there are also lots of things you can do to survive.

"You have to provide good value," he says. "If you're ethical, do a good job and become known for that, you'll get more work. Don't underprice your services. You don't have to take a job because it's from the first person who comes in. Otherwise you're going to be working on a project for three months, maybe six months and you'll be miserable. Just because the economy is bad, it doesn't mean you have to be unhappy. And you have to court clients more and communicate honestly and regularly with them.

"Those days when you never met the client might be over. And a final piece of advice: do cool free stuff that doesn't make you any money. It will totally grow your brand and get you clients. Putting yourself out there with your writing or your design (especially if you're a quiet, socially shy nerd who doesn't like going out and socialising at parties) will help a lot."

In a way, that's exactly what Zeldman himself did with A List Apart (www.alistapart.com). In 1998 there wasn't an online magazine that talked about web design the way he wanted to read it, so he started one. Now Happy Cog gets clients because someone read a great article on A List Apart that wasn't even written by the agency.

A successful conference, An Event Apart (www.aneventapart. com), developed out of it and will come to four cities in the US this year. Plans to bring the conference to Europe have been put on ice during the recession, but Zeldman vows to revive them next year if the brand lasts.

Also in the pipeline is a web app version of the Web Standards Advisor, which is currently available as a Dreamweaver extension that enables you to validate your HTML, CSS and microformat. "I'm also writing a third edition of Designing with Web Standards, which makes me feel like Al Pacino because they're dragging me back in. But I reread the second edition and realised it was out of date."

It's no surprise that Zeldman compares himself to Pacino; he is the godfather of web standards, after all. And, unlike Pacino, it's a given that he won't stop after three instalments. Designing with web standards has become Zeldman's life story.

[techradar]

PBXT: Your Next MySQL Storage Engine?

0 comments

These days InnoDB is the "gold standard" for storage engines in MySQL - both in terms of performance and durability. InnoDB has been around long enough that we kind of take it for granted. It's been years since arguments like "MySQL doesn't even have real transactions!" held any water. While I've written about some of InnoDB's shortcomings, the reality is that it works remarkably well for the vast majority of users. And InnoDB's early design was modeled after Oracle, so its success is hardly shocking.

But can we do better? What if someone decided to build a new transactional storage engine from the ground up, using the lessons learned from InnoDB (and other databases) over the last decade and taking modern hardware architecture into account?

That's exactly what Primebase Technologies is doing with PBXT.

PrimeBase XT (PBXT) is a pluggable, transactional storage engine for MySQL. It uses a unique "write-once", log-based update strategy and MVCC (multi-version concurrency control) to provide optimal performance over a wide range of tasks.

There's a white paper available that describes the basic architecture and design goals of the PBXT engine. Of course, you're welcome to read the whole paper, but I'm going to assume you’re busy and are mainly interested in the highlights and how it differs from InnoDB.

High-Level Similarities and Differences

All of the high-level features we've come to expect from a modern transactional storage engine, like InnoDB, are also present in PBXT:

  • MVCC: multiple readers and writers, readers do not lock
  • Transactional: BEGIN, ROLLBACK, and COMMIT
  • ACID-Compliant: committed data is durable
  • Row-Level Locking: good concurrency for mixed read/write applications
  • Deadlock Detection: smart and fast handling of contention
  • Referential Integrity: foreign keys

In other words, applications designed around InnoDB are likely to work well using PBXT as well. But there are also some noteworthy features that are unique to PBXT.
  • Write-Once: unlike InooDB, PBXT writes all data to disk a single time (more on this shortly) which means a lot less I/O on write-heavy workloads
  • BLOB Streaming: using the Primebase Media Streaming (PBMS) add-on, PBXT can efficiently handle streaming of BLOB data to the client without blowing out the main database cache
The similarities between InnoDB and PBXT aren't terribly interesting for most purposes, so let’s dig a little deeper into what’s truly unique to PBXT.

Log-Oriented

The most important design choice that Paul McCullagh (PBXT’s lead developer–see his PBXT blog) made was to use a log-oriented storage system instead of the more traditional tablespaces. I referred to this above as a "write-once" strategy that's different from what InnoDB does. InnoDB writes all changes to a transaction log on disk (as well as the in-memory version of the affected pages from the modified table(s)) and eventually writes those changed pages back out to the tablespace file(s) on disk too.

PBXT does not separate the data storage from the logs. They are one in the same. That leads to some very interesting consequences, some of which are quite beneficial:

  • Table size is essentially unlimited since filesystem per-file restrictions are not a factor
  • Logs are written sequentially, so random I/O operations are reduced and you can get more throughput out of your disks
  • Log entries are written at commit, so there are no "dirty buffers" to manage in the server
  • Log entries are never updated - an update to a record means writing a new log entry
  • Rollbacks require no changes to the data (since records are never modified)
  • Recovery from a crash does not require an extensive replaying of logs, so recovery time is minimal

Now there's a bit more to the picture than this. Logs alone don't provide enough information to represent a table. There actually is a file on disk for each table stored in PBXT. But that file is really just a collection of references to the rows it the table. In PBXT lingo, those references are called "handles" and they act as pointers to the information necessary to construct a given row in a given table-the log entries.

Some of PBXT’s performance comes from the fact that the heavy-duty I/O is all written to log files in serial fashion. The handles are relatively compact in size, so as new row data is written to the logs, updating the handle references is a fairly inexpensive operation.

Early Results

PBXT has been in development for several years and has all the necessary features to put it on par with InnoDB and other engines. Most recent work has been performance optimization and finishing off small bug fixes. That performance work has paid off well. In some benchmarks PBXT performs as well as or even better than InnoDB.

From a stability point of view, PBXT has a growing user base using it for more and more important tasks. That’s the single best endorsement for the stability of any piece of software. I fully expect to see adoption of PBXT really accelerate in the next twelve months. As of this writing, the second PBXT release candidate (RC) is available for testing.

Taking it for a Spin

Testing out PBXT is easy, thanks to MySQL's storage engine architecture. You simply using a pre-compiled binary for your platform or build you own. Binary downloads are available on the PBXT web site and source code is available on Launchpad.

Given the likeliehood of a stable release in the near future, now is a great time to try the PBXT storage engine out for your applications. You may find that it performs and fits your needs very well.

PBXT is also available in MariaDB and Drizzle.

[linux-mag]

Better design produces love at first site

0 comments

A user-friendly interface can keep people on your page for longer, writes Greg Muller.

Website design is more than animated spinning logos, embarrassing soundtracks and an inappropriate use of scrolling marquees and blinking text.

The speed at which technology has evolved has been extraordinary and it's vital for small businesses to understand the key elements of modern design.

A website with a great design can provide a key competitive advantage. This can lead to new business and even provide an opening to tap into new markets that might not have been possible otherwise. A great website design never comes in a "one size fits all" solution.

But what makes a design successful? The answer comes in two parts.

Fit for purpose

Even the most visually impressive, innovative and over-the-top websites usually fail for one main reason: they rarely meet the needs of their users. Ultimately, if the user doesn't see the value in a website, finds it hard to navigate, becomes confused with content or just generally dislikes the colour palette, they'll switch off and, chances are, go somewhere else. On average, users take less than a third of a second to judge a website.

If you were to build a small grocery store on one of the busiest main streets in the city, you wouldn't think twice about investing a small fortune to get the layout of the shop floor just right, ensuring all the products on sale were strategically placed to maximise their sales potential. You can do the same with websites – and it's called fit-for-purpose design.

Accessibility

Ask any Apple Mac user why they love their Mac and I guarantee the majority of the answers will be about the experience of using it. Very few companies can get this right but, when they do, the pay-off can be enormous.

There is a social and sometimes legal responsibility to make websites accessible. This refers to websites that can be navigated and read by everyone, regardless of disability, location, experience or technology.

The key ingredient to getting that experience right is to make sure the product connects to its users. Many people tend to think modifications to design should be based on feedback you gather once a website has gone live. Making modifications and tweaks to the designs based on testing feedback is much easier and more cost-effective to do before the website has launched.

This should not, however, deter the owners of existing websites from factoring in user testing. Demographics are constantly changing, so the benefits of maintaining user-centred design cannot be overstated. For example, the Office of State Revenue in Queensland had a website that some users dubbed "unappealing".

Through the use of focus groups, a new website was developed that offered unparalleled usability by breaking the visitors into three groups and providing them with navigation features that suited their specific purposes. Since its launch, this user-centric approach has received extremely positive feedback of up to 99 per cent.

It's important for small businesses to make sure their website is designed with the user and user experience in mind. It's equally important to note that every user is different and, as much as we strive to get this magic formula just right, validation tells us so.

Small business owners need to engage their users and provide an environment that not only identifies the business but sets it apart from its competition.

[smh]

Five Web Design No-Nos to Avoid

0 comments

Every Web designer starts out with plans to make an effective and enjoyable browsing experience for their site visitors. Unfortunately, the gap between intention and outcome often ends up a lot wider than intended. Simple mistakes can make your Web site an annoying experience for visitors when it should be anything but. Here are the five worst Web design no-nos to avoid at all costs.

1. Slow Loading

Despite the fact that more people have faster Web connections than ever, the problem of slow Web sites hasn't gone away. Many sites are so slow that people who aren't highly motivated to see your site simply give up and go elsewhere.

Typically the culprit is a slow-loading Flash movie or introduction where the designer offers no alternative to waiting for the movie to load. Showing a progress bar isn't enough, because most people simply aren't interested in waiting around for the site to appear. If you use a Flash introduction, make sure to offer an obvious way for visitors to bypass it and go straight to the site.



Test your Web site to see how long it takes before something useful appears on the screen. If it takes more than three to five seconds you run the risk of your visitor losing interest and leaving. This might seem like a short time but people are so accustomed to things happening quickly that even a few seconds waiting for a Web site to load feels like an eternity.

2. Too Much Information

Many people are cautious when it comes to providing personal information over the Internet. If you collect information from visitors, only ask for what you actually need, and don't collect it just for the sake of it.

Also be careful in areas where people may be reluctant to provide their financial or marital status and age. For example, if you need proof that a person is over 18 consider asking to confirm the age by checking a box rather than by asking for a birth date. If you don't have a very good reason to know your customer's marital or financial status, then don't ask.

Be aware that most visitors won’t want to provide a lot of information before they know something about the site. If they are asked to register for a site before they can enter it, many people won't bother. If you think it’s a valid requirement, make sure you explain why, and be sure to provide at least basic information about the site before sign up. If registering is not essential, give them a visible and easy way to bypass the signup form.

The less information you require from people, the more likely they’ll be to sign up for things like e-mail newsletters and to buy from you. On the flip side, the more information you require and the more intrusive the information requests are, the less a visitor will be inclined to provide it.



This site doesn't have a search page, but the site map helps and it's simple to find a way to contact the owners.

Ask for information once, and if they make a mistake and have to go back and fix it, make sure the information is still there. That way, they won’t have to fill out the entire form all over again.

3. Nasty Navigation

Many sites are poorly designed and require people to click through a number of different pages before they get see any product. Worse still, when you finally get to the product pages some sites tell you that there are no products in that category!

If you have only a few products in a particular area of your site, consider aggregating similar products into one category to reduce the number of clicks that people have to make to find them. You should do everything you can to get your products in front of your potential buyers as quickly as possible even if this means showing them a wider range of products in fewer and more widely defined categories.

Check your site hierarchy. If it is deep rather than wide, then your visitors will have to click many times to navigate to the actual content. Consider flattening the structure so you get visitors to where they are going more quickly.

In addition to determining how quickly you get your visitors to your products, check how many times they have to click to finalize the sale. Your site should make it easy to add an item to the shopping cart, you should provide a Continue Shopping button so people can return to the product list easily after selecting an item, and your visitor should be able to go to the shopping cart from anywhere on the site at any time.

Check the steps to finalize the sale and do everything you can do to ensure your visitor's shopping cart converts to a sale. Don't risk losing them by making the process overly complex.

4. Disorganized Information

When you don't put information where people expect it or worse, when you omit it entirely, you annoy and frustrate your users. People expect to see a privacy notice that describes what you do with the information you have collected from them. They expect you to have a contact page where they can ask questions or make complaints. This page should include phone number, a form or an e-mail address. If you don't make the process for contacting you obvious, people will lose faith in your business.

Most people want a visible search tool on every page of a site. Search is a key way many people find information and forcing them to navigate using only menus will frustrate them.

Provide each of these features as links on every page of your site - either as an option in your main navigation system or as a text link at the foot of the page.

5. All Flash and No Substance



This annoying Flash introduction has singing that you can't turn off easily. The browser close button is easier to find than the Skip Intro option.

Some Web sites showcase leading edge Web technologies at the expense of usable content. While there is a place for Flash animations and 3D product renderings don’t provide them at the expense of information that answers basic questions about products.

In addition, these features should not require visitors to download large applications or movies to do something as simple as see the product and its specifications.

Always make sure that your site focuses primarily on providing easy access to the kind of information that visitors need most. Only when you have nailed the basics should you consider adding bells and whistles.

It's easy to think that interactive displays make a site more attractive and that this will attract customers. However, the opposite is true - people return to sites where information is easy to obtain and products easy to purchase. They will bypass difficult-to-use sites that lack basic product information, which is the key to making a buying decision.

None of these peeves are hard to fix or to avoid creating in the first place. However, both you and I know from our online browsing experiences that too many sites make these mistakes every day. The key is to make sure that your site isn’t one of them and that you focus on what your visitors most need when they visit your site. If you focus on this you give yourself the best chance of selling to your visitors and to have them return in future.

[ecommerce-guide]

New web development training course offers new opportunities

0 comments

Alaska-Beginning in September, the Alaska Vocational Technical Center (AVTEC) will offer a Web Development Technology program at its Anchorage campus on Muldoon Road.

"AVTEC is responding to a need for more Web specialists for business and industry," AVTEC Director Fred Esposito said. "Individual courses are also available, so the program will also provide the opportunity for Anchorage-area information technology professionals to upgrade their skills." Classes, which will be daily Monday through Friday from 5:30-9:30 p.m., are limited to 16 students.

The program runs Sept. 14 through July 30. Successful completion of the program will earn both an AVTEC Web Developer Certificate and an AVTEC Application Developer Certificate. The cost of the program, including tuition, books and laptop computer is $5,350.

"We are excited about the potential to serve a greater number of students by moving this program to Anchorage," Esposito said. "Employers tell us they need workers with these skills. The training will allow employers to hire locally."

AVTEC offers 16 long-term training programs ranging from six weeks to 11 months and roughly 60 short-term training programs that take from a week to six weeks to complete. Call 800-478-5389 for more information.

[ktva]