Parley

Thank-You

Thank you very much for visiting this page it means lot to me.

The whole schema of idea and execution broke down into few paragraph to quick overview.

What is Project-Parley?

Parley is Advance version of jaiku.But with little technology enhancement and with new approach to connect people with various purpose.

Each of this days platform is great and unique for various things my idea is not vast(Scope+Resource) but focus on few things.

Jump to credential to use Parley for userJump

Focus of parley

This project focus on extreme realtime case

The main aim of this project is to connect high profile personalities such as(Celebrities,Leaders,Politician etc.) will spent their little time for fans or followers to connect in very realtime and talk via audio-video feature based on webRTC

Possible use of as follow(My Perception)

  • Big celebrity will speak with direct fan without exposing such contact
  • Politician can direct talk with people(Very Very vast and Technology setup needed in future)
  • General people can connect anonymous if they interest they can share time and name on Twitter

Parley will prove an additional feather to a you in future.

Working of Parley

Parley use user-password credential to use feature such as "Go live" to connect people.Twitter verification also used(Twitter-API) for twitter-verfication status to identify celebrity status.

Internal working of parley

Parley currently deployed on single server to cope up with socket.io nature but can solve by Future balancer idea

Parley top priority work relay on Redis + Array(Node.js)

New feature under-development

Currently working on one extra feature that measure people frequency and activity for individual user so in future get priority to talk with celebrity based on his/her consistency

Factors need to consider

  • People waiting time
  • People Encounter frequency for particular celebrity(7 Days limit)

Note from my side

This is just initial attempt from my side and have very tiny hardware configuration,but still i tried my best to create a small demonstration

User Browser Username Password
User-1(Go-Live)Chrome normaluser1user1
User-2(Fan)Chrome incognitouser2user2

Proof of working

User waiting screen



Live user waiting screen



Audio-Video-call screen



Reply to specific fan



Broadcast to all users

Demo

  • Visit Parley
  • Try login with Above credential with two different chrome tab(Normal+incognito)
  • Note:This Technology Support in Chrome browser only for better experience


What is my dilemma?

  • Money : I can afford only tiny cloud + Free SSL
  • Resource : Enough equipment to build product from scratch to usable product via (Jswalker).
  • Man-Power : Just Me

Technology @ parley

  • Jswalker(Private Node.js MVC Framework)
  • Mysql : (Database to maintain ACID properties)
  • Redis : Maintain live user entry
  • Socket.io : Realtime message delivery
  • WebRTC : Realtime communication

Redis Command used

  • lrem : O(N)
  • lpush : O(1)
  • mget : O(N)
  • lrange : O(1)
  • setex : O(1)
  • get : O(1)
  • lpop : O(1)
  • del : O(N)

Each function will take average 0.3ms to 6ms to perform redis command:Mostly redis commands are O(1) so there will be no extra time-complexity needed when data-size hype,Only bottleneck is the single server nature and RAM size(#Load_balancer).

Product limitation

This Product does not have any limitation:its my limitation that i can't do more than this

My braking point : Less resource + No money + Nobody will show their interest on individual

Breaking point : Although Parley made under memory proof environment such redis can handle many million entries with rapid access and also no worthless iteration to get or remove from live pool.The breaking point is server memory as user count increase such as million + million fan connection definitely parley need extra server but socket.io limitation comes into picture : "Actually i dont know how to work with multiple server with socket.io but sure reliance does".i am best at single server.

Load balancer

I am a single engineer(jswalker) i have limited hardware resource to make system more stable on million of concurrent users,We have to implement following load balancer technique for parley.

Hardware

Hardware is everything in this project.

Test on non-dedicated windows pc where half of memory(1.5 GB/3.86 GB) used by various heavy processes

  • 122 MB for Node.js(heapUsed stable) 100000 Live user each live user contain max fan_count(1000)
  • Redis 21MB for 100000 Keys

If there is good and stable server with high memory supported system can handle many millions of entries without causing any problem

Now imagine performance on those server where each server contain only redis + Node.js with memory rich server.



Future Model

Slot:People(Mostly celebrities) book slots(100-1000) for weekend to connect with people

*Advantages of slot policy

  • Limited resource consumption high volume of interaction
  • Bring People curiosity at the end of week of each month:(Sat-Sunday Parlay fever)

*Disadvantages of slot policy

  • Many potential people will misses chance of getting slot,if all slots are allocated

Diplomacy Words:This is will be groundbreaking success of politics adopt such kind of process.Each week/Month politician hear the request or grievance of particular area-city direct from people.

*Advantages of diplomacy policy:

  • People are more interest do direct response from their local leader(Politician)
  • People can also Record call as proof:(Feature not present yet in parley.New trend may be help some social issues right now i know individual call recording.for whole communication recording need ffmpeg to merge call)

*Disadvantages of diplomacy-policy

  • It seems more specialize and limit to the just grievance related issue
  • Politician may ignore because its exclusive nature and also nature of politics.

Abusive user can be blocked by live user:Feature already present in Parley



Jswalker Control module(Full feature)

Jswalker control module responsible to push development(Local) code to Live(Remote) code

*Advantages of this control module:

  • Easy to track changes in multiple project
  • Memory snap
  • Database change track
  • Compress And Efficiently bundle resource file into one and update path in index file on one click

*Drawback of this control module:

It is single-entry-exit approach:it means every transaction must pass via jswalker control under one authority.it makes command center for alteration.



Feedback





Little effort + Little contribution = People will 10X