Wednesday, 30 September 2009

pbtweet on github

pbtweet git repository is started.

There is master, development and firefox branch on github. Branch 'firefox' is for Firefox greasemonkey userscript and only branch from master on this repository tree. Mainly I will develop on development branch and commit often and merge into 'master' branch and next development commit will be merged into 'firefox'.

These are not all pbtweet component. pbtweet resources are distributed on Yahoo! Pipes and pbtweet website. But you can reach all feature from these codes.

Feel free to fork and request to merge to me.

Monday, 28 September 2009

pbtweet dev 1.5 0073 builds bit.ly short link

Today, pbtweet dev 1.5 0073 is uploaded. Change log is following.
  1. Delay from checking protected user problem is solved.
  2. Auto url shorten with using bit.ly feature is added.
  3. (via @[user_id]) style is changed into (via @[user_id] http://bit.ly/[alias]) style.
  4. tweetphoto thumbnail for pic.gd link is supported.
In this version, I've changed 2 large part of pbtweet. 1st is bit.ly shorten and 2nd is via style changed.

1st bit.ly shorten link builder is only adding feature on pbtweet. I decided not to add any user interface for it. In this first implementation, pbtweet makes following url to be shorten automatically. Long and un-supported service URL is processed after type, paste or RT/via quoting.
  • longer than 30 characters
  • not shorten URL which supported by pbtweet
  • not media service URL supported by pbtweet

2nd via style change is for future when ReTweeting is supported officially by Twitter. After official RT world, classic current RT style is redundant with official style then I'll make current RT button of pbtweet to mean smaller position on interface. Aside of RT, via with permalink of tweet status might be more important.

Older: [quote string] (via @[user_id]) [additional comment]
New: [quote string or your edited text] (via @[user_id] [bit.ly shorten URL for permalink]

Older example: pbtweet 1.5 dev is uploaded (via @infopbtweet) Hola!
New style example: pbtweet 1.5 dev comes! (via @infopbtweet http://bit.ly/ddwww)

I hate no way to access original tweets.

Enjoy pbtweet!

Friday, 25 September 2009

pbtweet dev 1.5 0072 supports some new media service

I've released pbtweet 1.5 0072 nearly to beta.
  1. Thumbnail for Twitvid is added.
  2. Flickr support is expanded.
  3. Notification parsing bug is fixed (thx @Niratama)
  4. Expanded URL area width is fixed.
In this update, some image services are added. pbtweet doesn't load image from ROW URL not to load malicious codes masked image extensions however some pbtweet users request to add to support for processing image URL.
I'm going to support only permanent URL from image services.

In same reason with supporting only image services, pbtweet will not show web-site status from URL in tweets. It's easy to insert malicious code on URL and hard to detect if it is danger code or safeURL.

Wednesday, 23 September 2009

Twitpocalypse opened 64bit computing

Today, we've through into 64 bit world with Twitpocalipse. Our usually 64bit computing is not started with A.I., 3DCG nor gene processing. Simple but world-wide message service make it start 64bit computing.

Length of serial number of tweets , this number is called status_id in twitter API document , filled out 32 bit computing. 32bit process can't read tweet's status id as number and can't sort tweets along post time. Some poetry person called this as "Twitpocalypse". 1st Twitpocalypse occurred at last July and second and final Twitpocalypse came today artificially.

pbtweet is not affected by Twitpocalypse even if your web-browser works under 32bit process.
pbtweet handle status_id for sorting automatically updated tweets in Javascript. Javascript handle all number as floating point inside and number length is not limited by bit length of browser process.

Sunday, 20 September 2009

pbtweet dev 1.5 0071

pbtweet dev 1.5 0071 is uploaded.
http://web.me.com/t_trace/pbtweet.html#develop
  1. Added j.mp shorten URL expand.
  2. Redundant conversation problem from 0070 is fixed.
  3. Working on single status page.
  4. Fixing problem with RT/via with tweets contains quote.
1. j.mp works same with using bit.ly API.
Though it's normal implement, j.mp is able to be expand with using bit.ly API.
pbtweet expand some type of shorten URLs. bit.ly and j.mp is processed with using their native javascript API via JSONP. ff.im is scraped HTML of FriendFeed website with using Yahoo! Pipes. And other URLs are decoded with using search.twitter.com.

In 0071, I've changed some codes with calling bit.ly API into normal way.
pbtweet requires callback object to contain original <a> DOM id from script in order to execute adding long URL process asynchronously, but bit.ly API is not capable to carry particular string in JSONP object. Until 0070, pbtweet send DOM id with shorten URL alias in batch style and getting DOM id from error message, however I know this is not smart way... bit.ly fixed this artefact in changing callback object not to contain invalid alias error at last Friday, and pbtweet dev 0070 can't add longURL to original <a> segment.

I changed my "wrong" way to build unique script objects in each process to send DOM id to function which adding longURL onto original <a> segment.

Monday, 14 September 2009

pbtweet 1.4 movie

pbtweet 1.4 movie is uploaded on YouTube.com.



I use ScreenFlow for capturing live operation and for editing movie. ScreenFlow is one-stop solution for making video presentation for Mac software developer.

Thursday, 10 September 2009

Twitter Developers Meet Up in Tokyo

I went "Twitter Developers Meet Up in Tokyo" handled by Japanese Twitter operating company Digital Garage.
Matt Sanford (@mzsanford ) and Yukari Matsuzawa ( @ yukarim ) came from Twitter.

Matt showed OAuth, ReTweet and location API abstract to Japanese twitter developers in his short presentation with focusing on expanding to develop with using these APIs.
New topic for me was which translating twitter API documents onto several languages comes in this year. Japanese Translated Twitter and OAuth API document will help us.

Q&A section was filled with request for twitter. ReTweeting with comment, Search API's problem and so. My request for twitter was to make developer to test new interface. One funny spec was requested by mobile phone developer. His request was that OAuth allows to authenticate without cookie. Many Japanese mobile phone handset's web browser and Flash player authenticate with terminal unique IDs but without cookie. Matt said that he understood this "Crazy" request is necessary for Japanese mobile phones.

Anyway, I've enjoyed with meeting many person develop twitter client application. I'm not alone for developing with twitter.

Saturday, 5 September 2009

slowness with using pbtweet

I know pbtweet makes to slow twitter.web from some reason.
  1. Changing tab (home, mention and so) spent long time, sometime script broken
  2. Text inputting with long timeline.
1st problem is solved at pbtweet dev 1.5 0070. This delay comes from original script embedded on twitter web. I don't analyse original script process when switching tabs but some process touch all tweets. Original twitter web don't update automatically and considered length of timeline seems 100 tweets. With using pbtweet, timeline length automatically increase and pbtweet makes too long timeline reaches thousands tweets and conversation chain.
Anyway, I've decided to stop original script not to removing in its slow process. When pbtweet works, timeline link removes original timeline DOM object and makes blank timeline.

2nd text inputing reason is same with 1st. Original twitter's status editing input form cares with their considering length of timeline. Solution for this delay is difficult, I should develop another posting interface which have all feature of original twitter interface. This workaround will come after pbtweet 1.6.

I'm willing to make another status editor because many feature is able to be implemented on pbtweet's original form.

Thursday, 3 September 2009

pbtweet dev 1.5 0069

Today, pbtweet 1.5 development version number 0069 is uploaded on pbtweet website.

At this 0069, I've added Opera support script. pbtweet reached to original web browser which found userscript system on web world. This pbtweet for Opera's 99% codes are similar with script for WebKit just the reverse of GreaseMonkey script. I'll try to merge userscripts for WebKit and Opera but can't merge GreaseMonkey script. Difference is from scope of object from userscript.

Codes of userscript should be capsuled into anonymous function basically. But out of this anonymous function or scope is different from environment of userscript platform.
  • Safari + GreaseKit
    No limitation. userscript code even works out of anonymous function. I worry this unsafe implementation.
  • Chrome/Chromium and Opera userscript
    It's necessary to add script onto document with importing or adding script elements. pbtweet load global scripts if user-agent is Chrome/Chromium.
  • Firefox + GreaseMonkey
    Developer can add unsafeWindow feature of GreaseMonkey. unsafeWindow is able to be handled as document global variable or function from userscript.
Chrome's userscript was same policy with Safari + GreaseKit in early version but changed into same policy with Opera at Chrome 2.0.x wise-fullly.

Opera is not so bad environment for pbtweet except CSS supporting. pbtweet interface depends on CSS transformation. User setting panel, URL expander and picture thumbnail layout is using with using CSS3 transformation. I should make a some style setting codes for Opera in these days.

However CSS3 transformation seems to be described as eye candy effects, I beleve power-fully transformation of CSS3 should be mentioned as necessary function for interactive user-interface like as you see on pbtweet on WebKit.

Tuesday, 1 September 2009

GreaseKit for 64bit Safari

@xdd released ad-hock solution "GreaseKit for Safari 64bit" for using userscripts on 64bit Safari on Snow Leopard.
His blog article is following URL (written in Japanese)
I'll add English install instructions on here later.

Userscript starts from Opera and now it runs on Firefox add on GreaseMonkey and Google Chrome. And we had userscript solution GreaseKit on Safari until Leopard era. GreaseKit which is similar to famous add-on GreaseMonkey works on SIMBL platform. SIMBL is solution for adding plug-ins onto Cocoa application with hacking input-manager.

But now, Apple made input-manager to be safe on Snow Leopard 64bit application. And userscript's driver plug-in "GreaseKit" lose its platform SIMBL.

I'll use GreaseKit for Safari 64bit for developing userscript on great WebKit's Web Inspector however I agree Apple's choice to close miss-design on input manager basically.