A New Framework for Business Applications

When a user logs into a business application, they rarely think about what went into the design, or how it works.  They are only interested that it allows them to do their job, simply, efficiently and trouble free.

The business application designer, on the other hand, is very concerned about how it works. Is it secure? Is it scalable? Does it have good performance? And many other question, the most important of which is, does it meet the needs of the user?

Web based business applications in the past weren’t always very secure, and changes and implementation were often difficult. And the ability to run on different devices was almost impossible, often resulting in one site being designed for tablets and smart phones, while another was designed for desktop users. It was frustrating.

Today we have the introduction of different frameworks that solve many of the problems of the past.  The Bootstrap framework gives a designer the ability to design an application that will conform to any device, without having to design one application for a smartphone and another for the desktop.  It goes further. It provides a standard, giving the site a specific look and feel to the user, and is completely customizable.  This has been a great step forward in delivering an elegant looking, full featured site to the user.

The MVC framework, which stands for Model, View and Controller, divides a business application into three separate parts. Each part is responsible for a different function of the application. The Model is responsible for defining and interacting with the database, making sure that information coming in from a user conforms to specific standards.  It reduces the impact of the garbage-in, garbage-out problem because it can be highly structured independent of programs that utilize the data. In other words, it is a bulwark against “bad data” if properly designed.

The View is responsible for delivering a web application page to the user.  Its focus is providing the user with the look and feel, as well as the ability to navigate through the site. Since it is decoupled from the Model and Controller, the experienced designer can make full use of breaking the View down into reusable components that can be linked together dynamically when a user requests a specific page.  By that, I mean that the navigation can be separate piece that is used by numerous pages, the footer can be another, and on and on. Forms and tables can be given intelligence, the ability to communicate with the server. You’ve seen this many times. When you begin typing a Google search a list of possible search queries is presented with each stroke. That is because the View is communicating with the server to provide this information in real time – the View can be interactive and intelligent.

The Controller is responsible for directing traffic and delivering the right information. You, as a user, enter a URL in the browser of your computer or smartphone. That URL is sent over the Internet and finds its way to the Controller, which examines your “request” and determines what data is required via the Model and then sends that data to the View, which in turn sends a “response” out over the Internet and back to your computer. All of this is done in the blink of an eye.  The Controller is the first line of defense for security and since it has great responsibility, processing requests and delivering responses to you, the user, it must be designed to be very efficient, reliable – and secure.

The Microsoft ASP.NET MVC framework was conceived in December of 2007.  It wasn’t mature until version 5.0, which was June of 2013.  Just last year, 2016, MVC Core was introduced that allows a web application to be compiled for various operating systems, Linux, iOS, Android, and of course Windows.

However, these things are not the “new framework” that I thought about when I began writing this article. They are recent and fairly new.  They are something you need to understand since they serve as a foundation for the “new” framework that I am going to discuss.

The new framework has to do with the way in which the Controller is designed. The Microsoft MVC business application is written in the C# programming language. Unlike PHP, it is compiled, translated into machine code, which can be much faster and more secure than a scripted application. If a hacker (or disgruntled employee) gains access to your server and steals your old uncompiled application, they know exactly how your business works and where it is vulnerable. They cannot do that with a compiled application because all they will get is an executable and won’t have access to your business processes.  And if  the system is designed right, won’t even be able to access your data. That’s a pretty important difference, don’t you think?

The real power of the new framework and C# programming language is that you can build something called a “class”.  A class is an object that you can create to perform a certain task. For example if I create a class called GetContactInfo(contactID), all I have to do is make a request to that class by supplying an ID and it returns all of the information I need for a contact. Now, if a request of this nature is needed in a dozen different places by the business application, the class doesn’t have to be created by the programmer each and every time.  It is created once and used many times.

What has this got to do with the Controller?  It allows the system designer to build a Controller that has very few lines of code because it is retrieving what it needs from these class objects that are talking to the Model and doing all of the processing. It makes debugging easier because a problem can be isolated, and when it is fixed in one place it is fixed everywhere that class object is called.  Easier to maintain and more bullet proof.  It also means greater productivity, less cost and quicker turn around times.

The bottom line is that business applications can now take advantage of new technologies and the business entrepreneur can focus on innovation and process improvement with faster turn around times.

 

Advertisements

Back to the Future! Whatever Happened to Made in America?

Back to the Future!

If you are as old as I am (and I don’t consider myself ancient) you’ve lived through some pretty interesting recessions.  You’ve seen home mortgage rates at 17.5%, incredible inflation and economic hard times that were actually worse than what we are seeing right now (with the exception of the insane spending by the government which has reached new heights).  I know that’s no consolation to those of you who have lost their job, but I want to share a stupid idea that worked in the 1980’s during the Reagan Administration and I have no doubt would work again.

