Archive for the ‘Technology trends’ Category

Note: I’m starting with games but this post is for all software developers.

In Gaming Software Development

Many computer games these days have online communities associated with them.  These most often take the form of forums with players exchanging advice, secrets, data, and braggadocio.  They also serve as a central communication point both from the game developer to the consumers as well as between the consumers.  Such communities can be seen as a hub-and-spoke model since a handful of the sites become the central connector for myriad smaller and more specialized sites.

Some communities are more actively fostered than others.  A software developer does not create the community separately from the software itself; it is on this step that many developers fail.  The software needs to be designed in such a way to generate a community.  For an example, I turn to  Lionhead Studios which developed Black & White and a sequel.

The original Black & White was widely hailed and developed a strong user community.  The developers allowed the game to use third-party content such as unofficial patches, additional maps, etc.  This significantly extended the life of the game which may have been a deciding factor for Lionhead not to include such support in the sequel.

Black & White 2 has been criticized since gameplay is limited to a single campaign and there is no way for players to add further content.  Once you have finished the official sequence of seven games, you must begin again.  This reduced the replay value for most consumers.

Economically speaking, there are circumstances in which this may be beneficial to the software developer.  If they had a similar game in the pipeline, consumers may have been left wanting more and may have chosen to purchase the next game quickly.  However, as it turned out, Lionhead did not have a similar game to launch.  Since players could neither expand on the existing game nor purchase a “next-gen” title, Lionhead’s decision ended up tarnishing their brand-name.

Where is Lionhead now? They’ve been bought out by Microsoft.

Applicability to Other Software

Developers of other categories of software will need to learn from the gaming software industry.  The power and the danger of software communities is increasingly important.  What do such communities offer?

  1. Extend Product Generation Life - This may be a good selling point during the initial software sale (1.0) but there is a risk that it will slow sales of an non-generation upgrade (a 1.5 version).
  2. Misuse - Opening up a line of software to the development community may result in security or functionality compromise (i.e. identity theft or other hacking.)
  3. Competitors - Opening up the code enough for developers to understand also means that your competitors will be able to understand it.  If they can understand it, they can emulate it.  Additionally, members of your own development community may decide to develop a mod or addon that becomes more desirable than your own core product.  Of course, this may turn into a new hiring pipeline as you can identify the most skilled and driven community members and hire them.

This is a scary prospect for many software developers.  But it is also a great opportunity for them.  These communities can serve as belwethers, letting you know how your next generation product must change in order to remain competitive.  Communities can quickly identify problems and, if given access, develop mods to fix flaws.  They also have the ability to adapt to niches.

Imagine, if you will, your software as an electric drill.  A drill has many uses each requiring a different drillbit or tip.  What we are talking about is concentrating your efforts on the core functionality of the product - the motor.  Your community can develop the myriad drillbits for you, if you give them the ability.  This avoids the costs of developing a hundred different drillbits each for a handful of users.

The development costs of customizing your software for different uses can be very high, particularly if the target markets are small and specialized.  By letting your community do your work for you, you are reducing costs and you are increasing the number of potential customers.  A market you wouldn’t have otherwise entered (small user base, high customization costs) can now be served by the combination of your drill and someone else’s drillbit.

The real future of software development is in communities.  Software developers first need to:

  1. Examine their markets and decide what level of community access is right for their product.
  2. They then need to follow this up by developing software products that are engineered to be community-accessible at their chosen level.
  3. Finally, they need to create, nurture, support, and then free their communities.

Bottom line: communities are not developed after products.  They are developed by products.

“Japan has long been famous for its advanced cellphones with sci-fi features like location tracking, mobile credit card payment and live TV. These handsets have been the envy of consumers in the United States, where cell technology has trailed an estimated five years or more.” - Wired

With the announcement of the new iPhone, Apple has once again set the technology news world buzzing with talk.  Some claim that the new iPhone will kill older smartphone companies while others claim it will generate interest in the whole segment and encourage people to switch from basic cellphones to Web-enabled ones.  One thing seems pretty clear; Apple is going to lead the charge.

The biggest markets for cellphones are in Europe, Asia, and North America; the iPhone is currently competing in the U.S. and in select Western European markets.  The planned expansion includes Australia, and more significantly, Japan.  This will mark the iPhone’s first major effort in a market dominated by a culture not derived from Western Europe.

Over the past 50 years it has become clear that most consumer goods and services need to be designed and marketed in ways distinct to each culture.  Various thinkers have tried to peg the exact number of cultures at anywhere from three to more than sixty based on an even wider range of variables.  It would be a disservice to try to cover them all here but a start can be made by reading up on Geert Hofstede.  For the record, his work concentrates on five cultural dimensions that affect organizational culture and, unfortunately, his school of thought often views national boundaries as cultural ones.

However, in the technology world, it is often assumed that the same attributes are desirable across all cultures.  For instance, companies assume that we all want ease-of-use, that we desire to share where we are and what we are doing with our friends, and that we want seamless connectivity throughout all the environments we inhabit throughout the day.

Most of you are thinking, “Sounds like a good assumption.”  However, do you really want eight-year olds using the same forums as you? Do you want your friends to always know exactly where you are? Do you ever want to be unavailable and unreachable by your coworkers or boss?  There’s also the deeply-entrenched concept that others are basically like us and want the same things we do.

The technology industry should spend time trying to understand if users really are such a homogeneous group or if there is a need for more tailoring, customizing, or segmenting.  The Wired article quoted above (yes, I was going to get to it) points out just one of the cultural gaps that inhibits technology adoption rates.

According to the article, Japanese cellphone buyers are more interested in the number of features included on a phone than whether or not those features are well-executed, easily-accessible, or even useful on a daily basis.  The iPhone’s real claim to fame is the ease-of-use; a variety of technologies and user interface design elements contribute to making it easier to write e-mails, use map directions, send text message, and browse the web.  Conversely, the article’s author notes, “Japan is a culture of spec sheets” and the iPhone’s core message will likely fall on deaf ears.

Someone at Apple must have figured this out, right?  So how will Apple differentiate the iPhone from other product offerings in Japan?  Simply being easier to use isn’t going to work though perhaps the Apple brand will attract consumers.  One nugget of data-driven gold hidden at the bottom of the article is that:

A survey conducted by Japan Railways showed that just more than half of those polled were interested in buying the iPhone, but that less than one-fifth really knew what the iPhone was.”

Wow. I’m glad I’m not in charge of rolling out the iPhone in Japan in a month.

Technology companies, even those outside the cellphone industry, should be watching carefully to see how Apple builds awareness, how they market the iPhone, and what they do if the initial buy-rate is low.  Technological culture, like organizational culture, has many flavors and the industry would do well to take the potential divides into consideration.  One problem is that, unlike organizational culture, little research has been done on different technological cultures.

Nathan Bell recently argued that OpenID is too obtrusive for users and, while I agree, I don’t think this is the primary obstacle that OpenID faces. Before I go further, a disclaimer: I am not a techie and will therefore approach this as an MBA (boo, hiss).

Huh? What’s OpenID? OpenID is basically a single login (think username and password, though these are not the only ones) that works across a variety of sites. Unlike other previous attempts to standardize logins, OpenID does not rely on a single central server beholden to a single firm. Instead, it is a decentralized network allowing users to choose from several different identity providers. Further basic information can be found here, courtesy of Wikipedia (though I am sure many techies could nitpick the details on this description.)

What did Nathan Bell suggest? Bell suggests integrating the login as a browser utility. When visiting an OpenID-enabled site, the browser would ask you to confirm that you want to use your OpenID identity. Bell also notes that you would probably need to login to your identity provider once per session.

Sounds good… What’s wrong? While making OpenID easier to use is certainly a laudable goal, the real obstacle facing OpenID is the lack of perceived market need. Having gone through the stress and jumped through the hoops to get my own OpenID identity, I think it is a very useful tool. However, I believe the average internet user does not perceive a need for this tool

OpenID supporters tend to tout two major selling points for OpenID:

  1. Decentralized providers (you choose which one you trust most).
  2. Single login for many sites.

The average internet user, inasmuch as such a person exists, does not care about the ethical arguments regarding a centralized identity provider versus a decentralized one. They are busy people (as are we all) and simply want a solution to remove the irritation caused by trying to remember all the different usernames and passwords he or she uses.

