Tuesday, April 28, 2015

Photography and Skin Tone

Here is an interesting article I came across talking about the history of photography and how the process was optimized for white skin tone. If you've spent any time attempting to color correct or color-balance a photo with a number of people in it, you're probably familiar with some of the challenges and limitations.

One thing that this article seems to miss is that there's also a skin type that seems to celebrate the reds in the photography process. Often, when you get this skin type, it looks like the person is in the middle of a drunken bender -- something I used to think was entirely possible for one of the corporate executives that had this skin type. Sadly, I seem to have hit this stage in life myself -- the exceptionally red-face, not the drunken bender -- and I'm often plagued with trying to desaturate the reds in my face without screwing up the rest of the image or making me look unnatural. It's a reminder that, for however good the newest cameras might be, there are still limitations inherent in the process.

Tuesday, April 21, 2015

Ethics, Business and the Economy of Principles

How big of a factor do your values and principles play in your career choices? Do you 'make a difference' through your job? Are there certain jobs or activities that you simply won't do, no matter how much you might be paid?

How much of your own personal values are you willing to give up for a chance to grab some great prize? The torturous life of the trade-offs -- it's a classic literary theme and a heroic myth that we carry along in our day-to-day lives, shaping our decisions and our struggles. What character are we playing, the heroic rebel, the principled sage, the idealistic fool, or the spineless corporate sycophant?

By it's very nature, work is a choice with a host of implications and moral ambiguities. We all have to make choices. Each choice has consequences, and we all have to measure our choices against our ability to endure the consequences, good or bad.

Taking A Stand
Myself, I've tried to follow a core set of principles and values throughout my career. There was a time when an employer could require an employee to take a polygraph test just to be considered for a job. There was this record store that I thought would be cool to work for, but they required a polygraph test. While I found myself tortured by the 'potential' of work, my principles told me that any employer that required a polygraph was not a place that I wanted to work.

Principled decisions are easier when they aren't life threatening. When you aren't starving or cold, and when the decision won't put your loved ones in jeopardy, it's easy to be selective. But as we gain responsibilities, the weight of saying 'take this job and shove it' becomes increasingly heavy. Got a spouse and kids who depend on your salary to provide food and shelter? It can transform you into a virtual indentured servant.

In the past, our moral choices might have centered on things like whether or not to work for a tobacco company or in the defense industry. These days, moral decisions may be taking a McJob with no health care benefits versus holding out for something with some semblance of a living wage. Or, if your lucky, whether to put up with the demands of an over-reaching work environment or desperately search with hopes of something better.

In Silicon Valley, you get used to the idea of living with your career head in the corporate guillotine, but our ecosystem depends upon being able to easily shuffle from one unstable opportunity to the next. Making great products requires a moral commitment from the people involved, a passion and a desire to do what's necessary to make it great. That moral commitment goes hand-in-hand with the flexibility to become disenchanted, pick up your toys, and go. When people lose that freedom or are forced into unpleasant resolutions of those moral choices, sucky products follow.

If work is a contractual agreement between you as a laborer and the business you work for, then fundamentally, your power as a cog in the labor force is the ability to interrupt or cancel that agreement. Whether as an individual or a collective group, this is your leverage in the relationship -- to say that the situation isn't acceptable and that you won't participate. It's an axiomatic component of our free market system, the basic check and balance that says, "you have other alternatives."
Some of the most talented, capable people I've known were people who, in the midst of watching the march to an IPO, looked at the direction that the company was going and said, "nope, this is no longer the kind of business I want to be a part of. I'm done." For some, ethics and values are can be more important than easy money.

Today's Ethics
How much does ethics affect your choices these days? Would you work for a company that makes military tech? What about a company like Palantir that provides 'surveillance' networking tech? Would you work for a company like Uber? Do you speak out in your company about improper use of private customer data? Does your company use aggressive electronic tracking techniques to obtain data on customers, or, would you work for a business that practiced these kinds of behaviors? Where is your line that you won't cross?

Or, on the other side of all of that, does none of it matter? Are you dreaming of your opportunity to get Zuckerberg money? Do you imagine the day when you can be Travis Kalanick and run your business as an extension of your philosophy? What would your TED Talk be about?

