Sunday, September 18, 2016

Recommended Books and Educational Resources from The 2016 Business of Software Conference

Update: 20 Sept, 2016: added Predictable Revenue and Selling with Noble Purpose.

I'd rather read a cereal box than most business books. They either put me to sleep faster than an antihistamine overdose, or retell the same wilted business ideas. Who has time for that?

Now I only read books recommended by people I admire. People like those at the Business of Software Conference. They consume an elephant's weight in books every year, so they make a great filter for recommendations.

Every year, I ask the folks at the conference what books they've read in the last year that really made an impression on them. Most of these suggestions come from attendees, but a few were mentioned in the talks too. If one of the books below catches your eye, it will almost certainly be worth your time.

Oversubscribed: How to Get People Lining Up to Do Business with You by Daniel Priestley.

Thinking, Fast and Slow, by Daniel Kahneman.

Predictably Irrational, The Hidden Forces that Shape Our Decisions, by Dan Ariely.

Gut Feelings: The Intelligence of the Unconscious, by Gerd Gigerenzer.

Everybody Writes: Your Go-To Guide to Creating Ridiculously Good Content, by Ann Handley.

Made to Stick: Why Some Ideas Survive and Others Die, by Chip Heath.

Blue Ocean Strategy, Expanded Edition: How to Create Uncontested Market Space and Make the Competition Irrelevant, by W. Chan Kim.

Shoe Dog: A Memoir by the Creator of Nike, by Phil Knight.

Tribe: On Homecoming and Belonging, by Sebastian Junger

The Chimp Paradox: The Mind Management Program to Help You Achieve Success, Confidence, and Happiness, by Dr. Steve Peters.

The Innovator's Dilemma: The Revolutionary Book That Will Change the Way You Do Business, by Clayton M. Christensen.

Consumption Economics: The New Rules of Tech, by J.B. Wood.

Crossing the Chasm, 3rd Edition: Marketing and Selling Disruptive Products to Mainstream Customers, by Geoffrey A. Moore.

The Advantage: Why Organizational Health Trumps Everything Else In Business, by Patrick M. Lencioni.

Badass: Making Users Awesome, by Kathy Sierra. If you want to improve anything, you probably need to read this book. Or watch Kathy's Business of Software talks. Not only does Badass tell you how to get your customers great results, it teaches you how learn skills. 

Predictable Revenue: Turn Your Business Into a Sales Machine with the $100 Million Best Practices of, by Aaron Ross and Marylou Tyler.

Selling with Noble Purpose: How to Drive Revenue and Do Work That Makes You Proud, by Lisa Earle McLeod.

*Moving Average Inc. is a participant in the Amazon Services LLC Associates Program, an affiliate advertising program designed to provide a means for sites to earn advertising fees by advertising and linking to Buying items through this link helps sustain my outrageous reading habit and is much appreciated!

Tuesday, September 6, 2016

Revisiting the Lightest Camera Bag

Are you tired of hauling around a camera bag that weighs more than your camera does? Did you spend a lot on lenses, but avoid carrying them because of a sore and sweaty back?

You're not alone. I enjoy photography, but I hate feeling like a pack animal. I also felt dumb traveling with a camera luggage advertisement on my back. Expensive camera inside! That's the last thing I want strangers to think as I explore Barcelona.

I started testing different bags more than four years ago. Camera equipment has changed a lot since then, but the core of my solution remains the same: a light, unpadded bag and separate padding for the camera and lenses. The unpadded bag I use and recommend is the Patagonia Lightweight Travel Courier Bag. My courier bag has traveled the world. Taipei, Boston, Barcelona, Cologne, Amsterdam. It''s still in great shape, and still my favorite container for camera gear.

Over the past few years, the design of the bag has changed, but it still weights very little: only 8.2 oz. There are different colors available, and it appears the there are now two smaller zippered compartments on the front rather than one. Also, the zipper pulls appear to be attached by knots rather than a bit of plastic.

The bag's strap adjusts length with a nylon toggle, and the excess strap feeds into the bag so nothing dangles. The strap is made of a mesh that offers a little padding and allows your shoulder to breath. Breathability matters in the Texas summer. On each end of the bag there are elastic pockets useful for water bottles, sunglasses, or a compact umbrella. The exterior zipper pockets are great for carrying spare camera batteries or memory cards.

The travel courier easily repels a light rain,. A surprise deluge in Venice taught me that a heavy downpour will get through the zippers and seams of the bag. Fortunately my guidebook soaked up most of the rain, sparing my electronics. The new bag claims to be weather-resistant, but I'd still carry an umbrella or plastic bag to protect anything sensitive.

The bag has enough space to squeeze in my camera, two lenses, a jacket, and a pouch containing extra batteries, a Lens Pen, charging cables, and spare memory cards.When I carry a jacket, I put my camera and lenses on top to enjoy a little extra padding. A benefit of a bag without built-in padding is that it actually takes up less space when you carry less gear.

The bag is designed in such way that the main compartment is unlikely to spill while being worn over the shoulder. I often use the interior of the bag to hold my lenses as I change them to reduce the chances of dropping anything on the ground.

