Tuesday, November 10, 2009

Wednesday, April 15, 2009

Software

Computer software is a general term that describes computer programs. Related terms such as software programs, applications, scripts, and instruction sets all fall under the category of computer software. Therefore, installing new programs or applications on your computer is synonymous with installing new software on your computer.

Software can be difficult to describe because it is "virtual," or not physical like computer hardware. Instead, software consists of lines of code written by computer programmers that have been compiled into a computer program. Software programs are stored as binary data that is copied to a computer's hard drive, when it is installed. Since software is virtual and does not take up any physical space, it is much easier (and often cheaper) to upgrade than computer hardware.

While at its most basic level, software consists of binary data, CD-ROMs, DVDs, and other types of media that are used to distribute software can also be called software. Therefore, when you buy a software program, it often comes on a disc, which is a physical means of storing the software.

Windows Vista

Windows Vista is a line of operating systems developed by Microsoft for use on personal computers, including home and business desktops, laptops, Tablet PCs, and media center PCs. Prior to its announcement on July 22, 2005, Windows Vista was known by its codename "Longhorn." Development was completed on November 8, 2006; over the following three months it was released in stages to computer hardware and software manufacturers, business customers, and retail channels. On January 30, 2007, it was released worldwide, and was made available for purchase and download from Microsoft's website. The release of Windows Vista came more than five years after the introduction of its predecessor, Windows XP, the longest time span between successive releases of Microsoft Windows desktop operating systems.



Windows Vista contains many changes and new features, including an updated graphical user interface and visual style dubbed Windows Aero, improved searching features, new multimedia creation tools such as Windows DVD Maker, and redesigned networking, audio, print, and display sub-systems. Vista also aims to increase the level of communication between machines on a home network, using peer-to-peer technology to simplify sharing files and digital media between computers and devices. Windows Vista includes version 3.0 of the .NET Framework, which aims to make it easier for software developers to write applications than with the traditional Windows API.



Microsoft's primary stated objective with Windows Vista, however, has been to improve the state of security in the Windows operating system. One common criticism of Windows XP and its predecessors has been their commonly exploited security vulnerabilities and overall susceptibility to malware, viruses and buffer overflows. In light of this, Microsoft chairman Bill Gates announced in early 2002 a company-wide "Trustworthy Computing initiative" which aims to incorporate security work into every aspect of software development at the company. Microsoft stated that it prioritized improving the security of Windows XP and Windows Server 2003 above finishing Windows Vista, thus delaying its completion.



While these new features and security improvements have garnered positive reviews, Vista has also been the target of much criticism and negative press. Criticism of Windows Vista has targeted its high system requirements, its more restrictive licensing terms, the inclusion of a number of new digital rights management technologies aimed at restricting the copying of protected digital media, lack of compatibility with some pre-Vista hardware and software, and the number of authorization prompts for User Account Control. As a result of these and other issues, Windows Vista had seen initial adoption and satisfaction rates lower than Windows XP. However, as of January 2009, it has been announced that Vista usage had surpassed Microsoft’s pre-launch two-year-out expectations of achieving 200 million users by an estimated 150 million. As of the end of March 2009, Windows Vista is the second most widely used operating system in the world with a 23.42% market share, the most widely used being Windows XP with a 62.85% market share.

Friday, April 10, 2009

The Most Important Software Innovations

IntroductionToo many people confuse software innovations with other factors, such as the increasing speed of computer and network hardware. This paper tries to end the confusion by identifying the most important innovations in software, removing hardware advances and products that didn’t embody significant new software innovations. This paper presents its criteria for the most important software innovations and sources, the software innovations themselves, discusses software patents and what’s not an important software innovation, and then closes with Conclusions.
Criteria
This paper lists the “most important software innovations,” so we first need to clarify what each of those words mean:
1) To be a “most important” innovation, an innovation has to be an idea that is very widely used and is critically important where it applies. Innovations that are only used by a very small proportion of software (or software users) aren’t included.

