14 Apr 2007
I just watched Robert Scoble’s video-audio-live-stream , which was being broadcast from his car. He was using his laptop, a Verizon wireless card, a webcam, inbuilt-microphone and UStream account.
Check out the screenshot.
UStream looks pretty interesting to me, it has live chat and different social-networking features (embed, comment-engine etc).
BTW! Motvik, a startup based in India, would allow you to use your camera-phone as webcam over Bluetooth. Now imagine, how UStream and Motvik would go together?
13 Apr 2007
What is Dekoh?
Directly from Dekoh website:-
Pramati announces Dekoh, a new desktop platform for applications that can deliver integrated experience of web and desktop
I know the company (Pramati Technologies) for some time (through some ex-colleagues at Adobe who came from this company in 2004).
I know these guys have been doing good in Java/J2EE community and contributing in some of the specifications. I respect them for that.
Lately, some of the posts (listed below), from Dekoh guys, sounds like a marketing strategy, where they are trying to get popular by using words like “Adobe”, “Apollo”, “Flash”?
Some of their posts:-
It’s good idea to create products, come up with new things and give different solutions to developers/end-users. Competition is always good, though in this case I feel Dekoh and Apollo are two different things.
Anyway, I don’t get following points:-
- How can someone compare things without even understanding or knowing a technology (Adobe Flash/Apollo)?
- How an engineer from same company starts talking about Apollo-going-Yahoo!-Widget-Engine-way? and sells the idea of Dekoh?
- How can one company use other company’s marketing effort to get some focus?
- Why can’t you create your own identity without using other brands in any form (comparison, rant etc) in your marketing/PR agenda? Is Dekoh feeling insecure?
Not only that, I wonder if they have convinced some guys to write about Dekoh vs Apollo story on blogsphere (readwriteweb example, there might be more I don’t know).
I personally don’t like such strategy and didn’t like when Microsoft did something similar in past.
A good product/technology would eventually would be known and used. We need to leave things users/community to decide/use/review/conclude?
I have not seen Dekoh, except screenshots and I don’t remember of having said anything against it. I just feel uncomfortable, when I read such posts.
Technorati tags: adobe, apollo, dekoh, marketing, tactic
11 Apr 2007
Gmail uses mouse-down event instead of click (mouse-button-release) at many places (Compose Mail, Inbox, Chats etc) in it’s frontend.
I face following problems because of their wrong choice of event (mouse-down instead of click):
- I can’t select text while in list view. For example, if I want to select the sender’s name or subject, instead it opens the mail thread.

\
- If mouse-button is pressed by mistake on any of links (Compose Mail, Inbox etc), associated action takes place and I am forced to click on browser’s back button (or equivalent) to get back to previous state (screen/view). I don’t get a chance to change my mind by releasing mouse-button outside of link area.

Technorati tags: gmail, usability issues
09 Apr 2007
I have been planning to publish content under Creative Commons. I am thinking to choose either ‘by’ or ‘by-nc-sa’ license, little confused because of existing content.
I have some code published earlier under BSD, MIT and different license. Is applying creative-commons going to affect that?
Thought, I would seek for some suggestions by asking everyone. Which one would you choose for your blog? And why?
Thanks in advance.
Update: Creative Commons doesn’t recommend applying it’s licenses on code. It solves my problem, I guess I can choose one of relevant licenses now.
Technorati tags: creative commons, license
09 Apr 2007
I opened sms.ac in Firefox and noticed this:
I have not seen such a nice screen to warn users about browser-compatibility. It’s always better to let user know of such things rather than saying nothing.
06 Apr 2007
I watched the video-recording (101 MB .ogg file) of Kathy Sierra’s talk from LCA ‘07. It’s really good and I learnt many things, which would surely me in getting better at things (building software/products or communities).
Thanks to Gopal for sharing the link.
I noted a few things (points, quotes, words etc etc).
Some of the attributes of passionate users:
- Evangelize
- Learn
- Spend Money
- Spend time
- Connect with others
- Show off / take pride (tshirts, bags etc)
- Elevate the meaning
Some quotes/sentences used in the talk:
- Where there is passion, there is a user kicking ass.
- It’s not about the tools you build, it’s about what your users do with the them.
- Being better is better.
- Being better is higher-resolution experience.
- Make right things easy and wrong things hard.
- Suck threshold vs Passion threshold.
Some screenshots of video can be seen at:
http://www.flickr.com/photos/abdulqabiz/tags/kathysierra/
Technorati tags: kathy sierra, passionate, users, lca07, talk, video
06 Apr 2007
Google maps has introduced a new feature called My Maps which allows users to customize/create maps by adding placemarks, lines and shape. It’s a useful feature, however, I have some doubts.
I am just wondering, what is future of Wikimapia now? In Google My Map, I can see some problems which are redundancy and accuracy of data. Wikimapia was a collaborative environment which means it allowed others to rate/review any changes/addition in content (map).\
Technorati tags: google my maps, wikimapia
02 Apr 2007
Several times a day, I get irritated by following issues in Google Talk user-interface:-
- Moving mouse over contact list brings up the contact-info popup. Which is quite irritating and leads to another annoyance mentioned in next point.
- While accessing the scrollbar, very often, I have to go through contact-list area and that brings up the contact-info popup, which stops me accessing scrollbar. I have to click somewhere else or move mouse out to get rid of popup. I believe, there should be good amount of gap between contact list and scrollbar.

Yahoo! messenger doesn’t have these issues. I get to see contact-info only when mouse is over buddy-icon, which is on left-side. One fix, it solved two issues.

02 Apr 2007
It seems, there is a easier way of constructing YouTube! FLV URL on client-side without using any server-side script.
We need get the YouTube video_id from any of following places:-
Then, construct a URL like this: http://www.youtube.com/v/V3BsjxDZJM0
Above URL is used in YouTube embed-code. It is basically a server-side redirection that points to YouTube Player (.swf). Above redirects (server-side) to following URL:-
http://www.youtube.com/p.swf?video_id=V3BsjxDZJM0&eurl=&iurl=http%3A//sjc-
static12.sjc.youtube.com/vi/V3BsjxDZJM0/2.jpg&t=OEgsToPDskKzlTMEFZ1jOh40Xc3qOxzQ
As you can see in above URL, it contains “t” param (in red), which is what we need along with video_id to construct YouTube video (FLV) URL, YouTube FLV URL would look like this:-
http://www.youtube.com/get_video.php?video_id=V3BsjxDZJM0&
t=OEgsToPDskKzlTMEFZ1jOh40Xc3qOxzQ
You can check out code below to figure out things your own. You can also check out the example-app.
Flex 2.0/ActionScript 3.0 example:-
import flash.net.;
import flash.events.;
import flash.display.*;
private var loader:Loader;
private var abortId:uint;
private function onAppCreationComplete ():void
{
loader = new Loader ();
}
private function startLoading ():void
{
var req:URLRequest = new URLRequest (“http://www.youtube.com/v/3IcwG0jUFxU”);
loader.contentLoaderInfo.addEventListener(Event.INIT, handlerLoaderInit);
loader.load(req);
logMessage (“Loading YouTube URL..”);
}
private function handlerLoaderInit (event:Event):void
{
logMessage (“Loaded, processing: “ + loader.contentLoaderInfo.url);
var urlVars:URLVariables = new URLVariables ();
urlVars.decode (loader.contentLoaderInfo.url.split(“?”)[1]);
logMessage (“Processed:-“);
logMessage (“\t\t video_id:” + urlVars.video_id);
logMessage (“\t\t t param:” + urlVars.t);
logMessage (“\t\t thumbnail-url:” + urlVars.iurl);
var flvURL:String = constructFLVURL (urlVars.video_id, urlVars.t);
logMessage (“YouTube FLV URL: “ + flvURL);
playVideo (flvURL);
logMessage (“Started Playing Video…”);
loader.unload();
}
private function constructFLVURL (video_id:String, t:String):String
{
var str:String = “http://www.youtube.com/get_video.php?”;
str += “video_id=” + video_id;
str += “&t=” + t;
return str;
}
private function playVideo (url:String):void
{
player.source = url;
player.play();
}
private function logMessage (message:String):void
{
outputText.text += message + “\n”;
trace (message);
}
ActionScript 2.0 code-snippet:-
createEmptyMovieClip (“mc”, getNextHighestDepth ());
var _mcl:MovieClipLoader = new MovieClipLoader ();
_mclListener = new Object ();
_mclListener.onLoadStart = function (target:MovieClip)
{
trace (“The URL is: “ + target._url);
var _lv:LoadVars = new LoadVars ();
_lv.decode (target._url.split (“?”)[1]);
trace (“t param: “ + _lv.t);
trace (“video_id: “ + _lv.video_id);
trace (“thumbnail: “ + _lv.iurl);
trace (“flv url: “ + constructFLVURL (_lv.video_id, _lv.t));
_mcl.unloadClip (target);
};
function constructFLVURL (videoId:String, t:String):String
{
var str:String = “http://www.youtube.com/get_video.php?”;
str += “video_id=” + videoId;
str += “&t=” + t;
return str;
}
_mcl.addListener (_mclListener);
_mcl.loadClip (“http://www.youtube.com/v/3IcwG0jUFxU”, mc);
[1] Flash clients would require server-side proxy because YouTube changed crossdomain.xml sometimes back.
Technorati tags: youtube, video url, url, flv, client-side, actionscript