Coffee Space


Listen:

Next Generation Latex

This may have already been done, so I apologize in advance. If not, I think my point stands. I must also point out that this isn’t as much of an upgrade to Latex as it is a move towards something completely different.

Whilst using Latex the other day to finish an academic report I was really bothered by the fact that not just Latex, but all systems that we use to present ideas digitally seem to be really far behind in terms of presentation. We are still presenting static PDFs in a similar style to that we did a long time ago when academic papers were probably hand written. We now have videos, interactive material, sound and these are sometimes much better at conveying the data than in a 2D format.

Of course, this all doesn’t print very well, so I would suggest that here were two parts of this protocol: one where we see this computer biased media (CBM) and another where we see a print biased media (PBM). As part of the system, CBM is in the file and naturally served as the media of choice when available whereas PBM is used when it comes to printing this media.

Using HTML

My first port of call is to look at things that already exist and determine whether they would be appropriate to be used as an academic media. The idea is to make this media more accessible - not less! It makes sense to look at one of the largest interactive media platforms that exists cross-devices and is almost assumed to be on every device. Not only this, it has amazing support for backwards compatibility (the reason you can see this site), making it a rather trust-worthy platform. You guessed it - HTML.

Example

0001 <!DOCTYPE html>
0002 <html>
0003   <head>
0004   </head>
0005   <body>
0006     <!-- Input here -->
0007     <img src="random/location/picture.png" alt="Simple text">
0008     <!-- Input here -->
0009   <body>
0010 </html>

Analysis

Pros:

  • Easy to edit and understand source
  • Widely supported on a lot of devices
  • Supports most media types we would like to see

Cons:

  • Not particularly portable with different types of media
  • Replacement printable media is too simple
  • Could include non-standard code causing issues in compatibility
  • Some languages could leave users open to attack

Conclusion

From what I can see, the only future for HTML as a media for academic material is perhaps a means of viewing it, where a system processes the content in advance and prepares it from a compressed format. It would also need to be monitored in such a way that malicious code cannot be run and it has no access to the internet to allow the possibility of tampering, security flaws, etc. The processing would also include the insertion of CBM or PBM depending on what is required/requested.

Proposal

I propose that we use HTML comments with the reference CMB media inside so that normal operation isn’t effected. That way a user of an older system would be unaware that the process is taking place. There would have to be some way of processing these comments and making sure that the media is de-compressed/prepared if required. It would also be nice if the users who do not require this interactive media didn’t pay for the cost of downloading it.

For this we could extend the server protocols so that we have the something like the following server-client exchange:

0011 HTTP/1.1 200 OK
0012 Date: Fri, 31 Dec 1999 23:59:59 GMT
0013 Content-Type: text/plain
0014 Content-Length: 999
0015 
0016 <!-- Modes: Custom-1, Custom-3; Support: 0.0.1, 0.0.4; Level 2: url-to-retrieve.extra; -->
0017 <!DOCTYPE html>
0018 <html>
0019   <head>
0020   </head>
0021   <body>
0022     <!-- Input here -->
0023     <!-- [Start] Modes: Custom-1; Support: 0.0.1; Name: Interactive-Video; -->
0024     <img src="random/location/picture.png" alt="Simple text">
0025     <!-- [End] -->
0026     <!-- Input here -->
0027   <body>
0028 </html>

At which point the client machine can see the extra supported mode in the comments and choose whether to upgrade. This can be done by looking at the Modes and checking whether in this case that Custom-1 and Custom-3 are supported. This allows for popular third party creators to define their own types and as long as their clients support them they can be loaded in. Secondly, the Support (version) can be looked at which in this case required 0.0.1 or above for Custom-1.

Lastly, if these requirements are met, the client downloads the additional data which then replaces the PBM with CBM where possible. These are replaced in the [Start] and [End] blocks. In this example, the processor program must support Custom-1 as required above in order to serve the media defined by Name which in this case is a section called Interactive-Video in the additionally downloaded file.

To extend this protocol further, content should be available offline simply by switching to an offline mode or the processor looking for the offline content in the same directory if it isn’t available online.

Wrap-up

This is far from a solid protocol, but it does give a very basic implementation of a system where normal users are unaware from additional formatting whilst savy users can use interactive content, while the normal users are not disadvantaged by additional download (to a given extent) and still get to see the material they requested. It would also have support in all browsers naturally, where a simple light-weight add-on could be written to support these extra features.