2)To be a “software” innovation, it has to be a technological innovation that impacts how computers are programmed (e.g., an approach to programming or an innovative way to use a computer). I’m intentionally omitting computer hardware innovations or major hardware events that don’t involve software innovation. For example, court cases have decided that John Vincent Atanasoff is the legal inventor of the electronic digital computer, but that’s a hardware innovation. I’ve omitted other strictly hardware innovations such as the transistor (1947) and integrated circuits (1958). I’ve also omitted Ethernet, which Bob Metcalfe developed in 1973, for the same reason.
I’ve omitted inventions that aren’t really technological inventions (e.g., social or legal innovations), even if they are important for software technology and/or are widespread. For example, the concept of a copylefting license is an innovative software licensing approach that permits modification while forbidding the software from becoming proprietary; it is used by a vast array of software via the General Public License (GPL). The first real copylefting license (the Emacs Public License) was developed by Richard Stallman in 1985 - but since copyleft is really a social and legal invention, not a technological one, it’s not included in this list. Also, the “smiley” marker :-) is not included - it’s certainly widespread, but it’s not really critical for use of computers, and it’s really a social invention not a technological one.

3) We also have to define “innovation” carefully. An “innovation” is not simply combining two functions into a single product - that’s “integration” and usually doesn’t require any significant innovation (just hard work). In particular, integrating functions to prevent customers from using a competitor’s product is “predation,” not “innovation.” An “innovation” is not a product, either, although a product may embody or contain innovations. Re-implementing a product so that it does the same thing on a different computer or operating system isn’t an innovation, either. An innovation is a new idea. And in this paper, what’s meant is a new idea in software technology.
As a result, you may be surprised by the number of events in computing history that are not on this list. Most software products are not software innovations by themselves, since most products are simply re-implementations of another idea. For example, WordStar was the first microprocessor word processor, but it wasn’t the first word processor - WordStar was simply a re-implementation of a previous product on a different computer. Later word processors (such as Word Perfect and Word) were re-implementations by other vendors, not innovations themselves. Some major events in computing are simply product announcements of hardware, and have nothing to do with innovations in software. Thus, while the IBM PC and Apple ][’s appearances were important to the computing world, they didn’t represent an innovation in software - they were simply lower-cost hardware, with some software written for them using techniques already well-known at the time.

Occasionally a product is the first appearance of an innovation (e.g., the first spreadsheet program), in which case the date of the product’s release is the date when the idea was announced to the public. Some innovations are innovative techniques, which aren’t directly visible to software users but have an extraordinary effect on software development (e.g., subroutines and object-orientation) - and these are included in this list of software innovations. For the more debatable entries, I’ve tried to discuss why I believe they should be included.

I’ve tried to identify and date the earliest public announcement of an idea, rather than its embodiment in some product. The first implementation and first widespread implementation are often noted as well. “Public” in this case means, at least, an announcement to a wide inter-organizational audience. In some cases identifying a specific date or event is difficult; I welcome references to earlier works. For example, sometimes it is difficult to identify a “first” because an idea forms gradually through the actions of many.

Monday, March 30, 2009

Computer Software

Computer software, or just software is a general term used to describe a collection of computer programs, procedures and documentation that perform some tasks on a computer system.
The term includes:

Application software such as word processors which perform productive tasks for users. Firmware which is software programmed resident to electrically programmable memory devices on board mainboards or other types of integrated hardware carriers. Middleware which controls and co-ordinates distributed systems. System software such as operating systems, which interface with hardware to provide the necessary services for application software. Software testing is a domain independent of development and programming. It consists of various methods to test and declare a software product fit before it can be launched for use by either an individual or a group. Many tests on functionality, performance and appearance are conducted by modern testers with various tools such as QTP, Load runner, Black box testing etc to edit a checklist of requirements against the developed code. ISTQB is a certification that is in demand for engineers who want to pursue a career in testing. Testware which is an umbrella term or container term for all utilities and application software that serve in combination for testing a software package but not necessarily may optionally contribute to operational purposes. As such, testware is not a standing configuration but merely a working environment for application software or subsets thereof. Software includes websites, programs, video games, etc. that are coded by programming languages like C, C++, etc.
"Software" is sometimes used in a broader context to mean anything which is not hardware but which is used with hardware, such as film, tapes and records.