Skip to content

ArcoMul/Twisting

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Twisting (alpha)

Intro

What is Twisting?
Twisting is a Twister client

What is Twister?
Twister is a peer to peer microblogging platform

What is a peer to peer microblogging platform?
It's like Twitter without a website, Twists (Tweets) are getting downloaded directly from your friends.

Status

Be aware that Twisting is in Alpha. All the claims being made on this page are still in development. Although the maintainer is confident enough to put it up here, using Twisting is on your own risk.

Motivation

There are already several good Twister clients. Twisting hopes to improve on those clients with the follow goals:

  • Offer a smooth installation and startup experience. The goal is that every Twitter (or other microblogging user) can use the software. This means that during installation and starting Twisting the user should not be confused with technical messages, having to compile the code, or do other technical things.
  • Organized codebase, based on recent web technologies. The main Twister client is written in pure HTML/CSS/Javascript, which is fine, but it is hard to maintain and even harder for newcomers to get into the codebase. By using npm/grunt modules, and Backbone as framework the code should be more easy to understand.
  • Have fun developing something new ;-D Yes, I admit that this is the main reason I started working on Twisting

Missing features

  • Private messages
  • 'Favouriting/loving' posts
  • Connecting over VPN / Tor
  • Changing settings of Twisterd

Screenshots

Feed Feed

Profile Profile

Conversation Conversation

Status (Network) status

Technology

NodeWebkit / nw.js The application is a web application integrated with nw.js. In the codebase the server-client model of nw.js is highly used, so the application won't run in a browser without a lot of modifications, it makes the code better to read though. Nw.js is chosen because of its fast development speed and web development is the most known technology, and thus is more open for contributors.

Backbone The architecture is based on Backbone Views / Models / Collections. Backbone is one of the most known Javascript frameworks.

Less CSS gets generated by the use of Less. Switching to SASS is in the planning, because of it being more famous at the moment.

Grunt Grunt is used to build shippable executables and do other compile related tasks.

Installation

Installation will be possible from on the first Beta release. For now it is only possible to run Twisting by installing from source.

Development setup

Warning: this installation is still work in progress! There is no guarantee this works for everybody.

  • Make sure you have NodeJS/IO.js, NPM and Git installed
  • Download the repository using git
  • Run $ npm install in the Twisting folder
  • Grunt will be installed and start running some tasks
  • Download this zip file with a Twister Windows and Linux build, or use your own
  • Unpack the zip file and put the contents in the /twister-data folder; so that the folder structure looks like this:
    • <repo root>
      • twister-data
        • linux64
          • twister-data
            • twisterd
            • data/
              • twister.conf
            • avatars/
        • win64
          • twister-data
            • twisterd.exe
            • <other DLL files>
            • data/
              • twister.conf
            • avatars/
  • See next steps at Development

Development

The following targets are possible at the moment: win64, linux64

  • $ npm run-script build builds all targets (win64, linux64)
  • $ npm --target=<target> run-script build builds for a specific target, for example: $ npm --target=linux64 run-script build