(logo courtesy of @mece66)

I’m developing a twitter client for maemo. Yes I know there already is one. But I felt like writing my own, from scratch, and rather stupidly not just using nicely existing twitter libraries etc. This is an education exercise.

so in extras-testing under internet-network is now witter 0.1.1-2
in extras-devel is 0.2.0-1 which adds threads and auto-refresh of feeds.It also adds support for multiple search terms separated by commas. Search terms are stored/retrieve between sessions, so you can keep a number all refreshing at a set interval

so, what is it? it’s the modern day hello world..it’s yet another twitter client.

mostly written just to educate myself on how to go through the whole process of develop and release.

it’s not pretty. but it has some useful functions.

failings first…
It is only basic auth. it stores the credentials in a file in .witter
it does base64 encode the info, but this is not to be confused for security.
it does however use https so at least comms are encrypted

now for what it does do…

It obviously gets your timeline.
you can tweet!
if you write input you can also go to the menu and select twitpic, then go select an image. when you hit ‘twitPic!’ it will send the image and whatever text was in the tweet field.

when tweeting normally there is no real notification of errors in parsing etc. (except in the terminal) however if it fails to send, it will not blank the text you’ve entered. so if it goes blank, all is well (in theory). Also normal http errors will pop up in a dialog. not exactly friendly, but it won’t hide them.

it has a sort of ‘tabs’ ideas. it has the ‘timeline’ for your normal view.
it also has a mentions view, when you refresh it loads the last 20 mentions of you.
it has a direct messages view which loads last 20 views.
it also has ’search’ in this view if you put a search term in the text field and hit refresh it will return the top 20 search results.
and friends view will load the first 100 friends (no paging support yet)

if you load friends, it uses that list to auto-complete when you @reply someone.

under the menu it also has a trends view which will let you refresh the current 10 trending topics
and a public view, which loads just the public timeline.

It supports auto-refresh on the main timeline, mentions, direct messages and public timeline. The properties tab allows you to individually configure the rate of refresh, or set to 0 for no auto-refresh.

if you tap-and hold on a tweet, you get a context menu which will let you launch and URLS from that tweet, and some options to follow or unfollow the user.
all this should work on the n810 and the n900

though the n810 version looks slightly different the kinetic scrolling is courtesy of mokoui library, but it’s not as nice as the hildon panable area.

it also supports ‘gestures’ so swiping left or right will switch views through thedifferent ones availiable.

when you start scrolling the controlls dissapear to give all the screen space to tweets. you can get controls back by pressing any key or by swiping to another view
see the Maemo garage witter project

