6 Things I know to be true (Enterprise edition)

It’s not often I get swept up in a company’s mission or philosophy. I’ll admit that years of service in the technology industry have left me just a little jaded and cynical. I’ve seen the noblest intentions fall by the wayside when it becomes expedient to do so. A case in point are all the patents I filed while at Microsoft, passionately seeking to defend the beleaguered stalwart against the hordes of patent trolls waiting under the bridge. I never dreamed that Microsoft would pick up the armaments I donated and fashion them into weapons to extort and threaten competitors.

Not that I’m so bold as to say any of my patents are currently being used to attack others, but I know they are waiting in the storeroom, and I now have little faith that they won’t be used for ill purpose.

Six things I know to be true

Six things I know to be true

So it is with some amount of trepidation that I lean on Google’s ten things we know to be true, for the foundation of this blog post. Somewhere inside of me there is still a little girl, whose eyes light up when her dad gets home from a trip. She wants to trust in the noble intentions of the leaders in technology, and see into their philosophy a purity of spirit. Though I doubt this is completely true in any large organization, I know that Google tries hard to live up to it’s ideals. So it is without delay that I present Vanessa’s

6 Things I know to be true (enterprise edition)

1. Focus on the user and all else will follow.
This is as true for enterprise offerings as it is in the consumer world. It just takes a bit longer to catch up to you in the enterprise world, but when it does it crashes on you like a tsunami that has been gathering strength through the delay. Just ask RIM,  who are drowning underneath the twin waves of iPhone and Android. All those sales contracts with IT managers can only hold out so long against the will of the users. Enterprise users are users too. It is at your peril that you ignore that fact.

2. It’s best to do one thing really, really well.
Ever worked on an enterprise application falling over from all the features? One so bloated that it’s impossible to tell where you can shove the next control because you’ve filled up three sides of the screen, and design has told you the footer is off limits? Then you’re trying to do too much. If you’re fighting a checkbox war with your competitor you will eventually lose your way. Simple beats complex. As in rule 1, it takes a while for this to set in for enterprise applications. It takes a while before the feature bloat makes them difficult to maintain, understand or offer training for.

2a. Corollary: If you must do more than one thing, be clear which thing you’re doing at the moment
You can’t always get away with the laser focus of a single search box on a blank white page, but you can make it abundantly clear to users what the one thing you’re trying to offer up is right now. You don’t need to lock them into a wizard, but a judicious use of progressive disclosure goes a long way.

3. Fast is better than slow.
For those just finishing computer science degrees this decade, “enterprise class” has the connotation of slow, cumbersome and expensive to manage. Just ask any new graduate what they think about their company’s SharePoint server and you’ll see what I mean. In fact, performance is even more important in the enterprise world because it directly translates to bottom line savings. I cringe when I see enterprise applications piling on features at the expense of performance. Performance is the feature that improves all other features. It can also be the malaise that infects your entire system.

4. You don’t need to be at your desk to need an answer.
If you don’t have a mobile version of your software or service available or planned then it’s only a matter of time before a competitor will use this to win your contracts. Today a mobile website is the bare minimum, I’d go so far as to say an iPhone, iPad and Android app are the price of entry. Don’t use your competitor’s lack of mobile acumen as an excuse to delay – use it to your advantage!

5. Great just isn’t good enough.
The days of being content with shipping a minor update every three years are gone. Whole industries change in that time. If you’re not delivering constantly increasing value to your customers, someone else will.

6. This really all boils down to – when building enterprise software, do what you know is right for consumers
Few would think of launching something new for consumers that didn’t have a website and mobile apps. Or a slow, badly designed, feature bloated offering desperately lacking focus. It’s not hard to build good enterprise apps, but it takes thinking like a consumer to do it. You might sell the IT managers on a checkbox list of features, but it takes more than that to win the hearts of users.

What do you know to be true about building enterprise software?


photo courtesy of rosmary

Fix broken Facebook sharing – Jetpack only shows the post title in og:description