Many of these users have found such a solution; Mac OSX’s Keychain utility and/or the built-in password memory on many browsers. From a security standpoint, these are less than ideal. Keychain-type solutions pool your collection of passwords on a single computer but are not easily shareable across your desktop, laptop, work computer, library terminal, etc. Browser password memory functions are dangerous because they allow anyone using your computer to log into your sites. Finally, both of these solutions store passwords locally (usually considered a security no-no.)

So what do you suggest? I believe that in order to grow the OpenID userbase, OpenID providers need to offer a seamless product with a coordinated message that appeals to potential users.  In other words, show them something that can be explained in a single phrase that immediately improves their lives.  For example:

  1. Add a keychain function that stores passwords for all their sites (not just OpenID enabled ones).  This plugin should store the passwords in a protected file with their OpenID provider.
  2. Allow users to access this keychain from any computer they use via their OpenID identity.
  3. “One login to rule them all” or, less ominously, “Login once. Use everywhere.”

This avoids the problems associated with network externalities.  It provides users an immediate gain rather than one that really only takes effect once OpenID is supported by the corporate internet.  The corporations aren’t going to replace their proprietary login systems with OpenID for a number of reasons.  So bypass them and let them keep their systems; OpenID shouldn’t play the same us-or-the-highway game as the corporate giants (Google, Yahoo, MSN, etc.).  Instead, make logins easier for the users because, at the end of the day, they’ll decide who wins.

And Bell’s idea? Use it as the first step. It makes sense to incorporate the login into a browser utility or plugin.  But it should go further; have that plugin collect (by asking, of course) username/password combinations for non-OpenID sites and store them with the identity provider.

I think the winning combination will be a two-way browser plugin that confirms the user identity once per session then collects and distributes the necessary identity credentials to each site, regardless of whether they are OpenID-enabled or not.

3
Jun

Recipient-defined Messaging

   Posted by: Adam   in Internet, Technology trends

Michael Richardson argues that people want more control over how others communicate with them. Given the plethora of incoming communication channels, people are currently bombarded with both high and low priority messages on each of their messaging systems. For example, someone who just wants to say “hi” to me may contact me via a standalone instant message system like AIM, through Facebook or Gmail IMs, by e-mail, by Twitter, by text message, etc.

What Michael is really getting at is that we currently have sender-defined messaging. In short, the sender pretty much has sole control of the delivery process. As you can see from this highly-technical diagram, this makes recipients sad.

Michael is right to see this system as inefficient and, more importantly, he provides a way to solve it. While I can’t speak to the scalability or architectural problems associated with recipient-defined messaging, the net effect seems very desirable. Any incoming message will be tagged with a priority level and a sender. Routing instructions defined by the recipient will be stored somewhere (ideas?) and, taking the tags into account, will forward the message to the appropriate system.

This new system allows the recipient to define how they will be contacted. Senders also see a benefit: they can be assured that the recipient is not unduly annoyed by their message (content aside).

One other possible innovation would be to have a single messaging address for each recipient. In other words, a sender would no longer need to maintain an extensive address list for each recipient with their twitter username, their IM username, their Facebook name, and each of their e-mail addresses. Essentially, we are talking about a single digital identity (which makes this a perfect fit for OpenID).

2
Jun

The Speed of Innovation

   Posted by: Adam   in Marketing/Strategy, Technology trends

The rate of technological innovation has traditionally acted like ocean waves. The rate of growth rises and falls in waves and, occasionally, several waves amplify each other causing a period of particularly strong technological growth. In the aggregate, innovation until the end of the 20th century was a simple linear model, rather like this:

In this graphic, the solid line represents the level of technology extant while the dashed line shows how a typical user will adopt the technology. One of the central assumptions is that an average user (not an early-adopter, maven, geek, or Luddite) will avoid continual adoption of new technology. Instead, they will wait for a critical user base, trendiness, or external requirement to be associated with the cutting edge technology before investing the time/effort/money into upgrading

John Seely Brown argues that this rate can no longer be accurately modeled in a linear fashion. Instead, he proposes that the rate is an exponential function, like so:

If this is true, average technology users face a developing problem similar to that which plagues inventory management specialists. Is it better to upgrade (or restock) when a determined distance between the lines exists or only to do so after a determined period of time? Imagine that the user is a firm and the technology is the operating system on their computers. Upgrading to the latest version once a year is equivalent to the periodic method. As the technology curve rises, the distance between the dotted line (representing the deployed operating system) and the latest version will increase as time goes on. This means that the firm will have to expend ever-increasing amounts of time and money on training their employees since the gap between what those employees are comfortable with and what the company wants to use widens.

On the other hand, if the firm decides to upgrade each time the distance between the lines is the same, they will find themselves having to retrain those employees with increasing frequency. Again, this is not sustainable as it entails spending a larger fraction of company time and money on training (due to frequency rather than intensity now).

However, for an individual piece of technology, the development curve is rather different. As the idea becomes more refined, the rate of technological growth slows. For example, early automobiles differed widely in all aspects of their layout, engineering, and design while the functional base of current automobiles remains fairly similar for all major brands. The development curve would look something like this:

As I said earlier, adopters of technology are rarely willing to continuously upgrade. Therefore, an ambitious adoption curve like the dashed line here is highly unlikely (and cannot be recommended as efficient.) This past weekend I had the fortune to talk to Mitchell Savage who explained how the company he works for is approaching the idea of selling a continuously evolving technology.

Essentially, if I understand the strategy correctly, one wing of the company will develop technologies in a natural, unconstrained manner. This is approximated by the solid development curve in the graph below:

The marketing/sales division will then concentrate on selling given releases of the technology. In this graph, each release is represented by the round dots. As technology is developed, stable versions are produced and sold to customers. The horizontal dotted lines between the development curve and the adoption “steps” represent time that can be spent on marketing campaigns and sales pushes while the horizontal dashed lines show the time customers can use for deployment and use. Note the concurrent dotted lines; it is possible to have a closing campaign for version 2.0 while the campaign for version 3.0 is ramping up. Note also that the versions adopted by customers (the circles) follow a more steady time/tech level growth rate.

The benefits here are many. First, the revenue flows are more evenly distributed since revenues are not directly tied to tech development . Second, customers can schedule around planned technological upgrades due the more regular length of periods. Third, marketing/sales forces have time to conceive, launch, execute, and wrap-up campaigns without worrying that a new version might be released halfway through. Finally, marketing/sales divisions have a reduced motivation to hound the developers which allows developers to concentrate on features and stability rather than appraising salespeople of the latest ideas in the pipeline.

All in all, this model seems best suited to maintaining the primacy of technology developers over the “suits-and-ties” of the enterprise. Will this become the standard for all R&D type businesses?

28
May

Barcodes for Life

   Posted by: Adam   in Internet, Technology trends, Uncategorized

As technology moves forward so quickly, there are certainly those among us who give up on staying current.  For the most part, technology dropouts (or perhaps Luddites) are able to function quite well in society.  History will record that Bill Clinton sent exactly one e-mail while in office as President.

However, in some parts of the world, it is getting harder and harder to function on a day-to-day basis without utilizing fairly modern technology.  In Helsinki, public transport schedules have been electronically tied to tracking programs so you can immediately find out how much longer you will need to wait for a bus or train.

The way this works is that the bus clocks in via RFID at each stop.  This data is sent to a central server which updates how far ahead of or behind schedule that bus is.  A rider at a bus stop points his or her cell phone camera at the bus stop’s barcode and takes a picture.  This picture is recognized as a unique identity number by the cell phone which then sends a text message of that number to the server.  The server responds to the text message by sending a reply to the rider’s phone with the estimated time of arrival for the next bus.

While paper schedules are still posted for the less technologically-enabled, the city is considering phasing paper schedules out in favor of this dynamic system.  This will force riders who do not use the technology to impose upon those who do or learn the technology themselves.

Moving a step further, GetWickd is a combination clothing seller and dating service.  Each customer is given a unique customer id and barcode.  Each time the customer buys clothing from the site, he or she inputs this number and the barcode is silkscreened onto the item.  The idea is that a passerby who sees a barcode on, for instance, a T-shirt will use their phone to read the barcode and will automatically load the wearer’s profile in their phone’s browser.  Similar technology exists to send those browsers to your blog or other web page.

