Friday, June 29, 2018

Almost 2, Our Son, aka @comcast 's Littlest Data Hog

I'd like to introduce you to our son. He's almost two.

Within the walls of Comcast, he's probably also known as The Littlest Data Hog. He loves to watch YouTube and Netflix. His never-ending desire to watch videos of cars and trucks probably contributed to Comcast extorting added fees from us with their stupid data usage cap. They say you should really limit your kid's screen time. We try. Sometimes being a parent is hard.

I don't write much about our son because he doesn't really have much interest in marketing. In fact, the ads that interrupt his YouTube videos are probably one of his greatest frustrations. But one thing that we've learned is that it's hard to empathize with the people that "can't figure out how to use the iPad". Our son has been able to navigate the interface, get to YouTube and choose videos for nearly a year.

Before he was born, we imagined taking him with us frequently when we travel, particularly since bringing a child under two is free on most airlines. Because my wife and I have to travel a lot, we imagined that our son would be one of those expert traveler-kids that you sometimes see in the airport. Often, they have their own little suitcase and they seem to be very practiced at going through airport security. Once he was born, we gained a better understanding of how much care he required, how important a predictable routine can be for kids. Considering all of the things that we needed to bring just to go out to a restaurant, going on a business trip with an infant seemed like something best avoided.

This past May, we finally took our son on a trip, flying back to Florida for a conference and an opportunity for him to meet his grandfather. Overall, our son did well and we did okay. We were a little worried about how he'd deal with the different locations and environment. But, apart from an increased sense of making sure that he knew where Dad and Mom were -- and not letting us get out of sight -- he did okay. He made himself at home in each of the hotel rooms we stayed in. He found places to sit, places to hide, places he liked to play.

I'm writing this now because, over the past week or so, I've been haunted by the image of the little Honduran girl crying while the border patrol searches her mom. You know the image, it's the one that Time Magazine used on their cover, the one referenced in this article, The crying Honduran girl on the cover of Time was not separated from her mother. She's 2-years old. The look, that look of distress, is all too familiar to me. Sometimes you can see that same sad face, that same posture, on minor things -- like turning off YouTube or that the battery is all gone. But even if it's not unusual to reach that state, it's not the kid's default state and it's not the state that you want them to be in. An upset infant is an alarm for parental action.

If you don't have kids, aspects of raising kids can be difficult to imagine. Like our lofty dreams of a jet-setting baby, reality didn't quite match our theoretical imagination. And so, for those that may not understand, let me share a few things about our son at age almost two. He can't say his name. He knows Mama and Dada by our names, Mama and Dada. He says these names a lot.

He doesn't know his last name. He doesn't know his birthday. In fact, he can't really provide any identifying information about himself. This is part of why, if my wife and I go to the store with our son and one of us runs off to a different area of the store, our son frequently spends most of his time crying out for the missing parent. Without us, he feels lost.

There are immigrant children being separated from their parents. From the descriptions in the news, this includes children as young as my son, and younger. The image of that little Honduran girl serves as reminder of just how lost those kids are without their parents. When you experience a child's primal need for their parents, feel them cling to you for safety and protection in new, strange environments, you can begin to understand how truly cruel this separation is.

While politics, the news, and the state of the country are often on my mind these days, I try to avoid writing about politics here. Wading into politically sensitive topics has the potential to alienate and infuriate a segment of your audience or your customer base. These days, reactions can escalate far beyond what might have been imaginable in years past. That being said, every day, when I see my son, I can't help thinking about those families that are separated. I can't stop thinking about those little boys and girls who, probably more than anything else, just want to be with their mom or dad.

This is not who we are. Not as a country. Not as a people. Our government should not be separating families.  

I chose the above image because I thought his posture is evocative of the crying Honduran girl in the photo. But there is a difference. At this moment, our son was happy, holding a wooden airplane puzzle piece "up in the sky". He seems to remember his trip to Florida fondly.

When I think about our considerations and concerns prior to our trip, I'm reminded that traveling like this isn't something you don't do without deep consideration. And when I reflect on the challenges we faced -- and contrast that with the challenges that these immigrant families deal with on their journey to our border -- it begins to put asylum seeker into a contextual frame. This was not a trip that they chose to make because they wanted to, this was a trip that they had to make. After all of that, to be separated from your family? It's horrific.

This separation policy must stop.

Tuesday, June 26, 2018

How Dreamforce Drives a Wedge Between Our Business and Salesforce

