![]() ![]() ![]() ![]() ![]()
![]() The hardware and OS technologies that make it possible for an application to scale is a crucial first step, but the application layer must be developed with techniques which allow it and the entire system to be scalable. Earlier models of application development were based on the notion of defining, then freezing an application's specifications before development began. There was a perception that chaos would result if design changes were allowed after development began. But scalable applications grow and change; scalable application development embraces change based on user suggestions and includes ways to allow organizations to use such change to their advantage and to the such change to their advantage and to the benefit of the customers and users. An assumption that's no longer valid is the idea that development of an application will eventually be finished. We recognize that such software is static and bound to be obsolete. The correct assumption is that the software is dynamic; it will always continue to get better, year in and year out. Another assumption was the idea that an application could be built all at once according to some grand imagined scheme. Yeah, well, that's a nice thought. A scalable application, however, 'real software', is built in smaller, useful, steps, much the way a meal is eaten one bite at a time. When you eat, you don't have to plan every bite. You just start at a point, then continue on. In much the same way, ViewTouch manages program development by thinking, designing and building incrementally. ViewTouch is partitioned into components on a functional basis; we are constantly adding new components to handle new needs without impairing the integrity of the existing modules. If the fundamental design is correct, and if the people doing the work follow the plan, the end result is a work of art, like ViewTouch is.
Everyone who has ever used a computer has noticed that the on-screen graphics and the program in its entirety slows down during 'heavy use'. What you're witnessing is likely due to the fact that the program running is NOT distributed. Well, ViewTouch code IS distributed; you won't ever see on-screen graphics slow down, even during heavy use. And you won't ever see the program slow down in its entirety. Instead of explaining why this is so, we'll leave you with the fact that this is one more reason ViewTouch is a better POS system, and if you have performance problems with your current system, it's your choice and your opportunity to do something about it.
You can readily create a POS solution that fits you far better than the One-Size-Fits-All code that you get from the other companies. The tools we provide for you are easy to understand and powerful. They're easy to use and versatile. Every month we release new extensions of the tools that add significant new features to them for your benefit. They never cost extra, and you never getsp; They never cost extra, and you never get a partial set of POS authoring tools. You always get every tool we make. That means you don't need programmers around to get the 'fit' you need. You get the tools with which anyone can create the 'fit' that you need.
This is a much improved approach to application design and development. We rapidly prototype, write, debug and deploy our software because object oriented development allows us to build components, or objects, that we can use again and again. Our software is of higher quality, is platform independent and is operating system independent. Our choice of hardware and software platforms is a decision made without any considerations forced upon us by our decision to use C++ and the Object Oriented Technology.
Don't confuse C++ with Visual C++, which is definitely NOT open nor an international standard. The C++ international standard aC++ international standard applies both to the language itself and to its standard library. During the 1990's, C++ has become the dominant programming language for applications in finance, embedded systems, telecommunications, and computerized design; it is a cornerstone of modern computing and communications. C++ is a general-purpose programming language with an bias towards systems programming that supports low-level programming in traditional styles, data abstraction, object oriented programming, and generic programming. C++ was initially developed from the C programming language by the addition of facilities for object oriented programming from the SIMULA programming language. Over the years, the flexibility and generality of the facilities offered by C++ have been greatly improved without compromising run-time efficiency. C++ is distinguished among programming languages by a combination of efficiency and abstraction facilities. The abstraction facilities provided by C++ allow programs to be expressed in terms which are natural to application designers rather than restricted by low-level computer oriented terminology. Some of these abstraction facilities are also provided by object oriented languages such as Smalltalk and Java, others are only available in experimental functional languages. The C++ abstraction mechanisms are distinguished by their run-timeisms are distinguished by their run-time efficiency.
Object oriented technology encompasses three characteristic features: ENCAPSULATION - The process of grouping functions and data together into an object. The object is a seamless capsule that offers services with no visibility as to how those services are implemented. The objects can then be reused, reducing programming time and cost while increasing software quality, which in turn reduces support and maintenance costs. INHERITANCE - The next step is evolving the existing object. Rather than start from scratch to create each object, the programmer starts with an existing object, inherited from an object library, then describes only the portion which is different. Without inheritance, each object is a free standing unit developed from the ground up. POLYMORPHISM - Adds flexibility by allowing a single entity to denote runtime objects of more than one type, enabling objects of different types to be combined into the same structure. MicroSoft's OLE supports neither inheritance or polymorphism. Proprietary, OLE-based Microsoft architectures such as Visual Basic, Common Object Model (COM), and DCOM are object based but not object oriented. ActiveX is OLE with some Internet related controls added. This allows Microsoft to decide which platforms will support OLE and when. A further, important word about 'objects' and 'object models' We are grateful to John Tibbetts and Barbara Bernstein who enlightened us all in two columns in Information Week (May - June '98), "Microsoft's Distributed Computing Model (DCOM) is far inferior to either the Object Management Group's CORBA (Component Object Request Broker Architecture) or Suns's Java RMI (Remote Method Interface). DCOM is totally proprietary, essentially platform specific and technologically mediocre. What Microsoft has failed to provide over the course of the decade has been any notion of objects. That's right - despite that "O" in its name, DCOM is based on a strictly pre-object model of right - despite that "O" in its name, DCOM is based on a strictly pre-object model of how to structure and manipulate software. Object technology fundamentally requires that software gets decomposed into small atoms of data-plus-function that can be individually known, named, contacted, and coerced to perform work. It is these objects/atoms that let us think about systems in terms of Parts, Employees, Accounts, etc., and let us design swift, flexible, reusable programs. DCOM doesn't natively provide any way to interact with objects. Instead, it lets us interact only with a list of functions, the same way that Cobol or Basic always has." They continue, "DCOM closely resembles the function oriented RPC (Remote Procedure Call) technology that was popular at the beginning of the decade. Its primary distribution machinery comes, in fact, directly from the Open Software Foundation's venerable DCE (Distributed Computing Environment). Microsoft can add powerful transaction and directory services, and it can appropriate distributed object terminology, but the fact remains: DCOM is not an object environment." They conclude, "Those who buy into a distribution scheme that lacks discrete, individually addressable objects will find that reuse is hard, complexity atrocious, and that newer options such as collaborative transactions and mobile agent technology are virtually impossible. When we wrote "technologically mediocre," we were being kind."
![]() When other software companies describe their Windows only based products as 'open', or 'open-architecture', that, at best, this is a terrible misuse of the terms. In software, the terms 'open', 'standards based' and 'open architecture' mean that anyone can view the underlying code and extend or improve it, without paying royalties to anyone for its use. It is such 'open' code upon which ViewTouch is based. If, however, ViewTouch was based upon Microsoft Windows, we would be lying to you, and knowingly so, if we described our product as 'open', or one based on 'open standards' or an 'open architecture'. Other software developers are in exactly the same position. How they handle the use of such terms is not something you can control, but it is something that you can prevent from being used to deceive you and obscure the truth. Standards and Architectures may be popular, but if they are proprietary, and Windows/Macintosh are, then they are not 'open', and at the highest levels they are subject to the political agendas of the companies which own them. They are typically inferior to 'open' ones, for many reasons, and own them. They are typically inferior to 'open' ones, for many reasons, and we will not base our product on them. No company will ever make a decision in its board room which will affect the standards or architectures which underlie our product, the one you rely upon us to support your business with. You are forever insulated from the negative effects of the current proprietary versions of Windows or Macintosh which are, like dozens of other versions before them, passing into obsolescence.
![]() ViewTouch makes use of zlib lossless compression libraries at very low levels on all data read/write operations. Zlib is a lossless compressed data format that operates independent of CPU type, operating system, file system, and character set; hence it is useful for interchange between any hardware, software, protocols, data formats or data types. Zlib's format can be produced or consumed, even for arbitrarily long sequentially presented input data streams, using only an a priori bounded amount of intermediate storage; hence it is used in data communications such as Unix filters. Zlib uses a number of different compression methods and has been implemented readily in a manner not covered by or obstructed by patents. Zlib implements the (Mark) Adler-32 checksum algorithm, an extension and improvement of the Fletcher checksum), used for detection of data corruption, and provides an algorithm for computing it. The Adler-32 algorithm is much faster than the CRC32 checksum algorithm yet still provides an extremely low probability of undetected errors. Frankly, there's no reason on earth for you to have to know about such things as this. So, why do we put this explanation of such a technical, hard-to-comprehend feature here at all? Well, it just might be that it will help some of you to better grasp one more of the reasons why ViewTouch is the best code of its kind in the world, and why open software, truly open software, is better for us as a developer-vendor and for you as a user-customer. Oh, yes. Zlib was submitted to the IETF (Internet
Engineering Task Force) a couple of years ago and accepted as an RFC.
It currently enjoys an Informational status at the IETF.
![]() ViewTouch servers perform all data i/o via fast, wide SCSI. Unlike EIDE, SCSI doesn't require intensive interaction of i/o via fast, wide SCSI. Unlike EIDE, SCSI doesn't require intensive interaction of the CPU to handle data transfers. SCSI is much more efficient. For every Mb/s of data moved, SCSI uses only about 2.5% of the processing power of the CPU: about one tenth of that required of the CPU by EIDE. We who are familiar with UNIX, Linux and the X Windows System can readily grasp the significance and the irony of Microsoft's latest approach to developing better user interfaces and window managers - the company's new approach mimics the classic, efficient and proven UNIX / X Window System design. Since 1984, UNIX application designers and programmers have been developing and using extensible window managers which are designed so as not to be constrained by the limitations of any UNIX or Linux operating system. Window managers like ViewTouch which are built upon the foundation of the X Windows System and its transparent networking protocol have allowed remote users access to virtually every hardware platform and operating system environment for many years. One of many advantages to this approach is that the window managers and applications can be developed and modified independently of the inner workings of the operating systems under them, especially as the operating systems themselves develop as time goes on. If Microsoft actually adopts the UNIX and X Windows System model then it will not be necessary to rewrite major parts of applications whenever a new version of the Oations whenever a new version of the OS is released. Unfortunately, far too few UNIX/Linux programmers understand the advantages, values and usefulness of developing extensible window managers on top of X Windows, hence very few extensible window managers exist even in UNIX/Linux except those which have general value as desktop environments. Developing a framework of extensible window managers for specific vertical markets is the path we have taken at ViewTouch and this is certainly what Microsoft also has in mind for the future. This approach Microsoft seems about to adopt just happens to mimic the way ViewTouch is conceived, designed and implemented, for it is an extensible, application-specific window manager which evolves independently of the operating systems themselves, whether Linux, AIX or SCO UNIXWare. ViewTouch is, then, an application-specific, extensible window manager for specific vertical markets. It runs on any UNIX and LINUX, and it provides an extensible UI look, feel & behavior for whatever particular vertical market it is applied. It is a touchscreen window manager especially created for the food & beverage market. An indicator of just how operating system independent ViewTouch is can be shown by the fact that exactly the same code sits under the AIX, the SCO UNIXWare and the Linux versions; there's not one line of code in ViewTouch that's written to accomodate ANY operating system. The ViewTouch design and code implementation already is today what Microsoft sees as a new, more correct way to write user interfaces and applications in the future. We're glad that they've finally figured out such issues, especially the sense of the user interface not being fused to the innner workings of the operating system. This is not like us - to plaster commentary all over the first page you come to, but we just couldn't restrain ourselves. This next bit at least complements the above `rant'. The fifth richest man in the world, Microsoft's Steve Ballmer, (who is neither a programmer or software designer), is in San Francisco at the Visual Basic Conference, outlining what is planned for VB7 and its relationship to NGWS (Next Generation Windows Services). Language enhancements will include features to make VB7 "a full object-oriented programming language. Object-oriented programming is most-popular way to build large-scale, robust applications that are easier for their developers to understand, debug and upgrade." Balmer declared that OOP "overcomes the weakness of traditional programming systems that separate data from the instructions... objects can be used as tried-and-true building blocks for the faster creation of applications." Ballmer's not done yet, " the applications run on the server, providing content to the user interfaces which need nothing more than a browser." Well, Triple Duh! You don't have to wait for another five to ten years for the benefit of such program and design. You can have it all underneath a robust, turnkey solution today, written on an application specific, extensible window manager AND in opbject oriented C++,, for $75 to $95 per display, with no OS or terminal licensing costs. Don't handicap yourself and throw money away by waiting another five to ten years while Microsoft pretends to invent all of these long established, proven concepts from the world of UNIX, then pay through the nose for them. There's no need to stifle yourself. Welcome to a world of robust, reliable, affordable softare, and to ViewTouch - Today! |