SmoothSpan Blog

For Executives, Entrepreneurs, and other Digerati who need to know about SaaS and Web 2.0.

Archive for the ‘user interface’ Category

When Will Your Job Be Consumerized?

Posted by Bob Warfield on June 2, 2011

This post is on  behalf of the Enterprise CIO Forum and HP.Consumerizing = Having Fun Doing Work

It’s become all the rage to talk about the Consumerization of IT in the last few years.  There are a lot of definitions of what the term means.  Those who are looking to downplay it somewhat will toss out the idea that it’s copying consumer web technology into business software.  One gets the idea that some are trying to argue consumerization happens when proper business software thinkers become bankrupt of ideas and so are forced to steal from other markets.  Wikipedia says it’s:

A stable neologism that describes the trend for new information technology to emerge first in the consumer market and then spread into business organizations, resulting in the convergence of the IT and consumer electronics industries, and a shift in IT innovation from large businesses to the home.

Okay, that’s a bit much (stable neologism?).  In 2005 Gardner said it would be the most important trend of the next 10 years of IT development and that, “the majority of new technologies enterprises adopt for their information systems between 2007 and 2012 will have roots in consumer applications.”  Better, but this all misses a larger point:

What drives Consumerization?  Why is it happening?

If we could understand that point, assuming it’s more than just business software companies being bankrupt of ideas, we might start to skate where the puck will be instead of where it has been in the consumer markets.

I believe consumerization is a much deeper phenomenon that simply copy consumer markets.  My manifesto and definition of consumerization is:

Consumerization happens when the consumers have choice in any market causing the market to have to leverage the user experience of its consumers to make them more satisfied.

Steve Jobs “consumerized” what was already a consumer market, the music industry, by leveraging a far better user experience in the form of choice, instant gratification, and the ability to manage that choice more easily.  Thus was born the iPod and the digital music industry as we know it today.  He radically improved the user experience for telephones with the iPhone, and before either one came along, the Macintosh improved the user experience for personal computers.  Netflix did it for movies.  Amazon did it for retail and especially books.  These are all consumer areas that were further “consumerized” because the digital everyone always connected world meant consumers had the choice to adopt a better user experience.  And they did so in droves.

What’s happening with IT is the realization that workers are consumers.  They’re consumers because they have choices.  Choice is what begets the opportunity for consumerization in most cases.  If we have to do something because we have no choice, why bother improving the user experience?  But, if there is one thing that has radically changed in Modern Society, it is the prevalence of choice in all things.  People no longer work for the same company their entire careers as they once did.  They do not expect to be doing the same job their entire careers either.  They have choices, and when they have choices, it’s important for those who depend on the outcome of the choices to pay attention.

It used to be good enough to save someone somewhere a little time with a piece of Enterprise Software.  Most of this software boils down to fill in a form and move the contents of all those fields around from database table A to tables B, C, and D.  We may make minor transformations to the information along the way, and we may even review the information at some later date in a report.  It’s a solitary pursuit though, and not much fun.  Not much of a user experience, either as anyone who has ever had the sort of job where you fill in such forms all day every day can tell you.  These applications are data assembly lines where the knowledge workers (to use that quaint old term) are the modern blue collars.  Guess what?  If you give them a choice, they’d like to have a better job.  They’d like to add more value and not just be blue collared cogs on your data assembly line.  They want to use their minds, have some authority they own where they make decisions, and they’d like a chance to collaborate with their coworkers.  They want to understand how their contribution fits into the corporate mission so they can take pride in it.  And while we’re on the topic of taking pride, they’d like others to see their work as something meaningful and valuable.  Hard to do that if you’re just punching data into forms all day.

How can business software do this?

It’s easier than you think.  Let’s take one of the most painful jobs out there–handling Customer Service.  My last company was focused on this problem.  The traditional Enterprise Software solution is part of the CRM space.  It involves what we’ve been talking about–a customer gets in touch and a “Trouble Ticket” is opened up.  The Service Rep fills out the ticket, and pretty soon we’re moving data from Table A to Tables B, C, and D.  Tickets get closed.  We track whether we responded within SLA requirements.  We collect metrics on our call centers.  And we spend a lot of energy trying to minimize the expense of all this to the business by making it efficient and tying Service Rep’s compensation to their metrics.  In the process we incent all kinds of bad behavior and generally piss off our customers beyond belief.  Service Reps have none of the things I mentioned.  They’re not empowered to make decisions of consequence, they’re only there to try to get you off the phone and the ticket closed even if the way to do that is to frustrate you so much you give up.  They are not able to use their minds to any great extent, they stick to a script.  We’ve all talked to many of these people who know less about the product we have a problem with than we do.  They don’t get to create anything of lasting value, collaboration is minimized because it interferes with the metrics, and so on.  These are very hard jobs to take pride in, and I’ve been hearing since I first started in the software industry that Customer Service is not a destination career.  People get out as soon as they can.

To counter that depressing backdrop, we had a very simple idea that today is called Social CRM.  We realized after watching all this machinery in action that a much better User Experience could be made both for the Service Reps and the Customers.  The idea behind Social CRM (today a very promising market with companies like Lithium and Jive, not to mention Salesforce.com’s Chatter) is to change all those negatives using the Social Web.  No, it doesn’t mean literally copying Facebook or Twitter, and it doesn’t mean copying them either.  It means engineering a user experience for Customer Service that better serves the Customer Service Reps and their Customers.  Because both have a choice.  In this case, a better User Experience involves helping these parties to collaborate via social software with one another.  When a Service Rep closes a trouble ticket they (may have) helped one customer.  When they have a collaborative discussion in a forum, our data shows they helped an average of 16 customers.  After all, if one customer has a problem, others are likely to have the same problem.  There are genuinely few one offs.  And, if you can make it possible for customers to help themselves to the answer to the question because someone before them had already asked it, they actually prefer it that way in many cases because it’s faster.  If they get to interact with fellow customers along the way, if the Service Reps get to have the fruits of their labors visible to a broader audience, and all the rest that goes with a modern Social CRM application, that’s a better User Experience for everyone.

So I’m back to my original question:  When will your Job be Consumerized?

There is a wealth of opportunity in the Enterprise to start Consumerizing.  After all, we largely finished building the data assembly lines as a result of Y2K and the first dot-com boom.  The work is getting done more efficiently.  Now it’s time to take the next productivity step and help people to actually like getting it done.

This post is on  behalf of the Enterprise CIO Forum and HP.

 

Posted in business, strategy, user interface, venture, Web 2.0 | 2 Comments »

The Real Problem With Mobile WiFi: Terrible UX

Posted by Bob Warfield on May 14, 2011

No WiFiStacey Higginbotham with GigaOm wonders why WiFi doesn’t relieve some of the congestion on the mobile networks.

Apparently an AT&T executive says it’s like this:

The executive noted that AT&T didn’t see Wi-Fi helping the nation’s No. 2 carrier offset congestion because in most cases people don’t use Wi-Fi unless they are sitting still in a hot-spot. And apparently, there are plenty of people still wandering around watching YouTube videos.

That’s not the problem.  I often turn off WiFi on my iPhone and iPad even when I am sitting perfectly still when I’m out and about.  There might be a great WiFi nearby, but I never know it.  Why?

Because WiFi has terrible UX.  Let me count the ways:

-  It takes too long to try a connection and get it going.

-  Often, all the available connections are secured.  Don’t even get me started about WEP and similar security.  I won’t use it at all unless I’m pitching on Sand Hill which has the world’s worst cell connections and often no other way to get out to the net.  Life’s too short for the UX to set up a new secure WiFi connection you’ve never seen before.  FWIW, iOS makes this somewhat less painful than Windows.  Microsoft, you really should fix that.

-  Often, connections that are apparently unsecured require interaction.  You have to login, even when you didn’t think you would.  Or, you have to agree to some idiot lawyer’s terms and conditions.

-  You have no idea how secure the connection is.  Sure, mobile wireless isn’t especially secure either, but I’ll bet there is more FUD around WiFi unsecurity.  Its reputation is for being unsecure.

-  The connection drops more times than AT&T if you’re at a public HotSpot.  I was a Starbucks just the other day and it would alternate between being 100% great and 0% dropped connection.   Every time it dropped, I had to accept the terms and conditions again.  Guess how many times I let that happen before I turned it off?

-  Mobile browsers stink at dealing with WiFi.  My iOS devices act like they fell in a black hole if I turn on WiFi or there is a hiccup in the middle of refreshing a page.  If the status changes at all, best thing to do is a complete page refresh.  That’s not always a happy thing.

-  Pet peeve:  You’re at some luxury hotel, resort, or other expensive location.  These bozos want to charge you an arm and a leg for a little Internet connection.  Are they frickin’ kidding me?   That is so 20 years out of date and I think less of whatever business tries this stunt every time I see it.  Connectivity is cheap, so quit jacking me around about it if you want my business.  It’s your table stakes to get me to stay.

My bottom line after trying and trying WiFi?  Unless my 3G connection is terrible or AppStore makes me go to WiFi, I just leave WiFi turned off.  It’s too much trouble.  The User Experience is terrible.

The term “WiFi” was first used commercially 20 years ago.  Isn’t it about time it worked a little better?

A little cooperation between the WiFi devices and the mobile OS makers would go a long way:

-  Get the hot spot and browsers/OS’s working together to send everything back and forth https.  Even if the web site doesn’t support it, the WiFi router can take it back to http once it hits the wire, but leave it secure over the airwaves.

-  Figure out how to make a single box deliver both a secure and open hot spot so all the paranoid peeps can feel safe and I can connect to their hot spot.

-  Introduce a standard set of “hold harmless” terms and conditions that you can accept once on the device and then handshake everywhere you find a hot spot to let it know it doesn’t need to ask again.  If they want more restrictive T’s and C’s, screw ‘em, I’m not using that hot spot.

-  Browsers have to get smarter and smoother about dealing with interruptions and reconnections so they don’t lose their place or go away interminably.

-  Rebuild all the protocols to time out fast–5 seconds maximum.  Look, if its taken a blinkin’ computer 30 seconds to figure out whether the connection is alive you need to assume, “It’s dead Jim.”  30 seconds is 20 years or more out of date with modern levels of performance.  If it takes me that long just to connect, how happy do you think I will be with the BS I get once connected?

-  Mobile browsers should start remembering whether I was happy or not with a connection and make sure the OS knows.  Give me a button to rate the connection.  Choose the connections I like and ignore the connections I hate.  Let me rate my 3G while I’m at it.  Or, let the browser monitor the connection so there is an automatic rating–but make sure I can override it easily.

Businesses, think about your customer’s online connectivity as an integral part of your atmosphere and style.  It’s a connected world, some parts more than others.  If you’re serving lattes, quiche, or expensive wine, you come off like a 50′s diner when your Internet connection stinks.

Posted in mobile, user interface | 3 Comments »

The 7 Kinds of Software Developer Wushu

Posted by Bob Warfield on May 5, 2011

James Governor got me thinking along these lines by asking how to segment developers.  He asked whether the web “killed” the professional developer, or at the very least radically reshaped the segments.  I don’t know about all that, in fact I’m pretty skeptical.  But what I do know is that the way James talked about developers didn’t really resonate with me at all.  I’ve been managing developers for 27 years now, including a couple of stints that have involved selling tools to developers (via Borland and my Integrity QA startup, then at Rational/Pure Atria), and I just don’t think of them as “hobbyists”, “enterprise timeservers”, or any of the other possibilities suggested.  Likewise, while I found Coté’s alternative niches vaguely entertaining, they didn’t fit either in terms of providing me a unified field theory of how to think about developers.  Part of the problem is in not defining what the segmentation is for.  When I hear “segmentation”, I think about mapping out a plan to go sell something to an audience.

Putting all that aside, what really was more interesting to me was thinking about how to dimensionalize the skills of developers.  There are a number of very development-centric skills that I have seen that describe what developers are capable of in terms of development.  We could add a bunch of the usual more HR-centric qualities (works and plays well with others, yada, yada), but let’s keep to being development centric.

What then are the 7 Kinds of Developer Wushu?

1. Hackers

I’ll start with the purest expression of development Wushu.  The Hacker grinds out code.  Uber Hackers practically exude it from their pores.  I had the pleasure of working with Rob Barnaby, the creator of the original Wordstar word processor for one gig.  Rob was the consummate hacker.  He could directly type code in as fast as a touch typist could transcribe and in fact, it often seemed like the keyboard was preventing his expression of code from proceeding as fast as his mind could create.  Watching Rob in action convinced me once and for all that an editor had to be fully operable without taking one’s hands from the home keys to facilitate this kind of bond between man and machine at the highest possible bandwidths.

Hacking is distinct from the other forms of Developer Wushu, as we will see.  As an aside, “hacking” used to have a very bad connotation, and maybe it still does in some quarters.  At one time it meant someone who haphazardly coded, beating their way through the process through sheer trial and error brute force.  It was the antithesis of the elegance so many developers worship.  When I use the term “Hacker”, I mean it in a good way!

FWIW, I rate myself a “5″ on the 1 to 10 scale of hacking.  I grind out code pretty well, but if I’m productive, it is more because some of the other Wushus have allowed me to write less code.

2. Language Polyglots

Did you read “Godel, Escher, and Bach?”  Did you really understand what it all meant?  Did you glide through that book effortlessly, constantly in agreement, and finding it a sheer joy?  Or was it one of those books you see that smart people all claim to have read and understood, but that was sheer drudgery for you?  If you’re in the former category, you may be a Language Polyglot.  For you, the ability to execute a language, to be a Turing Machine, is the highest accomplishment of the computer.  It’s what makes it our only Universal Machine, at least until somebody figures out nanotech replicators, which will have to be computers in large part anyway.  My first product, Quattro Pro, contained no less than 18 specialized interpreters that implemented various domain specific languages to accomplish different deeds.  These little interpreters made Quattro Pro easier to write, faster, and more flexible than the competition.  In the end of the day, all things computer wind up being lanuages.  Adobe proved that by making printers into languages in the form of Postscript.

The Language Polyglot makes every problem into a language of some sort.  These folks worship Lisp (first language I learned to program in, yes, I’m a Language Polyglot).  More recently, they create tools like Ruby on Rails.  Ruby, the language, by itself is interesting.  Rails, a framework on its own, is another framework.  But somehow the marriage of the two is magic.  It takes a Language Polyglot to figure out that sort of thing.  Good ones are responsible for all things Meta, which is to say imbuing a software program with the ability to change and take on some of the universal character that makes the computer a unique machine among machines.

I will somewhat egotistically give myself a “10″ as a Language Polyglot.  It’s what I do best.

3. Algorithm Mentats

Ah, the Mentats of Dune.  What a compelling image.

Does your software need to be fast?  Does it need to scale?  If so, you’d better have some Algorithm Mentats.  These people uniquely understand how to combine algorithms and data structures to make a software program fly.  There are lots of sub-specialties.  Database algorithms, parallel and distributed computing, graphics, and others to name a few.

A good Algorithm Mentat is not just good at creating algorithms, these folks are often the most familiar with the literature in their areas of specialization.  Computer Science, as a discipline, is largely about Algorithms and Languages, with some Architecture in the sense I will describe shortly thrown in.

I will charitably rate myself an “8″ as an Algorithm Mentat.  I don’t love it enough to do better, not like I do Languages and UX.

4. UX Wizards

If some poor user actually has to understand and hopefully love your software, your success depends on the quality of your User Experience (UX).  This area is poorly understood, frequently abused, and much talked about.  Everyone is a consumer of UX and everyone therefore considers themselves expert at UX.  Most of them are wrong.  Some view UX as a Design problem.  It’s not really, although Design helps a lot.  Some view it as understanding Workflows, and there are elements of that.  I think about it as a mixed discipline that involves Design, Workflows, Communication, and a deep understanding of what the User is trying to accomplish.