If you follow my Twitter feed, you've probably already seen the framework of this story. In essence, I've been telling variations on the same story for a couple of years. On the one hand, we've been working to expand our adoption and use of Salesforce within our org. On the other hand, we try and register multiple people for Dreamforce in an effort to inspire people and create evangelists and power users, but the process that they use to handle registration and housing makes that impossible. In the end, the only real result is frustration with Salesforce and few, if any, of our staff going to Dreamforce.

Once again, that's the story for us this year. While attempting to work with our Salesforce account team to try and make arrangements for a group attendance this year, Dreamforce registration opened up and, before we even had a chance to confirm a discount code, our hotel options were gone.

No Hotels = No Dreamforce
Since a significant portion of the people we'd want to bring are not local, the lack of hotel options means our people won't be coming. It doesn't matter if they could still register for the conference; if there are no hotels, there's no place for them to stay.

This issue is amplified by the way that Salesforce announces the opening of Dreamforce registration. Essentially, you can sign up to receive an email alert when registration opens. For the past few years, that has been on a random day at 6:00am Pacific time, typically in close proximity to a three-day holiday weekend. In short, the timing seems to be targeted to a time when fewer people are in the office. In other words, they hope to reduce the rush by targeting a time when a percentage of people will be caught up in "you-snooze-you-lose" filter.

Did I mention their classic customer support answer, "that's a bummer man"?

Or, in case you want to raise the issue with your account team, you'll get the timeless canned response, "I don't control the San Francisco housing market. Have you considered AirBnB?" I think that this is written on some internal messaging FAQ sheet that Salesforce distributes.

Keep in mind that this year, prior to registration being announce, I was attempting to work with our Salesforce account team to try and arrange multiple people attending the conference. During that time, they told me they had no idea when Dreamforce registration would open up, but they expected it to open soon.

In the past six months, we've been considering a broader expansion of seat licenses. We've also been looking at the Salesforce Analytics package. We also hired a new executive in charge of IT, someone who you might say is a key influencer in terms of software decisions. Working with our account team, what kind of provisions were we able to make to get that person to Dreamforce. None.

Dreamforce Promotions Serve as a Constant Reminder
There's nothing worse that having something constantly rubbing an open wound. And yet, Salesforce is constantly bombarding you with reminders about Dreamforce. I just grabbed this image from the Salesforce login screen.

That's right, it's been weeks since we've already determined that there are no hotels, no way to go -- but Salesforce is still promoting this conference. I've also received emails saying, "only a few days left to save $200 on the conference." This was also weeks after I'd already determined that there weren't any hotels.

These promotions don't just piss me off, they piss me off enough to be vocal about it. Instead of tempting me to go to the conference, what this constant promotion does is remind me about how -- for all of it's promotion of "helping us to succeed" -- Salesforce doesn't appear to be very tuned in to what we, as customers, think would help us be successful.

What these promotions remind me of, is how Salesforce leaves me, standing alone, trying to gain adoption for their software. It reminds me of the hassles of trying to commute to the event, the frustration of crowds that are too large, the pointlessness of learning tips and tricks, deploying them, and seeing NO change in user behavior.

As someone who's been the Salesforce admin and used it on a daily basis, if I'm frustrated and unenthusiastic, or worse -- pissed off to the point where I'm not willing to spend the company's money to attend -- then I think you've got some problems with your user conference. What's more, without enthusiasm and evangelism, any adoption KPIs that you have are likely to suffer (assuming that anyone is actually watching). Carrying that slippery slope even further, with diminishing internal champions and constant skepticism about usage and utility, come contract renewal and the perpetual (of late) 7% price increase, I think Salesforce may be looking at a 7% increase on a significantly smaller number of seats. But, even as an admin, that's not really my problem. 

What is the Purpose of Dreamforce?
Let's put our design thinking hat on again. If, as a customer, so many aspects of Dreamforce are frustrating me, I'm sure I'm not alone. If that's the case, what is the purpose of Dreamforce?

Once upon a time, the event functioned as a user conference. Dreamforce was a helpful way for people to learn tips and tricks and explore best practices with other software users. It also provided a vehicle for the company to promote new software features. But somewhere along the way, things changed. Several years ago, it seemed like there was a shift in focus for a percentage of the crowd. I liken it the crowd that followed the Grateful Dead -- the crowd changed following the "In the Dark" album in 1987, but things really began to crest in 1994/95. Essentially, there was a portion of the crowd that came to party or hang out outside of the event and an interest in the music almost seemed secondary (at best). In many ways, Dreamforce seems like it's taken a similar path. A couple of years ago, one of the young women in the office said her friends had contacted her, told her that a group of them should head up to San Francisco for Dreamforce -- lot's of parties. FWIW, she didn't even use the software.