It’s beautiful and sunny outside. The temperature is a refreshing 60 degrees, and I’m eager to get outside and enjoy the day. Before venturing out I say to myself, “Vanessa, there was a great article you wrote a while back, why not share it on Facebook so others can enjoy it?”. With the certainty that it will be quick I hit the share button, craft some stunning literature about why this article is relevant today and spend the next three hours fixing Jetpack’s broken treatment of og:description.

If you’ve found this page, you’re probably struggling with that same thing – when sharing on Facebook, instead of inserting your expertly crafted post description you just see the title repeated again. As great as your site may be, this is not a welcome invitation to sharing. After three hours of investigation, taking my entire network of sites down twice and much help from this Reddit Article, this WordPress forum post and my own limited PHP skills I have a solution to share.

If you’re using Jetpack, there are three things you need to do to get your blog posts to show up with the correct description when shared on Facebook:

  1. Add code to your theme to correctly set the og:description property
  2. Comment out the code in the Jetpack plugin that incorrectly sets this
  3. Make sure your Excerpts are set

 

Add code to your theme to set the og:description property

Add the code below to the header.php file in your theme. You can find this going to your WordPress dashboard, clicking on Appearance, then Editor.  It’s useful to make a careful note of what you’re changing so you can undo it later, or better yet – backup your files before changing. In general changing your theme files won’t cause too many bad things to happen if you get it wrong.

<?php
if (is_home()) {
echo ‘<meta property=”og:title” content=”Your site name”/>’;
echo ‘<meta property=”og:description” content=”Your site image”/>’;
echo ‘<meta property=”og:image” content=”http://images.yoursite.com/image.png”/>’;

}

else {
echo ‘<meta property=”og:title” content=”‘;
echo single_post_title();
echo ‘” />’;
echo ‘<meta property=”og:description” content=”‘;
echo strip_tags(get_the_excerpt());
echo ‘” />’;
}
?>

Comment out the incorrect og:description code in Jetpack

This one is a bit trickier – so be careful! I brought down my entire network of sites twice because I was trying to get too fancy. Yes, it’s possible to edit Jetpack and put all the code there instead of in your theme, but it’s safer to make as few changes to plugins as possible.

First, edit the Jetpack plugin by going to your WordPress dashboard, select Plugins, then Editor. In the top right select ‘Jetpack’ as the plugin to edit. Now choose the ‘sharedaddy.php’ module on the right by clicking it.  Then click on jetpack/modules/sharedaddy/sharing-sources.php, also on the right. Do a search on the page for og:description and you’ll be taken to code that looks something like the below. Comment out the two lines with if ($post… and echo ‘<…

Hopefully Jetpack fixes this in the near future, but until then you’ll need to add the comments back whenever you upgrade your Jetpack plugin.

public function display_header() {
if ( $this->share_type == ‘share’ ) {
// Set the open graph description, otherwise Facebook may pick up some random text from the page
global $post;

//Comment out because Jetpack is lame with og:descriptions
// if ( $post && $post->ID > 0 )
// echo ‘<meta property=”og:description” content=”‘.esc_attr( apply_filters( ‘sharing_post_title’, $post->post_title, $post->ID, $this->id ) ).’” />’;
}
}

Set your excerpts to get the correct og:description

Lastly, you need to set your the excerpt on your post to get the correct description. It’s not enough to have a description set in an SEO plugin like All in One SEO Pack, because the get_the_excerpt() function only looks at the WordPress excerpt. The excerpt should be right under your post edit box in WordPress, though it may be hidden in later versions of WordPress. You can bring it back by selecting Screen Options where you’re editing your post.

Phew!

You’re done! Congratulations! Test everything and do a quick share to make sure everything is working.

Windows Glass – Microsoft’s Problem Isn’t Innovation

This last week Google announced a really exciting look into the future called Project Glass. Naturally, Google debuted it with a YouTube video that enticed you with the possibilities, but they did more than that. This wasn’t some futuristic video meant to inspire people to build interesting products, this wasn’t just a prototype one researcher had cobbled together in a lab somewhere – this was an actual alpha product that many Googlers have since been seen sporting around town. I am, unfortunately, not among them.

Microsoft Windows Glass 2012 Service Pack 2 R3

It didn’t take long for the Microsoft parodies to start. Pitting innovative Google against a Microsoft that was still partying like it was 1995. The first video decries Microsoft’s overuse of dialogs, pop-ups and notifications. I would come to Microsoft’s defense on this one, were it not all too true. It seems like I’m constantly interrupted on Windows by crap I don’t care about. I’m looking forward to my upcoming upgrade to a Macbook Air (Hurry up and release the new ones already Apple!)

 

The parody continues with these old style View-master glasses, wittily branded as Windows Glass. Seeming to reinforce a common perception – while the rest of the world has moved on, Microsoft is just sitting around listening to 8-track tapes and raving about color TV. It’s surely a common refrain from many that Microsoft has lost the ability to innovate, that other large tech companies continually run circles around Microsoft. Whether it’s Apple trifecta of iPod, iPhone, iPad, or Amazon’s AWS or pretty much anything Google has done in the last 10 years.

Microsoft doggedly improves Windows and Office. Milking it’s cash cows for all they’re worth. Sometimes they take a step backwards (Vista, and IMO Windows 8), sometimes they have a hit (Windows 7, Office 2010). All the while slowly losing share in servers, databases and anything to do with the web or big data. Every now and then they’ll strike out in desperation and the predictably grim results – Zune, Windows Phone (though I think they still have time to become a 5% market share player here). Occasionally they’ll do a great job copying a competitor (Bing). Even rarer is the breakout hit where they redefine a market (Xbox).

Looking at this track record it’s easy to assume that Microsoft has an innovation problem. I don’t believe that is true.

Microsoft has a Windows and Office Problem

Specifically, things which aren’t good for Windows or Office rarely, if ever, see the light of day. Like a good example in the making for the next in the Innovator’s Dilemma series these projects are killed. Whether it’s an irony laden turn by Windows/Office senior management to ‘cut off their air supply’, or a slow leaking of resources so the project has no choice but to rot – the end result is the same.

You might think that I’m awfully down on Microsoft, I’m not. The truth is Microsoft is GREAT at innovation. You only need to take a quick gander through some of the great ideas and prototypes that come from Microsoft Research. Everything from the pinch-and-zoom mobile browsing we take for granted on the iPhone (Microsoft and Apple have patent cross licensing deals), or Cleartype text that makes innovative use of LCD characteristics to improve text quality, or XML HTTP Request which birthed web apps.

When I worked at Microsoft I would browse the annual Techfest like a kid in a candy store. The scope of innovation was broad and deep, with some of the best ideas at least on par with Google’s Project Glass. It was a phenomenal demonstration of visionary and innovative thinking.

But it stopped there. It stayed as visionary and innovative thinking. It stayed with the handful of researchers who broke the ground. It rarely made it into a product or shipped alone to users to refine and get feedback. Most of the great ideas died on the floor of Techfest, or came back year after year until it was nothing more than the decaying zombie ravaged by the progress of time and technology.

I Want Microsoft to Deliver Innovative Products

It might sound odd for someone from Google to passionately want Microsoft to deliver innovative products. If you step back for a moment you’ll see that no single company can ever have all the great ideas or push the industry forward. It takes many companies working with slightly different goals and biases to fully explore a space and push technology forward. In fact, it takes more than just companies – universities and government are important partners. If you doubt government’s inclusion you may go ahead and shut off your Internet and stop using GPS now.

Microsoft’s window of opportunity to impact the evolution of technology is closing. Please, don’t kill your innovation before it can grow up.

 

7 Things I Hate About My Galaxy Nexus Android Phone

Hate is a word that seethes with maliciousness and bubbles with discontent. As you utter it you can feel the weight of the myriad curses it drags along with it. So it is with much difficulty that I use such a richly endowed word to describe my four months old Galaxy Nexus Android phone.

7 Things I Hate About Android

7 Things I Hate About Android

I’m also aware, that as in any relationship, strong emotions are usually felt in both times of joy and times of despair. In some sense the presence of things I hate about Android also foreshadows a number of things that I love about the device. (a list I will share in a future post).

In fact, if the list of things I love didn’t balance out my perception of the device I may no longer own it. As would be the case had I the misfortune to purchase a Windows phone. Thankfully I was able to use my friend’s phone for a sufficiently long period to realize that Windows Phone is a great OS for the market two years ago, but has far too many annoyances and complexities for me to tolerate using it for an extended period of time.

A betrayal ?

I always find it fascinating how employees of a company are expected to bow slavishly in reverence to products their company produces. As if somehow the part of our brain required to form an objective opinion is removed when we sign the employment agreement. As a disclaimer, this represents my opinion only and not my employer’s. There are many Google products I love dearly, and the Android phones are by and large great phones.

But there are a few things I hate

Performance – stutteringly slow and unreliable: It would appear that my phone is in a race with my Windows PC to see who can resurrect itself the slowest. Like a benign zombie giving the protagonist a few extra minutes to escape my Galaxy Nexus lurches slowly towards life. This could be forgivable, except for the fact that even when running the performance is unreliable. Sometimes it’s lightening fast, and other times I find myself pressing a control multiple times to try and get it to register.

Time is too exact and other niggling details: I have no need or desire to set calendar appointments or alarms to the exact minute. Yet Android forces me to scroll through every minute, making setting an alarm or appointment 12x as difficult as it should be. I notice this in other places in the UI as well – a desire to provide precise control that detracts from the overall usability.

Inconsistent UI: It’s like a game trying to figure out where the menu command will show up. Is it at the top, bottom or in pre-ICS style down below? While ICS has made some improvements I find it irritatingly inconsistent to have controls in gmail show below the app while all other ICS apps have the controls on the top.

Likewise it’s a mystery what the back button in the control bar will do in comparison with the global back button. Sometimes the app back button jumps back three steps (like in Google reader), and sometimes the global back button jumps out of the app entirely. I’m sure it made sense to someone at some point…

Big foot, only for hands: The Galaxy Nexus is a monster, I can barely hold it in one hand. All too often I find myself reaching for a control only to find I have tilted the phone at such an angle that the orientation switches. Since the accelerometer takes eons to detect a change it’s twice as frustrating to get it back to the right orientation again.

AirPlay where art thou?: AirPlay unlocks amazing cross device multimedia scenarios. Apple has made this an almost perfect experience and one I can’t live without. There are some apps for Android that support AirPlay (like DoubleTwist), but most don’t. I find myself forced to watch a YouTube video on a small screen when on any iOS device it is just two taps away to watching on my 46” Apple TV powered screen. And every time I find a video or song that is trapped on my phone I die a little inside.

Battery life: The Energizer bunny would long ago have disowned the Galaxy Nexus, which struggles to keep going past lunch. Far too often my phone barely makes it through to 7pm before battery warnings sound. My iPhone was no wonderful preserver of chemically stored energy, but it would always get me through a day on a charge. Sometimes two if I nursed it gently.

No hardware button: It’s not that I’m in love with the hardware button itself, but it provides a good guide when typing. For the first few weeks I found myself accidentally hitting the home key when I pressed space, and ever since then I accidentally hit b instead of space because I’m over compensating in the other direction. Not only does it make typing more annoying, but for the life of me I can’t figure out which way to hold the phone when I just pick it up. This is most annoying when I just want to tap a button to see the time, and I end up fumbling around all four corners of the phone.

In conclusion…

There is a lot to enjoy in the ICS interface but I must admit to pining for my iPhone. I gave it up for a Nexus S a few years ago. Foolishly thinking I was satisfied I continued to choose Android. We will see what the next release brings, but I am almost certain that Apple will entice me over with the iPhone 5.

What are some of the things you hate (or love) about your Android phone?


Photo courtesy of laihui

 

Okay Apple – You Win!

I’ve tried really hard to not make every device in my home yours, but I can’t stand it any longer. I’m tired of putting up with second rate solutions that half integrate. Samsung is light years ahead of the rest of the non-Apple hardware manufacturers, and still they fall short.

Apple Logo

First to the PC. All I’m trying to do is buy an ultrabook that is powerful, thin and light. Then hook this ultrabook up to a large monitor to get at least 2560×1440 resolution. Ideally the hookup would only involve one cable, but I can handle two.

Since I’m so used to Windows, and my previous attempts at OS X usage were dismal failures I started my search with Samsung. The Series 9 is an object of beauty and comes in lighter than the Macbook Air. Yet it falls woefully short when trying it comes to completing my setup.

The Samsung Central station is a great idea, but it’s supported resolution tops out at 1920×1080. The still-on-it’s-way Series 9 monitor handles the resolution, but there are no docking stations for the Series 9 laptop. So that also fails. Not to mention the fact that both the laptop and monitor are more expensive (shock!) than Apple’s offerings. If the wait for a Galaxy Nexus dock is any indication, then it will be a long time before I’ll be able to hookup a shiny new Series 9 laptop to a monitor.

Out the box the Macbook Air integrates with Apple’s monitors for a stunning 2560×1600 resolution. And it’s just two cables – a thunderbolt and a power cable that are needed.

The iPad and Airplay are my halo experience

Really for me, it all revolves around the experiences I have with my iPad, Airplay and Apple TV. The integration between these is so seamless, and is something I use every single day that I couldn’t imagine a world without them. And this forces me to make other decisions. Like which cloud music service to use, because Google Music and Amazon Music aren’t available on the iPad.

I could sync everything manually, sure. Yet as wonderful as the hardware experiences are, iTunes leaves something to be desired, and I’d prefer to open it as little as possible. Besides, I don’t want to go to all that hassle – devices are supposed to make my life easier, not add extra management to them.

Airplay is also another reason why a Macbook and an iPhone make more sense. My whole house is setup already to receive.

It’s also about phones

As much as I love the deep integration of Google services into Android (Google Voice and Google Navigation in particular), the entire experience still falls short of Apple’s perfection. It took months and months for Samsung to come out with a dock for the Galaxy Nexus. The choice of accessories and cases is anemic. Not to mention that the behavior of apps is inconsistent at best. I’ll hold out on my Galaxy Nexus through the end of the year, but I can picture very few scenarios where I don’t buy and iPhone 5.

Google and Dropbox have freed me

The wonderful thing about the cloud is, it can free you from the tyranny of a single platform provider. At least, from the platform that doesn’t offer such a seamlessly integrated experience across devices like Apple. Part of me fears that I’ll never be able to leave because they are so good. For the longest time there were really two things keeping me on Windows. First was my deep familiarity with Microsoft software that goes all the way back to DOS3.

Second, was Office. An in particular OneNote – even though I’ve had a rocky relationship with it in the past, their release of both an Android and iPad app rekindled my love for OneNote. Yet it became quite apparent how I would always be frustrated waiting for Microsoft to take advantage of the latest non-Windows platform trends. Within a day of announcing the new iPad, Evernote had already updated their app to take advantage of the retina display.

I’ve long since moved all my other document needs to Google Docs, and with Dropbox it’s now as simple as installing a plugin and all my files are available on my new machine.

What’s the verdict?

30 minutes after purchasing the Samsung Series 9 I had buyers remorse and cancelled my order. I’m going to wait for the next Macbook Air to be announced in the next 2-3 months (my best guess) and then go through the painful process of learning a new operating system.

I’m going to switch to iTunes Match and iCloud for my purchased music because I’m tired of waiting for Napster/Real/Microsoft/Google/Amazon/Rdio/Spotify/Slacker to offer a great experience for purchased music on the iPad.

I’m going to buy the iPhone 5 next year, and spend extra money to get a 3rd party navigation app.

Apple, you win.