Monday, April 20, 2015

Apple Yosemite, iCloud & My Shit Don't Sync

Another day, another frustration with Apple's brilliant implementation of software. Today we have the next chapter in "Everyone Must Use Yosemite, possibly the worst implementation of Mac OS to get shoved down our throats". It goes without saying that I truly hate this version of the OS, but my dissatisfaction just keeps getting worse and worse.

As you may have noted from a previous post, I use 1Password software to manage my passwords. Since my first challenge during install, overall I've been pretty happy with the software. It does as promised and has operated without fail -- although typing your long master password into your iPhone consistently can be a challenge, but that's a user issue.

So I've been happily running 1Password on my work system, my home system, and my iPhone, but I started to notice an issue. As I began to look carefully at the list of passwords, I happened to notice that the number of passwords on my work system didn't seem to match the number of passwords on my home system. And yet, when I checked the sync settings, all of the settings appeared to be correct. Both systems were syncing to iCloud and claimed to have synced within five minutes of when I checked the settings. It says it's correct, so it must be correct.

Then one day, I went to perform an operation at work that I normally perform at home. After three attempted password entries using my work 1Password, I was locked out. After getting the system reset, I checked the password on my home system and discovered that it was different. Sync does not quite what mean what you think it does. I started to think about contacting 1Password's great customer service team, but I thought I might search for a solution before I contacted them. Unfortunately, I couldn't find a clear set of similar experiences easily and moved on for a bit. After all, if you're careful, you can manage this issue, even if you don't know what it is.

So one other issue with using 1Password came up as I learned more about the root cause of the sync issue. When your system restarts, if you're presented with a password menu -- like the login screen for iCloud and your iTunes password -- you don't have access to the password on your system until your system is up and running. Meanwhile, the geniuses at Apple (not the ones that work at the stores) implemented the Yosemite iCloud login such that, if you don't log in during that boot time, the installation and login fails. If you try to go back to iCloud through the control panel, it's too late -- your hosed.

As it happened, I discovered this error when I happened to have a written copy of my password with me during the restart process after the most recent system update. It then took me to the iCloud upgrade process -- which should be called the iCloud buster. It offers to update your iCloud, but with two choices -- if you don't update, none of your computers can share files stored on iCloud. If you do update, your computer that's running the old version of the software won't be able to share files with the devices on the new versions of the OS. Hobson's choice. Gotta love the new Apple -- way to do backwards compatibility.

It's not 1Password that is the problem, it's Apple's iCloud. My solution path is either I can update my work system to Yosemite -- but since I can't stand the stupid pastel transparency interface, I don't want to do that. Alternatively, I need to use a different method (like Dropbox) in order to sync my passwords -- essentially, paying to not use Yosemite. Right now, that's looking like the preferred option.

Perhaps the funniest part was right after I finished the Hobson's choice iCloud upgrade, the system presented a message that said, "hey, you've updated your iCloud. Would you like us to encrypt your hard drive and store the keys in your new updated iCloud?" Uh, yeah, no thanks. You've already done enough. Is is too late to reinstall Mavericks?

Friday, April 10, 2015

Salesforce.com and POP/IMAP Email Sync - An Update

Recently I wrote about how Salesforce had decided to EOL support for POP/IMAP in it's Outlook Connector. Since that time, I spoke with my Salesforce account rep expressing outrage. If you're reading this, I hope that you have too. I'm still considering writing a similar 'outrage' email that I send to Marc Benioff.

In positive news, community specialist Kristie Garafola has updated the success.saleforce.com page on this issue. She is now asking for input as to what POP/IMAP platforms you are using.
Hi Everyone-  I’ve been speaking with our product team to get more information for you and have a few questions.  Can you see below and let me know your thoughts?

IMAP and POP3 are communication protocols to access email servers. What we need to know to address the request is what are the email servers you are connecting to (through IMAP and POP3) when downloading your email? If it's not an Exchange Server, is it mostly Gmail? What about other email services? Understanding what email servers you’re connecting to and their popularity will help us prioritize our focus beyond Exchange.

