Technology

Summary. An abundance of computer programs and content is written to be fully compatible with HTML or a specific operating system such as Apple OSXApple iOS 4Google AndroidMicrosoft Windows, and/or Ubuntu Linux without requiring third-party supporting software to operate.

However, programmers have the option to write programs and content to be compatible with virtual platforms such as Adobe Air, Adobe Flash, Adobe Reader, Adobe Shockwave, Yahoo! BrowserPlus, Microsoft Silverlight, and others. These virtual environments are similar to programming languages like Java. The benefits and drawbacks of virtual environments for programmers and users are listed on this page.

Steve Jobs on Adobe Flash. The comments made by Steve Jobs regarding Adobe Flash are actually applicable to a wide range of third-part plugins and virtual environments.

Commentary by Gregory Johnson. Below is a commentary by Gregory Johnson on this topic.

“I’m concerned when I see Adobe taking a larger share of the market for content development software. For example, Dreamweaver, part of Adobe Creative Suite, is now the predominant website development tool, and Adobe PDF files have become the de facto standard for document sharing.

Now that Adobe has a quasi monopoly, they are charging about $2000 for their Creative Suite package and $450 for their Acrobat Professional product. For those who can’t afford $450, Adobe is offering an online PDF creation service for about $40 per month or $390 per year (if paid annually). This doesn’t make content creation and distribution easy, inexpensive, or accessible for programmers or content creators. The average person just can’t afford these programs. So, this means that only large companies can really afford to be content shareholders.

I’d prefer to see standards such as HTML5 adopted more broadly, as well as open source Content Management Systems (CMS) platforms like WordPress used. Consider that the ability to encode and read MP3 audio or Rich Text File (RTF) documents is free and in the public domain. As a society, we should not adopt proprietary standards and systems that are privately held and only made available at prices that seem like extortion.

By comparison, consider everything that Apple offers in their iLife and iWork suites at little or no cost to consumers. Apple offers tiered software solutions for just about every user. For example, at about $80 for Apple’s iLife software suite, users can compose music and produce professional quality videos. Those wanting more features can pay $200 for Final Cut Express, or $1000 for Final Cut Studio. Adobe doesn’t offer scalable low-end products for consumers.

Wheelchairs cost thousands of dollars, not because the materials or manufacturing costs are so high, but because those who need them will pay whatever it costs. Programmers will pay whatever it costs when one company has a virtual monopoly on content creation software.”

Click image for full-size.

Update. Since the first publishing of this document, there has been a development. It was discovered on 22 September 2010 that the Adobe.com AIR application will no longer be supported. So, when selecting the option to “Create Adobe PDF Using Acrobat.com” from Adobe Acrobat Reader or other applications, users will be presented with the notice that after November 2010, the Adobe.com AIR application will no longer be supported. See the sunset message to the right. This is disappointing news for everyone who depended on that solution as being a long-term platform to rely on. This is just one more example of why it’s best for users and programmers to avoid depending on esoteric and proprietary third-party environments.

Virtual Platform Benefits. Here are some of the perceived benefits of virtual platforms and plugins, along with clarifying remarks.

  • Better Content. Over the years, Internet web pages have been fairly static, being limited to text, pictures, and sometimes embedded video, but not too much interactive content. Virtual platforms allow websites to contain rich, dynamic, and interactive content.
    • This is actually a fallacy. Content isn’t made better, although the presentation of the information might appear to be more flashy. With new HTML standards, it’s not necessary to have a plugin for specialized content.
  • Cost Diffusion. With virtual programming platforms, a handful of larger companies like Adobe, Google, or Yahoo! can pay for the development costs and program certification costs to get their virtual operating environment working and certified on various platforms. The smaller programmers can focus simply on programming.
    • This is partly untrue since programmers may still end up needing to write their programs or content to be compatible with multiple plugins and not all programs can run in a plugin or virtual environment. Software suites from Adobe can cost up to $2,000 for a complete package.
  • Easier Programming. Products like BrowserPlus or Adobe Air create a little virtual environment where programs can run independent of what operating system they are being hosted in. The advantage is that a programmer can write a program once and know that it will run on Apple, Linux, Windows, and mobile devices. So, rather than write a program for Windows and then rewrite it for Apple, the programmer can write it once.
  • Greater Accessibility. These virtual platforms allow users to gain access to hundreds of programs regardless of what computer or device they are on.
    • This isn’t the whole story. The fact is that not all programs are available in the virtual platform environment. Some programs that a user really likes may only be available for their own operating system.
  • Group Bargaining. Like a group insurance policy, lobbyist group, or union, when Adobe, Google, or Yahoo approach Microsoft with a new version of their virtual programming environment, they have a lot of bargaining power, much more than an individual programmer or smaller software company.
    • This is only partly true. Programmers must now interact one-on-one with smaller companies for support, training, and program certification.
  • More Democratic. Having numerous platforms and virtual platforms to choose from makes the world more democratic.
    • This is a fallacy, since ultimately there are only a few free-standing operating systems that are predominantly used. Having additional required layers on top of the operating system simply means you now have two bosses to answer to.
  • Reduced Cost. From a programmer standpoint, because computer and device operating systems are vastly different, writing a program for multiple platforms is very time consuming and costly because the training, continuing education, and program certification costs are high. These costs get passed on to the consumer.
    • This is partly untrue since programmers may still end up needing to write their programs or content to be compatible with multiple plugins and not all programs can run in a plugin or virtual environment. Software suites from Adobe can cost up to $2,000 for a complete package. Even a simple program like Adobe Acrobat Pro is about $450.
  • Richer Content. When made accessible through a browser, users are able to see content that is much richer and dynamic than a static HTML based web page.
    • This is a fallacy. In the past HTML content was relatively static. Today it is much more interactive, dynamic, and media rich.
  • Security Benefits. Supposedly, virtual programming environments could be more secure since they can alert users to privacy or security issues that their operating system might not otherwise be aware of. They can create an additional firewall between the program and the user’s computer.
    • This is a fallacy. Additional layers inserted between the programs and the operating system create an additional opportunity for malware, spyware, viruses, and hackers to access the computer.
  • Standardization. When programs are written to run on different operating systems, users must typically become accustom to a new way of working with the program. However, within a virtual environment, the user experience can remain the same.
    • This is a misrepresentation. It has been demonstrated with programs like Microsoft Office and other programs written for multiple operating systems that the user experience can be much the same for a program. Additionally, some users really like the interface peculiarities of Apple, Linux, or Windows and don’t want to be forced into a new user, non-standard, and unfamiliar interface they must adapt to.
  • User Benefits. When searching for programs, people typically look for software that runs on their operating system such as Apple OSXApple iOS 4Google AndroidMicrosoft Windows, or Ubuntu Linux. Those having multiple computers and devices running different operating systems often must buy multiple copies of a program. When users buy, or become dependent upon, products written to run on a virtual platform, they can be assured the program will run on multiple devices and operating systems.
    • This isn’t entirely true. Today, many purchased or downloaded programs can be installed on multiple platforms.