If you don't have a pouch for your camera accessories, I highly recommend the Tom Bihn clear organizer pouches.  They're well made and make it easy to find your gizmos without spilling them on the floor. I put all my camera essentials into a medium pouch so I can easily transfer my phone charger, cables, camera batteries, and SD Card Wallet between bags without forgetting anything.

Over the past year, I've sold both of my Canon cameras and most of my Canon lenses. dSLRs are great for weddings and sports events, but the size and weight make travel photography miserable. Recent mirrorless cameras now match or exceed the quality of typical dSLRs, with a fraction of the weight and bulk.

Today I carry a Sony Alpha a7II Mirrorless Digital Camera body with the Sony Zeiss 55mm f1.8 lens attached. You can read more about this camera and lens combination in my review here. Depending on my plans, I sometimes carry a second lens in the bag - usually the Sony 28-70 lens.

The decision to go mirrorless shrank my equipment weight and bulk. I have plenty of room in the courier bag to add a lens pen,  pocket umbrella, cheap sunglasses, spare batteries,  USB backup batteries, and sometimes a jacket or coat.

My padding has changed with my camera choice. I no longer use the Domke wraps to pad the camera. Now I protect the camera with the LensCoat LCBBLBK BodyBag with Lens (Black). It's a neoprene shell shaped roughly like a camera with lens attached.
LensCoat BodyBag with Lens
The BodyBag has a flap that comes over the top and back of the camera that secures with velcro. Your camera straps poke out of the sides of the shell, so you can still carry the camera over your shoulder. I frequently wear the camera in the BodyBag over my shoulder when it's not in the courier bag. It offers protection from bumps in crowded places and a little shelter from dust and rain.
LensCoat BodyBag with Lens open to reveal a Sony Alpha a7II
Inside the BodyBag, there is a small loop of material that opens with a snap -- a leash to attach the BodyBag to your camera strap. You can see it peeking out of the middle of the BodyBag in the photo above. When you want to used the camera, you just open the velcro, peel off the BodyBag, and let it dangle from the strap. If you prefer, remove the BodyBag completely and stuff it into your pocket.

Inside the "snout" of the BodyBag, the part that sits in front of your lens, the LensCoat folks thoughtfully built a small pocket containing a disc of rigid foam. The foam gives another layer of protection to one of the most vulnerable parts of your camera: the front lens element.

I hate missing shots, so I store my camera setup in the BodyBag with the lens cap off. Who wants to suffer the embarrassment of trying to take photos with the lens cap on?

I store the lens cap in the same pocket BodyBag pocket that contains that disc of foam. That way I'll won't have misplaced my lens cap when it comes time to swap lenses. Please use common sense if you copy this technique. I always have a lens hood installed on my lens,  creating some extra space between that pocket and the front element of my lens. I wouldn't recommend storing anything hard like a lens cap where the glass of your lens might rub against it.

This setup with the BodyBag just fits my Sony Alpha A7 II with the Sony Zeiss 55mm f1.8 lens. It fits snugly with the lens hood installed in the extended position. It looks like a tailored fit, which I love since this is my favorite lens on my favorite camera. LensCoat offers different sizes of the BodyBag; I suggest comparing your camera measurements to the measurements of the BodyBags. The BodyBags have a small amount of stretch.

To carry a second lens, I've adapted an different LensCoat BodyBag. This one was designed for holding a dSLR body without a lens attached. My 28-70mm lens fits in it fine, but a properly-sized LensCoat lens pouch is probably a better bet if you're buying something new. The lens-specific models feature a disc of hard foam to protect the front glass of your lens. They offer a variety of different size neoprene Lens Pouches.
Patagonia Lightweight Travel Courier Bag with my LensCoat BodyBag with Lens on top
For walking around town, I feel like the BodyBag plus the Travel Courier offers a perfect compromise between convenience and protection. It doesn't provide a half-inch-thick foam sarcophagus around my camera, but it also doesn't weigh ten pounds.

