SmoothSpan Blog

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

Archive for July, 2011

Mac vs PC: A Picture is Worth 1000 Words

Posted by Bob Warfield on July 25, 2011

I saw this over at Google+ (second thing I’ve posted from there):

These are McDonald’s instructions for how to connect to WiFi.  If you have XP, a full page plus another third of a page.  Vista is a little better, taking essentially a page.  Maybe there is some progress in Redmond, after all.

On the other hand, the Mac is there all by itself taking 1/3 of a page and looking happy for it underneath the beaming McDonald’s logo.

I’ve personally had the experience more than once of trying to get a Windows Laptop to connect, failing, and then whipping out my iPad and having it immediately connect without a problem.  I’ve wished on several occasions the iPad could just tell me what it did so I could do that on the PC.  Hey, maybe there’s an app for that!

The amazing thing is Microsoft spends billions on R&D, billions trying to create a viable web business, and has access to more smart developers than anyone except possibly Google or IBM.  It isn’t that they can’t do it, it’s that they’re not even trying.  They have no earthly idea what they should be doing to delight customers.  Kinnect?  Well, even a blind squirrel gets a nut every now and then.  Apple doesn’t get everything right either, but jeez Louise, when it’s right under your nose you have to make the effort.  You gotta play to win.

Posted in user interface | 2 Comments »

Had a Tough Week? Relax It’s Saturday

Posted by Bob Warfield on July 23, 2011

Best thing I’ve gotten from Google+ to date!

Posted in saas | 2 Comments »

Biggest Post Ever Redux: NoSQL as a More Flexible Solution?

Posted by Bob Warfield on July 23, 2011

Thanks to Reddit, HackerNews, and a host of other sources, my post on NoSQL being a Premature Optimization just became the biggest post ever for Smoothspan Blog.  Thanks to all for reading!

I’m actually surprised at how little argument the post has gotten.  The best comeback has been that NoSQL is not just about scaling.  You can see some of that sort of response in the comments for the original post.

The “it’s not about scaling” argument boils down to it being easier to model some kinds of problems with NoSQL than Relational because the tools and model are more flexible.  To this, I can only respond, “yeah maybe, but was modelling really the hard part of what you’re doing?”

I’ve modeled a lot of things in relational.  Some of them were very arbitrary and had little to do with the hardcore relational way of thinking.  Come to think of it, most were pretty arbitrary.  More than one commenter suggests that the existence of object relational mapping layers is a clear indication of how painful relational can be.  But it sure doesn’t feel that way if you’ve done a lot of it.  Seems like the usual sort of shoehorning some arbitrary notion into a data structure that we deal with all the time in Computer Science.  There are lots of good proven tools for it.   I’ve built mapping layers too and even that wasn’t all that hard.  Adrian Cockcroft from Netflix left one of the very first comments and suggested it was hard to beat the productivity of Ruby on Rails with MySQL for a small team.  That’s a case where the mapping layer became integral to the fabric of the framework, and one I’d love to see happen more often given how fundamental persistent storage is to a lot of problems.   One could even argue it is the fundamental thing that sets Ruby on Rails apart was making persistence a first class problem they wanted to solve up front.  Maybe there is another Ruby on Rails success story just waiting for a NoSQL tool to get crossed with some up and coming dynamic language.

Go back to my original post on NoSQL and go through some of the Netflix materials.  Some of the problems they had to solve in NoSQL are modeling problems there too, BTW.  The difference is that the warts and edge cases for relational are pretty well understood by now.  You don’t have to invent your own solutions (as the Netflix people did for things like NULL handling)–there are 6 or 8 out there just waiting to be Googled to choose from.

