Archive for August, 2010
Making a Good Logo For Product, Website And Software
PURPOSE OF A LOGO
Many of us wonder about the purpose of a logo. The main purpose is to convey the meaning and core purpose of the software application, website or a product.
CHARACTERISTICS OF A GOOD PRODUCT LOGO
Any good product will carry a logo for it. For example, IBM carries a logo with stripped style. APPLE carries a logo of bitten apple. Like this, the logo should be more captivating and appealing in its color. It should convey the core purpose of the product. Or its color should be pleasing. The logo of Coco-Cola is very amusing in appearance though it contain only letters.
CHARACTERISTICS OF A GOOD SOFTWARE APPLICATION LOGO
The logo of any software application should convey the meaning of that software. For example, the logo of Microsoft Windows has the window in its logo. The logo of SAP carries the word “SAP” in it. The logo of Nero Burn CD writing software carries a burning CD. Like wise, the logos of software applications should either convey the meaning of the core purpose of the software or it should carry the words of the same in a visually captivating and stylish manner.
CHARACTERISTICS OF A GOOD WEBSITE LOGO
The important characteristic of a website logo is that it should be stylish and even it can occupy adequate space of the home page of website. It should reflect in nearly all the web pages of the website. For example, if we think about Google, it carries a standard font style or it changes its logo mostly on regular basis. YAHOO logo carries the letter “Y” with an exclamatory mark near it which prefabricated it more attractive. The logo of BING search website simply contains the word “BING” but it is written in an captivating style. The logo of CNET is more captivating since the word “CNET” is inside a red color sphere which makes it more attractive.
Like wise, apiece entrepreneur while designing his product, software application or website should design the logo in such a way that it should attract the viewers in the first instance itself!
Find more Website Example articles from search form.
Information Technology Explored as a Corporate Asset

