15 February 2016 An app for writing apps.

I think it should be an academic rule that any scientific publication which involves new theories and calculations that can be implemented within the constraints of modern apps should be required to provide a working app along with the publication.

This would be transformative for the authors and the rest of us for the following reasons:

  1. The authors would have to make sure that their ideas can actually be implemented. You would be astonished at the number of academic papers that offer new ways to calculate stuff but which provide insufficient information, formulae or clarity to allow anyone to use their great ideas.
  2. The authors would have some hope that someone might actually use the fruits of their hard work. I'm not saying that all academic work should be usable, nor am I saying that all academic work should be placed in an app. But I am saying that if academics publish papers whose justification is that the work is useful and that the formulae are tractable, then they should (a) check that the work, as described in the paper, is usable and (b) make it useable.
  3. Those of us who come across the papers and want to use the ideas can just go to the app and get a general idea of what is going on. Applying the ideas to our own needs may need lots more work. That's our responsibility. But we should not be required to do the authors' work in addition to our own.

Pity the academics?

I genuinely feel sorry for us potential users who have such a hard time extracting useful information from academic papers. Arguably I should feel sorry for the academics who have so many time pressures that they can't possibly be expected to write an app in addition to all the hard work of writing grant proposals, doing the research and then writing the papers. But I don't feel sorry. Sure, if they have to write an app after they've done all their paper writing, that is an unwelcome extra. But if the app is written as part of writing the paper it can clarify minds wonderfully and can create lots of the graphs and tables that have to be included anyway. I know this personally as my latest submitted paper was written exactly in this manner.

Ah, but writing apps is too hard

The excuse I would accept up to now is that writing apps is massively hard. But not for the reason most people imagine. Providing the academic has some programming skill in one of the standard languages, writing the scientific code in Javascript (which is the only realistic language for apps) is no big deal. The real difficulty is creating an app at all. I don't mean special fancy apps for Android or iOS. I mean HTML5/CSS3/Javascript generic apps that run on all devices. This is hard because writing something that works, say, on a PC running Chrome is not at all the same as writing something that works on all known smartphones, tablets, Macs, PCs and Linux.

App-Writer removes the excuse

That's why I've written App-Writer. It removes the only valid excuse for not appifying your research. Any app is a bunch of inputs (sliders, text boxes, radio buttons ...) and a bunch of outputs (text boxes, data dumps, graphs, graphics...) which have to look good, function reliably, scale to screen size and so forth. App-Writer lets you enter some simple codes into a bunch of boxes so you say "I want a text box here, I want a slider there which goes from 1 to 1000, I want two graphs side-by-side, and I need a checkbox". And that's it. The HTML and Javascript for the inputs and outputs are instantly ready. You copy/paste into just about any code editor (though something better than Notepad is an advantage), save the two files into a folder (which has some infrastructure I've also supplied) and the app is up and running. Yes, it doesn't do any calculations, but the graphs, for example, are ready for their X and Y axes to be named and data from the graphs appears automatically under the mouse. All it needs is the scientific code and it's ready to put on line.

The look and feel of the app is the same as the rest of my site. This means that they look OK. But they may not fit your aesthetic or university branding etc. No problem. Just change the CSS file and the new look is yours. Even if you don't know how to do it, just about any web design service to which you have access (friends and family, university system, commercial web designers) will be able to change the CSS the way you like it.

A key feature of App-Writer is that it runs 100% on your machine. None of the coding leaves your machine till the day you put it on line within your university network, corporate network or in the public domain.

Code snippets

Maybe I've been a bit optimistic about the scientific coding. Maybe the busy academic needs a bit of help to know how to read in some data or plot a graph, or know how to test whether a checkbox is checked. So I've provided some code snippets that can be copied/pasted and are ready to be modified with the specific variable names and so forth.

It's not perfect

Yes, I know that App-Writer isn't perfect. It's just a start. If it's lacking something you need, let me know so I can try to add it. If your coding skills are much better than mine and you have a better way to implement it, well, I'm happy to throw away my code and use yours. This is going to be a long journey. There is a vast store of unused and unloved academic papers out there which would benefit from appification. Journals are not going to demand appified papers any time soon. But we have to start somewhere. And, as of 15 February 2016, as far as I'm concerned, the journey has started.