18 Sep 2013, 09:30

MySQL/Postgres Roundup 18/9

On MySQL side, or should I say MariaDB one :

  • Google swaps out MySQL, moves to MariaDB : beyond the significative reference for MariaDB and the fact that Google will sustain his effort to patch MariaDB as they did for MySQL, the question that raised for me was : how long will Percona go with MySQL ? Percona's server was seen as an advanced version of MySQL with the inclusion of some patches (like Google's one for performance, etc) and for the tools they provide with/aside (like Percona toolkit or Xtrabackup). It does not seem they plan to make the switch so far...
  • Scaling your database via InnoDB table compression : where you can eliminate slow queries via innodb table compression. Constraints and limits are explained in the post.

On Postgres side :

More generally and even if it's a postgres example which is used, you should use UUIDs for your keys instead of traditionnal keys. Beyond unicity, if you are to use distributed systems, it would be one (or the only ?) way to avoid conflicts.

28 Nov 2012, 10:32

Offline first, a better (html5) user experience

Interesting blog post about offline management in web apps and why it becomes now a required feature and how to make your app "offline" compliant: Offline first, a better (html5) user experience

Summary:

  1. Decouple your app from the server
    1. Make sure client side app is not reliant on server side code to produce the minimum viable experience. It should be able to at least render something to say that no data is available.
    2. Communicate using JSON
  2. Create an API wrapper object in client side code
    1. Abstract JSON API into an object
    2. Don’t litter your app code with direct AJAX calls and callbacks
  3. Decouple data updates from data storage
    1. Use a data controller object to store and schedule updates
    2. Make all requests for data via this proxy object

What I find relevant from this article :

  • HTML5, especially with the localStorage and Application Cache and Local Storage can improve web apps and the way we develop them
  • Web developers needs to change their paradigm from "always connected" to integrate offline mode (where as app dev are more used to offline mode and think in a 2nd mode to online mode ;-) )
  • Paradigm shift where server provides only a API and that logic will no longer be on server side but on client side. It also explains the recent rise of Javascript and especially MVC Framework in Javascript like AngularJS or BackboneJS.

Any experience or feedback to share on this?