JJJ's Blog

  • WordPress
  • GitHub
  • Twitter/X
  • IndieGogo Campaign – Week 2

    11 days ago, I talked a bit about the rapid (and unbelievably generous) influx of donations that happened in the first two days. Since then, donations have continued to come in at a steady pace of a few hundred dollars per day, which is still hugely impressive considering this is a community-powered endeavor.

    A few people have very politely asked if I’m at all worried about not achieving the $50k goal, and my response to them is a two-parter:

    First, it would be a shame to come all this way and miss the mark by such a small percentage. With IndieGogo’s “Flexible Funding” option, being underfunded costs us an additional 5% (around $2k) which is a not-insignificant difference.

    Second, we’ve already achieved so much together, it’s impossible to be disappointed. We’ve proved that years of volunteering to open-source software are valuable, and we’ve attached a real-world number to what that value might look like.

    In an industry so heavily weighted on the shoulders of volunteers, this campaign serves as a public example of an opt-in, peer-powered, donation-based compensation package – the first of its kind that I know of, and hopefully not the last.

    The 174 funders of this campaign are not only investing in the future of BuddyPress, bbPress, and GlotPress; they’re empowering me to do the best work of my life, and providing a landmark achievement to prove others can and should attempt to do the same.

    For the data-conscious among us, I’m including some screenshots from the IndieGogo campaign dashboard below. The interface is fairly comprehensive, and provides interesting perspectives that aren’t generally made available to non-campaigners.

    JJJ

    November 24, 2014
    Crowd Funding
  • Monument Valley Gallery

    JJJ

    November 17, 2014
    Software
  • Distributed

    In 2010 I took a job with the fine folks at Automattic. Having been contributing to WordPress, BuddyPress, and bbPress since 2007, working with the biggest company in the WordPress ecosystem seemed like the next logical step in my career. If you somehow haven’t heard of them, they’re a great company with open-source in it’s heart and transparency in it’s soul; there’s so much publicly available about Automattic that I’m comfortable bypassing the details completely.

    In short, it’s an absolutely amazing company to work for, and if you’re still reading this, you should probably think about applying.

    Fast forward to 2013. After a few lengthy conversations with the most influential people in my life at the time about career goals, experiences, and my personal bucket-list, I came to the conclusion it was time to move on from the job I once thought I didn’t deserve to the job I needed to have, to keep growing, to keep learning… somewhere I would be able to make a larger impact on a smaller group.

    Welcome to 10up.

    10up is a company you likely know less about juxtaposed to Automattic, but that doesn’t make them any less impressive. 10up and Automattic both rely heavily on the success of WordPress to create and craft wonderful online publishing experiences, sometimes even in a collaborative way where 10up clients are hosted on WordPress.com’s VIP network, where I did code review and deployments for almost 18 months. One of my favorite parts of working at 10up was, selfishly, getting to interact with my favorite old colleagues at Automattic from the other side of the fence. I (somewhat discretely) left 10up in July, but don’t let that discourage you from applying. They’re hugely into giving back to the WordPress project, and they have some of the coolest clients you could ever hope to have. Again; if you’re still reading, you are likely a good candidate to be a future 10upper.

    10up, much like Automattic, is a distributed organization of talented individuals located all around the world, choosing to meet in the midst of the internet chaos to create amazing things together. (Their distributed work environments are so similar, I didn’t even need to change payroll providers when I made the change.) There are hundreds of employees now, all working from home offices, coffee houses, planes, trains, automobiles… anywhere internet access allows. I’m curious who will be the first to push code from space, or a submarine, or some kind of dirigible. The sky isn’t even the limit anymore when you work in a distributed environment; the limit is you.

    For all of the clearly amazing perks, make no mistake, this style and environment is not for everyone. There is an enormous learning curve, and working alone for years at a time, collaborating with people you rarely (if ever) see in the physical universe around you, undoubtedly comes with associated costs that are not made obvious until you’re already (feeling) committed to the cause.

    When I started at Automattic I already knew what it meant to communicate effectively online; I’ve been doing it since around 1994 through AOL chat rooms, IRC channels, and SourceForge. Still, I didn’t truly appreciate what 100+ people across 100+ internally networked sites (used for managing projects and initiatives) would look like. The fury of activity, the fomo, the persistent connection & constant availability; it’s a lifestyle change not just for you and your career, but your family, friends, pets, etc…

    You start carrying your laptop with you to dinner, because if something under your umbrella gets wet, you’re responsible for wiping up the mess. You meticulously configure notifications on your several devices to only alert you to the things you can directly impact and control. You stay up later, wake up later, pull a few all nighters; it’s exhilarating and rewarding and incredibly easy to slide into and painfully difficult to come out of. Maybe you get paired up with someone with different work habits than you, or are asked to work on a project you’re not passionate about. It’s not all WordPress all the time; it’s a job, where someone is paying you to do whatever needs doing, even if it’s not what you signed up for originally.

    Yes… you’re changing the world, usually for the better. You go Spiderman on the world at the expense of going Peter Parker on your life. You sacrifice things (or relationships) you love for a perceivably greater good. This isn’t unique to a distributed work environment, but I think it is easier to identify someone starting to lose it when they show up to the office wearing a latex suit flinging imaginary spider-webs at the ceiling VS reading between written updates because you haven’t physically seen them in 6 months.

    I guess what I’m saying is, when you work without seeing your colleagues on the regular, it’s incredibly easy for extremely unhealthy habits to go completely unnoticed (or be unintentionally encouraged) for extended periods of time. In a physical office, you pick up on body language, subtle cues, inflection, cadence, and you can smell when someone had a rough night at the pub and maybe shouldn’t be pushing code to 60 million sites. When that closeness doesn’t exist, you learn to be hypersensitive to written tone changes, fluctuations in the frequency of communicating, and increases or decreases in all areas of output, otherwise you’ll never notice someone’s physical or mental health decline. I know this isn’t unique to distributed working environments (it kinda sounds like college) but it is much easier to fly under the radar for longer periods of time before anyone notices.

    At the risk of derailing myself, I think working from home for extended periods of time and not going at least a little crazy makes you evolutionarily superior. I’m convinced our primitive minds aren’t quite wired correctly (yet) to work from isolated pods for 8 hours a day, sometimes 7 days per week, for the rest of our lives, even if we get to decide when and where and how to do it. Maybe we’ll find that balance someday, and the future of work may be a division of physical and virtual labor, but this transitional period we’re in right now (where the first of us are figuring it out) sometimes feels like a dark and lonely place.

    Succeeding within a distributed workforce requires a very specific set of interpersonal skills (Luca talks more about them here.) You need to be empathetic and supportive, but can’t be sensitive to criticism. You need to be confident, but not arrogant, because that bleeds through the virtual folds quite profusely. Communication is, perhaps ironically, more important than output (technically, it IS output) because no one knows what you’re doing unless you tell them you’re doing it. Communicate early, clearly, constantly, and follow-up on your follow-ups. You need to find a pattern in the chaos, and either lead people through it or risk being absorbed by it.

    To be honest, even after 2 decades of online collaboration and leadership, I’m not sure how particularly great I am at it compared to the people I’ve seen actually be great, but that hasn’t stopped me yet from experimenting and learning and growing. I do stay in touch with a fair few of my Automattic and 10up family members, but companies, even distributed ones, are purposely inclusive, so I also try not to encroach.

    Speaking of companies, Flox is nearly shippable, and I’m putting energy on the side into an agency focusing on creating great community sites with BuddyPress & bbPress. If you have any leads, I will greatly appreciate you and them.

    I’m leaving comments open for Q&A about working in distributed environments like Automattic’s & 10up’s. Please feel comfortable asking anything you’d like, and I promise I’ll answer to the best of my ability. If you work at Automattic or 10up, and have anything else to add, please feel free. <3

    JJJ

    October 20, 2014
    10up, Automattic, Flox, Life, Opinion
  • Mr. Paul is 5 today!

    Mr. Paul is 5 today!

    IMG_4401-1.JPG

    JJJ

    October 12, 2014
    Family
    Paul
  • Apps are whiting themselves

    IMG_4319.PNG

    JJJ

    September 17, 2014
    Uncategorized
  • Sleepy Paul

    IMG_4273-0.JPG

    JJJ

    August 17, 2014
    Family
  • OS X Yosemite Sam

    I’ll probably regret making this, but here we go…

    osx-yosemite-sam

    Yosemite Sam from: http://wallpapers-junction.com/Cartoons/Yosemite-Sam-Cartoon-Wallpapers.html

    Yosemite from: http://en.wikipedia.org/wiki/Tunnel_View

    JJJ

    June 2, 2014
    Software
    Apple
  • Buffalo-Wing Brats

    From Glenn’s in Watertown, WI

    20140531-171641-62201507.jpg

    JJJ

    May 31, 2014
    Uncategorized
  • Puppy Snuggles

    20140529-070956-25796783.jpg

    Props to my wife Keri for this surprise photo.

    JJJ

    May 29, 2014
    Family
  • Responsive Design is a Hack

    Responsive design has become a quick-and-dirty way to say “Hey! We looked at this on not-just-a-PC!” Our users deserve so much better — something that intentionally works with the ever-increasing array of input methods. Keyboards, cursors, touch, voice, & motion; the digital world has never been simultaneously as accessible and as overtly complicated as it is today.

    Netflix does a pretty good job at wrangling the chaos, designing experiences around the input method, reducing touches and navigational elements on more simple devices and taking advantage of all available screen real-estate to maximize an interfaces usefulness.

    Maybe we’ll call it “Input Aware” or “Device Aware” design — I guess I don’t really care about the name as much as distinguishing the approach from the myriad of responsive hacks and shims floating aimlessly around our collective github toolboxes.

    I was recently reminded of the spectrum of media-types available to the CSS2.1 media spec, which largely got me thinking about how bad we are at utilizing them:

    • all — Suitable for all devices.
    • braille — Intended for braille tactile feedback devices.
    • embossed — Intended for paged braille printers.
    • handheld — Intended for handheld devices (typically small screen, limited bandwidth).
    • print — Intended for paged material and for documents viewed on screen in print preview mode. Please consult the section on paged media for information about formatting issues that are specific to paged media.
    • projection — Intended for projected presentations, for example projectors. Please consult the section on paged media for information about formatting issues that are specific to paged media.
    • screen — Intended primarily for color computer screens.
    • speech — Intended for speech synthesizers. Note: CSS2 had a similar media type called ‘aural’ for this purpose. See the appendix on aural style sheets for details.
    • tty — Intended for media using a fixed-pitch character grid (such as teletypes, terminals, or portable devices with limited display capabilities). Authors should not use pixel units with the “tty” media type.
    • tv — Intended for television-type devices (low resolution, color, limited-scrollability screens, sound available).

    CSS2.1 even comes with a handy media-groups spec to pair media-types to devices based on their anticipated attributes:

    Media Types Media Groups
    continuous/paged visual/audio/speech/tactile grid/bitmap interactive/static
    braille continuous tactile grid both
    embossed paged tactile grid static
    handheld both visual, audio, speech both both
    print paged visual bitmap static
    projection paged visual bitmap interactive
    screen continuous visual, audio bitmap both
    speech continuous speech N/A both
    tty continuous visual grid both
    tv both visual, audio bitmap both

    Typical responsive design approaches target the screen type (and maybe print) which is accidentally celebrating doing-responsive-design-wrong. To correctly respond to different devices, we need to target more than max-width and min-width in the screen media-type, and let browsers and rendering engines on our televisions and refrigerators do their jobs.

    Unfortunately for me, the software libraries I live most of my life in right now (WordPress, BuddyPress, and bbPress) are all pretty bad at this. The WordPress iOS app is a crippled version of WordPress’s relatively fantastic interface; WordPress itself barely functions on small screens and touch devices; BuddyPress & bbPress do the bare minimum to inherit surrounding styling, but don’t own the experience or set a great example in this regard as much as they might in others.

    The greater tech community needs to target more input devices, intentionally design better experiences, and stop patting ourselves on our backs for doing the bare minimum of design.

    Sure… it’s an iterative process, and yes… we’re all working hard and putting in the long hours together to improve the digital world around us, but it’s a great time to lift up our heads, unsquint our eyes, and design for the world around us instead of for ourselves.

    JJJ

    May 27, 2014
    CSS, Rants
    design, media types, Responsive
Previous Page
1 … 14 15 16 17 18 … 55
Next Page

Proudly Powered by WordPress