But this all ignores my question about whether modeling was really the hard part.  I don’t think it is, though developers love to think about the up front “minimum best fit to their design vision” as the hard part.  Having been through 6 startups now, the hard part is all the stuff that isn’t written down.  It’s the problems that pop up when things just don’t work, don’t work as expected, stop working, work too slowly, and generally just piss you off for no good or predictable in advance reason.  They pop up in the middle of the night, late in the project, after customers get hold of the software, and when there is no turning back.  They show up in spades when you hire new people and don’t have time to train them, so they just have to figure it out on their own.  Such problems extend far beyond mere development of a prototype and will in the ops and day-to-day care and feeding of a successful system.  They are problems born of a lack of maturity.  They get gradually burnished away over time in mature toolsets as bugs are fixed, experience spreads, and patterns and know-how are disseminated to the community.  NoSQL (let alone NewSQL) is just not old enough to be there yet relative to relational.  Give it a minimum of 5 years and more likely 10.  Companies like Netflix are helping make it happen as we speak.  When there are 10 Netflixes that have all built big projects that are wildly different and in total involved over 1000 developers, then we’ll have a start on it.

Meanwhile, you have a startup or a project that needs doing.  If you have a cadre who have already been through NoSQL in a prior startup or project, they may have the experience and scar tissue to make an informed decision about it.  They represent a localized burnishing of the worst problems away.  If you haven’t ever done more than read articles and tinker with toy projects, why would you risk your important project playing around with this new technology?  What do you hope to gain when there are proven solutions already at hand?  Do you expect the Silver Bullet that will magically cut your development time in half?  Do you think your startup or project is so easy you have the luxury to experiment with additional risk?

Interesting.

Posted in software development | 7 Comments »

NoSQL is a Premature Optimization

Posted by Bob Warfield on July 22, 2011

No SQL databasesThere’s been a lot of back and forth lately from the NoSQL crowd around Michael Stonebreaker’s contention that reliance on relational technology and MySQL has trapped Facebook in a ‘fate worse than death.’   This was reported in a GigaOm post by Derrick Harris.  Harris reports in a later post that most of the reaction to Stonebreaker’s contention was negative:

By and large, the responses weren’t positive. Some singled out Stonebraker as out of touch or as just trying to sell a product. Some pointed to the popularity of MySQL as evidence of its continued relevance. Many questioned how Stonebraker dare question the wisdom of Facebook’s top-of-the-line database engineers.

Harris, Jim Starkey, Paul Mikesell, and Curt Monash all take a stab at rehabilitating Stonebreaker’s argument in the second post.  Their argument boils down to, “Yeah, Facebook did it, but only because they have great engineers, spent a fortune, and endured a lot of pain.  There are easier ways.”

Sorry fellas, time to annoy the digerati again, and so soon after bashing Social Media.  I disagree with their contention, which is well expressed in the article by this Jim Starkey quote:

If a company has plans for its web application to scale and start driving a lot of traffic, Starkey said, he can’t imagine why it would build that new application using MySQL.

In fact, I would argue that starting with NoSQL because you think you might someday have enough traffic and scale to warrant it is a premature optimization, and as such, should be avoided by smaller and even medium sized organizations.  You will have plenty of time to switch to NoSQL as and if it becomes helpful.  Until that time, NoSQL is an expensive distraction you don’t need.

The best example I see for why that’s the way to look at NoSQL comes from Netflix, which is mentioned towards the end of the article.  I went through several expositions by Netflix engineers on their experience transitioning from an Oracle Relational data center to one based on NoSQL in the form of Amazon’s SimpleDB and then later Cassandra (the latter is still an ongoing transition as I understand it).  You’re welcome to read the same sources, I’ve listed them at the bottom.

Netflix decided to move to the Cloud in late 2008 to early 2009 after an outage prompted them to consider what it would take to engineer their way to significantly higher up time.  They concluded they couldn’t build data centers fast enough, and that as soon as one was built it was swamped for capacity and out of date.  They agree with Amazon’s Werner Vogels that building data centers represented “undifferentiated heavy lifting”, and was therefore to be avoided, so they bet heavily on the Cloud.  These are smart technologists who have been very transparent about their experiences, so it’s worth learning from them.  Werner Vogels reaction to Stonebreaker’s remarks about Facebook are an apt way to start:

Scaling data systems in real life has humbled me.  I would not dare criticize an architecture that holds social graphs of 750M and works.

The gist of the argument for NoSQL being a premature optimization is straightforward and rests on 3 points:

Point 1:  NoSQL technologies require more investment than Relational to get going with. 

The remarks from Netflix are pretty clear on this.  From the Netflix “Tech” blog:

Adopting the non-relational model in general is not easy, and Netflix has been paying a steep pioneer tax while integrating these rapidly evolving and still maturing NoSQL products. There is a learning curve and an operational overhead.

Or, as Sid Anand says, “How do you translate relational concepts, where there is an entire industry built up on an understanding of those concepts, to NoSQL?’

Companies embarking on NoSQL are dealing with less mature tools, less available talent that is familiar with the tools, and in general fewer available patterns and know-how with which to apply the new technology.  This creates a greater tax on being able to adopt the technology.  That sounds a lot like what we expect to see in premature optimizations to me.

Point 2:  There is no particular advantage to NoSQL until you reach scales that require it.  In fact it is the opposite, given Point 1.

It’s harder to use.  You wind up having to do more in your application layer to make up for what Relational does that NoSQL can’t that you may rely on.  Take consistency, for example.  As Anand says in his video, “Non-relational systems are not consistent.  Some, like Cassandra, will heal the data.  Some will not.  If yours doesn’t, you will spend a lot of time writing consistency checkers to deal with it.”  This is just one of many issues involved with being productive with NoSQL.

Point 3:  If you are fortunate enough to need the scaling, you will have the time to migrate to NoSQL and it isn’t that expensive or painful to do so when the time comes.

The root of premature optimization is engineers hating the thought of rewriting.  Their code has to do everything just exactly right the first time or its crap code.  But what about the idea you don’t even understand the problem well enough to write “good” code at first.  Maybe you need to see how users interact with it, what sorts of bottlenecks exist, and how the code will evolve.  Perhaps your startup will have to pivot a time or two before you’ve even started building the right product.  Wouldn’t it be great to be able to use more productive tools while you go through that process?  Isn’t that how we think about modern programming?

Yes it is, and the only reason not to think that way is if we have reason to believe that a migration will be, to use Stonebreaker’s words, “a fate worse than death.”  The trouble is, it isn’t a fate worse than death.  And yes, it will help to have great engineers, but by the time you get to the volumes that require NoSQL, you’ll be able to afford them, and even then, it isn’t that bad.

Netflix’s story is a great one in this respect.  They went about their NoSQL migration in a clever way.  They built a bi-directional replication between Oracle and SimpleDB, and then they started moving over one app at a time.   They did this against a mature system rather than a new buggy untested by users system.  As a result, things went pretty quickly and pretty smoothly.  That’s how engineers are supposed to work: bravo Netflix!

I have a note out to Adrian Cockcroft to ask how long it took, but already I have found a reference to Sid Anand doing the initial “forklifting” of a billion records from Oracle to Simple DB in about 9 months, and they went on from there.  When Sid Anand was asked what the most complex query was to convert from Oracle to NoSQL he said, “There weren’t really any.”  He went on to say you wouldn’t convert your transactional data anyway, and that was pretty much it.

Conclusion

The world loves to see things in black and white.  It sells more papers.  Therefore, because some situations benefit from NoSQL for scaling, we hear a hue and cry that everyone must embrace NoSQL immediately.  Poppycock.  You can go a long long way with SQL-based approaches, they’re more proven, they’re cheaper, and they’re easier.  Start out there and if the horse you’re riding is strong enough to carry you to NoSQL scaling levels you can tackle that when the time comes.  Meanwhile, avoid premature optimizations.  You don’t have time for them.  Let all these guys with NoSQL startups make their money elsewhere.  You need to stay agile and focused on your next minimum viable deliverable.

Extra! Extra!

This post is now, at least for a time, the biggest post ever for Smoothspan.  Be sure to check out my follow up post:  Biggest Post Ever Redux:  NoSQL as a More Flexible Solution?

