Sara Cannon‘s talk on responsive web design (resizing the page to suit different client devices) was spot on. Her slides are below, but she also recommends this A List Apart article on the matter, as well as Less Framework and 1140 CSS Grid (especially as alternatives to 960.gs).
Estelle Weyl on CSS3 At WCSF
I’ve long been a fan of CSS3, but Estelle Weyl‘s WordCamp SF talk on it charged me up again. Her slides are not to be missed.
An Interesting Insight Into Mobile Safari On iOS
A post in a Y Combinator discussion thread: Mobile Safari parses websites as a big canvas and then pretends the screen is a window through which you’re looking at the canvas. What you think of as scrolling, the browser thinks of as moving the canvas around (or the window depending on point of view). Because […] » about 100 words
DoubleHappy Game Creator
DoubleHappy, by Instinct, the same folks who make the GetShopped ecommerce plugin for WordPress, is an interesting game creation tool. All the game elements are stored in WordPress using custom post types and other advanced features, but it was their demo of the HTML5 editor that most amazed me. The games still play in Adobe […] » about 100 words
Notes To Self: Twitter’s Website Rocks On Mobile Devices
Twitter’s mobile site rocks on my iPhone. Especially worth noting: they’ve figured out how to pin their header to the top while scrolling the content in the middle. They’re also using pushState() and other cool tricks to make the experience feel very native, but the scroll behavior is rare among web apps on iOS. Kent […] » about 200 words
Wijax Widget Lazy Loader
Idea: A simple way to improve load-time performance by lazy loading some of the content on the page. Answer: Wijax. The more content in the initial download of the page, the longer readers have to wait to see it. Some content is critical to each page load, but why make people wait for every last […] » about 300 words
Net Render Your IE Compatibility Tests
Geotek‘s NetRenderer makes it possible for me to see how badly old versions of IE are mangling my web pages without actually having to run the malware on a box of my own. Unfortunately, the IE8 rendered returns errors and hasn’t worked in a while. » about 100 words
Step By Step: Turn On The iPhone/iPad’s Web Debugging Console
You can’t view a web page’s source, and you can’t Command+F to search for text on the page, but you sure can get a debugging console to see the errors on the page. Here’s how: Find and open the Settings app Select Safari Scroll down to find the Developer option at the bottom Turn on […] » about 100 words
My WordCamp NYC Talks
Authentication Hacks My first talk was on User Authentication with MU in Existing Ecosystems, all about integrating WP with LDAP/AD/CAS and other directory authentication schemes, as well as the hacks I did to make that integration bi-directional and deliver new user features. My slides are online (.MOV / .PDF), and you can read earlier blog […] » about 200 words
Yelp: A Poster Child For Semantic Markup
Yelp…is…essentially a poster-child for semantic markup. This spring, Google’s introduction of rich snippets has allowed Yelp’s listings in the SERPs to stand out more, attracting consumers to click more due to the “bling” decorating the listings in the form of the star ratings.
There are now some very good reasons why sites with ratings and reviews should be adopting microformats, and it’s not that hard to do! For a more detailed explanation, read my recap on the subject, Why Use Microformats?
Martin Belam’s Advice To Hackers At The Guardian’s July 2009 Hack Day
An amusing hacks-conference lightning talk-turned-blog post on web development: “Graceful Hacks” – UX, IA and interaction design tips for hack days. Martin Belam‘s talk at The Guardian’s July 2009 Hack Day must have been both funny and useful:
- Funny: “However, I am given to understand that this is now deprecated and has gone out of fashion.”
- Useful: “the Yahoo! Design Pattern Library is your friend.”
Systems Wrangling Session At WordCamp Developer Day
What is the current status of web servers…Is Apache 2.x “fast enough?”
Automattic uses Lightspeed (for PHP), nginx (for static content), and Apache (for media uploads). For WordPress-generated content, all server options are approximately the same speed.
Automattic uses beta versions of APC, and provides a 3-5x performance increase. It’s tied closely to the PHP version, so Automattic recently switched from PHP 4 to PHP 5.
MySQL scales well and is easy enough to use that there’s little reason to consider other DBs for WordPress content. Other applications may have different needs. Note: FriendFeed uses MySQL to store schema-less data. Single-table key lookups in MySQL are faster than getting the data from Memcached.
Automattic uses Batcache for full-page caching (.002 to .003 second), Memcached persistent object cache, very limited MySQL query cache (never larger than 256MB), sufficiently large key buffer.
HyperDB solves DB scaling problems.
User-data backed up every hour, if something changed. Every blog backed up every 12 hours. Dedicated MySQL slaves do LVM snapshots for backups.
Andy Peatling on BuddyPress
Why BuddyPress? “Build passionate users around a specific niche.”
Do you have to become a social network? “No, look at GigaOM Pro,” a recently launched subscription research site based on BuddyPress.
But, yo do get “BYOTOS: bring your own terms of service.” That is, you get to control content and interactions. And your service won’t be subject to the whims of a larger network like FaceBook (or vagaries of their service — think Ma.gnolia)
It’s pretty easy, Andy says, to create a custom BuddyPress component, and there are already a number at the BuddyPressDEV Community.
Google’s Matt Cutts On Building Better Sites With WordPress
90% of WordPress blogs he sees are spam. But for those who aren’t spammers and want to do better in Google…. “WordPress automatically solves a ton of SEO issues…WordPress takes care of 80-90% of SEO.” Still, he recommends a few extra plugins: Akismet — reduce spam comments Cookies for Comments — reduce spam comments FeedBurner […] » about 400 words
WordCamp Higher Ed, Northeast
It’s not WordCamp Paris (running on 7 February), but WordCamp Edu Northeast is today. I’m there to meet up with fellow WordPressies and talk about extending WordPress with Holladay Penick and Dave Lester. Squeezing the three of us into a single time slot requires quite a bit of cutting, especially if we hope to have […] » about 300 words
SIMILE Timeline For, Um, Timelines
Timeline is a SIMILE project that uses Exhibit JSON (which you can create with Babel). » about 100 words
Another Approach To Web Forms
Just saw a cool demo of XForms and Orbeon Forms.
WordPress For Zach’s Web Programming Class
Zach is apparently too lazy to prep his own lectures for the last few days of his intro to web programming class. After bringing his students from zero to database-backed web-apps, he asked Matt do JavaScript and me to introduce WordPress as an application platform. The WordPress API makes it easy to write plugins that […] » about 300 words
Mobile Safari Advanced Features
If you’re already building web apps, you might wonder why you should bother to build an iPhone native app. The short answer is that you might not need to, but you should still optimize the app for iPhones. Native-looking chrome Set these in the head: // set a custom icon for when a user bookmarks […] » about 500 words
New Plugin: wpSMS Supports Sending SMS Messages
[include post_id=”12897″ field=”post_content”]
Scaling PHP
This two year old post about Rasmus Lerdorf’s PHP scaling tips (slides) is interesting in the context of what we’ve learned since then. APC now seems common, and it’s supposedly built-in to PHP6. Still, I’d be interested in seeing an update. Are MySQL prepared statements still slow?
And that’s where Rasmus’ latest presentation comes in. We don’t learn anything about MySQL prepared statements, but we do learn how to find choke points in our applications using callgrind and other tools. In his examples, he can do a little over 600 transactions per second with both static HTML and simple PHP, but various frameworks — with many inclusions and function calls — can slow that to under 50 transactions per second (I suppose they’d explain that in a TPS report).
Web Form Validation With jQuery
Josh Bush’s Masked Input Plugin and Paulo P. Marinas’ AlphaNumeric are both jQuery plugins to prevent input of invalid data in web forms.
Browser-Based JSON Editors
JSONLint, a JSON validator, was the tool I needed a while ago to be able to play with JSON as format for exchanging data in some APIs I was working on a while ago. And now I like JSON well enough that I’m thinking of using it as an internal data format in one of my applications, especially because it’s relatively easy to work with in JavaScript. Or, at least that’s the promise.
What I’ll need is an easy way to manipulate the contents of a simple array, and these JSON editors may give me a start.
The Braincast JSON editor was the first I found, but it doesn’t allow creation/expansion of the JSON. Katamari‘s JSON editor seems to work and has a lot of features and a post 2005-looking interface, but that doesn’t make it simple. Worse, I don’t think it’s available for me to re-use, modify, or extend in my projects. Thomas Frank‘s JSON editor, on the other hand, does have the features I need and a GPL license. That’s the place to start.
Extra: a JSON diff.
2.6 Million Self-Hosted WordPress Sites And Counting
The huge problem with open source software is that there are no sales numbers to show how many people are using it. We know that WordPress.com hosts over three million blogs. We know EduBlogs powers nearly 200,000. But how many sites are hosted using the original, downloadable, self-installed and managed version of WordPress? Now, the […] » about 100 words
More Web Performance Tips From Steve Souders
Hearing Steve Souders at WordCamp last week got me thinking about website performance, so I went looking for more. The slides from his WordCamp talk are online, but he gave a similar talk at Google I/O which got videotaped and posted richer detail than his slides alone will ever reveal.
Also on his blog: Use the Google AJAX Libraries API when you don’t have a CDN, and a post that asks why make users wait to download all your javascript before they see the page if you’re only going to use 25% of it at first?