The major adoption problem for this technology is the same one that faced the videophone; the user base network externality.  No piece of social technology is useful in a vacuum.  Therefore, people will only adopt this technology once they see that others have already adopted it.  What’s the point in having a barcode shirt if no-one can read it? And what’s the point of having the software to read barcodes on your phone unless enough people have barcode shirts?  The geek effect may provide an initial user base but will it be enough of a beachhead to establish a market desire for the technology?  Companies will need to establish a single common database (there are already competing standards) if they are to gain consumer acceptance.

The idea, however, raises an interesting possibility.  Since it costs money to maintain the database of site-code linkages, could we see a future where clothing expenditures are no longer a one-time event but a subscription-based model?

24
May

Tiered Technology by Generation

   Posted by: Adam   in Technology trends

I went to the grocery store today to look for a cake for what would have been my grandmother’s 71st birthday.  As I was using the self-checkout, I saw something that has never failed to annoy me.  People using one of the other checkout had taken some of their items off the bagging shelf and the weight-sensitive part of the checkout had stopped.  As usual, they got annoyed at it and started yelling at the poor attendant who tried to explain that, as the instructions said, you shouldn’t remove anything from the weight-sensitive shelf until you had paid.

It occurred to me that although these people were my age, they didn’t seem to understand the cold machine logic of automata.  Even within a single generation, we are starting to see tiered technology adoption rates.  By this, I mean that just because someone is your own age, you can no longer assume that they are able to operate technology in a similar way.

One hundred years ago, you bought groceries by going to the store and telling the clerk what you wanted.  At some later point, the goods would be delivered to your house and a bill would be presented to you. Fifty years ago, in most urban areas, you paid and picked up the groceries at the same time.  Twenty five years ago, credit cards revolutionized the process by delinking the payment and the pickup.  At each of these points, the regular customers of a given store would have been familiar with the process.

However, today, as the rate of technological innovation and adoption is continually increasing.  Though there are many of us who believe we are able to “ride the wave”, an increasing number of people are falling behind.  These people form tiers of technological ability; each tier is capable and comfortable with a certain level of technology but is resistant  or incapable of moving up to the next tier.

Unlike previous eras, we do not simply have two or three tiers of users in our workforces.  We have many more than that: people who regularly use e-mail but not instant messages, people who use instant messages but not collaborative documents, people who use collaborative documents but not wikis, etc.  The progression is no longer hierarchical either.  Some user groups may be comfortable with technologies A, B, and C alone while another group is comfortable using A, C, and D alone.

Where does this path lead us?  We already see that the level of technology you are comfortable using plays a major role in your career.  However, it will start to play a role in other aspects of your life as well.  People living in cities will have to be capable of significant mental dexterity as these are the hubs of technological adoption.  There is likely to be some measure of (unintentional?) discrimination against slow adopters.  We already see some of this as banks charge higher fees to customers who do not sign-up for electronic billing only.  In one extreme view, people may “ghetto-ize” themselves by choosing to live in neighborhoods or locales with a given standard of technology.

Another alternative would be choosing an arbitrary level of technology and forcing people to use nothing below or above the range.

Perhaps the future isn’t so dark though.  Companies usually have a vested interest in reaching the widest possible customer base.  In this sense, free market capitalism could be an unexpected savior.  Since the costs of doing business rise significantly with each concurrent implementation of technology, companies will likely be increasingly resistant to adopting the newest and best forms of technology until enough of a user base has formed for those technologies.  We can see this in Microsoft’s Windows Vista; companies resist adopting this new operating system partly because they don’t want to retrain staff and rethink subsidiary technologies.

Simplicity is king… but so is utilizing the newest technology. I suspect we will see companies tiered just like users.  Some firms/industries/stores may appeal to the low-end of adopters while others will reach out to the high-end.  This means taking a hard look at the so-called “core demographic” for each firm and industry in order to determine what the appropriate level of technological adoption should be.

All these “solutions” seem to represent a braking effect on the speed of new innovations and their concomitant adoption.  Is it possible that society can adapt to an ever-increasing number of technology tiers? Or will technology adoption need to be slowed?