Articles on the Netflix NoSQL Transition

Sid Anand’s Experience “Forklifting” the Data from Oracle into SimpleDB

Adrian Cockcroft’s NoSQL Migration Slides

Sid Anand’s QCon Video on NoSQL at Netflix

Posted in cloud, data center | 47 Comments »

Seth Godin’s Take on The News

Posted by Bob Warfield on July 22, 2011

Ironic that Seth Godin ran this post right after my rant on some Social Media being Toxic to Productivity:

The value of breaking news (news = whatever is new to you) is dramatically overrated, and the cost of keeping up with what someone else thinks is urgent is just too high.

This is akin to what we’re dealing with on some Social Media: it jacks itself so high in your attention hierarchy with game dynamics, fun, and faux importance that it crowds out the truly significant things you should be doing.

Posted in Web 2.0 | Leave a Comment »

Some Social Media is Toxic to Productivity: Google+, Twitter, and Facebook

Posted by Bob Warfield on July 21, 2011

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

Do you struggle with productivity some days?  Have you discovered that one of the secrets is to eliminate distractions?  If your answer is yes to both, then you’ll understand where I’m coming from with this post.

After having spent some time with Google+, it finally clicked that some forms of Social Media are toxic for productivity, and some are not.   Let’s try listing a few in each category and see if we can discern any patterns:

Toxic

Google+

Twitter

Facebook

Productive

Quora

StackOverflow

LinkedIn

Blogs

Forums with a Purpose or Focus:  HackerNews or any Customer Forum associated with a Product or Company

What’s the difference?  That last example, “Forums with a Purpose or Focus” comes close to laying it out.  But first, let’s go back up and look at it from a high level.

People just love to talk.  It’s not just the title of a great Blues tune, it’s true.

When we’re working, we know when we’re talking productively and when we’re not.  Hanging out around the water cooler discussion wide ranging topics, many of which have little to do with work, is fun but not productive.  That period at the beginning of a meeting when not quite everyone is there and whoever is running the meeting hasn’t started it–we all know what that is about.  We don’t enter the workplace under a vow of silence–talking is important and a lot of it is productive.  But if you want to focus productivity and make sure your tools for collaboration are actually accomplishing something useful, you need to understand the psychology of productive talk versus just talk.

Getting back to our list, Forums with a productive purpose or focus are far more likely to be an aid to productivity than say a Twitter stream.  Why?  Because the forum is like the meeting that’s gotten started.  It has moved from random chit chat to a focus.  If you’re at that meeting, you are potentially a part of that focus.   Same thing with the question-oriented social media like Quora and StackOverflow.  They bring a focus of some kind into play, StackOverflow more so than Quora.  At least Quora uses the tools of a Q&A modeled site to try to float some cream to the top and bury the dreck.  Same with LinkedIn.  It has a particular focus.  Yes, people can comment to their networks, but do you really get sucked into those random comments very much?  Do you go to LinkedIn to participate in that?  Same thing with blogs.  Most of them have a purpose or theme.  They’re a channel you tune to knowing what to expect.  Or if they don’t, you know to expect that too.  But they do occupy a defined channel that can be tuned in or tuned out consciously.  They’re not just a random free for all that rages 24×7.

The problem with the Toxic Media is they employ every trick in the book to drag you back into their embrace, just when you thought you’d been scared sober by the need to get some work done:

–  They notify you of every little thing.  Google+ is the worst because its part of your email stream if you use GMail, which had been, by virtue of its focus on the relatively narrow mailing list, a quasi-productive type of Social Media.  Not only do a get the little red indicator that I need to attend to G00gle+ (feed the beast!), I get what looks like ordinary email from folks I know that is a thread digest.  Pretty clever guys!  As an aside, people have been well aware of the toxicity to productivity of email, plugging Social Media into your email is far worse.

–  They make it sooo easy to just take one more.  Nobody can eat just one, was that old tagline.  It’s only 140 characters max and you don’t need to worry about pictures, proper spelling, grammar, or any of that.  Come on, it’s easy!