The parties. Is this the purpose of Dreamforce? Last year, I stayed in a hotel in the city, but I didn't go to a single party. I've been to these events in the past and often I try to go just as a research point for my own marketing programs. But battling crowds for bad free food and some drinks on somebody else's dime -- not worth it. Even the event a couple of years ago where they gave us a 10 year customer award, meh.

The simplest way that I can summarize is -- most of these parties have no utility. There are few networking opportunities, few times when you actually engage with Salesforce people who can speak about your account -- or much of anything related to your business or industry. If I have to go to a work-related party (as opposed to an event with my friends), I'd better get something work-related out of it. Again, no utility. But even the late night after parties are too crowded.

File this under Yet-Another-Reason-Not-To-Go-To-Dreamforce-Alone -- if you have a colleague there, you can have discussions about work and software while you're there.

Ultimately, I don't think I have a good answer to what the purpose of Dreamforce is. But I don't think Salesforce does either. Over the years, I think it's been lost, muddled with so many objectives that it's kind of a mess. We, the customers, have been lost. Perhaps they've forgotten about the band and the music (I'm not talking about the Gala) -- they're just there for the party.

Tuesday, June 19, 2018

Apple Airport Network Configuration Problems Caused by Vocabulary

Let me start by saying once again that Apple's decision to abandon their Airport product line isn't just a stupid product choice, it's another exclamation point on the company saying, "we don't care about the Mac or any other part of our computing business, we're a phone company now!"

Like many, I have a long history of using Apple's Airport devices for my wireless networking. In my old apartment, I used to use multiple Airport Express devices to enable music streaming on separate audio systems that I had throughout the place (with optical digital audio connections to my receiver - nice). At the time, I had ethernet cables run to to each room and I also used the Airport Express devices to extend my wireless network throughout the apartment.

Over the years, Apple made some significant changes to the Airport Utility that ships with Mac OS X. It went from a utility where you had the option of configuring the system manually or going through a configuration wizard to one that features a cool graphic representation of your network, but directs you through the configuration wizard -- and, by default, sets the network up incorrectly. After searching through tons of "Airport Network Problems Extend a Network" on Google (and trying many solutions), I finally solved the problem and I wanted to share my solution with you.

First, a little more back story. When I moved into our current house, we set the Airport Extreme base station in a room on one side of the house. Unfortunately, with walls and such, by the time you got to the entertainment center in the living room, devices would complain about problems with wireless network strength. Several years ago, I used an Airport Express to extend the network as a wireless bridge that then provided an ethernet network for devices in the entertainment center. It sort of worked, but it had issues. Later, I tried using an Airport device to wirelessly extend the network from the entertainment center and hopefully boost the wifi to the other side of the house, This configuration really sucked and eventually, I just disconnected the airport devices at the entertainment center.

Last week, we finally wired the house with ethernet, so I decided to use older Airport Extreme device to extend my network -- especially since it now had an ethernet connection back to the main Airport Extreme. Unfortunately, not only did that configuration not work, it made the entire network slow and, essentially crash. Nothing worked. The only solution seemed to be disconnecting the second Airport Extreme.

Initially, my best guess at why it wasn't working was a difference in generations between the two Airport Extreme devices, one being the tower style and one being the older, flat, pizza-box style. As a solution to this, we decided to head over to the Apple store and pick up one of the remaining Time Capsules that they still had in stock. I brought it home, went through the basic configuration wizard in the Airport utility, and my extended network problems were back again.

In reading through potential solutions on line, I tried a number of different ones -- from IPv6 link sharing to assigning the remote Airport a static IP address, noting seemed to work. Eventually, the "DHCP Reservations" setting in "Network" helped by identify the issue. Here's what I did first: identify the MAC address of the ethernet connection on the Airport Extreme. The Airport Extreme actually has three MAC addresses, one for ethernet and two for wireless. By reserving a specific IP address for the ethernet, I was able to determine that every time I ran through the Airport Utility setup wizard, the Airport Extreme was being set up to connect to the network through it's wireless interface. Each time I restarted it and set it up, it would have a different DHCP address, not the one that I'd set up for the Airport Extreme ethernet port.

After more research, I finally discovered the solution in an online post about the difference between an extended network and a roaming network. What's important to understand here is that Apple's "Extended Network" terminology is not the Extended Network that you're looking for. When they say "Extend a Network," what they mean is "add another wireless client and have that also work to try and stretch the range of the your wireless network."

