“Valid CSS” and Similar Claims Are Unprofessional
Post from March 9, 2007 (↻ January 19, 2022), filed under Web Development.
This and many other posts are also available as a pretty, well-behaved ebook: On Web Development.
You know them. “Valid CSS” here, “Valid HTML” there, crowned by a “WAI AA” button. When these website claims hold true, that’s a great thing.
Unfortunately, those compliance and quality claims have no place on professional websites. Quite the contrary, their use should be considered unprofessional in a professional context.
The reason is simple: As a web professional, validity, standards compliance, and basic accessibility should be a matter of course. Creating valid, standards-compliant, and accessible information spaces is what makes you a professional. It doesn’t need to be said. It’s so evident that you never have to point out that you do your job.
Put another way, what do you think when
- a coiffeur claims to be able to cut hair,
- a soldier claims to be able to handle firearms,
- a cook says he could do the cooking,
- a garage advertises being capable of fixing cars, or
- a doctor claims she has knowledge of the human body?
Wouldn’t you rather question if that’s true? Do these claims make professionals look professional, or do they make them appear almost untrustworthy?
While the intention is great—we need to raise so much more awareness—, these quality claims have nothing to do with professional web design and web development. They are precursors. Please remove such buttons and links from your documents. Show once more how you’re a professional.
I’m Jens, and I’m an engineering lead—currently manager for Developer Experience at LivePerson—and author. I’ve worked as a technical lead for Google, I’m close to W3C and WHATWG, and I write and review books for O’Reilly. I love trying things, sometimes including philosophy, art, and adventure. Here on meiert.com I share some of my views and experiences.
If you have a question or suggestion about what I write, please leave a comment (if available) or a message. Thank you!
While I agree with your point, I haven’t really seen any professional sites using those badges either, so I’m not quite sure wherein the problem lies.
As fast as I see those badges slapped onto a site (that usually doesn’t even validate) I immediately get the feeling it’s created by an amateur, so I agree with you on that point.
What would be more interesting is a discussion regarding all the “Valid XHTML 1.x” footers everyone seem to use (when not even serving XHTML as application+xml, which is [according to me] laughable claim if you’re not).
I whole heartedly agree. Boy scouts require badges of merit, this is necessary as a learning / discovery process for the young people participating.
A professionaly created website needs not to make these claims and wear these badges as it should be the given.
The problems is, dare I say it, the clients. Local Authorities, central government etc are obsessed with badges of worth and showing them off, not because the end user may find them useful or settling but because of competition and pleasing the chief executive.
Do I wear a badge claiming that I validate as a thoughtful, accepting human? Well, no.
But your local councillor would probably like to given the chance.
On March 11, 2007, 2:32 CET, Andy Ford said:
Jens, I couldn’t agree with you more. Write valid code, but don’t tell me about it, because you should be doing it anyway!
I totally agree… However… in recent months, the amount of people ive met that are still using tables and think that CSS is used to make rollovers on your links is FRIGHTENING !!! I dont understand how they claim to be web developers. I suppose you do sometimes hear about doctors who arent really doctors & people handle firearms when they shouldnt all the time !
On March 12, 2007, 13:53 CET, Chris James said:
I’m not sure if I fully agree with you
You discuss how in other professions the professional claiming he can do it is seen as stating the obvious.
Which is of course true, but in these professions it is inherently obvious that they are a professional. I know a doctor is a professional because he is working in a surgery. I know a soldier is professional because of his uniform.
With the web, many many people claim to be professionals. Amongst those will be the old school “spacer.gifs” who have not moved on but still work as web developers for a living.
Following standards is a mark of professionalism, it is, our diploma on our desk or our soldiers uniform if you will.
Just because of they are a matter of course for a web professional, does not mean that they cannot be stated.
A doctor will always have his diplomas on his desk. Him having those awards and qualifications is a matter of course. But by displaying them, it does not give an unprofessional feel, if anything, it gives me a feeling of confidence in him.
It certainly doesn’t mean that the developer in question is unprofessional.
I agree with Chris on this one. These badges are not meant to justify our skills to each other. Rather these badges help to educate and spread the word that there is a better way to create websites. While I am no expert in this field, I have seen more and more clients ask for this validation because they have seen it elsewhere. Is that not a good thing? I think that is tremendous! First of all more and more people are realizing that there are hacks out there making inaccessible sites that do more harm to a business than good. And second, these people are seeking out “qualified” professionals. Now, does having this badge on a site make that developer a qualified professional…I don’t know. There will always be people trying to scam the system to get ahead. I suppose we need a “validation police” to make sure people using these badges are infact using them correctly.
On March 13, 2007, 16:25 CET, Tim said:
I completely disagree with you, standards are for us to use if we want potential customers to easily view our pages, if you see someone come out of a barber shop with a bad haircut you will not go there, the barber has a professional logo as well, red and white stripes usually displayed, but less so in modern times.
I use these logos on every page footer, I just rechecked many pages as I inadvertantly added an error, it allows me to easily test changes and to ensure bots (validation is probably as important for search engines as humans) can easily navigate my generally large pages. The number of sites who do bother to validate is miniscule. If the majority of sites were validated, I would still use these logos to check that my code was OK.
If you have a law degree you put it up on the office wall, if you comply with W3C standards say so, I am always impressed by these logos as meaning that the site is attempting to be professionally written.
If everyone adopted your view, there would be no standards, just adhoc professionals doing their own thing, without displaying their degree on the wall, but the web is an international place and without some efforts at W3C standards compliance it would be a bigger mess than it is.
Sites who do not validate often also have accessibility and legal issues for keyboard users and the blind. I’m leaving my buttons and logos where they are.
On March 13, 2007, 16:28 CET, Adam said:
I also agree with Chris and Jason, and I think you’re analogy to doctors, soldiers and cooks is not quite complete. I think if web designers were going around putting up badges that claim “I build websites!” then the analogy would hold. But they are claiming “I build websites WELL,” which would be equivalent to a soldier stating that he is an expert marksman rather than being able to fire a gun, or a chef stating that he is expert in the cuisine of northern Italy rather than being able to boil water. I see your point, but I personally see nothing wrong with claiming expertise, at least until the majority of the community can do the same.
On March 13, 2007, 16:32 CET, Alexx said:
Hello, I can not agree more on this.
Good customers absolutely don’t care about “w3c, valid stuff, whatever… “.
They want site that works and (if) sells.
On March 13, 2007, 16:33 CET, Montoya said:
“Rather these badges help to educate and spread the word that there is a better way to create websites.”
Maybe, but they don’t serve that purpose. They are downright cryptic. If you want to spread the word, have a page on your site where you talk about standards-based practices… one that actually educates visitors.
One nitpicky thing:
an auto shop claims to cater for roadworthy cars
I don’t know if it’s true in Germany, but here in the US we have an organization that certifies car mechanics. I think they still have TV ads that tell you to look for the ASE Certified sign. 😊
And now that I think about it, in my state hairdressers, etc., are required by state law to post their license at their workstation; doctors often have their medical degrees hanging in their offices.
We don’t really have licenses as such, so perhaps people think of the badges as the same thing.
I’d agree that plastered on every single page it’s unprofessional. OTOH, given the still-woeful state of standards-adoption, maybe it’s worth including somewhere on the sites we create.
All professionals proudly display their so called “badges” whether they are certificates, diplomas, citations, medals, awards, ribbons or trophies. “Badges” show that you have taken the time and effort to achieve a certain level of professionalism in your work.
“Badges” not only validate you as a professional but they also serve to educate the public of the different levels of quality in a given profession.
On March 13, 2007, 18:22 CET, nakre said:
It’s wether a sign of profession nor profanity: It only shows knowledge about the IMG and A Element. When you start with HTML you learn them quite fast, I guess this is no news for you all.
And it is the same for the linked content: You gain knowledge about W3C and the Validator quite fast as well.
For the WAI-A* Guidelines I would differ a bit.
Great article but I dont agree! I think the “badges” are ok if the pages validates and as long as you provide a explanation. I see it as a way to promote standards.
I totally disagree, given the current state of the web design industry, and I really don’t follow any of your ‘logic’. Something like 99% of websites do not have valid HTML or CSS, and it is perfectly reasonable to want to differentiate a valid site.
You say “these quality claims have nothing to do with professional web design and web development”. Firstly that’s not true, because few non-professionals take the time to learn standards-compliant design. Secondly it’s irrelevant. The logos are stating compliance with technical standards, nothing more.
Your comparisons with other industries undermine your argument rather than support it. When a restaurant is awarded a Michelin rosette they tell the whole world about it. It is common for car repair shops in the UK to display all the training certificates for their staff. In the absence of such certificates I do not assume that everyone is trained and experienced in repairing all makes of car. In an industry such as web development where the quality of workmanship is appallingly low it makes a great deal of sense to not only state that you are better than the rest, but to also provide a link to the validator so your claim can be verified.
As an accessibility professional my customers expect to see these logos on my site. Their absence would raise unnecessary doubt.
On March 14, 2007, 3:10 CET, Jermayn Parker said:
I think (not 100% sure though) that these badges were used and popular when validation and accessibility was first being encouraged and so these badges encouraged people to use them BUT now it should be a given like you have said…
IMHO, someone add those fancy buttons to theire sites, because they only want to be looked cool, not professional…
On March 15, 2007, 3:58 CET, Billee D. said:
It is really heartening to see that others share my viewpoint on this subject. 😊
We all know that there are charlatans in our business who jump on every new and exciting bandwagon that can possibly make their bank accounts grow. I was a seemingly lucky individual who recently won a development contract with a company who has “accessible” in there name. I was certain that I could fit in nicely with a company brave enough to use the accessibility banner in their company name. After about 2 months of dealing with them, I began to realize that they had no idea what real accessibility was with regards to web site design. They were using the recent fanfare regarding web accessibility as a means to profit off of people’s ignorance.
The same thing will hold true for those who claim that their sites are “100% valid XHTML” and the like. This is not only unprofessional, but brings to mind a question for those folks showing their web merit badges: who cares? Not the client. Oh no, the client wants something that looks good, works great, and doesn’t cost a fortune regardless of how the code may validate.
Should we still bother with writing valid code? Absolutely! The ability to produce valid code is one thing that separates the amateurs from the professionals. But much like you express here Jens, it is not a reason to flaunt your expertise (and as we all know, those claims of validity seldom hold water).
Thanks for sharing your opinions! You are certainly not alone.
On March 15, 2007, 18:28 CET, Apple said:
I think many webmasters just want to advertise the usage of valid XHTML and CSS on their private sites. That’s why they insert a “Valid XHTML/CSS” claim. And without this advertising many people using it right now wouldn’t have a clue about validity.
But for professional webdesigners I agree with Jens. They should not use badges.
I agree with Chris and Jason and Adam. I think they are a symbol of pride. Pride of the learning they have done to make websites which follow what they claim.
What annoys me is when people display them even when they are not xhtml 1.0 strict or what ever the button says. I often click on them (if they are a link) or check just to see and often they are not compliant.
Otherwise I don’t see a problem with doing this - as long as it’s true…
On March 16, 2007, 19:11 CET, Mark G said:
I’m very suprised that nobody mentioned audience. Isn’t that the core of who we are designing and building for? If I’m a professional developer, or a web design company, then sure, those badges can have merit (i.e. ASE-Certified, or a huge Harvard Med School diploma on a doctor’s back wall).
But the comparison to other professions is not quite correct. Let’s use the auto mechanic as an example. Yes, he’s got his certifications on the wall. He might have thank you letters, or news articles about his business..photos with happy clients…whatever. All of this is designed to directly support the mechanic himself. But you can’t compare these items to the “compliance badges” on a website, unless the site is actually for a web professional.
However, how many of you have noticed the “We use Craftsman Tools” sign, or the “Only Michelin served here” sign? Those are their “compliance” badges. They have an indirect effect.
Do they work? Do they influence the audience? Not for me, but possibly for others. Personally, I would never use these badges for two simple reasons:
1. Most of the general public doesn’t know what they mean.
2. Badge Mania is rampant on the internet. 😊 I think someone has an inferiority complex. Oh wait, I forgot to put up my Twitter badge!
Just my two cents.
On March 16, 2007, 22:55 CET, Jan Unger said:
Many websites meant to be professionell doesn’t validate at all (for instance: emirates.com - awfully coded). Some of them even harm the business (klm.com - for some time you couldn’t book a flight using a standards-compliant browser).
Seems to me like we all need much more awareness about web-standards and not a no-badge-not-mention-policy.
Serving as application/xml (if your browser can handle it) I guess I’ve your permission to stick with my footer. *g*
On March 19, 2007, 16:27 CET, Mordechai Peller said:
You might be right, except for one problem: it’s all we have. Practicing attorneys (at least in the US) need to have passed the Bar and be a member of the local Bar Association (or be accepted as a guest). Doctors, besides having a diploma from a medical school, are licensed and certified. Furthermore, doctors need to periodically renew their license. All we have to show that we could do a professional job are those silly little badges.
So unless you have a suggestion on how to distinguish us few professionals from the plethora of those falsely claiming to be one, I don’t see much choice.
Your argument falls down with a culinary, who could have a number of Michelin stars to attest to his standard of cooking. His audience judges him on this, and chooses whether to dine at his restaurant or elsewhere.
It would be arrogant to assume that the layman would even know that there are many ways to build the underlying code for a website. With so many people who’s “profession” is web designer (that’s how they make a living), but who don’t use XHTML, standards, or CSS, I think there should be some way of highlighting your work as a comparatively high quality.
Whether its these particular badges, or something more descriptive, is another matter.
True, some sort of certification scheme would be better, but in its absence declaring validity is all we have. Anybody could use them, but more likely those who don’t know about Standards wouldn’t even think to abuse them.
On March 20, 2007, 18:23 CET, Marc said:
Badge my client’s sites? Never.
My design business site? Grudgingly yes - it’s akin to advertising that I take pride in my work.
Most of my (very) small-business clients have no clue as to what CSS is, or why Word’s “Save as HTML” is a cruel and ugly joke. If having them ask about “validation” happens, it is a teaching moment … and another differentiation between, say me, and their neighbor’s third-cousin “\~bob\” who made a home page in Navigator once.
Part of the job is to educate the client on why doing compliant HTML/CSS is better than any site their secretary can cook up in Front Page.
On March 24, 2007, 4:59 CET, Daquan Wright said:
I surely agree. Although I always validate my code, that’s surely enough to make sure my code is clean and I’ve taken the time to make it cross browser compatible. I am in high school and there’s a ton of information that I have no grasp of yet but I’ll remember what I’ve read here.
On April 2, 2007, 8:43 CEST, Fabrice said:
I do not agree with you
Even if I won’t put these badges on my clients’ sites, I think these badges just say that Quality is an important matter for you, like ISO compliancy for companies, Bio for vegetables, …
As long as so many webdesigners who claims to be professionals will use shitty code, I think it is usefull
On April 4, 2007, 15:46 CEST, RobertDM said:
I’ve been in quite a few barbershop’s, been to quite a few doctors, eaten in quite few restuarants and I must say: most of them do hang their diploma’s etc. on the wall to prove their capabilities in their work. I’ve added the buttons to my earlier sites not really to show off my skils (since they’re far from perfect) but more in an attempt to help spread more awareness for valid, standard and accessible code. I’ve stopped adding them to my more recent designs because statistics of the sites revealed noboby cared.
On May 10, 2007, 1:08 CEST, Nunajer Bidnis said:
“…simple: As a web professional, validity, standards compliance, and at least basic accessibility are a matter of course.” This is your reasoning?
In practice, there is hardly a ‘professional’ website that doesn’t trip-off numerous script errors, makes use of ridiculous hacks, invalid markup, custom DTDs and CSS to cover-up blemishes like so much Max-Factor. Additionally, Accessibility isn’t even an issue in most corp./profes. web-sites. These sites are comprised of images chuck-full o’ content and, worse, spacer-images containing absolutely no content and simply wasting a device’s time. Not to mention the incredible ‘professional’ misunderstanding over the ‘good’ or ‘bad’ of HTML table, center and font tags.
At it’s inception—actually–the internet was 100% Accessible. HTML compliant devices guarantees this. Except, maybe, for some advanced processing of s (via the B2B sector’s tech.lead), there isn’t not even one-bit of ‘professional’ development beyond HTML4 necessary for the conveyance of web-based information presented via text, fancy text, images, audio, video or exe files. Pushed by client requirements solely concerned with marking bullshit, gimmicks-n-games, it is—in fact–the web ‘professional’ who coded each and every step away from a standards-compliant, well-formed, accessible web.
Non-technical Marketing Managers insisted that their site look-n-feel slicker, better, faster than the other guy. Directors don’t give a damn for any standard or regulation which can’t make ‘em pay-out in court. Follow W3C standards? Ha!
Made up of big-money corps. the W3C is an org. virtually comprised black-irony, with the #1 farce being the qualifications of a ‘professional’ web-tech. Every brilliant step to separate form-n-content, to script site-domination over user-access, to antiquate mark-up-language-only web-sites has come from webmaster-slaves working for the Corps. with a few hundred thousand dollars to spend on W3C ‘membership’. The result of this multi-corporate .org has been a total ‘professional’ stalemate wherein one proprietary-script battles with another while the manufacturers of alternative-devices can’t even rely on the existent-use of HTML 18 months after product release.
In actuality, an amateur purist can devise a ‘professional’ fully-accessible web-site, sans sw.tools-n-dev.kits which do all the thinking for the so called ‘professional’. Further, the ‘professional’ has no time to pay attention to a set of professional-quality requirements. The ‘professional’ is working according to the 80/20 rule wherein c-level bugs are never fix, project mgrs. always promise more functionality than they can actually deliver and salesmen contract releases in a time-frame that is simply undo-able without releasing updates-n-patches to compensate for the gross lack of professionalism which—since Win’95 has avalanched into sw-development.
Driven by corporate-execs who don’t give a damn about complying to any-freaking-thing which can’t take them to court and who don’t care whether or not blind-people buy their tennis-ball, panoramic vacations or scribe to their porn. Propelled by this $$$-menace, a lowly coding ‘professional’ cannot properly test, qa/qc, v&v or comply to standards. No, in comparison to his 20th century counterpart, the 21st century white-collar OSI-based-professional has devolved into little more than ‘an errand boy, sent by grocery clerks, to collect a bill’.
Thus, it makes all the difference in the world if a site can legitimately display the W3C, IRCA or Bobby or Unspam labels. It tells consumers that they are not being solid-out, subordinated to target-markets, marketing demographics or the volume transactions that go hand-in-hand with B2B-portals. Moreover, the display of these labels has nothing to do with ‘professionalism’.
These labels are, in fact, symbols of an organization’s commitment to form & present information in a non-discriminatory fashion. They perform essentially the same function as the USDA stamp on your meat or the UL listed symbol on the back of your electronics. Would any decent professional butcher falsely stamp is top-sirloin? and after testing & inspection, what meat-cleaving professional would even think of NOT labeling his product safe? USDA Grade A Choice and fit for public consumption…
Throughout your website, you provide links to resources I find very informative. It helps me understand the design/development medium.
How is it that providing a link to an xhtml or css resource, lets say at the footer, become unprofessional? A simple text link to a descriptive article can explain, in essence, what standards compliant design is.
I don’t see how providing useful information about web standards is unprofessional. Standards compliance simply isn’t as ubiquitous as a pair of scissors or a gun. I didn’t know about it until I read a designer’s description of it on their website.
Analogies aside, such a link, when used discreetly, is useful. To call into question a designer’s professional integrity in all instances of linking to valid css or xhtml resources in the context of design method seems logically weak.
In any case, I enjoy your work. I refer to it regularly in my activites. Hope you won’t look down on me for providing a link to above mentioned resources to prospective clients.
On August 17, 2007, 17:44 CEST, Pat said:
I see your point but don’t agree.
For me, using those tags lets my clients and my (future) employers know i did a great job and am really professional with my work.
It allows me to be “seperated” from the mass of “nephew in the garage-web-designer”.
Of course, anybody could add those tags to their site, but then, they take the chance that i will check their “statements” and if they don’t comply, well, i know by then the guy is a clown. (And yeah, what if -myself- miss a bad chunk of code in my page? Well, that’s now a risk that i’ll be the clown…)
However, i appreciate those tools that make me think i care about delivering a very good, stable Web page.
Sorry to disapoint you, but very few people are truly professionnal with their work, and care about the results… well, I do!
On September 20, 2007, 17:50 CEST, Rob said:
I agree with Jens.
These logos are for the one man bands who get wrapped up in their website (their ‘baby’) rather than what the customer wants to see, or cares about.
Unlike Pat, i believe seeing these logos on the website screams “i do websites from my bedroom.”
I think the best way to go about things is to have an accessibility link somewhere on the site. If people care, they can go look.
On September 22, 2007, 22:43 CEST, emil said:
I don’t agree. Even if web standards have become pretty much accepted there’s a lot of people still ignoring them. I’ve even seen things like tags inside the title-tag in a corporate (sic!) site. Until the people have learned to use standards I think it’s a good thing to show that you do, I think it’s a good way to promote standards by showing that you do
On December 12, 2007, 16:27 CET, Jason said:
Check out the new Yale Univ open course site. Its chock full of these compliance decals.
You do make nice observations, essentially saying that professional developer doesn’t need to boost about doing elementary thing correctly. I do disagree with some of the conclusions you make. Specifically, Chris and Tim and few others already mentioned some points of disagreement.
To add upon them, here are few more:
Аmong millions of web-developers, sometimes it is needed to remind a client that even simple standard compliance can help in selecting a company or designer.
I don’t like putting these buttons for entirely aesthetic reasons - they simply look ugly. While putting simple XHTML or CSS links, or smaller and transparent buttons that blend into surrounding design is totally appropriate in my opinion.
Putting them in order to easily verify future modifications on the site was a primary reason why I put those on my pages. Plus, I was (and still am) learning HTML and CSS, and this validation tools are of great help!
Spreading the word is another. As Web is entering Semantic Age, it is important that more and more people write validly formated code.
On April 15, 2008, 18:40 CEST, Bert said:
I partially agree.
Yes, it is true that barbers, doctors, etc. have diplomas or even certificates, but they do NOT make their costumers wear badges stating this. However each web site should have some indication (preferably at the top) indicating it is accessible.
Also, I think the website of designers/developers should have some certificate from which customers can determine they are at least standards aware and compliant. There are too many designers out there using tables still.
Since we do not have such a certificate we must do with these buttons, but I agree they do not serve a purpose as such.
On April 20, 2008, 13:17 CEST, Mark said:
Don’t really notice it on pro/business sites, never care if it’s there anyway. But I think anything that raising peoples awareness of W3C, and that there actually are HTML and CSS standards which aren’t controlled by microsoft is a good thing.
On May 11, 2008, 11:23 CEST, Josh A. said:
Jens: What do you think of sites with links to the validators in the footer (webstandards.org, etc.), but no buttons. Personally, I think that’s fine. It’s there for people who are interested, but it certainly doesn’t mess up the aesthetics or make itself immediately obvious.
On July 17, 2008, 17:47 CEST, technobabbler said:
I found the buttons cool until I noticed a lot of cheating (adding the button without validation). We actually saw a competitor use it, so we thought why not.
Now after reading Jens Meiert’s blog and replies I feel the need to showcase more “badges” but have them on a separate page much like a doctor has his “badges” in his office.
Not really sure what I want to do about clients sites, but it also begs the question, do you put “designed by” on your clients pages?
On December 4, 2008, 12:25 CET, miryam said:
I agree that a professional designer or a professioanl design company should not put this info , using it as a marketing tool, because it is our work to do things well from the beginning
On February 25, 2009, 4:14 CET, Cultred said:
You are correct. However, putting these buttons ensures you actually have it. Most website on today’s internet DO NOT have validity and that is the prime reason why it makes you professional. I’ve found myself going through sites and if they have the button, I know they’re good.
Besides, not many professional sites have compliance or validity. Ever try to look up whether MSN, Google, Yahoo!, or anyone else has compliance? They do not.
I agree 100% the standards are put in place to be used as standards. They’re not there simply for bragging rights.
On July 24, 2009, 0:00 CEST, J said:
I disagree whole heartedly. These buttons do not prove that a web developer knows how to create web pages. In fact, they represent compliance and knowledge of a new standard of web design. If a doctor is going to operate on your eyes, you better ask if he knows the procedure. If a soldier DOESN’T know how to handle firearms, then you should keep him off the battlefield. And, in fact, there are web developers who still use old standards of HTML, and in fact don’t care a bit about CSS.
Maybe this is interesting to you, too:
- Next: Why I Love DreamHost
- Previous: Hire Only Web Designers with a Website
- More under Web Development, or from 2007
- Most popular posts
Looking for a way to comment? Comments have been disabled, unfortunately.
Get a good look at web development? Try The Web Development Glossary (2020). With explanations and definitions for literally thousands of terms from Web Development and related fields, building on Wikipedia as well as the MDN Web Docs. Available at Apple Books, Kobo, Google Play Books, and Leanpub.