NOTE: Of late, I have been getting requests for very trivial problems that many of you are facing in your day-to-day work. This blog is not to solve your "project" problems - surely not a "Support" site.
I just love to share my knowledge in my spare time and would appreciate any questions or feedback on the articles and code I have shared. I also do appreciate thought-provoking questions that would lead me to write more articles and share.
But please do not put your day-to-day trivial problems here. Even if you do, you most probably would not get a response here.

Search This Blog


Sunday, 18 August 2013

Samsung Chord SDK - An Introduction

The Samsung Smart App challenge has motivated me to explore a bit more about the Samsung Chord SDK.

If you want to know more about the SamsungSmart App Challenge, please visit here  or to know more about the Android SDK – Here . There is a growing community for the android developer as well. 

Here is that I understand are the highlights of this SDK:
1.     It is a framework developed by Samsung for networking between devices – making it easy for people without network programming skills.
2.     It is not physical network connection that is created. It is application layer messaging protocol that uses the underlying TCP/IP network. i.e it is different from wi-fi or Bluetooth which work on a physical network protocol.
3.     Samsung also provides an add-in emulator to the standard eclipse development environment to test the networking of your apps.
4.     The Chord SDK allows creating a network of devices allowing for an n:n communication. It supports
a.     Synchronized content sharing
b.     Broadcast of messages to near by devices
c.      Data transfer between devices
d.     Multi-player games
5.     The Security features need improvement as any mobile with the same app on it can join the group or leave the group
6.      Chord supports only Android 4.0 and above

A bit about the architecture of the Chord SDK:

(This diagram is from Samsung SDK documentation.)

The application layer is where our imagination can be used to build innovative apps.

There are a few other basic aspects we need to understand in order to be able to use the Chord SDK.
1.     Channel Manager – This is the part of the software that manages all the mobiles in a network. The various devices are called nodes
2.     Messaging protocol – This is the part of the SDk that helps in exchanging of messages between the nodes
3.     File Transfer Protocol – This is the protocol used for file transfers between the nodes
4.     Discovery protocol -  This is the component that helps in discovering the various devices within range to for the logical group of nodes
5.     ZeroMQ – This is the underlying layer that helps with all the messaging and file transfers

A little bit more about Channels before we get into coding J

Chord has the concept of 2 types of channels for communication:
1.     Public Channel
2.     Private Channel

The Public channel is one one, which any device running the Chord SDk can join.
A private channel is one, which is created by nodes having the same chord SDK based application. 

So, if my mobile has Chord SDK app, I am part of a public channel. If I have an app A and an app B, I can be part of Channel A and Channel B respectively.

In the next article, I will talk about setting up the environment for developing using Chord SDK and later we will develop a simple app using Chord SDK.

1 comment:

  1. Dear Sai,

    I wasn't able to find your email / contact , thats why I am writing here.

    I am the developer of a application for Android called Irdroid - infrared remote control for Android. Open source hardware & software

    I want to know weather you provide a advertisement in your blog. Please contact me via email