–  They make you do it personally.  Latest innovation–ban the bots.  No automatic posts.  If you want to be heard, you have to take the time and type it yourself.  Sure, they’ll tell you this increases the quality of the feed.  Great.  Now I have Larry Page posting a picture of a kite in my stream that leads to hundreds of inane comments having nothing to do with anything that keep bumping the item back up.  I deleted Larry from my Circles, and it kept on coming.  Finally had to mute the post.

–  Along the lines of doing it personally, the last innovation was ban the clients.  You have to go back to the Toxic World and be exposed to all those distractions.  Forget about tools to help you sift through the chaos to create a focus or purpose–that’s not allowed.  Forget about tools to make you more productive with the Medium, that is also not allowed.  It might interfere with the complete absorption of every last available neuron if we let you get too choosy.

–  They make it a game.  Games are great.  They make you feel like you’re doing work because hey, we’re keeping score!  You won a badge!  You sorted those random names into circles!  You silly fool, you were productive as heck, what were you thinking?  Just be careful when the game has little to do with what you need to do to be productive.

Sameer Patel was remarking that he was fascinated by all the chatter about how Google+ could be a collaboration tool for the Enterprise (don’t know if that link will get you to the thread or not), I responded:

Google+ has too many viral hooks designed to maximize its sink on your time without regard to your productivity. Personally, I’d ban it from the Enterprise and provide some other collaboration tool.

Those are strong words, but the viral hook issue is real.  Social Media designers have gotten really good at gaming human psychology to drive traffic regardless of whether that traffic is productive.  Hey, you really didn’t want to be in a productive meeting anyway, if you had a choice, did you?  Many people wouldn’t.  But at least somebody in charge finally does get the meeting started and people know to get productive.  Who performs that task when you’re alone at your desk surfing the Toxic Media?  Personally, I try to turn it off by 9am and get on with my day.  If I revisit, I limit it to lunch hour or end of day.   Treat it like it’s play and don’t kid yourself that it’s work.

And Enterprises, think about banning Toxic Media rather than hoping you’ll reap the benefits of collaboration by embracing it.  Banning it is going to be a neat trick if you can’t figure out how to ban G00gle+ without banning GMail.  One more bit of clever to combine the two.

I look forward to seeing more Productive Media models invented like StackOverflow, or conversely, features added to Toxic Media to provide the antidote when used in Business.  There’s a lot of room for worthwhile innovation there.

I will continue to enjoy playing with Google+, but I’ll try to make sure the addiction stays controlled.

Postscript

I’ll be interested to see whether this post is controversial.

To all those who will want to write with anecdotes of the hugely valuable information and contacts they’ve gotten from Toxic Media, hold the phone.  Are you telling me that all the time you had to spend separating wheat from chaff was the most efficient way to get that information or make those contacts?  Did you even try to find either in another way?  Search Engines?  LinkedIn?  Color me skeptical.

Posted in business, Web 2.0 | 7 Comments »

Swartz Stole Academic Articles? Why Weren’t They Free In The First Place?

Posted by Bob Warfield on July 19, 2011

Aaron Swartz, one of the founders of Reddit, is garnering a great deal of attention after having been indicted on charges he stole over four million academic documents.  Being a quasi-celebrity and political activist, the indictment is prompting a number of articles in my blog reader, and it has certainly rung Techmeme’s bell more than once.  The details of the alleged theft are certainly titillating:

This time around, Swartz circumvented MIT’s guest registration process altogether when he connected to MIT’s computer network. By this point, Swartz was familiar with the IP addresses available to be assigned at the switch in the restricted network interface closet in the basement of MIT’s Building 16. Swartz simply hard-wired into the network and assigned himself two IP addresses. He hid the Acer laptop and a succession of external storage drives under a box in the closet, so that they would not be obvious to anyone who might enter the closet.

But here is my problem: I can’t understand why those academic articles weren’t in the public domain anyway.  Why should he have had to steal them?

