Happy 61st Birthday, Douglas Adams
Ladies and gentlemen, we don’t live in a fantasy world where we get to define truth and memorex. There are many areas of life that are grey areas. Then there’s right and wrong, correct and incorrect, proper and improper, truth and consequences.
I had a conversation recently with a third party developer that was maintaining some code for a client. It went something like this.
Me: Hey, we’re having some problems and I noticed in the logs this error that occurs anytime we encounter the problem. I’m not sure what’s going on here, but it seems to have to do with this code. Can you look?
Him: If you turn the error reporting down, then it won’t appear in the log.
Me: I don’t think you understand. I’m not complaining about the error in the log. The error helped me pinpoint the problem area. All turning error reporting down does is prevent us from seeing the error. It doesn’t make it go away. Please tell me how you want to fix this. Thanks.
This morning, I read an article in the Wall Street Journal. The article did your now-common comparison between east coast tech – more specifically, New York Tech – and Silicon Valley tech. That conversation is exhausted. I’ve already addressed regional fiefdoms. It doesn’t matter. Us? Them? Who’s got the biggest dick? It doesn’t matter. Let’s save that conversation for another time.
The article was mostly good, besides the cliché. Until the final three paragraphs.
Andrew Rasiej, chairman of NY Tech Meetup, was debating the merits of New York versus Silicon Valley’s nearest metropolis, San Francisco, at a recent conference when a young programmer chipped in: “New York will always win out,” Mr. Rasiej recalled of the exchange, “because it has more girls.”
A table full of female models was recently enjoying a girls’ night out at Abe & Arthur’s, a steakhouse in the Meatpacking District, when a man sent one of the women a note on a cocktail napkin. It read: “email@example.com.”
The women posted the napkin to Facebook and crowdsourced ways they might reject the overture. In a way, it brought together avatars of the new tech scene with icons of established fashion power. But it also marked, in Internet lingo, an epic fail.
Let’s also ignore the money status cliche and address the sexism issue described in this article. I’ve done it before and I’ll continue to do it until we stop pretending that the problem doesn’t exist by simply changing the log reporting.
The tech community really likes to turn down the error reporting in a big way. New York wins out because it has more girls. Is that so?
We work, breathe, live, spend our weekends in and around, date inside of the tech world. As entrepreneurs and techies, I know more people with zero social life because their idea of fun is sitting at home at 1am on a Saturday coding a Ruby app. Maybe we are just socially unaware. Maybe we’re malicious. Maybe we’re really misogynist.
I don’t care what the excuse is. We must do better. All of us.
Having a balanced number of women to men on tech-oriented panels and at conferences is a good start, but we must fix the problem. We have to get our heads out of our asses and realize that women engineers can probably teach us something about our own world. We don’t know better. We know enough to hang ourselves.
The casual things we say to each other online or in person. The jokes we make that, to us, are jokes… are not jokes.
This is not a cry for political correctness. This is a call for sensitivity and thoughtful intent. This is a sobering call for respect and equality.
I’m talking to myself as much as am talking to you. Every time I make comments about a woman being hot, I am not simply being a man. I am disqualifying her from the intellectual marketplace that I live in. Every time I go to a meetup drinkup and I gravitate toward the woman at the bar at the same event, I marginalize her abilities as a woman in tech.
Are we supposed to just become asexual beings? No. Of course not. But there’s a time, place and way to do it and making comments like “New York wins because we have more girls,” is gross negligence. If New York wins, it’s because it has the best apps, companies, entrepreneurs and ideas… and women are partners in that.
Let’s wake up and get real and stop simply turning down the error reporting so we don’t have to address the issue.
I’m moving from Austin back to Baltimore today, and over the last two and a half years, I’ve been privileged to be able to participate in an incredible community of Baltimore Ravens fans deep in the heart of Texas. We’ve grown as a group to over 100 fans during peak games, while living in the shadow of the Dallas Cowboys and Houston Texans.
When I moved to Austin, I was only aware of one Ravens fan group outside of Baltimore – and that was Atlanta. I was stoked to hear about the Austin group (We call ourselves the 512 Nest) and I have watched every game with this group except when I have been at the games themselves.
With the AFC Championship game this coming week, a lot of folks around the country will be jumping on the bandwagon of the Baltimore Ravens or the New England Patriots, the Atlanta Falcons or the San Francisco 49ers.
If you’re looking to cheer on the Ravens and are looking for a group of fans in your area – whether or not you are a Ravens fan is irrelevant, as long as you want to watch with other Ravens fans – here are my currently known list of groups:
- Austin, Texas – The 512 Nest – The Upper Decks, 301 Barton Springs Rd, Austin TX 78704
- Los Angeles/Hollywood – The West Wing, The Parlor Hollywood, 7250 Melrose Ave, Los Angeles, CA 90046
- Atlanta, Georgia = ATL Ravens, Sports & Recreation, 942 Peachtree St, Atlanta GA 30309
- Houston, Texas – Houston Area Ravens Fans, Pub Fiction, 2303 Smith St, #100, Houston, TX 77006
- Ft. Lauderdale, FL – The Florida Flock (South), Maguire’s, 535 N. Andrews Ave., Ft. Lauderdale, FL 33301
- Ft. Lauderdale (Juno Beach) – The Florida Flock (North), Kirby’s Sports Pub and Grill, Plaza La Mar, 841 Donald Ross Rd, Juno Beach, FL 33408
- San Francisco, CA – Ravens in the Fog, Thieves Tavern, 496 14th St, San Francisco, CA 94103
- San Diego, CA – Dirty Birds, 4656 Mission Blvd, San Diego, CA 92109
- Denver, CO – Baltimore Ravens in Colorado – Chopper’s Sports Grill, 80 South Madison St, Denver, CO 80209
- Orlando, FL – Orlando Ravens Flock
- Jacksonville, FL – Duval Bad Birds, Blackfinn American Grille, 4840 Big Island Drive #05, Jacksonville, FL 32246
I know there are more. Please let me know of any I didn’t list. Enjoy the game Sunday and GO RAVENS!
Updated: Ft. Lauderdale, San Francisco, San Diego and Denver groups added per Dave in comments. Thanks!
Update 2: Added Orlando, Jacksonville, and a second Ft. Lauderdale location thanks to the Florida Flock.
If we’re friends on Facebook or Twitter, you know about my new job in Baltimore. Technically, it’s not a new job yet, as I don’t start until February 4. However, it’s a new job and a return, for the first time since 2006, to a more corporate (if laid back) working environment. I’ve only worked for one company in that period of time, and I was a founder. That, of course, is the hugely successful WP Engine. However, I left that role in October of 2011. I still didn’t have the motivation to not work for myself.
A little about this new role, however, since I brought it up. I feel it’s necessary in proving the point I want to make.
Agora Financial, as a division of Agora, Inc. was named the 2nd best place to work in Baltimore in 2011 by the Baltimore Sun. As an adopted Austinite, that label carries a high standard. In Austin, “business casual” is cutoff jean shorts (“jorts”) and a tech swag tee shirt with sandals. In Austin, the chic commuter rides a scooter or bicycle. Maybe even walks. In Austin, drinking a beer is not something simply saved for off-hours. In fact, many companies keep a refrigerator stocked with beer because, hey, the workforce can be more relaxed, efficient and productive if given certain leeway. Thankfully, none of us are drunks… maybe.
At Agora, I found a company that matched this sort of comfort level I’ve come to expect. When I flew up for an interview (and job interviews have been something I’ve not really had to do seriously since 2002), I emailed Mark, the Art Director and my point of contact, and very politely suggested I wouldn’t be arriving at their headquarters in a tie. Manage expectations, and such. Mark’s response was simply, “That’s fine. Business casual works”.
Business casual can mean many things. It’s sort of a catch all phrase that means different things to different people based on different companies policy ideas. So I wore some decent dress pants, a button up shirt and a vest with no tie. The team had sandals, jeans with holes, and hoodies and plaid-pattern button up shirts. I felt like I was in Austin!
But company culture was just one aspect. The work they do perfectly fits who I am practically and ideologically.
You see, Agora is a publishing company first and foremost. I’m a publisher. I’ve written a book and worked with traditional book publishers. My first startup was a publishing company with, at our peak, 350 blogs. Agora’s model is different than those models, but they’re publishing. They are creating content that, hopefully, long outlives us.
They are a policy research publishing company. Those who know me know that I love policy, I hate politics. When I engage in politics, it’s usually from the lens of policy. Agora provides research analysis and white papers based on their policy research in a subscription format. So there’s also a revenue model. And they’ve been highly successful at doing this, historically through newsletters, for years. It’s a proven model, and they are a proven company.
In addition, their policy analysis generally comes from a libertarian (small “l”) perspective. As a left-leaning small-l libertarian, I enjoy this aspect of what they do (even though I suspect most of my colleagues and most libertarians as a whole are right-leaning small-l libertarians, I suspect that we all agree on a framework of responsibility and limited government in individuals life, and diverge on other less-important minutiae).
I was hungry for this job. It was a dream job for me. Join a company doing things I loved, in areas I loved, with tools (WordPress) I loved, with a style of corporate culture that I loved. When they made me an offer, I didn’t hesitate to accept and fire myself from my own company.
I fired myself!
Having the Balls to Fire Myself
Most people aspire to stop working for the man, and start working for themselves. There are entire classes at universities and colleges about entrepreneurship, and to be sure, entrepreneurship is the mode of decade.
The other night, I had the opportunity to guest lecture for an capstone course on digital entrepreneurship for American University. It was online and you can hear my story and lecture here. This course is a culmination of all the classwork done in this program and is largely a practicum of everything learned to that point. The lectures are a series of lectures from guests that give the students inspiration and motivation about their futures while they work on their individual projects.
During this talk, I spoke specifically about the time I left corporate America and went out on a limb. It was 2006. I had been working on a side-project basis for over a year building up a WordPress-powered content network and when we finally took funding, I was employee #1 or #2, depending on who you ask. I couldn’t wait to leave my computer-fixing job and go do something I really, really wanted to do instead and get paid for.
I’ve heard stories like that from hundreds of entrepreneurs. Most never look back with any regret, despite the struggles and sometime-economic instability.
I have a view that whatever I do, I do it because I want to. It’s very easy to look and say that running a startup, building a product, starting a company or, in general, working for yourself is, in fact, the holy grail.
From Happiness to Happiness
My view is that the holy grail should be happiness and motivation derived from what you do. Sometimes that means taking a more unorthodox step and saying, you know what… being an entrepreneur is awesome, but it’s a vehicle to happiness, not happiness itself.
So effective February 4, 2013, Aaron Brazell has been terminated by Aaron Brazell.
I don’t know if I would have fired myself to go be a developer in some developer-happy company that segregates the developer from the product line. In other words, a lot of developer-oriented companies have developers as a means to an end. Product managers go talk to customers, develop goals, milestones, wireframes or storyboards, make decisions on initiatives with corporate executives and the developers exist to make that shit happen.
Some people like that. Some people don’t want to be a part of the politics and roadmapping. They work better with a framework that defines what their role and deliverables are. For them, that’s happiness.
For me, happiness is seeing the vision, talking about what it means – the pros, cons, feedback – iterating, being a part of the process of both scoping and building and then allowing the idea to flourish. It means building something toward an end. In the idea of a startup, it means building a product and moving it toward acquisition, IPO or even failure.
As a consultant, there was no viable end. Unless I’m committed to building out a team (I’m not), increasing a production pipeline (without a team, I can’t), or other such motivations, a consultancy looks exactly the way it does in 10 years as it did on day 1 – find clients, build something for them, collect money, wash, rinse, repeat. There’s no glorious ending. To me, that makes for an unhappy Aaron.
Agora provides an exciting platform, an an innate sense of entrepreneurship internally, that makes me happy. If I have an idea, I can try it. If I think something could really work well, I’ve got a green light to work on it. All within a good developer situation where I also have deliverables, and things to look at and solve. The combination of such makes Aaron a very happy person.
At a bar. Considering a job with a libertarian organization. I claim no alignment and haven’t for a long time. However, in thinking about it, here are drunk scribbles I’ve written on the back of four napkins:
– Voted for Michael Badnarik in 2004
– Smoke weed
– Advocate of legalization
– Gun rights + Gun control
– What affects others may not be legal or best.
– Energy: can we do something to lower the cost AND save the environment?
– Can we enable the people to affect policy?
– What can we do to enable states to legalize gay marriage or amendment it?
– How can we privatize social security and still have “social security”?
– How can technology leverage common motion?
– Push notifications for local activism?
– How do we promote Justice Dept oversight of narcs without liberty infringement?
– How do we know who’s dangerous?
– Can Obamacare address mental illness?
– Does the assault weapons ban subvert the 2nd Amendment?
– This country wants a 3rd party. Can we be the force?
I’m a photographer and I use both my iPhone 4S and my Digital SLR to take photos.
There’s a difference between taking pictures and taking photos, however, and the nuance is an important thing to understand. When you raise a camera and snap a photo, unless you’re paying attention to things like composition, lighting, depth of field, aperture, shutter speed and ISO, you’re taking a picture. If you’re doing all of those things (or reasonably close to all those things), you are safely in the category of “doing photography”.
One is casual. The other is intentionally art (whether good art or not is a subjective matter that shouldn’t be handled in this post).
Art doesn’t have to be Pablo Picasso or Ansel Adams or John Lennon. It doesn’t have to have a philisophical meaning or intent. Art is the expression of the Artist on an outward medium. Or in the case of photography, it is more simply the interpretation of what the eyes sees into a likeness in film or in digital media. Photography as art cannot be done haphazardly. That’s how people get caught in the trap of buying a $2000 camera and wondering why their photos suck. Because there is no context of movement, sound, smell or touch, the essence of a point in time must be captured entirely visually. If it’s done right, it’s art because care, intent and a degree of skill are needed to translate the moment into a snapshot.
Photographers work hard to get this right. It takes a perceptive eye, a knowledge of the equipment, lighting and composition to make a great piece of art in the form of a photograph.
I thought this was about Instagram?
This is about Instagram. Instagram’s app used to allow the user to upload a photo that did not fit a strict “square” format and pinch and squeeze to resize and get an entire photo in. While this was not as aesthetically pleasing as it could have been, it gave the photographer the ability to use the entirety of a photo and the composition nuances in it.
The new app does not allow for this zoom and strictly enforces a square model. The Next Web covers some of the pushback and takes the opposite side as me – that it’s high time Instagram enforce a square photo.
Take this photo as an example. I love this photo of Downtown Austin from across the S. Lamar St Bridge. The composition here is extremely important. The reflection of the bridge in the water, the trees and of course the kayaker under the bridge make this photo what it is. Here is my post-production piece.
However, what happens with Instagram? I have to scroll to one side or the other or find a happy medium in the middle for this photo.
I realize, of course, that many users hate to see black bars across the top of the Instagram photo, as it was the day I posted my photo to Instagram!
However, this is the balancing act that Instagram has to consider. While creating a photography app for the masses, the need to keep photographers on board is essential. The new app takes away the artistic prerogative and choice from the artist and puts discretion in the hands of the masses. Last time I checked, the masses don’t shoot my photos, edit my photos, make artistic choices about my photos or have the same skills or style that I possess as an artist.
I choose what my photos look like. I use Instagram to publish because it has two things: an audience and a distribution vehicle. When I post to Instagram, I push my photos to both Twitter and Facebook. I chose this even with the artistic limitations that it offered before this app update (namely the “letterbox” that goes with the photos that don’t fit into a square format).
One can argue that Instagram had to make a business decision, perhaps inline with the desires of their Facebook overlords. I guess that argument can be made. But removing artistic license abilities of artists who are using the platform is a terrible idea. Imagine if Twitter had said, back in 2007, that they had this platform that could only be used with 140 characters because it was built for use over text message and, since that was their original idea, and the colonial approach to the short message service was the only appropriate way of consumption, then text messages would be the only method of use allowed.
That is, in fact, exactly what Instagram has said indirectly, and what the Next Web article (linked above) advocates. Hey, photography used to be limited to a square format because it was the cheapest way to do it. Yeah… and then we got 35mm film which opened up a 4:3 ratio. And then we got digital that opened photographers to new technologies to create different formats, styles and use different concepts to create art.
Imagine if all our music sounded exactly the same way as the Beatles did in the 60s. Would there be any evolution to music? Of course not, because every artist would sound exactly the same way, use exactly the same cadence, write lyrics that epiphanize the exact same mindset that existed in the 60s and generally would be boring today – and I’m a big Beatles fan!
Returning to a square format is not a bad thing. There are vintage schools of thought in every format of art, fashion, music and culture. But that doesn’t mean that every artist should be forced to adopt such styles. That makes photography boring and conformist. That’s not why we do photography!
Today marked the drop of WordPress 3.5 and I want to celebrate.
Tomorrow, I’m going to give away three autographed copies of the WordPress Bible. You have to be on Twitter. I apologize to those who have chosen to abandon Twitter, or have chosen not to participate, but it is the defacto communications medium of the 21st century and how I operate.
The book is a mix of advanced and beginner content. Therefore, I will do trivia. Trivia will have a beginner round, an advanced round and an intermediate round. All WordPress oriented. The winner is in my sole discretion and you will be required to provide your mailing address if you are selected.
WordPress core contributors are not allowed to participate in the beginner or intermediate round. If your name is on “the list” of 3.5 contributors, you cannot win those rounds. You can, however, participate in the advanced round.
The beginner round will consist of questions surrounding theme and plugin management with possible questions around usability and interface.
The advanced round (the only round open to core contributors) will be based on WordPress APIs, hooks and advanced WordPress development.
The intermediate round will mix both but the developer-oriented questions will be more common and basic and user questions will be more difficult.
You must hashtag your answers with #wpbibletrivia. Failure to do so disqualifies you for an answer.
The first answer I see that is correct is a correct answer. My judgement solely.
There will be 10 questions per round so pay attention.
The beginner round begins at 11am Central Time.
Share this on Facebook, Twitter or whatever your social media channel of choice is. The questions will be asked on my Twitter feed: @technosailor.
Happy 21st Amendment Day (or the Repeal of Prohibition). 79 years ago today, Congress ratified the 21st amendment which repealed the 18th Amendment banning the manufacturing, sale or transport of alcohol in the United States.
Here’s a fun story.
In 1918, when the 18th Amendment was ratified, there was a healthy bar and saloon scene in the western railroad town of El Paso, Texas. On March 5, 1918 (when Prohibition was ratified), El Paso, along with the rest of the country, turned out the lights and closed their doors for, what seemed like, the final time ever.
The next morning, across the border in Juárez, Mexico, these bars and saloons re-opened a mere few miles away from their original location. This actually served to be a boost in the economy for both El Paso and Juárez, which was wracked with crime (still is, just cartel crime now!).
Tourists and travelers could take a night off on the El Paso train line and head over into Mexico to get their drink on and get back on the train to continue their journey the next day.
See? Told you it was a fun story. And a fun Texas story at that.
I’m going to start a series of tutorials over the next weeks and months about HTML5. A lot of web developers are not leveraging HTML5 for a variety of reasons. We have been so trained over the past decade to embrace XHTML 1.0 that we’ve avoided the new DOCTYPE as something new that needs to be learned.
The good news is, XHTML is still valid in HTML5. The better news is now you have much more fun toys to play with.
Admittedly, I was one of those people who delayed jumping on the HTML5 bandwagon. In the past few months, however, that has changed. This series of articles will hopefully help the web developer to rethink how they develop on the web. Much of the stuff I’m about to talk about does not require a lot of extra heavy lifting.
Use the Correct DOCTYPE
Just as a remedial exercise of laying out the premise, your HTML must have the correct DOCTYPE. In XHTML 1.0/1.1, the first line of the HTML page had to be something along these lines
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
That’s relatively confusing, huh? Makes you want to go drink spoiled milk with lumpy crud in it just because it’s tasty, right?
To declare a web page as HTML5, you do the same thing you did with the old 1990s era HTML4, before the web embarked on the XHTML idea of doing work. HTML5 is, essentially, a reset to HTML4 with all kinds of additional goodness. You simply start a web document with:
A lot easier, right? Heck, you can type that in your sleep once you’ve typed it enough (I know you already do that with your drivers license and credit card numbers).
Form Field Types
With all that remedial knowledge in play, let’s take a look at HTML5 forms. The importance of this might be lost if the only thing you think about, when building HTML pages, are computer browsers. But if you recognize we live in a mobile world, you own an Android or iPhone and have tried to do any kind of form filling on those devices, then you might start to realize the importance of field types.
In XHTML, you might have a form that looks like this:
<form action="" method="post">
<label for="name">Full Name:
<input type="text" name="name" id="name" />
<label for="phone">Phone Number:
<input type="text" name="phone" id="phone" />
<label for="email">Email Address:
<input type="text" name="email" id="email" />
<label for="website">Web URL:
<input type="text" name="website" id="website" />
In XHTML, we didn’t have a lot of field types. We had text (which everything above is), hidden, password (*’s entered in the input), checkboxes and radio buttons. You could add other types of inputs (That don’t use the
<input> tag and include
This works in HTML5 too, but you’re limited by one default keyboard – which is fine, but fairly bland and not at all contextual.
What would happen if we changed that form to use different field types? HTML5 support a bunch. The four fields above can more sematically have the following types, in order: text, tel, email, url.
Watch what happens on the iPhone when the HTML looks like this (Android is similar):
<form action="" method="post">
<label for="name">Full Name:
<input type="text" name="name" id="name" />
<label for="phone">Phone Number:
<input type="tel" name="phone" id="phone" />
<label for="email">Email Address:
<input type="email" name="email" id="email" />
<label for="website">Web URL:
<input type="url" name="website" id="website" />
For a standard text field, your keyboard will look like this:
For an email address, using the
And for a URL field using the
There are, of course, other field types that I’m not going to go into too much here. But to whet your appetite, there is a
color type that attaches to a color picker. There’s a
date type that binds to a date picker. There’s even a
range type which binds to a slider picker.
Important: Not all browsers support all types. In the event that a browser does not support a specific type, it falls back to standard
Reference: All HTML5 field types with browser support.
Form Field Placeholder
Another useful feature is the placeholder. In XHTML, we might have a form that looks like this:
This would create a simple field that would be pre-populated with “Search for your term”. From a usability standpoint, when a user brings that field into focus, the text is supposed to disappear and allow the typing of a search term. If nothing is typed and the focus is switched to a different element, then that phrase should re-appear.
placeholder="Search for your term". Different browsers handle this slightly different, but they all insert some dummy text that can be replaced by the user’s own input.
Form Field Validation
Validation is such a tedious thing for developers. You can do all kinds of ugly things to make sure fields that are required actually have a value or that a field meets a certain criteria (for instance, a zip code field having 5 numeric characters to match the U.S. format).
In terms of requiring a field, it’s as simple as adding
required to the input tag. In HTML5, you don’t have to have an explicit value for an attribute as you do in XHTML. You can if you want, type
<input type="text" name="zip" required="required" /> but this is a habit that does not need muscle exercise. Just use:
Let’s validate that zip code field, though, because this is where HTML5 really shines.
pattern attribute, you can designate a regular expression to match formatting needs. If we want to limit the zip field to 5 numbers (most simplistic example – it could also have a potential extra dash and 4 numbers too), you might use this HTML:
You can find a list of helpful regexes at html5pattern.com.
There’s a lot more we could get into here, but the point of this exercise is to prove that it doesn’t take much to start using HTML5 in development. Doing so will also push the boundaries of what has been more commonly possible and the barrier to entry is so low that I struggle to find a reason why HTML5 should not be used more commonly.
I’ll have more of these in the days and weeks to come so stay tuned, subscribe to the RSS feed and, as always, if you’re interested in hiring me for a full time gig or contract basis, please reach out to me. I am actively looking.
For 7 years, I’ve been publishing these articles every time a new version of WordPress comes out. Since version 2.0. It’s been a long run. It began as a need to fill people in about new features in WordPress (and there were a lot in 2.0). There wasn’t anybody doing these at the time, and certainly WordPress wasn’t nearly as popular as it is now (22% of the internet is powered by WordPress).
But many more people have stepped up in recent releases and have started updating readers with new features and expectations. My job here is done. I’m passing the baton but really the baton has already been passed and I’m happy about that. This will be my final 10 things article. Thank you for sticking around and following along all these years.
On Wednesday (likely), December 5th, WordPress 3.5 will drop with all it’s gooey goodness. A BIG shoutout needs to go out to Andrew Nacin, the lead developer on 3.5, for project managing this release while also planning his wedding, and to his best man, core developer Daryl Koopersmith for leading the media efforts. And of course, all the other core contributors to this release (I, sadly, am not one this cycle).
So without further adieu, let’s get into the guts of 3.5.
One of the most anticipated revamps in WordPress history has finally arrived. Since the days of implementing the media upload integration, core developers, users and everyone in between has cried for a new way of managing media. It’s finally here and it is one of the biggest undertakings in WordPress core development history.
The new media manager in WordPress 3.5 simplifies the process of uploading various media formats (usually, but not limited to, images). Everything is right up front and easy to understand. Instead of having cryptic icons over top of the edit area on a post editing screen, you now have an obvious “Add Media” button.
Clicking Add Media brings up a dialog that has a very large, and obvious “drop zone” where you can drag and drop files into. This aspect has actually been around for a few versions, but now it’s a much smoother experience. Of course, you can also click the prominent “Select Files” button in the drop zone to pull up a more traditional dialog for selecting those media files and uploading.
You can also get a much more intuitive view of your already uploaded media attachment, select any number of photos and insert them into a post or create a gallery. This was all supported before, but the logical workflow makes the process a million times easier.
Also, gone are the days of uploading an image, having to close the media dialog to then re-open it to create a gallery or futz around with details for each image. This was always kludgey before. You could assign an image as a featured image without having to close the dialog, but then inevitably you’d end up in a situation where the dialog had to be closed to get into another image mode.
I’m really curious what the reaction to this feature will be.
Twenty TwelveTwenty Twelve is the new theme that is coming with 3.5 A few cycles ago, the core team decided to retire the old default “Kubrick” theme and release a new standard theme once a year. Twenty Ten came in 2010. Twenty Eleven came in 2011 and, well, obviously, Twenty Twelve is dropping in at the tail end of 2012.
Twenty Twelve is a fun theme. It’s fully responsive, so it conforms to different viewport sizes – monitors, iPads, smart phones, etc. In WordPress 3.4, the Admin got responsive love, and now the default theme gets it as well.
You can actually download and install it now, as it is also compatible with WordPress 3.4 and is on the theme repository.
This default theme has better typography, a home page template, various options for columns and widgeted areas and would serve well as a handy theme framework for child themes as well.
In addition, if you haven’t started leveraging post formats (available since WordPress 3.1), you can do that now with Twenty Twelve. The theme has built in styling defaults the match the sort of thing you’d expect from Post Formats (to me, still one of the most neglected things in WordPress)
HiDPI “Retina” Admin
For those of you on the retina display bandwagon, both Twenty Twelve and the entire administrative interface are all retina ready. No pixelation on those high-end Macs!
In WordPress 3.4, the first steps were made by providing quite a few retina (or hi-def, if you will – it will make more sense in a minute why I offer that clarification) icons in the admin. Now, the CSS (specifically for print) also supports this hi-def rendering. If you must print a tree, the print stylesheets will be printing in hi definition.
This also opens up opportunity as browsers and CSS3 continue to advance and provide developers with new tools.
Retina not only gives print versions additional clarity, and those high end Macs more beauty, but it also renders things better for you iPhone 5, iPad 3, Kindle HD and various new Android device users. Rejoice! (but I have an iPhone 4S, so meh!)
Removing the Links ManagerOh my God. We finally got rid of this antiquated thing!
Remember back in the day when people actually kept blogrolls? And WordPress had this feature in the menu called “Blogroll”. And then people started realizing, as possibly one of the earliest turns toward WordPress not being only a blogging tool but also a full-blown Content Management System, that Blogroll just didn’t seem appropriate (or whatever the thinking was), so it was renamed to Links.
It’s now coming out entirely. Existing WordPress install retain the Links manager but new WordPress 3.5 installs no longer have this functionality.
If you still need it, you can install the Links Manager as a plugin.
As a developer, I am constantly setting up WordPress installs, setting up new WordPress installs, resetting WordPress installs, etc. so perhaps my favorite new feature in WordPress 3.5 is the “Favorite Plugins” doohickey. I always have a subset of plugins I use for development and functionality I consider a “must have” for a client project, etc.
This becomes incredibly useful in WordPress 3.5 where you can now pull down your favorite plugins with one-click install. When you visit the Plugins > Add New admin page, you will see a new “Quick Link” along side the “Upload”, “Popular” and other links that have been there all along. Now you just have a new menu.
This brings up a page where you can enter your WordPress.org username and get a list of all the plugins you’ve favorited on the plugin repo and install as you need.
Protip: Now you can stop emailing me and asking me what plugins I recommend. Enter MY username – technosailor – and find out which plugins I prefer.
Tumblr Importer Support
One of the most popular blog types and platforms in the past few years is Tumblr. Up until now, there hasn’t been a way to get Tumblr content imported into WordPress. That’s no longer the case.
On the Settings > Import page, you can now activate Tumblr import support. Warning: The process of importing Tumblr is a little kludgey and that is due to Tumblr’s own systems. You will need to register an app with Tumblr, enter certain key information about your WordPress install into the Tumblr app registration page, and copy certain key information into WordPress.
The instructions are all on the Import admin screen. I suggest opening up the Tumblr app registration page in a separate tab as you’ll have to go back and forth between Tumblr and WordPress.
Once you do this, you can connect WordPress to your Tumblr blog and slurp in all the data you’ve had over there. I know y’all love Tumblr, but this is your opportunity to get off of it and onto a more widely used and customizable platform. Plus, you have Press This in WordPress to allow you to continue your Tumblings.
Simplified DashboardThe Dashboard has always been a bit of a sore spot for new users unfamiliar with WordPress. What is all this information? Unfortunately, that’s not going away quite yet. However, WordPress now makes it easier for users to get up to speed with common things like writing an about page, setting up a theme, etc.
In addition to Dashboard fixes, there have been a number of smaller UI changes in the admin, including the Privacy page being removed and merged into the Reading Settings pages. Lots of effort was put into a simpler user experience.
It’s the little things that help users get up to speed and using WordPress quickly and effectively and reduces the learning curve.
Multisite: switch_to_blog() performance problems fixed
There are a couple of Multisite improvements for developers. For the longest time, well before the merge of WPMU into WordPress, the way developers could switch “context” from one site to another would be through
switch_to_blog(). Even after the merge, that function still remained the way to do it. But it has always come at the price of performance and caching. It was an extremely expensive function to use, filled with unnecessary database queries and other fudge.
It left developers looking for ways to accomplish the same task in a different way – which is really not the WordPress way. We encourage developers to use the tools WordPress provides and not to try to get around them. This mentality is almost universal and prevents problems with backwards compatibility in the case of database schema changes, etc. However, this beast had never been tamed for this specific functionality.
As of WordPress 3.5, this function has now been refactored and performs significantly better than what it did, including massive caching changes. Developers should feel far more comfortable using it. Hooray!
Multisite: Sub Directory
Another Multisite improvement is the ability to install WordPress Multisite in a folder. Up until now, WordPress Multisite could not be installed in a subdirectory. It had to be installed in the document root which was… silly.
In WordPress 3.5, a lot of work was put into making it possible to do just that. Specifically, this came out of Hack Day at WordCamp San Francisco in August. Nice work Mark Jaquith and company.
One final developer tool that was added in WordPress 3.5 is a modification to the
post__in argument that can be passed to
WP_Query to affect what posts are pulled in a custom query/Loop. While
post__in has been around awhile, and takes a comma separated list of post IDs to be retrieved, now, if the
orderby parameter is set to
post__in, the order of the IDs matter. Specifically, the order of the IDs in
post__in is the order they are retrieved in the resulting dataset. Before they were simply ordered in numerical order (or whichever custom order parameter was supplied – post_name, post_title, etc) .
This is pretty effective for CMS-style usage of WordPress where a developer may want to have granular control of how specific content pages are listed, displayed, etc.
So that’s it! Nice big release. A lot of under the hood stuff for developers, but really this release is less of a developer’s release and more of a user experience release. When WordPress 3.5 drops on Wednesday (assuming that happens as expected), I’d love to hear feedback.
Thanks for reading all these years. I’m not disappearing. I’m just retiring from this column. Of course, I’m always looking for full-time or consulting work. Please feel free to contact me if you think we might be able to work together.