diff --git a/chatdialog.cpp b/chatdialog.cpp
index 55bbaf1..81237e2 100644
--- a/chatdialog.cpp
+++ b/chatdialog.cpp
@@ -11,8 +11,8 @@
 
 #define BROADCAST_PREFIX_FOR_SYNC_DEMO "/ndn/broadcast/sync-demo"
 
-static const int FRESHNESS = 60;
-static const int HELLO_INTERVAL = 59;
+static const int FRESHNESS = 120;  // seconds
+static const int HELLO_INTERVAL = 90;  // seconds
 
 void
 ChatDialog::testDraw()
@@ -45,6 +45,9 @@
   qRegisterMetaType<size_t>("size_t");
   setupUi(this);
   m_session = time(NULL);
+  boost::random::random_device rng;
+  boost::random::uniform_int_distribution<> uniform(1, 29000);
+  m_randomizedInterval = HELLO_INTERVAL * 1000 + uniform(rng);
 
   readSettings();
 
@@ -467,16 +470,16 @@
 {
   time_t now = time(NULL);
   int elapsed = now - m_lastMsgTime;
-  if (elapsed >= HELLO_INTERVAL)
+  if (elapsed >= m_randomizedInterval / 1000)
   {
     SyncDemo::ChatMessage msg;
     formHelloMessage(msg);
     sendMsg(msg);
-    QTimer::singleShot(HELLO_INTERVAL * 1000, this, SLOT(sendHello()));
+    QTimer::singleShot(m_randomizedInterval, this, SLOT(sendHello()));
   }
   else
   {
-    QTimer::singleShot((HELLO_INTERVAL - elapsed) * 1000, this, SLOT(sendHello()));
+    QTimer::singleShot((m_randomizedInterval - elapsed * 1000), this, SLOT(sendHello()));
   }
 }
 
diff --git a/chatdialog.h b/chatdialog.h
index 9a64ad0..8846a4b 100644
--- a/chatdialog.h
+++ b/chatdialog.h
@@ -80,6 +80,7 @@
   boost::mutex m_msgMutex;
   boost::mutex m_sceneMutex;
   time_t m_lastMsgTime;
+  int m_randomizedInterval;
 
   // icon related
   QAction *minimizeAction;