When I travel by air, I empty the courier bag and put it with my clothes (the courier stuffs into it's own interior pocket). The camera and lenses I leave in their LensCoat bags and jam into my well-padded Think Tank Photo Urban Disguise 60 v2 bag. The LensCoat padding works fine for a long hike, but not for getting thrown around by TSA officers, squeezing under airplane seats, and getting rammed by rolling suitcases. That's where you want an expensive foam sarcophagus like my Think Tank.

Once I'm at my destination, I move my camera equipment back to my lightweight courier for exploring.

This camera bag setup has changed my life. I take so many more photos now.


*Moving Average Inc. is a participant in the Amazon Services LLC Associates Program, an affiliate advertising program designed to provide a means for sites to earn advertising fees by advertising and linking to We also participate in Patagonia's affiliate program. Buying items through this link helps sustain this blog and is much appreciated!

Sunday, September 4, 2016

iOS 10 Development for Executives: Notifications

Imagine those big, old fashioned movie theater marquees. The kind with those plastic letters that you snap in to spell the name of a film? Today in iOS 9, notifications are like that. Fixed, boring text. It’s like apps are sending you text messages. Some overachieving apps have actions you can tap. Most are just words inviting you in to the app.
iOS 10 Push Notification Banner
In iOS 10, notifications work more like a modern theater kiosk. The contents are now updatable, can include media, and can be expanded into a customizable view that acts like a simplified version of an app. 

iOS 10 has many new notification features, fight churn, improve customer on-boarding, and increase your app’s utility. Expanded notification user interfaces will increase user engagement by allowing you to build a more useful and visually exciting notification experience

Images, Video, and Audio

You can now attach images and video to your local or remote notifications. Careful use of video, audio, or animation will let you communicate more clearly with your users and create more engagement.

Stores and marketplace apps will be able to show physical goods in notifications. Media apps like Netflix are an obvious use case too: they can preview content. Productivity apps can push down brief tutorials to help new users get started. You can also use media to convey urgency in business-critical apps. 

Note that since the attachments are represented as URLs to files already downloaded, you will need to develop a UNNotificationServiceExtension to download and attach the necessary media files to support this. There are limits on the maximum file sizes and formats.

Carefully design your notifications. If your notifications seem more obnoxious that useful, your customers may deny your app’s notification privileges or wipe your app. You may wish to offer a “mute” button in your notification’s actions so that users turn down the volume of notifications rather than adding to your churn statistics.

Done right, media-rich notifications can be a great way to reduce churn, on-board your new customers, and increase engagement.

Custom Notification UI

You can now design a custom expanded view for your notifications. Your push notifications initially appear as they did in iOS 9: banners that appear at the top of the screen when the user is using the device, or a stack of batters on the lock screen. If your app offers an expanded view for a particular category of notifications, the user will be able to pull down, 3-d touch, or select the view action of the banner to show your custom view. This is called a UNNotificationContentExtension.

You create a this user interface using a subset of the the same UI frameworks your app already uses. This lets you visually represent much more nuanced data. Instead of some text and a photo thumbnail, you could show part of a map, the remaining steps in a checklist, shopping cart contents, or even a snippet of video from a security camera. Developers can even use the standard UIView animation blocks to create slick animations.

The screenshot you see above show a “quote of the day” notification from my app Passages on the home screen. The little bar at the bottom of the banner indicates that the user can swipe down to reveal the expanded view, which you see below. The expanded view allows the user to read the full quote and author name using the same fonts used in the app.
iOS 10 Notification Custom Expanded View (UNNotificationContentExtension)
iOS 10 limits user interaction to a list of buttons and text input, the same actions that you could attach to notifications in iOS 9. The custom part of your expanded view doesn’t respond to touch except by launching your app. You can’t enable sophisticated interactions like panning maps, but the extension can update it’s view in response to button or text input.

In iOS 9 notifications like “Something changed” or “You have a new event” were quite common. These simple messages were useful (and you’ll still need it for the compact view), but not very compelling to users. They also weren’t very actionable. For instance, drivers for a delivery company might not want to accept a job without seeing a map or traffic conditions.

Location can still be used to trigger notifications, but expanded views give them more utility. If your coffee shops are offering a coupon, why not cue up a notification reminder that triggers a few blocks from each shop? An expanded notification can make this more useful because you can present the user with a map or directions to the location.

Simple text notifications are often painful because without enough context it can be difficult to know if you’ve already handled the task behind a notification. The additional context you can provide will give the user more confidence to take action or dismiss the notification.

Unless you intend to build a complicated expanded view, your developers may be able to build a decent extension in a day or two of work. Since you build the expanded view with Storyboards and UIView controllers, you hopefully will be able to recycle views right out of your existing app. Your customers already know how your app works, so why not keep it consistent?

Modifying Notifications 

iOS 10 lets your app modify notifications even after they are delivered. This means there is no reason for users to see out-of-date notifications in notification center.

You can update a shipping notification with the latest status. Bills notifications can be switched to show payment. Expiring coupons can be updated to show urgency, and you can remove expired coupon notifications. If you update a notification, it will be moved to the top of the notification center.

You can also modify and enhance your notifications as they arrive by creating a UNNotificationServiceExtension. This can be useful if your app might have access to data your servers don’t, or if you wish to attach media to your notifications.

For instance, a notification service extension for a taxi driver app might use location data to show how far away a fare is. Or you might use end-to-end encryption for all your notifications, using the service extension to decrypt the message before it displays to the user.

For an stock app, you might update a share price in a notification to ensure the freshest possible data. For a messaging app, you might use the service extension to download the message and any attachments for instant display when the user opens the app.


WWDC 2016 had a strong theme of letting users get more done without opening apps. These notification improvements will let you make your customers more productive without ever launching your app.  

Advertisers and ad-funded apps will worry about this outside-of-app trend. Users who spend less time in apps spend less time looking at ads. Apps that don’t follow this trend may lose users to apps that do.

App makers who get their revenue from their customers instead of advertisers shouldn’t be as concerned. These enhancements should help keep your users more engaged, even if the traditional app metrics like session length may not show it.