A WordPress Adventure

I like to think of working at Automattic as a Choose Your Own Adventure career. Over the past couple of years, I’ve worked on a wide range of projects, from VideoPress, to the WordPress iOS App, through to Jetpack Likes, Two Step Authentication and most recently o2, the upcoming successor to P2. If I (or any of my colleagues) feel it’s time to mix things up, it’s as simple as deciding to work on something different. So, it’s hardly a surprise that I’m moving to a new project, except this time we’re trying an experiment.

It’s no secret that WordPress.com is the largest WordPress install in the world – behind all the custom plugins and themes is a single copy of WordPress. WordPress is the core of all of our day-to-day work, and we contribute on a regular basis – over 40 Automatticians contributed to the latest WordPress 3.6 release alone! But, when your day-to-day work involves working on things other than the WordPress Core project, it can be hard to allocate time to do some core work.

This is where the experiment comes in: for the entire WordPress 3.7 development and release cycle, I’m dropping all of my usual work, instead working full time on WordPress Core.

So, what am I be working on? Well, you may recall during Matt’s State of the Word talk, he mentioned that we’d be introducing Automatic Updates for minor WordPress releases. In what is clearly a massive coincidence, over the past year I’ve been experimenting with WordPress Automatic Updates, under the guise of my Automatic Updater plugin. (In other words, Dion and I will be copy/pasting some code we’ve already written, then taking the next few months off. :-D) If we can’t get away with that, however, there’s always plenty of work to be done on WordPress Core. We currently have around 3200 open tickets to get through, so “pick a ticket and fix it” contributions are a good thing to do!

As for the experimental part, this is the first instance of what we’d like to become an ongoing thing – every WordPress release cycle, a few Automatticians can drop their usual work, instead devoting time to contributing back to the WordPress Core project. The wider WordPress community has been one of the many factors contributing to Automattic’s success, it’s only right that we return the love.

So, that’s about it. Time to get on with writing some WordPress core code.

Fitness Trackers: What I Want

There’s a whole lot of fitness trackers on the market these days, and they all seem to offer different functionality. So, here’s a summary of the things I’m after in a tracker, and who comes closest:

Pedometer

Pretty much everything has a pedometer these days, and they’re all pretty accurate. It’s a useful metric for keeping track of my base level of activity during the day. Of course, because I use a treaddesk, I’m also after something that measures walking while my arms aren’t necessarily moving, which most wrist-based trackers struggle with.

Sleep Tracker

I like to keep track of my sleep, and sleep quality. No-one functions on poor sleep, so it’s a good metric to watch.

Connectivity

The device should wirelessly sync to your computer or phone, for transferring your data. Bluetooth is ideal here, for compatibility with the maximum number of devices. If you don’t manage to sync for several days, the device should be capable of storing your data for syncing later.

Battery

Any tracking device is useless if it spends all of its life in a charging cradle. The battery should last at least 5 days, and it should recharge quickly. Bonus features would be a micro-USB connection (instead of a custom cradle), and a notification when the battery is getting low.

Style

Of course this is a personal thing, but if you’re going to be wearing a device 24×7, it needs to look good.

Data

Having a nice web interface or mobile app is a necessity for quickly seeing overviews of the data you’re tracking. Just as important, though, is the ability to export the raw data (either through an export function or an API), for more in-depth personal analysis.

Bonus: Bio-Data

While not strictly necessary for me, a device that sits on your wrist 24×7 should be able to monitor basic bio-information. Temperature, heart rate, perspiration, and blood-oxygen levels come to mind.

Bonus: Bio Alarm Clock

It’s kind of a buzzword name, but the concept is cool – along with the sleep tracker, the device can also monitor when you’re at the lightest stage of your sleep cycle (near your morning alarm) and decide to wake you a little earlier, so you feel more refreshed when you wake.

Fitbit One Fitbit Flex Nike Fuelband Jawbone Up Basis Amiigo
Pedometer
Treaddesk
Sleep Tracker
Connectivity Bluetooth Bluetooth Bluetooth Plug Bluetooth Bluetooth
Battery 5-7 days
Custom Cable
5-7 days
Custom Cable
1-4 days
Custom Cable
10 days
Custom Cable
4 days
Custom Cable
6 days
Custom Unit
Style Small clip on, fits in pocket Plain wrist band, black or slate Plain wrist band, solid black, translucent black or white Small wrist band, 8 colour options Large watch, with changeable bands Plain wrist band, black or white with various highlights
Data Web, Mobile, API, Export (premium) Mobile, API Mobile, API, Export Web, Mobile Mobile
Bonus: Bio-Data
Bonus: Bio Alarm