UX is about crafting a medium that communicates in both directions.  Until we had computers, communication was largely one way.  We had writers, composers and musicians, actors, and so forth.  Those folks have a lot in common with UX, but let us not lose sight of the fact that like any medium, UX is specialized.  We don’t expect Mario Puzzo to be a great movie director nor Steven Spielberg to compose a symphony.  They’re masters of a particular medium.  And, it’s a medium that morphs.  Batch had a particular UX, then we had dumb terminals.  PC’s ushered in an era, and then we had GUI.  Today we add Social and Mobile.  What a rich palette for the UX artist to draw from.  It’s all still here, amazingly enough.

I rate myself “9″ on UX.  I hold the patent on spreadsheet notebook tabs (originated in Quattro Pro), and would be named on a patent for the right mouse button if we hadn’t felt it was entirely too obvious to patent back in the day.  We did that first and I remember the Microsoft Product Managers where lined up in the aisles taking notes like crazy when we first demoed Quattro Pro at Comdex.  Pretty soon Excel had these features too, LOL!

5. Architecture Builders

Architecture Builders are masters of arcs and circles.  They know what to put in the boxes and how to connect them for best results.  They think in layers, abstractions, and interfaces.  Refactoring is a joy to be embraced each and every time it is called for.  Patterns are their method of expression, as are the various odd notations associated with Object Modelling.  All large products need Architectural Builders, lest they be poorly architected and collapse under their own weight.  A good Architect can create a product that allows more people to work on it longer, which can be a decided competitive advantage.  Bad architecture results in constant rewriting with the difficulty of finishing increasing almost exponentially with each new release.  Architecture Builders are masters of managing complexity and hiding it where its mischief can be minimized.

I’ve done architectures for software that’s stayed fresh without need of rewrite for many generations, so I’ll call myself a “7″ on this type of Wushu.

6. Process Plotters

What do you call that developer that has a million little scripting tools that make them awesomely productive?  They seldom have to create much as they’re forever transforming or improving using tools and processes.  These are Force Multipliers not to be underestimated.  Whether your Process Plotters are focused on the scripting and tools side or whether they’re focused on Agile Programming or whatever other methodology is the tool of choice.  They know when you have too much process and it is interfering with productivity.  They know when you have too little, and it interferes with quality and ultimately, productivity.  With the right tools, they are the consummate DevOps gurus.  They are consultants and managers who set forth the right campaign to accomplish your goals in a timely way.

While many of the processes and tools of development are useful in other disciplines, there has been little evidence the converse is true.  Assembly lines, Six Sigma Black Belts, and the like have not made much impression on the world of software.  It is for that reason that I call Process Plotting one of the 7 Wushus of Development.

I do okay with process and was practicing a variation of Agile Programming before the movement even had a name.  There are papers written about the productivity and processes used by my Quattro Pro team by a Bell Labs PhD named James Coplien.  They serve as some of the earliest working documents for the Agile movement.  Based on that, I put myself down as a “7″ on process.

7. Black Boxers

This one is a curious trait, but I have seen it in action too many times not to be certain it exists as a powerful skill.   Black Boxers know how to deal with Black Boxes.  They’re the best debuggers, the best at going into code they didn’t write and understanding it.  There are different kinds of Black Boxers.  Some are ideal QA experts.  They formulate tests that are effective in mapping out the unknown territory associated with Black Box testing.  Some are very low-level.  One of my startups involved very sophisticated automated software testing tools.  We had frequent “blue screens of death” as our software had to do a lot of undocumented and unsupported unnatural acts to accomplish its job.  One of our team was an awesome Black Boxer.  He had a hardware debugger, which was a card with a button that could stop the machine and let him poke around inside what was left.  From that, he could usually figure out the source of our BSD and tell us how to fix it.

Incidentally, the very best Black Boxers hack security and break copy protection schemes.

While I have done Black Box reverse engineering, and managed to derive the Lotus 123 file format for Quattro without disassembling any of the software code in 123, I don’t rate myself very high on the Black Boxer scale.  Call it a “4″.

Conclusion

There are at least 7 Kinds of Developer Wushu.  If there are more you can think of, please comment.  It should make for a spirited discussion.  Any developer has strengths and weaknesses along all of these dimensions, though I’ve never met a developer that was a star in every category.  It takes all kinds to round out a team, so it may be helpful for teams to take inventory of the Developer Wushu expertise of their members.  It can shine a light on strengths and weaknesses and inform how you hire and grow the team moving forward.  It may also be helpful when interviewing new developers to think of questions and discussion topics that focus in each of these areas.  Get your developers who excel in a particular art to focus on questions about that art.  You’ll pretty quickly understand what your applicant is capable of and what will be challenging for them.

Posted in software development, strategy, user interface | 1 Comment »

Fred Wilson is Still Wrong About Streaming Music and Amazon’s Locker Will Rock

Posted by Bob Warfield on March 29, 2011

Fred and I have tangled before over the issue of owning your music versus streaming it.  Fred continues undaunted in his latest post, a reaction to Amazon’s Music Locker announcements:

I don’t get the idea of music locker services like the one Amazon just announced. If I’m going to stream music from the cloud, why should I continue to buy files and collect them? I’ve been a Rhapsody subscriber for something like 11 or 12 years and I love subscription streaming services. I’ve just stared using rd.io on my Android and on the web and I love it too.

Locker services seem like they are designed to continue the physical model of collecting music and buying music when there is a new and better way – just subscribe to music dial tone and listen to whatever you want wherever you want.

I’m bearish on locker services and bullish on subscription streaming services.

Naturally, I am equally as undaunted.  The answer for why we differ so much is a simple one: people interact with their music in different ways.  Fred seems to love variety.  In a comment to my original post, he says:

i may be wrong. it happens all the time!

but it’s how i see all of this playing out

i own close to a thousand vinyl records

i own at least that many CDs

i have a terrabyte server full of mp3s

all of that is available in our home to our whole family

and yet we listen to rhapsody and other streaming services close to 80% of the time

it’s just easier. we don’t have to wonder if we own it. we just decide what we want to listen to and then play it.

I like variety too, and I use streaming services sometimes when I want to go in search of it.  But I like curation better.  My curation.  The songs I know and love I want to be able to hear when I want to hear them.  Music is not background ambience for me.  I literally can’t have it on when I’m working, or pretty soon I’m more focused on the music than the work.  Moreover, I’m concerned about the future when I don’t own the bits.

Look, things change.  The music industry is arbitrary and capricious.  Fred himself has suffered the outrageous slings and arrows of their behavior to the point he eventually confessed to pirating some music to get access to it.

I don’t like the possibility that the streaming service I’ve paid for falls into a dispute with a music label and suddenly can’t stream some artist I love.  I don’t like the idea that some streaming service concentrates so much power they become a monopoly and decide to charge per listen or some such nonsense.  We only just got the Beatles on iTunes after years fer cryin’ out loud.  Let’s keep as much power as possible in the hands of the music lovers and not the record labels or distribution (e.g. streaming) channels.  I know the latter offer better ways for VC’s and Startups to make money, but that doesn’t mean I have to like it or support it.

If I am going to make the emotional commitment to the music, I want to be in control.  Amazon’s Locker Service is the ideal way to have my cake and eat it to.  I can get all the benefits of streaming and keep all the benefits of owning.  Fred may not value the benefits of owning, and that’s great for him.  He should stick to streaming. But his bearish predictions for the non-streaming world don’t reflect the whole universe of whole people interact with their music.

BTW, this is no different than insisting you be in control of your data when you sign up with a SaaS software company.  If they can’t deliver regular backups of your data whenever you want to see it, it’s time to start asking why.

Related Articles

