Rebol implementation - Home
First draft 4-Nov-2000 Jack Seay
ZX, or Floating World will be the multidimensional hypertext integrating Xanadu and ZigZag, designed by Ted Nelson. Zigzag has potentially infinite dimensions. Xanadu is a hypertext system that has unbreakable two-way links, transparent payment of royalties, automatic versioning, easy quoting of anything without losing the original source, linking between any spans of data (not just from a point to a full document). The programming so far has spanned several decades, continents, and languages, and is now open source.
This is the result of rough brainstorming for applications. I will try to fill in this outline with concrete examples and definitions.
Web browser or FW application (pass web pages to browser)
Program could be kept smaller if not required to support current defective standards (HTML, XML, etc.) However, it may be more necessary to prop up current usage until betters standards can replace them.
Business applications - integrated
Online and telephone ordering
Manufacturing (T.O.C. - see Definitions)
General requirements of business applications - Many of these will be enabled by using a dimension for a special purpose. By shifting into a new dimension, the entire environment can change, while leaving all data the same. This could allow fine-grained permissions for changing data content, display, and behavior.
Expandable and summary views
No unreasonable constraints on length of fields
Easy to rearrange order and display of fields
Swappable field descriptions (online vs. phone ordering) using dimensions.
Elements and sets of elements specifiable as to who can edit.
Self-training - no "computer literacy" needed. Software should be "user literate".
It should be possible to hot-swap changes in design while software is in use on a network. Old records should automatically work in new design because of a single, universal data storage system.
Don't show user so many controls at one time that it causes confusion. Allow controls to easily be hidden or revealed for easier viewing or printing. Only show what actually helps the user. Their purpose should be obvious.
Windows and/or screens book-mark-able and namable.
Custom user-named environments. "Login" just changes to your cell on the user dimension.
Allow users to make program changes - to be approved by "higher authority" if necessary. Issue appropriate warnings for the need to test and debug first (for the benefit of management).
No unnecessary restrictions on the sequence fields are filled in.
Ability to insert comments (suggestions, complaints, more info, rapid feedback, exceptions, changes, etc.) anywhere - attached to any field (this is absolutely essential!)
Make it easy to correct mistakes (seems universally lacking in current P.O.S. software).
Keep required fields to a minimum (allow override of required fields unless they are absolutely essential). Is this info (such as phone #) so important it's worth losing a customer by demanding they supply the software required information?
Make it as easy as possible to change the software (text, graphics, layout, interaction, etc.), even if changes will not go into effect until tested.
Give examples of bad software design
Manufacturing, convenience store, security gate entry
Of all the software I've used, custom business software has been the worst. Employees got blamed for defects in the programs, and sometimes quit their job. I've sometimes gotten into trouble for pointing out the defects in very expensive software.
Data - All digitized information: text, formatting, graphics, animation, video, music, voice, etc.
P.O.S. - Point Of Sale - Software used by cash registers in retail stores.
T.O.C - Theory Of Constraints - Systematic (viewing each part as it relates to the whole) philosophy of manufacturing. It seeks to increase profits by overall reduction of inventory and expenses and through increased sales. Localized efficiencies don't matter if they have no impact on total expenses, inventory, or sales. This is explained more fully in "The Goal", by Eliahu Goldratt. This means that keeping employees busy just to see them working can sometimes have a negative impact on profits if it increases unsold inventory, excess work in process, or production costs. In a retail store, the amount of time spent with a customer has no bearing on profit from that sale unless that time spent prevents the employee from making another greater sale. Since employees generally receive a fixed income per week, it is pointless to figure profit per sale based on amount of time spent. The impact of any action is the increase in total sales minus the increase in expenses and inventory. Only look at the impact on total expenses, income, and inventory. Local efficiencies are meaningless unless they impact these items. Time is not a factor in profits, unless you are billing by time or actual payroll expense is affected. If these numbers don't change, ignore time as a factor. Unless you are billing by time, it is not a factor. Just because employees look busy, doesn't mean they are increasing total profits. They could be busy decreasing profits by producing excess inventory. It is possible that they may be doing more good for the business by doing nothing until something actually needs to be done. Outward appearance can be deceiving. Look at the total numbers, not how frantic the activity is. I emphasize these seemingly obvious facts, because there is almost universal ignorance of them in the business world. Employees are often treated like spring-wound soldiers whose incessant motion and discomfort is seen by management as productive and efficient.