Mobile First Development

  •  We are “Mobile First” developers .. we rove free today

  •  We believe in and use Open Source Software

This means your distributed application will largely work on iOS & Android tablets, and will work completely for all desktops & laptops. Large-screen-dependent sections of the DApp will be difficult to operate on mobile phones and less so on Tablets, yet the rest of your DApp will work naturally for contacts/messages/elastos mail/tasks/calendar integration, for most of your DApp, and ‘Push’ notifications. Our services are hosted on the Elastos Smart Web.

For example, we integrate Individual Push Notifications with our mobile apps, to enable your database to instantly remind you of details of contacts (which you select when you are registering them), by a visible ‘Push’ notification to your phone as they ring. This service can be disabled for regular contacts.

 
You are welcome to refer to Computers As Machines for a potted history of Computing with some references.
 
Dennis Ritchie designed and created the ‘C’ Programming Language at AT & T’s Bell Labs between 1972-1973. Initially, it was for running UNIX utilities. The UNIX operating system was being developed by Ken Thompson at the same time. The pair had previously worked together on the creation of C’s predecessor, the ‘B’ programming language. Evidence of Ken’s and Dennis’s compatibility as programmers and language designers was reinforced, according to Brian Kernighan, when they compared their own independent solutions to a problem which emerged as identical in code. Ken Thompson explained Unix was the first incarnation of a system where everything happened “in the first person”. There was no need for the third eye view – Thompson allowed the Op Sys to do whatever it needed as if the sole controller in the processes. He is a believer in using brute force when necessary (in coding terms).
From the same Labs, from 1979 onwards, Bjarne Stroustrup developed C++ as an efficient extension of C , allowing the creation and operation of a new class of things in C (but studied since the 1950’s) called software “Objects”. Objects are Data Structures extended to include the necessary methods (functions) to deal with the data onboard the object, and enabling safer communication between these objects.
[ During spread of the world wide web in 1995, Netscape Communications recruited Brendan Eich with the goal of embedding the Scheme programming language into its Netscape Navigator.[15] Before he could get started, Netscape Communications collaborated with Sun Microsystems to include in Netscape Navigator Sun’s more static programming language Java (created by James Gosling), in order to compete with Microsoft for user adoption of Web technologies and platforms.[16] Netscape Communications then decided that the scripting language they wanted to create would complement Java and should have a similar syntax, which excluded adopting other languages such as Perl, Python, TCL, or Scheme. To defend the idea of JavaScript against competing proposals, the company needed a prototype. Eich wrote one in 10 days, in May 1995. ]
More recently (2009) the Google Corporation developed the GO language which has simplified objects to exclusively contain what C calls data “struct”s and other data collections such as arrays (so separating functions and data structures) and removing inheritance capabilities, in order to achieve very economical thread generation overheads, addressing a modern problem where we are limited by processor performance in the number of concurrent threads that we can safely run. These moves also address the problems related to keeping code more easily maintainable and sharable among and between teams. Although inheritance is no longer possible, it is still achievable in practice by copying and pasting code, and making alterations within a code versioning and sharing system such as github. The GO language is used for much of the Elastos “ChainCode”. A GO thread takes a minute fraction of the memory overhead of a JavaScript thread. On a web server connected to a database, there needs to be one thread per database table, so with hundreds of tables, there are many savings to be made. ITCSA had migrated our apps to GO. At that stage, we no longer required 8GB servers for our Enterprise Databases. The memory demand had been cut by a factor of 10.
However after further investigation of the Haskell language (of which it is said, “Haskell servers do one thing well”), and tests, we are running web servers delivering Rest API endpoints for our databases, as Haskell ‘Black Boxes’, with a further saving by a factor of 8 in memory demands as well as improvements in response times. Haskell is a functional programming language which you might liken to a spreadsheet. A spreadsheet essentially re-evaluates a function at each entry occasion. Haskell is an example of a very powerful function-evaluating language.
elaticblockchain

BlockChain
seadoubleplus

 

BlockChain & Carrier Connections
docker

Front End Graphical User Interfaces
HSQL WEB Server

Haskell Web Servers
plpgsql Database Server

PLpgSQL

Data Processing
 
 
The Apache Software Foundation is a US-based non-profit organisation. Apache’s Maven Project assists us to build and integrate Java software reliably
ApacheMaven2
In a similar way to Shipping Containers with Goods, Software “Containers” make life a lot easier for developers: Docker helps in moving software around the world, and with integrating development elements into a single environment.
newDocker
We develop code and collaborate on GitHub – more of the work of Linus Torvalds!
~

A short word about our apps….

~
Immutable audit trails and multi-party transactions on Elastos Blockchain; mass Relational Data storage on Postgres postgres secure database Databases: Elastos P2P Carrier network to connect them (web-socket-safe).

by John L. Olsen, Edward B. Whittle

using the Elastos Component Assembly Runtime in C++ : On the SideChains, and connecting to Databases, WebServices and the HIVE file storage system via Carrier.
..

Our MultiPlexed Double-Entry Accounting System

Master Ledger::Transaction Journal catering for Multi-Party Transactions on the Elastos BlockChain::SideChains
ITCSA’s Accounting Solution, the ‘Block ‘n’ Tackle’
Written in C++, PLpgSQL, GO, Haskell and JavaScript on Elastos BlockChains and Postgres Databases [© IT Cloud Solutions Australia, 2011-2020]
chubba

 

Broad Elastos Application Concept

your same bus procedures

  • Elastos Blockchains are based on modern technology developed under the auspices of the Elastos Foundation.
  • Our databases are built for predictability and reliability.
  • The majority of your Business Transaction Data is stored on a Relational Database off the Chain and Business Process Data is copied amongst neighbouring nodes on-chain (devices) across the globe for safety security and redundancy..
  • The Elastos Project is an Open Project involving many corporate and individual participants based on open-source code with strength deriving from its open-source nature.
  • We use Elastos BlockChains as our Accounting Journal/Ledger System, in connection with Postgres Databases.
  • Yours would be a Business Channel on a SideChain sharing a database system on that SideChain with other Business Channel owners in related networked businesses.

 

 

  • Accordingly, unlike non-blockchain systems (where Superusers may change records on the database), the transactions recorded on  BlockChains are not able to be changed by anyone at all, ever. Each device keeps the others honest.
  • Unlike the Blockchains underpinning Bitcoin and others, the Elastos Blockchain is Permissioned not Anonymous so the identities of the users & entities who were involved in each transaction are recorded.
  • With our Blockchains, “coin-mining” is involved, to ensure valid and sealed transactions.
  • Blockchains provide other data processing advantages including Automatic, Real-time, Multi-Party-Validated Transactions a.k.a ‘Smart Contracts’

 

 

Specific Elastos Distributed Application Concept

ApplicationFramework

=

=

ApplicationFramework2

=

ApplicationFramework3

Tablet Application
Access to  ^ SideChains v  for DApps

from any registered user’s device or any
registered thing/system or machine

Blockchain Application

 

Elastos BlockChain     <  >

Proof of    ^   | | | | | |   v  Proof of  
locked    ^   | | | | | |   v  locked   
assets on       | | |       assets on
BitCoin        |        Elastos
BitCoin MainChain
Tablet ApplicationUltimate Trust ProviderTablet Application

via BitCoin BlockChain Miner$$

who must “solve” a network-related cryptographic problem in order to lock down a block of transactions, be rewarded in BitCoin (convertible to cash), and provide proof of work via returned transaction hashes
~

HSQL WEB Server

WebServer < >

^


 < >  Carrier  < >

 

V

communication via 1 million + worldwide nodes to WebServices and Users

Postgres

Postgres Server

< Relational

> DataBase

 

< Raw Documents etc >

IPFS Web Server

Elastos Hive

  • Component Assembly Runtime in C++ by Elastos developers
  • Core Accounting Functions via the ‘Block ‘n’ Tackle’ © in C++, GO, Haskell, JavaScript & PLpgSQL © by IT Cloud Solutions Australia 2011-2020
 

 

ElastosFramework

IonicFramework

The frontend Apps are encoded in JavaScript and Native (iOS, Android) Code, from Use Cases defined by You and us. We use the Elastos Trinity Browser and the Ionic Framework in connection with the Elastos System to target all your platforms; smartphone, tablet, laptop and desktop.

We follow the development Principles of Microservices, so that we break down apps into smaller functionally consistent parts, which are then contained and operated separately and clustered on participants’ devices with each Microservice connecting to the blockchain. In this way we obtain a much more fault-tolerant system.

The use of JavaScript and its style of coding – a relatively recent new ‘paradigm’ in enterprise applications programming (with the improvements in performance introduced in the 2008 release of Google’s V8 JavaScript compiler), ensures maximum speed and availability of running applications due to their design of “Non-Blocking Input/Output”.

Input and output channels for the devices & servers, and for the databases, are fully occupied, never blocked or waiting for one or other user’s slower process to complete. Slower processes are immediately resumed upon call back. (“Callback” functions are an important feature of JavaScript). This means bandwidth is used very efficiently and processes are lightning fast.

  • Our method of development ensures 100% functionality on all iOS and Android mobile tablet devices, and communication, contacts, tasks, calendar etc (plus ‘Push’ notifications) integration for mobile phones.
  • This functionality is easy to generalise to desktop/laptop computers.
  • It all just works. And fast.


[ Note that “JavaScript” is not “Java”; they are owned and licensed by 2 very different realms amongst software corporations. Strictly speaking, Java™ came first historically, owned and created by James Gosling of the now defunct Sun Microsystems in 1995 (bought by Oracle in 2010). JavaScript was created by Brendan Eich in 1995, in competition with other companies, to complement Java, for an old company, Netscape Communications.

Mozilla Foundation took over management of JavaScript in 2000. The two languages are now “complementary/competitors” in the web-based-design software language market. The languages can and do work together in many systems, including our own.

HSQL WEB Server

JavaScript’s particular strength is in its “asynchronous” operation. Java operates “synchronously” and is thus “I/O Blocking”. Nevertheless most of the Android™ Operating System, for example, is written in Java™. This means our own systems contain machine code (it’s all machine code in the finish – imagined as 1’s and 0’s in memory registers) compiled from these “higher level languages” Java and JavaScript, as well as our webservers in the ‘lambda-functional’ Haskell language. There is also machine code from the compilation of Assembler, C, C++ (non-Apple devices) and Objective C (Apple devices) lower level software code. On a typical webpage, JavaScript takes care of the “behaviour” of the page (said to be the ‘glue’ of the web), while content is given in the “html”, with style/ formatting defined in Cascading Style Sheets (CSS).

It all starts in various garbled forms of English written in a very conformal fashion by many people; compiled and built on some computers; and ends by being “deployed” onto these and other computers, and onto networks of other devices, to begin working, making decisions, accepting inputs, transferring data, producing outputs, recording information and using Digital Arithmetic and Boolean Algebra, the hardwired “machinic intelligence” of a computer, to perform logical and numerical computations. ]