Plugin and Virtual Platform Drawbacks. Below are some of the drawbacks with virtual platforms.

  • Constrained Programs. Programs written directly for an operating system can take full advantage of the device they are running on and can also be controlled and monitored by the operating system. Programs written for a plugin or virtual platform are constrained by it.
  • Content Addressing Problems. With standard Internet content, each page has an address. For websites written in Adobe Flash (for example), the website loads like a program in your browser window. In many cases, the forward and back buttons of your browser cease to exist, and specific information you are viewing can’t be addressed by a unique URL (unless the site is written with different pages each having Flash content). So, writing citations or simply referring a friend to something on the Internet becomes much more complicated, “When you go to the site, click on the little blue ball, then follow the menu over, then pick the third option, then go to that page, then start the animation, then once that’s done…” You get the idea.
  • Bloating. There’s a desire to make computers simpler, and keep the list of installed programs to a minimum. Today, a typical user will need Adobe Air, Adobe Flash, Adobe Reader, Adobe Shockwave, Yahoo! BrowserPlus, Microsoft Silverlight and numerous other virtual programming environments to access programs and content designed on those platforms. It just clutters up the user’s computer.
  • Limited Content Access. Let’s say there’s a website you really like. However, the computer you are on doesn’t have the necessary plugins to make it load. If it’s a public computer, you may not have the rights to install the plugins or virtual platform required to make it work. You may be on a device that isn’t compatible with the third-party virtual platform or plugin.
  • Management Intensive. Rather than just having to worry about their own operating system, now the user has all these programs that don’t really run on their computer, at least not without the latest plugin or virtual environment. So, now the user must maintain, update, and manage numerous programs such as Adobe Air, Adobe Flash, Adobe Reader, Adobe Shockwave, Yahoo! BrowserPlus, Microsoft Silverlight.
  • Parasite Programs. Parasites are organisms that can’t live on their own. Parasite programs are programs that can’t simply be installed and work on their own. Stability and security poblems with the host will be replicated to the parasite. These problems must be managed in addition to the existing problems with the operating system and primary platform.
  • Processor Intensive. Have you ever noticed how your computer fan speeds up when the processor starts overheating? This often happens when using media intensive programs running on third party virtual platforms.
  • Security Issues. The promise of virtual environments is that they can offer a firewall between a program and the user’s computer. Instead, multiple virtual platforms simply create a larger number of entry points into a user’s computer. In addition, security vulnerabilities are constantly an issue, and this requires that users update the large number of third party virtual platforms that are popular today. All that updating takes time and Internet bandwidth. Third party applications, friendly or malicious, may request Internet access through a hosting virtual environment. Your operating system may or may not notify you that the already trusted virtual environment wants Internet access. This circumvents firewall controls. Friendly applications using the virtual environment are indistinguishable from hostile and malicious programs which can use the same Firewall exceptions. As a result, program-level security controls and logging are circumvented.
  • Speed Issues. Plugins and virtual environments create a layer of middle management in your computer that can slow things down. Programs running directly on top of your operating system can, theoretically, be much faster.
  • Standards Chaos. Today, because more and more companies are writing content that is dependent upon third party software, to browse the Internet, a typical user will need Adobe Air, Adobe Flash, Adobe Reader, Adobe Shockwave, Yahoo! BrowserPlus, Microsoft Silverlight and numerous other virtual programming environments. Rather than having everyone develop programs and content using the HTML5 standard, these companies, out of a desire for more market share, continue to compete for programmer loyalty.

Recommendation. The recommendation for users and programmers regarding third-party plugins and virtual development platforms is to avoid them.

As programmers, consider what your goals are before exploring how flashy and colorful you can make a program. For example, many of the goals a programmer is trying to achieve can be met through HTML5 or simple programming that is able to run directly on top of an operating system, then use that.

Have you ever received an email with an attachment that required some other program to open it? By the time you get the specialized program required to open the attachment, you realize that its contents could have very easily been copied and pasted into the email as standard text.

The same is true when visiting websites that require special plugins and software to work. By the time you get your computer configured to view and access the site, you realize they could have presented the same information in using a standard HTML web page.

“I was on Dell’s website today [12 July 2010] and accidentally clicked on the Dell Download Manager instead of choosing to have an instantaneous HTML compatible download of a file. Well, the Dell Download Manager needs the Microsoft .Net Framework to run. So, I had to install that first, but the .Net installation had an error. What could have been a simple download, took much more time. The implementation of multiple layers of applications on top of HTML can really be frustrating and time consuming. Often it’s not what’s best for the consumer.” ~ Greg Johnson

Conclusion. Most plugins are unnecessary and just create an additional step for the user with more programs to update and mange on their computer. We don’t need more programming languages, plugins, and virtual platforms. We need a standard like HTML5 that is open.

* * *

Document History. This document was first published on 201006at1820. It was republished on 20100923th0855 to include the announcement that the Acrobat.com AIR application will no longer be supported.

%d bloggers like this: