Wednesday, April 18, 2018

The Data is Restored: Thanks to Salesforce Customer Support and Our Internal Team

If you've been following the events surrounding the unexpected loss of my Salesforce data detailed in this post, How Passage Technology's Storage Helper Torched My Relationship with Salesforce, or if you've been following my updates on Twitter, you may be interested in the latest update -- as of yesterday, we believe we've restored all of our accidentally deleted data.

In that regard, I wanted to express my thanks to the Salesforce customer support team for assisting with the re-upload of several years of data from our Sandbox instance. As I mentioned in the update to my previous post, after being re-referred to the Salesforce customer support team by their Twitter support, the customer support agent that contacted me was extremely helpful. Not only did he listen and talk with me about all of the issues associated with the data loss, he then took the initiative to re-upload the data. That was no small task as the associated Excel files amounted to almost 250MB worth of data. First, he had to add a custom field for the Sandbox ID of the Invoice header, then upload the Sandbox data, then use a VLookup function to remap the Invoice Line "child records" before uploading them. It actually took him several days to complete all of this. I'm extremely grateful for the support.

With his help, we only needed to re-run our integration script for data going back to last September, (something that took us a couple of days to complete, just to give you a sense of the scope of the data).

Finally, it's worth noting that last week I sent an email to Marc Benioff to express my thanks for the customer support agent that had made such an extraordinary effort. Much to my surprise, I received an email back from Benioff, expressing concern over my experience and the issues that I raised, and forwarding those concerns on to their customer support team. After that, I received a follow-up call by one of their senior VPs. I suspect that, if we had been deeper in the weeds than we were, they would have done what they could to help us get back on our feet.

All that being said, Leo, the front-line customer support guy who wound up catching my issue following the Twitter referral, really exceeded my expectations for customer support, and it's an important reminder about just how important that front line customer support channel is. While it's reassuring to know that my concerns matter enough to Marc Benioff to generate a reply, if it hadn't been for Leo's efforts, I doubt that the whole matter would have taken a path to an executive response.

That's not to say that Salesforce's front line customer service succeeded right out of the gate. Clearly, getting a responsive experience required some persistence on my part.

In that, I think, I can find a take-away from all of this. If you're wrestling with a significant issue like this and you're dealing with Salesforce customer service, don't give up. Like many companies, Salesforce has default practices that are designed to address 80% of the issues that come up. And, like many companies, they probably have a percentage of their staff that wants to stay within the confines of their defined processes. But I think you can take one thing away that response that I got from Marc Benioff -- they really want to be the company that they promise to be. 

Having been to (and through) a number of Dreamforce events, there's a feel-good aspect of the Salesforce brand. There's the philanthropy, the 1-1-1 business model, their principled corporate voice -- there's a lot to respect about when and how Salesforce stands up. Perhaps that's why, when you're faced with certain technical challenges, operational restrictions, or dealing with aspects of the company's business processes that seem too revenue-centric, the company that you face can seem very different than the company you imagine.

But at it's core, I think Salesforce wants to be a better company; that it is a better company than most. I can't say that I won't get pissed off about something that they do tomorrow, but in the face of adversity, they did alright by me -- even if it took a bit to get there.

Thursday, April 12, 2018

What I Learned About Apple from My Twitter Customer Support Experience

In late March, I found myself in the grips of terrible frustration with my iPhone SE. As I've noted many times in the past, there are so many issues and bugs with iOS 11, it's really unbelievable. Here are the two tweets that triggered Apple Support to reach out to me.
I'm not sure whether it was the mention of "lagging UI animations" or the "#batteryReplacement" hashtag that prompted them to reach out, but shortly thereafter, I was working with Apple Support through Twitter's Direct Message in an effort to diagnose and fix my iPhone.

