Posts Tagged ‘infrastructure’

About Just-in-Time E-Learning

Monday, October 6th, 2008

The best way to define a tactic or a strategy is to look back to look forward. You have to understand history to understand the future.

When you realize that history is a cyclic process you are able to copy historic solutions and integrate them in the future infrastructure which is also a repetition of a historic infrastructure.

The current model of Education, the Factory, is outdated and will be replaced by the old model of the Guild now called a Community of Practice.

Let’s have a look at the History of Education.

Education was and is mostly achieved by imitation. Humans are extremely qualified to copy the behavior of others. Therefore the best way to learn a trade is to copy the behavior of a qualified craftsman by serving as an apprentice.

The development of writing and book printing made it possible to distribute practical knowledge (experience) to many people. Later the practical skills were abstracted into theoretical knowledge.

The education of theoretical knowledge (Philosophy, Law and Rhetoric) and the expansion of this knowledge was the task of the Universities. They educated a very small part of the population (the Elite).

Our current education system dates back to the Industrial Revolution. At that time agricultural workers were needed to perform, repetitive, factory jobs.

The schools were organized as a production-line that produced high quality (tested) products that were assembled according to the specifications (the Curriculum) of the Factory-owners.

The School Factory-Model is still operating but the Factory-owners don’t need the workers anymore. They are transformed into Robots. The Factories moved up in abstraction. To find a decent job workers also have to move up in abstraction. Every time when the Factory Schooling System has adopted its curriculum the outside world has moved up again.

When a School moves up in abstraction it moves to another level in the Schooling Hierarchy.

The schools of lower education are not able to move up because they have to serve the children who are unable to abstract. The distance between the lower and higher levels is growing with an increasing speed.

When we look at the Cycle of Education it is very clear that we have to reuse an old model in a new infrastructure to solve this problem.

This old model is apprenticeship.

What is the new infrastructure?

The new infrastructure is the Internet. So the new way to support apprentices is E-Learning. The Internet can be seen in many ways but the most interesting way is the Social Perspective.

The Internet is a collaboration system. The Masters (and the apprentices) were organized in (local) Guilds. The Guilds took care of many things. They organized insurance, shared their secret practices and took care for the old. At this moment Guilds are called Communities of Practice.

What kind of E-Learning?

Just-in-time E-Learning.

What is Just-in-Time E-Learning?

Just-in-Time E-Learning is Learning when you are facing a problem.

Learning starts when your Expectation Fails. When your Expectation Fails  you have to find a solution. When you are unable to find a solution you have already Searched for alternatives so you are open to hear the right answer (Problem Solving).

When you are open to hear the right answer you are Focused. When you are focused you are in the Right Mood to learn (Motivation).

When you finally have formulated the right question you know the right answer (Socratic Learning).

When you are an apprentice you ask Your Master to Help. When your master is unable to give the right answer the “computer” will provide you with the right answer (Help-Systems, Wiki).

How do you design a Just-in-Time E-Learning System?

You have to Interview the Masters to find out what their Expectation-Failures were. When you transform the failures in rules you have created an Expert-System or a Diagnostic System.

Let’s have a look at the Future of Automobiles.

Over the last 30 years, the amount of computer-based technology – compared with mechanical systems – making up the average car has increased from nothing to more than 45 per cent. And this rise is showing no signs of slowing down. To cope with this, the role of the mechanic has evolved from mechanical repair to one that is highly technological. As technology continues to evolve, they must learn continuously to keep up with new developments.

Using highly specialized diagnostic equipment, technicians are able to monitor and diagnose key areas of a vehicle to ensure they are working correctly, from engines to exhaust emission levels.

Many provide automatic updates to technical manuals and access to manufacturers’ service information, keeping technicians up-to-date on new developments. But it’s not just a simple process of plugging a car into a diagnostic unit. If the wrong data is applied, serious damage could be done to a very expensive vehicle.

