Meadowlark: Sheffield based computer consultancy

Software development tools we use:

Adobe Air (Asynchronous JavaScript and XML)

Adobe Air is a clever way of turning a browser based application into a desktop application. In the process, this gives that software qualities that web applications typically lack.

Typically web applications cannot generally save files to your computer, or read files on your computer, or interact with the hardware comprehensively. They run in a type of sandbox where they can do no harm (usually).

The Adobe Air approach using the Adobe Air Runtime (AIR) which packages up this web technology into a desktop run time application, lends itself to the development of applications that are more powerful than typical web applications whilst using the same technology. Furthermore they may offer more security and facilities to boot. Adobe has called this style of application a R.I.A (rich internet application).

One of the outstanding features of Adobe Air, is that the desktop applications it creates are cross platform, like the web applications that we are all used to. Adobe achieves this by running the application within the Adobe Air Runtime (A.I.R) runtime. Porting an application to a different operating system is not a matter of compiling separate code for each different platforms, it is a single set of code for every platform, much like Java made popular in the 80's. Once the code is compiled into the A.I.R the Adobe Air application can be installed on any of the operating systems that are targeted. The most popular being, most flavours of Windows, IOS, Mac, Android, and some flavours of desktop Linux (if the SDK is suitably chosen).

Why are we Adobe Air Developers?

If you write software, then two particular I.T. skills will always be called upon: that of user interface design and construction, and database design and construction. Abobe Air addresses both these requirements by allowing web developers to develop their user interfaces for the desktop with the familiar tools of for example JavaScript HTML and CSS. Furthermore databases can be developed using these same languages and tools using the SQLite database and associated system system calls.

SQLite is perhaps the most installed database in existence. Apple use it extensively in their software libraries and their hardware. Furthermore Microsoft install it in Windows 10. It has all sorts of properties that lend itself admirably to small database systems, and provides formidable competition amongst small database vendors.

Adobe Air

  1. Allows the developer to use existing skills in the JavaScript language that arise from its use in developing web sites.
  2. Allows the developer to make use of existing skills in cascading style sheets, that have been used in web site development.
  3. Allows the developer to use existing skills in HTML learnt from web site development.
  4. Allows the developer to write one application on one PC that will run on any PC that has the Adobe Air run time system. This is a formidable advantage. An Adobe Air application will run on an Apple Macintosh, an IPad, a windows PC, a Linux PC, and an Android or IOS phone. Even Java applications cannot do that.

What you can expect from information technology in the future?

It seems likely that new software applications will replace many millions of jobs around the world.

At first it was thought that many white collar jobs would be safe, but where there is repetition in a profession, where there are procedures to follow, or where there is room for human error, there is room for a computer to oust its human competition. Of course software development is not a career without risk of computer automation, as much I.T work is in fact unnecessary.

Though much of software authoring is creative, challenging and currently impossible for a machine, much of it is not.

When I dash out my next Microsoft Access database, I know that so much of the work will be repetitive, dull, and merely a minor deviation from the last database that was produced. What would accelerate the software development process therefore is better tools to handle the repetition. In this case everyone benefits.

The software developer is spared the monotony of repetition, and the computer automaton cranks out the part of the application that is almost too boring for a software developer to write.

As I write this I am of course making some assumptions about the state of Artificial Intelligence.

If a machine can be truly intelligent then even the creative, challenging aspects of software development will not be beyond a machine. We are not there yet.

At Meadowlark we are planning for the future.

We write software for customers, and for anticipated future markets, but we try to automate the drudgery of software development and yet at the same time emphasise the creative (fun) aspects. To do this we often find ourselves writing software that writes software. This is possible in languages like Forth and Lisp. In fact in Lisp at least, it is possible to write software that writes software that in turn writes software. This might just allow Meadowlark to exist long after the majority of I.T. jobs have disappeared.