The first thing that we started to address was the lagging iPhone behavior. After running their basic diagnostic tool and getting results back that seemed to indicate that the iPhone was running properly, they had me restore the iPhone as though it were a new device. When this seemed to eliminate the issue, they had me restore my device from iTunes. Sure enough, a number of the lagging animation behaviors returned. Over the course of that exercise, one of the things that I realized is that when I restored as new, the font sizes were much smaller, so I tried reducing the font size (I had been running at something like the +2 font size setting, making it easier to read emails and texts on the device). Reducing the font size seemed to solve some of the lagging animation behavior.

At this point, Apple Support wanted to see if they could improve performance further and suggested that I turn on the General > Accessibility > Reduce Motion setting, something I said that I'd had turned on since they introduced the stupid motion feature. And that was the last time I heard from Apple Support.

A couple of days later, I tried to pose another question to them about how, when I touch the top left corner of the screen on the iPhone in something like the Messages app, instead of taking me back to the list of messages from other people, it scrolls to the top of the current message list, like clicking the home key. That query was also met with crickets.

My Apple Support Takeaway
Looking back, it seems clear that my tweets that related to Apple's very public trouble surrounding the battery issue were the driver for Apple to engage with me. Over the past year or several, I've been vocal in my frustration with many aspects of Apple's products, but this is the first time that Apple Support has reached out to me over Twitter. Clearly this has become an extremely sensitive topic for them and they seem to be focusing their efforts at making sure that more battery-related PR issues don't blow up on them.

That being said, it's also another example of how iOS 11 seems like a product that only functions correctly within a certain narrow set of parameters. While I'm sure that iOS 11 probably works more like it's supposed to on an iPhone 8 or iPhone X, it makes you wonder whether you'd see the same issues with font sizes on those larger-screen devices.

When you consider how much the company has grown since the iPhone took off, it's kind of funny that they can produce software that seems inferior to the earlier versions of the software and the iPhone. For me, I'd much prefer an iPhone that worked correctly than an "animoji" feature that I'll never use.

Tuesday, April 10, 2018

UPDATED: FAIL: How Passage Technology's Storage Helper Torched My Relationship with Salesforce

