As this application is distributed as a packaged application, all the files will be zipped before transferring over the network. So the difference in size should not be significant.
When unzipped on the device, it makes a difference but I think it's not worth it for the moment.
It's still possible to switch to minified versions in the future, with a more intelligent packaging process
- hide the keyboard before displaying a warning on 'small' archive
- Keep the trailing slash in archive directories
- If the last selected archive does not exist any more in Device Storage, do not attempt to set it in the drop down list
- Putting the archive files at the root of the sdcard seems to cause issues (high CPU usage on the Simulator) : if it is the case, give a warning to the user and do not use this archive
Instead of taking the first result of the search on normalized names, we browse the results and take the one that exactly matches the title name we look for.
Fixes#32
A few improvements also come in this commit, to externalize the maximum number of results displayed when searching, and to fix some bugs on the small dump
It outlines the search field, which makes it more visible. It also makes the keyboard appear on mobile device, which invites the user to type something
It makes it a bit more clear for the user on what to do
Fixes#40
It keeps the user interface responsive, and gives a better feedback to the user :
Withour a Web Worker, the spinner was blocked during decompression, which was misleading for : did my application hang?
Now the spinner keeps turning.
Anyway, the way Web Workers are designed forces us to pass the in/out parameters by copy. So the input byte array and the output string are cloned, which gives an overhead measured around 14% on my computer
Fixes#5
For the unit tests to keep working, I had to move tests.html at the same level as index.html (because the webworker is created in archive.js, by giving the path to its js file. So this path cannot be different between these html files)
I had to switch to JQuery instead of Zepto, because they seem to be incompatible for now (see https://github.com/madrobby/zepto/issues/791 )
I also simplified the require.js, so that it will be easier to swith between jQuery and Zepto in the future, and to change the version of jQuery
I use the "responsive navbar" feature of bootstrap to hide the buttons "Configure" and "About" when on a small screen