For those currently using Apple Mail on Mac to connect to an Exchange server, you may use our Exchange Sync model and get calendar events and contacts syncing. With Exchange Sync, it does not matter whether the user is on a Windows machine or a Mac, and which email application is in use, as long as the back-end email server is Exchange 2010 or 2013.

As for the Salesforce App for Outlook, it will work in OWA on a Mac when using a browser, and eventually on Outlook for Mac when downloading it from Office 365 (i.e. only the newest version).

We can evaluate bringing support for IMAP and POP3 with SFO, or even better, explore the possibility of porting Exchange Sync-type capabilities to sync contacts and calendar events with Gmail. Once I have more information on that, I will post again.
There's more, but I didn't want to grab the whole thing. On the upside, what I take from this is that the outrage is being discussed. I don't think that they're in full-on head-slap mode, but I think that they know that there are a bunch of people who are pissed. At the same time, I'm not sure if it's enough outrage to actually spur action -- or simply one of those "oh yeah, we're listening" followed by nothing.

What I take from Kristie's post is that she's trying to get a grasp on an issue with outrage (Salesforce for Outrage?), but she does not seem particularly versed in the technology of email. Her post reads sort of like somebody who stepped into a quagmire of crap, then discussed the issue with the product team and they responded with something like "fine. which way should we through the rope to pull you out..." followed by more frantic sinking.

There are really a couple of issues here:
First and foremost: Salesforce.com's solution for handling email integration and syncing SUCKS! For years, they have provided support for Outlook integration (early on, it was seemed like it was important to them, but the first step down the FAIL path started with Salesforce for Outlook). When they partnered with Google to do Google Apps integration, they could have implemented a Gmail integration at that point -- or shortly thereafter -- but they didn't. As for Mac email support, probably the best tool was always the MailDrop app developed by a guy who thought it would be useful -- but never adopted by Salesforce. And he's quit supporting MailDrop. Bottom line = Email Sync is really an afterthought.

Second: Kristie's post gets a little muddled in dealing with the difference between clients and server sorts of issues. Put simply, the client is the thing that lives on your computer, the server is the email system that lives in a data center or in the cloud somewhere. It's the place that collects your email when you're not connected.

Connect for Salesforce was client-side add-on. It was designed so that a Sales guy could install it on their system and sync their emails to Salesforce. MailDrop and most other email sync tools are client-side add-ons. A server-side sync tool would require that your IT team install something on their overall email system. Most IT teams hate doing this because the software (e.g. Exchange) that runs email is finicky and a bit of a pain in the ass to run. Between SPAM, hacking and other mysterious issues, the server side of email is sort of like the Devil's Triangle of IT -- beautiful when the weather is nice, but subject to spontaneous bouts bad.

Salesforce for Outlook claimed to be a server-side sync tool, but the reality was that, while there were server-side permissions, it is still a client-side add-on. In it's early days, essentially what Salesforce for Outlook would do is sit on your system and, when you flagged something to sync to Salesforce, use the same basic approach as Email to Salesforce (where you simply BCC your email to Salesforce). That's why it worked with POP and IMAP even though it wasn't "supported".

This confusion between client-side and server-side makes sorting through solutions and planning an updated roadmap even more challenging. While Exchange is popular, we use Google Apps and Gmail, but there are others beyond that. From open source solutions to old systems or perhaps even for IT teams that just don't want to use Microsoft or Google, the back-end of email could be in place for a variety of reasons. For users on these systems, POP/IMAP typically provides the bridge to the client. Imagining a server side component to fit this landscape is like trying to imagine a single tire that fits every car. 

Back on the client side, there are wide array of options as well. On the PC side, one of the things that made Outlook such an attractive option for a Salesforce sync client is that Microsoft bundled it with their Office suite, so virtually everyone using the Office suite could potentially be supported. Are there other email clients? Sure, but building for Outlook probably touched the broadest user base.

Meanwhile, in the Mac world, there are different options. For a long time, people in the business world took the approach that the Mac didn't exist. Over the years, that landscape has been shifting significantly. While it might have been "tolerable" for Salesforce to ignore the Mac back in 2005, the times have changed. On the Mac platform, the Apple Email client is probably the default standard, but there are many email client options out there. For Apple users in the Microsoft realm, Microsoft used to sell their client as "Entourage" because it wasn't exactly compatible with the Outlook/Exchange environment. In recent years, they changed the label to Outlook, even though the Mac and PC versions are sometimes not equivalent. Historically, most Mac users connect to their email system using POP/IMAP, because most server side email systems don't support a proprietary Mac connection.