Conclusion

So, it’s fairly clear that no-one has properly solved the fitness tracker problem yet. The wrist band seems to be the more popular method, and Amiigo’s wristband + detachable clip shows interesting promise, though hasn’t been released yet.

What’s next, then? Battery life is settling at around a week or so, I’d expect the next generation to be all around there. Extra sensors are a must have, and Amiigo is paving the way for recognising more than just walking – they claim to be able to recognise all sorts of gym activities, too.

I’d really like to see devices switch over to micro-USB for charging. I don’t like cables at the best of times, so being able to reduce the number of cables I have lying around is always a plus. There have been watches released in the past that are capable of charging from the movement of your arms, which is also cute. If I’m going to be using the energy, it should at least go somewhere useful.

Finally, I think there’s much more interesting data analysis to be done – the companies behind these devices are collecting massive amounts of data on people’s exercise habits, I’m certain there useful patterns to be picked out, which can lead to more efficient methods of exercise to fit in with our increasingly sedentary and time-poor society.

I’m looking forward to the future of fitness tracking devices with great interest!

Why I won’t be going back to PAX Australia

First off, a disclaimer. I have been, and remain a massive Penny Arcade fan. I read the comic, I watch the series, and I thoroughly enjoyed what they did with Strip Search. This article is about why PAX, the Penny Arcade Expo, isn’t for me.

Like many folks, I was excited when PAX Australia was announced – I didn’t hesitate to buy a 3 day pass. I’d seen the schedule for previous PAX-es (PAX-en? PAX-ii?), and was happy to assume PAX Australia would be of similar calibre. The good news is, I was right to make that assumption. The PAX Australia schedule is great.

So, what’s the problem?

It certainly wasn’t the attendees. Everyone was there to have a good time, a bunch of people had put excellent work into their cosplay outfits, and for a crazy novelty, queues were polite and orderly. The Enforcers (event staff), though all volunteers, were doing a great job of helping everyone out. The expo part was a decent size, with a huge variety of exhibitors showing off cool things.

The problem was the size. PAX managed to be both way too big and way too small, all at the same time. I was following along with the #PAXAus Twitter stream while I was travelling on the train, and I should’ve realised something was up with these early tweets.

“Well, that’s just the early-bird queue”, I thought to myself. I was okay with missing the opening keynote, I figured I’d still get there in plenty of time to see the next session.

How wrong I was.

First off, there was the entrance queue – about 500m long when I joined, and a solid 30 minute meander through the Melbourne Showgrounds carpark, which several people wittier than I commented on:

“At least it’s more orderly than the mobs at Big Day Out”, I reasoned to myself. “There seems to be plenty of room to move when we get inside.” And there was plenty of room to move – between the queues for each session. I joined the queue for the first Q&A session about 60 minutes before it was due to start, deciding I’d given myself plenty of time.

(It was unfortunate that, either through the the PAX organisers not notifying them, or underestimates of how much extra capacity they’d need, the Optus mobile towers had died under the weight of 10,000 people looking to the internet to entertain them while they queued.)

30 minutes after the session started, I was still 100 people or so from the front of the queue when we were informed that the session was full, and this was now the queue for the next session – an hour and a half later. Now, I like the guys at Rooster Teeth, but I didn’t feel like queuing 90 minutes (plus the time to actually get inside) to see them, so I decided to see what was going on elsewhere.

By now it was about midday, and I went to check out the exhibition hall. As with all exhibitions, the crowds were thick and slow moving, so I took my time looking around at the various displays and wares. I noted a few booths with small crowds were demoing games with Oculus Rift headsets, I figured I’d be able to check them out later. At one end, there was a great game of Johan Sebastian Joust going on, which I enjoyed immensely.

The Indie Showcase had a bunch of cool games, and there were some great booths by some of the bigger companies, too. There was only one company I noticed pushing the “No Booth Babes” rule.

Having gotten a feel for the exhibition hall, the next session I was interested in was starting in about 45 minutes, so I went there to queue up. I needn’t have bothered, the queue was already twice as long as would fit in the room.

Mildly annoyed, I checked the schedule, the next session was over 90 minutes away – and here was where I made a fatal error – I thought that would be enough time for me to check out some of the other areas. Oh, how wrong I was. I went to join the queue about an hour before it started, and it was already significantly longer than would fit in the theatre. Having learned my lesson the last two times, skipping the session and grabbing some lunch sounded like the best option.

Yeah… not so much. It’s now 2pm, I’m hungry, and more than a little annoyed at my experience so far. I’m really excited about the Oculus Rift, so going to see a demo of it seemed like a good option. I found a booth with 4 demo units, that looked like the most capable of moving people through – until I joined that queue. After not moving for 10 minutes, I asked a couple of guys towards the front, “Hey, how long have you folks been waiting here?” one of them looked at his watch, “Oh, since about 12:30 or so.”

With the prospect of yet another 90 minute wait ahead of me, I decided to call it a day, and an expo. I’d been at PAX for a total of 4 hours, spent the vast majority of that in one queue or another, and really hadn’t seen anything I couldn’t catch on YouTube. It was an unfortunate waste of a 3 day pass to barely spend a morning there, but I’m okay with chalking that up to a learning experience.

So, how do we fix this?

In short, I don’t know. I’m not an event planner, I don’t know how to make these things run smoothly. But I go to music festivals where the food queues are less than 10 minutes, the bathroom queues don’t exist, and it’s possible to see everything you want to see, so I know it must be possible.

UPDATE: Some of the feedback I’ve received on this article is that it sounds like I’m totally down on PAX – nothing could be further from the truth. PAX, as imagined by the Penny Arcade crew, is the gaming convention I’ve always wanted, it’s just that the implementation left much to be desired. No two people experience the same PAX, some folks are there for the expo, others for the panels, others for the gaming (whether it be card games, board games, role playing, Warhammer, console or PC), and that’s part of the magic. For me, I go to conventions to hear people speak, and that just isn’t possible to do at PAX Australia.

Did you go to PAX Australia? How did you deal with the queues? What about other PAX-es, or similar expos and conferences?

Commercial Plugin Updates Done Right

Since I created the Automatic Updater plugin, one of the most frequent support requests I get is for commercial plugins and themes. Over the years, the various commercial development studios have created their own update systems, but none of them seem to play nicely with the WordPress core way of doing things.

The good news is, I’m here to help you fix that. I’ve created sample Server and Client plugins, for you to copy and integrate into your own code. If you’re just starting a commercial plugin, you can base your update system on it.

It all runs through the core update systems, so it works with the normal Update process, it works with Automatic Updater, and it’ll continue to work when automatic updates come to core, for example.

Now, go check out the Gist!

Why I Tread-Desk

Dr James Levine is widely considered to be one the world’s leading experts on obesity – he was recently named co-director of an initiative sponsored by the Mayo Clinic and Arizona State University, investigating new ways to tackle obesity. For well over 10 years, he’s been researching a concept called NEAT – Non-exercise activity thermogenesis, which is the energy we use doing everything that isn’t sleeping, eating or sports-like exercise. Obviously, this is a wide range of possible tasks, and that’s kind of the point. Dr Levine’s theory is that a large portion of the energy we use is in micro-movements, twiddling your fingers, twitching your leg, or shuffling from foot to foot. He’s found that the difference between someone who easily loses weight and someone who struggles can be as simple as the amount of movements they make during the day.

So, what does this have to do with tread-desking? Through Dr Levine’s experiments, he’s found that sitting for long periods of time actually puts your muscles into a sleep state where you only burn about 1 calorie per minute, about a third of what they your muscles would burn with light activity. Not only that, this behaviour can’t be prevented by going to the gym a few times a week, your muscles will naturally try to conserve energy when they’re not being used. For me, given I can spend upwards of 12 hours a day in front of the computer, the difference between sitting and moving adds up to a significant amount of energy. By strolling at a casual pace periodically during the day, I help to keep my muscles awake and my body in good condition.

Of course, Dr Levine isn’t the only person studying the effects of sitting in our modern life. A recent study published in the Journal of the American College of Cardiology looked at the television watching habits of about 9000 Australians. Once allowing for variables (height, weight, age, gender, fitness, etc) the study concluded that for every extra hour of television watched per day, the person’s risk of death increased by 11% above the standard mortality rate.