I read a lot of academic articles, and it has seemed to me for a long time that this business of having to pay a small fortune for each and every article reprint was a total ripoff and contrary to what the institutions funding the research that led to the articles should be standing for.  You don’t have to search very long on some academic subject before you run into a link similar to this one.  That’s $31.50 for one single academic paper that should be available for free.  It’s published by a prof from Cal. Berkeley and another from U Illinois, Champagne-Urbana.  These are two very fine institutions.  Why then do they want to condone the research they paid for costing $31.50 for others to review for academic purposes?  What’s the justification for doing this?

Schools should be Open Sourcing all of their research to foster sharing and the general advancement of knowledge.  Once upon a time that sharing depended on articles appearing in scholarly journals that collected in University Libraries.  Aren’t we past that?  Doesn’t it make more sense to publish on the Internet?  Shouldn’t I be able to go to any University’s web presence and find a page that has every publication any of their researchers has ever made?  Beyond that, shouldn’t the Library of Congress be collecting and making them freely available if any Federal Funding at all went into paying for the research?  Can anyone in this time of Open Source formulate a good argument for why it isn’t in the best interests of education to open up these scholarly papers?

And if we have to pay anything at all, what in the world is the justification for it being the princely sum of $31.50?  How about 99 cents?  The incremental cost of each article is zilch to add to these databases.  Give them to Amazon if the publishers can’t figure out how to do it for less than $31.50.  They won’t have a problem.

Swartz’s biggest problem is he apparently broke into a Walled Garden that should never have been built to start with.  Someone needs to start a movement to shine a light on this and push schools to publish their research in a much more modern way and with a lot less profit motive.  It would be a boon for the advancement of knowledge just to have it all searchable by the public search engines.

 

Posted in saas | 3 Comments »

Have Your Kids Tried Programming?

Posted by Bob Warfield on July 14, 2011

Each summer we try to arrange that our kids have a mix of fun things and self-enriching things to do.   Self-enriching things are intended to help them develop their talents and maybe get a little better prepared for the next year in school.  If they had some weaknesses the prior year, we’ll have them work on those a bit and we’ll try to get them looking ahead at next year’s equivalent class.  We try to give them some say so on these projects so long as they stick to things that move the ball forward against the original goals.  By way of developing talents, this summer we decided to try programming.

I had looked into the possibility months before and decided Python would be the learning vehicle.  It has a number of charms, seems to be one of the Cool Kids Languages, is powerful enough to do useful work, has a following among educators and so on.  In addition, it had a couple of strong marketing attributes that I think worked well with the kids.  First, they respond when they hear it is one of the languages of choice at Google.  I’ll never forget driving by Google’s offices one day in Mountain View and having my 12 year old daughter beg to go check it out.  I was surprised that a young girl would care about Google, but to her it was a chance to see a very cool thing.  I explained that the campus wasn’t really open and that while there were some fun things inside the doors, it was mostly just offices.  I felt a bit bad for having deflated the dream a bit, but this argument that we’re going to learn Python because it’s what Google uses still carries weight with these kids.

The second key marketing attribute I have made sure to mention and remind them of several times was that I don’t know Python myself.

There’s a psychology to be aware of that I’ve seen before–kids don’t want to compete with Dad once they move into their teens.  They want to win on their own terms, and if Dad seems to far ahead on something, that something is a lot less interesting.  Knowing Dad is a programmer, I initially felt some push back over whether the kids would want to learn programming or not.  But telling them I didn’t know Python and would look to them to teach me about it had the desired effect.  They liked that a lot.

How has it gone?

It’s early days yet, but I have been impressed.  First, I had only assigned this task to my son, but my daughter jumped in almost immediately of her own volition.  Second, they’re chewing through the basics at a pretty good clip and without a lot of help.  Their code seems pretty clean and well structured.  They’re at the stage of basic control flows and seem to get it.  Lastly, without any prompting from me, they’ve naturally taken to using the Internet as any developer would to help answer their questions as they come up by cruising forums, StackOverflow, and a variety of other resources.