For the record, I agree with the sentiment that this isn’t innovative.  We’re past the Early Adopters.  Amazon’s service is the sound the Chasm makes when you’re already across it.  In light of that, I will see Fred’s Bearish call on lockers and raise with my own Bearish call on streamers.  Streaming music businesses that can’t also offer a locker service are going to be limited to either casual use as a second service and not the System of Musical Truth that is my music collection, or they’re going to be limited to the portion of the musical audience who, like Fred, don’t require a music collection.  In short, there will be a ceiling on their success if they can’t support both models, particularly in light of Amazon and Apple’s distribution strength.

 

 

 

Posted in business, cloud, strategy, user interface, venture, Web 2.0 | 4 Comments »

Those Special Customers Developers Love (Well They Should Love Them!)

Posted by Bob Warfield on March 3, 2011

Do you have any special customers that your developers hate?

These are the customers that can mysteriously break your products over and over again, even though perhaps thousands of others report no problems.

How does this work?

First, understand the psychology of bugs.  Developers don’t consciously create bugs, they come about as errors of omission, misunderstanding, distraction, and incomplete thinking.  Sometimes they’re a result of interactions between complex connected systems that the Developer does not understand or did not foresee.  Most Developers are pretty conscientious about not wanting customers to see bugs, and about getting them fixed quickly.  At my last startup, the Developers were part of the Customer Service crew, which gave them an even keener sense of the customer’s perspective.  Believe me, they wanted their bugs to stop hurting these customers!  BTW, I use that language of “bugs hurting customers” on purpose, because that’s what it feels like to Developers when they get to experience the customer’s pain firsthand.  I highly recommend it!

Yet, we still have bugs.

Second, consider how it all looks to the customer.  The first thing you have to do before you can put Developers on the phone is to get them to quit taking bugs personally and assuming the customer is wrong.  The customer reports a problem, and the immediate assumption is it is the customer’s fault somehow.  At least that’s how it can feel to your customers.  In reality, the Developer doesn’t literally think of finding fault, but they know the customer is doing something different, something they didn’t think of, and they have to get to the bottom of that as soon as possible.  In the worst case, it feels like a witch hunt to your customers when it shouldn’t.  If customers understood why the questions were being asked and why were they asked in that certain special Developer bone headed way, they would understand more.

Getting back to those special customers, they are the ones that do things differently than the vast majority, for whatever reason.  For example, if I talk to a customer that works in IT, I always take a mental deep breath.  These are the sorts of folks that will customize their browser’s security levels, erect additional firewalls, and do almost anything else to really customize their machines to work the way they want them to.  The vast unwashed are going to run their machines pretty much as they come out of the box.  So, the IT guys see some bugs that the vast unwashed don’t, simply because their configurations are different.

If I’m in a crowd with my wife, trying to find seats, I always follow her.  She’s left-handed and she will make different decisions than the vast unwashed, who are largely right-handed.  We will magically wind up getting to a shorter line or finding the better seats that are still available.  If you know a left-handed person, try following them.  It isn’t just a matter of picking left instead of right.  They perceive all of the cues around them just a little bit differently when making their decisions.

Look for people with different hardware.  They’re travelling the less traveled road.  They will find things your mainstream may not.

I have known dyslexic people who did the most amazing things with software.  I have seen problems uncovered through random behavior.  To a certain extent, I have also seen concentrations of bugs as indicating not just that an area of a product is buggy, but that it has poor User Experience.  Why?  Because areas that have poor User Experience cause people to do all sorts of crazy things as they try to guess at how to work the feature.  Hence it flushes out the bugs.  Always consider UX as a possible source of bugs!  And while you’re tracking these bug concentrations, recognize that unnatural locuses of bugginess are either indicators of Bad UX, Bad Architecture, Bad Developer, or something really really hard that you’d better invest more systematic testing in.  Let’s call these “Areas of Special Interest.”

I unwittingly became one of those “Special Customers” for KISSInsights during the last week (cool service I will have more to say about in a later post).  I had a problem with my account they kept trying to fix and couldn’t.  I escalated all the way to the CEO.  Not only did the problem not get fixed, but problems like making me a premium customer for a month for free were apparently being broken.  Both sides were becoming increasingly frustrated.  Then we discovered the real issue–I had two accounts.  They were fixing the older one and I was viewing the newer one.  DOH!

So what’s the moral?

1. Embrace your special customers.  Reward them.  They are like gold because they’re finding bugs that others haven’t found.

2. Seek out people who experience the world differently when using software.  I don’t know if you can go to the extent of trying to make sure your testers include South Paws and Dyslexics, but OTOH, maybe it’s a good idea.

3. Keep an eye on bug concentrations as a potential early indicator of Bad UX, Bad Architecture, or an Area of Special Interest.

4. Make sure everyone involved recognizes that positives that come of an effective quality process.  Never focus on blame.  Reward progress in discovery, correction, and avoidance.

Posted in customer service, software development, user interface | Leave a Comment »

Facebook has an Opening for Messaging, But This Ain’t It (Plus: What Should Google Do?)

Posted by Bob Warfield on November 16, 2010

There’s quite a bit of back and forth about the Facebook Messaging announcement.  Since a little time has passed, people have settled in and we’re slightly past the hype.  Time for my two cents:

Facebook has an opening based on at least two value propositions that I can see.  There is value in a single inbox, though at least one EI discussing the issue seemed to think that value was marginal.  I disagree.  Every “2.0″ effort has to overcome the cost of introducing another silo where you have to divide your valuable attention.  This is one of the reasons I wrote my E2.0 is dead note–too many times the 2.0 effort doesn’t offer enough value to deal with yet another silo.  Without getting sidetracked into that discussion again, any new Social offering has to provide enough reasons to overcome the cost of divided attention.  What better gambit than to argue they will reduce the division by providing a single inbox?

The second value proposition is that they can use their Social Graph to add value to this inbox.  Zuckerberg wants to improve the signal to noise ratio, and most people would welcome that, if it works.  Scoble paints an interesting picture of Facebook as repository of better contact information in his discussion of the Social Graph openness war between Facebook and Google:

It’s too late for Google. Facebook knows this, which is why it’s being more open. Why? Well, my Google social graph has rotted. The 8,000 names on my Google Contacts are attached to email addresses that are old, not good, and phone numbers that are old, not good. Tonight I tried to call someone from my phone’s contact list. The number was dead. I went to Facebook, grabbed his new number there and I even made the call right from the Facebook iPhone app.

Now Scoble is not representative of any audience I’m very close to, but he is representative of some audience.  Perhaps it’s a growing audience.  I know people who spend hours in Facebook, but not many.  Perhaps their contact information is more current in Facebook than in Google Contacts.  For those folks whose contact and other information is more current, I can see where this might make sense.  Or perhaps Scoble just represents that audience that insists on having 8-10,000 or more close friends and nobody on any smaller lists.  I can see where it would be hard to keep that contact information current.

I have to say that after having tried to train Google’s Priority Inbox for about 6 weeks, I finally gave up.  I was spending more time training it than it was saving me.  Somehow the information available to Google was either not adequate, or their algorithms didn’t make good use of that information.  The bottom line is we shouldn’t take the logical-sounding promise of vast improvements in the relevancy of our inboxes based on Social Graph manipulations as a forgone conclusion.  Extracting useful semantics from data is a hard problem that will remain hard for some time to come.

However, if you are going to buy into the “Social Graph Can Add Value to Your Messaging” camp, you need to pick the Social Graph that fits your life.  Is there really one?  Don’t some people like Facebook mostly for friends and family, LinkedIn for professional contacts, and somebody else for some other thing?  Hold that thought!

Okay, those are the reasons why Facebook has an Opening for Messaging.  Did they score?

The answer so far seems to be a resounding, “No!”

