Category Archives: innovation

Broken Link Resolver

I originally posted this on Monday, October 4, 2010 at 4:27pm on Google’s Facebook page. Since I have not seen any progress in this area, I am posting this again as a reminder to Google. If they are not going to pursue it, maybe Marissa Mayer might be interested in doing this at Yahoo!

Broken Link Resolver

Since Google Product Ideas does not feature Search, I’ll submit my idea here. One of the biggest unsolved problems on the World Wide Web is broken links. As the Google bot crawls the Web, it can detect whether the URLs of previously seen significant content have become stale (failure to connect or 404), and based on a heuristic content search determine where that page has moved. Google could offer a new service that could answer the question: given this broken URL, tell me where the page has moved. Then, provide features in Google Chrome and a plug-in for Firefox that can make use of this service upon encountering a failure to connect or a 404. You could also provide an Apache httpd module that can use this service for handling 404s by automatically redirecting.

mobile devices and carriers

When I upgraded to an Android mobile device with AT&T, I signed a new two year contract with a more costly data plan. The device was discounted to zero thanks to a special promotion, but actually the full cost of the device is amortized over the life of the contract. This explains why there is a prorated termination fee for recouping that cost.

AT&T, like most carriers, preinstalls their own lineup of apps on top of the base Android operating system. They also disable features like being able to specify alternative sources for downloading apps. Many AT&T apps require a subscription with an additional monthly recurring charge. AT&T Family Map is an example. There are many disadvantages to this arrangement.

AT&T is extremely slow to upgrade their apps to newer releases of Android. In fact, they don’t even bother to do so for legacy (2yr old) hardware. This is horrible for users who cannot take advantage of the constant stream of software innovations available from Google.

The preinstalled apps cannot be uninstalled. This bloat occupies precious memory and storage that is better used for the user’s favorite apps. These undesirable apps occupy valuable resources and drain battery life.

It is understandable that a carrier would want its users to install its apps in the hopes of generating more revenue. It is a never-ending quest for carriers to avoid becoming dumb pipes, while over-the-top content and Internet services vendors become rich. Unfortunately, no matter how hard they try, carriers will never innovate fast enough to maintain a competitive advantage in these value added services, because they are too slow and too old-school. Dumb pipes are all they are good at.

On my next device, I will almost certainly reimage it with Cyanogenmod.

Integrating Automobiles with Mobile Computing

I would love to see automobile manufacturers join mobile computing device manufacturers in producing vehicles that support standardized off-the-shelf electronic devices that integrate seamlessly with the vehicle’s console, electrical system, controls, and accessory mounts. We should be able to incorporate our personal tablets, music players, and mobile devices for all of the following functions.

  • hands-free telephone calls
  • maps and turn-by-turn navigation
  • traffic, accident, and road condition warnings
  • music
  • video entertainment for passengers
  • fuel economy monitoring and optimization
  • driving behavior and safety monitoring
  • location tracking and history
  • vehicle telemetry recording (“black box”)
  • external camera monitoring
  • vehicle maintenance tracking – schedule for oil, brake fluid, transmission fluid, and power steering fluid changes

Replacing proprietary electronics with commercial off-the-shelf components would provide the following advantages.

  • User serviceability (hardware repair and replacement)
  • Electronic hardware upgrades can keep pace with rapid advances in technology innovation
  • Multi-sourcing for electronics hardware will lower costs through competition, standardization, and commoditization
  • Software applications can be installed and upgraded at will
  • It opens up a vast market for applications that work in conjunction with the vehicle and its subsystems
  • The cost of development is externalized from the vehicle manufacturer, allowing it to take advantage of the economies of scale associated with the computing and consumer electronics industry
  • And most importantly, consumers will love it. A vehicle with this capability will be of enormous appeal to the market. This would be such a revolutionary improvement that any manufacturer without this capability will be at an immediate and insurmountable disadvantage in terms of desirability.

Limitless possibilities open up, when the automobile’s subsystems are integrated with mobile computing devices that have high speed network connectivity (e.g., HSPA, LTE) and user installed software applications. I am sure that developers would invent a huge range of applications to take advantage of a platform that is such an important element of people’s lives. In many occupations, mobile computing is done while parked in a vehicle. Such a platform could greatly improve the ergonomics for this mobile work force. With such a platform, I bet it would not take long, before an application appears to enable vehicles in close proximity to collaborate to assist drivers in avoiding accidents. A platform with applications such as this would no doubt open up a market for integrating additional components, such as external cameras, sensors, and signaling mechanisms. The possibilities are endless.

Email Retention

Like most people who work with computers on a regular basis, I receive a high volume of email every day. I would like software to automate the classification and organization of my email so that important and unique information is retained and easily accessible later, when I have a need to find it. I spend a significant amount of time doing this by hand, and it seems like a task that would be done more efficiently and effectively by software.

Most email accounts have a storage limit. Even when there is no technical limit, users would like to keep their mail box pruned so that it is not cluttered with messages that are a waste of space. The available space should be utilized most efficiently, and enough room should always be made available so that inbound mail is not rejected due to the quota being exceeded.

It is helpful to classify email to identify what type of content is represented, so that appropriate retention policies can be applied to each type. Classification may be done by organizing email into folders, and tagging messages with keywords or categories. An email’s classifiers can be used to determine which retention policies to apply.

Email can be moved to various offline repositories for archival purpose to stay in compliance with storage limits associated with an account on the email server. This allows email to be retained despite server storage limits, so that valuable information can remain searchable and accessible. The utility of the information is not apparent until the need for it arises later.

Often when a user replies to an email, the entire content of the previous email in the thread is embedded as a quote. Throughout the thread, the entire history of content is duplicated in quotes again and again. When determining which email messages to retain, it is usually sufficient to keep the latest messages, which include the content from every past message in the thread.

It is also helpful to prioritize messages for retention (or deletion) based on topics of significance or recognizable patterns. We have seen how Bayesian spam filtering successfully distinguishes spam from non-spam messages. Using similar techniques, it should be possible to distinguish significant content from email that contains content that is not valuable to retain.

Certain categories of email contain time-sensitive information. When we receive notifications and reminders, these should expire fairly quickly resulting in deletion. When we receive a list of this month’s events, this should expire at the end of the month. It should be possible to recognize these types of content, classify them, and apply expiration policies to them automatically.

These are some of the more obvious requirements that should be satisfied by an email classification and retention component. An add-on to popular email clients like Thunderbird and Exchange would be a valuable time-saver to many users. I am optimistically hopeful that someone will take up the challenge to develop such a useful tool.

Enterprise Tablet Computing

In my previous article, Enterprise Collaboration, I identified the need for workers to collaborate with greater decoupling in space and time. Today’s audio and Web conferencing technology combined with email, instant messaging, blogging, Wikis, and sharing documents in the cloud just are not providing a game changing improvement in productivity. Something is missing to enable a geographically dispersed, mobile work force to revolutionize the way that work is done.

A technology that coincides with the advance of always-on mobility, compact form factor, touch screen, and cloud computing is the tablet computer.

What is one thing you can do with a tablet that you cannot do with a laptop?

You can use your fingers to write, draw, and gesture.

Is there some kind of application that would benefit from this advantage in the enterprise?

When technical staff needs to interact to collectively explore ideas, such as the meetings that facilitate analysis and design, we frequently find that audio and Web conferencing provide an inadequate degree of real-time interactivity. These tools facilitate a single presenter and an audience that is not heavily engaged. If a group of peers is meeting to facilitate contributions from every participant, these tools are entirely unhelpful. This degree of interactivity will usually require everyone to meet in person, and the tools for the job are a laptop, a projector, a whiteboard, dry erase pens, and an eraser. The ability to write, draw, and annotate as a group makes all the difference.

Here is where the tablet can fill a need, and do so in a superior fashion. The content on a whiteboard is not in digital form. A photograph of the content is still not very useful, beyond distributing copies. The content needs to be treated as a mix of documents, raster images, structured diagrams (or models), textual annotations, free form drawings, and possibly even video and audio media.

