Vox Pop

Development — Software, Personal, or Otherwise

This website is being deprecated. All archives and new writing is being moved over to MatthewReinbold.com.

Tradegrade Hackathon Day 4

Enthusiasm Wanes

Progression of Trade Grade Logo

In the waning days of my marathon sprint my tasks are tedious, but necessary, things. The registration of of the *.it domain, something that was denied by my domain register of choice, Hover.com, was a snap with the loathsome GoDaddy. This is because Hover stringently adhere to the rule that ".it domains are only available for purchase by EU citizens or residents or businesses with a registrant who is an Italian citizen or resident". In this case GoDaddy acts as a "proxy" on your behalf; they apparently have said Italian registrant. The domain names of this sort still belong to them but they then allow you to administer it.

With that bit of international wrangling it was time for house keeping: cutting the auto-generated code into re-usable templates. Codiqa generates a jQuery mobile multipage document. This means each 'view', or page, exists within a single document and is delineated by <divs> with a special data-role of "page". This is done so that when a browser visits the website on a phone the entire site is downloaded one time. Page loads are actually transitions between different DOM elements already in the loaded document. Therefore, regardless of the quality or speed of the user's mobile connection, the site is lightning quick.

This multipage-yet-single-document model is fine for static sites. I could use jQuery mobile's dynamic page injection for my dynamic app. However, that seems like an exotic solution when there's two decades of HTML page model behavior that accomplishes the same thing.

I'm not completely abandoning jQuery mobile when building things the "old" way (one page = one server built document [which is built from a layout template, a single header, a single footer, and some dynamically generated content]). If a page from the same domain is clicked on from an <a href> link jQuery mobile will fetch the new page, parse it, and (if its using the correct jQuery mobile markup) insert it into the DOM. It then "hides" the previous page (now just a sibling div in the DOM to the "active" page (again, just the extracted div with "data-role='page'"). This is extremely slick; any user clicking "back" has the page instantaneously appear; there's no network call required.

I finished trolling dynasty fantasy football forums for sample trades with which to seed the database. While I'd prefer to "dogfood" the process and use the app's 'submit-trade' feature to load these I also need a lot of data quickly to expose UI/UX problems with the interface. This resulted in a straightforward CSV uploader of a text file I created.