It is necessary to study Computer-Technology to Maintain a Car?

I don’t think so.

It is necessary to study Automotive-Technology to Maintain a Car?

I don’t think so. When you know how to operate the diagnostic tools you are able to fix a car.

Now we have reached the most interesting part.

When we combine Just-in-Time Learning with the Tools that are available to Diagnose a car we have created a highly effective Learning Environment.

When a mechanic diagnosis a car-failure he can ask Question like How (Is Motor working?), Why (Is Motor producing Rotational Energy?), What (is Motor?) or What is Happening?.

Who is Developing Learning Environments in the Car Industry?

The developers of Educational Just-in-Time E-Learning Tools are not situated in the Factory School anymore. The Educational Tools are developed by the Manufacturers of the Cars! The Makers of the Tools you Use Are the Developers of the Educational Tools to work with the Tools. The only thing they have to is to make them Self-Explaining!

The Tools have to Understand Them Selves.

LABEL: When Everybody is “Out OF Work” GOTO END_LABEL

It is possible to Maintain Your Own Car?

In a few years time this will be possible when you buy a new car.

At that moment the mechanics are only useful to maintain the old cars.

But it is not very difficult to develop a (Semantic) Model of an Old Cars also.

How Long will this Take?

The tools are already there the big problem (as usual) is the Schooling System Itself.

Will the Educational Factory Adopt itself to the new Situation?

No.

It is very difficult to Change Yourself.

What the Educational System needs is an Huge Expectation Failure.

What could this Failure Be?

The Government will stop funding the System.

Will that Ever Happen?

What the Government needs is a Huge Expectation Failure.

Will that Ever Happen?

It will happen when The Citizens will stop funding the Government.

Will that Ever Happen?

It will happen when most of the Citizins will be out of Work.

Will that ever Happen?

It will happen when Your are able to Do Everything Your Self.

Will that ever Happen?

Goto LABEL.

END_LABEL: Read Blog

LINKS

A video about car repair using augmented reality

Why Loops are really usefull in Software Programs 

About Reflection

A Generic Learning Model

About Expectation Failures (the theory of Roger Schank).

How to Measure the Productivity of Knowledge Workers

About Learning Styles

About Learning Styles II

About Educational Simulators

About the Learning Factory

Why Software Layers always create new Software Layers

Wednesday, March 26th, 2008

The IT-Industry has evolved in nearly 50 years. In that timeframe, it became the most influential business in the Industry. Everybody is completely dependent on the computer and its software.

The IT-Industry has gone through various technology waves. The waves generated integration problems that were solved by the construction of abstraction layers. The layers not only solved problems. They also created new problems that were solved by other layers. The effect of all intertwining layers is an almost incomprehensible, not manageable, software-complex.

The main reason behind this development is the architecture of the general-purpose computer. It was developed to control and not to collaborate.

Charles Babbage invented the first computer (the Difference Engine) in 1833. Babbage wanted to automate the calculation of mathematical tables. His engine consisted of four parts called the mill (the Central Processing Unit, the Operating System), the Store (the database), the Reader, and the Printer. The machine was steam-driven and run by one attendant. The Reader used punched cards.

Babbage invented a programming-language and a compiler to translate symbols into numbers. He worked together with the first programmer, Lady Lovelace who invented the term bug (a defect in a program). The project of Babbage stopped because nobody wanted to finance him anymore.

It was not until 1954 that a real (business-) market for computers began to emerge by the creation of the IBM 650. The machines of the early 1950s were not much more capable than Charles Babbage’s Analytical Engine of the 1830s.

Around 1964 IBM gave birth to the general-purpose computer, the mainframe, in its 360-architecture (360 means all-round). The 360/370-architecture is one of the most durable artifacts of the computer age. It was so successful that it almost created a monopoly for IBM. Just one company, Microsoft, has succeeded to beat IBM by creating the general-purpose computer for the consumer (the PC). Microsoft copied (parts of ) the OS/2-operating system of IBM.

The current technical infrastructure looks a lot like the old fashioned 360/370-architecture but the processors are now located on many places. This was made possible by the sharp increase in bandwith and the network-architecture of the Internet.

Programming a computer in machine code is very difficult. To hide the complexity a higher level of abstraction (a programming language) was created that shielded the complexity of the lower layer (the machine code). A compiler translated the program back to the machine code. Three languages (Fortran, Algol and COBOL) were constructed. They covered the major problem-area’s (Industry, Science and Banking) of that time.

When the problem-domains interfered, companies were confronted with integration problems. IBM tried to unify all the major programming-languages (COBOL, Algol and Fortran) by introducing a new standard language, PL1. This approach failed. Companies did not want to convert all their existing programs to the new standard and programmers got accustomed to a language. They did not want to lose the experience they had acquired.

Integration by standardizing on one language has been tried many times (Java, C-Sharp). It will always fail for the same reasons. All the efforts to unify produce the opposite effect, an enormous diversity of languages, a Tower of Bable.

To cope with this problem a new abstraction layer was invented. The processes and data-structures of a company were analyzed and stored in a repository (an abstraction of a database). The program-generator made it possible to generate programs in all the major languages.

It was not possible to re-engineer all the legacy-systems to this abstraction-level. To solve this problem a compensating integration-layer, Enterprise Architecture Integration, was designed.

The PC democratized IT. Millions of consumers bought their own PC and started to develop applications using the tools available. They were not capable to connect their PC’s to the mainframe and to acquire the data they needed out of the central databases of the company.

New integration layers (Client-Server Computing and Data-Warehouses) were added.

Employees connected their personal PC to the Internet and found out that they could communicate and share software with friends and colleagues all over the world. To prohibit the entrance of unwanted intruders, companies shielded their private environment by the implementation of firewalls. Employees were unable to connect their personal environment with their corporate environment.

A new integration problem, security, became visible and has to be solved.

It looks like every solution of an integration problem creates a new integration problem in the future.

The process of creating bridges to connect disconnect layers of software is going on and on. The big problem is that the bridges were not created out of a long time perspective. They were created bottom up, to solve an urgent problem.

IT-technology shows all the stages of a growing child. At this moment, companies have to manage and to connect many highly intermingled layers related to almost every step in the maturing process of the computer and its software.

Nobody understands the functionality of the whole and can predict the combined behavior of all the different parts. The effort to maintain and change a complex software-infrastructure is increasing exponentially.

The IT Industry has changed his tools and infrastructure so often that the software-developer had to become an inventor.

He is constantly exploring new technical possibilities not able to stabilize his craft. When a developer is used to a tool he does not want to replace it with another. Most developers do not get the time to gain experience in the new tools and technologies. They have to work in high priority projects. Often the skills that are needed to make use of the new developments are hired outside.

The effect is that the internal developers are focused on maintaining the installed base and get further behind. In the end, the only solution that is left is to outsource the IT-department creating communication problems.

After more than 40 years of software-development, the complexity of the current IT-environment has become overwhelming. The related management costs are beginning to consume any productivity gain that they may be achieving from new technologies.

It is almost impossible to use new technology because 70 to 90% of the IT budget is spent on keeping existing systems running. If new functionality is developed, only 30% of the projects are successful.

If the complexity to develop software is not reduced, it will take 200 million highly specialized workers to support the billion people and businesses that will be connected via the Internet.

In the manufacturing industry, the principles of generalization and specialization are visible. Collaboration makes it possible to create flexible standards and a general-purpose infrastructure to support the standards.

When the infrastructure is established, competition and specialization starts. Cars use a standardized essential infrastructure that makes it possible to use standardized components from different vendors.

Car vendors are not competing on the level of the essential infrastructure. The big problem is that IT-Industry is still fighting on the level of the essential infrastructure, blocking specialization.

To keep their market share the software has to stay in the abstraction framework (the general purpose architecture) they are selling and controlling.

A new collaborative IT-infrastructure is arising. The new infrastructure makes it possible to specialize and simplify programs (now called services). Specialized messages (comparable to the components in the car industry), transported over the Internet, connect the services. This approach makes it much easier to change the connections between the services.

The World Wide Web Consortium (W3C), founded in October 1994, is leading the development of this new collaborative infrastructure. W3C has a commitment to look after the interest of the community instead of business. The influence of W3C is remarkable. The big competitive IT-companies in the market were more or less forced to use the standards created by the consortium. They were unable to create their own interpretation because the standards are produced as open source software.

The basis of the new collaborative foundation is XML (eXtensible Markup Language). XML is a flexible way to create “self-describing data” and to share both the format (the syntax) and the data on the World Wide Web. XML describes the syntax of information.

XML has enabled a new general-purpose technology-concept, called Web-Services. The concept is comparable to the use of containers in intermodal shipping. A container enables the transport a diversity of goods (data, programs, content) from one point to another point. At the destination, the container can be opened. The receiver can rearrange the goods and send them to another place. He can also put the goods in his warehouse and add value by assembling a new product. When the product is ready it can be send with a container to other assembly lines or to retailers to sell the product to consumers.

Web-Services facilitate the flow of complex data-structures (services, data, content) through the Internet. Services, can rearrange data-structures, ad value by combining them with other data-structures and can send the result to other services.

All kinds of specialized data-structures are defined that are meant to let specialized services act on them.

An example is taxation (XML TC). XML TC (a part of the Oasis standards organization) focuses on the development of a common vocabulary that will allow participants to unambiguously identify the tax related information exchanged within a particular business context. The benefits envisioned will include dramatic reductions in development of jurisdictionally specific applications, interchange standards for software vendors, and tax agencies alike. In addition, tax-paying constituents will benefit from increased services from tax agencies. Service providers will benefit due to more flexible interchange formats and reduced development efforts. Lastly, CRM, payroll, financial and other system developers will enjoy reduced development costs and schedules when integrating their systems with tax reporting and compliance systems.

Web-Services are the next shockwave that is bringing the IT-community into a state of fear and attraction. Their promise is lower development cost, and a much simpler architecture. Their threat is that the competition will make a better use of all the new possibilities.

The same pattern emerges. Their installed base of software slows most of the companies down. They will react by first creating an isolated software-environment and will have big problems in the future to connect the old part with the new part.

Web-Services will generate a worldwide marketplace for services. They are now a threat to all the current vendors of big software-packages. In essence, they have to rewrite all their legacy-software and make a split in generic components (most of them will be available for free) and essential services users really want to pay for.

Big software-vendors will transform themselves into specialized market places (service-portals) where users can find and make use of high quality services. Other vendors will create advanced routing-centers where messages will be translated and send to the appropriate processor.

It will be difficult for small service-providers to get the attention and the trust of companies and consumers to make use of their services. They will join in collaborative networks that are able to promote and secure their business (The Open Source Movement). It is impossible to see if they will survive in the still competitive environment where big giants still have an enormous power to influence and a lot of money to create new services.

If the big giants succeed, history will repeat itself. The new emerging software-ecology will slowly lose its diversity.

Web-services are an example of the principles of mass-customization and customer innovation. All the software-vendors are restructuring their big chunks of software into components that can be assembled to create a system.

Small competitors and even customers will also create components. In due time the number of possible combinations of components that are able to create the same functionality will surpass the complexity a human (or a collective of human beings) can handle.

LINKS

About the Human Measure

How the Programmer stopped the Dialogue

How to Destroy Your Company by Implementing Packages

About Smart Computing

About Software Quality

About Meta-Models

About Software Maintenance

About Model Driven Software Development

About Programming Conversations and Conversations about Programming