The health benefits of avoiding sitting aren’t the only reason that I tread-desk, though. I find it helps me think through problems easier, I’m less likely to distract myself, and the day even seems to go by faster. You know that drowsiness that always comes mid-afternoon? You’ve had some lunch, you sit down at your desk, and you feel like having a snooze. I haven’t had it once since taking up tread-desking.

So there you have it. Improved health, productivity and sanity, just by keeping my body moving during the day. I’m certainly not going to claim it as a magical cure all, but I find my quality of life improved significantly through tread-desking.

WordCamp Melbourne 2013: WordPress Performance Tuning

At the recent WordCamp Melbourne, I spoke about WordPress Performance Tuning, the mindset you need to take, and what kind of problems you need to watch out for. The video just landed on WordPress.tv, so here it is for you to enjoy!

Modifying a Treadmill for Tread Desking

To follow up my previous post about my new Tread Desk Setup, here’s how you modify a treadmill to be used as a Tread Desk. This post was originally written by John Ford on an internal Automattic blog, he’s kindly given permission for me to reproduce it here. (PS: Check out John’s awesome current project, Farmstand!)

After lots of searching online for treadmill desks and being overwhelmed by the high prices or the horrible quality I used this post as inspiration. In the post she uses an IKEA Fredrik computer work station (small for $119 or large for $149) and a Confidence Power Plus Motorized Electric Treadmill ($249.99 + Free Shipping).

Instead of buying everything, I started with just the treadmill since I figured $250 was an okay investment to see if I liked it. I wish I had taken more pictures during the disassembly but here’s what I did to rig it up. All I really needed were a couple of different sized screw drivers. Here are the steps:

1. Unpack from box (you may have managed this step on your own).

2. Disconnect the wire that runs from the control panel to the motor. It’s best to remove the motor cover and disconnect it there. I tried to disconnect the wire from inside the control panel but it was glued too tight. (Gary: I found the opposite was true, be prepared to try both methods.) You can see in this picture where the wire runs out of the frame and into the motor case.

Motor guts
The inside is pretty simple. It’s mostly a motor, circuit board, heat sink, and wires.

3. Remove the control panel from the frame. There are a few screws and it comes off easily. After you’ve removed it from the frame, screw the plastic piece back onto the control panel. It makes it stand up perfectly on your desk.

Back of the control panel
That’s the wire that runs from the control panel to the motor area. The back of the control panel makes a perfect stand.
Control panel
Red button is start/stop. Plus and minus for speed. Mode button to switch between distance, speed, time, etc. Red magnetic emergency cut off. It had a string and clip attached but I removed them.

4. You may be able to pull the wire through the frame at this point. I had some trouble so I had to remove the top part of the frame by rolling up the rubbery foam and remove the screws. Then, I could pull the wire attached to the control panel all the way out. I then completely removed the top part of the frame and put it in the closet.

Control panel bar
This is the top part of the frame. Normally the control panel would be attached in the middle.
Bar
It’s super light and easy to stand up. This is a view of the treadmill standing up and where the removed part of the frame would normally attach.

5. You could remove all of the metal frame which the inspiration post did. However, I decided to leave half of it attached. The bottom is just a plastic cover and I figured over time it would crack with the pounding. Leaving part of the frame puts the weight onto some large bolts. One note, I would recommend many people get a mat to go under the treadmill. If you step heavily the frame on the side may touch the floor. If you walk on your mid-foot and not crash onto your heel you’ll probably be fine.

Treadmill desk setup
The happy setup.