Discussion among the EI’s was decidedly underwhelmed.  Nobody could understand what new value was being added.  I want to be sensitive to the notion that maybe these EI’s, all older software company execs, but not too old (grin), are not necessarily communicating in the same way that some demographics would.  There’s been a lot of talk for example about how the younger crowd has no use for email.  Perhaps there is value to them in having a threaded conversation inbox for their many other channels of instant messaging.  That’s a possibility the crowd brought up on email would overlook.  If that turns out to be a big issue, then the communication divide between these generations will turn out to be a lot larger than anyone thought.  It amounts to having an older generation that only listens to radio and a younger generation that only watches TV.  You can imagine how profound that might be.  Zuckerberg is watching this closely, and apparently High Schoolers tell him, “We don’t really use email.  It’s too slow.”

I will also reiterate that there is huge value in a single Inbox.  But this one has some serious flaws.  I briefly touched on the question of whether the Facebook Social Graph is the penultimate Social Graph to base your life around.  It isn’t for me, and I suspect it isn’t for a lot of people.  It might not even be for the majority of Facebook users for all we know.  That graph simply cannot capture the nuances of every aspect of our life, if for no other reason than Facebook has already mismanaged its stewardship of it for far too long.  They have constant privacy bru-ha-ha’s.  They’ve demonstrated a willingness to exploit it beyond the pale as the ultimate walled garden.  I frequently hear opinions along the lines of, “nor do I want to put my online identity anywhere near that company.”  Facebook is definitely getting a reputation as “that company” when it comes to trust.

Sam Diaz’s “First 10 Impressions” article was fascinating too.  The impression one gets is of a product with a fairly deeply flawed User Experience.  Sam is surprised by an awful lot of what goes on in this experience, and his summary makes that clear:

“Facebook CEO Mark Zuckerberg was exactly right when he said that this is not a GMail killer. For now, it’s confusing and that’s intensified by the integration of SMS.”

Just as fascinating as the conclusion is some of the specific things Diaz found.   I found this one to be the most telling comparison of E-Mail and “2.0 Things”:

I have this overwhelming urge to go in and clean out my messages. I had no idea I’d had that many message exchanges on Facebook. And I had no idea that I had unread messages dating back to August 2009.

Note to 2.0 software designers: think hard about what this means as it’s an experience a lot of people are having.  It’s okay to miss a message or two among friends and family.  They will remind you if it was important and tease you about your forgetfulness if not.  However, when it comes to using Social for business, missing messages can be a real problem.  Imagine if your best customer tried to get some answers from your Social CRM support forums and you just missed the message.  This happens all the time.  It’s why the rest of the Customer Service world invented the Trouble Ticketing or Case Management systems.  They’re nothing more than managers of messages and action items that must not be forgotten.  In fact, contractually, they often must be handled within a specific SLA.  When was the last time you saw a Social CRM system do that?  To do it right, it has to be tightly integrated with your CRM system so it knows who is entitled to what treatment as well, no?  My former company, Helpstream, did all that, but we digress. 

Let’s agree that Facebook has an opening, but this ain’t it.  That puts the ball back into Google’s court.  What should they do?

First thing is they need to resist the normal Geek mentality.  You know, the one that leads to Second System Effect, defined by Wikipedia (hopefully with a hat tip to Fred Brooks!) as:

The tendency, when following on from a relatively small, elegant, and successful system, to design the successor as an elephantine, feature-laden monstrosity.

BTW, the small, elegant, and successful system is GMail.  And Google Reader.  And many other successful offerings in the Google lineup.  The tendency to monstrosity would be personified by Wave.  Repeat after me guys, “Wave was a bad idea and we don’t want to do it again.”  BTW, they won’t repeat that mantra.  Geeks hate to lose and somewhere is a Google Alpha Geek thinking it was a failure due to marketing, not waiting long enough, being too early to the market, or almost any reason except that it was a bad idea.  After all, it was probably hard to build, and anything hard to build is a Good Idea so far as most Alpha Geeks are concerned.  If it was easy, pretty soon non-Geeks would be doing it. 

Okay, having thought hard about it and having decided to avoid Second System Effect (phew!), this is not that hard.  Borrow a page from Sun Tzu.  Break out your OODA loops while you’re at it.  Competitive Strategy Sun-OODA 101 says, “Focus your strengths to strike your enemy where he is weak, force him to fight his war on many fronts, and keep him second guessing his own strategies so he never sticks to one long enough to see it to fruition.”  Let’s translate that to action:

Google, you are in the Inbox and Reader business, not the Social Graph in a Walled Garden Business (that’s Facebook).  Through Inbox and Search you are the Reader for the entire Internet for cripe’s sake.  Revel in your time and crush these pathetic date-seekers.  You are only missing two things:

1.  Unified Inbox:  Find an elegant combination of Reader and GMail and you are mostly there.  It ain’t that hard.  Resist the Second System Effect and git ‘er done.

2.  Promiscuous Connectivity:  Unfortunately, you are not good at this and have a lousy track record, but you have to succeed at this one because it’s the only antidote to 500 million strong Walled Social Graphs.

Why do I say Google has a lousy track record at promiscuous connectivity?  I dunno.  Maybe I’m soured by my experiences trying to integrate GMail with Outlook-Exchange.  It gets the email part because they can fall back on the POP/SMTP open standards.  It failed miserably with contacts and calendar integration, even when iPhone could do the job beautifully.  Maybe it’s because Google has never gotten for the Apps business that there are only 2 kinds of compatibility with Microsoft Office–100% Compatible and Not Compatible.  Guess which one Google Apps has?

This inability to promiscuously connect is not a failure of technology or IQ, it is a failure of willpower.  No Geek likes to have to slavishly deal with someone else’s standard.  They will hold their noses for Open Source, or some other Open Standard, but as for these other things?  Fuggedaboutit.  You may as well ask a Geek to maintain someone else’s code instead of rewriting it (Gasp!).  Oh the horror, the humanity of it all.

But wait, does Facebook have this issue too?  Evidently not.  They will lower themselves to the moral equivalent of screen scraping to get Google’s data while Google sits around and whines to the press instead of engineering some whizbang gizmo to suck the Social Graph out of Facebook’s Walled Garden.

Dudes, you are going to have to get good at doing this thing you evidently detest–living in the shadow of someone else’s software.  If you can seamlessly, easily for your users, and in real-time, continuously scrape all the Social Feeds and Graphs that are out there and feed them to a nice elegant little reader, you will win.  You do want to win, don’t you?  Well then that’s a technical problem worth solving.

BTW Google, consider this Facebook Messaging thing a shot across your bow.  Facebook will now start reaching out into your web.  If you don’t move quickly, they are going to OODA you and get inside your decision loop.

Posted in strategy, user interface, Web 2.0 | 2 Comments »

Heretical Thinking: Enterprise 2.0 is Dead

Posted by Bob Warfield on November 11, 2010

After reading Dennis Howlett’s piece, “Enterprise 2.0 is beyond a crock.  It’s dead,” and Andrew McAfee’s counterpoint, “Social Business is Past Retirement Age,” I found myself in the surprising position of agreeing with Dennis that E2.0 is dead.  I’m not suprised because of any issue with Dennis, I’ve been reading and enjoying his work for years, but rather because I would’ve expected to come out more on the side of E2.0 idealists.  After all, I was very recently involved in a closely related space called Social CRM, and I’m supposed to be a card-carrying “Social Guy.”  Dennis has never made a secret of his skepticism.

Where's The Beef?

Where's The Beef?

Here is my problem:  the Business Social Scene has rolled forward under the banner of the Consumerization of IT and not much else.  That’s a polite way of saying they’ve copied everything they can from Facebook, Twitter, and online BBS systems, without adding much innovation of their own.  They’ve made it possible to visit the water cooler without leaving your desk, but that’s hardly an excuse for big ROI payoff. 

Because of my past, I find myself talking to lots of companies that are interested in Social for Business.  If there is one thing that constantly surprises me, it is the sameness of their approach.  Really the only interesting new thing I’ve heard of was Chatter’s ability to have the Enterprise Software itself participate in the conversation. 