The problem with this is that it doesn't work well. It adds overhead to your wifi network and, for some reason, seems to cause some other issues that can slow your network to a crawl. In short, it doesn't really work. The difference between this configuration and modern "Mesh" wireless networks is that the Mesh networks add a second wireless connection that's just used by the wireless access points to talk to one another. It probably wouldn't have been much trouble for Apple to add something like this to Airport -- if they weren't so busy being a phone company. If you don't have the option of connecting an ethernet cable between your wireless access points, your best bet is to get one of these modern mesh wireless networks. From my research, the challenge is that, many of these don't have great support for Macs (pretty much the same reason that, way back when, Apple introduced the Airport line), so be sure to do your research before you buy.

How to Extend Your Wireless Network Using Airport Extreme and Ethernet
So, in some ways, this page is helpful for understanding your wireless network using Apple's Airport devices. It has a lot of clear diagrams, but the interface descriptions from the Airport Utility are outdated, and in the current version of the software, you won't see these options. I read this multiple times and, while the diagrams for what I wanted to do were clear, what happened in the software was not clear.
  1. When setting up your wireless network with multiple Airport devices and connecting them through ethernet (a wired connection), you want to set up your wireless network up as "a Roaming Network". Here's what's important to remember about this: even though this set up will extend your wireless network, it doesn't use Apple's "Extend your Network" settings in Airport Utility.
  2. Set up (or make sure you have set up) your main router or Airport base station. This device will be act as a router and distribute IP addresses. This is the device that, in terms of your network, is talking to your broadband modem. Note that it's also helpful for your computer to be plugged into ethernet while you're doing your set-up.
  3. To set up the base station to extend your network with ethernet (set up a roaming network), you can start by plugging the new Airport base station into an ethernet cable (into the WAN port), then plugging in the power. If you launch Airport Utility (or have it running), within a minute or so, you should see the new device appear under the "Other WIFI devices" button.
  4. If you go through the initial wizard to set up the Airport device, you may be lucky and it may offer to extend your network through the wired connection, but it may not. If you see a screen after you enter the name of the device that says extending your network over ethernet, congratulations, you won the set-up wizard lottery. The script may be setting your network up correctly. If not, don't worry, I'm going to explain how to fix it.
  5. If it set up incorrectly, you can just make the configuration changes in the interface or, if you feel the need, you can use the reset the Airport to default settings then click into the "options" button on the first screen in the set-up wizard.

    What you want to do is "Create A Wireless Network".


    This may seem counter-intuitive, but this is the critical step in setting up a "Roaming Network" to extend your wireless network. This option is in the options portion of the set-up wizard, but if you're working with an Airport that the wizard set up wrong, you can find it in the "Wireless" screen of the base station configuration piece. If you're there, it probably says "Extend a wireless network". This is the wrong setting that's causing you problems.
  6. When you "Create a wireless network", you need everything to match your existing network, so use the same network name, wireless password and wireless security setting.
  7. Next, you in the "Network" screen, you need to make sure that connection sharing is off (bridge mode). If it says "DHCP and Nat", you have the wrong setting enabled.


  8. With these to key settings made, you can save and update the Airport device and, once it reboots, it should be connected, creating a wireless network, and using it's ethernet connection to bridge the network. In your Airport Utility, you should see the second Airport unit connected by a solid line (if you see a dotted line connecting the devices, that means that it's a wireless connection). In my earlier example, I could also tell because once the Airport base station rebooted with these settings, it had the IP address that I had previously reserved for it (based on the ethernet MAC address) in the other base station set up.

It's possible that all of this is spelled out clearly somewhere in the Apple documentation, but I struggled to find it. If you're wrestling with Network issues, good luck.

Monday, June 18, 2018

How the Mac has become Apple's Red-headed Stepchild

I came across this blog post, On The Sad State of Macintosh Hardware, highlighted in this post on Macrumors. While the Macrumors post is built on the other, the original post is far more powerful. Coming from a Mac OS software developer -- they struggle to purchase hardware to develop for the platform. Also noteworthy, is the comment that they can't even run the newest version of the Mac OS, Mojave, introduced at the most recent WWDC.

Here's a quote from the original post that I found particular pointed:
Rather than attempting to wow the world with “innovative” new designs like the failed Mac Pro, Apple could and should simply provide updates and speed bumps to the entire lineup on a much more frequent basis. The much smaller Apple of the mid-2000s managed this with ease. Their current failure to keep the Mac lineup fresh, even as they approach a trillion dollar market cap, is both baffling and frightening to anyone who depends on the platform for their livelihood.
Why can't Apple keep the current Mac lineup fresh like the much smaller version of Apple did over 10 years ago? The answer is pretty simple for those of us long-term Mac users.

Apple has become a phone company.

Apple doesn't care about the Mac product line. If you're a loyal Mac user, you're Mac is gone.