I don’t know yet whether my kids will be great developers or not.  I am from the camp that thinks software developers are born and not made.  I have seen too many cases of inexperienced brilliant developers with little or no formal education coding circles around developers with computer science degrees from MIT, Stanford, and other top schools.  Those that have the spark can manifest it at an early stage and grow rapidly from there.  As every father would, I hope my kids can be stars at what their father loves, but at the same time I want them to choose their own way.

Meanwhile, expose your kids to a summer of programming just so you both can see how they take to it.

Posted in software development | 4 Comments »

Why Adobe is Losing the Hearts and Minds of Developers

Posted by Bob Warfield on July 13, 2011

I’m annoyed today.  That’s my problem not yours, but hopefully you will at least find my story interesting, amusing, or perhaps a cautionary tale depending on the business you’re in.  If not, there’s a lot else happening on the Internet, most of it probably more interesting.  If you like a good rant, read on…

It’s irony day.  Not long after writing that one of the key attributes of a PaaS is helping companies secure sales leads, I’ve personally run afoul of Adobe’s App Marketplace.  It’s a silly thing really, but the way they’re running it is worse than not having a marketplace at all.  I see shades of the same in a lot of other would-be ecosystems whose leaders, the companies that set them up, are doing just enough to get buy, but are not really helping to do what they should be doing.  First, some great examples of ecosystems that work:  Apple’s AppStore and Salesforce’s AppExchange.  Haven’t heard Benioff lately, but he sure beat Apple to the punch on that one, let alone many others.  I will also say that while I don’t always agree with what Salesforce is doing, they’re smart people, they reach out and are reachable, and they help me to understand why they’re doing it.  Plus, a lot of what they’re doing is awesome.  I have less experience with Apple to go on, but have heard good things from friends.

Now on to my tale of customer service and developer relations with Adobe.

First, there are a gazillion people out there who work for Adobe and have words in their titles like “Product Manager”, “Evangelist”, or “Developer Relations”.  These are people one would think should be highly approachable and interested in anything new or unique that’s happening with their platform. After all, they make their contact info fairly available.  The platform I’m referring to for this article, BTW, is Flash/Flex/AIR.  Many would like to sweep it under the rug and place all bets on HTML5.  You’d think that in that sort of atmosphere, Adobe would want to work hard to stand out as a beacon for their developers.  But it’s been a pretty foggy night and the beacon isn’t visible.

I have so far contacted no less than 5 of these folks to tell them about some work I’ve been doing with Flash/Flex/AIR.  It’s not like I’ve invented Cold Fusion or anything (well of course I didn’t mean the software, they did invent that), but I happen to think it is cool stuff, and it is certainly unusual.  Rather than being a flashy (pardon my pun again) bit of marketing adware, or some game, I’ve actually been building software that is more traditionally done as desktop software written in C++ and the like.  It’s something that is <gasp> useful and in fact being used by professionals at some of America’s foremost manufacturers.  I’ve stretched the envelope pretty far from most of what I see being done with Flash/Flex/AIR.  These are rich UX apps that are for the CAD/CAM market.  Just getting these Adobe products to run against the large volumes of data and high performance graphics required by such a market was no easy feat.  So you’d think someone out there might think it was interesting.  Might at least respond to the queries, anyway.  Nope, no response whatsoever.  These were all people, BTW, who are highly visible in the blogging community, giving talks, yada, yada.  Probably way too busy to take time out to talk to everyone who is using their platform, and I say that in all sincerity, not trying to be snarky.  They don’t know me from Adam, but you’d think there’d be someone more junior it could be delegated to, or they could dash off a quick note in response or something.

On to the Adobe Marketplace.  They have a special marketplace for AIR apps and it looks like a pretty neat place.  “Cool beans!” sez I.  And so I promptly applied for a listing.  My status as publisher was granted almost immediately, last May.  And there things have languished ever since.  I can go into my little control panel and see my app still sitting there waiting for review:

Adobe AIR Marketplace

I marked with a red outline my submission date last May, that I am still queued for review, and the one place I could find anywhere about how to get help.   Trying to get help, as it turns out, was a terrible idea.  It basically just wound up annoying me enough to write this post.  You see, I wound up on chat with a representative named “Neela”.  She basically had nothing to offer.  First, rather than reading my detailed explanation of what had happened, she assumed I wanted information on some app I’d bought that was listed on Marketplace.  She was at pains to tell me that Adobe could in no way help with this and I would need to contact the developer.  I then proceeded to explain that I was the developer, I was an approved publisher for the marketplace, and I very much did expect to get some help from Adobe.  Each time we had a go round, the software for the chat would fill time while she dealt with how ever many other parallel chats she had going.  It automatically generates little messages to keep me warm.  So I’d get 3 or 4 after each of my responses that were like this:

Neelu : I'll be right with you.

Neelu : Thank you for waiting. One moment please.

Neelu : Thank you for the information.
Neelu : Sorry for the wait. Please do stay online.
That's verbatim, BTW.  And there were only 6 or so different messages, so I got to know them all quite well.  Classic Eliza-style simulation of a human.  Eventually, Neelu came back again:
Neelu : Please contact marketplace to get help on this. 

Bob: Marketplace provided this chat. How else am I supposed to contact them?

Neelu : I am sorry, we don't have any information, you need to contact with the individual developer who develop the software.

LOL, as you can see, things go circular after a bit. So my last response was that I would do what she recommended after I got done writing a blog post about the terrible customer service Adobe was giving me. I got a one word response back, “Okay”, and then the chat window unilaterally closed itself leaving me sputtering in its wake without even a chance to escalate.  If you’d seen my beet-red expression, you would have been laughing your heart out at me.

My guess at this point is I never will get listed. Maybe if they’re monitoring social media enough to see this blog post. I know I’m not wasting any more time on them, and you shouldn’t either.

This is why developers ask themselves why they should spend money on tools rather than using free Open Source all the way.

Adobe, dudes, if you are listening, you just broke my guitar loading it into your airliner. You know where that leads. What were you thinking?

Posted in business, Marketing | 3 Comments »

Why Do the Cool Kids Keep Missing the Tragically Knowable?

Posted by Bob Warfield on July 8, 2011

I just read an article on GigaOm about Facebook (Techmeme caught it too) app vendors being up in arms because Facebook’s new spam control was too strong and knocked out a bunch of legit apps.  It isn’t just Facebook, we read these stories constantly about various Valley companies.  Mostly they are companies that don’t have enough grey hairs so far as I can tell.  Twitter is another one that keeps thrashing around.

I don’t get it.  I’ve been spending a lot of time lately telling various Marketers that Marketing is a Product.  It has a UX, you want to delight your prospects with it, yada, yada.  I guess I need to be telling Product Guys that Products are Marketing after I read stories like this.  They can be A/B tested.  They can be trialed.  You don’t have to roll out changes wholesale and wait to see who screams, and then frantically roll back what doesn’t work.  In fact, it’s much better if you don’t.

Look people, in an online / social / connected / mobile / viral / cloud world, the distinction between marketing and product blurs to the point of being nonexistent.  It all carries a message and a User Experience that either strengthens or weakens your position.  And, it is all Tragically Knowable.

Talk to your customers.  Listen to your customers.  It isn’t hard to do.  You’re supposed to be Social Networks for Heaven’s Sake.  Once you get good at it, you’ll realize it’s actually a lot of fun.

Why screw around with your entire audience and momentum when you could do some tests and do what’s right?  I don’t care how brilliant the wunderkind at the top may be, they are wrong sometimes.  Save us poor customers and prospects the pain.  Life is short, we don’t need any more pain, and we’d like to get on with just loving your products if you’d let us.  Quit doing stuff that was Tragically Knowable.

Posted in Marketing, strategy, user interface | Leave a Comment »

 
%d bloggers like this: