Organisational Culture and Tools

WSJ did an interview with Ben Fried, Google’s CIO, recently on how internal IT tools impact organisational culture. Several pertinent points were covered, and here are some that struck me, along with my 2 cents.

CIOs need to understand the cultural thing—they define the culture of their company by the technology they give to their employees. So much of the culture stems from how we work.

The statement of fact that culture is an outcome of how we work is not recognised enough. On one end management often wishes their teams were more nimble in their execution but do not provide the support structure and the tools necessary to accomplish it. In balancing between predictability and speed, traditional organisations often choose predictability. Of course, few modern enterprises like Netflix, Amazon and Google seem to have mastered being predictably nimble and it shows in the kind of tools they have built and even open-sourced. 

The right thing to do is to help people be as productive as possible, and the way to do that is…to understand the toolset that people who come to work every day know how to use…and want to use. To the best of your ability, you need to give them that toolset. When you do that, it creates a completely different organizational culture.

 When people feel like they aren’t part of the decision-making process, they feel treated like children, they feel resentful and you find examples of belligerent compliance. When people feel like they have had a say, like they have been empowered, you get collaboration and cooperation.

Could not agree with this more than I do now. Winning organisations aim to reduce friction, and tool choice is such a critical part of enabling people to executing on business goals. Just remembering SharePoint intranet portal gives me shudders! Or how many hoops we had to go through to get a space on the corporate data centre, as compared to situation in a start-up where virtual instances are made live on-demand on AWS in a couple of minutes. 

So how do these organisations support the technology diversity that emerges? 

We can’t afford to have technology support where there are cookbooks and rules and every possible change is documented in advance. The people we hire to do support are more like systems administrators in another company. The first responder closes the ticket over 90% of the time in my organization.

That completely nails it. Instead of hiring the resource you can get and having them follow documented processes, they hire people skilled enough to be systems administrators and have them address complexities that arise. There is minimal documentation but the skills make up for this deficiency! Am sure this approach would be shot down in a traditional setup. Of course it would cost more to hire such a person but the agility that results more than makes up for the cost. 

On a side note, in taking our CollabLayer product to market I have noticed this culture aspect cropping up. Traditional organisations, with investments in tools like SharePoint Portal, find it a culture shock to have our system bubble up semantic connections implicit within their content. Their first question often is whether we are secure! Our system obeys security rules in highlighting semantic connections in content but still older cultures take a little time adjusting to increased transparency.

As a contrast, smaller teams who need to accomplish more with less people love our approach to managing content & conversations around them and insight discovery. Guess it boils down to what Ben mentions, culture does stem from how we work, and tool choice is a factor in this equation. 

Check the whole interview with Ben Fried, worth mulling over whether your organisation can benefit from such an approach. 

The Apple Method. Steal it, If You Can!

So Samsung’s marketing firm interviews those in queue for the new Apple iPhone 5S and 5C. Wonder why they even bothered to do that. Here is the secret that Apple “fanboys” intuitively get, even if they cannot articulate it always. The Apple Method is available in the open. Are you fit enough to steal it?

From such simple and obvious principles emerge the confounding complexity of building a sophisticated phone and surrounding ecosystem.

Every time Apple sneezes, folks in town are rallied, pitchforks raised to rid the land of this “otherness”. I wonder what rankles and rouses everybody to react so. Perhaps because Apple has an opinion? That they are presumptuous enough to know what matters? Or is it just old-fashioned tribal thinking, whoever does not look, think, dress, dream, play and pray like me is evil or uncivilized?

Anyway, the video is another example of craftsmanship and resulting from deep introspection. Just for fun, watch it with headphones on and observe the delightful soundscape.

Apple caters for those who delight in the details. They don’t always get it right, but then no company can.

Android and iOS – Two Approaches to Managing Constraints

iOS-Home

In a perfect world with infinite resources, one can create a perfect product. It would be a thing of beauty, with oodles of functional excellence and be dirt cheap. Unfortunately that world does not exist but in the fevered imaginations of dreamers. The rest of us have to live with constraints the real world imposes. We think hard about which audience we create the product for, how will it help solve their problems, what price will they pay, and so on. I have learnt a lot from this post on constraints by Matt Gemmell. Some quotes from that post, which should be read and assimilated in its entirety by the way.

All technology imposes constraints.

There are many factors to consider. Performance and power consumption. Size and weight. Noise and heat. Beauty, durability, and portability. Connectivity and upgradeability. Compatibility and of course cost. At buying time, we presumably consider availability too. They’re all interrelated in various ways, forming a complex web of trade-offs.

What will you optimize for, given the constraints imposed. What is more important to you as a creator. What is important to users you wish to target. But the hard reality is this, Users don’t really get to make a complete choice.  The hard choices are already made by the designer.

I remember Steve Jobs mentioning in one of his presentations that users employ product creators to make these decisions on their behalf. It is the job of the designer to choose between constraints judiciously. Not to randomly tack on features because it helps tick off one more check box in the minds of consumers who might not think deeply. Whether multi-tasking is a benefit when considering power management on a mobile device. Whether screen-size accounts for ergonomics of a human holding the device.

Superficial customization, extensibility options provide an illusion of control for the end user but come saddled with unacceptable tradeoffs for some users. For example extensible memory on my Galaxy S2 was seldom used. I preferred syncing over Wi-Fi or even a cable with my PC.

As a concrete example of how engineering decisions impact user experience, see this post by a Google engineer on why Android does not have a Fluid UI experience and might never have one. Here is the money quote:

It’s not GC pauses. It’s not because Android runs bytecode and iOS runs native code. It’s because on iOS all UI rendering occurs in a dedicated UI thread with real-time priority. On the other hand, Android follows the traditional PC model of rendering occurring on the main thread with normal priority.

That gentlemen is a classic example of a design decision taken on the Android platform. Deep in the bowels of the OS is a decision that ripples up to the UI. Of course am not sure if this was a decision to not optimize for fluid user interface. Or perhaps it was a legacy constraint that Android engineers could not work around.

The point is this, what are you optimizing for. Will you take the hard engineering decisions, that would not be seen or even understood by 99% of your users? Will you ask user’s to trust your judgement or will you take the lazy route and give everything the user asks for?

Apple chooses to optimize for user experience, for tactile responsiveness. Android chooses to optimize, or not, for broadest compatibility across a range of devices. Seen another way, the choices seem to be whether to work well on a single class of devices or work sub-optimally on a range of devices. What the designer chooses says a lot about their priorities. Which platform a customer chooses says a lot about what constraints they are willing to live with in exchange for what services.

Don’t miss reading Matt’s post, it opens up additional perspectives on how one should think when creating anything.

Android Design Methodology Not

My last post on Android design review documents gave me deep insight into possible Android design practices. Its a combination of simplicity and innovation. Details below.

Android-Design-Methodology-planB

Android-Design-Methodology-planB

 

Note: Am sure there are brilliant designers and engineers at Google and Samsung on the Android teams, no decent engineer or designer would stoop to blatant copying. I blame the senior management at these firms. Microsoft could innovate with Windows Mobile, they did the honorable thing even when pushed to the corner!

Enhanced by Zemanta

Samsung Android and Daylight Bamboozlement

Apple sues Samsung on Android

 

Apple and Samsung have gone to the courts. Apple contends that Samsung Android ripped off iPhone’s design.

As a part of this process it was revealed how Apple took inspiration from Sony’s industrial design approach. Many online took this as an opportunity to paint Apple in a negative light, saying they too copied. I have always believed being inspired is one thing, outright theft quite another.

Today am happy to link to one example of what outright theft looks like. Please see below an internal Samsung document presented in court that goes through screen by screen where Samsung Android fails in terms of usability. See every screenshot in the document and determine for yourself if the UI of almost every app was copied or not. They obviously could not get every detail right so were doing some reviews.

Android-Samsung-Design-Review

I have written about Android before. But this level of blatant copying is ridiculous. No wonder Steve Jobs was pissed off.

Every creator goes through a soul-wrenching process to create anything. Companies like Samsung/Google with their Android are a blot upon the finest instincts of humanity and spirit of capitalism.

[Update: Removed Scribd embed, linking to Samsung Design Review file now.

Enhanced by Zemanta

Digg and Conditions that Make Failure Acceptable

Digg is dead. Digg’s failure was a chance for bloggers to speculate about Digg itself and what makes startups fail and rise up.

There were the usual condescending views on what happened to Digg. See picture below.

Failure of Digg

In case you did not get the joke, here is the actual cover published many years ago.

Failure of Digg, Original Cover

There were positive takes too, for example here is one from Sarah Lacy:

The lesson from Digg is crucial as Silicon Valley’s ecosystem has made it easier and easier to start a company. It’s that a great product is necessary but not nearly enough. Building a real company is harder, and it takes execution and leadership.

And Sarah ends the article with this:

There will be haters on this post. And that’s fine. But the people who write checks in the Valley have respect for what Digg built, whether the founders fell short or not. Smart people will always want to back these guys– as Mike Maples said on Ask a VC last week– and people like Arrington and me will root for them again.

Context of Failure

In my understanding there is a specific context in which the sentiment “failure is acceptable” occurs. This context is driven by three factors.

First, the economic drivers of society have changed from being manufacturing oriented to one driven by information and software. Software products are not typically capital intensive, besides Moore’s Law ensures more CPU power being available for less cost. So software companies are born, grow and mature at a much faster rate than those that manufacture things.

Second, most major economies are globalized, coupled with spread of internet and internet based services makes an unimaginable amount of competition possible. The key here is that location is not an impediment to build and sell software. As long as connectivity exists, any service can theoretically be served anywhere. Theoretically because there are laws around what can be sold from and to in each nation. But in principle location is not a hard barrier for digital services.

Third, increasing complexity of societies driven by change in demographics of nations, the migration from rural areas into cities, availability of cheap communication devices, affordable internet connectivity and other factors drive an inordinate rate of change and new perspectives that leave little room for certainty.

Consequence

With the above three factors influencing our context, it is easy to work out why investors and entrepreneurs take the stance that “failure is acceptable“. Basically very few have any certainty on what product or service will succeed in the marketplace. A product that succeeds in the US, does not even start in Brazil or India or China. There are no clear answers.

The option to not failing seems to be to sit tight, which certainly is no option for dreamers and builders. Besides in software related services the life-span of vetting a product is quite short. Unlike manufacturing a car where it takes a few years to build one and then test to see if it succeeds, a prototype software product can be done in as few as handful of weeks to get feedback from potential customers.

So a couple of years spent building a software product that has failed is no big deal, the experience of having executed idea still remains valuable. These lessons learnt from failure and the endurance built up in execution can be reused. The VCs and entrepreneurs have thought through these dynamics, leading to insight that failure does not kill and one can always try again.

Bottom line, execution builds competency regardless of outcome.

Is it just a fashion?

I also think, this is no ephemeral trend..this is a deeper perspective of what makes work essential to us as humans. Beyond its ability to put food on the table, work infuses meaning to many of us and without that ability to leave markers around many would be unhappy. But here I digress into philosophical territory and will have to stop I guess! What do you think? What makes failure acceptable, at least in the technology industry?

Enhanced by Zemanta

At Google, Poor Smeagol is Done, Gollum Takes Over

Before

Google DoNoEvil Smeagol

Google General Counsel Kent Walker wrote:

While collaborative [Standards Setting Organizations (SSOs)] play an important part in the overall standard setting system, and are particularly prominent in industries such as telecommunications, they are not the only source of standards. Indeed, many of the same interoperability benefits that the FTC and others have touted in the SSO context also occur when one firm publishes information about an otherwise proprietary standard and other firms then independently decide (whether by choice or of necessity) to make complementary investments to support that standard in their products. … Because proprietary or de facto standards can have just as important effects on consumer welfare, the Committee’s concern regarding the abuse of SEPs should encompass them as well.

– via AllThingsD.

What Google Actually Wants

Basically Google says, “Some features are so popular with customers, that they should be considered standards. Hence these features should be available for every manufacturer since it would otherwise harm consumers.”

Not sure if you got that? Okay, let me try again, “Since its obvious Apple has features that are loved by most, let us get those features for free so as to benefit our customers”. Btw, these are not about essential inventions which are covered under FRAND and Google is known to block sharing FRAND patents though it is legally obliged to do so via its Motorola acquisition.

Okay now, let us move to a comment by Urs Hölzle, boss of infrastructure at Google when asked about OpenCompute(a Facebook led initiative to share knowledge on building efficient DataCenters):

“Open Compute is a little bit tricky, if you can figure out how to make things work at scale and at good cost, that’s a competitive advantage. Thousands of years of engineering work has gone into the system to make it work.”

– via VentureBeat.

After

Google DoEvil Gollum

Err, did you see the disconnect there?! When it suits Google features developed by Apple should be considered a ‘standard’ so that consumers can benefit. But if its around sharing details of its own crown-jewels it acts all capitalistic.

We all know corporate sloganeering about “Open Standards”, “Do no evil” are mostly posturing to keep the gullible pleased but this double speak from Google is another order of hypocrisy. Am hoping for the thermonuclear thing that Steve Jobs had wanted for Google/Android.

Pixate – Style your iOS Apps Using CSS!

It is a truth universally held by all learned men and women that Apple’s development environment and tools suck big time. Others say XCode and iOS dev environment have grown mature lately, perhaps it is true but I can only imagine the horror it must have been! Last week I came across a effort called Pixate on Kickstarter that should alleviate some pain for iOS developers.

Pixate – Styling in iOS

To be honest XCode does a half-decent job to let you style controls. But the workflow of importing graphical assets of multiple resolutions remains convoluted, leave alone making UI respond to state changes within the application. Pixate seems to have solved this problem rather elegantly, they propose styling apps their components using CSS and their custom CSS Engine. This is awesome at couple of levels. First developers can piggy back on their knowledge of CSS from web development world and two it enables an extra level of separation between Views and how content within is actually styled.

Ancestry of Pixate

I personally do not know what exactly inspired Pixate developers to use CSS as the styling engine. Use of CSS in web development as mentioned above is well known, so that is an obvious starting point. But there are precedents in other areas too.

Take for example how XAML works in WPF and Silverlight. There too is a clean separation of control elements and the code to style them. In fact, though XAML is a proprietary language, I thought it was a well engineered technology. Of course Microsoft never quite nailed positioning for XAML leading to its poor adoption and high failure rate. I have seen projects on WPF/Silverlight being used for purposes they were never designed for, say real-time rendition of high volume graphs, that too on half a decade old hardware.

A minor detail, XAML is not just about building UIs and styling them, it was a markup for object serialization..which explains why Workflow Foundation rules/graphs could be described in XAML. Sadly it did not take off but am fond of XAML still.

Support Pixate on Kickstarter!

Without digging into the past, let me just say I love what Pixate are attempting. Driving look and feel in iOS apps via CSS-like syntax is a good thing. So I have registered myself on Kickstarter as a supporter of this project. If you are curious am going for the $99 pledge, gets me a single user dev license if the project goes through. I would highly recommend you take a look at Pixate and support them, we all win if tools surrounding iOS(they have an Android equivalent on their plans too) development get more smarter.

Update – Pixate now supports importing Adobe Photoshop Layers in Real-Time! This is awesome, check it and give it your support!

Sparrow Acquisition and Mobile App Pricing Models

Sparrow

Sparrow, the much loved email client for iOS has been acquihired by Google. Congrats to the Sparrow team. Bad news is there will be no enhancements to the Sparrow app itself. The team will work on other projects at Google.

Sparrow Acquihire Reactions

Reactions from the internet ranged from how Google might have wanted to get Sparrow’s design skill to lend a hand on a Gmail client perhaps, or wanted Sparrow like app for Android and so on.

The reaction that I liked was from Nilay Patel, he talks about how Apple should support In-App subscription pricing models for apps.

An app developer can only charge a one time price BEFORE the user has experienced the app. This price must be low enough not to scare away users, yet high enough to pay for the operations of the business. In the productivity app space, we are seeing more of the former, not the later. (a) I only paid $9.99 for Sparrow years ago and yet it has added a lot of value to my life.

Subscription pricing for apps is an important point and am surprised its not getting much support from iOS developer community.

Popular Mobile App Pricing Models

One-time payment is the second most popular mobile app pricing model. Free is obviously the first approach. The monetization strategy for free apps are i)in-app purchases for additional features ii) Advertisement supported iii) Monetize through a primary app, on say PC or elsewhere, and subsidize mobile app.

Of course am not accounting for apps that are supported by factors other than revenue. Social media apps fall under this bucket, they use our collective attention to determine our interests and use these signals to serve advertisements etc.

Why subscription pricing for mobile apps?

Most pre-iOS mobile platforms were quite lame to build professional apps on. The iOS platform and then Android, and perhaps Windows Phone, changed all that. It is possible to write games on these platforms, leave alone business apps. Most functionality like email clients, games or simple productivity tools, requires minimal server infrastructure to keep running. So its possible to build a decent mobile product by adopting an one-time pricing model for these apps. Start with 0.99 cents to whatever $$ you can charge and be done with it. Assuming the app did sufficient numbers, developers can sustain themselves and perhaps even be profitable.

Some Problems Need Processing Power!

But the one-time pricing model does not always work. Especially if there is a server component that supports the mobile app functionality, and server components are not cheap to build, monitor and maintain. Why bother with a server at all? Well, if you are doing any significant feature that involves large data processing, it has to be done on the server rather than a mobile client. Without a server component you are limited by the kind of problems you can solve. Let me reiterate

This is not about pricing models but about the class of problems you can go after sustainably.

This would be no big deal if the iPad and its Android clones had not been around. With tablets you could do much more but the pricing model constraints are a serious roadblock. AppStore pricing restrictions are artificial constraints on the tablet ecosystem.

Options for Subscription Pricing

And if you want to focus on a purely mobile app then you have few options i) Charge heavily one time, and hope you do enough volumes ii) Adopt in-app purchases for new features, might not fly because of first point, which Nilay has pointed out too iii) iii) Adopt in-app advertising, might not work for non-consumer apps because of volumes iv) Or hope you get VC funding to subsidize the whole thing and look for exit via an acquisition!

Obviously none of the above options are desirable.

Web + Mobile Combo

Before you say anything, I know a web + mobile app combination will let you out of this conundrum, since pricing model on the web-end of the equation can be controlled. Issue here is your development costs just shot up. There are two apps to design, build, test, deploy and maintain for! Let us not even get into whether the product would be relevant on a non-mobile scenario.

With subscription pricing enabled for apps, Apple can truly realize its vision of a post-PC world. Right now, developers need to straddle PC and Post-PC worlds!

Why do I care?

Why am I getting all worked up about Sparrow and in-app pricing models? Well, for CollabLayer, the first product being developed by my startup Tataatsu, we have struggled with this question a lot. While CollabLayer will be on all platforms eventually, we could have gone to market with an iPad app first. But pricing model restrictions force us to build the web-app too, which of course delays everything.

Apple, help us realize your, and our, vision of  a Post-PC world, enable in-app subscription pricing!

Enhanced by Zemanta

6 Examples Why Not All Gamification is Bad

Gamification has a bad aura surrounding it. One thinks of Gamification as being best done by Zynga and its evil time-devouring demon called FarmVille. But a recent crop(just mentioning FarmVille has infected me!) of apps have affirmed this belief that not all Gamification is bad.

What is Gamification?

Before we dig in, here is Wikipedia’s definition of Gamification

Gamification is the use of game design techniques[1], game thinking and game mechanics to enhance non-game contexts.

Good definition but I think we could add a little more color. Before I reveal what it is, let me share details of a few apps that have influenced my thinking.

Zite

Zite is a online magazine that lets you subscribe to news on specific topics you select. Zite is like a smart sister to the pretty Flipboard. Zite absolutely shines when it comes to the quality of articles it recommends. It does that by taking feedback on the article you read. It tackles the “how to get feedback” by asking three questions i) Do you want to see more from same site/author? ii) Did you like this post? iii) Do you want to see more articles on the topics like this article?. Between these three questions it captures a nice overview of how a user feels about the content. I did not take this mechanism seriously for a while but once I started giving it the feedback, I found quality of new articles become really really good. To summarize, Zite uses Gamification to improve quality of article recommendations.

Newsle

Newsle is a new breed of recommendation system. It does one thing, to show news articles about people you care about. It picks the list of people from your social graph and also provides means to add ad-hoc names. Imagine you could keep track of your friends, competitors to see if they get mentioned on any news articles. Newsle deserves a bigger post because they use entity recognition algorithm to solve a practical problem(how do I see news about people I care about?) cleanly. Newsle takes feedback from you on whether the person entity it has recognized in an article is the same person you care about. So, Newsle uses Gamification to improve its people recognition algorithm.

Cargobot

Cargobot is an ingenious game designed to teach programming principles. You instruct a robot to move in certain predefined set of ways to accomplish task of moving cargo boxes. I found this an absolute delight to play and even got my kid interested in instructing the robot to do things. This could a nice first step before getting kids onto bigger stuff like Lego’s Mindstorms. You play a game but the side effect is to learn programming principles. Clever use of a Gamification to teach programming.

Lift

Lift, an iOS app, is yet to be released. From the reviews I have seen its helps accomplish changes to your habits by having a virtual group of friends to motivate you. Simple app and am sure there are many like it. I really like how Lift, and similar apps, use Gamification of social interactions to influence old behavior or acquire new ones.

Contactually

Contactually is CRM for your email. It takes your email contacts and helps manage each relationship by reminding you to stay in touch with people. The reason it finds a place here is in how it make you categorize your contacts. Getting your contacts grouped by what they mean to you is a chore. But Contactually makes it into a game by asking you to bucket contacts. I found ‘bucketing’ to be more palatable than just calling it categorizing contacts. The feature would have remained they same in function and UX if it had been called categorization. Contactually have tweaked your perception of categorizing to make it more enjoyable.

ReWire

ReWire is an app to help build attention/concentration skills. Disclosure – this is a game my firm did the development for. Essentially what it does is to take a conventional audio or video signal and interrupts it and looks for action from you on whether you have recognized the interruption or not. Deceptively simple mechanics but it produces a zoned in state where your senses are tuned in. This is almost like a regular game but what makes ReWire different is that it tries to focus exclusively on the negative spaces and not the actual audio or video signal that is going on in the app. It helps you to stay mentally at one place without being distracted. Exactly the state you need to be in to solve hard problems or do meditation or any activity that needs concentration. Again good example, I think, of Gamification to improve concentration.

Summary

In all these examples the key element was to influence the user to take an action. Whether it was by making an activity into a game, or by game-like rewards for taking a specific action. This is conventionally called interaction design but I feel some of these examples go much beyond that. So here is my definition:

Gamification is the process of engineering or eliciting a certain behavior. Gamification uses a combination of interaction design techniques and understanding of human psychology to accomplish its goals.

What do you think? Does my definition capture what Gamification means to you? What other apps do you know do this better? Let me know in the comments.