Imagine if each meeting participant used a tablet that is capable of remotely collaborating via an application that served as a whiteboard for presentation, collective editing, and interactivity using any digital content. Cameras and headsets can facilitate video and audio conferencing simultaneously with whiteboard interactions. Text chat can allow covert or overt conversations to happen without being limited by a shared audio channel. Perhaps advanced features like speech-to-text translation could even be incorporated to maintain a complete transcript of all conversations and interactivity in all simultaneous modes of communication.

If such an application existed today, it would immediately eliminate a great deal of costly travel expenses. It would give back many hours of wasted travel time to employees. It would even enable them to work more effectively from home, reducing the need to travel to the office every day. In fact, anyone could work equally effectively from anywhere, at any time of day. It would be liberating for the individual. It would also make workers in remote offices collaborate much more effectively on a daily basis. The enterprise would immediately become a great deal more social, because their interactions would be more engaging and productive.

Enterprise Collaboration

Over the past few years we have seen Web 2.0 technologies being established in our personal and professional lives. Social networking tools are being used to keep us connected with friends, family, and colleagues across space and time. In business, technology has ignited a new era in collaboration and social interaction to bring customers closer to those who market, sell, and support their products and services. But we have still not seen this bring about a new era in collaboration among workers within the enterprise.

In January 2011, Tomi Ahonen wrote the Fortune 500 CEO Guide to Mobile, which brought to my attention the on-going technology revolution that we are currently experiencing—the steady move to mobile. It was not just the speed and scale of adoption that is impressive (and it is extremely impressive). It is the way that mobile is permeating every aspect of our personal and professional lives. It is the way that it is transforming almost everything that we do, and the tools that we use to do them.

However, I still believe that we are only seeing this transformation in its infancy. It has started with the adoption of platform technologies (mobile, Internet, Web 2.0), but we have yet to see a cultural transformation to accompany the technological revolution at the scale we are seeing. We have yet to see Enterprise 2.0 yield gains in productivity at work that are comparable to the improvements in our interpersonal relationships on Facebook, Google+, and LinkedIn. Blogs, Wikis, Instant Messaging, and the gradual enabling of tools to become more social are adding incremental value to our business processes, but they are not fundamentally changing the way we do business. We still drive to the same office and largely interact with our colleagues face-to-face or by audio conference and with web conferencing (and accompanying presentation tools) as a visual aid. The manner in which we facilitate work between remote participants remains awkward and inconvenient. Awkward and inconvenient in that audio and video conferencing provide a very poor user experience in the following ways.

  • Only a single person is able to speak at once. Interruptions are inevitable. Often the individuals who speak the most do not yield sufficient time for others to contribute their ideas and opinions. It is sometimes not clear whether the most valuable insights have actually been discussed, because the person moderating the discussion has not structured it to give time to key participants at key points in the conversation. Time is allocated according to the aggressiveness (and courtesy) of the speakers, usually in proportion to rank, as opposed to the merit of their content.
  • Forcing conversations to happen in real time limits the forum due to participant availability (i.e., conflicting schedules, time zone differences), attention span (i.e., often our thoughts are occupied by other priorities), and preparedness (i.e., expecting participants to have reviewed material beforehand in preparation to reach consensus). Some people do not perform well in this setting; they perform better when given time to collect their thoughts. Some people respond better in writing.
  • Although audio and video can be recorded for later playback, it is not a digital transcript whose content can be indexed and searched. A scribe may take notes and publish minutes, but this is labor intensive, and the result is not a full-faith representation of the conversations.
  • Often a key participant is not included in a meeting, because the organizer was not aware of that person’s capabilities until later.

For the preferred mode of collaboration in the enterprise to evolve from real time conferencing to a format that overcomes the above deficiencies, we need a culture that relies less on real time collaboration and more on online tools that bring people together to work more closely, while allowing them to be more decoupled in space and time. Clearly we need better tools to fulfill this need. We have seen tools like Google Wave appear and quickly disappear. Google Wave failed to integrate with enough supporting tools to enable collaborative editing, peer review, and post-processing (interchange) of a broad range of content (documents, images, audio, video, presentations, conferences, models, charts). It failed to integrate with enough supporting applications to participate in real world business processes. But worst of all, it failed to provide a compelling paradigm or inspiration for a cultural shift to collaborate more effectively in real time and otherwise.

