Basics of Applications

Application is a generic term referring to a technology solution doing a task, solving a problem or doing a work. Application use to be a program, a set of programs, several programs connected by networks, etc. Application term does NOT include hardware, computers, networks, disks, etc. When we refer to application we are talking about software or programs and information used by these programs.

 Program  Operating System  SaaS  VoIP
 Freeware  Database  Marketplace  IMS
 Shareware  M2M
 Internet of the Things


Program

It is the key element of an application. Depending on application complexity there is only a single program or a set of programs. Program is installed in our device and we can executed all the times we need. The program or application more used in the word are text editors followed by spreadsheets. Of course there are millions of different programs designed for a huge variety of tasks but these two are the ones more used.

Freeware

Freeware of Free Software is the one we could download for free from Internet and use without any restriction. Nowadays there are freeware applications very powerful and reliable. Then ¿Where is the business for developers? Freeware could be used for free but for professional uses developer support is needed. Enterprises using this freeware applications needs a support because they need a fast resolution when having problems. This support is not for free and it is the profit for the companies developing freeware. Developer companies are really efficient ones and support profit from enterprises are enough for them. Of course these companies don’t have the same capacity than big software companies but there are really good freeware applications in the market.

Shareware

Shareware category is applied to applications which could be used partially or completely during a reduced time. Both methods are used to demonstrate to a possible user the capacity and features of one application. In case of partial use shareware application has a reduce set of features and customer buy the full feature application if convinced by shareware version. In other cases customer can use the full feature application but only during a limited time. In case customer finally doesn’t buy the application shareware version stop working. In some case shareware application is fully working without any limit but showing messages regularly indicating it is the shareware version. Customer buys the application to eliminate these messages. Developer companies decide what are the best method to maximize distribution of the software but forcing customer to finally buy the application.

Operating System

Operating System is the main program and the one starting the first in a computer and, nowadays, in our mobile device and smartphones. When one device is started the first target is to start operating system. Once Operating System started it takes the control of all device elements: keyboard, screen, files, start and stop applications, etc. Operating System has additionally a set of basic and useful applications already included.  When developing a new application it is not needed to think about how to manage keyboard, screen or connecting to internet. Operating System take care of this tasks and developer only include calls to Operating System in the application. Any application is designed for a specific operating system and it doesn’t work in other one. For two different operating systems are needed two different applications.

Database

Too many applications need to manage a big amount of information. This is the case of accounting application for an enterprise, booking management, hospital applications, etc. Information management is really important as it cannot be lost, it has to be stored in a secure way and it should be possible to store a huge amount of information. When creating a new application most of times developers use a database software for information management. This allow developer to focus on new application functionality without losing time in information management. Database software is working under main application and application developer can be sure information will be managed in a secure and reliable way. The most used database software is Oracle database. There are two main database types: Relational databases and LDAP (Lightweight Directory Access Protocol) databases. Relational databases use SQL (Structured Query Language) and they are more easy to use than LDAP ones. LDAP databases use to be faster than relational databases and more robust and efficient when accessing through a network. Oracle database is a relational one as MySQL, the most famous freeware relational database and Oracle property as well. Postgress is another famous freeware database. Freeware databases are usual due to the monopoly of Oracle in “paid” databases even considering the risk of using a freeware software for this really important task.

SaaS

“Software as a Service” or software sold as a service. Traditional software is bought and, once installed, it could be use without any limit even install again in a more powerful computer when our computer become old and obsolete. Price use to be expensive because we are buying unlimited use. In the opposite Software as a Service sell the right to use this software during a specific time. This specific time use to be a month or a year. In monthly case we could use the software for cheap price and stop the service if software doesn’t fulfil our expectations. This regular payment includes not only the right to use the software but software support as well. One example of software as a service are antivirus programs. Antivirus program is installed in our computer but it doesn’t work without buying the license. This license allows program use during a limited time and antivirus stop working if license is not renewed.

Marketplace

Marketplace is a virtual shop where buying applications. Marketplace is connected to internet and it could be accessed by a shopping application or using a web navigator. When marketplace use web technology is called “webstore”. Marketplace could be used to buy not only applications but music, videos or books.

VoIP

VoIP stands for “Voice over IP”. VoIP technology and VoIP applications are used more and more every time thanks to increasing internet capacity. VoIP applications allow voice communications using internet. Voice communication packets are sent in parallel with web connections or video downloading. Voice communication needs only 300 KBit/S which is perfectly supported by current fixed networks and, in a short time, by new mobile LTE networks. VoIP applications combine a client installed in our computer or mobile device and a central server in charge of communication management. The first and the most used VoIP application is Skype. Skype is an easy to use application using a proprietary VoIP technology. Main advantage is underneath protocol is HTTP and, for the network It is like a web connection. Excluding Skype most of VoIP applications use SIP protocol and use IMS server as the central communication management. These standards allow interconnection of different application providers. Of course traditional telephony is not going to disappear shortly and VoIP central server needs a gateway to route calls to traditional telephony service. There are a big number of VoIP telephony service providers offering cheap prices and using internet as communication network.

IMS

IMS stands for “IP multimedia subsystem”. IMS is not really an application but the base for other applications. Applications using IMS are VoIP, Instant Messaging, video communication, etc. IMS is a communication exchange where our client application is connected to. IMS server check our identity and register communication status. Application provider use to have an IMS server used for all communication applications. Main advantages of applications based on IMS are:

  1. Security: IMS central exchange check user identity and it is robust to attacks.
  2. Standard: IMS is a standard allowing communication between different providers.
  3. Single point of contact: For any communication application IMS address is the only one to configure. Applications can share common elements like contact lists or presence server informing about the status of other users.

Communications with IMS central exchange use SIP (Session Initiation Protocol). SIP protocol functionality in communications is similar to HTTP protocol in web navigation.

M2M

M2M or “Machine To Machine” involved applications using internet for communication between autonomous machines with a minimum or null human intervention. For explaining this concept the best is an example: One vending machine company use a M2M application to check vending machines inventory. Central application check regularly vending machines stock and centralized this information. In case of lack of some product or a problem in one machine this information is collected and showed in the central application. With this application supporting people know perfectly when and where to go to solve a problem or refill some machine. Nowadays there are M2M applications for elevators, cars and electric SmartMeters.

“Internet of the Things”

This concept was proposed the first time by Kevin Ashton in 1.999. It is similar to M2M but much wider. This concept assumes all the things (or most of them) having the capacity to connect to internet and interact with other things, applications, computers, etc. In this case there wouldn’t be lost things, we could control or receive information remotely. Manufacturers could know how we are using their products allowing improving them. It is similar to M2M but more ambitious imaging a future where all things would contain a chip and we could interact through internet.