Google's Gmail lives in it's own special category. The server side of Gmail is managed by Google and the native email client is actually a web browser. Most business users would access Gmail through Google Apps which provides some administration tools and potential extensions or plug-ins. Google also develops extensions for Gmail; some are supported in Google Apps, some are not. Many users also connect to server-side Gmail through POP/IMAP and run other clients like Outlook, the Apple email client and others. It's probably also worth noting that the Outlook-Exhange interaction is so important to some businesses that Google actually built an Exchange-protocol support for Gmail in order to streamline sales of Google Apps to businesses. In other words, you could be in a business, connecting to Gmail through Outlook where your Outlook thinks it's communicating to an Exchange server even though it's talking to Gmail. This is part of what makes the SFO-Exchange server validation so frustrating for some end-users -- Gmail can pretend to be Exchange enough to satisfy Outlook, but not enough to satisfy the new SFO.

My Ideal Salesforce Email Sync Roadmap
If I were defining the product roadmap for email sync in Salesforce.com, here's what I would do. First, I would eliminate the Exchange Server validation in Salesforce for Outlook. Put simply, if it used to work and now it doesn't, you broke it. POP/IMAP support in Outlook takes care of a huge chunk of legacy systems and users on the PC. I would also make an officially supported sync tool for Mac and the Apple Email client. It's overdue. This should address a broad cross-section of users out there. I would also partner with Google to offer a plug-in or extension for integrated sync from Gmail and Google Apps. An easy extension for syncing to Salesforce from Google Apps would be a big win for many in the SMB market. This initiative would say, once and for all, that Salesforce cares about email sync.

But my roadmap wouldn't stop there. There are some people that want to have a single integrated environment for eveything. If Salesforce added a browser-based email client -- ala the Gmail browser client -- they could pull emails into a window in Salesforce. For many users and administrators, the ability for users to manage their email from within Salesforce would bring a significant bump in adoption. Imagine if Email was a tab.

Anyway, that's how I'd set the table. What I actually expect to happen is some lip service to this issue, promises of future improvements, but no action. When you look across their existing "partner" landscape, there's a lot of money changing hands in email sync. Unlike the old days when platform providers like Microsoft, Apple, Facebook and Twitter saw something that looked like a cool extension of their functionality and, essentially, brought it in house, Salesforce has shown that their strategy over time is, if there is something developed by Salesforce Labs or some cool functionality that is convenient to bake in -- if somebody is willing to pay another $15-however much more per user for that feature, monetize it. If they don't support it and you have to pay an additional cost, oh well. Remember, your success is what's important to them.

Wednesday, April 8, 2015

Is Apple Becoming Dell? Transparency and the Exile of the Pro User

Yesterday, I finally disabled the transparency effect in Yosemite. After looking at something I was working on and trying to understand where the blue color cast was coming from, I finally realized it was coming from a blue area in the window below it. I've written in the past about how terrible the transparency effect is, but until it begins to negatively affect your work, it's easy to forget how insidiously frustrating it really is. It's really a complete departure from the days when we spent time and money to ensure that our displays were calibrated and our color previews were precise.

But this is the Apple we have now -- the Apple that's more focused on consumers and fashion than on the professional users who were lifeblood of their customer base back when there weren't smart phones and the rest of the world revolved around Redmond. We were loyal because the platform was ours. It was uniquely suited for the demands of type, design, video and images. As the web world grew, OSX was well matched with its Unix core.

But there is another thread inside of Apple, tugging on its designs and strategies; the drive to simplify. At times, simplify equates to streamlining complex processes, like using the GUI to move a file from one directory to another. Other times, simplified can best be described by the pre-OSX feature they tried to implement at one time, "The Launcher", a one click button to launch an application because -- I don't know, maybe double-clicking on the application was too complicated for some people. It was a stupid idea back then, but somewhere in the halls of Apple, there are still fans. iOS basically runs a Launcher interface, and Launchpad is now baked into OSX. And for pro users like you and me, it gets the same amount of use that the original Launcher did -- none. 

