<section class="slide" id="antismash-structure-generation">
<h2>Creating Structures</h2>
<img src="genecluster10.png">
+ </section>a
+
+ <section class="slide" id="antismash-browser-new-os">
+ <h1>The Browser is the New OS</h1>
+ </section>
+
+ <section class="slide" id="antismash-website-generation">
+ <h2>Result Page</h2>
+ <img src="html_generation.png" height="650">
</section>
<section class="slide" id="antismash-frontend">
this particular module. The finished product also has an additional chemical
bond here, but no one figured out how to predict those yet.
-svg/web site generation
-
-web frontend...
+antiSMASH is aimed at biologists. For this target audience, you need an
+appealing graphical interface. The easiest way to make a cross-platform
+graphical interface these days is building a dynamic html page. Or so we
+thouantiSMASH is aimed at biologists. For this target audience, you need an
+appealing graphical interface. The easiest way to make a cross-platform
+graphical interface these days is building a dynamic html page. Or so we
+thought. Anybody who actually is a web developer will have had a good laugh by
+now. Once you're doing web applications, you're basically changing different
+operating systems that you need to support to different browsers that you need
+to support. I'm not sure if the pain of that is actually less.
+
+In order to also support our standalone application without webserver support,
+we're currently building a static XHTML page that contains all of the svg
+images. and the text information. Because people might also want to
+programmatically process the output of the software, we're also providing our
+annotations as a comma separated values list.
+
+While I'm talking web stuff, let me also talk about our web frontend a bit.
+As I mentioned before, it's written in python, using the low-fuss Flask
+toolkit, which is based on the werkzeug WSGI library. The thing I like about
+Flask is that it does not force a lot of structure or other libraries on you.
+It has a lot of plugins that help you get stuff done, but you get to mix and
+match the parts you need. In our case, we're using the SQLAlchemy and Mail
+extensions, and I've written a custom "Downloader" extension that can do
+downloads of files on behalf of the user. As you will have guessed from us
+using an SQLAlchemy plugin, we've got an SQL database running behind this.
+The SQL database currently takes care of keeping track of the submitted jobs as
+a queue system. The actual results are still kept on the file system.
+
+We're using JQuery to run the JavaScript parts, mostly because we're also using
+the JQuery SVG plugin to add pop-ups and other contextual information to the
+SVGs.