Before I get into the details let me ask you a question.  If you walk into WalMart, Target, Sears, Macy’s or any other store and picked up and item off of the shelf, how many would say “Made in America”.  I think the odds are that it would say “Made in China”.

In order to keep this simple I want to use a simple example.  Let’s say we are a tribe of hunters and we have a person who is much better at making bows and arrows than hunting.  So he stops hunting and trades his bows and arrows for wild game from other hunters.  He discovers that he can accumulate more wild game making bows and arrows than hunting.  Based on the labor and materials he can sell his bow and arrow for an equivalent of $10.  He is so successful that he builds a factory and hires people to make bows and arrows and the economy thrives.

One day he discovers that he can buy a bow and arrow from the tribe in China for $5.  It is almost as good as the one his factory makes and he doesn’t have to put up with all of the regulation, unions and taxes.  All he has to do is buy the cheap bows and arrows from China and resell them to his tribe.  So he shuts down his factory and tells all of his people that the tribe is now in the “Information Age” and it isn’t necessary for the tribe to actually produce things any more.  They all need to get retrained for the future.

Things go well for a while and everyone is happy because they are buying bows and arrows cheaper than what it would cost them to make them.  But after a year, the chief of the tribe is upset because he used to get a small percentage of each bow and arrow maker employed in the factory.  Now they don’t have jobs and the tribe revenue has fallen.  But the chief still needs the money and doesn’t want to cut spending.  So he goes to the tribe in China and asks for a loan until the tribe in America gets back on its feet. 

The tribe in China has been so busy making bows and arrows for the American tribe and the rest of the world that they have plenty of money saved up and they are glad to lend the money to their biggest and oldest customer.  After all, the tribe in China made $226.8 billion dollars in 2009 by selling bows and arrows to the American tribe.

The Role of Technology in Education

Technology is transforming the way we learn and teach.  We are already seeing learning being transformed into an “open system” via the Internet. It is readily accessible to the highly educated, the young and those who failed to get an education in their youth. The future of education is no longer the monopoly of brick and mortar schools.

The last great change in the way people were educated occurred with the advent of the printed book by Gutenberg in 1440.  The foundations for our current system of education was established by John Amos Comenius between 1628 and 1632 when he published his work titled “Didactica Magna” which proclaimed that both noble and ignoble children, boys and girls alike, should be sent to school and educated.  He proposed that society would benefit if they were occupied learning “useful things”.

The way that subjects have been taught has not changed much until now. We have known for hundreds of years that we learn behaviorally through drill, repetition and feedback.  And that learning is best done in stages and that those stages are mastered differently, either more or less easily, by different students.  When children of different abilities and interests are grouped by age and force fed subject matter it does not account for those differences.  In this way technology is far superior in providing instruction to the student depending on their own rate of learning.  The activity of the teacher is no longer focused on the repetition, drill and administration, but on the leading, directing and motivating the student.

With technology, students become their own instructors.  We are seeing children become computer literate at a very young age.  They are competent at interfacing with and using computers as a learning tool. Today’s labor intensive schools will become unnecessary in the future.

The challenge for educators, and their top priority, must be a commitment to literacy.  This commitment is crucial to society and to the young student.  Only when a student attains a high level of skill and mastery of a subject do they become self confident, competent and able to contribute to society.

The role of the teacher will change.  While technology is the best tool for providing repetition and practice to the student – it is boring.  Computer programs can be written to lessen the boredom but the real motivation for the student is when they realize achievement.   Achievement is the strongest motivator and one that is recognized by our society.  The athlete who practices speed skating spends hours and hours going in circles on an ice track.  But the one who achieves Olympic fame is honored by a gold medal for their achievement.  This achievement inspires and motivates others to spend hours and years in boring repetition in order to become the best in the world.  The importance of repetition and drill will not be eliminated by computers.

Technology can free the teacher from the repetitive and routine activities.  It can provide the teacher with the results of the student’s efforts so that they can be analyzed in order to identify strengths and weaknesses.  This can be done through test results, video tape or monitoring the learning process.  The role of the teacher will be to recognize and acknowledge achievement and direct the student to mastery of the subject.  The student will then be able to contribute to society.

Technology also provides employers and adults seeking advanced education new opportunities to master subjects without interfering with their daily responsibilities.  The role of educators in advanced subjects will focus not only on directing and leading, but on challenging the student to new levels of achievement by focusing on their strengths.

The new “open system” of learning is essential to our rapidly changing society.  New techniques, tools and systems are constantly being introduced.  This requires that the student learn new things about a subject they had previously mastered.  Technology and the economy are no longer static during the lifetime of the student.  It is changing – sometimes rapidly. 

In 1965 Gordon Moore, the co-founder of Intel, introduced the concept that technology is improving at an exponential rate.  It has held true that “data density” has doubled approximately every 18 months since that time.  This has led to the flat screens, netbooks, highly functional cell phones like the iPhone and now reading devices like the Kindle, Nook and iPad that can store 10,000 books and play video.  This frees the student from studying at a physical location and opens new teaching possibilities.  But, it also means that new subject matter may also be added at a furious pace.  In order to stay at an advanced level of literacy, the student must commit to a life a continual learning.  This can only be effectively done by technology.

Revolutionary automated outbound call system using Skype

Sometimes I love my job as a Software Architect because I get to invent new toys to play with that make life easier, less tedious and, on occasion, provide real value.  Well, I just finished designing one of those toys.  It is a very different kind of automated calling system that uses Skype voice over IP, the latest text to speech technology and seamless web services to do something very cool.

Over the past 10 years research has shown that if schools hold students accountable for their behavior they typically reduce problems like being late to class, using cell phones, etc. by up to 80%.   They also know that the minute they stop holding the students accountable they slip back into the bad behavior almost immediately.  In the late 1990’s our company pioneered parental involvement by being the first to instantly send an email to the parent when a tardy slip or disciplinary action was assigned to a student.  Since then, eCampusUSA.net (one of FTI’s companies) has issued over 3,000,000 tardy slips and almost 2,000,000 disciplinary actions – but there has always been a problem.  What if the parent doesn’t have email or it isn’t in the student record?

The old solution to the problem was either to print a letter and mail it to the parent or make a phone call.  The problem with the letter is that mailing costs continue to rise.  And while we have automated the process of printing so that the school doesn’t have to print labels or address envelopes, it is still labor intensive.  Some schools would have to mail 200 letters a day and at a buck a letter it could cost 180 x $200 = $36,000 per year.   Not exactly the best solution – even if you cut the cost in half.

If a school wants to automate phone calls to parents, installing their own dialer can be very expensive.  Installing an automated dialer to call parents requires a separate computer, installation of a very expensive digital phone card that costs at least $2500 and is difficult to install and configure – to say the least – if you ever tried to configure one you’d know what I mean.  The school also must pay for a monthly charge for all of the dedicated phone lines.   The cost of a dialer for a school can cost $5,000-10,000 a year when you consider phone lines, support and installation.  Then you have the problem of setting up the data so that it can begin making the calls which can be a lot of work – and the reality is that most systems cannot provide the data that can be fed into an automated calling program. For schools on tight budgets, that cost is out of the question.

The new system is amazing.  When a school issues disciplinary action of any kind to a student and the parent email is missing, a customized phone call to the parent is made within minutes.  The greeting and message tells the parent about the offense and when detention or other corrective action will be held.  Every message is unique and in a human voice.  The result of the call is then stored in the student record so that a school administrator can see the result of every phone call. 

The school doesn’t need to install any hardware or software to make this happen.  All they need is a browser and Internet connection.  The rest is done automatically.  Instead of spending thousands of dollars and having to put up with the support headaches it only costs them $39 a month regardless of the number of phone calls.  You might say – really?  But don’t services of this type always charge per call?  You would be right.  Most services charge 4-10 cents per call.  If a school made 200 calls per day it would cost  $160-400 per month.  How can we offer this service for only $39 per month?  You see – I told you that sometimes inventing new toys is fun!

The reason we can do it for that amount is because we use Skype as our phone service.  We have a server that talks directly to the eCampus server in real time to see if any calls have to be made.  If there are calls, then it gets the message that is unique for every call and converts it from digital text to speech using the latest in speech technology.  It sounds more like a human than a robot and I’ve even had people talking to the system thinking a person was on the other end of the line.  Pretty cool stuff!  Then, it dials the parent’s phone number using a special interface we built into Skype.  If the parent picks up the phone it plays the message, if not it leaves a voice mail.  If there is no answer, it tracks that as well.  When the call is finished, it updates the student record with the result.  This takes interaction to a whole new level – and it is incredibly cost effective!

I’ve been thinking about how this technology can be used by doctors and dentists for reminding patients.  Organizations for announcing meetings or reminders.  It is pretty powerful and opens up a whole new means of communication that was previously cost prohibitive.

So I’ve been watching my new toy quietly going about it’s business every day improving the communication between teacher and parent.  Something that would not have been possible 5 years ago.