It is a significant fact that we are in the focal point of a deep-seated change in both technology and its application. Any institutions in our day anticipate to get more value from their investments in technology. In the “Post dearth era of calculation” the user-friendliness of dispensation power is not a check where cost of platform technology has become a minor bourgeois in selecting among alternatives to build the business solution and as such the constraining factors are the managerial impact of reengineering the business process and the costs and time required for system development. Additionally, the need to re-educate organisation to the compulsory level of expertise can be an extremely costly scheme. Open systems enable organizations to purchase off-the-shelf solutions to business problems. Open systems standards set apart the design in which data is swapped, remote systems are accessed, and services are attracted. The receipt of open systems standards supports the creation of system architectures that can be built from technology components. These standards enable us, as follows:
• To build reusable class libraries to use in object-oriented design and development environments.
• To build functional products those interact with the same data which are bedded on goal oriented as well as bedded on full integrity.
• To alter a correspondence at an individual desktop workstation to include data, addressing and graphics input from a word processor, a individualized spreadsheet, a workgroup database, and an existing project host relevance to be propelled by electronic mail to someplace in the world.
It is worth mentioning that opposing to the claims of groups variety from the Open Software base to the individual consortium Open User Suggested Solutions, open systems are not exclusively systems that conform to OSF UNIX specifications. The client/server model makes the enterprise acquirable at the desk. It provides access to data that the previous architectures did not. Standards have been defined for client-server figuring. If these principles are understood and used, a society can rationally anticipate to purchase solutions this day that can grow with their business needs without the constant need to revise the solutions. Architectures based on open systems standards can be implemented throughout the world, as global systems become the norm for massive organizations. While a supportable common platform on a global scale is far from standardized, it certainly is becoming much easier to accomplish. From the desktop, enterprise-wide applications are indistinguishable from workgroup and individualized applications. Powerful enabling technologies with built-in conformance to open systems standards are evolving rapidly. Examples include object-oriented development, relational and object-oriented databases, multimedia, imaging, expert systems, geographic information systems, voice recognition and voice response, and text management. These technologies wage the opportunity to integrate their generic potential—with the particular necessities of a business—to create a cost-effective and personalized business solution. The client/server model provides the saint platform with which to integrate these enabling technologies. Well-defined interface standards enable integration of products from several vendors to wage the right application solution. Enterprise systems are those that create and wage a shared information resource for the entire corporation. They do not imply centralized development and control, but they do treat information and technology as corporate resources. Enterprise network management requires all devices and applications in the enterprise computing environment to be visible and managed. This remains a major challenge as organizations move to distributed processing. Standards are defined and are being implemented within the client/server model. Client/server applications give greater viability to worker empowerment in a distributed organization than do today’s host-centered environments.
Prospects are accessible to society and populace who are equipped and capable to compete in the global market and there is no denying the fact that a competitive global economy will ensure obsolescence and incomprehensibility to those who can't or are unwilling to compete. All organizations must look for ways to demonstrate value. We are in conclusion bearing in mind that an enthusiasm has to rethink upon existing managerial structures and commerce in putting into practice. Organizations are aggressively downsizing even as they try to aggressively expand their revenue base. There is more willingness to continue improvement practices and programs to eliminate redundancy and increase effectiveness. Organizations are becoming market-driven while remaining true to their business vision. To be competitive in a global economy, organizations in developed economies must employ technology to acquire the efficiencies necessary to offset their higher fag costs. Reengineering the business process to wage information and decision-making support at points of customer contact reduces the need for layers of decision-making management, improves responsiveness, and enhances customer service. Empowerment means that knowledge and responsibility are acquirable to the employee at the point of customer contact. Empowerment will ensure that product and service problems and opportunities are identified and finalized. Client/server computing is the most effective source for the tools that empower employees with dominance and responsibility. The following are some key drivers in organizational philosophy, policies, and practices. Competitiveness is forcing organizations to find new ways to manage their business, despite fewer personnel, more outsourcing, a market-driven orientation, and rapid product obsolescence. Technology can be the enabler of organizational nimbleness. To survive and prosper in a world where trade barriers are being eliminated, organizations must look for partnerships and processes that are not restrained by artificial borders. Quality, cost, product differentiation, and service are the new marketing priorities. Our information systems must support these priorities.
Contesting demands that information systems organizations justify their costs and it is evident that business are in the way to question the return on their existing investments and as such Centralized IS an operation in particular are under the microscope. Manufactured goods obsolescence has never been so vital a factor. Purchasers have more options and are more demanding. Technology must enable organizations to anticipate demand and meet it. Quality and flexibility require decisions to be prefabricated by individuals who are in touch with the customer. Many organizations are eliminating layers of middle management. Technology must wage the necessary information and support to this new structure. If a business is run from its distributed locations, the technology supporting these units must be as reliable as the existing central systems. Technology for remote management of the distributed technology is essential in order to use scarce expertise appropriately and to reduce costs. Each individual must have access to all information he or she has a “need and right” to access, without regard to where it is collected, determined, or located. We can use technology this day to wage this “single-system image” of information at the desk, whatever the technology used to create it. Standardization has introduced many new suppliers and has dramatically reduced costs. Competition is driving innovation. Organizations must use architectures that take advantage of cost-effective offerings as they appear. Desktop workstations now wage the power and mainframe capacity that mainframes did only a few years ago. The challenge is to effectively use this power and capacity to create solutions to real business problems. Downsizing and empowerment require that the workgroup have access to information and work collectively. Decisions are being prefabricated in the workplace, not in the head office. Standards and new technologies enable workstation users to access information and systems without regard to location. Remote network management enables experts to wage support and central, system-like reliability to distributed systems. However, distributed systems are not transparent. Data access crossways a network often has unpredictable result sets; therefore, performance on existing networks is often inadequate, requiring a retooling of the existing network infrastructure to support the new data access environment.
Standards enable many new vendors to enter the market. With a common platform target, apiece product has the entire marketplace as a potential customer. With the high rate of introduction of products, it is certain that organizations will have to deal with multiple vendors. Only through a commitment to standards-based technology will the heterogeneous multiple vendor environment effectively service the buyer. Workstation power, workgroup empowerment, preservation of existing investments, remote network management, and market-driven business are the forces creating the need for client/server computing. The technology is here; what is missing is the expertise to effectively apply it. Organizational pressures to demonstrate value apply as much to the information systems functions as to any other element or operating unit of the business. This is a special challenge because most IS organizations have not previously experienced strong financial constraints, nor have they been measured for success using the same business justification “yardstick” as other value-creating units within the business enterprise. IS has not been under the microscope to establish that the role it plays truly adds value to the overall organization. In today’s world, organizations that can't be seen to add value are either eliminated or outsourced. It has been found out on a survey that about 1000 companies, on average, spend 90 percent of IS dollars maintaining existing systems. Major business benefits, however, are acquirable only from “new” systems. Dramatic reductions in the cost of technology help cost justify many systems. Organizations that adapt faster than their competitors demonstrate value and become the leaders in their marketplace. Products and services command a premium price when these organizations are “early to market. ” As they become commodities, they attract only commodity prices. This is true of both commercial organizations wishing to be competitive in the market with their products and of service organizations wishing to demonstrate value within their department or government sector. “It only took God seven days to create the world because he didn’t have an existing environment to deal with. “3 Billions of dollars have been invested in corporate computing infrastructure and training. This investment must be fully used. Successful client/server solutions integrate with the existing applications and wage a gradual migration to the new platforms and business models.
To meet the goals of the 1990s, organizations are downsizing and eliminating middle-management positions. They want to transfer responsibility to empower the mortal closest to the customer to make decisions. Historically, individualized systems have imposed the burden of data collection and maintenance on the front-line work force but have husbanded information in the head office to support decision making by middle management. Information must be prefabricated acquirable to the data creators and maintainers by providing the connectivity and distributed management of enterprise databases and applications. The technology of client/server computing will support the movement of information processing to the direct creators and users of information. OLTP applications traditionally have been used in insurance, financial, government, and sales-related organizations. These applications are characterized by their need for highly reliable platforms that guarantee that transactions will be handled correctly, no data will be lost, and response times will be extremely low, and only authorized users will have access to an application. The IS industry comprehends OLTP in the traditional mainframe-centered platforms but not in the distributed client/server platforms. Organizations do (and will continue) to rely on technology to drive business. Much of the IS industry does not yet comprehend how to build mission-critical applications on client/server platforms. As organizations move to employee empowerment and workgroup computing, the desktop becomes the critical technology element running the business. Client/server applications and platforms must wage mainframe levels of reliability. Executive information systems wage a single-screen view of “how well we are doing” by comparing the mass of details contained in their current and historical enterprise databases with information obtained from outside sources about the economy and competition. As organizations enter into corporation with their customers and suppliers, the need to integrate with external systems becomes essential in order to capture the necessary information for an effective EIS. Organizations want to use the EIS data to make strategic decisions. The DSS should wage “what if” analyses to project the results of these decisions. Managers define expectations, and the local processing ability generates decision alerts when reality does not conform. This is the DSS of the client/server model. Information is now recognized as a corporate resource. To be truly effective, organizations must collect data at the source and distribute it, according to the stipulations of “need and right to access,” throughout the organization. Workgroups will choose the platforms that saint meet their needs, and these platforms must integrate to support the enterprise solution. Systems built around open systems standards are essential for cost-effective integration. Los Angeles County issued a request for information stating simply that its goal was “to implement and operate a modern telecommunications network that creates a seamless utility for all County telecommunications applications from desktop to desktop. The United Says government has initiated a project—the National Information Interchange that has the simple neutral of “making the intellectual property of the United Says acquirable to all with a need and right to access.
“Computers will become a truly useful part of our society only when they are linked by an infrastructure like the highway system and the electric power grid, creating a new kind of free market for information services. The feature that makes the highway and electric power grids truly useful is their pervasiveness. Each home and office has ready access to these services; thus, they are used—without thought—in the normal course of living and working. This pervasive accessibility has emerged largely because of the adoption of standards for interconnection. If there were no standards for driving, envision the confusion and danger. What if apiece surround plug were a different shape, or the power acquirable on apiece plug were random? If using a service requires too much thought and attention, that service can't become a default part of our living and working environment. “Imagine the United Says without its highways. Our millions of cars, buses, and trucks driven in our own backyards and neighborhood parking lots, with occasional forays by the daring few along uncharted, unpredictable, and treacherous dirt roads, full of unspeakable terrors. “7 The parking lot analogy illustrated in Figure 1. 1 represents the current information-processing environment in most organizations. It is simple and transparent to locate and use information on a local area network (LAN), but information located on another LAN is nearly inaccessible. End-user access to enterprise data often is unavailable except for predefined information requests. Even though computers—from mainframes to PCs—are numerous, powerful, flexible, and widely used, they are still used in relative isolation. When they communicate, they usually do so ineffectively, through arcane and arbitrary procedures. Information comes with many faces. As shown in Figure 1. 2, it can take the form of text, drawings, music, speech, photographs, stock prices, invoices, software, live video, and many other entities. Yet once information is computerized, it becomes a deceptively uniform sequence of ones and zeros. The underlying infrastructure must be flexible in the way it transports these ones and zeros. To be truly effective besides routing these binaries to their destinations the infrastructure must be healthy to carry binaries with varying degrees of speed, accuracy, and security to accommodate different individualized abilities and needs.
Because individualized are manufactured and sold by vendors with differing views on the most effective technology, they do not share common implementation concepts. Transporting ones and zeros around, however flexibly, isn’t enough. Personal based on different technologies can't comprehend apiece other’s ones and zeros any more than people comprehend foreign languages. We therefore need to endow our IS organizations with a set of widely understood common information interchange conventions. Moreover, these conventions must be based on concepts that make life easier for humans, rather than for individualized servants. Finally, the truly useful infrastructure must be equipped with “common servers”—computers that wage a few basic information services of wide interest, such as computerized white and yellow pages.
Technological innovation proceeds at a pace that challenges the human mind to comprehend how to take advantage of its capabilities. Electronic information management, technological innovation in the individualized computer, high-speed electronic communication, and digital encoding of information wage new opportunities for enhanced services at lower cost. Personal individualized can wage services directly to people who have minimal individualized experience. They wage low-cost, high-performance computing engines at the site that the individual lives, works, or accesses the service—regardless of where the information is physically stored. Standards for individual interface, data access, and intercrosses communications have been defined for the individualized individualized and are being adopted by a majority of the vendor community. There is no reason to accept solutions that do not conform to the accepted standards. Most massive organizations this day use a heterogeneous collection of hardware, software, and connectivity technologies. There is considerable momentum toward increased use of technology from multiple vendors. This trend leads to an increasingly heterogeneous environment for users and developers of individualized systems. Users are interested in the business functionality, not the technology. Developers rarely are interested in more than a subset of the technology. The concept of the single-system image states that you can build systems that wage transparency of the technology platform to the individual and—at the largest extent possible—to the developer. Developers will need adequate knowledge of the syntax used to solve the business problem, but will need tiny or no knowledge of the underlying technology infrastructure. Hardware platforms, operating systems, database engines, and communications protocols are necessary technological components of any individualized solution, but they should wage services—not create obstacles to getting the job done. Services should be masked; that is, they should be provided in a natural manner without requiring the individual to make unnatural gyrations to invoke them. Only by masking these services and by using standard interfaces can we hope to develop systems swiftly and economically. At the same time, masking (known as encapsulation in object-oriented programming) and standard interfaces preserve the ability to change the underlying technology without affecting the application. There is value in restricting imagination when you build system architectures. Systems development is not an art; it is an engineering discipline that can be learned and used. Systems can be built on the foundations established by previous projects.
Within the single-system image environment, a business system individual is absolutely unaware of where data is stored, how the client and server processors work, and what networking is involved in gaining connectivity. Each application that the individual accesses provides a common “look and feel. ” Help is provided in the same way by apiece application. Errors are presented and resolved in the same way by apiece application. Access is provided through a standard security procedure for apiece application. Each individual has access to all services for which he or she has a need and a right to access.
• The security layer is invisible to the authorized and impenetrable to the unauthorized.
• Navigation from function to function and application to application is provided in the same way in apiece system. New applications can be added with minimal training, because the standard functions work in the same way, and only the new business functions need be learned. It is not necessary to go to “boot camp for basic training” prior to using apiece new application. Basic training is a one-time effort because the basics do not change.
The complexity of a heterogeneous computing platform will result in many interfaces at both the logical and physical level. Organizations evolve from one platform to another as the industry changes, as new technologies evolve that are more cost effective, and as acquisitions and mergers introduce other installed platforms. All these advances must be accommodated. There is complexity and risk when attempting to interoperate among technologies from many vendors. It is necessary to engage in “proof of concept” testing to distinguish the marketing version of products and architectures from the delivered version. Many organizations use a test work concept called technology competency centers to do this “proof of concept. ” The TCC concept provides a local, small-scale model of all the technologies involved in a potential single-system, interoperable image. Installing a proposed solution using a TCC is a low-cost means of ensuring that the solution is viable. These labs enable rapid installation of the proposed solution into a proven environment. They eliminate the need to set up from scratch all the components that are necessary to support the one-of-a-kind part of a new application. Organizations—Merrill Lynch, Health Canada, SHL System house, BSG Corporation, Microsoft, and many others—use such labs to do sanity checks on new technologies. The rapid changes in technology ability dictate that such a resource be acquirable to validate new products. The single-system image is saint implemented through the client/server model. . Our experience confirms that client/server computing can wage the enterprise to the desktop. Because the desktop individualized is the user’s view into the enterprise, there is no superior way to guarantee a single image than to begin at the desktop. Unfortunately, it often seems as if the number of definitions of client/server computing depends on how many organizations you survey, whether they’re hardware and software vendors, integrators, or IS groups. Each has a vested interest in a definition that makes its particular product or service an indispensable component. Throughout this book, the following definitions will be used consistently:
• Client: A client is a single-user workstation that provides presentation services and the appropriate computing, connectivity, and database services and interfaces relevant to the business need.
• Server: A server is one or more multi-user processors with shared memory providing computing, connectivity, and database services and interfaces relevant to the business need.
Client/server computing is an environment that satisfies the business need by appropriately allocating the application processing between the client and the server processors. The client requests services from the server; the server processes the request and returns the result to the client. The communications mechanism is a message passing interposes communication (IPC) that enables (but does not require) distributed placement of the client and server processes. Client/server is a software model of computing, not a hardware definition. This definition makes client/server a rather generic model and fits what is known in the industry as “cooperative processing” or “peer-to-peer. ” Because the client/server environment is typically heterogeneous, the hardware platform and operating system of the client and server are not usually the same. In such cases, the communications mechanism might be further extended through a well-defined set of standard application program interfaces (APIs) and remote procedure calls. The modern diagram representing the client/server model was probably first popularized by Sybase. Figure 1. 4 illustrates the single-system image vision. A client-user relies on the desktop workstation for all computing needs. Whether the application runs absolutely on the desktop or uses services provided by one or more servers—be they powerful computers or mainframes—is irrelevant. Effective client/server computing will be fundamentally platform-independent. The individual of an application wants the business functionality it provides; the computing platform provides access to this business functionality. There is no benefit, yet considerable risk, in exposing this platform to its user. Changes in platform and underlying technology should be transparent to the user. Training costs, business processing delays and errors, staff frustration, and staff turnover result from the confusion generated by changes in environments where the individual is sensitive to the technology platform.
It is easily demonstrated that systems built with transparency to the technology, for all users, offer the highest probability of solid ongoing return for the technology investment. It is equally demonstrable that if developers become aware of the target platform, development will be bound to that platform. Developers will use special features, tricks, and syntax found only in the specific development platform. Tools, which isolate developers from the specifics of any single platform, assist developers in writing transparent, portable applications. These tools must be acquirable for apiece of the three essential components in any application: data access, processing, and interfaces. Data access includes the graphical individual interface (GUI) and stored data access. Processing includes the business logic. Interfaces link services with other applications. This simple model, reflected in Figure 1. 5, should be kept in mind when following the evolution to client/server computing. The use of technology layers provides this application development isolation. These layers isolate the characteristics of the technology at apiece level from the layer above and below. This layering is fundamental to the development of applications in the client/server model. The rapid rate of change in these technologies and the demand of experience with the “best” solutions implies that we must isolate specific technologies from apiece other. This book will continue to accentuate and expand on the concept of a systems development environment (SDE) as a way to achieve this isolation. Developer tools are by far the most visible. Most developers need to know only the syntax of these tools to express the business problem in a format acceptable to the technology platform. With the increasing involvement of minicomputer professionals, as technology users and application assemblers, technology isolation is even more important. Very few—perhaps none—of an organization’s application development staff needs to be aware of the hardware, system software, specific database engines, specific communications products, or specific presentation services products. These are invoked through the APIs message passing, and generated by tools or by a few technical specialists. As you will see in Chapter 6, the development of an application structure supported by a technical structure and systems development environment is the key to achieving this platform independence and finally to developing successful client/server applications.
As organizations increase the use of individualized productivity tools, workstations become widely installed. The need to protect desktop real estate requires that host terminal abilities be provided by the single workstation. It soon becomes evident that the power of the workstation is not being tapped and application processing migrates to the desktop. Once most users are connected from their workstation desktop to the applications and data at the host mainframe or minicomputer, there is significant cost benefit in offloading processing to these powerful workstations. The first applications tend to be data capture and edit. These simplify—but still use—the transaction expected by an already existing host application. If the workstation is to become truly integrated with the application, reengineering of the business process will be necessary. Bookkeeping functions and many customer service applications are easily offloaded in this manner. Thus, workgroup and departmental processing is done at the LAN level, with host involvement for enterprise-wide data and enforcement of interdepartmental business rules. In this “dumb” terminal (IBM uses the euphemism nonprogrammable to describe its 327x devices) emulation environment, all application logic resides in the minicomputer, mainframe, or workstation. Clearly a $5000 or less desktop workstation is capable of much more than the character display provided by a $500 terminal. In the client/server model, the low-cost processing power of the workstation will replace host processing, and the application logic will be divided appropriately among the platforms. As previously noted, this distribution of function and data is transparent to the individual and application developer.
The mainframe-centric model uses the presentation abilities of the workstation to front-end existing applications. The character mode interface is remapped by products such as Easel and Mozart. The same data is displayed or entered through the use of pull-down lists, scrollable fields, check boxes, and buttons; the individual interface is simple to use, and information is presented more clearly. In this mainframe-centric model, mainframe applications continue to run unmodified, because the existing terminal data stream is processed by the workstation-based communications API. This protects the investment in existing applications while improving performance and reducing costs. Character mode applications, usually driven from a block mode screen, attempt to display as much data as doable in order to reduce the number of transmissions required to complete a function. Dumb terminals impose limitations on the individual interface including fixed length fields, fixed length lists, crowded screens, single or limited character fonts, limited or no graphics icons, and limited windowing for multiple application display. In addition, the fixed layout of the screen makes it difficult to support the display of conditionally derived information. In contrast, the workstation GUI provides facilities to build the screen dynamically. This enables screens to be built with a variable format based conditionally on the data values of specific fields. Variable length fields can be scrollable, and lists of fields can have a scrollable number of rows. This enables a much larger virtual screen to be used with no additional data communicated between the client workstation and server. Windowing can be used to pull up additional information such as help text, valid value lists, and error messages without losing the original screen contents. The more robust GUI facilities of the workstation enable the individual to navigate easily around the screen. Additional information can be encapsulated by varying the display’s colors, fonts, graphics icons, scrollable lists, pull-down lists, and option boxes. Option lists can be provided to enable users to swiftly choose input values. Help can be provided, based on the context and the cursor location, using the same pull-down list facilities. Even though it is a limited use of client/server computing capability, a GUI front end to an existing application is frequently the first client/server-like application implemented by organizations familiar with the host mainframe and dumb-terminal approach. The GUI preserves the existing investment while providing the benefits of assist of use associated with a GUI. It is doable to wage dramatic and functionally rich changes to the individual interface without host application change.
The next logical step is the supplying of some edit and processing logic executing at the desktop workstation. This additional logic can be added without requiring changes in the host application and might reduce the host transaction rate by sending up only valid transactions. With minimal changes to the host application, network traffic can be reduced and performance can be improved by using the workstation’s processing power to encode the data stream into a compressed form. A more interactive individual interface can be provided with built-in, context-sensitive help, and extensive prompting and individual interfaces that are sensitive to the users’ level of expertise. These options can be added through the use of workstation processing power. These abilities enable users to operate an existing system with less intensive training and might even wage the opportunity for public access to the applications. Electronic data interchange (EDI) is an example of this front-end processing. EDI enables organizations to communicate electronically with their suppliers or customers. Frequently, these systems wage the workstation front end to deal with the EDI link but continue to work with the existing back-end host system applications. Messages are reformatted and responses are handled by the EDI client, but application processing is done by the existing application server. Productivity might be enhanced significantly by capturing information at the source and making it acquirable to all authorized users. Typically, if users employ a multipart form for data capture, the form data is entered into multiple systems. Capturing this information once to a server in a client/server application, and reusing the data for several client applications can reduce errors, lower data entry costs, and speed up the availability of this information.
There is no delay while the forms are passed around the organization. This is usually a superior technique than forms imaging technology in which the forms are created and distributed internally in an organization. The use of workflow-management technology and techniques, in conjunction with imaging technology, is an effective way of handling this process when forms are filled out by a mortal who is physically remote from the organization. Intelligent Character Recognition (ICR) technology can be an extremely effective way to automate the capture of data from a form, without the need to key. Current experience with this technique shows accuracy rates greater than 99. 5 percent for typed forms and greater than 98. 5 percent for handwritten forms.
Rightsizing and rationalizing are strategies used with the client/server model to take advantage of the lower cost of workstation technology. Rightsizing and upsizing might involve the addition of more diverse or more powerful computing resources to an enterprise computing environment. The benefits of rightsizing are reduction in cost and/or increased functionality, performance, and flexibility in the applications of the enterprise. Significant cost savings usually are obtained from a resulting reduction in employee, hardware, software, and maintenance expenses. Additional savings typically accrue from the improved effectiveness of the individual community using client/server technology. Eliminating middle layers of management implies empowerment to the first level of management with the decision-making dominance for the whole job. Information provided at the desktop by networked computers and workstations integrated with existing host (such as mainframe and minicomputer) applications is necessary to assist this empowerment. These desktop-host integrated systems home the information required to make decisions quickly. To be effective, the desktop workstation must wage access to this information as part of the normal business practice. Architects and developers must work closely with business decision makers to ensure that new applications and systems are designed to be integrated with effective business processes. Much of the cause of poor return on technology investment is attributable to a demand of understanding by the designers of the day-to-day business impact of their solutions. Downsizing information systems is more than an attempt to use cheaper workstation technologies to replace existing mainframes and minicomputers in use. Even though some benefit is obtained by this approach, greater benefit is obtained by reengineering the business processes to really use the abilities of the desktop environment. Systems solutions are effective only when they are seen by the actual individual to add value to the business process. Client/server technology implemented on low-cost standard hardware will drive downsizing. Client/server computing makes the desktop the users’ enterprise. As we move from the machine-centered era of computing into the workgroup era, the desktop workstation is empowering the business individual to regain ownership of his or her information resource. Client/server computing combines the saint of the old with the new—the reliable multi-user access to shared data and resources with the intuitive, powerful desktop workstation.
In view of the above it is evident that object-oriented development concepts are embodied in the use of an SDE created for an organization from an architecturally selected set of tools. The SDE provides more effective development and maintenance than companies have experienced with traditional host-based approaches. Client/server computing is open computing. Mix and match is the rule. Development tools and development environments must be created with both openness and standards in mind. Mainframe applications rarely can be downsized—without modifications—to a workstation environment. Modifications can be minor, wherein tools are used to port existing mainframe source code—or major, wherein the applications are rewritten using absolutely new tools. In porting, native COBOL compilers, functional file systems, and emulators for DB2, IMS DB/DC, and CICS are acquirable for workstations. In rewriting, there is a broad array of tools ranging from PowerBuilder, Visual Basic, and Access, to larger scale tools such as Forte and Dynasty. Micro Focus has added an Object Oriented (OO) option to its workbench to assist the creation of reusable components. The OO option supports integration with applications developed under Smalltalk/V PM. IBM’s CICS for OS/2, OS400, RS6000, and HP/UX products enable developers to directly port applications using standard CICS call interfaces from the mainframe to the workstation. These applications can then run under OS/2, AIX, OS400, HP/UX, or MVS/VSE without modification. This promises to enable developers to create applications for execution in the CICS MVS environment and later to port them to these other environments without modification. Conversely, applications can be designed and built for such environments and subsequently ported to MVS (if this is a logical move). Organizations envisioning such a migration should ensure that their SDE incorporates standards that are consistent for all of these platforms.
These harvests, pooled with the economical processing power acquirable on the workstation, make the workstation Local Area Network an saint expansion and maintenance environment for existing host processors. When an organization views mainframe or minicomputer resources as real dollars, developers can usually justify offloading the development in only three to six months. Explorers can be effective only when a proper systems development environment is place in place and provided with a suite of tools offering the host abilities plus enhanced connectivity. Workstation operating systems are still more primitive than the existing host server MVS, VMS, or UNIX operating systems. Therefore, appropriate standards and procedures must be place in place to coordinate shared development. The workstation environment will change. Only projects built with common standards and procedures will be resilient enough to remain viable in the new environment.
The major reserves come up to from new projects that can create apposite values at the initiate and do all development using the workstation LAN environment. It is doable to retrofit standards to an existing environment and establish a workstation with a LAN-based maintenance environment. The benefits are less because retrofitting the standards creates some costs. However, these costs are justified when the application is scheduled to undergo significant maintenance or if the application is very critical and there is a desire to reduce the error rate created by changes. The discipline associated with the movement toward client/server-based development, and the transfer of code between the host and client/server will nearly certainly result in superior testing and fewer errors. The testing facilities and usability of the workstation will make the developer and tester more effective and therefore more accurate. Business processes use database, communications, and application services. In an saint world, we pick the saint servers acquirable to wage these services, thereby enabling our organizations to enjoy the maximum benefit that current technology provides. Real-world developers’ make compromises around the existing technology, existing application products, training investments, product support, and a myriad other factors. Key to the success of full client/server applications is selecting an appropriate application and technical structure for the organization. Once the technical structure is defined, the tools are known.
The eventual pace is to accomplish an SDE to categorize the principles desirable to use the tools in actual fact. This SDE is the collection of hardware, software, standards, standard procedures, interfaces, and training built up to support the organization’s particular needs. Many construction projects change because their developers adopt that a mortal with a toolbox full of carpenter’s tools is a capable builder.
In view of the above, it is evident that in order to be a successful planner, a mortal needs be trained to build according to standards. The creation of standards to define interfaces to the sewerage, water, electrical utilities, road, school, and community systems is essential for successful, cost-effective building. We do not anticipate a carpenter to design such interfaces individually for apiece building. Rather, pragmatism discourages imagination in this regard. By reusing the models previously built to accomplish integration, we all benefit from cost and risk reduction. Suffice it to state that the preamble of a whole new generation of Object oriented Technology based on tools for client/server development demands that proper standards can be place in place to support shared development, reusable code, interfaces to existing systems, security, error handling, and an organizational standard “gaze and think. ” As with any new technology, there will be changes. Developers can build application systems closely tied to today’s technology or use an SDE and promote applications that can progress along with the expertise podium.
Kh. Atiar Rahman was born at Meherpur in the former district of Kushtia. He has written two books in English, he had written 3234 articles and 1264 poems. His poem ‘ Mom and kids’ and ‘Shadow of a moving guy’and Valentines day has been published in International Library of poetry. His uncountable articles, stories and poems have been published in National and International magazines and newspaper.
He has received ‘Editors Choice Award’ for his outstanding contribution in poetic diction in 2008 and 2007 respectively.
The Definition of Gadget?