Some notes from my experience:

  • I absolutely love having a treadmill desk and recommend it to everyone. It’s been even more pleasant than I had hoped.
  • I definitely feel more alert when walking. I can especially tell during that time of day after lunch when you’re ready for a nap.
  • It takes way less space than I thought. This particular treadmill is perfect for this kind of setup.
  • I haven’t purchased the desk since I wanted to see if I liked it first. I just used an old monitor box and the Stanton Uberstand laptop stand that I use with my turntables to raise the laptop to the right height. I don’t recommend it as a permanant solution since the stand moves around a bit when you’re typing a lot. It’s really just meant to hold the laptop up and have you hit keys every so often.
  • Ultimately, an adjustable height desk would be better so you can look directly at an external monitor and the keyboard/mouse can rest at the proper arm height.
  • I started at 1.4 mph but now go 2.0 mph.
  • It was really easy to adjust to moving and typing at that speed.
  • At 2.0 mph I hit about 10,000 steps after 2 hours according to my Fitbit.
  • It definitely makes me thirsty so I drink more water when walking on the treadmill.
  • It automatically cuts off after 30 minutes. Maybe as a safety thing or maybe for the motor to cool down. At first that annoyed me but now I use it as a reminder to take a break, look away from the screen, and get some water. Hitting the start button kicks it right back on again.
  • I almost fell on my face the first handful of times the treadmill stopped. At 1.4 mph it stops right away. At 2.0 mph it slows slightly before stopping. There is a beeping noise when it stops so now my body automatically stops when I hear the beep.
  • Speaking of beep. It’s so horrifically loud that I put a piece of tape over the internal speaker when I had the control panel open. I need to add additional tape or paper to mask it even more. You just take out the screws from the back of the control panel to pull it apart and get to the speaker.
  • The treadmill goes up to 10 mph so you could run really fast but I don’t recommend it. One false step and you’re off the side of the treadmill and upside-down. It’s nice for walking but not wide enough for fast running.
  • I keep my chair nearby and can easily sit at any time.
  • I probably have gone at most 3-4 hours in a day and alternate between walking, standing, and sitting depending on my mood.
  • The most strange thing I’ve found is that for certain tasks I really want to sit down and think them through. As if the motion is too distracting. After I get over that hump I start walking again. I’ve not been able to pinpoint the exact scenario that causes this.
  • I like to walk backwards when I’m thinking.
  • Trying to operate an iPhone while walking can be problematic. When responding to a text message it often activates the Edit button in the top right or presses other areas of the screen. It’s happened numerous times now so I know I’m not crazy (at least not in this case). I’m guessing it has to do with the static electricity build up. I have to ground myself by holding the laptop and then I can type normally.
  • I was dog sitting and got the dog on the treadmill. He was a bit reluctant at first but he needed to work off some energy. I gently coerced him by holding his leash. He got the hang of it after a while. Cesar approves.
  • People may make fun of you as you bob back and forth on video chats.

This post published at 2.0 mph (Gary: 2.1 km/h).

Tread Desking: The Next Generation

Some time ago, I was inspired by friend of the blog John Ford to try out tread desking. I’d long enjoyed switching between sitting and standing as the mood took me, so I figured it’d be interesting to throw walking into the mix.

As it turned out, I was an immediate fan! Strolling at a leisurely 2km/h, I could comfortably walk for much of the day, without affecting my ability to work. There was a flaw with my setup, though – in order to fit in with my existing desk, I had to shuffle around my treadmill and my chair every time I changed positions, which quickly became a chore, as you could imagine.

Enter: The GeekDesk. I’d been considering an adjustable desk as a solution to the problem, and after seeing some positive reviews I took the plunge. Due to the excessive shipping cost, they don’t ship the desk top outside of the US, so I had one made by a local woodworker.

Unfortunately, this doesn’t come cheaply. At $250 for the treadmill (modified to remove the bar), $1000 for the GeekDesk (inc. shipping to Australia) and $400 for the desk top, it’s certainly possible to do things cheaper, especially if you already have a full-sized treadmill that you can create a cheap desk to sit on top of. That said, I think of the price as a worthy investment, given how much time I spend in front of the computer – you don’t buy a cheap bed, why would you have a cheap workspace?

It’s the workspace I’ve been after for a long time, so I’m happy!

My Tread Desk

Introducing: Automatic Updater for WordPress

Are you sick of having to wait several seconds for your WordPress site to update? Tired of your plugins not being updated as soon as an update is available? Well, do I have the solution for you! Automatic Updater for WordPress is a light-weight plugin that downloads and installs updates as soon as they become available – keeping your WordPress site up-to-date, secure, and minty fresh!

With the hyperbole out of the way, I do have a few things to note:

  • This plugin really does update your site, without your supervision, at any time, day or night. This is awesome for WordPress Core, but may suck if a bad version of a plugin is released – at the very least, the plugin may be disabled, at worst, your site may be taken offline. Exercise appropriate caution.
  • No backups are taken. You really should be using a good backup system, whether it be one of the multitude of backup plugins, or a backup service like VaultPress.
  • If your site breaks because of this, I’m really sorry. I’d appreciate it if you took your anger and channelled it into writing up a thorough bug report, instead of plotting my demise.

Thanks, and have fun!