UPDATE: So, after sending this link over the @asksalesforce support team, they re-referred it back to Salesforce customer support. I received another call from a Salesforce customer support person who took some more time to listen to the issue (apparently, he couldn't view the blog post because of security controls on their systems).

As he listened to parts of my story, he was surprised by a couple of points. First, he was surprised that I wasn't able to use Data Loader to download the deleted records on Friday, while they were still in the table. When I explained that they were gone now, he was surprised but noted that the sweeper utility may have just come through our org. According to him, I wouldn't have been able to simply restore the records by toggling the IsDeleted flag (but being able to download them while they were still in the table would have been useful - where were you on Friday?).

When I mentioned the "invalid cross reference id" error, he noted that the issue there was trying to re-import the data with an ID - that the system had to assign an ID. I told him that this would make it impossible to re-link the "Invoice Line" child records, but he said that it could be done with a bit of work in Excel. He then asked me to send those sandbox files that I needed to re-upload and offered to solve the import issue for me.

In all, I'm feeling a bit better about all this than I was yesterday at 6:30, but we'll see how it all unfolds. I'll keep you updated.

----- Origitnal Post ------

If you've been watching my Twitter feed, you've already seen parts of this story, but you may find more coherence (and a few more details) in this version.

A couple of years ago, following a mention at Dreamforce, I purchased a suite of software extensions for Salesforce from Passage Technology. As a Salesforce Admin, what drew me in was a product that they offered, Rollup Helper, that made it possible to build data roll-ups of a variety of data even across custom objects. To translate this into simpler language, a roll up field enables you to do something like total the value of all opportunities on an account. Salesforce has always had roll-up fields but the functionality was limited to records that had parent-child relationships (with the roll-up on the parent). Rollup Helper enables you to create roll-ups on records, even if there isn't a parent child relationship.

The pricing for Rollup Helper was about $2K for a one-year license, but they also offered two other software utilities, Lookup Helper and Storage Helper. If you bought them as a bundle, the other two software tools (each about $800), were included at a discount. Storage Helper seemed like it held some promise. Essentially, what it enables you to do is set up a filter condition and automate the deletion of records. Since the base data storage allocation for Salesforce.com is 1GB, depending upon your record usage, this could represent a savings for you versus paying for added storage.

For the most part, our data all fit easily within Salesforce data storage limits, with the exception of Orders and Invoices that were brought in through our Oracle back-end system integration. While the header record volume wasn't large, each of those records also included multiple lines and, as this data accumulated over the years, we hit our data limits. Initially, I manually deleted old records, but eventually wound up buying more storage space. In this environment, a software utility that we could configure to erase records that were over five years old seemed like a handy utility.

Some "In Hindsight" Data Points I Should Have Weighed More Heavily
I had mixed results with Passage Technology software, and I probably should have given more consideration to that when I ran Storage Helper on Friday. I actually created custom fields and set up Storage Helper back in October of 2016, but with our added storage, I didn't really need to run it, so the software sat, unused in my org for a couple of years. Meanwhile, I made a couple of separate attempts to use Lookup Helper, none of which were successful despite connecting with Passage Technology customer support both times.

I should have known...

In many ways, Storage Helper should be pretty simple software. The premise - set up a set of conditions to filter a search, then delete the results of the search. The thing that should make it cool is that you can set it to run on an automated script, so it will just work for you. Initially, I'd built a filter for both Orders and Invoices that looked at the year in the date record, then deleted things greater than 6 years old. Part of the reason why I'd waited to run the script was, after talking to some of my colleagues, I'd thought about possibly trying to calculate the age down to the month.

Anyway, background aside, I was getting ready to do an evaluation of Salesforce.com's Wave Analytics module. As part of the set-up for that, Salesforce also provided a trial license to a full Sandbox. But since we were going to evaluate the analytics, it seemed like it might be a good idea to remove some of the old order and invoice data, both to streamline the data migration and to simplify charting functionality. And so I ran Storage Helper on Invoices.

This was my first mistake.

Before I ran the software for the first time, I did previewed the data that would be deleted, something that's included in the software and recommended by the wizard. A quick sample of the data preview showed records from 2010 - so that looked good. It also triggered an error alert because the data set that it was getting to run on was greater that 50,000 records. I okayed that - figuring that it would require multiple runs of the software to get the job done.

After running the software, the interface offers a little dashboard that says, "Storage Helper saved you this much money and freed up this much data storage space". I was curious if it was deleting the child "Invoice Line" records and how much space that accounted for, so I went over to the Salesforce System Monitor and looked at the storage usage. Unfortunately, when stuff is in your recycle bin, it's still included in your storage count on System Monitor. I'd previewed the data (if you've ever looked at data in your recycle bin, there isn't a lot of helpful record detail info there - practically speaking, the only way to really know the details of a record is to undelete it), so I decided to go ahead and delete it. Now the system monitor showed a change and, for a moment, I was happy.

Back to Storage Helper, and I previewed the data again. Again, records from 2011, so I ran the script again. I should say that the script seemed to lag while it ran, but that's not unusual with some of these Salesforce processes. Because of the lag (thinking back, I think it lagged the first time it ran as well), I wasn't really sure whether it was working or not. Again, I deleted the records in the recycle bin. With the lag, I might even have pushed the "Run" button multiple times. Somewhere in there though, it finished it's second or third run, and I was curious how much data was left in these old records.

So I ran preview again. This time, I noticed an Invoice Owner who joined the company more recently. I was surprised -- how could this guy have owned a record from >6 years ago. I clicked through the preview to the record and, sure enough, the record was from last year. Last year? Then I looked at the Storage Helper script and the filter that I'd built -- it was gone. There was no filter.

I quickly went over to the recycle bin and "undeleted" all of the records in there. I also emailed the Storage Helper product manager from Passage Tech. This was before lunch. He emailed me about 10 minutes later to say that he was no longer the product manager for that product -- and forwarded my email to the current product manager and their customer support team. Meanwhile, I started to assess the damage.

A little after noon, I sent an follow up email to Passage Tech with these screenshots, the first being a Pivot Table report of Invoices from Live, the second being an extraction from my Sandbox that was refreshed last September:


That's an 84,948 record difference between live and seven month old data.

It goes without saying that, after that first contact with Passage Technology, I didn't hear back from them until Monday morning when I got an email from their customer support.

Salesforce Steps Up To Take Things From Bad to Worse
After not hearing anything back from Passage Technology (guessing that they were on East Coast Time and had probably gone home), I reached out to my Salesforce AE. Was there any way that Salesforce could help?

She suggested creating a case. Once there was a case, she said, they could escalate the case. And so I wrestled with the stupid subject tree to find a case and submit it. By 4:00pm, I finally had a case number. I forwarded the case number to her and she escalated it. Salesforce customer support reacted quickly, but the guy who called me talked with me as we both went to the recycle bin and looked to see if the records were there (they weren't - I'd already 'undeleted' what records were there when I realized what Storage Helper had done). Since there were no records there, he told me that Salesforce did offer a paid data recovery option, but I'd need to speak with my AE for pricing on that option. He also suggested that I consider the Idea Exchange (seriously).

So I emailed my AE again. She let me know that the data recovery thing started at $10K. Other than that, she reached out to some other Salesforce colleagues for suggestions. Queue the crickets.

Seeing that this wasn't going well, I attempted to restore some of the missing data by "Upserting" my old data from Sandbox. If you aren't familiar with the term, upserting essentially updates a record if it finds one, otherwise it inserts it. Unfortunately, this didn't work because all of the deleted records were still in the database table, they just had a field called "IsDeleted" flagged with true. Realizing this, I tried to fix it by updating all of the "IsDeleted" to false. Unfortunately, that didn't work because Salesforce won't let you modify the "IsDeleted" field.

So I searched for ways to update the IsDeleted field. I found a couple of suggestions. One suggestion was the Developer Workbench, an online tool that provides you access to a bunch of the underlying aspects of Salesforce. Using this tool, I was able to verify that the records were there. I could even look at the records individually. Thinking that this would be helpful for knowing exactly which records had been deleted, I tried to Bulk Export a .csv file of the deleted records. Unfortunately, bulk exports of this type of data weren't supported. I tried to work with specific records to change the IsDeleted flag, but that wouldn't work either. I even tried to generate a list of the deleted records so that I could copy and paste them into a spreadsheet, but that wouldn't work.

From an older post that I found online, I saw where somebody had written that some third-party data loader tools might enable you to modify IsDeleted. I tried rerunning an older version of LexiLoader that I had. It said that I needed an older version of Java to run it - so I installed that. Even then, while LexiLoader would run, it couldn't log in. By 6:30 on Friday, I'd exhausted all of the options that I could find. In another exchange with my AE, she said she was out of ideas and that we'd have to wait for technical support - on Monday.

At that point, I posted this on Twitter with what I expected to happen:
There are a couple of things worth noting at this point:
  1. What I expected to happen is that at some point that night, Salesforce's system would process (and erase) the data that was flagged with IsDeleted. This would mean that data that was easily accessible and a situation that was potentially correctable with the right tools and/or permissions would soon be out of reach.
  2. Once this data was deleted, depending upon how the Salesforce system works, it's possible that they might recycle the ID numbers of the records that were deleted. I don't know about this aspect of how Salesforce works and, if they do, how quickly those ID values are recycled. However, if an ID value was recycled, that would essentially mean that you couldn't just "re-upload" the data. And worse, any data that depended on being linked to that ID (like my Invoice Line child records) couldn't be re-uploaded.
  3. Once this data was wiped from the data table, it would be significantly more difficult to determine which records had been erased and which ones had not, making a recovery and reset even more difficult.
Monday Arrives
As you can guess, I didn't hear anything back from Salesforce or Passage Technology until Monday morning. After I granted Passage Tech customer support login access, they came back with a grand toreador...
Unfortunately, we have no history to determine as to whether the filter existed, or was setup correctly to begin with since the job has not been successfully run in the past.
See, it's not their fault.

Meanwhile, I hadn't heard back from my Salesforce AE Monday morning, so I emailed her. I emailed her a second time after I used the Developer's Workbench tool and did indeed verify that all of the deleted records were now gone. My AE responded after 11:00am, noting that she'd been in a customer meeting. By lunchtime, she emailed me again with more scoping questions. I didn't hear back again until later in the day when I emailed a second follow up. What did seem clear from her afternoon email was that, for any data restoration being done, it would probably be on us to do it.

So yesterday evening I made a second attempt to upsert the older header records from my Sandbox instance using Data Loader. Errors again, only this time a different error message, "invalid cross reference id". It goes without saying that, it's not just a handful of records either.

At this point, it seems like the whole thing is just F@#ked!
Because of the inter-relationship of records, I don't think there's a tool (short of our integration orchestration), that can upload the data and the related. While we have the source data - we didn't loose that, it looks like there is no easy way to reload it back into Salesforce. And, essentially, all of the data is worthless because you can't easily tell what data is missing.

It goes without saying that I'm so pissed off at this point that it's even difficult for me to go back through and write about it. I'm trying really hard to keep to keep my vocabulary restrained and professional. What more can I say about Passage Technology and their software -- I think that they can expect that I won't be renewing our license for their software, but I don't expect much from them since we're really talking about, at most, a $3K per year customer.

But Salesforce? What can I say. We often talk about Salesforce.com being an unsupported platform -- when the rubber met the road, their customer support FAILED. They followed up the case on Friday night with ANOTHER email about the Idea Exchange. And, at 6:30pm on Friday when, if they had a resource that could extract or modify the IsDeleted field on two tables in our org, we could have recovered from this entire mess. Instead, they were done for the week. TGIF. Pick up the pieces next week.

At this point, I don't know how the rest of this will work out, but I do know one thing -- I don't expect to have good words about Salesforce.com going forward.

Tuesday, March 27, 2018

Deskless Hotel Rooms? San Francisco's Hotel Nikko Remains Committed to this Unpopular Design Strategy

Having lived in Memphis, Tennessee for some time, one of the business lessons that you hear a lot about is the story of Kemmons Wilson. If you haven't heard the story or aren't familiar with Wilson, he founded Holiday Inn. Here's a little bit of background for you, from the Kemmons Wilson Company site:
The idea of Holiday Inns was born from a frustrated father on a family vacation. In 1951, Dorothy finally persuaded Kemmons to take a break so they packed up the children, all five of them, and head to Washington, D.C. to visit the national landmarks.

By the time they reached their destination, Kemmons had formulated an idea, borne from the discomforts he had encountered as he and his family trekked across the land. Outraged at being charged extra for each child at every roadside lodging where the family stayed, not to mention the cramped, uncomfortable accommodations, Kemmons decided to reinvent the lodging industry. His idea was to build 400 motels across the country, each within a day’s drive of the next. Kemmons measured every nook and cranny of every room where the family stayed.

By the time he returned to Memphis he had the ideal dimensions for efficiency and comfort in a motel room. His formula was so accurate that it remains the standard for many hotel rooms built today.

With the traveling family in mind, he developed other features that would become industry standards:
  •     Standardized room size (12ft x 26ft with bathroom)
  •     Swimming Pool
  •     Free in-room Television
  •     Telephones
  •     Ice Machines
  •     Restaurant
  •     No charge for children under age 12 who stayed with their parents
While it's not listed here, I have to imagine that if Kemmons Wilson were traveling today, one more thing that he would expect in a hotel room would be a desk.

The Hotel Nikko San Francisco Goes Deskless
Last year the Hotel Nikko in San Francisco underwent a significant remodel. It was so substantial, that they actually closed the hotel down for three or four months. As someone who regularly stayed at the Hotel Nikko during events in the city, I was somewhat excited to experience the hotel, post-remodel. I finally got my opportunity to stay there during the Semicon West conference in July of last year. Sadly, I wasn't particularly thrilled with the results of the remodel and I first wrote about it in this post, Design, Remodel, Alienate? The Hotel Nikko in San Francisco. Here's part of what I wrote:
For some reason that is still entirely unclear to me, the people designing the Nikko remodel eliminated the desk from the room. I noticed it immediately, as the first thing that I began to do when I arrived was to begin setting up my workspace -- or at least, that's what I intended to do. At that point, I went back down to the front desk to request a different room, one with a desk. The staff at the front desk were very courteous, but informed me that none of the rooms -- except for the smallest ones -- had desks now. Apparently, it was not an unusual complaint; they told me that they'd heard the issue from others, and that they would share it with management. So off I went back to my deskless hotel room, questioning the design decision, what my colleagues would thing of the deskless room, and whether the Hotel Nikko would continue to be my preferred hotel in San Francisco.
As you can see from this quote, I was baffled by the the removal of the desk. As a design decision, it didn't make any sense to me. It was only as I was preparing to write this post, when I began to question my own experience -- that I've never stayed at a hotel that didn't have a desk -- that I searched (and found) other evidence of this deskless design approach. 

When I searched "hotel rooms without desks." I come across a broader chunk of information about the practice. As it turns out, the Hotel Nikko in San Francisco isn't the first hotel to explore this direction, but they may be clinging to a failed design direction.

The first result, Hotel Industry Trends Include Rooms Without Desks, details several interesting aspects of this trend.

1. Strategy: according to the article, "The shift away from dedicated work spaces is part of a bid to win over millennials, which consultants believe prefer to work in more casual, flexible spaces." In some respects, this really seems like a stupid rationalization to me. If you want to work in your bed, the existence of a desk doesn't prevent that. What's more, if you look at the new credenza at the Hotel Nikko, it's not like they traded desk space for some alternatively useful space.

2. The trend may be bigger than you might think: According to the article published in March, 2016, Marriott had announced in December 2015 that it would start a chainwide redesign that would remove the desks. Klimpton Hotels, the group that owns a number of boutique hotels throughout San Francisco had redesigned their rooms with only sofas and coffee tables, And Hilton's Tru brand had laptop trays instead of desks.

3. The Real Driver may be cost: To quote the post, "Eliminating things such as desks and closets can save tens of thousands of dollars in each room’s construction costs." They also note this example, "Hilton’s Tru will cost just $84,000 per room to build, compared to its Hampton Inn brand, which comes in at $110,000 per room." It makes you wonder how much they'd save if they scrapped the whole indoor plumbing thing.

If you're like me, you read this and you start making a mental note of hotels you'll never stay at. As it turns out, there are a lot of other people like me -- and more to this story. Because by the time that this story was written, the whole deskless design approach already had already generated a pretty significant backlash.

The Backlash Against Deskless Hotel Rooms
In this post (from December 2015), Hotels Tried To Eliminate the Traditional In-Room Desk But Created a Backlash, you can learn more about the backlash to Marriott from their deskless initiative. The piece details some rather extensive backlash on the Flyertak site, including this list of Marriott properties without desks (hotels to avoid).

There's also a section in this piece about Holiday Inn Express, their experiments with deskless rooms, and their decision to drop that experiment. What's interesting is comparing the design experiments done by Marriott versus those done by Holiday Inn Express.

Here's what Marriott did...
As part of its transformation, the company conducted a variety of research efforts across generations, Carroll says, noting that its specific target customer is primarily the business traveler. The research included a full mockup room where consumers could walk through the model room to see the look, feel and functionality of it.
Marriott gleaned information suggesting that customer behavior in the room is much more “untethered,” thanks to things like Wi-Fi and mobile devices.
And here's what Holiday Inn did...
Holiday Inn Express’ research consisted of two model rooms — one with a desk, and one without. As guests walked through the rooms the experiment revealed that there was a lot of dissatisfaction with the room that didn’t have the desk.
What I think is noteworthy in that term "untethered" is an applied value, something being ascribed from the outside to the test subjects. What's more, it's implied that that "untethered" aspect is in some way positive. However, suppose we change the subject of this from hotel room to food and use the same terms. Untethered food might be exciting and an interesting bite, but the opposite of that might be "comfort food", something that seems "anchored" and "homey". Now which sounds like the place that you'd want to make your home-away-from-home?

But Wait, There's More
If all of this history surrounding the controversy over deskless hotel rooms is wearing you down, consider this one last bit from September, 2016 in the Chicago Tribune, The desk is back: Marriott is redesigning hotel rooms. That's right, by September 2016, Marriott had reversed course from it's deskless direction.

I suspect that the online "list" of Marriott hotels that don't desks probably drove the change more than the actual guests complaining about the lack of desks.

The Hotel Nikko San Francisco Remains Committed to Deskless Rooms
Which brings me to the call-to-action portion of this post. After complaining to the front desk staff at the Hotel Nikko about the lack of desks during my first stay last July, then publishing blog posts and tweets addressing the issue, I never received any response -- or recognition of my concerns. I stayed there again in January for another conference, and again raised concerns. Finally, after reaching out on TripAdvisor, I was able to connect with a representative of the Hotel Nikko and share my concerns regarding the lack of desks.

Apparently, after they had some internal discussions, I was informed that they were not planning to add desks to the rooms.

With that, I might have been left to search for an appropriate go-to hotel in San Francisco on my own had I not just learned that other hotel chains in San Francisco may not have desks in their rooms -- particularly if you buy into this deluded logic that it's a better way to reach "millenials". So rather than simply looking on my own, I'm reaching out to the various companies that coordinate hotels for the events that we attend and asking them to provide this information. While I may have no clout -- I'm just a customer after all -- perhaps these companies that manage hotel rooms will have a bit more leverage.

So, if you're involved in events, I urge you to ask the company to work with the hotels that they're contracting with, determine whether there is a desk in the room, and to provide that information to you before you book.

Additionally, I'm hoping to build my own list of deskless hotels in San Francisco. If I do, I'll be happy to share that with you. This deskless issue has really annoyed me. I don't see letting go any time soon.

In closing, while Kemmons Wilson may not have identified the desk as a hotel room requirement when he was founding Holiday Inn, it's nice to know that the team at today's Holiday Inn Express recognize it's importance -- even if it did require them to do some A/B testing to get there.

Saturday, March 24, 2018

ICYMI - the NYT Story on Facebook’s Chief Information Security Officer Leaving

So I came across a link to this story again this morning -- I'd seen references to it earlier in the week. The story, Facebook Exit Hints at Dissent on Handling of Russian Trolls by Nicole Perlroth, Sheera Frenkel And Scott Shane was published on March 19. I think that the first thing I saw about this article was some back and forth about the NYT had changing the article to soften the treatment of Sheryl Sandberg, but I didn't actually dive into the piece at that time. What drew me back to this piece was a reference that I saw to this quote from a former Facebook employee.
“The people whose job is to protect the user always are fighting an uphill battle against the people whose job is to make money for the company,” said Sandy Parakilas, who worked at Facebook enforcing privacy and other rules until 2012.
Not that that isn't apparent from the Mark Zuckerberg interviews from this week. Clearly the business is in full damage-control-spin mode. In fact, as you read through the piece, it's hard not to come away with the feeling that Facebook management is attempting to do everything they can to avoid really addressing this issue. And they certainly don't appear to be making substantive changes to their operations. At the heart of this is probably the recognition that these issues strike at the heart of their business model.

Personal Data -> Super Advertising Demographic Targeting -> In a Box
In reflecting on it, I'm reminded of this story from 2012, How Companies Learn Your Secrets, about Target's big data team. This is the story where they took all of Target took all of their purchasing data, linked it with a bunch of demographic data, and then statistical analysis, they were able to predict things like when a customer was pregnant based on their purchasing habits.

In some sense, what Facebook does is take all of this advanced technical work that Target did, and sell it to advertisers, pre-packaged and conveniently gift-wrapped. In many respects, the issues from the 2016 election, Cambridge Analytica, and Facebook are all stories about this aspect of marketing. Consider this quote from that story:
“With the pregnancy products, though, we learned that some women react badly,” the executive said. “Then we started mixing in all these ads for things we knew pregnant women would never buy, so the baby ads looked random. We’d put an ad for a lawn mower next to diapers. We’d put a coupon for wineglasses next to infant clothes. That way, it looked like all the products were chosen by chance.
“And we found out that as long as a pregnant woman thinks she hasn’t been spied on, she’ll use the coupons. She just assumes that everyone else on her block got the same mailer for diapers and cribs. As long as we don’t spook her, it works.”
Of course, as I've noted in the past, with Facebook and our broader experiences on the web, there's a built-in aspect of believing that "everyone else on the block got the same" page / view / experience. In the case of Facebook, their core platform and their business model is all about this data -- masked by the presence of family and friend photos so that they "don't spook" users.

Friday, March 23, 2018

Facebook vs. Google and Your Data

This morning, Josh Marshall at Talking Points Memo had this thoughtful editorial post about Facebook, Facebook Acts Like a Law Unto Itself. The gist of it is that Facebook is and has been exceptionally reckless with their user's personal data.

As I read through his piece, the thing that came to mind for me is a bit of the contrast between Facebook and some of the other tech companies out there that often get painted with the same broad brush. Take Google as an example. While we often here about how much data Google has on everyone, historically, I don't think Google has shared or exposed that personal user data in the same way that Facebook has built it's business doing. Sure, advertising represents a huge portion of Google's business and you can now do more specific audience targeting, but I think Google has been far more protective when it comes to access of user's personal data.

The Roots of Their Business Model
When I think about the history of Google, it always seems more like the story of a organization of software engineers that fumbled it's way into a successful business as opposed to a team of people trying to build a successful, dominating business. Google's search engine was doing it's thing and growing it's base well before they ever rolled out their Adwords experiment. Adwords made their company, but it's success was in no small part enabled by the accessibility that they built into the core of the program. But ultimately, Adwords was really an experiment. And remember the values that they espoused in those early days -- that they wouldn't simply place ads or rank results based on dollars spent, a quality relationship to the results needed to be maintained?

Over the years, even as Google has experimented in many directions and had their fair share of encounters with regulators and legal systems, for the most part (to my knowledge), they have made an effort to keep their user data secure. Perhaps that may have crossed some bounds when they pushed toward Google Plus and their efforts to compete with Facebook -- and as the company began to run more like a business and less like a collective of engineers sitting on a magic money-making machine -- but even then, I think Google has behaved differently.

Contrast that with Facebook's origins as, essentially, something more like a dating site. Facebook has essentially sold it's user base on the notion that sharing as much personal data with them as possible is a good thing. I remember a story from years ago about how Facebook manipulated your feed algorithm in order to help drive your engagement. The methodology anecdote went something like this: if you are a guy and your engagement metrics were dropping off, Facebook's algorithm knows that you were more likely to be engaged if you posted a pic - so they would push a woman in your friends list to post a pic which would, apparently, increase the likelihood that you would post a pic. And be more active on their platform.

Try and think of an analogous behavior from Google.

Yesterday on Twitter, I came across this thread from Francis Chollet that I think summarized some of the real danger underlying Facebook.
The problem with Facebook is not *just* the loss of your privacy and the fact that it can be used as a totalitarian panopticon. The more worrying issue, in my opinion, is its use of digital information consumption as a psychological control vector. Time for a thread
It's definitely worth your time to take a read through his thread.

Wednesday, March 14, 2018

It's Not Just You: Apple's Siri is a Dissappointment within the Company

Here's an interesting post from Macrumors about Apples' Siri product and the history of it's lack of development. It's definitely worth a read. The article goes into the history of Siri, including things like how earlier versions of the Homepod didn't even include Siri. The post is drawn from a longer article here, but the article is behind a paywall, so you may not be able to see the longer version.