Comparing the network traffic consumption on Opera mini 4 (OBML version 15) of alternative implementations for mock board game interfaces.
Methodology
- Open Opera mini
- Disable image loading, select socket connection, save
- Open this overview page.
- Save the overview as an offline bookmark.
- Settings - data counter - clear
- Return to saved overview
- Open first test page
- Write down: Settings - data counter
- If the test contains a form, fill the input and submit it. Otherwise click on the board. Wait until the result loads.
- Close test page
- Subtract from the previous value: Settings - data counter
- Settings - data counter - clear
- If you were served an advertisement or if it took more than 2s to load (implying internal retries), redo the test
- Repeat for each test page
- Archive rendered obml from app storage
Test results
Bytes in uncompressed obml file, network kilobytes sent and received on initial loading and then on subsequent clicks are noted respectively. Tests prefixed by a "j" indicate that the interface would not be usable without JavaScript, while other tests should also work with server side rendering.
Variance of about +/-100 bytes is normal. Top level navigation is still more costly than interacting with a single page using JavaScript - the latter sends 1kB and receives about 0.5kB less on each click.
Input on a form
- jxtv 849 2.0+1.4 1.0+1.1, accommodate variable width textarea, string
- jdi 906 1.9+1.4 1.0+1.1, variable width div, string
- jxiv 1027 2.0+1.4 0.9+1.3, accommodate variable width writable textarea, string
- tid 3590 2.0+2.4 0.9+2.1
- tic 5240 1.9+2.4 1.0+2.6
- tib 7678 2.0+3.0 0.9+2.6
- tia 10485 2.1+3.1 2.2+3.5
- pi 3191 2.3+2.3 3.9+2.4
- jpi 3147 2.0+2.2 0.9+2.3, submit sent as images
- xt 2624 2.0+2.2 1.0+1.9, font not monospace aligned in textarea, string
- jxt 2625 1.9+2.1 1.1+2.0, font not monospace aligned in textarea, string
- cr 9380 2.0+3.2 0.8+2.7, radio circle and submit sent down as three images
- jcr 9328 2.0+3.2 0.9+2.7, radio circle and submit sent down as three images
- jti 4820 2.0+2.8 1.6+2.5, submit sent as images
Clickable
- jdaj 3031 2.0+1.7 0.9+1.4, lines in string, control via sequence
- jdao 3254 1.9+2.1 0.9+1.8, lines in string, control via sequence
- jdas 3253 1.9+2.1 0.9+1.9, lines in string, control via sequence
- jcoj 4747 2.0+2.0 0.9+1.6, control via pointer
- jcaf 7409 2.0+1.9 0.8+1.6, control via pointer
- jcsf 5366 2.0+2.0 0.9+1.7, control via pointer
- jcsj 5366 2.0+2.0 0.8+1.7
- ca 5738 1.9+2.0 0.9+1.8
- jcas 5840 1.9+2.2 0.9+2.1
- jcos 5082 2.0+2.3 0.9+2.1, control via sequence
- csp 5377 2.0+2.0, interaction not tested without backend
Utility
- fontsize 21462
- sublate - measure gateway state erasure timeout
Unusable
The following failed to render or interact properly on Opera mini.
- xia 3652 2.0+2.4 0.9+2.1, bad render as a cropped pre
- xib 3690 2.4+2.4 0.9+2.1, bad render as a cropped pre
- jxi 3645 2.0+2.4 0.9+2.0, bad render as a cropped pre
- ibt 1007 2.0+1.4, cursor does not appear, can't click
- ib
- ib (low): 2.0+3.3 0.9+2.9, downscaled to fit to screen, cursor missing, only the center coordinates sent when clicked
- ib (medium): 2.0+3.2 1.0+3.0, downscaled to fit to screen, cursor missing, only the center coordinates sent when clicked
- ib (high): 1.9+2.4 1.0+2.4, scrollable, full resolution, coded as four image slices of viewport size, cursor appears, only the center coordinates sent when clicked
- ib109 (high) 1269 2.0+2.0 0.8+1.9, a single image is sent with inferior compression, only the center coordinates sent when clicked
- if exception, possible due to framing HTTP headers on test server
- jib 3707 2.1+3.7, cursor does not appear
- jpo 1075 1.9+1.4, cursor does not appear, but pre stored as string?!
- jpdo 5368, cursor does not appear
- jtoj 2967 2.0+1.6, cursor appears, not clickable