'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]