GADGET, what is the meaning of this word? well, this word refers to any electronic device that has a very specific function as voice recording, music playing, video playing, pic displaying, surveillance, etc. The great thing here is you can access these electronic gadgets anywhere, anytime.
I will speak about some of these gadgets, what are their jobs and how you can enjoy them.
Audio Gadgets, gadgets that help you listening to your favorite music anywhere, it is very small, lightweight and smart device that can play any type of music in all formats, mp3, wav, wma, etc. Audio gadgets might be a mp3 player with some kinds of flash memories, 256mb, 512mb, 1gb, 2gb, it even might be 20gb, according to your needs you will find your favorite one. MP3 player might be included in another stuff like sunglasses, it is very good for people who have active lifestyle. It also might be included with watches, pens and digital cameras.
Ipods, they are perfect gadgets for individualized uses, they are perfect with music and recording functions, they also have other options like FM radio, E-book functions, voice recording, they have great models according to the flash memory. they can play all types of music, with some models, they can play videos, display pictures.
Video Gadgets, gadgets to enjoy your time, by these gadgets you can watch your favorite videos and display/share your individualized photos. MP4 player is one of those gadgets which grant you to watch your films, video clips, individualized recordings and even play games. It should supports all video and pic files, it should has a high resolution screen for good displaying.
Camera Gadgets, like wireless world wide web cameras, surveillance cameras, sunglasses cameras, etc. With some models of wireless world wide web cameras, you can access the camera from anywhere, at anytime by using the IP address, it is very good intent to try a something like that.
This was a very short description about some of cool gadgets, I try to wage you some information on haw you can benefit from electronic gadgets. There are great gadgets acquirable now, they are created to have superior life, search to find.
By Elhusseiny Shahin the owner of Electronic Gadget Gifts, you might also visit my mp3 gadget Gifts and camera camera gifts to find more information on mp3 player and camera gadgets.
Listing Directories of a Directory Tree With Php
Listing Directories of a Directory Tree with PHP
PHP Tutorials for Search This Site – Part 1
Introduction
This is part 1 of my series, PHP Tutorials for Search This Site. If you have a huge site, one of the ways to make a individual easily arrive at a particular web page is to use a menu. If the site is very big, a menu is not sufficient; you need a search engine just for the site. The aim of this series is to enable you produce a search engine for a site. In this part of the series, we see how to get a list of the directories of the directory tree of the site, using PHP. In the next part we shall see how to look for HTML files in the directories and verify if any of the HTML files has the search words. We adopt that the search begins from some top directory and all the directories for the site has that top directory as ancestor.
I use a localhost server and a browser for the scripts of this series. You should have basic knowledge in PHP and PHP Regular Expressions in order to comprehend this series. You should also have basic knowledge on how to access directories and files using PHP. If you do not have basic knowledge in any of these courses, then you will have to get that first. For PHP Basics, type, “Getting started with PHP” in the Search box of this page and click Search. For PHP Regular Expressions, type “PHP Regular Expressions” in the Search Box of this page and click Search; you will see a list of a the series I wrote on PHP Regular Expressions. For accessing directories with PHP, type “PHP Directory Function Basics” in the search Box of this page and click Search. If you see articles written by different authors, select the one written by me, Chrys.
In this part of the series, we see how list all the directories of a directory tree using PHP.
Note: If you can't see the code or if you think anything is missing (broken link, image absent), just contact me at forchatrans@yahoo.com. That is, contact me for the slightest problem you have about what you are reading.
Recursive Function
A recursive function is a function that calls itself, over and over again until some condition is met. The list of directories of a directory tree is normally obtained using a recursive function. In the PHP specification it is stated that a recursive function should not do more than 100 to 200 calls on itself. From this I think that the number of directories in your directory tree should not be more than 100. If you have more than 100 directories in your site, then you should design a search engine that is different from the one I present to you in this series.
The Recursive Function for this Directory Search
This is how our recursive function behaves. The function will first list all the paths of the subdirectories of the top directory. Then it will list all the paths of any second level sub directories. Then it will list all the paths of any third level subdirectories. Then it will list the paths of any fourth level subdirectories; and so on. In any directory, the listing of its subdirectories is done alphabetically.
Directory Tree Example
Open the following link in a new Tab window and you will see a directory tree example.
http://www.cool-mathematics.biz/diagrams/directory-tree.gif
In practice, the recursive function can't list all the subdirectories in any level in one sweep. I will use the directory tree in the opened Tab window to explain how the recursive function navigates the directory tree. It starts by listing all the subdirectories in the top directory, Dir0. Then it moves to the leftmost (alphabetically) subdirectory, which is Dir00. At Dir00, it lists all the subdirectories of Dir00. It will then move to the Dir000 directory (leftmost – alphabetically) directory with the hope of listing any subdirectories there.
It will not see any subdirectories in Dir000. It will then come back to Dir00 and go to Dir001, with the hope of listing any subdirectories in Dir001. It will not find any subdirectories in D001. It will then go to Dir00. At Dir00 since it has listed all the subdirectories of Dir00, it will go to Dir0. From Dir0 it will go to Dir01. At Dir01 it will list all the subdirectories of Dir01.
From Dir01, it will go to Dir010 with the hope of listing any subdirectories that might be there. It will not see any subdirectory in Dir010. It will then go to Dir01 and then to Dir011 with the hope of seeing any subdirectories there. It will not see any sub directory there. It will then go back to Dir01 and then Dir0. At Dir0 now, it has done all its work, so it stops there.
Before we write the Function
Before we write the function, there are certain things to take into consideration. We need to know the directory, if any that is the parent of the top directory. We shall use it to prevent the recursive function from going up past the top directory. The PHP complete code script will be in the top directory. The function will not literally list the paths to the subdirectories. It will send them into an array. The values (paths) in this array can then be sent to the browser.
We think about a situation, where the top directory and its subdirectories are in a web server. The web address of the PHP complete code script is typed at the address bar of the browser. The PHP script will look for a list of all the paths for the directories from the top directory downward, and can then send the complete list to the browser.
First Part of PHP Script
The is the first part of the script:
<?php
//get initial current top directory study with path
$ iCurrDir = getcwd();
//obtain the directory that is higher than the top-most directory in the tree if possible
if (chdir(”..”))
{
//read study of above directory
$ aboveDir = getcwd();
//go back to current directory
chdir($ iCurrDir);
}
else
{
$ aboveDir = “”;
}
$ dirArr = array();
$ dirArr[] = $ iCurrDir;
searchTree();
At the beginning of execution of the code, the current directory is the top directory where the script resides. The first statement gets the current top directory path and assigns it to the variable, $ iCurrDir. The getcwd() function without argument returns the path of the current working directory. The parent directory to the top directory might or might not exist. Its path is assigned to the variable, $ aboveDir. The parent directory to the top directory would not exist if the top directory is the root directory, If that is the case, then the value of the variable, $ aboveDir will be “”.
The next code segment above assigns the relevant value to $ aboveDir. After that you have the creation of the array that will hold the paths of all the directories from the top directory, downward. After that creation statement, the path of the top directory is assigned as the first element of the array. Next in the code you have a call to the recursive function. The recursive function is defined below this call.
The Recursive function
This is the outline of the recursive function:
function searchTree()
{
//get obloquy of all subdirectories of the current directory without the path.
//join the obloquy of the subdirectories to the path of the current directory
//and send the complete paths of the subdirectories to the array.
//go to the next subdirectory alphabetically, that you have not yet visited.
//go back up one directory if each subdirectory to the current directory
//has been visited.
}
There are four code segments in the recursive function. In order to list the subdirectories of any directory, that directory has to be the current directory. Read the above function outline.
The first code segment gets the obloquy without the paths of the current directory. The first time the function is called, the current directory is the top directory. The second segment forms the complete paths of the subdirectories and sends them to the array. The third segment changes the current directory to that of a subdirectory, which it has not yet prefabricated current. It will go to a sub directory following an alphabetical order of the sub directories. The recursive function is called over and over; if at any of the iterations there is no sub directory, then the third code segment is skipped.
When all doable subdirectories have been prefabricated current at a bottom-most branch of the directory tree, the function has to move up; that is the function has to make the parent directory current so that it can then make the next sub directory of the parent, current. The purpose of the fourth code segment is to move the function up. If the parent directory to be prefabricated current is to become the directory above the top directory, then that above directory is not prefabricated current; the fourth code segment takes care of that.
The Recursive Function Code
The code segment that displays the paths in the array to the browser is not part of the recursive function. The code of the recursive function is given below:
function searchTree()
{
global $ aboveDir, $ dirArr;
$ CDirArr = scandir(”.”); //obtain directory list of current directory
for ($ i=0; $ i<count($ CDirArr); ++$ i)
{//remove non-directories from the listing
if ((is_file($ CDirArr[$ i]))||($ CDirArr[$ i] == “.”)||($ CDirArr[$ i] == “..”))
{
array_splice($ CDirArr, $ i, 1);
–$ i;
}
}
//assign the sub directory paths to the next array element.
for ($ i=0; $ i<count($ CDirArr); ++$ i)
{
$ dirArr[] = getcwd() . “\” . $ CDirArr[$ i]; // use forward slash for non-windows systems.
}
//for the descendant directories
for ($ j=0; $ j<count($ CDirArr); ++$ j)
{
chdir($ CDirArr[$ j]);
searchTree();
}
//for ancestor directories
if ((chdir(”..”))&&(getcwd() != $ aboveDir))
{
}
}
The script resides in the Dir0 directory. The global variables are not part of the first code segment. The first code segment begins with the $ CdirArr variable. Do not confuse between the $ CdirArr and $ iCurrDir variables. In PHP in a directory listing, you should see a dot (.) and a double dot (..) as members of the listing. The single dot is an indication referring to the current directory. The double dot is an indication referring to the parent directory.
I have used a lot of PHP predefined functions in the code. Let me explain the meaning of the functions.
In easy terms the syntax of the scandir() function is,
scandir(directory)
It returns an array of all the obloquy of the files and directories in the directory that is the argument. This list includes the dot and double dot indications.
In easy terms, the syntax of the array_splice() function is,
array_splice(arrayName, offset, length)
This function removes a portion of an array. The first argument is the study of the array. The second argument is the array index from where removal will start. length is the number of array elements that will be removed.
The count() function takes as argument the study of an array. It returns the number of elements in the array.
Now this is very important: It is in the third segment of the searchTree() function, where the recursion is implemented. That is where the searchTree() function is re-called. When the function is re-called, each statement below the re-call is not executed. This recalling is in a for-loop. Normally, the statements below the for-loop are executed when the for-loop is not executed, because the condition of the for-loop is not met. The function is re-called in this for-loop. So if this for-loop is not executed the function is not re-called; and so the statements below the for-loop are executed. This is also important: when the for-loop is executed, its next iteration is executed after the searchTree() function has been re-called.
Remember, the recursive function is called over and over; if at any of the iterations of the function, there is no subdirectory, then the third code segment (for-loop) is skipped.
Now read the outline of the searchTree() function again and then read the function code (making comparisons).
Now read the searchTree() function code using the tree in the open Tab window to appreciate how the recursion function operates.
The complete code for listing directories of a directory tree can be downloaded from,
http://www.cool-mathematics.biz/downloads/searchTree.txt
To run the file you will have to change the extension to php.
Let us end here for this part of the series. I hope you can now produce your own code to list directories of a directory tree. In the next part of the series, we shall see how to verify if the keywords are found in a particular HTML file.
Chrys
To arrive at any of the parts of this series, just type the corresponding title below and my name, Chrys, in the Search Box of this page and click Search (use menu if available):
Listing Directories of a Directory Tree with PHP
Searching an HTML File with PHP
Find more Directory articles from search form.