Random Thoughts on…WordPress?

I wasn't sure how to title this one. I went to the WordPress NYC "Help Desk" meet-up on Wednesday and learned a lot about things users of WordPress are struggling with.   So I guess in some ways it is random thoughts on me learning more.

  • The biggest thing people struggle with is themes they bought off Theme Forest. Most of them are hard to configure and include so many damn options that it's easy to screw up a site and get lost trying to fix it.
  • One of the worst parts of these themes is that when there is an issue, I can't just open up the source from everywhere in the world and trouble shoot.  If they used themes from WordPress.org, I could help them.
  • The first question someone asked me about related to Gutenberg. People are paying attention to it. I don't know if this is a good or a bad thing. 
  • I was referred to as a WordPress Celebrity and it was a bit off putting. The people that make and contribute to WordPress are just people. Some of us have the privilege of contributing to WordPress. Others have the privilege of maintaining WordPress. But both come from points of privilege as they require time, energy, and money (for a computer, internet access, etc.),  but ultimately we shouldn't be considered celebrities. That's not to say it isn't nice to be thanked every once in a while, but I don't know anyone who contributes to WordPress for fame. 
  • It's important that we don't assume people know the difference between WordPress.org and WordPress.com. Especially with the lines getting more and more blurred due to "WordPress.com Business".
  • Finding the right theme is still #HardAsFuck for most users. I think that no matter how great WordPress the application
    is, until people find the right theme for them, we are likely to lose them.

Random Thoughts on Gutenberg

Gutenberg is being developed as the next generation WordPress editor. I made my first contribution earlier today. Nothing big, but something that will hopefully help people test it.  The contribution process was 💯, but for end users, that’s not the important thing. What is important is the actual editor.

I’ve seen talk that Gutenberg is in “Open Beta” now, but I think calling this beta software is still premature. I think there is plenty that will change between now and any possible inclusion in WordPress core for Gutenberg. Here are my random thoughts and my first reactions to using Gutenberg.

  • It’s pretty.  And Fast. I never thought of the post editor as being slow, but there is something about Gutenberg that makes it feel fast.
  • There are a lot of rough edges. It’s hard to know what is a bug, what is intentional,  what just hasn’t been done yet, and what hasn’t been thought of.
  • There is an option for “Drop Cap” that doesn’t seem to do anything on the front end yet.
  • I’ve also never intentionally been able to highlight multiple blocks at once, but I’ve sure done it on accident a lot.
  • I can’t seem to delete some blocks without going into the text format.
  • I really like how the plugin is implemented. Being able to test Gutenberg without completely giving up the current editor is awesome and will hopefully help encourage people to test it out.
  • The tab key doesn’t let me actually add a tab, even inside a code block.
  • Existing content can’t really be imported. I hope this is something that is on the roadmap since it sure would be odd to Gutenberg sometimes not work like Gutenberg.
  • I miss a lot of the meta boxes I’m used to seeing on the screen.  Things like Yoast SEO (on some sites) and custom taxonomies are just not shown. If every metabox ever made for WordPress needs to be remade, it sure is going to make developers lives a living hell.
  • Adding images and the image
    block in general are confusing. For example, despite having “All da” ( which I think is “All Dates” but is cut off) selected, only my 10 most recent images are shown initially.  There are no names/text associated with the
  • I can’t figure out how to add an image to this list.
  • Autoembeds seem to work, but don’t display anything in the UI.
  • The Embed URL block tells me that I can’t embed that content, but the front end of my site tells me differently.
  • The sidebar being empty 3/4 of the time feels really odd.
  • The default state is likely my favorite “Distraction Free Writing” implementation in WordPress yet.  I’m simultaneously able to focus on my content, and yet I have all the tools I need for writing. I don’t have all the tools I need for content creation.
  • I need to take my hands off my keyboard more than usual. Adding a paragraph after a list isn’t easy to do with just a keyboard.

Lots of things are constantly changing with Gutenberg ( my small change was merged within hours of proposing it). I’m going to keep my eye on it. The content for this post was drafted in Gutenberg and I’m going to try to continue to do that going forward.  Go install Gutenberg, so you can generate your own opinons on it.

Random thoughts on one month of daily publishing

On December 9th I published Random Thoughts on Selecting Speakers for conferences. I didn’t realize it then, but I was on my way to a streak of daily publishing. Here are some random thoughts and stats about the experience:

  • Always Press Publish, which I thought was going to be a throwaway New Years Eve post ended up being my most read post. It started as some tweet advice, and I thought more about it as I went throughout the day before sitting down to write it out.
  • Some days I really struggled to find something to say, but once my streak got going, I felt I needed to keep it going.
  • I don’t think I said the word fuck enough over the last month, so I’m going to say fuck twice in this sentence.
  • I wonder about impact with my writing (shout out to Greg Linch). Seeing comments, retweets, snapchats, and most importantly pingbacks/trackbacks makes it worthwhile. Seeing Jeremy Felt press publish The Powers of Money and Community makes me feel like my writing had some impact on someone I respect a great deal.
  • I want to keep my streak going.  I also want for it to continue to feel natural.
  • Some of the posts are drafts that I’ve sat on for a while that always felt half finished. I still have 116 drafts and that number only got bigger over the last month.
  • Twitter brings in more traffic than anything else. I was impressed to see Facebook bringing in traffic even though I deleted my account before this streak started. I wish it wasn’t so much of a walled garden and I could see how it was being shared and what people had to say.
  • The post status API would likely need to not suck for that to really be possible.
  • After I did my collection of best of random thoughts 2016, I felt like I couldn’t do any more.  There were a few times that I think this format would have worked well and missed it since I boxed myself into the artificial corner.

So the big question is if I should keep the streak going.  I see no reason to end it now, but only time will tell.

Best of Random Thoughts 2016

I like to publish my random thoughts on varius subjects.  I published 8 collections of them this year on a number of different subjects.  Here are my favorite ones from each of those 8.

Thoughts on the PHP 5.6 support timeline

We have to remember that the vast majority of end users and site owners don’t know what PHP is, let alone what version of PHP they are running.  Many have no control over the version of PHP they are running. It’s the hosts responsibility to ensure users are running an up to date server software and software vendors responsibility to ensure they work on the latest and greatest versions.

Thoughts on being an MC for A Day of Rest

It’s much easier to introduce people you know. I was lucky and knew every speaker (might be why I was given the honor of introducing everyone 😉). I tried to connect for at least a moment with each speaker so I knew how to pronounce names properly (important for everyone, including those that you worked with for multiple years)

Random Thoughts on the WP REST API and WordPress Core

Due to the fact that every WordPress site’s API is going to look a little different, clients for the API are going to have to be a “smart”.  This means they are going to have to consider getting both more data than they expected and less.  This is very different from a lot of other API clients where the response is consistent.

Random Thoughts on Pressnomics

The Jorbin Test seems to have had a mostly positive reception. I hope it helps other developers.

Random Thoughts on Finding Jobs

Know your skills and experience, but don’t let them hold you back.  A lot of times job descriptions will be written in a way that make you not feel qualified.  That might be your impostor syndrome talking.

Random Thoughts on… Teaching yourself to code

  • Fail.  Fail a lot. Failure is a gift.

“I have not failed. I’ve just found 10,000 ways that won’t work.”
― Thomas A. Edison

Some More Random Thoughts on Default Themes

What excites me most about TwentySeventeen is all the pieces that will likely not be a part of the theme, but will be changes that the theme drives in core.

Random Thoughts on Selecting Speakers for conferences

Diversity is incredibly important for a speaker lineup as it helps present to an audience that all types of people are doing great, important things you should know about.  Diversity in this context means physical presentation (gender expression, age, race, disabilities, etc.), experience, reputation in the community, and employer.

Random Thoughts on Selecting Speakers for conferences

I just finished attending my final conference for 2016 where I once again helped with the speaker schedule without having an input on selecting speakers.  Having been on both sides of the speaker selection coin, here are some random thoughts I have on it (including some half-baked ideas).

  • Prompt notification of speakers is incredibly important.  It sucks to be playing the waiting game.
  • Blind first reviews help to reduce bias towards “big names” and other inherent biases.  This is especially important if the review committee knows people proposing talks.
  • I wonder how doing two separate calls for speakers would work.  Essentially do one far out for “Timeless” talks and one much closer to the event for “Time full” talks. That way you give people lots of time to prepare for talks that are more game changers while also allowing some slots to be filled by talks that are about the issues of the day (since a lot can change from when you do an initial call for speakers to when a conference is).
  • I always appreciate when a talk is given to an audience for the first time. If a talk has been presented at a similar event and is available on video, it has significantly less value to me.
  • Diversity is incredibly important for a speaker lineup as it helps present to an audience that all types of people are doing great, important things you should know about.  Diversity in this context means physical presentation (gender expression, age, race, disabilities, etc.), experience, reputation in the community, and employer.
  • You should know who your audience is when you are doing speaker selection.  Use personas and make sure there are a number of talks for every persona you create. Ideally, your selection committee represents these personas.
  • Some slots should be used to invite people that wouldn’t normally apply. This is people from outside the community who wouldn’t normally see your call for speakers.
  • I like seeing at least one “reach” topic that leaves many people scratching their heads, but inspired to maybe understand something new.

Some More Random Thoughts on Default Themes

https://daily.jorb.in/2015/08/27/some-random-thoughts-on-default-themes/

Last year, on default theme announcement day, I shared some thoughts on default themes. As a CertifiedWordPressThoughtLeader™, It’s time to update those thoughts:

  • TwentySeventeen looks amazing.  Really excited to see something completely new.  I think it will eventually look better with a bowtie on it.
  • I still wish there was an open call for ideas to brainstorm. Perhaps something for TwentyEighteen?
  • I really want to see a default theme that demonstrates wp-api. I also recognize that this will raise the barrier to entry for contributing.  It needs to be balanced.  Maybe by Twenty Eighteen everyone will have learned JavaScript Deeply so that it can be a reality?
  • What excites me most about TwentySeventeen is all the pieces that will likely not be a part of the theme, but will be changes that the theme drives in core.
  • If you haven’t been involved in creating a default theme, you should. It’s a lot of fun.  It’s also on GitHub right now, so if that is your flavor, use it.

Random Thoughts on… Teaching yourself to code

Self-education is something that separates good developers from great developers.  Great devs are always searching for new ways to do things, always trying to learn. You need to rely on YOU for your education.  However, teaching yourself isn’t always something that comes natural. Here are some of the things I’ve learned about learning that might help you.

“Drop out of school before your mind rots from exposure to our mediocre educational system. Forget about the Senior Prom and go to the library and educate yourself if you’ve got any guts. Some of you like Pep rallies and plastic robots who tell you what to read.”  – Frank Zappa

  • Reading code is in many ways more valuable than writing it. Read open source code every single day. If you are use a library, read it’s internals. Read the annotated first version of jQuery and then read the annotated version of 1.6.  Then read where it is going tomorrow.
  • Look at the commit messages to understand *why* changes happen. Some are funny, some are novels, but going from *what* to *why* helps you learn.
  • Read technical specs. If you work on the web, you should read and understand *how* the web works.
  • Submit a patch to a large and maintained open source project. There are two ways to get feedback from people that work on these big projects: Hire them, or contribute to an open source project they maintain. One of them is going to be a lot cheaper.
  • Open source half-baked ideas.  Yes, you need to be brave
  • Fail.  Fail a lot. Failure is a gift.

“I have not failed. I’ve just found 10,000 ways that won’t work.”
― Thomas A. Edison

  • Keep on failing.  I have failed more times than I have succeeded, but it just makes success that much more gratifying.
  • Attend meetups and conferences. Chat with people about code. Ask them what they think.
  • Teach.  Submit a talk to a conference where you aren’t 100% sure beforehand that you know the topic area.

“Those who know, do. Those that understand, teach.”
― Aristotle

  • Instead of finding someone to mentor you, find someone you can mentor.

“In learning you will teach, and in teaching you will learn.”
― Phil Collins

  • Once you have moved beyond the basics, experience is the best teacher.  Build something, even if you are going to throw it away.
  • Accept feedback liberally, process it critically. Let others tell you what they think you should do and how to do it, but only listen to it if you think it’s a good idea.
  • Be passionate, have opinions and share your opinions.  A former boss of mine told me that you can’t be a good engineer unless you are opinionated.
  • Make time to look backward and forwards. Hold retrospectives and analyze if you were correct or not.
  • Read things from unrelated fields and find parallels. I like to find lessons for building websites in science fiction and fantasy.

Random Thoughts on Finding Jobs

This is a companion to The Jorbin Test.  It’s also in some ways a continuation to some other notes on job hunting for WordPress develoeprs I’ve written before, but this is much more generalized.

  • Don’t wait till you hate your job and feel like it is affecting to mental health to start looking for a job.  You never know how long a search is going to take, so start having conversations and getting your name out early.  A conversation doesn’t mean you need to quit your job.
  • Along those lines, if you wake up enough days in a row not looking forward to what you are going to do that day, it’s time for a change. Put another way:

    for the past 33 years, I have looked in the mirror every morning and asked myself: “If today were the last day of my life, would I want to do what I am about to do today?” And whenever the answer has been “No” for too many days in a row, I know I need to change something. – Steve Jobs.

  • If you know someone at a company, don’t be afraid to ask them for tips, but don’t expect them to do the work for you. Lots of great places have a route they want applicants to go through and it rarely is the side door.
  • Go to events. Many meetups end with a call for whoever is hiring to stand up give a 30 second blurb about what you are hiring for. Companies that sponsor conferences are often there to recruit.
  • Find a confidant or two who you can chat with during the job hunting process. I have almost always had one confident that’s in technology and one that’s not to advise me.
  • Follow up on all emails and offers quickly.  You don’t want to burn bridges by ignoring people.
  • Know your skills and experience, but don’t let them hold you back.  A lot of times job descriptions will be written in a way that make you not feel qualified.  That might be your impostor syndrome talking.
  • Leverage your network. Let people know you are looking, but try to be specific about what you are looking for. Understand what you want
  • Try to have an idea of what you want most out of your next job. Both in terms of compensation, but also in terms of values and responsibilities.

 

Random Thoughts on Pressnomics

I spent the last few days in Tempe, Arizona at Pressnomics. This was an interesting event for me, as I don’t think I fit the mold of the attendees.  While I work on WordPress, and Happytables is built using WordPress, I’m not involved in the business of WordPress per say. None the less, I had some amazing conversations, met some great people, and got to know some others better. As I think back on the event, here are some random thoughts:

  • Alex King’s keynote was incredibly powerful. I was in tears. I’m glad Alex got to give a “Last Lecture” to the WordPress community.
  • Sally and Josh did a great job. Everything seemed well thought out and planned.
  • The themes that stood out to me over the course of the conference:
    • We need to think about people as people and take care of them. This especially includes ourselves.
    • On the underside of the iceberg, lots is going on.
    • The WordPress buisness ecosystem is growing, but it’s still not big.
  • I got positive reactions to my talk.  I should likely turn the rest into a blog post
  • The Jorbin Test seems to have had a mostly positive reception. I hope it helps other developers.
  • The quote of the conference was without a doubt “some of us crusty old broads code”.
  • I enjoyed making word art from quotes in speeches.  I have a few more to do, but here are the first four:

The featured image of Wapuu wearing a bowtie is by Michelle Schulp.

Random Thoughts on the WP REST API and WordPress Core

I like sharing my random thoughts on subjects related to WordPress.  Right now, there is a lot of discussion about how to merge the WordPress REST API into WordPress core.  Here (in particular order) are my thoughts on the subject:

  • Merging the rest infrastructure if 4.4 was a great decision. Adding the ability to create rest end-points easily helps plugin developers. Adoption, as with any developer feature takes time and this one seems to be going swimingly.
  • While completely replacing wp-admin is certainly a long-term goal, the idea that it needs to be the next step for the API destracts from real issues in the endpoints that are close to being “finished”.
  • Password-protected posts suck. The core WordPress implementation sucks. Did you know that passwords are singular for the site?  If you have two password protected posts with different passwords, you can’t see the content of both at the same time. If they have the same password, you get both even if you were only supposed to have one. That said, they are something many users use and something the API needs to support to be included in core.
  • Meta is one of the most powerful features of WordPress.  Anyone remember how excited developers where to get term meta? You should, it was two months ago. Meta needs to be included in the API and ideally all of it.
  • The Fields API would really help solve some of the meta issues, but I think that also has a long ways to go before it’s something that can seriously be looked at for core.
  • Due to the fact that every WordPress site’s API is going to look a little different, clients for the API are going to have to be a “smart”.  This means they are going to have to consider getting both more data than they expected and less.  This is very different from a lot of other API clients where the response is consistent.
  • The “Four Core Endpoints” will enable a lot of awesome things. Iterating on revisions design just started. Imagine iterating on them with a solid API in WordPress core for posts. Imagine a completely new post editing screen that is built from the API. REST-driven themes will become a lot more feasible. Developers have been forced to forced to write custom code for these four data types for way to long.
  • Let’s get the four core endpoints to a state that they are done. To do that, we need to have some serious discussions about them. That isn’t going to happen while we debate creating endpoints for everything under the sun.

Jeremy Felt wrote some good thoughts on the REST API as well.  I didn’t read it until I wrote the majority of mine since I didn’t want his thoughts to cloud my judgement. Daniel Bachhuber is trying to collect feedback. You should write your thoughts as well.