44 Responses to “Witter”


  1. 1 MarcusB December 4, 2009 at 4:46 am

    I like it.

    I have one problem is that my background is black, so the black text doesn’t go to well, I’m using one of the “LCARS” themes. It seems to be an issue when the app doesn’t do what the theme suggests, but even just an invert option would solve that.

    On the N810 I can’t get get it to run from the menu… from x terminal it works ok.

    Is it possible to get it to cache tweets? Maybe even remember the last selected tweet when re-loading app?

    • 2 danielwould December 4, 2009 at 7:55 am

      yeah the obeying theme thing is something i should figure out. effectively it’s hardcoded to default themes on n810 and n900. i hadn’t considered an invert option. that might be simplest.
      I have the same launch problem on the n900. I’m trying to figure out how dbus works.

      cacheing tweets is possible. though you probably wouldn’5 want it to keep a local copy of everything that continually grows. i did think about storing the latest_id to attempt to r_load from where you left off.
      probably ought to fix the more fundamental theme and launching problems first. :-)

    • 3 danielwould December 4, 2009 at 9:19 pm

      FYI, I just submitted 0.1.0-4 to the autobuilder, it contains the ability to invert the text between black and white. and it saves your choice on exit.

      also I think I fixed the application launcher issue. Turns out there are some settings in the witter.desktop file which expect to launch a certain way. not sure what that is, but without those values things seem to work just fine.

  2. 4 Ricardo Panaggio December 7, 2009 at 8:02 pm

    Will you free (as in freedom) the code?

    • 5 danielwould December 7, 2009 at 8:46 pm

      yes. i have a maemo garage project set up just for this purpose. I just need to figure out how to use it. hopefully sometime this week.

  3. 6 andy December 8, 2009 at 9:39 am

    n900

    the programm loads and loads and loads, but it didnt start. i dont know why :-/

    • 7 danielwould December 8, 2009 at 11:29 am

      which version?
      if you open a terminal, and execute ‘witter’ does it still not load?

      • 8 no mercy December 8, 2009 at 7:53 pm

        newest version
        this is what i get if i type witter in xterminal

        $ witter
        Traceback (most recent call last):
        File “/usr/bin/witter”, line 30, in
        import hildon
        ImportError: No module named hildon

  4. 9 tim December 8, 2009 at 2:59 pm

    Nice.
    Will you be adding kinetic scrolling for N810 please?

    • 10 danielwould December 8, 2009 at 4:12 pm

      To be honest that depends on how easy it turns out to be. on the n900 it was trivially one line.
      I think on the n810 it means bringing in an extra library etc.
      the diablo version doesn’t have my focus at the moment, since the n900 is shiny and new…;-)

  5. 11 Leandro December 12, 2009 at 1:59 am

    I can’t install it.
    It depends on python-hildon, but the package name on the repository is python2.5-hildon (n810)

  6. 13 Bigbrovar December 12, 2009 at 3:40 am

    Looking great. 2 Questions

    1> Does this application supports network proxy? (like will it respect the systemwide proxy settings or does it has it’s own embedded proxy settings? )

    2> Any plan to extend it to other mblog service like identica?

    • 14 danielwould December 12, 2009 at 8:50 am

      1) I don’t know. i haven’t written any special code for it. so it depens at what level the proxy settings take effect.

      2) in the current version there should be a menu option, cryptically named ‘toggle serviceType’ this swittches to using identi.ca instead. the support is very primitive. I don’t use identi.ca so I’m waiting for some to confirm that works at all. if so I’ll think about a better way of integrative support

  7. 15 Mike December 15, 2009 at 7:02 pm

    Hello :)

    I’ve got a little Problem with the latest build from today. It’s not possible to open URL’s in a tweet?

    long press: url actions -> open url (bit.ly…something)

    doesn’t do anything on my N900?

    Best regards

    Mike

    • 16 danielwould December 15, 2009 at 7:32 pm

      so the url shows up in the url menu, but nothing launches?
      could you run witter from the commandline and see if it gives any output when you ty to open the url?

      • 17 Mike December 15, 2009 at 8:05 pm

        Witter works wonderfull so I think its not the python-problem as above mentioned. The URL is shown when typing

        long press: URL Actions -> bit.ly/something

        But when I’m tabbing on the link nothing starts (browser etc.)

      • 18 Mike December 15, 2009 at 8:21 pm

        … and sorry – how can I start witter from the command line :)

  8. 19 Mark guim December 15, 2009 at 7:04 pm

    Love the updates Daniel! BTW I like ur twitter app better than the other one.

  9. 20 Ashish Bhatia December 16, 2009 at 6:18 am

    Hey,

    Where can I get this Witter app?

    ~Ashish

    • 21 danielwould December 16, 2009 at 7:55 am

      it exists in the extras-testing repository for fremantle. since it is under heavy development it is not yet in the main repo.
      search talk.maemo.org and you will find details of the extra reposiitories. just bear in mind that things from extras-testing may still have bugs.

  10. 22 Michael December 16, 2009 at 9:51 am

    witter runs on a fairly standard n900. i got it from the extras-devel as written on maemo.org. everything runs fine but not opening a url in witter…

    • 23 danielwould December 16, 2009 at 12:49 pm

      hmm, this one has me stumped. it’s not given me any trouble, it’s just a standard call to launch the browser

    • 24 Mike December 21, 2009 at 12:38 pm

      I’m writing this for my friend Michael cause his internet explorer want work right today :)

      ——————-

      The problem with not opening a url out of witter still exists… I tried it again and opened witter from command-line.

      Here’s a Screenshot of the terminal-messages:

      http://www.abload.de/img/screenshot-20091221-13we9t.png

      I hope, that will help you :-)

      Michael

      • 25 danielwould December 21, 2009 at 5:16 pm

        the method that opens a browser looks like this:
        if (self.maemo_ver==5):
        print “opening browser – maemo5 style”
        webbrowser.open_new(url)
        else:
        print “opening browser – maemo4 style”
        webbrowser.open(url, context=self.osso_c)
        print “We tried to open a browser”

        eg there is one line of code between the two lines of output in the terminal. and it works for me, and many others. so I’m afraid I have no clue what on earth would make it fail for you. I also have no idea how to get any more information, since it clearly isn’t outputting any errors. Sorry.

  11. 26 Jak Crow December 17, 2009 at 12:40 am

    I haven’t been able to get this working. It keeps saying:

    Error posting tweet Server returned 401: Not authorized: check uid/pwd.

    I’ve entered both user name and pwd correct multiple times without success. Twitter even locked me out for witter sending the wrong creditials too many times. I’ve even changed my pwd to something smaller in case the app has some kind of character limit, but still no go.

    • 27 danielwould December 17, 2009 at 8:04 am

      here is an annoying issue i haven’t figured out yet…the password field auto capitalises the first character. which can cause problems if you don’t notice it happen. i don’t know how to stop it doing this yet.
      if this is the issue just enter an extra character as the start of your password then go back and delete it before hitting ok.

      • 28 Jak Crow December 17, 2009 at 8:55 am

        Hitting the shift for the first letter fixes the capitalization. This usually doesn’t happen on a password field though.

  12. 29 danielwould December 8, 2009 at 8:07 pm

    ah-ha! that means i missed a depenandcy declaration on python-hildon.
    I’ll fix that. but in the meantime yo can fix it in a couple of ways. the easiest is to install any other python app that does have its dependancy set right. mething like gpodder.
    alternatively you should be able to
    $ sudo gainroot
    $ apt-get install python-hildon

    but you might need to install something to get the gainroot command.can’t remember what though.

    or just wait. and at somepoint I’ll upload a new version with it fixed.

  13. 30 danielwould December 15, 2009 at 9:01 pm

    run ‘/opt/witter/witter.py’ from the terminal

  14. 31 Michael December 15, 2009 at 9:34 pm

    Hi daniel,

    i opened witter from the comand line.

    when trying to open a twittered website in the terminal was shown “we tried to open a browser”

  15. 32 danielwould December 16, 2009 at 7:52 am

    sorry, I have no idea why it would not be working for you. are you running on a fairly standard n900?

  16. 33 mece December 17, 2009 at 7:53 am

    Yeah, I have this problem as well. Actually I’d like to see a direct click on the url in the tweet to open link. As it is now, there’s no way of opening an url for me.

    One possibility could be different python packages. I have most of my python stuff from extras, and they differ from the devel ones.

  17. 34 danielwould December 17, 2009 at 8:09 am

    assuming i can figure out how to launch a url based on a direct click, it would drive the same code to open a browser. so the problem would likely still exist. i’ll try to add some debug around the launhing code and maybe get some ideas as to what is failing


  1. 1 Developing python for maemo 5 « Daniel Would’s Weblog Trackback on December 6, 2009 at 4:37 pm
  2. 2 Witter Brings More Twitter Features To Maemo 5 | Maemo-Guru.com Trackback on December 7, 2009 at 4:03 pm
  3. 3 Witter: Twitter no Nokia N810 / N900 | rodrigostoledo.com Trackback on December 11, 2009 at 1:39 pm
  4. 4 Cliente de Twitter em desenvolvimento « N900 Trackback on December 12, 2009 at 5:10 pm
  5. 5 Witter For Nokia N900 Updated to 0.1.1-9 – Twitter App Steadily Improving Trackback on December 15, 2009 at 10:14 pm
  6. 6 Use Witter to Twitter on N900! | Nokia N900 Blog Trackback on December 16, 2009 at 3:21 pm
  7. 7 Witter. Un’ottima applicazione Twitter per N900 | Risorse Free Trackback on December 16, 2009 at 3:42 pm
  8. 8 Witter. Un’ottima applicazione Twitter per N900 | Le notizie Trackback on December 16, 2009 at 7:57 pm
  9. 9 PitsBlog » Witter als Twitterclient auf dem Nokia N900 Trackback on December 16, 2009 at 9:59 pm
  10. 10 Witter, otro cliente para twitter | Nokia N900 Trackback on December 17, 2009 at 1:28 pm

Leave a Reply




RSS Navit SVN Feed

  • Revision 2890 by martin-s - Add:Core:Export command line arguments December 22, 2009
  • Revision 2889 by martin-s - Add:graphics_gd:Allow mouse move simulation December 22, 2009
  • Revision 2888 by martin-s - Add:Core:Allow empty config December 22, 2009
  • Revision 2887 by martin-s - Fix:Core:Corretly set moved flag December 22, 2009
  • Revision 2886 by kazer_ - Update:Translation:Updated heading fields December 20, 2009
  • Revision 2885 by kazer_ - Fix:Translations:Removed erroneous syntax which broke the build December 20, 2009
  • Revision 2884 by kazer_ - Update:Translations:Massive update December 20, 2009
  • Revision 2883 by kazer_ - Add:Translations:Added Macedonian translation|Thanks Goran December 20, 2009
  • Revision 2882 by kazer_ - Add:Translations:Added Latvian translation|Thanks Janis December 20, 2009
  • Revision 2881 by kazer_ - Update:Translations:Updated the French translation December 20, 2009

My Twitter

Error: Please make sure the Twitter account is public.

blog Archieve

 

December 2009
M T W T F S S
« Nov    
 123456
78910111213
14151617181920
21222324252627
28293031