When they radically simplified FinalCut Pro, Apple faced a tremendous outcry from the professional video editing community. Some of that outcry resonated -- they added extensions to return a few features -- but if you look across the broader Apple software landscape, you'll see an overall weeding out of technical and control, instead being replaced by the idiot light or nothing at all. Remember the activity monitor in Safari? Gone.

So what does the Apple roadmap have in store for us? Who knows. I cannot help but expect the day when we're forced to have a giant clock running in the background because somebody has decided that OSX should mirror the functionality of the Apple Watch. Could they just give us an OSX pro version that doesn't include all of this crap?

Monday, April 6, 2015

Google, Mobile Usability Site Optimization and the Tyranny of the Algorithm

While we all recognize that the world is being reshaped by smart phones and mobile devices, there is still this difficult gray area that lives in the difference between mobile and the traditional desktop. Even Google struggles with it. Here's an example -- if you search YouTube on your desktop device, you can view a host of music videos, official ones from the artists associated with them. Try to view them on your mobile device and you'll have a difficult time. It's not the video format, it's their content rules that block your access.

Despite issues like this, there are people out there that want to remake the Internet, to change it so that you have "equal" access to the contents of the web, regardless of device. It's a noble goal, but it significantly underplays some critical differences between the desktop world and the mobile world. The "madness" destroying "the best minds of our generation" seems to be this fixation on making the desktop world function like the mobile world. Take Windows 8 and the "Metro" interface as an example. Or many of the stupid crossover features in the Yosemite version of Mac OSX. From a design standpoint, it's worse that the lowest common denominator, it's trying to force the desktop to adapt to the mobile-touch model.
I saw the best minds of my generation destroyed by madness,
     starving hysterical naked
Google has now decided that the rest of the world must follow this edict. If you're a webmaster, you've probably already received notices and alerts that they are updating their indexing rules to include mobile usability as a ranking factor in indexing. It doesn't matter if the vast majority of your traffic is not mobile, Google has decided that you need to tune your content for mobile.

For some industries, mobile traffic is anything but the norm. For a couple of sites that I manage, mobile traffic probably represents less than 10% of the traffic -- the business is primarily B2B and customers go from office desktops to the resources on the site. There just isn't a huge demand for importing 3D CAD files onto your iPhone. However, back in the halls of Google, this year's graduate class of geniuses has suddenly decided that Aunt Minnie should be able to see those pages of CAD files with an experience that corresponds to the same one an engineer with a high-end CAD station can.

Here's the crazy part -- remember when they decided that they wanted to include Google+ considerations in your search results? Because clearly you want a personalized search experience and, when your friend 'likes' those CAD files, it probably means that you'll want to check them out too. Anyway, Google is already delivering some level of "personalization" in their search results. But is is reasonable for them to tap a different ranking for desktop and mobile? It used to be, but not anymore. So says Google. Because it doesn't matter what you think you know about your customers, Google has decided that they know better. And they will change the world. You could ignore it, but that won't just affect the small percentage of people who might have a lesser experience on your site because they were using a mobile device. Now, it will affect your visibility to all of your customers.

Accessibility is not the same on the web as it is in real life. This "one-size-fits-all" approach, making everything adapt to mobile is deluded at the core. It's true that, when I'm mobile I want access to things like Salesforce.com -- and I need access to all of my data there. I want recipes and directions and sometimes shopping. I price compare. Sometimes I look up stuff in order to explain it. But, even if it were available on my phone, I wouldn't use my phone to create artwork in Adobe Illustrator. And more to the point -- I don't want Adobe to re-engineer Illustrator so that the one somebody-somewhere-who-has-decided-that-it-would-be-cool-if-they-could-use-Illustrator-on-their-phone is satisfied. This is not progress. This is not thoughtful product roadmap. These are outliers, problems best addressed by extensions or accessories.

A better path would be if Google simple called attention to potential mobile issues, but didn't include it in ranking -- unless you were ranking on a mobile device. I'd be cool with that. But they don't ask me. And it's their algorithm. We just have to live under it.