Comparing the network traffic consumption on Opera mini 4 (OBML version 15) of alternative implementations for mock board game interfaces.

Methodology

  1. Open Opera mini
  2. Disable image loading, select socket connection, save
  3. Open this overview page.
  4. Save the overview as an offline bookmark.
  5. Settings - data counter - clear
  6. Return to saved overview
  7. Open first test page
  8. Write down: Settings - data counter
  9. If the test contains a form, fill the input and submit it. Otherwise click on the board. Wait until the result loads.
  10. Close test page
  11. Subtract from the previous value: Settings - data counter
  12. Settings - data counter - clear
  13. If you were served an advertisement or if it took more than 2s to load (implying internal retries), redo the test
  14. Repeat for each test page
  15. 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

  1. jxtv 849 2.0+1.4 1.0+1.1, accommodate variable width textarea, string
  2. jdi 906 1.9+1.4 1.0+1.1, variable width div, string
  3. jxiv 1027 2.0+1.4 0.9+1.3, accommodate variable width writable textarea, string
  4. tid 3590 2.0+2.4 0.9+2.1
  5. tic 5240 1.9+2.4 1.0+2.6
  6. tib 7678 2.0+3.0 0.9+2.6
  7. tia 10485 2.1+3.1 2.2+3.5
  8. pi 3191 2.3+2.3 3.9+2.4
  9. jpi 3147 2.0+2.2 0.9+2.3, submit sent as images
  10. xt 2624 2.0+2.2 1.0+1.9, font not monospace aligned in textarea, string
  11. jxt 2625 1.9+2.1 1.1+2.0, font not monospace aligned in textarea, string
  12. cr 9380 2.0+3.2 0.8+2.7, radio circle and submit sent down as three images
  13. jcr 9328 2.0+3.2 0.9+2.7, radio circle and submit sent down as three images
  14. jti 4820 2.0+2.8 1.6+2.5, submit sent as images

Clickable

  1. jdaj 3031 2.0+1.7 0.9+1.4, lines in string, control via sequence
  2. jdao 3254 1.9+2.1 0.9+1.8, lines in string, control via sequence
  3. jdas 3253 1.9+2.1 0.9+1.9, lines in string, control via sequence
  4. jcoj 4747 2.0+2.0 0.9+1.6, control via pointer
  5. jcaf 7409 2.0+1.9 0.8+1.6, control via pointer
  6. jcsf 5366 2.0+2.0 0.9+1.7, control via pointer
  7. jcsj 5366 2.0+2.0 0.8+1.7
  8. ca 5738 1.9+2.0 0.9+1.8
  9. jcas 5840 1.9+2.2 0.9+2.1
  10. jcos 5082 2.0+2.3 0.9+2.1, control via sequence
  11. csp 5377 2.0+2.0, interaction not tested without backend

Utility

  1. fontsize 21462
  2. sublate - measure gateway state erasure timeout

Unusable

The following failed to render or interact properly on Opera mini.
  1. xia 3652 2.0+2.4 0.9+2.1, bad render as a cropped pre
  2. xib 3690 2.4+2.4 0.9+2.1, bad render as a cropped pre
  3. jxi 3645 2.0+2.4 0.9+2.0, bad render as a cropped pre
  4. ibt 1007 2.0+1.4, cursor does not appear, can't click
  5. ib
  6. ib (low): 2.0+3.3 0.9+2.9, downscaled to fit to screen, cursor missing, only the center coordinates sent when clicked
  7. ib (medium): 2.0+3.2 1.0+3.0, downscaled to fit to screen, cursor missing, only the center coordinates sent when clicked
  8. 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
  9. 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
  10. if exception, possible due to framing HTTP headers on test server
  11. jib 3707 2.1+3.7, cursor does not appear
  12. jpo 1075 1.9+1.4, cursor does not appear, but pre stored as string?!
  13. jpdo 5368, cursor does not appear
  14. jtoj 2967 2.0+1.6, cursor appears, not clickable