Take recent reviews of Moxie (used to be called nGenera) where two reviewers (Ben Kepes and Klint Finley) remark along these lines:

Moxie is a full-featured social suite including internal and external community sites, wikis, idea management, microblogging and more. Ben Kepes is not particularly impressed by Moxie. He lists the things Moxie told him in a briefing set it apart:

  • Pointers to people (think rich profiles and the like)
  • Rewards for participants (thinks badges and stuff – yawn)
  • Going where the people are (single sign on and enterprise integration)
  • A compelling UI (code for “we look like Facebook”)

I was basically told the same thing in my briefing, and I agree that most of this is all pretty common place – except maybe badges, which aren’t a big deal.

I saw the demo some time ago and had the same reaction.  They’re awfully late to the party to be showing a Me Too product, even if it does have a little nicer fit and finish than many.

The trouble is, almost everyone is late to this party in some sense or another because they’re all so similar.  That means that the consolidation that’s already underway (where companies like Cubetree are bought by companies like SuccessFactors) will continue or accelerate. 

There is also another disturbing tendency, and this is where Howlett’s piece really resonates and Andrew McAfee lets us down as an academic: it’s gotten to be all about faith and marketing.  When it comes to ROI, “Where’s the Beef?”  Discussions of ROI quickly turn circular:  You can’t get the ROI until everyone is participating, but once they are, we’re sure the ROI will be huge.  Dennis’ point is that in the end of the day, it’s all down to the people and their culture.  If you have a company with a culture that’s capable of embracing E2.0, you may get some value from it.  If not, fuggedhaboutit.  And this is where my problems with Andrew McAfee start.  He says the idea of a “Social Business”, is old as the hills, and E2.0 is the new new thing we have to focus on.  In talking about “Social Business” (how people behave) versus E2.0 (Tools), he pens a great passage that if I were he, I couldn’t imagine wanting to be held accountable for:

This distinction matters. It matters because telling business decision makers “There are some important new (social) technologies available now, and they’ll help you address longstanding and vexing challenges you have” is very different than telling them “Business is social, and the more deeply you embrace that fact the better off you’ll be.”

Absent any other information, I would’ve expected McAfee to immediately embrace his second statement and move on.  Wouldn’t you?  After all, it is the more profound and more accurate statement.  The first is more faith marketing from the E2.0 cheerleader’s squad.  Imagine my surprise at his next paragraph:

The former sentence, I’ve found, is pretty effective at getting their attention. The latter one is less so, because I tell you with complete certainty that they’ve heard it many many times before. It’s a message that has been broadcast into the executive suite for fourscore years now. Sometimes it’s been delivered with great skill and clarity, sometimes not. Sometimes it’s been internalized and acted on, sometimes not. But the message has been heard so often that it’s faded into the background. I’ve found that the phrases “business is social” and “people, process, and technology matter” have lost most, if not all, of their power to persuade decision makers.

Hold on Andrew, when did you cash in your academic credentials, pick up a bag, and decide your most important job was selling E2.0 software?  Aren’t you supposed to have weightier matters of the mind such as learning something new and discovering the fundamental truths of our time?  Isn’t the fundamental truth, “Business is social, and the more deeply you embrace that fact the better off you’ll be.”

Here’s the deal: we are nearing the end of the time for Faith-Based Marketing.  That’s an Early Adopter’s game.  We’re staring at the chasm and wondering how to get across.  You can’t cross the chasm with a hope and a prayer.  The folks who live on the other side of the chasm are not Early Adopters.  They don’t worship every new shiny thing.  They are more practical and pragmatic people who insist on an ROI.  Chris Yeh puts the mindset of these later adopters in a blunt but accurate fashion:

If you can’t sell more, buy less, or fire somebody, you’re not getting real ROI.

If there is one thing I learned selling Social Software, it is that the issue is very black and white.  You can’t convince people to be Social unless they already are.  There are no grays, and any company that bets its future on turning grays into blacks or whites is going to have such a high cost of Sales and Marketing they will fail.  There is a crowd that believes it’s all down to demographics.  “We just need enough Gen Y’s in decision-making positions and the world will turn Social overnight.”  There is a crowd that looks at Facebook’s 500 million people and concludes, “It’s inevitable and moreover it is here right now today!”  They are both wrong.  They are both relying on Faith rather than actively doing something new.  Remember that old definition of insanity–doing the same thing and expecting a different result.  Get off of Faith and onto ROI and you can talk shades of gray.  Chris puts the E2.0 mindset on ROI equally as bluntly:

I keep hearing that the benefits of E2.0 initiatives will take a long time to accrue and are difficult to measure, but that it’s still worth adopting because the cost of experimentation is so low.

Not to put too fine a point on it, but this is bullshit.

If we’ve been studying the Social Business for such a long time without a result, that’s a clue.  McAfee will argue that’s precisely why he has quit focusing on it and started focusing on the E2.0 world.  But that world has been here long enough too.  Lotus Notes was an E2.0 tool, for Heaven’s Sake.  A few of the E2.0 companies at the very top are doing great, most are so so, and there is a consolidation underway.  If E2.0 is the Megatrend those with the faith think, there should be so much green field that many more of these companies are hitting the ball out of the park.  We should be tee’d up for 3 or 4 IPO’s imminently, just as soon as the market opens.  I don’t get the sense we are there or even close.  We may very well have a repeat of the old Portal market, where despite many companies being in the space, only one (Plumtree) managed to have an IPO, and a tepid one at that.

As an Engineer and Products Guy, I have to comment on the software, and not just stick to the people angle.  I do believe it is possible to do what Moxie claims to have done, and that is to construct a User Experience so compelling that it drives rapid adoption.  To be clear, I don’t think they have done it, just that it is possible someone could.  The fundamental problem with the UX for these products is they start from the assumption that Generic Social is the Goal.  It ain’t the case.  Solving a real Business Problem and Delivering an ROI is the Goal.  This is the essential point McAfee is missing.  In his article, he argues putting people first is dumb because we’ve tried that and nothing happened, while:

What is novel is the digital toolkit available to help businesses and their leaders become more social, more open, more Theory Y, more Model 2, etc. In the 2.0 Era, these tools experienced a quantum leap forward, not an incremental improvement. Because business is so social, this quantum leap is a big deal.

Andrew, the digital toolkit is not nearly compelling enough as it exists today to turn otherwise recalcitrant cultures upside down and thereby prove your thesis.  Cultures that are already very sophisticated in their Social tendencies without the tools can benefit.  Others will not change, and if they would, there would be no end of case studies showing it.  The truth is that recalcitrant culture is corrosive to E2.0.  It kills it dead as Howlett suggests through passive aggression and politics, the way people have always killed things they were afraid of.  Why should a little bit of software upset the very structure on which people build their livelihoods, their reputations, and their power bases?  Andrew, go back and study all those writings about a Social Business that you’ve so eloquently quoted from, because those forces I mention are more than powerful enough to derail E2.0.So are we doomed?  Not at all.  As I mentioned, it is possible to create a UX that is an agent of change.  The trick is to design from the standpoint of not having to change the culture before it can be successful.  That is something that no E2.0 offering to date has yet done, though we have been trying since Ray Ozzie brought us Notes a very long time ago.  How would this new UX operate?  I have some ideas, but let me start with an example of a market where something similar worked with a vengeance. 

Long ago, but still in my recorded memory, there were no such things as spreadsheets.  We had accounting and accounting software, which produced reports.  We had various attempts at using computers large and small to do analysis, mostly by programming.  Very little analysis was actually getting done because despite the availability of simple languages like BASIC, and despite the cult following PC’s were gaining, you had to learn to be a programmer to do it, and that was too hard.  Then along came the spreadsheet.  What an interesting confluence of properies it had:

1. Spreadsheets have tricked more people into becoming progammers than anything else in history.

2. They did this largely by not forcing people to learn to be programmers.

