Skip to content

Witter

(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 (note this *was* the case, but from 0.2.1 I have started to make use of those libraries so I can focus on other stuff I want to learn. no one wants to learn oauth from scratch..trust me). This is an education exercise.

There is now a maemo downloads page for Witter now that it is in the Extras repository.

From now on I’m going to keep adding new version info above old version info, rather than revise everything to keep up to date. I’m also trying to keep a reasonable record of how much time it takes for any given feature/update. Although I’m excluding all the time it take to build/package/upload test a given release. which can vary but takes about an hour per release

If you like Witter, and would like to show your appreciation, there is a button in the top right which will let you buy me a pint.

NOTE - If something fails unexpectedly, please start witter from the xterm:

run-standalone.sh python2.5 /opt/witter/witter.py

This will output lots of diagnostic messages that will help me understand what I broke ;-) Also be sure to tell me which version you are using, it can change rapidly, and there are normally at least 2 available at a given time.

0.3.5-4 -> 0.3.7-2 – I’ve been pretty bad at keeping this up to date, I did a lot of work in extras-devel, and a big re-write which I didn’t want to draw too much attention to, since it was pretty unstable for a while. I’ve now pushed 0.3.7-2 to extras-testing to get broader feedback. The UI has an all new layout, There is now a ‘home’ screen which shows your profile info, from which you can toggle location sharing on/off, and jump to normal timeline, search stuff, contacts. All views how support a ctrl+up, ctrl+down to scroll to top/ bottom respectively. location can be enabled to share your location in a tweet. it is also understood in other peoples tweets so it will show their location if available. The new search view loads your saved search terms and makes a button for each one.

There is probably loads of other stuff. I’m currently aware of a defect in the contact loading if you have more than 100 contacts. will look at fixing that shortly.

Oh, and fetching tweets/mentions and profile info all have a retry loop that after any failure waits 1 second, then tries again. This hopefully smooths out a lot of the transitory type errors that you get with network blips.

0.3.5-3 – a collection of small fixes

0.3.5-2 – some fixes to remove stuff from package that shouldn’t have been there. some extra error catching code around config loading and checking for theme existence

0.3.5-1 – Allows fixing of rotation mode in either portrait or landscape in addition to auto mode. Adds some error handling for ‘bad status line’ errors from the httplib. Adds ability to scroll through tweets using up and down arrow (landscape mode). Now requests up to 200 tweets since the last received tweet. (I thought using ‘since_id’ would basically do that anyway, but apparently it still defaults to 20…which doesn’t make sense to me, but there you go)

0.3.4-8 – Update to touch theme icon to fix stretching in the user history icon. Fix to persisting gestures settings now that you can also persist notification choice. Witter not checks if it already received a tweet and doesn’t add duplicates. this allows the search view to retain history when you refresh to get more tweets, and means you can change search strings and pull new stuff on top of the already received results

0.3.4-6, 0.3.4-7 - fixing the oauth configuration dialogs that I broke a few versions back. Also added configuration to allow users to switch off the e-mail style notifications.

0.3.4-3,0.3.4-4,0.3.4-5 – I’ll treat these together as there were a very quick succession of little tweaks, after updating to PR1.2 on my n900 py2deb got re-broken and my bug tracker link was failing in the package. So that was fixed, update the version number to report at 0.3.4, and thanks to some hints provided by others, the on screen keyboard in portrait mode now pops up when you tap in the entry field, and disappears if you scroll. Also the buttons are now even sizes rather than relative to the letter size.

0.3.4-2 – Just a packaging update to include the dependency on python-dbus which was causing witter to fail to start for some people.

0.3.4-1 Implemented first pass at portrait keyboard accessed via plus button in portrait mode.

0.3.3-10 – fixed problem starting if avatar not cached to disk.

0.3.3-9 fixed problem persisting tweets with newlines in them. WARNING: need to delete /home/user/.wittertl .wittermen and .witterdm if witter isn’t starting

0.3.3-8 – added new style retweet under ‘RT’ action button as opposed to old style retweet

0.3.3-7 – adds ability to switch of swipe gestures in preferences (some people find they accidentally switch timeline views too easily) also added a locale setting on the hope it might fix some peoples timestamp problems. Initial support for starting a connection if none exists, currently it starts, but not before witter fails the connection is was trying. not sure yet how to make witter wait for active connection

0.3.3-5 & 0.3.3-6 – added support to persist timeline/mentions/dms, stores the last 20 in each of these and reloads them when you start again.

0.3.3-4 – full auto-rotation support, no longer need to hit ctrl+shift+r, icons are resized to fit in portrait. new theme ‘touch’ courtesy of biggzy on t.m.o.

Whilst I’m adding images, here is the monochrome theme

0.3.3-3 – fixing defensive code around avatar loading, loading retweets in timeline, fixing load more mentions. put following a user on a thread, so their tweets can be loaded into current timeline

0.3.3-2 – defensive code for corrupted avatars, tweak column width in portrait mode for pr1.2, grab users last 20 tweets when following.

0.3.3-1 – witter now remembers the last tweet and only loads new ones between runs. also mentions/dms get better notifications.

Notifications took ages to figure out, the documentation and examples are non existent. Currently you get notifications for mentions and dms, that vibrate and leave a persistant yellow notification like an e-mail. They also start the led flashing blue. currently no sounds. And all other timelines are as before.

This version also saves the last id received for main timeline, mentions and dms. On reloading witter it will only receive new tweets (rather than always just loading the last 20) In the future I may locally save the last few tweets to restore, so that the interface doesn’t come up blank if nothing new has happened.

0.3.2-4 – fixed a few random things, username parsing, option for refresh interval of 1 min

0.3.2-3 – added basic ability to favorite a tweet.

0.3.2-2 – added some diagnostics and failsafe code around timestamp processing added some diagnostics and fail safe code around timestamp processing

0.3.2-1

I realised in investigating the issues brought up by 0.3.2-0 that I had previously been sorting twitter id as a string rather than a long. This had been working well enough to throw me off, but having odd results for some tweets and people that meant the sorted went off. Having noticed this I have now fixed it to store the long ids as floats (because for some reason using a long in the liststore still didn’t like being given a long) This appears to be working

Also fixed sort order for the friends view to be alphabetical by friend name.

total time: 3 hours of painful ‘value not valid for column’ messages trying to put a long into a long column…what a fool, I should have realised I had  to store longs in a float column.

0.3.2-0

I switched the sorting to be based on the parsed timestamps rather than the twitter id, this appeared to work, but failed to sort newly arriving tweets into the correct order at all. It also broke a few people from using witter at all.

0.3.1-10

Added ‘theme’ support, or at least the ability to support different icon sets. Anyone can now create a set of icons under /opt/witter/icons/<name_of_theme>/

and it will become available for selection in the witter preferences section under theme.

Basically a ‘theme’ is a set of 48×48 icons with the following names:

mention.png
mention_off.png
search.png
search_off.png
tweet.png
refresh.png
dm.png
dm_off.png
timeline.png
timeline_off.png
public.png
public_off.png
userHistory.png
userHistory_off.png
friends.png
friends_off.png
trends.png
trends_off.png
fullscr.png
unfullscr.png
minus.png
plus.png
plus20.png
plus50.png
plus100.png
plus200.png

the names should make it reasonably obvious what the icon should portray. Such icons sets could be packaged and installable independent of witter itself, they just need to place the files in the right location.

0.3.1-9

Minor fix that stopped first time users getting set up properly.

0.3.1-8

The buttons that were generated for each mentioned user, could sometimes make for a very crowded and difficult to read actions panel. If there were more than about 4 people. the buttons would go off the screen and generally not look right. This version puts all those options in a second sub window of the actions window, under a ‘mentioned users’ button. The layout is more obvious and should scale better to large numbers of mentioned users.

0.3.1-7

fixed switching accounts in views other than timeline. added diagnostics after account edit. fixed account delete. fixed failed tweet notification

0.3.1-6

fixed twitpic, added more debug for tweeting

0.3.1-5

put guard against avatar urls containing non-ASCII chars, a the moment htis just means Witter doesn’t fail, currently it doesn’t successfully load avatars if the url has non-ASCII chars,

Also put a minor tweak to turn &amp; esacaping back into & in tweets

0.3.1-4

Fixed replyall to not exclude the sender of the tweet, and make sure it cleared before building new reply all string.

updated twitter oauth to fix follow/unfollow problem, which was actually a broader problem about using GET on every request

0.3.1-3


Added @user button to action set, also added a ‘translate’ option that opens google translate in a browser passing through the tweet text. At the moment it is hardcoded to translate from auto to English. At some point I might make this configurable so you can choose your own language to translate.

Timespent about 1 hour

0.3.1-2

managed to miss ReTweet when I moved actions to a stackable window, this just adds it back in

0.3.1-1

faster than I though, I switched the action buttons when you double click a tweet to arriving on a stacked window rather than overlaid buttons.

time taken: 30 mins

0.3.1

ok, so after about 4 months of saying I wasn’t going to, and generally complaining about the amount of time and effort it would involve. Here at last is avatar support.

Additionally I’ve made the 140 limit a ‘soft’ limit so that you can go over if you like. twitter should truncate as it sees fit, but it might help in editing a tweet to be able to go over.

This release took me about 9 hours. Initial avatar support probably only took about 30 mins of direct coding, but coming up with a strategy for caching images and reloading etc, took a fair amount longer. plus all the reading and fixing of other problems.

Avatars are loaded once when it first sees someone. Then again every 10 times it loads a tweet from an individual. The idea is the more you see tweets from someone, the more up to date their avatar will be.

I also fixed the oauth configuration after a bug introduced by adding multi-account support.

0.3.0

For this release I’ve bumped up to 0.3, as I’ve done a massive restructuring job. Moving away from the monolithic code base it was, to a (slightly) better set of ui/controller/account classes which hopefully paves the way for me to try switching out UI components a little easier. In this release what it has let me do is enable…

Multi-account support – You can now create multiple accounts, with twitter/identi.ca or any other twitter compatible service. And switch between them. Currently they are managed very separately. You simply go and choose to ‘activate’ the one you want to work with.

This release has taken many hours, I’m guesstimating 30 hours at least. Many of which sadly were going down dead ends. I had hoped to use pickle to simplify my persistance of account info, but I just couldn’t make it work.

For the average person there is no reason to upgrade to this version, and plenty of reasons to hold back. So much has changed I can’t be sure I’ve not broken something subtly. So if you are not interested in muti-accounts, then probably safer to steer clear for the moment.

0.2.2-6

Switched the way bit.ly url expanding words, instead of replacing the bit.ly short url with the expanded form in the tweet, now it expands the url and pulls out the domain name, which it puts in brackets after the bit.ly url, eg:

this is a cool url http://bit.ly/fh4£hfdv  (www.google.com) good for finding stuff

There is also code to remove the expanded info when you hit retweet. I think this is a better system than the first version.

also contains some sundry fixing

time spent: approx 2 hours

0.2.2-5

Bit.ly support – under preferences it is possible to specify a bit.ly uid and api_key which then allows witter to do 2 things. Firstly if it sees a url of the form http://bit.ly/something then it will automatically call bit.ly to expand the URL (I’ve not decided whether to leave it this way, but I generally don’t like clicking on shortened URLs if I have no idea what they lead to. So I want some mechanism to preview the real URL.

Secondly there is a new menu option called ‘shorten url’ which brings up a window that lets you paste a URL into an entry field and hit a ‘shorten url’ button. This gets bit.ly to shorten the url and pastes the result into the normal tweet entry field.

Combine the bit.ly support took about 4 hours to add. I am making use of a cut of a python-bit.ly library that already existed, but that code is fairly simple. At some point I may investigate whether I can get an id with bi.ly that would allow witter to use it, without the individual users having to have an id.

Additional I re factored the whole preferences dialog into a stackable window, and changes all the number editors to touch selectors for refresh rates. This allowed me to add the bit.ly credentials and a place holder for some kind of theme support. It should bemuch easier to add extra configuration to this section now. I’ll probably end up moving the colour tweaking into this preferences page also. But haven’t gotten around to it yet. This refactoring took about 4 hours.

0.2.2-4

With many thanks to pycage, author of the very cool mediabox. Witter now can ‘zoom’ in and out. That is the font size can be increased and decreased dynamically by using the rocker button on top of the N900. It was not at all obvious how to do this and I spent *hours* looking through documentation and google trying to find what I needed. Until I realised that mediabox was also python and was clearly capturing the zoom buttons. pycage was kind enough to paste the relevant piece of code into a response on t.m.o for me. And with that it took about 30 mins to implement, test and figure out forcing a redraw.

0.2.2-3

Doh!, turns out I was obviously tired when I uploaded 0.2.2-2 and I had a mismatch between the code and the gtkbuilder .ui file. This caused witter not to start up at all.

0.2.2-3 fixed this issue.

0.2.2-2 – broken – see above

Lots of people were complaining that they didn’t like the blue background, so I decided to implement the ability to configure it. Currently it’s fairly ugly in the sense that there are 2 buttons in the menu, BgColour_top and BgColour_bottom

each of these takes you to a colour picker which itself seems to work a bit weirdly, you have to set a colour in the empty palate section, and which ever one is selected when you hit ‘ok’ is set as the colour for either the top or bottom of background gradient.It took me about 2 hours to implement this, it’s unlikely to be made a great deal easier or nicer to do, since it’s not something I expect to do often.

Colour changes are persisted so you won’t lose them when witter closes.

Whilst I was at it I persisted the font size. I had hoped to be able to use the volume/zoom rocker button to allow font to be increased/decreased. However I cannot for the life of me figure out where to hook onto those events. So for the moment it ends up as a new value in the config file.

After running this version once, and closing. go look in /home/user/.witter

It contains the colours and the font size, so you can just adjust them there.

Overall this version took me about 4 hours including time wasted looking for information I couldn’t find about hardware zoom buttons

0.2.2-1

Lots went into this one so I figured I’d up the .1 to a .2

Icons! – All the views now have icons associated instead of words on buttons. Each icon for a view has an on state and an off state, so you should be able to tell which view you’re in by the active icon.

I used inkscape to do all y own icons. I am not a designer so they’re not that good. However I’m hopeful that someone that *is* a good designer can easily make a set of icons of the right names and it will be a drop in replacement.

The icon names are:

dismiss.png – used to allow action menu buttons to be hidden again

dm.png – the active state of direct message view button

dm_off.png – the inactive state of the dm view button

friends.png – active state of friends view button

friends_off.png – inactive state of friends view button

(you get the idea)

mention.png, mention_off.png, timeline.png, timeline_off.png, public.png, public_off.png, trends.png, trends_off.png, userHistory.png, userHistory_off.png

fullscr.png – switch to fiull screen

unfullscr.png – switch out of full screen

tweet.png – send a tweet

refresh.png – refresh

plus.png – open buttons for fetching additional(older) tweets

minus.png – close buttons for fetching additional tweets

plus20.png, plus50.png, plus100.png, plus200.png – fetch an additional number of older tweets as indicated by number.

All tweets now show the ‘From <source>’ text next to the timestamp

New UserHistory view – In this view you can enter a username in the entry box and hit the refresh button and it will go and find the last 20 tweets by that user. Alternatively you can double tap any tweet and it will provide a History button for every user mentioned in the tweet, clicking those will take yout to the user history view and load up the users tweets.

New ReplyAll button – just inserts all the usernames found in the selected tweet into the entry field with spaces between them

@ user buttons, – for any user mentioned including the author you get a button which just fills their name in the entry field. This is different to reply_to since it does not link your tweet to the one selected.

Get older tweets! – in the main timeline (only here at the moment) if you want to go back and get more older tweets, hit that + symbol in the top icon bar, and you get a pop up with +20, +50, +100, +200, these do as you might imaging, fetching tweets older than the oldest one currently loaded. up to the number requested.

Notes- This version comes with it’s own verison of the python-twitter library. It really ought to use the one that is available in the repos, but that is based on the last versioned release of python-twitter from jun’09, and I needed features that were introduced to the source after that. Ihave asked the python-twtter people to cut anohter update, but couldnt be bothered to wait. Also I made an additional fix to support max_id on an API they hadn’t added it to yet. Again I will contribute this in time, but I didnt want to wait for that to filter through.

Also, follow and unfollow both currently rely on having got basic auth settings configured. For some reason they seem to fail under oAuth using python-twitter, and I’ve not figured out why yet.

FullScreen/window – there is now a specific button to do true full screen, which drops the title bar stuff etc. Consequently i no longer have witter remove all controls when you scroll, so you should always have the top icon bar, this helps you see which view you’re in, and gives you access to the button to come out of full screen again.

removed trends/search buttons from main menu as now directly available through on screen buttons.

Removed follow for authors of tweets in your timeline, since you already follow them

removed unfollow for mentioned users. Tyring to save space and it seemed a less obvious use case.

Probably the most time consuming part of this version was the icons. I had to learn how to use inkscape and demonstrate my inability to draw. Then code all the additions of icons and make sure the state transition between on/off properly as you switch views etc. probably spent 6 hours or so drawing icons

Adding the user timeline was probably the single biggest change, but probably only took about 2 hours.

Getting the right set up of dynamically generated buttons when you double tap took about 2 hours, and may still be wrong. If you double tap on a tweet with lots of mentions then it will probably over stuff the view.

If anyone feels like doing a nicer set of icons, let me know. I may even look into some kind of theme management that would all you to switch easily between different icon sets. We shall see.

0.2.1-8

Changes – fixed a regression in the friend and trend view that cropped up when I fixed a problem with the difference between an automatic background refresh versus a manual refresh.

Time to develop: 15 mins

0.2.1-7

Changes – Changed the tap’n’hold menu for actions to be a double-tap which brings up a set of buttons. Hopefully this is much more finger friendly than the menu. When you double tap on a tweet, the buttons pop up, and the pannable area attempts to scroll to keep the tweet visible above the buttons. There seems to be a glitch with this if it’s the bottom tweet, but generally it seems to work. If there are URLs in the tweet, you dynamically get buttons to launch the URLs.

Time to develop : about 7 hours went into this restructure

0.2.1-6

Fixed a bug in the dmrefresh code that if activated stopped witter from exiting cleanly. – time to implement : 2 mins after a user sent me the logs of their problem

Also tried to force the icon to retain it’s transparency again.

0.2.1-5

Switched browser launching from using ‘webbrowser’ module to using osso context to run the osso_browser. Time to implement : 10min

Although launching URLs always worked fine for me, some people inexplicably could not get it to work. Frustratingly I narrowed it down to just one line of code calling the webbrowser module, which worked for me, but not for others. With no output or errors to go on I was stumped. But having found a new way to launch the browser I’ve switched to that, and early reports indicate this now works more reliably for everyone

0.2.1-4

Changes -

OAuth support-Time to implement..about 12 hours excluding all the investigation I did the first time around.

You can now grant witter authority to access your twitter account via OAuth, there are those that will tell you this is very important for security, and much better than handed an untrusted application your user/id password, in case they do something silly (like save it base64 encoded in a file where anyone might find it) However I can tell you that OAuth support in Witter is entirely about my vanity/ego. By using OAuth when you post to twitter it registers as from Witter, as opposed to simply from the API. It makes me feel good to see my tweets coming from my application.

Not all methods use OAuth at the moment, for some reason the python-twitter library doesn’t like following/unfollowing people via oauth, so this currently still uses the basic auth credentials until I can figure out why.

Also twitPic needs me to give it your twitter login to post pics. I may investigate alternatives that work nicely with oauth.

Busy indicator- time to implement, I daren’t figure out how many hours I spent trying to figure out how to do this, and failing to find a solution. Until mwerle, author of mwTube pointed me in the right direction. After which it took about 15 minutes to add the code.

This allows witter to show a little spinny thing to show you when it is busy doing something. this tiny simple thing provides a great deal of usability in terms of feedback from the interface.

Spurious fixes – thrown in with this release are a bunch of other checks and guards against errors I saw pop out whilst I was testing. Additionally i fyou press any key the tweetbox now grabs focus, since I was getting tired of finding I hit a key to bring the controls back on screen, then selected the entry box to type something.

—–historical information——

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

The main difference since the early version is the custom cell renderer which makes it look more ‘pretty’ Basically I had to write code which would drawn the rectangles and the rounded corners, and then render the text inside.

Initially I made the mistake of using cairo to render text, since that is what I found first. However if you use cairo you actually have a much harder job than you need. You have to figure out how to render text by calculating it’s width, and cutting it into lines, and figuring out line placement etc. On top of all that you don’t get any rendering of non romanised fonts.

So after much digging I found out how to do the same with pango, using a cairopango context. With pango it ‘understands’ layout to an extent, so you can specify a wrap width, and tell it to word wrap so you don’t get words split on line boundaries. It also nicely renders non-romanised fonts as you can see here.

340 Comments
  1. MarcusB permalink
    December 4, 2009 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?

    • danielwould permalink*
      December 4, 2009 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. :-)

    • danielwould permalink*
      December 4, 2009 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.

    • Jack permalink
      March 23, 2010 1:37 pm

      Hi there Daniel i have downloaded your app and enters my email and password in to account set-up and done the activation but when i get back on the app the menu shows but none of my tweets just has the load sign in the top right

      • danielwould permalink*
        March 23, 2010 2:04 pm

        e-mail? do you mean your twitter userid?

  2. December 7, 2009 8:02 pm

    Will you free (as in freedom) the code?

    • danielwould permalink*
      December 7, 2009 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. andy permalink
    December 8, 2009 9:39 am

    n900

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

    • danielwould permalink*
      December 8, 2009 11:29 am

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

      • no mercy permalink
        December 8, 2009 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

      • danielwould permalink*
        December 8, 2009 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.

  4. tim permalink
    December 8, 2009 2:59 pm

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

    • danielwould permalink*
      December 8, 2009 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. Leandro permalink
    December 12, 2009 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)

    • danielwould permalink*
      December 12, 2009 8:43 am

      that is fixed, i think, in extras-devel. i guess I should promote that version…

  6. December 12, 2009 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?

    • danielwould permalink*
      December 12, 2009 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

      • July 13, 2010 2:28 pm

        The proxy setting for python maybe broken for ssl protocol. Have not spend too much time on it but it would be a features to get chinese to get over the GFW.

  7. December 15, 2009 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

    • danielwould permalink*
      December 15, 2009 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?

      • December 15, 2009 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.)

      • December 15, 2009 8:21 pm

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

      • danielwould permalink*
        December 15, 2009 9:01 pm

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

      • Michael permalink
        December 15, 2009 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”

      • danielwould permalink*
        December 16, 2009 7:52 am

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

      • December 17, 2009 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.

      • danielwould permalink*
        December 17, 2009 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

  8. December 15, 2009 7:04 pm

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

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

    Hey,

    Where can I get this Witter app?

    ~Ashish

    • danielwould permalink*
      December 16, 2009 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. December 16, 2009 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…

    • danielwould permalink*
      December 16, 2009 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

    • December 21, 2009 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:

      I hope, that will help you :-)

      Michael

      • danielwould permalink*
        December 21, 2009 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. Jak Crow permalink
    December 17, 2009 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.

    • danielwould permalink*
      December 17, 2009 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.

      • Jak Crow permalink
        December 17, 2009 8:55 am

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

  12. December 28, 2009 4:24 am

    I firstly want to say i love your application.

    I seem to be having a problem atm, I changed my userid and i can’t seem to log in anymore. I am trying my old and new user id.

    Any idea what I can do now?

    P.S. keep up the good job

    • danielwould permalink*
      December 28, 2009 9:44 am

      are you getting 401 not authorised response?
      are you sure you didn’t get caught with the password field auto-capsing the first letter of your password?
      have you confirmed your new id/pwd word with any other app?
      if the answers to those are ll yes, then I’m not sure.

  13. January 7, 2010 5:06 am

    Dear Daniel,
    I love your application, but I cannot open twittered url and this is s a big problem…
    I hope that you release soon a new version without this bug!!!
    Thank you!!!

    • danielwould permalink*
      January 8, 2010 9:53 pm

      if only i had a clue what this bug is. it works fine for me, it’s one line of code that gives no diagnostic output when it fails. I really don’t know where to begin fixing this bug :-(

  14. Oscar permalink
    January 10, 2010 10:34 pm

    Hi Daniel!
    Thanks so mucho for this amazing app
    My question is:
    Do I need to keep open the witter in order to be updated?
    Can I close the app and it is still auto-refreshing in background?

    Thanks in advace

    Greetings From Mexico!

    • danielwould permalink*
      January 10, 2010 10:52 pm

      I’m afraid it does need to be open to refresh, but on N900 you can swiitch to other apps and it will update in the background.

  15. DrDark permalink
    January 13, 2010 12:29 pm

    Thanks, opening URLs now works! :D

  16. January 14, 2010 12:21 pm

    jhey daniel,

    a realy great app. installed it onmy brand new N900 and already made several tweeds with it.

    Only thing i still cannot getto work is twitpic. i’veused both auth methodes but whenselecting a picture and push the twitpic button nothing happens:-S is it me doing something wrong??

    grtz,

    Mark

    • danielwould permalink*
      January 14, 2010 12:31 pm

      glad you like it. the twitpic thing currently makes the (perhaps poor) assumption that you are writing a comment to go with it. so it expects you to write your twitter, then select picture so when you hit ‘twitpic’ it posts picture with comment. if there is no comment it does nothing. and i’d forgotten untill this reminder because i learned how to do nice notifications sometime after I wrote that function.

      • January 14, 2010 2:26 pm

        I’ve tried to write a tweet and after that setect twitpic! selected a picture (776kb) and pressed twitpic!> unfortunaly without any result, the twitpic page will stayontop and nothing happens.
        Its probbably stil me doing something wrong, but have not figured out what.

      • danielwould permalink*
        January 14, 2010 2:32 pm

        ok, at this point i’m only going to get more info if you run witter from the coomandline.

        run-standalone.sh python2.5 witter.py

        it should output a bunch of information as it runs, hopefully something helpful will show up when you try and twitpic

  17. Euan permalink
    January 17, 2010 2:25 am

    Daniel

    Firstly, very nice app, great start…
    Even in it’s infancy, it’s far better than Mauku, and does far more than the Twitter Plugin ever could…

    My thoughts though…
    – The kinetic scrolling is too jumpy and too slow, needs refining…
    – A ‘More’ button is needed, as displaying only the last 20 tweets is a massive restriction…
    – The friends section, struggles to display all the content…currently you have a friends name, and thier latest tweet displayed, but if someone posts a large tweet, it does not all display.
    – A way to modify the theme would be appreciated…the current blue would not be my first choice.
    – Witter currently notifys when there are new tweets, but it is also notifying our own tweets as new tweets…a bit redundant.

    Otherwise, great work, keep it up.

  18. Taomyn permalink
    January 20, 2010 7:24 pm

    Hello, trying out Witter on my new N900 and looks good so far. I have spotted two issues I thought I would report.

    1. The password entry field “capitalises” the first character so if your password starts with “a”, it enters “A”. Also the PIN field for Twitter OAuth is set to alphanumeric when PINs are numeric.

    2. If I enter some menus, I end up with just the title of the window at the bottom. For example, start Witter, go into Preferences, go back, go into it again and I cannot see the preferences any more as they’ve gone off the bottom of the screen. This doesn’t fix itself until you restart Witter.

    Also, can you confirm if Witter is using SSL for it’s connections to Twitter? I don’t like the idea that my username/passwords or any other data is being sent in the clear.

    Keep up the great work and many thanks,
    Taomyn

    • danielwould permalink*
      January 20, 2010 7:31 pm

      hey, yes I’m aware of those issues. sadly I’m not sure how to fix them.
      as for the ssl, yes witter does use ssl. and obviously if you use oauth it doesn’t know your uid/pwd at all.

      • lorelei permalink
        February 7, 2010 5:23 pm

        Hello Daniel,

        a fix for the auto-capitalization of the password field:
        password_entry.set_input_mode(gtk.HILDON_GTK_INPUT_MODE_FULL | \
        (not gtk.HILDON_GTK_INPUT_MODE_AUTOCAP))
        password_entry.set_visibility(False)

        it worked for my use-case, so it may be useful for yours too!

        cheers

      • danielwould permalink*
        February 7, 2010 8:15 pm

        thank you! always appreciate code suggestions. that works, so from the next version that lon standing issue will finally be gone.

        thanks again

  19. January 29, 2010 7:59 pm

    Would you be interested in adding publishing support via Pixelpipe as an option to Witter? By utilizing Pixelpipe you’d be able to expand the text publishing to over 25 services (including Facebook) and even more services when you include a photo with the post.

    We support the Twitter API & log-ins and TwitPic API for media posts so the integration should be pretty effortless. Get back to us if you’re interested and we’ll get you setup with an application key and the API endpoints you’ll require.

  20. EvilZivi permalink
    February 7, 2010 7:17 am

    Uhhmm,

    it seems that on my N900 the UserHistory
    is broken. Whenever I try to use it via the
    1-Person button or via the UserHistory button,
    I only get my usual timeline.

    Otherwise things like ‘search’ work without a
    problem.

    Can anyone confirm this?

    Thanks for this great twitter client!

    EvilZivi

    • danielwould permalink*
      February 7, 2010 10:38 am

      it occurs to me that user history will only work with oauth. have you configured oauth?
      i should have thought about it. at somepoint I’ll look at fixing that. unless of course you are using oauth in which case I have no idea why it’s not working.

      • EvilZivi permalink
        February 7, 2010 4:42 pm

        Yes, this was the important detail!
        No it works flawlessly!

        Thanks a lot!

  21. February 9, 2010 7:45 pm

    Well, the identi.ca Switch does not work. It would only get tweets from my Twitter account, no matter what it is set to.

    • danielwould permalink*
      February 9, 2010 8:06 pm

      the identi.ca switch is not really intended for mainstream use. it won’t work at all once you use oauth.
      i intend to do a big refactoring of account management to allow proper support. but in the mean time identic.ca is pretty much unsupported.

      • February 9, 2010 8:17 pm

        Thanks for your quick reply! That explains it all. Well, personally, I’d love to see Witter supporting identi.ca (or status.net, as it is syndicated). I’m mostly using identi.ca and the N900 still lacks a good client for it. Mauku works, but lacks basic features like a tab for @replies.

        Maybe it would be possible if you would give the user the possibility to change the API-URL with Twitter being the default. Gravity (for Symbian) did it like this, as well as Twibble.

        Anyway, for the moment, I’ll just sit and wait for the things to come. =:-)

  22. fabrizio permalink
    February 25, 2010 5:25 pm

    Daniel, please it semms that plus funcion for old posts doesn’tworks,couldyoufixthatissue…?thanksforyourwork!!really

    • danielwould permalink*
      February 25, 2010 5:59 pm

      are you using basic auth or oauth? i believe it’s broken for basic auth for historical reasons. in either case i’m still finishing off s big re-write/restructure that should resolve the issue on next version.

  23. EvilZivi permalink
    March 23, 2010 6:36 am

    Witter 3.1.x looks great with avatar support!

    At the moment increasing the number of tweets shown (+20, +50) does not work though.

    By the way, this never worked in the ‘search’ view. Is this a known thing?

    EvilZivi

    • danielwould permalink*
      March 23, 2010 8:07 am

      interesting, +20,+50 etc are working fine for me. are you using baic auth or oauth?
      it has however never worked in search results, whch requires a bit more thought.

      • EvilZivi permalink
        March 23, 2010 8:51 am

        I’m using oauth.

        But at a closer look doesn’t seem to be the +20, +50, etc.

        I just noticed it yesterday, when pressing the +20, +50 button, the activity indicator showed up, but nothing else happens. Today when I press +50 in my timeline, a few tweets are being loaded, but then it stops, again with a running activity indicator.

        Maybe there is something wrong when fetching some avatar pictures, so that it chokes on those?

      • EvilZivi permalink
        March 23, 2010 10:40 am

        Yes, it definitely chokes on avatar pictures.

        For example have a look at the user history of @katjadoerner

        On my N900 it only shows an activity indicator running, but no tweets.

      • danielwould permalink*
        March 23, 2010 11:57 am

        interesting, that users avatar url contains non-ASCII charaters and I’m not guarding against that. so it chokes. will look at fixing the url handling.

      • EvilZivi permalink
        March 24, 2010 6:05 pm

        Yes, the fix works!

        Thanks a lot! All tweets are now visible again.

        BTW, in the search view avatars are only displayed if they have already been shown in the usual timeline view.

      • EvilZivi permalink
        April 1, 2010 7:10 am

        Oh, oh… it seems that those avatars are broken again in 0.3.1-11…
        in timeline & search at least.

      • danielwould permalink*
        April 1, 2010 8:03 am

        Fixed again in 0.3.1-12….was in a rush last night ;-)

      • EvilZivi permalink
        April 1, 2010 9:14 am

        Indeed! ;)

        Great work!

        BTW, the avatar display works in the timeline & UserHistory, but not in the search display. With the exeception, that the avatar is being displayed if it has been shown previously already.

        Is this the state of things at the moment?

      • danielwould permalink*
        April 1, 2010 9:21 am

        That is indeed the way it works at the moment. It’s intentional because a) search results don’t contain avatar urls, so I would have to spawn a new request for every entry. and b) I cache icons and if you store every icon of every user that ever shows up in a search, that might not be ideal, where as if I stick to people you explicitly follow or who message you, or who you chose to lookup specifically, then those are the ones you are more likely to be interested in. And not fill up space with lots of potentially one time viewed images.

      • EvilZivi permalink
        April 1, 2010 9:36 am

        OK, then everything is working as it is supposed to do!

  24. March 23, 2010 12:02 pm

    Have just installed and really like it. Have been using Mauku, but much prefer Witter which has a great feel and the usability and avatar support is great. Will continue to use and grab updates when made available.

    Great App Daniel :)

  25. Taomyn permalink
    March 25, 2010 12:30 pm

    Will making the input area disappear on scrolling ever re-appear? It’s annoying to have wasted space when simply viewing the timeline.

    • danielwould permalink*
      March 25, 2010 3:20 pm

      you can make it disappear by manually refreshing a feed. However I removed it because it was costing processing everytime you scrolled at all.
      I wanted to avoid any unessary code running just because you are scolling up and down, so I removed it. I’m not sure if it’s worth replacing.

  26. April 1, 2010 11:38 pm

    amar é vida

  27. April 7, 2010 9:47 pm

    daniel, thanks a lot for this very nice twitterclient. As a twitteraddict I got a bit lost after I switched from nokia E90 with gravity to N900, but Witter did the trick and I’m very happy with it ever since. Keep up the good work and consider placing a donate-button on your site, I surely would donate some cash for your efforts.
    -ivo-

  28. jace permalink
    April 8, 2010 11:48 am

    hey daniel i have one prob with the witter app sinds lately it wont recieve tweets or anything anymore it just stays blank do you have an solution for this

    • danielwould permalink*
      April 8, 2010 12:48 pm

      I assume that means you have versions from extras-devel. there has been a lot of churn recently as I’ve tried to make timestamps work properly and show times correctly for the users timezone. The latest version 0.3.1-16 updated this morning seems to be working for everyone.

  29. April 8, 2010 11:58 pm

    Can we get Mentions to show the list as they do in the web based twitter? Mine come out in a sorting that I can’t figure out. All I know are the old ones are not at the bottom, or top and neither are the new ones. they’re all mixed up.

    • danielwould permalink*
      April 9, 2010 6:54 am

      which version are you using?
      all of the views are sorted by the id number of the messages. the assumption being that larger numbers == newer messages. but for some odd reason that doesn’t work for some people on mentions. it works fine for me.
      in anycase I’ve started work on timestamp handling to ultimately sort by date.

  30. Jace permalink
    April 9, 2010 7:28 am

    hey daniel
    i’ve been using the witter app for a while now but now when I start it up it doesn’t load up any tweets or mentions anymore i’m using the 0.3.1-16 version now
    help pls

    • danielwould permalink*
      April 9, 2010 8:34 am

      please run witter from xterm using the command: run-standalone.sh python2.5 /opt/witter/witter.py
      this will produce diagnostic output int he xterm session which you can send me to let me know what is going on. I suspect there is going to be another weird variation on timestamps

      • Jace permalink
        April 9, 2010 12:35 pm

        i’ve tried the command but when I do this it tells this:
        sh: python2.5/opt/witter/witter.py: not found
        What to do now?

      • danielwould permalink*
        April 9, 2010 2:30 pm

        there should be a space between python2.5 and the path to witter /opt/witter/witter.py

  31. May 6, 2010 1:21 pm

    Hi, I just have my own N900 device, and love to use your witter! I think it’s the most frequently used app in that device :)

    I wanna ask some stupid question: how can I change the timestamp into +0800 instead of +0000 ?

    • danielwould permalink*
      May 6, 2010 2:32 pm

      timestamp processing will be fixed in the next release. twitter makes the processing quite hard so still have to sort a couple of things.

  32. Diimaan permalink
    May 11, 2010 12:01 am

    Hi Daniel,

    I have installed witter on my N900!
    and I believe it is by far the most complete twitter client for
    maemo5 at the moment!

    I have only two doubts!

    1, The timezone for my country is not detected by witter app
    I am from India and it must be GMT + 05:30 and it is set in the mobile. But all the tweets in witter timeline displayed as + 0000!

    Is there any way to change or is there any workaround for this?

    2, Is there a way to show more tweets? when opening the witter by default?

    Thanks for the great app…

    Diimaan

    • danielwould permalink*
      May 11, 2010 6:54 am

      the version of witter in the testing repository has the timestamps processed correctly.
      as for more tweets there is currently nooption to get more by default, only the plus buttons to retrieve more on request.

  33. May 13, 2010 5:16 pm

    hi.
    witter is agreat client. but i miss some features…

    1. tag-search / highlighting in twwets
    2. adding current gps-position to tweets
    3. show position of tweets withm e.g. google maps as little map if the tweet is displayed in detail
    4. the search of mentioned users dosnt work korrect. i got a tweet where the mentioned user name gots a : at the end cuz he was rt. so the search cant find him cuz of the : at the end :)

    keep on working. great tool

    • danielwould permalink*
      May 13, 2010 5:22 pm

      4 is something I’m intending to fix soon-ish. though it would be helpful to know what chars are not valid in a username.
      2,3 are interesting and I have considered them. maybe at somepoint i’ll have time to investigate
      1 I’m not sure what you mean as such, i guess i could highlight the search term used in returned tweets

  34. ColaCheater permalink
    May 14, 2010 11:40 am

    Hi,

    I’m using for two days now and I want to give some feedback of things I noticed up to now:

    1) In the Preferences there isn’t a unit (like minute) shown for the refresh time so I had to guess what it is.

    2) If I guess right the refresh times are minutes so it would be nice if it would be possible to set them e.g. to 1 minute instead of 5 minutes as shortest refresh time

    3) When you start witter you always get a notify, that there are x new Tweets/DMs etc. – although you already saw them. It would be nice if witter would just notify the “really” new tweets since the last start of witter. If you start witter just for a short time to look what’s happening right now it’s annoying to get notifications for tweets you already saw.

    I hope you understand what I mean – my english isn’t very good ^^

  35. Antonio Bonilla permalink
    May 14, 2010 12:08 pm

    Hi Daniel, i installed Witter in my N900, i think is the best twitter app right know for the N900. I know you are working hard to do the best on witter, theres some thing i think can be improved, is the general smooth when you are scrolling the timeline i notice is not smooth, is a little heavy, it’s my perception, maybe improving the performance in general make it perfect. I just use the twitter for post and read. thanks for this Great App! BTW!.

  36. May 17, 2010 7:19 am

    Hi.

    I got some more improvements ;)

    1.
    like said by ColaCheater before, it would be greate to see what tweets realy new and what tweets i allready read (on my pc i use twril als client, ther is a button “mark all as read”. new tweets where displayed with a star in corner, so i can see, this is new to me ;) )

    also it would be more performant, if you save recieved tweets on the phone and only pull the latest tweets from the latest recieced id up instead of call all tweets.

    2.
    the time under a tweet is the time i received it! not the time the tweet where posted.. this is not nessesary i think, more interessting is “when is this tweet posted” !

    3.
    is it posible to get witter in portray-modus?
    this would be realy good to read the posts :D

    so far. keep on working :)

    • danielwould permalink*
      May 17, 2010 7:42 am

      1) persisting tweets is certainly possible. but raises a question of how long to keep them? an alternative option would be to store the last ids, which it does do during operation, and reload from that point.

      2) that only happens when witter fails to parse the real time of the tweet. please run witter from x-term like this: run-standalone.sh python2.5 /opt/witter/witter.py
      This will give lots of output whilst witter is running, there should be some fairly obvious errors about failing to parse timestamps

      3) apparently it can be forced into portrait on pr1.2, however I’ve done no investigation of this yet.

      • May 17, 2010 8:00 am

        log:
        trying timestamp format Mon, Jan 01 2010 00:00:00 0000
        trying third format
        time data did not match format: data=Sun Jan 03 18:59:49 0000 2010 fmt=%a %b %d %H:%M:%S 0000 %Y
        returning datestamp for now

  37. Guillermo permalink
    May 25, 2010 10:19 pm

    Hello!! Congratulations! It is a great APP!! I like the new release, wich remember the last tweet and only loads new ones between runs, but I will wait until you release the version that saves locally my tweets (specially mentions and DM)!!
    You are great!
    Three suggestions for next releases:
    1. When you select a tweet, in the mentioned users, we should have the capability to open the user profile and see their followers and following
    2. Geolocation
    3. Following tag to see the people who are following me

    • danielwould permalink*
      May 25, 2010 10:28 pm

      some reaonable suggestions. a few people have asked for geolocation, that one could be tricky. the others i may look into sooner. first have to persist some tweets. got caught up tonight playing with notification callbacks and portrait mode support

  38. May 26, 2010 10:27 am

    if a tweet contains words without spaces the submenu is displayed wrong…

    see on this pic:


    ;)

    • danielwould permalink*
      May 27, 2010 1:11 pm

      that’s a weird issue, how often do you get a tweet with one single long word? not sure how I would resolve this.

  39. May 27, 2010 10:04 am

    still have ideas/comments

    why all tweets from witter are displayed as tweets from “API”

    i want that each twitter-user can see that i twitter from my N900 using the great witter-app :D

    something like “Witter for N900″ :D

    • danielwould permalink*
      May 27, 2010 1:10 pm

      You need to configure witter with OAuth to get this behaviour, it will then show your tweets as from ‘witter’ (which witter will colour yellow) This is a requirement of Twitter, for all new clients they are only allowed to show a client id if using OAuth. This is annoying because it did rather raise the requirement before I could implement this, however if you search twitter from the n900 for terms like n900 or #witter you will see at least some tweets showing from witter (including mine)

      • May 27, 2010 2:51 pm

        Oh, sorry. didnt see this before o.O it’s new! :D

        thx alot.

  40. Guillermo permalink
    May 27, 2010 6:36 pm

    hello again. I am having some troubles using version 0.3.1-9. Neither the tweets and mentions don’t load all of them, just a few of them. What could be happening? I tired newest versions and have the same problem. Thanks

  41. Antonio Bonilla permalink
    May 28, 2010 10:10 am

    Hi, after update to firmware pr 1.2, witter do not load, it start to load and them close, no error nothing just close, i’m using the witter 0.3.3-3……

    • danielwould permalink*
      May 28, 2010 10:18 am

      it’s plausible I broke something in 0.3.3-3, best thing to do is to try to run witter from the x-term to get information about what goes wrong
      run-standalone.sh python2.5 /opt/witter/witter.py

  42. Guillermo permalink
    May 30, 2010 12:05 am

    Hi Daniel
    I have the latest version of both, witter and n900 firmware, but i cannot make witer word in portrait mode!

    • danielwould permalink*
      May 30, 2010 8:44 am

      you have to ‘activate’ portrait support every time you run witter (or anything else you want in portrait mode)
      open the app, hit ctrl+shift+r then clse the keyboard and rotate into portrait.

  43. May 30, 2010 8:58 am

    thx for the tip :)
    but you’ve got some improvments on that to do ;)
    the text of each tweet isn’t scaled correct on rotation. half of the tweet is going outside the screen. after scale the text-size via volume-key or minimized and then return to the app it’s displayed corret.
    when rotating back to landscape-mode the same. only half of the available space is used to display text.
    (hope i have explain it correct -.-)

    but big thx to you for the great work

    • danielwould permalink*
      May 30, 2010 9:07 am

      there is work to do, but that should work a little better than that, if when you switch modes you swipe from one timeline to another and back does it then look right? maybe i just need to force a redraw event

      • May 30, 2010 9:20 am

        jeah. when switching it is correct.
        even when i click a single tweet an its got hihglithed. :) i also think its only a redraw problem.

  44. EvilZivi permalink
    May 31, 2010 5:56 am

    Oh, oh… timestamps seem to be broken in all the more recent versions. The last one that worked for me was 0.3.1-9. As several people reported that timestamps worked ok on their systems, maybe this has something to do with the language/country setup (german)?

    • danielwould permalink*
      May 31, 2010 9:21 am

      it is deffinately a locale issue, what i haven’t figured out yet is why my timestamp pattern doesn’t match for some people. it’s particularly hard to diagnose. all i can do is try to add more diagnostic output.

      • EvilZivi permalink
        May 31, 2010 6:51 pm

        Hmm, this does not look good. You get your timestamps in the usual strftime format, but you alwas have it in the international/english format! But the strptime your are using to parse these is influenced by the locale setting. This means, for example, it does not recognize day names etc., as these are expected to be in the correct locale form. A quick and dirty fix for this would be something like:

        import locale

        locale.setlocale(locale.LC_ALL,’en_US’)

        putting up at the beginning of account.py. Then the timestamps look ok. I don’t know what will get broken by this, though ;)

  45. Guillermo permalink
    May 31, 2010 6:56 pm

    Great Update Daniel! Althought I still have the timestap problem :(

  46. fabrizio permalink
    June 1, 2010 5:07 am

    In pr 1.2 i can’t see tweets in timeline. any tips ? thanks a lot for your greats works.

    • danielwould permalink*
      June 1, 2010 6:55 am

      erm. without more info, no idea.
      version of witter?
      does anything happen if you manually refresh? or request more (older) tweets?

  47. June 1, 2010 3:42 pm

    since the update to 0.33.8 this morning my Witter won’t start. Only if i delete all witter directories from /home/user/.witter* it starts, after which I have to enter my twitter-details and authorization.
    the error i have:
    ~ $ /opt/witter/witter.py
    no service setting
    No more users to load
    Establishing api for Twitter using basic auth
    Establishing api for Twitter using oauth
    Connection working ok
    Failed to load cached timeline
    Traceback (most recent call last):
    File “/opt/witter/witter.py”, line 1142, in
    app = Witter()
    File “/opt/witter/witter.py”, line 170, in __init__
    self.activeAccount.mentionstore = self.reload_timeline_data(‘/home/user/.wittermen’,self.activeAccount.getMentionsList())
    File “/opt/witter/witter.py”, line 611, in reload_timeline_data
    config.readfp(open(file))
    File “/usr/lib/python2.5/ConfigParser.py”, line 286, in readfp
    self._read(fp, filename)
    File “/usr/lib/python2.5/ConfigParser.py”, line 490, in _read
    raise e
    ConfigParser.ParsingError: File contains parsing errors: /home/user/.wittermen
    [line 177]: ‘RT @buttonfreak siesta houden of proberen mezelf aan het werk te zetten…. #Keuzes\n’

    if i remove /home/user/.wittermen the application does start correctly.

    not sure what could trigger this error, but I hope you can do something about it.

    thx
    ivo

    • danielwould permalink*
      June 1, 2010 4:32 pm

      0.3.3-9 should fix that problem.

      • June 2, 2010 8:01 am

        That’s really quick! Thx! I bought you a couple of pints for the quick service and a great app!

      • danielwould permalink*
        June 2, 2010 8:31 am

        cheers!

  48. June 1, 2010 4:16 pm

    Hi !

    I’have downloaded the sources from SVN, but how can I translate Witter in French ?

    • danielwould permalink*
      June 1, 2010 4:31 pm

      erm, i think first I’d have to actually do things ‘properly’ and load nls strings rather than hard coded ones. i’ll give it some thought and see how we could go about it.

  49. Guillermo permalink
    June 1, 2010 5:26 pm

    Once again, great update Daniel! timestap problem solves with 0.3.3-9 update. Now I can say I dont miss at all gravity for symbian.
    If I may, i wold like to suggest three thinks:
    1. One icon to access My Favorite tweets
    2. Save more than 20 tweets, dm and mentions
    3. A home widget for witter (the one we can download from ovi store is bad!)

    BDW which is your twitter ID? mine is gosorio25

    Thanks for this great app

  50. EvilZivi permalink
    June 2, 2010 6:46 am

    Looks good! Timestamps are working! Thanks for the fix!
    The next pint is on me (as soon as I can get a PayPal account working… ;) )

  51. June 2, 2010 3:12 pm

    Hi, I run Witter from x-term and here follows the output:

    no service setting
    No more user to load
    Establishing api for Twitter account using basic auth
    Establishing api for Twitter using oauth
    Connection working ok
    Failed to load cached timeline
    Failed to load cached timeline
    Traceback (most recent call last):
    File “/opt/witter/witter.py”, line 1148, in
    app = Witter()
    File “/opt/witter/witter.py”, line 171, in __init__
    self.activeAccount.dmstore = self.reload_timeline:data(‘/home/user/.witterdm’,self.activeAccount.getDmsList())
    File “/opt/witter/witter.py”, line 644, in reload_timeline_data
    tweetstore.append([senderName,senderId,tweet,"",tweet_long_id,type,createdAt,replyTo,source,avatar,formattedTweet]) UnboundLocalError: local variable ‘avatar’ referenced before assignment

  52. Dockofthelake permalink
    June 3, 2010 9:27 am

    Hi Daniel, I’ve been enjoying your great app for quite sometime.
    With the three latest updates, though, I cannot run Witter anymore, it keeps crashing when opening.
    I tried uninstalling and reinstalling, but to no avail: it still crashes while opening.
    I’m no Linux expert but if you don’t mind telling me how to do it I can try to send you the log with the errors, if any.
    Cheers

    • danielwould permalink*
      June 3, 2010 11:01 am

      open xterm then:
      rm /home/user/.wittertl
      rm /home/user/.wittermen
      rm /home/user/.witterdm

      one of the last few versions had a bug which could corrupt those files. it won’t do it any more but you need to manually clean them this once.
      ithis is why extras-devel is not allways a safe place to get updates from. :-)

      • Peppe permalink
        June 4, 2010 10:58 am

        This doesn’t help for me.. Even after removing all /home/user/.witter* dirs it still crashes at startup. There’s an error about missing dbus import (like 41 in witter.py) if I execute from the command line.

      • danielwould permalink*
        June 4, 2010 11:35 am

        ok, this is me missing a dependancy in the installer. if you have gainroot to become root in xterm, then do :
        apt-get install python-dbus

        that should fix it whilst you wait for me to fix the package properly

  53. Guillermo permalink
    June 5, 2010 9:56 pm

    Hello, sometimes tweets load twice in my timeline, and others, when i refresh, an error message appear: “error retreiving tweets, operation time out” Why could that be? thanks again

    • danielwould permalink*
      June 5, 2010 10:03 pm

      I’m guessing that this happens if you request ‘more’ tweets after having reloaded from a state with saved tweets. At the moment witter doesn’t figure out the oldest tweet from the stored values, so if you ask for more the first batch will be the same 20 that were stored by witter between runs. I will fix this at some point, but for the moment that’s how it is. As for the timeout, that just happens sometimes, Twitters API is not garunteed to respond every time, http is not a reliable transport. I support I could try to hide the error, but if that’s what happens, then witter just isn’t given a response from twitter in 10 seconds of waiting (which should be plenty of time)

  54. Guillermo permalink
    June 6, 2010 3:40 am

    I found a great update the portrait mode in keyboard. I am wondering… is it posible to get it as an alphanumeric keyboard? you know: number 2, letters a b and c into one key, and so… It would be easier to write in portrait mode for fat fingers

  55. June 6, 2010 2:00 pm

    Hi

    new to N900 as have just bought it leaving my N97 in the draw ..

    I was used to Gravity on the N97 and so far the best twitter program for the N900 seems to be yours, is there no way to have my ‘searches’ shown all the time, N900, Mountain biking, Nokconv for example, as I cant see these and so I can’t see the latest tweets only the ones that I write

    Or have I missed something

    Thanks and keep up the good work

    • danielwould permalink*
      June 6, 2010 2:05 pm

      you mean you want your searches in the main timeline? at the moment there is the search view which you could use, put your terms separated by commas in the entry field and hit the refresh button.

      at the moment search always cleans the previous results and gets the ast 20. at some point i may do something better than that, but not sure what.

      • June 6, 2010 5:18 pm

        Hi that works OK, thanks, may I suggest that you hide the tweet button while in search the search menu, as it tweets the word your are looking for,

        Will a future be able to ‘save’ old searches ?

  56. June 6, 2010 5:45 pm

    I’m trying to authorise Ouath I get the pin number Ok from twitter and enter the 7 digits in the Twitter credentials window and hit OK but nothing happens

    • danielwould permalink*
      June 6, 2010 6:56 pm

      when you say ‘nothing happens’ does witter show the accunt as configured? are you getting errors trying to refresh the feed?

      • June 6, 2010 7:25 pm

        When I hit the Ok button, nothing happens, I have the white rectangular bow with the seven digit number in it and the Ok button still active , it doesn’t ‘go away’ I have no error messages, the twitter credentials window just sits there

        Note that I tried adding a second account and have the same problem, also sometimes when coming back to the twitter credentials windows after being given the authorisation code I have the twitter credentials title at the very bottom of the screen and cannot see the white rectangle box to be filled as its below the screen,I can see just the title

      • danielwould permalink*
        June 6, 2010 7:39 pm

        ok, which version of witter do you have? did you take the one from extras, extras-testing or extras-devel?
        if you run witter from xterm you should see more info on what is going wrong.

      • June 6, 2010 7:51 pm

        am running the 0.3.4 version

        have no idea (newbie to this machine and linux, sorry) how to start the apli in X term, just typing witter does not work

      • danielwould permalink*
        June 6, 2010 8:01 pm

        you need to use:
        run-standalone.sh python2.5 /opt/witter/witter.py

        i assume you’ve seen the warnings around using extras-testing or extras-devel.

      • June 6, 2010 8:16 pm

        Here’s the screen copy, Yes I know about certain warning concerning extras-testing or extras-devel., but needed them to install syncevolution though IO suppose I could disable them now

        I tried deleting and re installing, but the prefs files are left on after deletion and after re installation the same settings are back

        http://twitter.com/oauth/authorize?oauth_nonce=16387454&oauth_timestamp=1275854763&oauth_consumer_key=c0glxehHLYgzDqDMLjanA&oauth_signature_method=HMAC-SHA1&oauth_version=1.0&oauth_token=x6rmNbtvTX3SKAaK3ApHTzhn2zY5ERG0pkpPEIDI&oauth_signature=9MEIWdQqqUEtSihKoKemzlEttV0%3D

      • danielwould permalink*
        June 6, 2010 8:39 pm

        that just looks like one of the urls used in the authentication part. i would need to see the xterm log from running witter to see what is going on. i may have just broken the signal handler for the ok button.

      • June 6, 2010 8:42 pm

        If you explain how to get the log I will willing send it to you

        But it will have to be tomorrow as need to crash …, been a long day

        Maybe speak to you tomorrow :)

  57. Ness permalink
    June 7, 2010 8:06 am

    Hi Daniel,
    I’m still having problems setting up the witter app. I get as far as trying to Configure Oauth, it takes me to the twitter website to ask for my permission to allow witter access, then gives me the PIN and tells me to go back. I would go back to the witter screen asking” authorise with twitter, clicked OK button asks for twitter credentials, I would type in the 7 digit pin from twitter and the OK button doesn’t work for me. Any suggestions? I can’t get past the OK button. I won’t let me continue.

    • danielwould permalink*
      June 7, 2010 9:02 am

      i may have broken something in extras-testing. could you try with the version from extras? eg uninstall, disable testing/devel, install witter again. if it works then i know what i broke and you’ll be able to upgrade again and it will keep you settings.

      • June 7, 2010 7:16 pm

        I have un installed Witter 0.3.4-5 and installed version 0.3.1-9

        The Button OK now works for the Oauth acceptance and is now showing Oauth configured

      • danielwould permalink*
        June 7, 2010 9:57 pm

        ok, i think i know what i broke. will fix it in next version

      • Ness permalink
        June 9, 2010 4:40 am

        I am able to get back. It works now. Thnks.

  58. June 7, 2010 8:31 am

    Hello – I love using Witter on my N900. One question though, is it possible to have a look at a specific Twitter list, or will it be possible in a future release. It’s such a good client, but I also like the ability to look at my lists from one of the top toolbar buttons.

    Kind Regards.

    • danielwould permalink*
      June 8, 2010 6:58 pm

      Lists support is something I’ve considered, but requires a bit of thinking to implement. not sure how to surface it to the user.

      • June 9, 2010 4:55 pm

        Gravity on Symbiam using lists, this is by far the most important part of this program I think

        what happens is : a list has left and right scroll bars to go from list to list, these list are stocked permanently so that you do not need to re input what you are looking for, but of course vcan be modified or added to,

        Hope this helps

        An idea what about the possibility of not showing images in the list that is shown from your search mode so as to gain screen space,

        keep up the good work :)

  59. June 7, 2010 10:42 pm

    I am trying to use Witter with my own site (I have implemented most of the twitter API for myself) since it looks to be the only twitter client with notifications support. Will support for notifications on all incoming tweets be an option in the future?

    Anyway, I finally figured out how to get it to log into my account : for some reason the first letter of my password was being auto-capitalized, so I had to type an extra letter at the beginning and then delete it. Now I see it hit the server at the right endpoint (in my logs) and it gets a 200 OK. The endpoint works with most other twitter clients I have tried (on my laptop/android phone), but with Witter it just sits there spinning. Even after my logs have clearly recorded the hit, Witter is still spinning and no tweets ever show up.

    • danielwould permalink*
      June 8, 2010 6:47 am

      run witter from command line and you’ll see what witter is doing and hopefully what is going wrong.
      as for notifications, it’s possible just a nuicance to add configuratn options.

      • June 17, 2010 7:26 pm

        I implemented retweeted_to_me and now (just returning a dummy {}) and now I get a single tweet displaying in witter. Still nothing under replies. Here’s a console log:

        /opt/witter/ui/gtkWitter.py:77: GtkWarning: gtk_container_child_set_property: assertion `child->parent == GTK_WIDGET (container)’ failed
        self.builder.add_from_file(“/usr/share/witter/witter.ui”)
        Exception in thread Thread-2:
        Traceback (most recent call last):
        File “/usr/lib/python2.5/threading.py”, line 486, in __bootstrap_inner
        self.run()
        File “/usr/lib/python2.5/threading.py”, line 446, in run
        self.__target(*self.__args, **self.__kwargs)
        File “/home/user/src/witter/fremantle/src/opt/witter/witter/refresh_thread.py”, line 41, in _start
        File “/opt/witter/witter.py”, line 871, in getMentionsWrapper
        self.activeAccount.getMentions(auto=autoval, older=get_older, get_count=more)
        File “/home/user/src/witter/fremantle/src/opt/witter/account/account.py”, line 309, in getMentions
        TypeError: cannot concatenate ‘str’ and ‘NoneType’ objects

        gestures enabled
        no service setting
        No more users to load
        Establishing api for Twitter using basic auth
        Connection working ok
        Failed to load cached timeline
        Failed to load cached timeline
        Failed to load cached timeline
        UI elements loaded from file
        signals connected to buttons
        Loading Theme Icons
        defining ui buttons
        define portrait keyboard objects
        define general window
        setting up treeview
        time to show the window
        running tasks: 1
        getting tweets with http-singpolyma.net-
        base url = https://singpolyma.net/twapi.php/
        base url of api object = https://singpolyma.net/twapi.php/
        refreshing since22215
        fetching tweets from https://singpolyma.net/twapi.php/statuses/friends_timeline.json
        running tasks: 2
        getting mentions
        running tasks: 3
        performing search
        nothing to search
        running tasks: 2
        end refresh setup
        Tweet already in store
        running tasks: 1

        mentions
        Stop Wittering
        shutting down refresh loop
        written config object to file
        stopping thread
        stopping thread
        stopping thread
        killing thread
        killing thread

      • danielwould permalink*
        June 17, 2010 7:55 pm

        I’m not sure i understand, are you saying you’ve edited code? and now something isn’t working?
        what version is this?

  60. June 9, 2010 10:41 am

    Yah I’d request the option to turn notifications on/off or perhaps stack them (destroy previous notifications or just stick to updating 1 notification like e-mail does).

    The problem is if I get a lot of mentions and Witter is open I ended with 10-15 notifications in the task switcher each one with You have 1 Mention, You have 4 mentions etc.

    • danielwould permalink*
      June 9, 2010 10:53 am

      do you happen to know *how* to stack notifications? or why maemo doesn’t do it automatically for the same app? or how to destroy them? if you tell me how to do it I will.

  61. Peppe permalink
    June 10, 2010 3:17 pm

    It appears that some tweets are getting cut off. In the cases the tweet cuts off there is also no date being rendered. I’m using 0.3.4-7. Same behavior was on 0.3.4-6. One common thing with the cut-off tweets seems to be that they have a winky-eye smiley ;) in them. Normal smileys work though, so maybe it’s something about the semicolon? Weird bug!

    • danielwould permalink*
      June 10, 2010 3:28 pm

      hmm, i guess comething in the smily chars is confusing the markup. and basically preventing render past that point.

  62. Jason permalink
    June 12, 2010 9:58 am

    Just gave up on Tweego after trying Witter :) Thanks for putting the effort to this client..

    Some questions (not sure if its a known problem or just me):
    1) The “Retweet” button doesnt seem to do anything for me. Is this supposed to copy into the contents into a new tweet dialog box?

    2) The “+20″ seems to bring in tweets from a day old rather than 20 more tweets from the current timeline. So I get missing tweets if I use this. Instead, I’m using “+100″ which seems to work fine.

    3) I’ve no problems shortening URLs but is tweets with bit.ly URLs are not expanded. Is expansion still a feature?

    • danielwould permalink*
      June 12, 2010 10:09 am

      hey, glad you like it.
      When reorting issues it’s helpful to let me know what version you have and from which repository. Since there are normally at least 2 (the one in extras, and the on in extras-testing)

      1) yes the retweet button should fill the entry box with the selected tweet prefixed by RT. If it’s not for any tweet then I guess I’ll need you to run in the terminal (instructions top of page)

      2) also odd, from my point of view the difference between these buttons is just a 20,50,100,200 in the right place on a call to twitter, my assumption would be that it is giving witter a wierd response. though I’ll try to look into it.

      3) yup, if you have a bitly account configured it *should* find any bit.ly url and put the domain in brackets after it, eg;
      http://bit.ly/bSUw9j (danielwould.wordpress.com) I don’t put the entire expanded url, just the top level site name as that is mostly what I want to know. again, if this isn’t working for you then running from a terminal should give output that will help me understand why.

  63. Jason permalink
    June 12, 2010 12:44 pm

    It seems all is well now after some new tweets came in. The new tweets hv their bit.ly urls expanded like u said. And for the new tweets, the “Retweet” works too.

    It seems only the previously received tweets still hv tis problem. Is there a cache that I can clear?

    The 20 seems to work now too.

    I’m using the version from extra-testing.

  64. Taya permalink
    June 12, 2010 5:54 pm

    Thnx man witter is the best N900 client for twitter keep updating

    Greeetz

  65. Geo permalink
    June 13, 2010 8:34 pm

    Hello. Why when a friend changes his avatar witter doesn’t update it? I still see the old avatars…

    • danielwould permalink*
      June 13, 2010 8:41 pm

      witter caches avatars to avoid extras downloads. every 10 hits on a given friend should force a reload of thier avatar. if you really want to force witter to pick up fresh avatars then you can delete the contents of /home/user/.witterPics/Twitter/*
      but if you open the user in the user history view it should trigger enough fetches to update the avatar.

  66. Peppe permalink
    June 18, 2010 9:55 am

    Any update on figuring out what is causing tweets that contain winky-eye smileys (or other semicolon-open-parenthesis sequences) cut off? Considering how common that is in tweets and direct messages, it’s a fairly major bug. I would expect it to be pretty easily reproducible and thus easily debugged.

    • danielwould permalink*
      June 18, 2010 11:00 am

      I’m afraid I’ve been busy working, so haven’t looked at this problem at all. feel free to tweet winky-eye containing smileys at me on twitter (@danielwould) to give me a point to start from. but realistically I doubt I’ll have time to think about witter before Sunday.

      • Peppe permalink
        June 18, 2010 3:18 pm

        I tweeted a test case with a @DanielWould mention. I also looked into what causes it and it actually seems that all that it takes to break things is a single semicolon. But what happens is that it first works fine when the tweet comes from Twitter over the network. But after a restart the cached tweet cuts off at the semicolon. Looking at the cachefiles (e.g. .twttertl) confirms that it has been cut off in the caching. Prior to the restart the tweet still looks fine in the UI so it seems that it’s the caching that is broken.

      • danielwould permalink*
        June 18, 2010 6:40 pm

        ok, thanks for digging a little deeper. i guess this means that it’s not as bad as it could have been, the tweet does display ok when you receive it.
        it gives me a pretty good idea how to fix it. not sure that i will before promoting this ver to extras though. it’s not that serious a problem, and updating the version at this point resets the votes for promotion, so I’ll only do that for really bad problem.

  67. June 22, 2010 12:27 pm

    Hi

    Any news on a possible chance of having saved tweet searches and on separate pages per search ?

    The vertical keyboard keeps switching to the horizontal one

    the cursor gets moved to a different place when switching between horizontal and vertical views

    A way of getting rid of the tweet button when searching for new tweets, the amount of times I’ve tweeted what I wanted to look for :(, at least in the search section

    keep up the good work

    • danielwould permalink*
      June 23, 2010 8:50 am

      Erm, saved searches on separate pages, no idea, I’ve given it no thought yet. It would require some reasonable change in approach I think to support that usage

      When you say the vertical keyboard switches for the horizontal one. Do you mean the horizontal one shows up in vertical mode? I’m not sure I understand (I never have the maemo OSK enabled as I have a real keyboard for landscape use)

      as for the cursor thing, I’ll see if I can reproduce that one

      as for the tweet button on the search box, it is on my list to remove that for that view.

  68. June 23, 2010 12:55 am

    hi, i cannot access recent updates in extras-devel, and here is the diagnostic message of witter 0.3.4-8, hope it helps :)

    ~ $ run-standalone.sh python /opt/witter/witter.py
    missing option in config
    no service setting
    No stored ids from last run
    No more users to load
    Establishing api for Twitter using basic auth
    Establishing api for Twitter using oauth
    Connection working ok
    Traceback (most recent call last):
    File “/opt/witter/witter.py”, line 1166, in
    app = Witter()
    File “/opt/witter/witter.py”, line 169, in __init__
    self.activeAccount.tweetstore = self.reload_timeline_data(‘/home/user/.wittertl’,self.activeAccount.getTimeline())
    File “/opt/witter/witter.py”, line 627, in reload_timeline_data
    config.readfp(open(file))
    File “/usr/lib/python2.5/ConfigParser.py”, line 286, in readfp
    self._read(fp, filename)
    File “/usr/lib/python2.5/ConfigParser.py”, line 490, in _read
    raise e
    ConfigParser.ParsingError: File contains parsing errors: /home/user/.wittertl
    [line 104]: ‘from now Im gonna play darts with @AiSayama.\n’
    [line 114]: ‘\xe2\x95\xb2\xe2\x95\xb2\xe2\x95\xb2\xe2\x95\xb2\xe2\x95\xad\xe2\x94\x81\xe2\x95\xae\xe2\x95\xb2\xe2\x95\xb1\xe2\x96\x88\xe2\x95\xad\xe2\x94\x81\xe2\x96\x88\xe2\x95\xb1\xe2\x95\xb1\xe2\x95\xb1\xe2\x95\xb1\n’
    [line 115]: ‘\xe2\x95\xb2\xe2\x95\xb2\xe2\x95\xb2\xe2\x95\xad\xe2\x95\xaf\xe2\x94\x8a\xe2\x94\x97\xe2\x94\x81\xe2\x94\x81\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x95\xae\xe2\x95\xb1\xe2\x95\xb1\xe2\x95\xb1\n’
    [line 116]: ‘\xe2\x95\xb2\xe2\x95\xb2\xe2\x95\xb2\xe2\x94\x83\xe2\x94\x8a\xe2\x94\x8a\xe2\x94\x8a\xe2\x94\x8a\xe2\x94\x8a\xe2\x96\x88\xe2\x94\x8a\xe2\x94\x8a\xe2\x96\x88\xe2\x94\x83\xe2\x95\xb1\xe2\x95\xb1\xe2\x95\xb1\n’
    [line 117]: ‘\xe2\x95\xb2\xe2\x95\xb2\xe2\x94\x81\xe2\x94\xab\xe2\x94\x8a\xe2\x96\x88\xe2\x94\x8a\xe2\x94\x8a\xe2\x94\x8a\xe2\x94\x8a\xe2\x94\x8a\xe2\x96\x88\xe2\x94\x8a\xe2\x94\xa3\xe2\x94\x81\xe2\x95\xb1\xe2\x95\xb1\n’
    [line 118]: ‘\xe2\x95\xb2\xe2\x95\xb2\xe2\x94\x81\xe2\x94\xab\xe2\x94\x8a\xe2\x94\x8a\xe2\x94\x8a\xe2\x94\x8a\xe2\x97\xaf\xe2\x94\x8a\xe2\x94\x8a\xe2\x94\x8a\xe2\x94\x8a\xe2\x94\xa3\xe2\x94\x81\xe2\x95\xb1\xe2\x95\xb1\n’
    [line 119]: ‘\xe2\x95\xb2\xe2\x95\xb2\xe2\x95\xb2\xe2\x95\xb0\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x94\x81\xe2\x95\xaf\xe2\x95\xb1\xe2\x95\xb1\xe2\x95\xb1\n’

    • danielwould permalink*
      June 23, 2010 9:06 am

      interesting, it looks like potentially encoding related. fast way to resolve temporarily is to delete the file that has cached the tweets. in xterm do:
      rm /home/user/.wittertl
      that will let you start up again. I’m not certain why witter has managed to store values with \n in which it should be parsing out at the point it writes the information.
      I suspect I should create some failsafe code that will allow witter to continue even if this happens.

      • June 23, 2010 9:16 am

        Thank you :D the command works!
        Yes i am using Traditional Chinese as my N900 locale, since my device is came from Hong Kong.

  69. June 23, 2010 11:21 am

    When I start to add a tweet without the physical keyboard open and the phone is in a vertical position, the onscreen keyboad opens, if you move the phone even a tiny bit the onscreen vertical keyboard (which is a querty version) will switch to the horizontal azerty version (I’m running a French n900 so azerty is normal for me)

    Its just that there is no way that the vertical onscreen keyboard can bu used and that the key layout is wrong for my system

    “Erm, saved searches on separate pages, no idea, I’ve given it no thought yet. It would require some reasonable change in approach I think to support that usage”

    For me this has to be one of the most important needs, the possibly of see all tweets concerning one search by page

    • danielwould permalink*
      June 23, 2010 12:04 pm

      ah ok, the problem here comes down to the fact that maemo don’t provide a portrait keyboard, so it’s up to me to provide anything in portrait. Sadly I have done no work at all to allow localisation of any of witter, so no translations etc. and it didn’t really occur to me to provide the keyboard in any way that would be other than qwerty. And because this is just application code, that happens to work like a keyboard, the system doesn’t know not to provide you it’s own keyboard when it thinks it can. Weird that it’s so sensitive to being slightly off vertical. I have no idea whether it’s possible for me to prevent the system from launching it’s keyboard, which would at least let me stop the main problem.
      Do you know of any python app with a portrait keyboard that doesn’t have this problem? fastest way to fix it is if I find an example somewhere.
      only ‘solution’ in the short term is disable the main system on screen keyboard. I know that’s not really a solution if you need it in landscape

      Will think about the search thing, maybe some over lap with the sorts of things I’d need for lists support.

      • June 24, 2010 9:55 am

        I don’t have any other programs that usez a portrait keyboard, sorry

        If I find one I’ll get back to you

        I actually rarely use the virtual keyboards, always using the physical one, so for me you can disable it ,

  70. Guille permalink
    June 25, 2010 10:34 pm

    Hi Daniel. Is there any way to change the background and text colors y witter? I mean, i wish I could have white as background and black for text. Thanks

    • danielwould permalink*
      June 26, 2010 7:08 am

      not at the moment, i assume this would be controlled by a system theme.
      in older versions it was possible to set the background, since i wrote my own cell renderer, but there where issues with that approach. i’ll have a think about what can be done, i may make it contollable from a witter theme.

      • Andrew permalink
        June 27, 2010 6:33 pm

        Thanks. If I may give a suggestion: Black fonts over white background (or very light grey) will look pretty good. No other highlight but Bold Font for the Username for the one who post the tweet (avoid blue or other colors for other mentioned users, at least in timeline. You can use other colors when you click on tweet to get more options).

  71. Andrew permalink
    June 27, 2010 2:16 am

    Hi… Why the Friends Icon only loads 100 friends? Is there anything wrong with my witter?

    • danielwould permalink*
      June 27, 2010 8:38 am

      100 is the default ‘page’ size twitter returns to a single request. currently witter doesn’t support loading all pages. (mainly because i don’t follow that many people) but it is something i’ll try to fix at somepoint

  72. Tim Riggins permalink
    June 29, 2010 5:16 pm

    I’ve been using Witter for a few weeks now, so far so good. I get the 400 error every once in a while, but after editing my account in the preferences it seems to be working better. Would be awesome if it displayed total number of friends and followers like TweeGo does. However I prefer Witter over TweeGo by a long shot. Witters interface is the best I have used so far on my n900. Thanks for the app, appreciate it.

  73. Tim Riggins permalink
    June 29, 2010 9:32 pm

    Still seem to be gettingthe 400 error…here is the diagnostic output

    BusyBox v1.10.2 (Debian 3:1.10.2.legal-1osso30 0m5) built-in shell (ash)
    Enter ‘help’ for a list of built-in commands.

    ~ $ run-standalone.sh python2.5 /opt/witter/witter.py
    gestures enabled
    no service setting
    No more users to load
    Establishing api for Twitter using basic auth
    Establishing api for Twitter using oauth
    Connection working ok
    Failed to load cached timeline
    Failed to load cached timeline
    Failed to load cached timeline
    /opt/witter/ui/gtkWitter.py:77: GtkWarning: gtk_container_child_set_property: assertion `child->parent == GTK_WIDGET (container)’ failed
    self.builder.add_from_file(“/usr/share/witter/witter.ui”)
    UI elements loaded from file
    signals connected to buttons
    Loading Theme Icons
    defining ui buttons
    define portrait keyboard objects
    define general window
    setting up treeview
    time to show the window
    running tasks: 1
    getting tweets with kid_marine
    base url = https://twitter.com/
    base url of api object = https://twitter.com/
    refreshing since17362969538
    fetching tweets from https://twitter.com/statuses/friends_timeline.json
    running tasks: 2
    getting dms
    refreshing since17351739124
    running tasks: 3
    getting mentions
    refreshing since17351739124
    end refresh setup
    error
    Error retrieving dms Server returned 400 :
    running tasks: 2
    error
    Error retrieving mentions Server returned 400 :
    running tasks: 1
    error
    Error retrieving tweets Server returned 400 :
    running tasks: 0
    Xlib: unexpected async reply (sequence 0x6ed)!

    • danielwould permalink*
      June 29, 2010 9:39 pm

      could you try going to: http://twitter.com/account/rate_limit_status.xml
      in your browser and finding out whether you have hit the API rate limit?

      • Tim Riggins permalink
        June 30, 2010 3:04 am

        ahh is that whats causing it?

        here is the reults of the link above, from my phones browser:

        This XML file does not appear to have any style information associated with it. The document tree is shown below.

        75
        2010-06-30T03:56:48 00:00
        75
        1277870208

      • Tim Riggins permalink
        June 30, 2010 3:07 am

        ok for some reason when I pasted it from my phone it didnt take. here is the full post

        This XML file does not appear to have any style information associated with it. The document tree is shown below.

        75
        2010-06-30T03:56:48+00:00
        75
        1277870208

      • Tim Riggins permalink
        June 30, 2010 3:08 am

        This XML file does not appear to have any style information associated with it. The document tree is shown below.


        hash
        remaining-hits type=”integer” 75remaining-hits
        reset-time type=”datetime” 2010-06-30T03:56:48+00:00 reset-time
        hourly-limit type=”integer” 7 5hourly-limit
        reset-time-in-seconds type=”integer” 1277870208 reset-time-in-seconds>
        hash>

      • danielwould permalink*
        June 30, 2010 9:10 am

        so that’s slightly weird, I’m sure that twitters rate limit is normally more than 75. Normally I do associated 400 errors with users that have blown their API rate limit. Basically if you set timeline, mentions and dm’s to refresh every minute, then you would deffinately use up your limit every hour. Then have a period of time where you receive 400s, before it returning to normal for a while until you blow the limit again.
        Is this persistently happening to you? do you have the refresh rates set too fast?

      • Tim Riggins permalink
        June 30, 2010 5:11 pm

        I think my refresh rates are set to 5 minutes, but I think whats causing it is when Twitter isnt responding or goes down, I may hit refresh multiple times waiting for new tweets. I will adjust the refresh rates and will wait for the app to automatically deliver the tweets to me rather than refreshing manually.

        One other thing, I too have had issues with the twitpic and shorten URL. Every time I try and use it, the values are never delivered to the twitter entry box. It takes me back to my timeline but the URL’s are not in the twitter entry box. Any thoughts?

        Thanks so much for your help I really like this App.

  74. June 30, 2010 6:48 am

    Hi Daniel,

    Firstly let me say great job on Witter, its the best Twitter client on N900. I have a few suggestions (hopes) that I would like to put to you, im sure someone probably has mentioned these before but sure here goes.

    Twitpic:
    1) When you go to attach a picture you should not have to navigate through all the system menus etc, it should just open the gallery
    2) Even when I find the picture I want to tweet and select it Witter does nothing, is this a bug ?

    My Version Of Witter:
    My current version of Witter is 0.3.4, however some of your screenshots above look completely different to my, specifically the menu for time intervals etc, are you keeping a special version for yourself ;-)

    Cheers and keep up the great work.

    • danielwould permalink*
      June 30, 2010 9:13 am

      Hey,
      as far as twitpic goes, if I knew how to bring up a gallery view I would, hell even if I could make it work bringing up the standard maemo file dialog I would. It is potentially something that bears further work.
      2) you must write your comment first, then go find a picture to attach, witter currently assumes no text in teh text field at the point you hit twitpic! is a mistake. I keep meaning to get around to putting a proper message pop up for that.

      As for special versions, nope I tend to upload quite frequently, and any mismatch to screenshots is more likely the screen shot is out of date ;-)

      • June 30, 2010 10:17 am

        Hey Daniel,

        Thanks for coming back to me, good to hear on the menu thing, i thought that might have been a easy thing to tell device to open default file browser but guess not.

        I will try what you said to Twitpic, thats great news that it does work.

        Forgot also to mention, will you be able to implement Geo-tagged tweets ?

        Also whats your twitter username, would be very handy to be able to provide bugs etc on the fly just like Janole does with Gravity

        Cheers

        Colm

  75. EvilZivi permalink
    July 2, 2010 6:09 am

    Oh, oh… I just noticed, that when doing multiple searches or user histories, the entries get mixed up. That is, the entries are not being cleared when the next search/histroy has been performed.

    • July 8, 2010 5:41 am

      My Witter is completely messed up.

      Error 400, but no problems with Twitter or Twitter-account as by browser Twitter and account work fine. Problem not resolved in days now.

      Reinstalling did not help, and the account settings are not removed during uninstall.

      Removing an account is not possible, as it is not possible to deactivate an account. Please help…

      • danielwould permalink*
        July 8, 2010 6:41 am

        are you saying witter receives 400 but mauku or other twitter clients are fine? or just that twitter.com is fine?
        did witter ever work for you?
        what refresh rate did you configure for your various timelines?
        have you configured oauth? or are you using basic auth?

      • July 8, 2010 6:50 am

        Thanks for the reply. Witter worked fine, but stopped (during the match NL-Uruguai. My Twitter-account works fine (from browser or Mac client), as does Twitter.

        First I got repeatedly the 400 message, now it does nothing… That is, the wheel keeps telling that it’s connecting. No results.

        I’d say removing and reinstalling might do the trick, but settings and accounts are not removed. Removing an account within Witter is impossible, as it wants me to deactivate the account first, but there’s no button to deactivate an account.

      • danielwould permalink*
        July 8, 2010 9:11 am

        ah, now spinning wheel doing nothing is different to persistently getting 400. In either case witter stores all it’s state in some files in the /home/user folder they all start with .witter
        As final resort you can delete all witters state (instructions below)
        However first it would be helpful to me to understand what has gone wrong. if you follow the instructions at the top of this page for running witter from the command line then you will get lots of diagnostic output that will be helpful for me to figure out what has gone wrong.

        Another alternative to wiping out all state would be to modify the account you have set up to some dummy setttings, then create a new account instance for your real id/pwd and configure oauth. Then you can switch to this as the active account (then you can delete the original) This would mean you’d retain any other settings.

        and final resort…
        if you open xterm, and do
        rm -rf .witter*
        you should delete all the witter state. be VERY careful, if you accidentally did rm -rf * it would completely delete everything in your home folder, you must make sure you are using ‘.witter*’ only ever use the * as a wildcard on the end of something unless you really want to run the risk of utterly destroying everything. you have been warned.
        once done witter will start as completely new, and you can try configuring from scratch.

  76. July 12, 2010 8:23 pm

    FYI:
    I have installed the Black Plastic Theme v2 (http://maemo.org/downloads/product/Maemo5/black-plastic-theme/) and now Witter will not start up. I really like using this theme too :-(

    • danielwould permalink*
      July 12, 2010 8:27 pm

      please see top of page for instructions on gathering diagnostics. without logs from witter i can’t even begin to help.

  77. Gavin Allday permalink
    July 14, 2010 10:09 am

    Hi,

    I know this is going to be a stoopid question, but how do you add someone you want to follow?

    Thanks.

    • danielwould permalink*
      July 14, 2010 8:56 pm

      if the person is mentioned in a tweet, then double tap the tweet, then in the menu of options hit ‘mentioned users’ then you should find follow/unfollow etc for each user mentioned in the tweet
      alternatively if you know the user name but don’t see a tweet, then go to the user history tab. enter their username and hit refresh.
      then from one of the tweets do as above.
      if they have protected tweets and you can’t see any tweet that mentions them, you’d have to use the twitter website.

  78. Guillermo permalink
    July 14, 2010 6:49 pm

    Hello Daniel.
    Today suddenly witter stoped working. It doesn’t start. I ran it from terminal and this is the log. Could you help me pls? thanks

    $ run-standalone.sh python2.5 /opt/witter/witter.py
    No config file, prompt for uid / pwd
    Failed to establish api for Twitter
    Failed to establish api for Twitter
    corrupted avatar file found, deleting it
    Traceback (most recent call last):
    File “/opt/witter/witter.py”, line 1166, in
    app = Witter()
    File “/opt/witter/witter.py”, line 169, in __init__
    self.activeAccount.tweetstore = self.reload_timeline_data(‘/home/user/.wittertl’,self.activeAccount.getTimeline())
    File “/opt/witter/witter.py”, line 652, in reload_timeline_data
    os.remove(“/home/user/.witterPics/” self.accountdata.servicename “/” filename)
    AttributeError: Witter instance has no attribute ‘accountdata’

    • danielwould permalink*
      July 14, 2010 8:54 pm

      ah, looks like you tested a bit of code that I was waiting to get tested. basically for some reason an avatar has been corrupted during download, now whenever you get a tweet from that person it goes bang.
      temp fix:
      open xterm:
      cd /home/user/.witterPics/twitter/
      rm *
      this should remove all the corrupted avatars

      • Guillermo permalink
        July 15, 2010 12:03 am

        Thanks Daniel. It worked!

  79. July 20, 2010 12:54 am

    hi,
    i was used to witter already and suddenly when i open the witter tab through my n900 it always goes back to the my desktop menu…i tried to refresh it but the same problem comes my way

  80. July 20, 2010 11:32 am

    Hi Daniel,

    I’ve been using Witter for a while now and think it’s great.
    It’s made my top five apps for the N900, and I’ve put it in my Blog :D.

    Keep up the good work, and looking forward to seeing future revisions.

  81. July 21, 2010 6:43 am

    Thanks for the app. How can i add pics directly from the camera.

  82. July 22, 2010 8:43 am

    Just added Witter onto my N900, and it already looks like a winner. When installing, I did find a small bug, though: in the Account Setup, when you Edit an account to add a password, I can see the first letter of the password getting capitalized before being replaced with a “*”. This of course makes it a bit hard to enter passwords correctly :-)

  83. Rubus permalink
    July 26, 2010 12:10 am

    Kinda funny you got an N810 in your top banner yet can be bothered to update the Diablo version. Too bad.

    • danielwould permalink*
      July 26, 2010 6:47 am

      no time to update n810 version, also no time to update banner. seems consistent. luckily witter is open source so someone with time could update the n810 version by looking at the latest ver.

  84. seagolfer permalink
    August 1, 2010 1:53 pm

    Got around to adding a user photo/icon which shows up fine at twitter.com but not on my Witter. Also tweets now saying “from API instead of “from Witter”. Hope this is useful, and thanks for Witter !

    • danielwould permalink*
      August 1, 2010 3:45 pm

      you need oauth configured to get tweets showing from ‘witter’. if you look in account settings does witter think it is configured?

      as fo photo, witter caches images and rerloads if it sees more than about 10 tweets from a user in a given run. try loading your account in the userhistory view (just hit refresh in that view) and see if it triggers an update to your avatar.

      • Minty permalink
        August 4, 2010 11:11 am

        Hi

        I have added indenti account, The oauth didn’t seem to work, like the oauth bug a while back in twitter accounts, just keep on clicking but nothing happened

        When I edit the account I see no Oauth ‘button’ as I do in the twitter account window

        And I cannot tweet from this account, which I presume is normal if the oath is not setup correctly,

        Am running latest version as of this mornings update

        Thanks

      • danielwould permalink*
        August 4, 2010 5:34 pm

        sorry, it’s not very clear, oauth isn’t supported with identi.ca but the option only disappears if you go back into an identica account setup. it should be fine with just the basic auth settings

      • Minty permalink
        August 4, 2010 2:11 pm

        This afternoon’s version installed, I like the button +20, +50 bottom of screen,

        Can’t U get rid of the tweet button when in the search window so save tweeting searches by mistake ?

        Top menu bar seems to be screwed up though, most are missing off screen

        Lost my searches again in search box, they regularly disappear :(

      • danielwould permalink*
        August 4, 2010 5:36 pm

        if i got rid of the tweet button, how would you respond to tweets you saw in search results?

  85. August 4, 2010 5:48 pm

    Hi Daniel,

    There seems to be 2 RT buttons when I click on somebodies tweet. One button says RT and the other Retweet.

    Also when I try to use the shorten URL function, nothing happens. I type my URL and press the button to make it happen and it kicks me back to the witter main screen.

    • danielwould permalink*
      August 4, 2010 5:57 pm

      twitter supports two kinds of retweet. the ‘old’ style where you prefix with RT but can add some comment addition. and the ‘new’ style where you don’t get to add comment, but twitter ‘knows’ you retweted. hence two buttons.
      have you configured bitly account details? currently that only works if you have configured an account with bit.ly

      • August 4, 2010 6:11 pm

        Perfect.

        I’m now all set up with bit.ly and it works very well. I didn’t realise I had to sign up, I thought Witter did some magic to do it automatically.

        Great job again Dan.

  86. Geo permalink
    August 9, 2010 12:51 am

    Hi Daniel, is there any way to get less than 200 tweets every time I open witter? Thanks

    • danielwould permalink*
      August 9, 2010 6:23 am

      witter caches the last 20 tweets in the timeline when you close it. when it starts up it requests all the tweets that have occured since the latest one in the cache. up to a max of 200. so you only get 200 if there have been at least that many since you used witter last.
      this is not configurable at the moment.

  87. Ahmed permalink
    August 10, 2010 6:55 pm

    I just want to know if witter will work in backgroung or do i have to minimize it in my n900

    • danielwould permalink*
      August 10, 2010 7:07 pm

      witter will run in the background if you have it loaded, eg availiable in task switcher. it will pop up notifications for mentions/dms like e-mail does. but it isn’t always running like e-mail, it must be loaded.

  88. Geo permalink
    August 13, 2010 3:57 am

    Hi Daniel. What’s new on version 0.3-6? I tried to update but after that witter doesn’t start.

    • August 13, 2010 10:15 am

      In the latest version downloaded the 13 is there anyway to close the panel with my photo, last tweet etc as this takes up a third of my screen

      • August 13, 2010 10:20 am

        I move the screen by about 1cm to access the bottom buton, but if I go slightly too far it changes to the next screen, anyway to have the buttons top & bottom without have to “move” the screen ?

      • danielwould permalink*
        August 13, 2010 12:37 pm

        If you switch off gesture support then you won’t get this (but you will have to use the buttons to change views), also in response to your previous comment, it does scroll off the top of the screen as you scroll down…so it doesn’t really take up viewing area.

        In any case this is a dev update with just a few ideas I’m playing with, taking feedback as to ways to re-arrange etc. considering putting profile on it’s own top level page and having other views as stacked windows…not sure though.

      • August 13, 2010 10:20 am

        same issue for me too, also i dont know about the whole thumbing to the right etc, the timeline now seems detached and almost like a webpage.

        I find this version to be very jittery, i think also loading the last 200 tweets is too much, last 30-50 is enough to begin with.

      • danielwould permalink*
        August 13, 2010 12:38 pm

        witter loads up to 200 tweets, but only as far back as the last tweet it saw. After the first run, it should only ever fetch the tweets since the latest one it remembered from teh last run. Obviously if there have been 200> tweets since then, you wlll get another 200.

      • August 13, 2010 11:55 am

        How about a button on the top menu that gives a small drop down window with the top / bottom buttons onit

        And maybe a same system that give you a choice of search windows, one window by search word and results and scrollable left to right to see the other search results (like in Gravity)

        This could also apply to some of the top icons that could be grouped together, such as friends, direct messages , public, trends maybe even user definable

        This would leave the home screen less clotured and give more options to users

        keep up the good work :)

  89. August 13, 2010 1:22 pm

    Unticking gestures stops left to right sliding as explained :)

    Placing Following, behind Followers would gain 1 line and placing them both behind Tweetcount could save another line

    EX : TweetCount xx, : Followers xx : Following xx
    :)

    • Luca10 permalink
      August 14, 2010 2:20 pm

      Just updated witter to v. 0.3.6-0 and….it doesn’t work at all! When launching Witter it remains a few seconds in the black “loading” screen and than it auto-crashes.

      What’s wrong? The last v. was very good.

      • danielwould permalink*
        August 14, 2010 2:35 pm

        This version is in the extras-devel repository, it is part way through a significant set of changes. Consequently it is unstable. You should seriously consider not using the devel repository. The current failure is a dependancy that I forgot to add to the package scripts. it will be fixed in teh next update. But there is likely to be significant instability in the development version for a while.

  90. August 15, 2010 10:58 am

    I like the latest version with the options for the screen selection right at the beginning, make thing far cleaner, new top bottom buttons better placed as well

    Now if we can save the search results to one per page this would be awesome

    Préfs and in changing accounts no longer working, but that I’m sure that you are aware of, sometime the program hangs at start up and has to be rebooted

    now getting ‘error retrieving tweets server returned 500′ in timeline that I didn’t have 10 mins before

    PS I am aware that I’m using ‘extras-devel repository’ so I’m ok with the problems

  91. Gerhard Stoll permalink
    August 15, 2010 8:02 pm

    Hi,
    on my n900 witter don’t run. The ui fail :-(

    $ run-standalone.sh python2.5 /opt/witter/witter.py
    Traceback (most recent call last):
    File “/opt/witter/witter.py”, line 60, in
    import ui
    File “/usr/lib/python2.5/site-packages/PIL/__init__.py”, line 1, in
    #
    File “/home/user/src/witter/fremantle/src/opt/witter/ui/gtkWitter.py”, line 37, in
    File “/usr/lib/python2.5/site-packages/PIL/__init__.py”, line 1, in
    #
    File “/home/user/src/witter/fremantle/src/opt/witter/account/account.py”, line 41, in
    ImportError: No module named location

    greeings from geri

    • August 16, 2010 8:19 am

      Updated to Monday’s update, my version seems to be confused as I have one of my identi accounts active and am unable to ‘un activate’ it

      it stays active all the time even when I activate another one or a twitter one, giving me always two accounts active

      Only one account seems to be ‘blocked’ if I activate another identi account and then activate a twitter accounst the other account will be un activated correctly, so just one account is

      I am unable to delete it as well as I get the message unable to delete an active account, also my time line shows only the blocked account.

      I have cheated deleting the account in the .twitterUser config file

      All seems back to normal will re create the identi account that posed the problem

  92. Gerhard Stoll permalink
    August 16, 2010 4:27 pm

    Hi,
    here my ouput from the update today night.
    Now the program start an freze .. and did n t answer. :-(
    Here the debug output….

    $ run-standalone.sh python2.5 /opt/witter/witter.py
    No config file, prompt for uid / pwd
    Failed to establish api for Twitter
    Failed to establish api for Twitter
    failed to read timeline file
    failed to read timeline file
    failed to read timeline file
    /opt/witter/ui/gtkWitter.py:80: GtkWarning: gtk_container_child_set_property: assertion `child->parent == GTK_WIDGET (container)’ failed
    self.builder.add_from_file(“/usr/share/witter/witter.ui”)
    UI elements loaded from file
    signals connected to buttons
    Loading Theme Icons
    pixbufs loaded for default theme
    defining ui buttons
    define portrait keyboard objects
    define general window
    adding button to panned area
    time to show the window
    pixbufs loaded for default theme
    pixbufs loaded for default theme
    running tasks: 1
    Failed to establish api for Twitter
    running tasks: 0
    running tasks: 1
    Failed to establish api for Twitter
    running tasks: 0
    running tasks: 1
    Failed to establish api for Twitter
    running tasks: 0
    end refresh setup
    setting never rotate
    trigger landscape orientation
    Traceback (most recent call last):
    File “/opt/witter/witter.py”, line 1232, in
    app = Witter()
    File “/opt/witter/witter.py”, line 205, in __init__
    self.activeAccount.setProfileInfo()
    File “/home/user/src/witter/fremantle/src/opt/witter/account/account.py”, line 143, in setProfileInfo
    AttributeError: ‘NoneType’ object has no attribute ‘GetUser’
    quitting
    lat = 51.100000, long = 10.500000
    Killed
    ~ $

    greetings from geri

    • danielwould permalink*
      August 16, 2010 4:31 pm

      a bug in current version assumes there is a valid account set up. and it seems that you don’t have one. will have to fix it later.

      • August 16, 2010 5:33 pm

        I was havingh 400 and 500 errors and active problmes with my identio accounts so I deleted witter includin all .witter files

        I Reinstalled the latest vesion but it was hanging at start up, guessing that this was due to lhe latest version

        I disaballed extras-devel and reinstalled, I then setup my account including Oath etc when all was OK the reactivated extras-devel and down loaded the latest version, so it seems that I found the above bug as well :)

        It seems that you have also a bug with second accounts and or Identi accounts, if you activate them you cannot dis-activate them and that is why I reinstalled in the first place

  93. Gerhard Stoll permalink
    August 16, 2010 11:37 pm

    Hai, your last update help me.
    i c=n login to twitter and search but then it freez…
    here the debug output..

    BusyBox v1.10.2 (Debian 3:1.10.2.legal-1osso30 0m5) built-in shell (ash)
    Enter ‘help’ for a list of built-in commands.

    ~ $ run-standalone.sh python2.5 /opt/witter/witter.py
    gestures enabled
    tweet with location enabled
    no service setting
    No more users to load
    Establishing api for Twitter using basic auth
    Connection working ok
    Failed to load cached timeline
    Failed to load cached timeline
    Failed to load cached timeline
    /opt/witter/ui/gtkWitter.py:82: GtkWarning: gtk_container_child_set_property: assertion `child->parent == GTK_WIDGET (container)’ failed
    self.builder.add_from_file(“/usr/share/witter/witter.ui”)
    UI elements loaded from file
    signals connected to buttons
    Loading Theme Icons
    pixbufs loaded for default theme
    defining ui buttons
    define portrait keyboard objects
    define general window
    adding button to panned area
    time to show the window
    pixbufs loaded for default theme
    pixbufs loaded for default theme
    running tasks: 1
    getting tweets with Gerhard@gerhard-stoll.de
    base url = https://twitter.com/
    base url of api object = https://twitter.com/
    refreshing since21350910036
    fetching tweets from https://twitter.com/statuses/friends_timeline.json
    running tasks: 2
    getting dms
    running tasks: 3
    getting mentions
    end refresh setup
    setting never rotate
    trigger landscape orientation
    getting profile info
    quitting
    lat = 51.100000, long = 10.500000
    Traceback (most recent call last):
    File “/opt/witter/witter.py”, line 1207, in
    app = Witter()
    File “/opt/witter/witter.py”, line 205, in __init__
    self.activeAccount.setProfileInfo()
    File “/home/user/src/witter/fremantle/src/opt/witter/account/account.py”, line 151, in setProfileInfo
    File “/home/user/src/witter/fremantle/src/opt/witter/account/account.py”, line 146, in getProfileInfo
    File “/opt/witter/twitter.py”, line 1862, in GetUser
    json = self._FetchUrl(url)
    File “/opt/witter/twitter.py”, line 2330, in _FetchUrl
    url_data = opener.open(url, encoded_post_data).read()
    File “/usr/lib/python2.5/urllib2.py”, line 387, in open
    response = meth(req, response)
    File “/usr/lib/python2.5/urllib2.py”, line 498, in http_response
    ‘http’, request, response, code, msg, hdrs)
    File “/usr/lib/python2.5/urllib2.py”, line 425, in error
    return self._call_chain(*args)
    File “/usr/lib/python2.5/urllib2.py”, line 360, in _call_chain
    result = func(*args)
    File “/usr/lib/python2.5/urllib2.py”, line 506, in http_error_default
    raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
    urllib2.HTTPError: HTTP Error 404: Not Found
    running tasks: 2
    offset hours = 0
    None
    2010-03-24 01:07:21
    offset hours = 0
    None
    2010-01-15 13:24:53
    running tasks: 1
    running tasks: 0

    greeings from geri

    • danielwould permalink*
      August 17, 2010 7:01 am

      silly question, are you certain your twitter details are correct? did it load your timeline?
      looks like i need to guard against a 404 when getting user data. but the 404 still implies it couldn’t find your user.

  94. Ronald permalink
    August 23, 2010 1:00 pm

    Daniel,
    Is it maybe possible to add a shortcut to jump directly to the newest and/or oldest message from the list?
    p.e. ctrl+up / ctrl+down for each one.

    Appreciate the change if possible.

    Ronald.

    • Ronald permalink
      August 26, 2010 12:34 pm

      Há, shift-up & shift-down implemented in last update.
      Many thx.

      Ronald.

  95. August 24, 2010 8:18 am

    hi daniel,
    i cannot refresh timelines in my witter.how can iget it back?thanks

    • danielwould permalink*
      August 24, 2010 9:51 am

      I have no idea, without logs there is no possible way I could guess what might be happening. Please follow instructions on the top of the page.

      • August 24, 2010 10:42 am

        i went to the x term…

        it says:
        $ run-standalone.sh python2.5/opt/witter/witter.py
        /usr/bin/run-standalone.sh: line 11: python2.5/opt/witter/witter.py: not found

        hope you can help.thanks!

      • August 24, 2010 10:46 am

        hi daniel,

        i followed the instructions on the top page.
        it says:

        $ run-standalone.sh python2.5/opt/witter/witter.py
        /usr/bin/run-standalone.sh: line 11: python2.5/opt/witter/witter.py: not found

        hope you could help.thanks

  96. August 24, 2010 10:35 am

    hi daniel.
    i have a problem refreshing my timelines for witter in my n900.mt mentions refresh is okay.trouble only for the timelines.my version is 0.3.4

  97. Martin permalink
    August 29, 2010 3:41 pm

    Hi Daniel, thank you for making Witter! I just bought you a pint.

    Actually, Witter is the best Twitter client I have found – it is far better than anything I’ve found for my KDE desktop.

    So, I would like to port it to a KDE plasmoid/widget. Can you suggest where to start? I’m a bit confused wrt gtk+ and Qt – does witter depend on any gtk libs?

  98. August 30, 2010 8:12 am

    Hey Daniel, i really think your app is the best twitter app there is on n900.

    but i have a problem. when i got my n900 the app started and i wanted to fill in the confirmation code (if i remember right) but i did something wrong so i closed the app and now the problem is for over 2 weeks.
    When i open the app it loads and loads and then just closes automatically. i deleted the app and installed again many times.

    I just can’t get it working on this n900.

    Please anynone tell me if u have or had the same problem

    • danielwould permalink*
      August 31, 2010 11:06 pm

      there are some files in /home/user that start with .witter
      you’ll need xterm to find them. delete3 hose to reset witter to a blank& slate

      • Ronald permalink
        September 2, 2010 8:42 am

        Use
        ls -a
        if you don’t see files beginnig with .

        p.e.: ls -l -a

        regards.

      • September 6, 2010 1:39 pm

        Yes it worked :D thank you very much :)

  99. Ronald permalink
    August 31, 2010 8:23 pm

    Daniel,

    My Witter does not start anymore. It closes itself after a few seconds.
    I don’t know the version because it doesn’t stays up so long. It’s loaded/installed trough catalog extra-devel I think (it’s with the shift-up and shift-down thing in it)

    thx on forehand for your help.

    Log:

    gestures enabled
    tweet with location enabled
    no service setting
    No more users to load
    Establishing api for Twitter using basic auth
    Connection working ok
    Establishing api for Twitter using basic auth
    Connection working ok
    Failed to load cached timeline
    Failed to load cached timeline
    Failed to load cached timeline
    UI elements loaded from file
    signals connected to buttons
    Loading Theme Icons
    pixbufs loaded for default theme
    defining ui buttons
    define portrait keyboard objects
    define general window
    adding button to panned area
    time to show the window
    pixbufs loaded for sketchy theme
    pixbufs loaded for sketchy theme
    end refresh setup
    setting never rotate
    trigger landscape orientation
    getting profile info
    quitting
    lat = 52.200000, long = 5.300000

    • Ronald permalink
      September 2, 2010 8:50 am

      Daniel,

      I deleted the .witter files also and at least it does’t crash after a few seconds now.
      However, after defining my account (100% sure it’s okay, 4x checked) it keeps telling me that: “Error retrieving tweets. Server returned 401: Not authorised:check uid/pwd”

      What can I do about this?

      Other tool (like Mauku) also don’t get any data.

      Best regards.

      • danielwould permalink*
        September 3, 2010 12:36 am

        Did you configure oauth? As of now twitter no longer supports basic auth.

      • Ronald permalink
        September 3, 2010 6:09 pm

        Never hear about oauth. Did som check on the net about what and howto.
        Who’s interested please see: http://talk.maemo.org/showthread.php?p=805753

        First of all I deleted the .witt* files again because it didn’t allo me to change the settings. After that I define the account again with the twitter oauth validation and it’s working like charm again.

        Many thanks for your help & have a nice weekend!

        Ronald.

  100. Martin permalink
    August 31, 2010 8:36 pm

    Well, someone suggested the Twitter client Choqok for my KDE desktop, and it is actually quite nice. So, I might not be so eager to port Witter to a plasmoid afterall… :)

  101. Karl permalink
    September 3, 2010 2:13 pm

    after updating, i cant find my friend list.

  102. September 6, 2010 6:17 pm

    Hi,

    Thanks for the wonderful twitter app ‘witter’.

    I have updated my witter on N900 to Version 0.3.6. Now I feel like it is unstable, I couldn’t open it successfully if I try to connect internet using my mobile’s 2G or 3G internet connection. Usually its get hanged.
    But it working ok with Wifi internet connection.

    I was trying to reinstall the app, but when try in unistall it shows a message Unable to uninstall ‘witter’. Some application packages are needed by other applications. An when checking details i got “Unable to uninstall witter. Required by application packages : levelball(0.0.7-9).”
    levelball is another application is installed. When I try to uninstall it also showing similar error saying some packages are needed by witter.
    Could you please let me know how can I solve it?

    Regards
    Eldhose Mathew

    • danielwould permalink*
      September 9, 2010 10:44 am

      0.3.6 is unstable. that isx why it is in the development repository and not the testing repository.
      i don’t knosw why there is any dependancy between witter and levelball, i don’t have that installed and I’ve never heard of it. sorry.

  103. karl permalink
    September 9, 2010 6:32 am

    hey, why my witter always get close every time i choose timeline.

    • danielwould permalink*
      September 9, 2010 10:48 am

      i have no idea. you’ve given me basically no information to go on. please read this page for instructions on how to provide error information.

  104. toki permalink
    September 18, 2010 3:54 am

    hi my witter doesnt work
    when i open the app it just stalls and keeps loading something. it would tell me i have ‘xx’ new tweets but it wont stop ‘loading’ and i cant click on anything

    i can only do a force close to close the app

    i have got witter 0.3.6-4
    please contact me by email

    thanks in advance!

    • danielwould permalink*
      September 18, 2010 9:06 am

      there are instructions on this page, and throughout the comments for how to provide information in the event of a problem. there is also a new version in extras-devel.

  105. September 21, 2010 9:31 pm

    Daniel,

    I do appreciate your efforts and you have created a very nice piece of software, which is why the update that rendered it useless (the Meamo version of circle of death kept spinning) seriously annoyed me. (Yeah I know – devel repository stuff means assuming the risk).

    The recent updates didn’t suffer from the same problem but it simply won’t log-on. On the logonscreen I press the Oauth (without changing username and password) and I get a failed login.

    As username there are three optional options to use, mailadress, @+username or username (without the “@”). I have tried all of them (originally I used the mailadress which worked in older versions).

    I suspect that my password is the problem – it contains capitals and normals, characters and numbers which should all be OK I hope. But it also contains “=”. I can logon using the webinterface so there is nothing wrong with my credentials.

    In orde to tweet from the phone, I did try one of the competing products (I don’t have the phone handy but I believe its called TwimGo). This other program also denied me to logon.

    As I read that you used premade Oauth libraries, they may be the common reason why two clients on the same platform behave the same in the same situation. Is it possibly so that the character “=” is not properly handled in the Oauth library you used?

    /Pontus Berg

    • September 22, 2010 7:04 am

      How do you delete the searches and add new ones, so that they are there next time witter opens

      • danielwould permalink*
        September 22, 2010 7:46 am

        In theory, anything in the text entry field on the search ‘view’ gets persisted, that is if you move to another view, then come back t9o the search view those terms should still be in the search field. similarly if you quit, and reload it should reload those terms. Just alter them to what you want.
        That said I’m sure there are bugs in this process. and it is now confused by the latest versions which go find any saved searches you have with twitter, and turn them into buttons. These you still need to change with twitter.com, but witter will load the new ones whenever it updates your profile info (when you post mainly)

        Am I to assume the above is *not* the behaviour your seeing? In which case which specific version ( from app manager) are you using, and what is happening?

    • danielwould permalink*
      September 22, 2010 7:06 am

      i’m not sure i understand. you had witter working before? then it stopped loading at all. now it loads but doesn’t retrieve any tweets.
      did you have oauth configured before?
      you say on thed ‘logon screen’ you hit oauth buttonand you get failed logon….witter doesn’t have a logon screen. it has account setup. but once configured once you don’t need to go back there. the oauh button should bring up the browser and a twitter page for authorising witter. does it?

      you don’t need to enter your password in witter at all anymore. in fact i’ll probably delete that input box. the point of oauth is that you don’t need to give third party apps your password.
      the oauth library/process doesn’t ever see your password.

      as allways without a log i can’t really do more than guess at the problem.

  106. Ronald permalink
    September 23, 2010 12:35 pm

    Daniel,

    When typing a tweet to someone you need to know the persons (twitter) name and type it completely if it is not a reply.
    Is it possible to get a kind of shortlist while you’re typing the @name?
    This because I don’t remember all aliases and don’t want to make a mistake.

    I’ve searched all topics but could not find any solution for this.

    Beste groeten, kind regards, cordiales saludos

    Ronald.

    • danielwould permalink*
      September 23, 2010 6:13 pm

      That was something that sort of half worked in the version at Extras. But only ever worked if you a) had all the friends loaded, and b) it was the first thing in the tweet field.
      Now that I’ve moved to a different kind of text entry field, even that much doesn’t work. I’m not sure if there is an auto complete option in the text view. If I find one I’ll certainly add this function.

  107. Karl permalink
    September 28, 2010 9:49 pm

    i cant find tweetpic menu..

    • danielwould permalink*
      September 29, 2010 3:23 pm

      I removed it thinking that it wouldn’t work now basic auth isn’t supported by twitter. Intending to get around to re-write that whole area.
      Someone told me that it does still work, so 0.3.6-8 re-enabled the button. However last time I checked extras-devel had swallowed that version. not sure when it will pop up as available as an update.

  108. peter permalink
    October 16, 2010 6:22 pm

    I just bought you a beer, enjoy!

    • danielwould permalink*
      October 17, 2010 9:11 am

      Thanks you, I most certainly will :-)

  109. Luca10 permalink
    October 24, 2010 4:42 pm

    Any way to turn off the GPS module if you don’t enable the “show the location” option?

    • danielwould permalink*
      October 24, 2010 6:44 pm

      I’m not sure I understand the question. Gps switches off when sharing location is disabled. Are you saying you still get the satalite dish icon even when you’ve switched sharing off?

      • Luca10 permalink
        October 24, 2010 8:47 pm

        Yes, exactly.

      • danielwould permalink*
        October 28, 2010 11:33 am

        not sure what to say. it works fine for me. starting and stopping gps when i check and uncheck location sharing.

  110. October 27, 2010 12:05 am

    hi daniel,
    i ran in the xterm and this came out

    No config file, promt uid / pwd
    failed to establish api for twitter
    failed to establish api for twitter
    failed to read timeline file
    failed to read timeline file
    failed to read timeline file
    /opt/witter/iu/gtkWitter.py:77: GtkWarning: gtk_container_chld_set_property: assertion `child->parent == GTK_WIDGET (conainer)’ failed
    self.builder.add_from_file (“/usr/share/witter/witter.ui”)
    UI elements loaded from file
    signals connected to buttons

    • October 28, 2010 1:53 am

      hi daniel,
      i ran in the x term:

      No config file, promt uid / pwd
      failed to establish api for twitter
      failed to establish api for twitter
      failed to read timeline file
      failed to read timeline file
      failed to read timeline file
      /opt/witter/iu/gtkWitter.py:77: GtkWarning: gtk_container_chld_set_property: assertion `child->parent == GTK_WIDGET (conainer)’ failed
      self.builder.add_from_file (“/usr/share/witter/witter.ui”)
      UI elements loaded from file
      signals connected to buttons
      Loading Theme Icons
      defining ui buttons
      define portrait keyboard objects
      define general window
      setting up treeview
      time to show the window
      running tasks: 1
      running tasks: 2
      running tasks: 3
      end refresh setup
      failed to establish api for Twitter
      running tasks: 2
      failed to establish api for twitter
      runnning tasks: 0
      Segmentation fault

      best regards

      • danielwould permalink*
        October 28, 2010 4:23 pm

        looks like no account is configured. but i segfaulted. does it always do that? i rarely get segfaults, but they are from underlying libs so i have no idea how to fix/avoid them

      • Patrick permalink
        November 8, 2010 1:51 pm

        Hi Daniel,

        I had a similar problem. My N900 runs PR1.3 and witter version 0.3.4-8. When I first start witter all I see is the throbber and nothing else (black screen). Finally killed it. Then started it per your instructions with $ run-standalone.sh …. Again nothing. Then killed it and started it again with $ run-standalone.sh …. This time witter started. Belowis the output from not-starting and starting correctly. Hope this helps. Thanks for witter. My apologies if this is not the right place to report this. If so just delete my posting.

        * not-starting *

        Nokia-N900:~$ run-standalone.sh python2.5 /opt/witter/wi
        /opt/witter/wiiter.log /opt/witter/witter.py /opt/witter/witter/
        Nokia-N900:~$ run-standalone.sh python2.5 /opt/witter/wi
        /opt/witter/wiiter.log /opt/witter/witter.py /opt/witter/witter/
        Nokia-N900:~$ run-standalone.sh python2.5 /opt/witter/witter.py
        No config file, prompt for uid / pwd
        Failed to establish api for Twitter
        Failed to establish api for Twitter
        failed to read timeline file
        failed to read timeline file
        failed to read timeline file
        /opt/witter/ui/gtkWitter.py:77: GtkWarning: gtk_container_child_set_property: assertion `child->parent == GTK_WIDGET (container)’ failed
        self.builder.add_from_file(“/usr/share/witter/witter.ui”)
        UI elements loaded from file
        signals connected to buttons
        Loading Theme Icons
        defining ui buttons
        define portrait keyboard objects
        define general window
        setting up treeview
        time to show the window
        running tasks: 1
        running tasks: 2
        end refresh setup
        Failed to establish api for Twitter
        running tasks: 1
        Xlib: unexpected async reply (sequence 0x288)!
        running tasks: 2
        Failed to establish api for Twitter
        running tasks: 1
        Failed to establish api for Twitter
        running tasks: 0

        * starting correctly *

        Nokia-N900:~$ run-standalone.sh python2.5 /opt/witter/witter.py
        No config file, prompt for uid / pwd
        Failed to establish api for Twitter
        Failed to establish api for Twitter
        failed to read timeline file
        failed to read timeline file
        failed to read timeline file
        /opt/witter/ui/gtkWitter.py:77: GtkWarning: gtk_container_child_set_property: assertion `child->parent == GTK_WIDGET (container)’ failed
        self.builder.add_from_file(“/usr/share/witter/witter.ui”)
        UI elements loaded from file
        signals connected to buttons
        Loading Theme Icons
        defining ui buttons
        define portrait keyboard objects
        define general window
        setting up treeview
        time to show the window
        running tasks: 1
        running tasks: 2
        end refresh setup
        Failed to establish api for Twitter
        running tasks: 1
        Failed to establish api for Twitter
        running tasks: 0
        running tasks: 1
        Failed to establish api for Twitter
        running tasks: 0

  111. Robert Simons permalink
    November 15, 2010 8:29 am

    Hi Daniel,

    I love your Witter client and I’m searching for the donate button on your site.

    I just have one question or remark. Is it possible to clear the screen after a search for people or subjects? If I just hit the refresh button without any queries it doesnt clear it for me.

    Kindest regards,

    Robert Simons
    The Netherlands

    • danielwould permalink*
      November 15, 2010 9:55 am

      the button should be in the top right of every page. Some versions of opera apparently see fit to strip this whole left column off the page. (as does the mobile site) but firefox/chrome etc should find it there.
      as for clearing searches, currently I believe it just adds searches together, it used to clear every time, but that was annoying if you were just refreshing a search.

  112. Wade permalink
    November 16, 2010 7:23 pm

    First off let me tell you I love your witter client. It was just pointed out to me today that when I Reply to a tweet it isn’t linking the original tweet I am Replying to. Ever seen this happen?

    • danielwould permalink*
      November 16, 2010 7:28 pm

      I had not seen that problem, did you do anything between hitting reply and actually replying?
      Is it happenning all the time? Or just a one off?

      • Wade permalink
        November 16, 2010 7:38 pm

        Started recently. I should have included this the first time, sorry about that.

        $ run-standalone.sh python2.5 /opt/witter/witter.py
        gestures enabled
        tweet with location disabled
        no service setting
        clear search results on new search disabled
        unknown option
        No more users to load
        Establishing api for Twitter using basic auth
        Establishing api for Twitter using oauth
        Connection working ok
        Failed to load cached timeline
        Failed to load cached timeline
        Failed to load cached timeline
        /opt/witter/ui/gtkWitter.py:82: GtkWarning: gtk_container_child_set_property: assertion `child->parent == GTK_WIDGET (container)’ failed
        self.builder.add_from_file(“/usr/share/witter/witter.ui”)
        UI elements loaded from file
        signals connected to buttons
        Loading Theme Icons
        pixbufs loaded for default theme
        defining ui buttons
        define portrait keyboard objects
        define general window
        adding button to panned area
        time to show the window
        pixbufs loaded for default theme
        pixbufs loaded for default theme
        running tasks: 1
        location sharing disabled
        waiting for gps thread
        getting tweets with *****
        base url = https://twitter.com/
        base url of api object = https://twitter.com/
        refreshing since4614560795336704
        fetching tweets from https://twitter.com/statuses/friends_timeline.json
        running tasks: 2
        getting dms
        refreshing since4555447101034496
        running tasks: 3
        getting mentions
        refreshing since4555447101034496
        running tasks: 2
        running tasks: 1
        offset hours = +0
        None
        2010-11-16 14:27:11
        stop location tracking
        quitting
        end refresh setup
        setting never rotate
        trigger landscape orientation
        offset hours = +0
        None
        2010-11-16 14:23:31
        getting profile info
        offset hours = +0
        None
        2010-11-16 14:19:55
        offset hours = +0
        None
        2010-11-16 14:25:43
        running tasks: 0
        formatting tweet
        getting saved search terms

        https://api.twitter.com/1/saved_searches.json

        []

        https://twitter.com/*****/lists.json

        {‘previous_cursor': 0, ‘previous_cursor_str': ‘0’, ‘next_cursor': 0, ‘lists': [], ‘next_cursor_str': ‘0’}
        building stacked window with timeline view
        defined stackable win
        setting up treeview
        setting cell wrap to 720
        /opt/witter/ui/gtkWitter.py:560: GtkWarning: gtk_box_pack: assertion `child->parent == NULL’ failed
        iconBox.pack_start(self.timelineButton)
        /opt/witter/ui/gtkWitter.py:561: GtkWarning: gtk_box_pack: assertion `child->parent == NULL’ failed
        iconBox.pack_start(self.mentionsButton)
        /opt/witter/ui/gtkWitter.py:562: GtkWarning: gtk_box_pack: assertion `child->parent == NULL’ failed
        iconBox.pack_start(self.dmsButton)
        calling showall

        Looks like I have a couple of fails in there. Don’t know what happened.

      • danielwould permalink*
        November 17, 2010 9:55 am

        There are no errors as such, just some warnings. Had anything gone wrong for you by that point? I see no logs indicating a reply was sent to anyone.

  113. Wade permalink
    November 17, 2010 1:24 pm

    Here is the log snippet of trying to reply to a tweet

    building stacked menu
    Traceback (most recent call last):
    File “/opt/witter/witter.py”, line 304, in replyTo
    self.ui.setCursorAt(len(self.reply_to_name) + 1);
    File “/home/user/src/witter/fremantle/src/opt/witter/ui/gtkWitter.py”, line 2255, in setCursorAt
    NameError: global name ‘setl’ is not defined
    running tasks: 1
    sending tweet
    reply to @*****
    {‘status': ‘@***** #witter reply test’, ‘in_reply_to_status_id': 4885947204247552.0}
    Tweet Sent
    Tweet successful
    running tasks: 0
    getting profile info
    formatting tweet
    getting saved search terms

    https://api.twitter.com/1/saved_searches.json

    refreshing view
    1
    running tasks: 1
    connection_cb(, , aa55)
    (CONNECTED (51d75a96-0eb3-44ad-b3c8-c14ce74ff523, WLAN_INFRA, 0, 0)
    []

    https://twitter.com/*****/lists.json

    getting tweets with *****
    base url = https://twitter.com/
    base url of api object = https://twitter.com/
    refreshing since4885947204247552
    fetching tweets from https://twitter.com/statuses/friends_timeline.json
    {‘previous_cursor': 0, ‘previous_cursor_str': ‘0’, ‘next_cursor': 0, ‘lists': [], ‘next_cursor_str': ‘0’}
    offset hours = +0
    None
    2010-11-17 08:18:31
    offset hours = +0
    None
    2010-11-17 08:18:26
    running tasks: 0

    Thinking of doing a fresh install. Usually doesn’t fix issues but you never know.

    • danielwould permalink*
      November 17, 2010 3:10 pm

      Which version of witter do you have installed? Looks like a typo in the reply function is causing some prob. Though it seems to still send the reply along with an id.
      Maybe i messed something in the last drop of code.
      I’m assuming you’ve not been editing the code at all.

      • Wade permalink
        November 17, 2010 3:57 pm

        I am currently running 0.3.7-2 version of witter. As far as the code goes, I would be lost in Python, it isn’t my thing. Thanks for all the attention you are giving this.

      • danielwould permalink*
        November 20, 2010 10:05 am

        Sadly my attention comes in fits and starts, next step is to look at code and I’m not really actively developing it right now. Others are looking to get involved developing witter so will no doubt get looked at sometime

  114. Ronald permalink
    November 29, 2010 10:59 am

    Daniel,

    I don’t know whats happening but Witter is crashing or freezing on a regular base. I’m using version 0.3.7

    When I start witter:
    If gps is off on my N900 (location off on witter) it start with the first (summary) page with my account info and does not display my account name or it crashes directly.
    If I go to the messages and refresh it will freeze.

    If gps on my N900 is on my account name and info is displayer properly on the summary page. Go to the messages and on 50% of the times I initial refresh it will freeze or crash.

    Please let me know what I can do to inform you properly and help you find and repair the issue.

    Best regards,

    Ronald.

  115. Mark Koek permalink
    December 29, 2010 8:48 pm

    Just installed Witter but it doesn’t work unfortunately:

    $ uname -a
    Linux Nokia-N900-51-1 2.6.28-omap1 #1 PREEMPT Fri Aug 6 11:50:00 EEST 2010 armv7l unknown

    $ run-standalone.sh python2.5 /opt/witter/witter.py
    No config file, prompt for uid / pwd
    Failed to establish api for Twitter
    Failed to establish api for Twitter
    failed to read timeline file
    failed to read timeline file
    failed to read timeline file
    /opt/witter/ui/gtkWitter.py:82: GtkWarning: gtk_container_child_set_property: assertion `child->parent == GTK_WIDGET (container)’ failed
    self.builder.add_from_file(“/usr/share/witter/witter.ui”)
    UI elements loaded from file
    signals connected to buttons
    Loading Theme Icons
    pixbufs loaded for default theme
    defining ui buttons
    define portrait keyboard objects
    define general window
    adding button to panned area
    time to show the window
    pixbufs loaded for default theme
    pixbufs loaded for default theme
    running tasks: 1
    running tasks: 2
    running tasks: 3
    location sharing enabled
    start location tracking
    Traceback (most recent call last):
    File “/opt/witter/witter.py”, line 1263, in
    app = Witter()
    File “/opt/witter/witter.py”, line 191, in __init__
    self.start_refresh_threads()
    File “/opt/witter/witter.py”, line 937, in start_refresh_threads
    self.activeAccount.start_Location()
    File “/home/user/src/witter/fremantle/src/opt/witter/account/account.py”, line 130, in start_Location
    AttributeError: account instance has no attribute ‘control’
    Failed to establish api for Twitter
    running tasks: 2
    Failed to establish api for Twitter
    running tasks: 1
    Failed to establish api for Twitter
    running tasks: 0

    Then most functionality does not work (i.e. screens show app widgets but no content from Twitter). Disabling location tracking freezes the app, adding to the output in xterm:

    tweet location off
    stop location tracking
    quitting
    Killed

    Mark

    • danielwould permalink*
      January 3, 2011 3:49 pm

      That is very strange, the error ‘AttributeError: account isntance has no attribute control’ looks like a coding error type problem, but it clearly doesn’t effect most people.
      I’d like to be more helpful, but I’m not supporting witter anymore since I moved to an android device. So I don’t have the code set up to look more deeply into it. There was someone on the maemo.org forums talking about picking up the source for witter and continuing development, so perhaps someone on the forums will be able to help

  116. brenda permalink
    January 9, 2011 8:28 pm

    my witter is no longer working what do i do?

    • danielwould permalink*
      January 9, 2011 8:30 pm

      Go check out the forums at talk.maemo.org search for witter and you’ll find the thread. You should get info there. I don’t have the time to keep supporting/developing witter right now, but some people in the community are pretty supportive.

  117. January 11, 2011 9:07 am

    “in reply to” doesn’t work with the latest version 0.3.7.. awesome app btw :)

  118. February 10, 2011 1:10 am

    I used to be very happy to seek out this web-site.I needed to thanks in your time for this wonderful read!! I undoubtedly enjoying every little little bit of it and I have you bookmarked to check out new stuff you blog post.

  119. amaechi permalink
    May 22, 2011 9:23 am

    Hey Would. First up, GREAT WORK you have here. I really appreciate it. By far, the best N900 witter app v seen around.
    V got a lil prob though. this is the second time m installing witter (running 0.3.7 right now). the first time didnt work so well until i ran across a forum which suggested i enter “mv .witter .witter.back” in xterm and reconfigure the client. it seemd to work until this morning after i restarted my fone (havent restarted since i did the mv). now, the app comes up but the timeline doesnt load, neither does anything else. you could see the wheel turning but after 5minutes, i figure it wouldnt matter. i read one of your posts where u said to input “run-standalone.sh python2.5 /opt/witter/witter.py” and tell you the output. well, here’s mine:

    /home/user # run-standalone.sh python2.5 /opt/witter/witter.py
    gestures enabled
    tweet with location disabled
    no service setting
    clear search results on new search disabled
    unknown option
    No more users to load
    Establishing api for Twitter using basic auth
    Establishing api for Twitter using oauth
    Connection working ok
    Failed to load cached timeline
    Failed to load cached timeline
    Failed to load cached timeline
    /opt/witter/ui/gtkWitter.py:82: GtkWarning: gtk_container_child_set_property: assertion `child->parent == GTK_WIDGET (container)’ failed
    self.builder.add_from_file(“/usr/share/witter/witter.ui”)
    UI elements loaded from file
    signals connected to buttons
    Loading Theme Icons
    pixbufs loaded for default theme
    defining ui buttons
    define portrait keyboard objects
    define general window
    adding button to panned area
    time to show the window
    pixbufs loaded for touch theme
    pixbufs loaded for touch theme
    running tasks: 1
    getting tweets with bravomike67@yahoo.com
    base url = https://twitter.com/
    base url of api object = https://twitter.com/
    refreshing since72093046858194944
    fetching tweets from https://twitter.com/statuses/friends_timeline.json
    running tasks: 2
    getting dms
    refreshing since70844336325144576
    running tasks: 3
    getting mentions
    refreshing since70844336325144576
    location sharing disabled
    waiting for gps thread
    stop location tracking
    end refresh setup
    setting never rotate
    trigger landscape orientation
    Xlib: unexpected async reply (sequence 0x248)!

    hope this helps in the never-ending troubleshooting. :D thanks again. Cheers.

    • danielwould permalink*
      May 24, 2011 2:03 pm

      Hi, sorry for slow response, I’m on a work trip. I don’t actually actively develop witter any more, but there are a couple of people on the maemo.org forums that have started to continue development.
      That said that async reply thing was something that ‘happened’ occasionally. I think it meant that somewhere I was doing something I shouldn’t on the UI thread, but I never could track it down. For me it was an occasional error, rather than a consistent one. In any case best place to go is maemo.org forums and search for witter there. you should find an active thread discussing it.

  120. April 30, 2012 8:02 pm

    Hey! I just got me a N900 with stock uptodate Maemo, and loving it more every day. Allthough an old phone, it does everything I need. And more. And I started to use Witter for Twitter app! But, as things go, I’d like to remove all accounts and start fresh, I got some problems activating it. But it won’t let me delete active accounts, but I can’t deactivate them either. Where is the config file located that defines the accounts at Witter? Keep up the good work, love the N900 and Witter!

    • danielwould permalink*
      April 30, 2012 8:07 pm

      I don’t still develop witter, however all it’s settings are kept in a set of files under your home folder (/home/user) the relevant files all start .witter they should be pretty self explanatory. failing that, there is a thread on talk.maemo.org where the guys that took over support may be able to offer assistance. glad it’s still proving of some use to people.

  121. November 26, 2012 6:58 pm

    Hello, i read your blog occasionally and i own a similar one and i was just
    curious if you get a lot of spam feedback? If so how do you reduce it, any
    plugin or anything you can advise? I get so much lately it’s driving me crazy so any assistance is very much appreciated.

    • danielwould permalink*
      November 26, 2012 8:52 pm

      I use wordpress.com hosting. They seem to do a great job of filtering the spam. I also approve all comments so when there is spam I mark it as such. I guess that helps

Trackbacks

  1. Developing python for maemo 5 « Daniel Would’s Weblog
  2. Witter Brings More Twitter Features To Maemo 5 | Maemo-Guru.com
  3. Witter: Twitter no Nokia N810 / N900 | rodrigostoledo.com
  4. Cliente de Twitter em desenvolvimento « N900
  5. Witter For Nokia N900 Updated to 0.1.1-9 – Twitter App Steadily Improving
  6. Use Witter to Twitter on N900! | Nokia N900 Blog
  7. Witter. Un’ottima applicazione Twitter per N900 | Risorse Free
  8. Witter. Un’ottima applicazione Twitter per N900 | Le notizie
  9. PitsBlog » Witter als Twitterclient auf dem Nokia N900
  10. Witter, otro cliente para twitter | Nokia N900
  11. Aplicaciones Nokia N900 | Nokia N900 | Aplicaciones Maemo 5
  12. Witter for Nokia N900 | Nokia N900 Applications | Nokia N900 | Maemo 5 Applications
  13. A proper Twitter client for the Nokia N900 | Comments, Code and Qt.
  14. Witter si aggiorna. Nuova versioner per l’ottima client Twitter su Nokia N900 | Le notizie
  15. » Disponibile Witter 0.2.2 per Nokia N900 » Internet, Maemo, News, Software, - MaemoWorld.it
  16. Witter for N900 Update has Added Interface Element and Function | Nokia Fanboy
  17. Twitter on the N900 – What Are My Options? | Wap Review
  18. A long overdue refactor « Daniel Would’s Weblog
  19. Twitterbox on the N900 « Know Nokia
  20. gali » Beginnings of GaliTwit
  21. Accepting tips « Daniel Would’s Weblog
  22. My 5 top Nokia N900 Apps | Adfraser's Blog
  23. Procura-se designer « N900
  24. N900 Witter Update V0.3.6-0 | Adfraser's Blog
  25. Opções de Twitter e Facebook para Nokia N900 | NPossibilidades
  26. Witter para Nokia N900

Comments are closed.

Follow

Get every new post delivered to your Inbox.

Join 100 other followers

%d bloggers like this: