Open Source Simple Twitter Client written in Javascrip (Titanium)

Guys! Here is simple twitter client (with very limited functionality) which I created as a final assignment for “Mobile Module” at USQ. This whole application is written in Javascript on Titanium platform which allows us to create “Android app”, “iPhone app” and “BlackBerry app” by using only one language “Javascript”. You can get the full source code from this Git repository.

USQTweet – Simple Twitter App

Description

USQTweet is a simple tweet client application that is created for Mobile Module in USQ. You can use this application to view the latest tweet posted by you and people that you are following on your Android phone.

Features

  • Login with existing twitter account
  • View the latest tweets on mobile phone
As I mentioned, there is only two features in this application. You can use this application as a sample for oauth authentication with twitter. I tried to add the “posting new status” feature as well but it didn’t work for some reasons. I posted about this issue in this forum. Please let me know if you have any solution for this problem.

Technical

  • oAuth 1.0
  • Network I/O
  • Dual orientation GUI
  • File API: Persistent storage using File ( “Isolated storage” style)
  • Web View for Twitter authentication process (oAuth) and help file viewer
  • Rail-style naming conventing.
  • Comment style : YUI Doc
  • Titanium (I’m using 1.2)
  • Android SDK

Requirements

  • This application needs live internet connection.
  • You need to have an existing twitter account. (Note to Examiners: I emailed my twitter account details to my teacher “Stijn Dekeyser”. If you don’t have an existing twitter account and don’t want to create new one then you can get my account from Mr-Dekeyser. Please don’t share with other.

Known issues

  • If there is some errors in connection or etc, the application won’t let the users know about the problem. You will have to check the debug log in Titanium Console manully and will need to restart the application.
  • If you close the web view popup, there is no way to re-open it so you will have to re-run the application.
  • WebView is just a small browser in application but it’s not so easy to nevigate so it’s better not to click other links.
  • Additional to #1, there is no global exception handling. 5.
  • The application will store the access token once you authorized the application. So, it will not ask you to enter username/pwd or authorize again later. But the problem is that when you revoke the access from twitter site but you will have the access token that you have saved earlier in device then you will get the error. You need to clear the application data.
  • access token should not be stored in plain format.
  • If your tweet is so long then you won’t be able to see the completed text on the screen. I tried positing the text and alignment but using height:’auto’ in one control and specific height in another control doesn’t work well in Titanium.
  • You won’t be able to post anything to twitter as well. I posted about this in forum but I haven’t received any reply on this yet.

Reference ~

5 thoughts on “Open Source Simple Twitter Client written in Javascrip (Titanium)

  1. Why Titanium? This doesn’t look like Metro at all… why not just do it in Silverlight for Windows Phone 7?

    On a side note there seem to be plenty of Twitter clients out there already, why create one that doesn’t match up in terms of functionality?

  2. The intention of this post is to share what I did for my final assignment. There are a lot of iphone, black berry and android developers out there. but there is no working blog post or sample code for Titanium + Twitter. This is the reason why I shared my code.

    My school forces us to use Titanium..

    Regarding Twitter client for WP7, I don’t think I’m going to develop it. As you mentioned, there are a lot of clients out there already..

    If I do then I will probably make it open source and full functionality (cuz there is no wp7 open source twitter client with full functionality. )

  3. Good afternoon. I’m trying to run your client on the iphone. There was a problem when running in tvitter_client.js get_home_timelines. Stops the runes on the line “var client = Titanium.Network.createHTTPClient ();”. The error text: “Result of-ehpression ‘Titanium.Network’ [undefined] is not an object. at tvitter_client.js …….. (as the code is syntactically correct.) Is there any idea why this happens?
    More information about this problem was written in: http://developer.appcelerator.com/question/131771/problem-with-the-creation-titaniumnetworkcreatehttpclient

Leave a Reply

Your email address will not be published. Required fields are marked *