Where do we go from here?

Recognize that workers need to collaborate with greater decoupling in space and time. Mobile computing with always-on smart phones and tablets is a fundamental enabler for such decoupling. Enterprise applications that run in the cloud are another element that enables the work force to collaborate using these devices. What we are missing is the right mix of applications and integration into business processes that support the new ways of doing work.

As the corporate office, desk, desktop computer, and telephone become extinct, we must anticipate how a mobile always-on work force will need to work. We must develop applications to facilitate this new work paradigm where activities are often time-shifted; and real-time collaborations are between remote workers, who may be anywhere (e.g., at home on the couch, at the coffee shop, in the airport, in-flight on an airplane, driving an automobile). We will know that the revolution has arrived, when the culture in the enterprise considers it more natural to do work using mobile devices from anywhere and at all hours rather than at the office during office hours.

vorlons and shadows

Babylon 5 is a story about two differing philosophies. The Vorlons promote a life of order, stability, and peace. The Shadows promote a life of chaos, destabilization, and conflict. There is a similar philosophical difference in software development.

Hubris of Prescience

Most commercial software projects lean toward a philosophy of order, stability, and peace. Optimism leads to anticipating stable requirements, which would allow for a stable design. This outlook influences management and developers to behave in a particular way. We gain an expectation for requirements and design to be orderly, stable, and for a peaceful progression of events to ensue. Successful methods and techniques are expected to continue to be viable. The products of past investments into research are expected to retain their value with the passage of time. Knowledge of the present incubates confidence in being able to anticipate future needs. This confidence is reinforced by the belief that momentum has longevity. This belief is correct, but not in the way that we would hope for a healthy technology business.

The technology market relies upon continuous innovation. Innovation is about disruptive change. A strategy based on incremental improvement bets on a steady pace of change, where one’s own product is the market leader. Trailing competitors are constantly seeking to impose revolutionary change upon the market to overtake the market leader. If one is not in the lead, then it makes sense to disrupt the market to put oneself in an advantageous position. New markets are created, where old ones are destroyed. Competitive innovation radically alters requirements, thereby invalidating entrenched designs. Disruptive change accelerates demand for technology through obsolescence.

The lure for the market to adopt innovative products is efficiency gain. Gains in efficiency increase productivity or reduce costs – or both. A methodology promoting the entrenchment of a status quo is unable to adapt to an environment of unrelenting disruptive change. In technology, the status quo is precisely what must be destroyed in order to sustain a healthy market. A strategy of maintaining an entrenched design is a strategy of certain failure in the technology market.

Creativity and Renewal

While a life of order, stability, and peace breeds comfort, it also leads to stagnation and complacency. Creative individuals will recognize where the status quo is not good enough. A culture that institutionalizes the status quo cripples creativity, ensuring a disadvantage in relation to the competition, who seeks disruptive change.

Innovation is nurtured by an entrepreneurial spirit. There are several factors that are required to facilitate creative thinking: freedom, motivation, inspiration, and courage. Creativity needs a culture that promotes creative ideas by nurturing independent thinking, not obedience to instructions delivered by management or designated “thought leaders”; individuals will be willing to think if they are entrusted to do so. Motivation comes from achievable goals, incentives, and the rewards of a job well done. Inspiration comes from the growth and enjoyment of working with peers, who demonstrate competencies, which become a source of knowledge. Finally, courage is provided by the willingness to incur risk to achieve the rewards that come from unconventional thought; people who are confident enough in their ability to attempt great things should be encouraged to do so, because overcoming technical problems is daunting enough without the burden of an unsupportive culture.

The key characteristic of a technology business that is prepared for innovation is agility. It must be adaptable quickly to change. It must embrace disruptive change, and use change to its advantage, rather than being resistant or vulnerable to it. This includes a high degree of tolerance for risk, because change is inherently risky, and the more disruptive the greater the risk (and potentially the reward). Innovation opens opportunities, but a business must be able to pounce on an opportunity to benefit.

Until Moore’s Law no longer holds, we can expect innovative growth to continue. Technology innovation and obsolescence is the dominant trend. A technology business that does not institutionalize a culture that embraces disruptive change will not be a business for long.

innovation as the enemy of maturity

In my previous blog, maturity as the enemy of innovation, I identified the destructive forces of organizational maturity. As an engineer, I cannot allow a problem to go unsolved.

To stem the tide of chronic risk adversity, we must imprint the entrepreneurial spirit into the culture, as a core value. The courage to initiate calculated risk-taking needs to be admired and rewarded. The stigma associated with failure must be removed by appreciating the knowledge gained through lessons learned.

The cost of research and experimentation must be reduced. The pace of development must be rapid. These are achieved by keeping the team size small. The most risky and unproven ideas should be attacked by an individual, not a team. Functional teams need alignment on direction and a degree of agreement. Revolutionary advancement is frequently the result of radical thinking. New directions, different techniques, and breaking well-established rules are unpopular, especially to those with emotional investments in past innovations. There are fewer disagreements in a small team, and none at all in a team of one.

Uniformity of thinking leads to stagnation. Diversity must be encouraged, and this is promoted through a free market for ideas. Organizations that rely on a command-and-control style of management to set direction eliminate the competition that nurtures a diversity of ideas. Management should empower technical decision-making to be done bottom-up rather than top-down.

Once new ideas have been adequately proven, there must be ways of teaching them to others and incorporating them into product. Product development is often done sequentially, one release at a time. The immediate release focuses on short term commitments, and the delivery is usually constrained by schedules and costs that can ill afford risk. Riskier development must be allowed to proceed concurrently on longer-term schedules, without overly constraining the process. Developments from the unstable branch should be merged into the main product release, as they become ready. This provides an environment to accommodate both risky development and risk-adverse development.

The above techniques can be effective in remedying the organizational impediments to innovation. However, there are also commercial impediments that must be overcome. That will be the topic of my next blog.

maturity as the enemy of innovation

As a software development organization matures, its culture institutionalizes practices that promote quality. The most obvious measures of quality are in terms of defects. The quest for lower defect counts is a noble one.

At the same time, complexity grows as the weight of larger feature sets and lofty requirements are incorporated into the software. With increasing complexity comes a larger development team. A larger team means more division of labor, higher cost of management overhead, and more careful planning to be able to utilize those resources. Division of labor requires the delegation of distinct responsibilities to specialized roles. Decision-making becomes more dispersed and distributed, and a decision will have wider impacts on team members, so good communication becomes a critical success factor.

Unfortunately, decision-making, communication, and the distribution of responsibility are never perfect. The more complex the software, the larger the team, the more distributed the responsibilities, the more specialized the roles, the higher the cost of development. This is not a scalable organizational model. Once a software organization has reached this stage of maturity, it is doomed by inefficiency. Creative individuals are no longer empowered to quickly realize their ideas. Two key requirements to motivate and nurture a creative mind are independence and freedom. The degree to which these environmental factors are blunted is the degree to which innovation is impeded.

Because decision-making is distributed among many people, it becomes impossible for innovative ideas to be realized without winning consensus. Innovative ideas are unconventional ideas. A novel approach often needs to break well-established rules and go against practices that have worked in the past. Innovation is destructive to the status quo. It must be disruptive in order to rise and overtake older practices. Innovation is the product of experimentation and risk-taking, usually resulting in failure and rework. Without an environment that encourages this, there will be no innovation.

The quest for quality through institutionalized practices and disciplined management are in many ways counter to the independence and freedom that motivate a creative mind. Careful project management and planning discourages experimentation with risky new ideas (technical, organizational, and commercial), where many unknowns make results difficult to predict. Risky ideas need experimentation so that many failed attempts can be discarded quickly, allowing successful ideas to be taken to production. Mature organizations respond to higher risk by applying stronger management practices for mitigation, thereby increasing the cost and slowing the pace of failure towards success. In fact, once management smells failure, they immediately work to eliminate it, thereby destroying its very value as a vehicle to learn what will be needed to succeed. This is how many mature organizations have killed off the entrepreneurial spirit. This is the reason why most innovative ideas come from small groups of individuals working in a garage or a small start-up company.