3. Instead, they became an electronic embodiment of what was already being done.  A “spreadsheet” for those that don’t remember what it used to mean, was a particular kind of paper form that accountants would lay out in order to organize their numbers for computation.  They used to call them “electronic spreadsheets”, in fact.  I remember to this day driving over to an accountant’s home to see one for the first time so I could understand what it was people were so excited about.  And there it was, a piece of paper come to life and calculating live numbers as I changed the cells.

The spreadsheet is a metaphor for where E2.0 has to go if it is to regenerate itself, make a huge difference, and Cross the Chasm.  The UX has to start from how people are working today, not how you’d like them to work after they have accepted your E2.0 tool.  Proponents will say, “We’ve already done that!”  It’s true, but they’ve picked the wrong things to emulate and automate.  Wikis are automated the means to publish books or perhaps to keep community filing cabinets.  They’re great.  But who will argue that books or filing cabinets have a radical ROI?  Likewise with automating the water cooler.  If you look at it in that light, have you really solved the water cooler problem so much better that it has a huge ROI?  Was the water cooler ever capable of delivering a huge ROI?  Probably not.

I will leave this post on that note because there are so many business processes that have the huge potential for ROI that to drill down on any particular one would do the others a disservice.  E2.0 vendors, heed the spreadsheet.  Quit trying to automate the water cooler, quit trying to change the culture, and figure out something genuinely new to do besides copying Facebook!

Posted in enterprise software, Marketing, strategy, user interface, Web 2.0 | 11 Comments »

Forget SaaS vs On-Prem, Here are 8 Application Styles to Consider

Posted by Bob Warfield on November 4, 2010

The EI discussion about Microsoft’s poor handling of Silverlight brought out the different viewpoints swinging. The “RIA was never a good idea” camp was in full force as was the “this confirms everything about HTML5″ and the “Flash is on the same train as Silverlight” camps.

I don’t see these developments nor the evolution of Flash and its strategy as a confirmation that RIA is a bad idea at all, that Flash, at least is going away, or that HTML5 is the answer to all the world’s problems. Whether your RIA consists of Flash widgets embedded in HTML (my favorite RIA strategy for web apps) or AJAX HTML, RIA’s are essential for many kinds of app and HTML5 is years from being a first class choice for that work. There has been too much tendency to conflate every conceivable nuanced app type as one single web app that is best served by one single technology. That way lies crappy UX, high dev costs, and longer lead times to market.

There are new categories of application coming along all the time, and the vast majority haven’t really stopped to think about the evolution of application types and their ecosystems. Let’s forget the ongoing dogfight about Clouds, elasticity, SaaS, and Multitenant for a minute, and have a look at factoring software along some other dimensions.

I see 8 different application design centers, and you choice of which design center to use and which tools and platforms to go with it can matter quite a lot.

#1 Plain Old Desktop (POD) Apps

 

I always loved the term “POTS” = Plain Old Telephone Service, so I’ll borrow the idea for PODs, which are “plain old desktop” apps. This is still a huge business including MS Office and much of what Adobe sells by way of content creation tools. It’s also huge for complex games, though the platform is sufficiently separate we will want a separate category for console games which I won’t get into here.

Typical platforms include the desktop OS–Windows or Mac, and the traditional developer languages such as C# and Java. To deal with the pains of PODs, your app needs to be something that requires too much horsepower for the other architectures as well as a rich User Experience (UX).

#2 Server Software

A command line is a UX, and for some purposes, its even a good UX, so we will count this as an “app” category. It’s like the PODS except there are more languages and OS’s to consider. On the OS side we have Unix in commanding lead (in all of its many flavors) with Windows distantly to the rear. From the langauge side, the world has probably spent more time and effort building an explosion of different evolutionary language branches here than anywhere else. I can’t even begin to list them all, but suffice it to say that when in doubt, you could do a lot worse than to bet on it being a language for server side development. Certainly we can count on Java, C#, and Ruby on Rails as all being in this category.

Some languages are a little bit muddled as to whether they’re server or client languages. PHP is a little of both that mostly errs towards client in my book, but you wouldn’t think of it for server-less apps (if no client is a headless app, are those tail-less apps?). For this app category, we have no UX but a command line, so I’m not sure we’d pick PHP. Put it in the category of helping out Plain old web apps and RIA’s.

#3 Client Server

 

The Client Server model is tried and true and still a huge business, especially for business software. I don’t know how much genuinely new Client Server software is being built anymore. The Cloud and SaaS are a much better model for most applications. Think of Client Server as the somewhat unwieldy combination of a POD and Server Software. Most of what I’ve said for those other styles carries to this one when combined appropriately.

The combination of Desktop, Server, and Client Server are the oldest app styles that are still vigorous today. We’ll call mainframe software a flavor of Server or Client Server. All three are under siege or revolution. Desktop and Client Server are clearly under siege as various web technologies via to take their place. Server is under the dual revolutions of Cloud and Multitenant SaaS. There have been many minor infrastructure revolutions as well as the world transitions from SOAP to REST or decides POJOs (Plain Old Java Objects) make more sense than deep J2EE architectures (let alone CORBA style, Service Bus, and all the rest of that melee).

#4 Plain Old Web (POW) Apps

 

No fancy RIA tech, AJAX or otherwise. This is the modern equivalent of the half duplex 3270 green screen. But, it is lowest common denominator friendly. That means everyone can access it, but the experience may not be great. Save it for times when coverage is more important than satisfaction. Simple UI you just have to get through once in a blue moon is perfect.

The platforms? Who cares. POW apps should use such vanilla HTML they never notice. Tools and languages? Vanilla HTML and whatever your favorite dev tools are for that.

If we add POW apps to the other 3, you really do have the majority of revenue and installed base at present. What follows are newer models that are catching on to a greater or lesser degree. I should add that I see POW as stable and non-controversial, Server as growing but full of revolution, and the other two (Desktop and Client Server) as in decline to greater or lesser degrees.

#5 Rich Internet Apps

RIA’s are web apps that live in the browser but provide a nicer UX than a POW can offer. AJAX, Flash, or Silverlight have to be there for it to count. HTML5 supports this poorly at present, but everyone knows it wants to go here over time.

The “Rich” part of a RIA can boil down to lots of things, so let’s call some out so they don’t go unnoticed. Yes, we will started with Rich User Experience. But what does that mean?

Well, instead of posting a form, you have enough expressiveness that you can actually create new kinds of widgets and respond to user inputs with much more fluidity. We also have rich media, including sound and video to play with, as well as sophisticated ways of manipulating bitmaps to produce animations and art.

However, depending on the RIA platform, you may also experience other “riches.” Flash player delivers a very high performance virtual machine. It isn’t Java-class, but it is darned good. Recently, browser makers have decided performance matters for HTML as well, but it isn’t clear they’re keeping up with Flash. If your RIA has to do some kind of crunching, Flash may help it along. It isn’t just about the high performance VM, there is also the support for more elaborate data structures, which are also helpful where more horsepower is needed.

I have been fascinated by an idea I came up with called “Fat SaaS”.  We live in the multicore era where computers no longer get faster in raw terms, they just get more cores.  At the same time, it is very hard to write software that takes advantage of all those cores.  On the server side, the world has been evolving towards dealing with the issues need to scale large problems onto grids of commodity PC’s as a way to deal with the realities and economics of the multicore era.  On the client side, it seems that machines accrue more and more unused capacity without delivering good reasons for customers to upgrade as often as they used to.

Fat SaaS is an architecture that pushes as much down onto the client as possible and leaves the server farm largely for data storage.  In an extreme Fat SaaS case one could imagine that the clients become the business logic processing grid.  The goal is to tap into the computing resources that lie fallow there, and there are a lot of them.  Most organizations will have more client cores than server cores.

But we digress…

The last bit of “riches” I want to touch on is device independence.  We largely got there for server software, and write once run anywhere is a beautiful thing.  Other than Flash, we are nowhere in sight of it for the client.  This is a sad and embarrassing tale for our industry, and one that developers too often try to power their way through by just writing more code.  Browser incompatibilities are insidious.  As I write this article in WordPress, I’m trying to use their rich text editor.  It runs with varying degrees of success and a little differently on each browser.  Lately, it mostly fails on IE, meaning the UX has not been kept up to snuff.  If they would simply invoke Flash to do one single thing, manage the text editing, they could deliver an identical experience on every browser, not to mention many mobile devices too, though on Apple’s devices they would need an app to do that.

This browser dependence is absolutely the bane of HTML based RIA’s, and I can see no reason why the problems won’t continue with HTML5.  As vendors race to see who can deliver better HTML5 support sooner, keep eyes peeled for the incompatibilities to start.  If they do, that’s a sign that the HTML5 dream is not all its cracked up to be, even in the fullness of time.  It will take some new generation and a bunch of restarted browser implementations to get there.  Meanwhile, Flash will have gained another 5 to 10 years lease on life, despite detractors.

#6 Rich Internet Desktop Apps

RIDs!  A RID is a really cool thing.  It is the web era approach to building desktop apps–we build them with web technology.  Amazingly, nobody seems to have noticed that if you need to run disconnected, or if you want to build an app with web technology that does meaningful things on the desktop, Adobe is the last man standing.

Google killed Gears and Silverlight looks more and more deprecated by the day.  HTML5 is still struggling to get to the minimum RIA bar and will be for years.  What’s a poor RID developer to do, but focus on Flash?

RIDs are fascinating apps, and I would argue your nuts to build any new PODs or Client Server when this model would work. In the area of games, there are amazing developments in 3D coming for Flash Player that will also play to this architecture. Lastly, Ialready mentioned “Fat SaaS”, a model which is ideally suited to RIDs.  The RID just gives the Fat SaaS access to local disk and more of the machine’s facilities.  Fat SaaS work can go on whether the client is connected or not, and a connection can wait until the client needs to connect, which reduces the demand on the Cloud Server Farm still further.

#7 Mobile Apps

MAs are closely related to RID’s, and certainly much better known. The non-HTML RIA platforms are excellent for this purpose, and it is no accident MSFT sees this as Silverlight’s future.  HTML5 doesn’t do enough and it will be years before it does to have real apps stand alone with it. iPhone’s default toolset is basically foisting desktop technology on you to build these apps, and I’m skeptical this is as productive, but the stakes are high enough people deal with it.

#8 Mobile Internet Apps

MIAs:  when you want to live in a browser on a mobile device.  Plenty of data suggests that for apps that are not heavily used, users prefer to consume via browser.  This shouldn’t be controversial as it simply makes sense.  The browser makes it much easier to dip in and out of a lot of apps that you probably never use enough to learn really deeply.  MIAs are a different category than RIAs because like the RIA, there are considerations beyond one-size-fits-all HTML.  However, a MIA could be a RIA MIA (LOL) or a simple HTML MIA.  I won’t bother breaking those two out as new app types–we already have 8 and that’s enough.  The reality is the MIA is a placeholder reminder that you have to do something to make your app palatable on a mobile device lest you have a below par UX.

Conclusion

Have you thought about when to use each of these design centers, what the optimal tool sets are for each, and especially how to weave an all-platform strategy with as little work as possible?

Most haven’t.  I see low expertise in out in the world as much of this is new and very few organizations have so much breadth of experience.  Most of the time organizations start with one design center and move chaotically on to others as targets of opportunity present themselves.

We increasingly live in a world where being on one or a few platforms will not be good enough, and we won’t be able to build for all with organically grown “luck” strategies.  Maybe this is a good time to start thinking through these issues in a systematic way for your organization and its products?

Related Articles

Recursivity and RWWeb talking about Fat SaaS.

Posted in platforms, software development, user interface | 6 Comments »

The 8 Flavors of Social

Posted by Bob Warfield on October 19, 2010

1.  Social built on email and message board traffic.  Perhaps Notes started this frolic, or was it IRC?  Both still soldier on quietly in their corners while forums won the day.  Xobni and others want to go back to the future.
 
2.  Social built on documents.  Wikis, in other words.  Blogs also get a run here somehow:  Social built on Dear Diary?
 
3.  Social built on people and activity streams:  Twitter et al in the purest sense.  Facebook too is all about “me”.  But we had SMS, we had Instant Messenger, and maybe blogs go here more than as documents.  We’ve had some of this for a long time.
 
4.  Social built on questions ala StackOverflow.
 
5  Social built on geolocation and the check-in.  This is closely tied to social reviewing.  Foursquare, Yelp, and all of that ilk go here.
 
6.  Social built on rich media: YouTube and the music social crowd.  Photo sharing social ala Flickr and Photobucket live here too.
 
7.  Social built on transactions in business software, e.g. Chatter?  BTW, Notes did some of this in its day.
8.  Social for business cards and the casual handshake.  LinkedIn.
Have I missed anything?  What’s next? 
We’ve barely scratched the surface of what people are interested in talking about.  Some of these are third and fourth generation while there are large areas never even touched.
Social Analytics?  What might that mean?  Social medicine?  Some of that trying to hatch out there.  Social buying and collecting?  Funny how eBay totally missed that boat, but Amazon is trying to go there.
Figure it out the next big social category and you’ve got tomorrow’s headlines.

Posted in user interface, Web 2.0 | Leave a Comment »

HP’s Pad UI Printer: We Need More Thinking Like This!

Posted by Bob Warfield on September 20, 2010

What a fabulous idea:  spend $399 for a pad and get a free printer!

That’s the idea behind HP’s Photosmart eStation printer, and I love it.  In fact, we need more thinking like this.

Why continue to offer difficult hardware pushbutton UI on so many devices when a pad interface lets you offer a much richer User Experience?  Can you imagine if every hard push button UI were replaced by a really slick webby UI accessed via one of these pads?  Forget the microwave, which suddenly won’t need to blink its clock, what about the really hard stuff like:

-  Programming a very complex DSLR camera.

-  Heck programming a printer.  I still remember the horror of getting our Helpstream office laser printer to scan and send a Fax.  Brutal!

-  Programming a complete home entertainment system so it really all works together well as an integrated system.

There are only two things not to like, and they point to the same conclusion.  First the two things:

1.  I don’t need a new pad with every device.  That’s a lot of pads!  Imagine how cheap that HP printer would be without a pad.

2.  I want my pads to talk to every device.  Ideally, I want to be able to drop a pad into any device’s cradle for charging too.  No more nest of wall warts!

That conclusion I mentioned is that we could use some standards.  There needs to be a “pad UI RESTful interface API” that works for any pad-loving device.  Probably a chip or two that makes it all easy and automatic.  Memo to chip guys, can we have every pad supporting device be a WiFi hotspot while we’re at it?  Can they relay to each other to extend coverage or what?

Want to control that HP printer with your iPad?  No worries.  Want to control your microwave oven with the printer’s pad?  No worries.  How about your home?  Can I get on my pad after I leave for vacation and turn down my AC, heating and water heater after the fact?  Good and green idea!

I tell you, as I tote my iPad and iPhone around, it would be so cool if they could interact more with the fabric of my existence.  Sure it gets a little creepy sometimes, but I can get over that.  Wouldn’t it be great to have maybe one pad per room, and the ability to control any appliance in the room, plus the room’s lighting from any pad in the house? 

Whoa.  That would be a very cool idea.  Who will Open Source the first version?  Google, you wanna sell ads on my washing machine?  Build this pad stuff and get it out as Open Source.  I’m all for it.  You know you want to!

Related Articles

HP just blew up Android tablet pricing (with a printer):  Competition works, consumers look on and cheer!

And why not a Pad UI for my car?  My kids are old enough those stupid baby locks are a real nuisance.

Posted in mobile, user interface, wireless | Leave a Comment »

 
Follow

Get every new post delivered to your Inbox.

Join 313 other followers

%d bloggers like this: