App-Writer Introduction

So you are a scientist or engineer who has some good science that you would like to share with others. You can publish papers and formulae, but most of us aren't good at looking at formulae and understanding what is going on. We are even worse in getting round to putting those formulae into Excel or software so we can explore the ideas ourselves. So a lot of great science and engineering is wasted because potential users cannot use it. This is a big problem!

My solution to the problem is to bring the science to life via an app. My belief is that this should be the default option for all science that is "appable" (i.e. is of modest complexity with relatively clear inputs and outputs). The standard HTML5/CSS3/Javascript format of modern apps is immensely powerful and, importantly, safe to run on all PCs, Macs, tablets and phones. So science in app format can reach just about anyone anywhere on the planet.

There are two problems in creating a technical app.

  1. Writing the scientific code
  2. Creating the app infrastructure to run on all devices

Most people think that the scientific code is the hard part. But most scientists have some degree of coding skills and if you can write in C, Fortran, Visual Basic, Java then you can write it in Javascript. So the coding is the easy bit.

The truly hard bit is providing the app infrastructure. It used to be hard enough when you were targeting large laptop screens on a single browser, but it's even harder when the app has to work on iOS, Android, PC, Mac, Chrome, Firefox, Edge, Safari... It has taken me 5 years to get my own coding structure and I've been through 4 iterations. The most recent iteration required the skills of a young, web-native coder who transformed my messy and inelegant infrastructure into something lean, simple and clear. Anyone can make something complicated, it takes a genius (Sean Cooper) to make something simple.

App-Writer 2

Feel free to read about the older App-Writer below. But it was time to take advantage of newer coding styles and infrastructures so App-Writer 2 was created. I've removed the automation, so you have to create everything yourself using the core that I've provided. But it's all so much cleaner and nicer so the upsides outweigh the downsides.

Your personal App-Writer

App-Writer inputs So here's the deal. I have done all the really hard work for you and created a clean app-friendly infrastructure. Even better, I'm giving you App-Writer Console a front-end where you can design your app with all the basic inputs and outputs (text boxes, radio buttons, checkboxes, select boxes, sliders, graphs, "Canvas", buttons), using some simple codes to specify what you want. You instantly get all the HTML and Javascript ready to paste into the respective files which you have on your own development machine. You save those two files and you have a functioning app. Sure, it doesn't do any calculations, but it is ready for you to take all the input values, do the calculations and put the outputs into text boxes, graphics, graphs or data dumps. The app is 100% independent to put onto your own website and has no links to my site - it is your app, not an Abbott app.

App-Writer outputA key point here is that I use this tool for all my own apps. I simply don't have time to remember how to create a fresh app, how to place graphs in the right place, how to format four columns of sliders and how to read the input from a combobox. I just use my own tool to get the hard work done, then I can focus on the scientific coding.

Yes, I'm being a bit too simplistic. The first app or two will be challenging. But I've provided lots of extras and prototypes in the basic app so that you can focus on getting your scientific code correct rather than having to remember how to plot a graph or work out how to know if a checkbox is selected. It tends to be the little things that soak up programming time and because I've taken care of those, you have more time for your own code.

You may wonder why App-Writer makes you copy/paste HTML and Javascript code rather than just creating the files for you. This is the downside of the "safe" aspects of Javascript. It will not allow you to do anything directly to your own device, so saving files is forbidden. But given that you'll need a decent coding text editor anyway, this isn't such a hardship or limitation.