Vladimir Prelovac who has been seen all over this site recently has published a pretty cool guide of 10 tips for WordPress plugin developers on Mashable.com The tips range from how to get an idea for a plugin to, using the WordPress plugin directory. Vladimir wrote an entire book dedicated to developing WordPress plugins so I take it, he knows what he’s talking about.
Default Theme Framework Is Stupid
I suppose if he won’t argue about it, maybe we can? Any thoughts?
I’m only going to say this once, and I’m not going to argue about it: Trying to include a “default theme framework” in WP core is STUPID. @NathanRice
WPWeekly Episode 47 – Interview With Vladimir Prelovac
While I really wanted to dive into plugin development with Vladimir Prelovac and talk about his WordPress plugin development book on the show, his Skype connection simply wouldn’t have anything to do with the show. Because the audio quality was so bad, I have edited the show to remove most of the interview so you won’t have to put up with the anger inducing Skype anomalies presented all throughout the first halfhour. So instead of an audio interview, I will most likely send Vladimir a list of questions via email and do things the old fashioned way. Also, David and I certainly had enough WordPress news to talk about which is what we did for the remainder of the show.
Ad Copy:
This episode of WordPress Weekly is sponsored by, WebDevStudios.com. WebDevStudios is a website development company specializing in WordPress support and development services. Contact them today for help with your WordPress powered website.
Stories Discussed:
phpBB Bridge Beta Testers Needed
Google Summer Of Code Projects
Interview With Andrew Ozz
Is WordPress 2.7.1 Really Being Hacked?
WordPress Tavern Listener Poll:
Each week from now on, I’ll be featuring a new listener poll question on WPTavern.com The poll is located in the sidebar on the right hand side of the site.
Last weeks poll question was: Do You Like The Direction WordPress Is Heading?
Out of a total of 31 votes, 23 of you said yes, 6 of you said you have no idea where it’s going and 2 of you voted no.
This Weeks Poll Question Is: Will you be purchasing a copy of WordPress Plugin Development: A Beginners Guide
Plugin Picks Of The Week:
Jeff – Insights -The insights plugin by Vladimir Prelovac enables you to quickly search for blog posts, edit them or insert links to them into the current post, insert flickr images, insert youtube videos, search and link to wikipedia, search google, search news, google blog search, and insert a google map all from within the comforts of your write panel.
David – SEO Smart Links – By Vladimir Prevolac allows you to instantly have links appear for pages, posts, and more without hard coding those links in place. It has made my life easy on more than a few projects, allowing users to quickly dive deeper into my blog.
WordPress Trivia Question:
No Trivia question this week but next week and the week after, I’ll have one WordCamp Chicago ticket to give away as a prize for being the first to answer the trivia question in the chatroom.
Announcements:
Interviewing Joost De Valk at 3PM EST on March 28th, 2009.
WPWeekly Meta:
Next Episode: Saturday March 28th, 2009 3P.M. EST
Subscribe To WPWeekly Via Itunes: Click here to subscribe
Length Of Episode: 53 Minutes
Download The Show: WordPressWeeklyEpisode47.mp3
Listen To Episode #47:
WPToy Launches – More WordPress Goodness
Stefan Vervoort who operates DivitoDesign.com sent me an email letting me know that he has launched a brand new WordPress centric site called WPToy. Stefan plans on using the site to publish WordPress news, themes, plugins, articles, and tutorials. On top of that, the site will contain a gallery system. They’ll also be publishing theme and plugin reviews, inspirational posts, contests, and interviews.
They are currently looking for guest posts so if you’re into WordPress and feel like helping them get off the ground, be sure to give them a ring.
phpBB Bridge Beta Testers Needed
Community member Brad Williams has put the call out via the Tavern Forum that he looking for beta testers for his brand new WordPress plugin which is a phpBB bridge. The plugin will do as follows:
Once activated/configured the plugin will bridge together WordPress accounts with phpBB accounts. This allows your users to register on your WordPress site and automatically be registered/logged into the phpBB forum. If you have existing phpBB members, they can link their two accounts by logging into phpBB from within WordPress once.
The plugin has been tested to work on WordPress 2.7.x and phpBB 3.0.x.
I remember when I published WordPress Weekly episode 36 where I interviewed Douglas Bell regarding phpBB and discussed the differences between the software and how important it would be to have a bridge between the two projects. The comments lit up with interest regarding a working bridge between the two systems. It looks like Brad is well on his way accomplishing this feat.
New Support Forum For WPMU
Community member Kim Parsell passed this along to me regarding a new WordPress MU Support forum that recently opened to the public. Andrea and her husband who run WPMUTutorials.com are the ones behind this new forum.
Anyone is free to register an account but to dive deeper into the forums, you’ll have to purchase a membership. Memberships cost 20$ for three months. Considering the breadth of knowledge that Andrea has regarding WordPress MU, this could be a drop in the bucket for those who have a tough time managing the software.
It’s That Time Of Year Again
If you’re involved with the WordPress project, chances are you already know that at about this time every year, the WordPress guys announce a series of projects for the Google Summer Of Code which is an annual event aimed at providing accepted students the chance to work with Mentors for their favorite participating open source project where they gain exposure to real-world software development scenarios and the opportunity for employment in areas related to their academic pursuits.
This years round of projects that students can place applications for are as follows:
- BuddyPress
- Media
- Blog Import/Export
- User Roles
- Template Versioning
- MPTT
- Search
- Video
- Theme Frameworks
- Community/Event Organizing Framework
- WordPress MU
- Other
Those who are interested in more information regarding the projects and who is mentoring them can find all of the information on the official Codex articled dedicated to Google Summer Of Code 2009.
Overall, I’m hoping that at least a few of these projects are accomplished over the course of the project as many of them would benefit the software greatly such as search, media, and blog import/exporting. While I don’t have any code fu to participate in the event, the projects themselves I believe can be used as a way to figure out what is in the core developers heads in terms of where the project is heading.
Out of the project listed, the ones that I’m most interested in is the theme versioning system. Like post revisions, theme revisions would work in much the same way, saving a revision of the template with each save. A system like this would probably make people a little less afraid to venture into the theme editor to make changes to their css file or core theme files since you would be able to revert a change.
Community/Event Orginizing Frameworks would be pretty cool. For example, the official WordCamp site could use a framework such as this where WordCamp orginizers can have a subdomain similar to how WordPress.com works but they have all the tools they need built into the site to handle registration, planning, sponsorships, event location, etc.
What about you? Anything in the list of projects that screams out at you?
Interview With Andrew Ozz (Mr. Visual Editor)
Back on February 8th, 2009, community member tekzt asked if I could some how get Andrew Ozz to appear on a future episode of WordPress Weekly for an interview. Hey, I like suggestions so I followed up on tekts request and sent a few emails to Andrew. He responded back that due to personal reasons, he would not be able to effectively appear on an episode of WordPress Weekly. So instead, I sent a list of questions that the forum thread generated as well as a few of my own and he answered those. Without further adieu, here is the interview revolving mostly around the visual editor within WordPress.
Jeff – Hello Andrew, thanks for taking time out of your busy schedule to conduct this interview with me. Before we dive into the questions, first tell us what it is you do as it pertains to the WordPress project.
I work on all parts of WordPress, perhaps more on the admin UI, (PHP, Javascript, CSS, etc.) trying to get it all working nicely in most newer browsers. I’m also one of the devs that have commit access to the WordPress repository, so part of my job is to test and verify patches and commit them.
Jeff – What has been the most challenging aspect of integrating TinyMCE into WordPress?
Would have to say keeping it backwards compatible. I’ve started when TinyMCE 3 came out and it had quite a few differences compared to version 2.x. One of the hardest parts was to make it compatible with wpautop.
Perhaps in the future we will have to reevaluate the autop system that stores the posts in the database with most P tags stripped and has to add them at each page load. This works nicely for simple html but now that WordPress is being used for many different types of projects it may become a problem/slow down page load.
Jeff – Why is it that a few of the most voted on ideas revolve around either improving or replacing the TinyMCE editor?
Yes, three of the top five ideas are about the editor but most suggestions and wishes there have been implemented. Looking at them most comments are from at least a year ago. Also most people don’t seem to realize that it’s the browser trying to render their html code in the visual editor and sometimes failing.
Jeff – Why is there such a difference in the way in which code is treated between the visual and HTML editors?
It’s not that much different. Main difference is the js version of wpautop that is applied to the content of the HTML editor when switching to the Visual. It has to insert the missing P and BR tags so the browser can render the HTML code.
Jeff – How large of a role does the end users browser play with regards to how the visual editor behaves?
There are several misconceptions about the visual editor. Couple of them are that it is a HTML editor and that it’s a stand-alone software program.
1. The visual editor is a text editor. Yes it uses html in the background to describe the text formatting but it works and behaves as a typical text editor. Both OO Writer and MS Word save files in xml format, but that doesn’t mean they are xml editors. I know quite a few people try to edit the raw html and then switch to the visual editor to see their changes. This usually works well with simpler html code. Don’t think that many people would try to edit the raw xml of a Word document and then load it in Word to see the changes there :)
2. TinyMCE is quite a complicated app written in Javascript but it runs in the browser like all js apps and ultimately the browser is in control. The Visual editor is a part of the browser, same as the textarea of the HTML editor. All browsers support the so-called “contentEditable” areas that can be applied to an element (usually textarea, div or iframe). Unfortunately the features supported there vary quite a bit between the major browsers making it hard to use.
Jeff – TinyMCE is labeled as a WYSIWYG editor. However, in my experience most times what I see is not what I get. For example, I’ll be in the visual editor and block quote a piece of text. But when I press enter to begin a new line, my cursor is stuck within the blockquote tag. This also works for any other styling elements as well. Why is that?
I think the WYSIWYG a.k.a. RTE (rich text editor) comes from the early implementation of support for editing in the browsers. So it’s a dynamically displayed html (WYSIWYG) as opposite to typing html code in a textarea. That was before CSS was adopted so all formatting was in the html code.
There are three types of buttons in TinyMCE. One brings up a popup, the other affects selected text only and the third acts as a toggle switch. The blockquote button is of the third type. It can also act on selected text like the align buttons. The toggle can be turned on at the beginning of the blockquote then turned off on the next paragraph after the blockquote, the same way as in Writer and Word. Alternatively a blockquote can be applied to one or more paragraphs after they are written.
Jeff – My argument against using the visual mode of the editor is that end users need to know about the quirks before hand in order to be the most productive with the editor. Do you feel the same way?
Of course. The users should know about the quirks of any software they use in order to be more productive. However in reality most users know and use only a fraction of the features of particular software and don’t need or want to learn about the rest. The few users that take the time to go through the learning curve become the “power users” of that software and then they reach the point where knowing how to work around any quirks would be useful.
From my research over 95% of the WordPress users have some knowledge on how to use a text editor and expect TinyMCE to work in exactly the same way. Most don’t care how it works or why it works and don’t want to “mess with” html code.
Jeff – Why does the visual editor use “B” for “bold” and “I” for “Italic” buttons? This is really misleading for the user, as it actually marks the text up with
Code: and Code: tags respectively, and the style sheet may not specify these styles for those tags.
The answer is simple: the same reason the HTML editor, OO Writer and MS Word use these buttons. They are the first letters of the words (and have nothing to do with the html tags with the same names). I think it would be really misleading for the users if we have a STRONG and EM buttons instead of the widely accepted B and I.
A theme designer can decide how to handle the strong and em tags like pretty much any other html tag. It’s another question whether the users like the design…
Jeff – Why not label them “emphasis” and “strong”? This would help promote semantic content to users, rather than encouraging them to use these semantic HTML tags just to make their text look pretty.
Perhaps that would be appreciated by a few users but the great majority would be against it. We cannot forcefully educate the users, that never works.
Jeff – Why does the insert image not always insert where I have the cursor?
In the visual editor it should always insert it at the cursor, even in Firefox that has big problems with cursor placement in contentEditable mode. The only time I’ve seen it fail is when another program on the PC steals focus from the browser (like a warning message from the OS or a chat window, etc.). The HTML editor can sometimes loose focus when the browser has been used for a while (doesn’t seem to happen in WebKit browsers).
Jeff – How closely tied together is a themes CSS file with the styling elements in the visual editor?
There are several ways to apply styles to the editor iframe. However they are all theme dependent and would need to be changed for each different theme. This is not hard to do but I don’t think I’ve seen any themes that do it.
Jeff – Will the visual editor ever reach the point where everything truly is what you see is what you get? Or does the difference in browsers/javascript not enable that to happen?
Perhaps but first the browsers’ support for contentEditable elements would need to improve a lot. Currently all major browsers have many quirks, bugs and inconsistencies there. Large part of TinyMCE deals with this, working around the bugs and normalizing the methods. Don’t think many users are aware that there’s a whole plugin just to work around the shortcomings in WebKit based browsers (Safari, Chrome). Also until recently (version 2.x) Firefox was replacing STRONG and EM with B and I to be able to display them.
It is possible for a theme to supply a custom css file for inclusion in the visual editor and to define the styles that would be available in the menus. That would make the iframe closer to the actual front-end look. Of course structural css cannot be used there and is not supported by the browsers.
There are many (more advanced) features in TinyMCE that are not used by default like template support, inline css editing, pre-defined lists of media files, etc. Most of them need either theme integration or some front end design decisions to be able to work.
Conclusion:
I’d like to thank Andrew again for taking the time to answer those questions. Nothing like hearing the answers from the horses mouth! I learned quite a bit about the visual editor just from this interview alone and perhaps I will change some of my views on the editor now that I know why some things happen the way they do. Let me know if you enjoyed the interview and if this answered any questions you had regarding the visual editor within WordPress.
WPWeekly Episode 46 – Mini Open Mic
In this episode, we were supposed to interview Matt Mullenweg about all sorts of things but Matt didn’t show up. Not sure if he forgot or if other events got in the way but I have already contacted Maya to reschedule the interview. We stuck around for an hour and fifteen minutes with no Matt but we did manage to get a half hours worth of discussion among the people that called in. With the open mic, we discussed multi use widgets in WordPress 2.8, Themes, and Prologue 2.
I apologize to all of you who were really looking forward to the interview. Trust me, I was too. Next week however, we’ll have Vladimir Prelovac on to talk Plugin and Theme development.
Ad Copy:
This episode of WordPress Weekly is sponsored by, WebDevStudios.com. WebDevStudios is a website development company specializing in WordPress support and development services. Contact them today for help with your WordPress powered website
WordPress Tavern Listener Poll:
Each week from now on, I’ll be featuring a new listener poll question on WPTavern.com The poll is located in the sidebar on the right hand side of the site.
Because of the way this weeks show progressed, I’ve decided to leave the poll question on the site for another seven days.
This weeks poll question was: Do you like the direction WordPress is heading?
Announcements:
Vkadimir Prelovac will be our special guest on March 27th to talk about plugin and theme development.
WPWeekly Meta:
Next Episode: Friday March 27th, 2009 8P.M. EST
Subscribe To WPWeekly Via Itunes: Click here to subscribe
Length Of Episode: 30 Minutes
Download The Show: WordPressWeeklyEpisode46.mp3
Listen To Episode #46:

