Archive for the ‘insider’ Category

Introduction to haXe

Sunday, June 14th, 2009

haXe (pronounced as hex) is an open source programming language.

While most of the other languages are bound to their own platform (Java to the JVM, C# to .Net, ActionScript to the Flash Player), haXe is a multiplatform language.

It means that you can use haXe to target the following platforms :

  • Javascript : You can compile a haXe program to a single .js file. You can access the typed browser DOM APIs with autocompletion support, and all the dependencies are resolved at compilation time.
  • Flash : You can compile a haXe program to a .swf file. haXe can compile for Flash Players 6 to 10, with either “old” Flash<8 API or newest AS3/Flash9+ API. haXe offers very good performance and language features to develop Flash content.
  • PHP : You can compile a haXe program to .php files. This enable you to use a high level strictly-typed language such as haXe while keeping full compatibility with your existing server platform and libraries.
  • NekoVM : You can compile a haXe program to NekoVM bytecode. This can be used for server-side programming such as dynamic webpages (using mod_neko for Apache) and also for commandline or desktop applications, since the NekoVM can be embedded and extended with some other DLL.
  • C++ : Currently in testing, available on haXe CVS version, you can now output your haXe applications to pure C++ source code, complete with makefiles.

The idea behind haXe is to let the developer choose the best platform to do a given job. In general, this is not easy to do because every new platform comes with its own programming language. What haXe provides to you is :

  • a standardized language with many good features
  • a standard library (including Date, Xml, Math…) that works the same on all platforms
  • platform-specific libraries : the full APIs for a given platform are accessible from haXe

haXe is useful for many different reasons. You might be wondering Why use haXe?

Want to learn more about haXe ? Access the Documentation.

Gmail Architecture 1

Friday, June 12th, 2009

Gmail Logo
Gmail is the best application website i ever seen. Simple implementation, Super Ajax, Cute Chatting, Status Messages, Fast Mail Checking, Live updating and its features are endless as my wordpress database wont withstand

when you type: www.
gmail
.com, the following action will happen. See it is very interesting.

Script1
It first load the javascript file : https://mail.google.com/mail?view=page&name=browser&ver=1k96igf4806cy

It checks the browser type, os etc

the function navigator.userAgent.toLowerCase() checks with opera, msie,mac,gecko,safari,palmsource,regking,windows ce,avantgo,stb,pda; sony/com2 etc browsers

that is script 1¡¯s job.


Script
2 calculate the
round trip time for a 1 pixel image.
This is for finding the internet speed of the user

function GetRoundtripTimeFunction(start)
{
return function()
{
var end = (new Date()).getTime();
SetGmailCookie(¡±GMAIL_RTT¡±, (end - start));

}
}

Since
gmail
uses iframes , this
script
also make sure to load the actual home

top.location = self.location.href

It also set cookie to show which of the
google
service is using.

Then loads the login form and set focus on password field.

Gmail Login


Script
3 handles the https connection and cookie settings for secured

login

Yet the web 2.0 concept is on the peak,
gmail
uses table layout design instad of div style designs
:)

Gmail¡¯s
login
form ¡¯s action is pointing to
¡°https://www.
google
.com/accounts/ServiceLoginAuth?service=mail¡±

This is the general url for
google
account

login
. Here
service=mail parameter indicates , this is
gmail
logging

When the logging verification done, the page is redirected into corresponding service by javascript:

location.replace(¡±http://www.
google
.co.in/accounts/SetSID?¡­¡­etc etc¡±);

After setting proper session and cookies for
login
, the non secured site http://mail.
google
.com/mail page automatically get refresh by this meta tag:

<meta content=¡±0;URL=http://mail.
google
.com/mail/¡± http-equiv=¡±Refresh¡±/>

When loading the mail page after setting proper
login
sessions, around 28 ajax web request begin to start, and load all the mails, labels, channels etc

The above mentioned all javascript is also here in this mail loading page

The first division (div) inside the body tag is that for loading. A while text ¡°loading¡­¡± with red backgroud.
<div class=¡±msg¡±> Loading¡­ </div>

This is the waiting symbol for all the ajax call to load

Loading

There is also a timer is working to check the loading time of ajax requests. If it takes more time than expected (or calculated), it show this error ¡°This seems to be taking longer than usual¡±

Automatically they provide navigation links for basic html version.

The total page of
gmail
is created by a set of iframes

viz

HIST_IFRAME
SOUND_IFRAME
CANVAS_IFRAME
JS_IFRAME

The Sound_Iframe session loads a flash object (shock wave file) for playing the sound , when chat works. (
Google
chat indicator)

Chat window

<embed id=¡±flash_object¡± type=¡±application/x-shockwave-flash¡± pluginspage=¡±http://www.macromedia.com/go/getflashplayer¡± quality=¡±high¡± style=¡±position: absolute; top: 0px; left: 0px; height: 100px; width: 100px;¡± src=¡±im/sound.swf¡±/>


Gmail
saves each sections- labels, inbox, mails etc in array with a unique id. This unique id is for checking the updations on the fly using ajax.

For example : http://mail.
google
.com/mail/?ui=2&ik=42e598c952&view=tl&start=50&num=70&auto=1&ari=120&rt=j&search=inbox

The above url pics all the data as javascript array format. Check this link after logging in
gmail
. You can see your labels, your from email accounts, your settings,

your last arrived 70 emails subject and from etc information in javascript array format.

This is the url which is to be called when you click older and newer mail (pagination below)


Gmail
always call this url :
http://mail.
google
.com/mail/channel/bind?at=xn3j2zpul6ptan694kr6javrldi43s&VER=6&it=93079&SID=584B451AB93DBDC&RID=16351&zx=lniy7w-6psisw&t=1

(leave the parameters value) for checking updatations. This is gmails rpc checking for new updations .

If there is any updation new rpc with post method automatically called to get new data. The calling url is same , the one above
http://mail.
google
.com/mail/?ui=2&ik=42e598c952&view=tl&start=0&num=70&auto=1&ari=120&rt=j&search=inbox

It results new data as javascript array format. The rest of the arrangements are handled by the
script
from client side.

Whenever you open a mail from inbox, the browser send another request for loading the sponsered links (advtisement) though this rpc
http://mail.
google
.com/mail/?ui=2&ik=42e598c952&view=ad&th=118e57dc03d67f16&search=inbox

The CANVAS_IFRAME is the main iframe contains all the
layout
of

gmail

It contains the left side chat, main inbox or mails right side ads, and all the controls

The left side chat is created using table.

JS_IFRAME contains all the javascripts files for
gmail
full implementation. There are around
89 js files.

Chat

When you chat with somebody, the url calling is : http://mail.
google
.com/mail/channel/bind?at=xn3j2zpul6ptan694kr6javrldi43s&VER=6&it=891&SID=7D4E9A779225DC1&RID=50595&zx=hrsqkf-nwummu&t=1

as POST method with parameters:
req2_text <your chat>
req2_to <sender¡¯s email address>
req0_type cf
req1_cmd a
req0_focused 1

Now,

http://mail.
google
.com/mail/channel/bind?at=xn3j2zpul6ptan694kr6javrldi43s&VER=6&it=531&RID=rpc&SID=48DD6BA8E1D3A326&CI=1&AID=176&TYPE=xmlhttp&zx=m0iiwn-ok5jqr&t=1

the above url return the chat friends and theire status messages

==========================================================

Same url is using for getting the chat messages.

For example when kenney.jacob@gmail chat with me , the message comes as an array like this:

[184,["m","kenney.jacob@gmail.com","730DFDF6F013F640_161","active","hi da","
hi
da",1206444193169,

,,0,0,0,0,[]

,¡±square¡±]

Foster says

Here active implies the chat is active or not (the window with orange color) and with a chat alert if the window is not active.

http://mail.
google
.com/mail/channel/test?at=xn3j2zpul6ptan694kr6javrldi43s&VER=6&it=24343&MODE=init&zx=1vyx51-ze670&t=1

The above url checks whether the chat is enable or not. which returns an array:
["b","chatenabled"]

Gmails file uploading is another interesting thing. I already posted ajax file uploading : http://www.sajithmr.com/upload-files-like-gmail/

Google Wave Extensions: An Inside Look

Friday, June 12th, 2009

Google Wave LogoIt¡¯s undeniable: Google Wave has captured the imagination of techies, social media enthusiasts, and web users everywhere. Its combination of email, real-time chat, wiki tools, and social networking have generated an incredible amount of buzz.

While the focus of this buzz is centered around Google Wave¡¯s features, there¡¯s an aspect of the new platform that hasn¡¯t received the attention it deserves: Google Wave extensions, which allow any developer to add their own gadgets or robots to the open-source tool. Extensions offer the potential for Google Wave to end up being used in so many different ways. But what exactly is an extension? Why would someone build one? And how exactly does one go about it?

Thanks to developers Sam Gammon and Nick Hume, we now have the answers to most of these questions. We looked inside the process of building a Google Wave extension, from start to finish and assembled the following guide, which explains the concept of a Google Wave extension, why they¡¯re important, how one can be built, and what you can expect in the coming future.


What¡¯s a Google Wave extension, anyway?


Google Wave Gadgets ImageWhile we suggest reading our Google Wave guide for a more complete overview of Google Wave extensions (and everything else), they are, in a nutshell, 3rd party applications. Just as a Firefox addon improves or changes the Firefox browser in some way, a Google Wave extension provides for additional functionality within the platform. Once Google Wave is released publically, anybody will be able to build his or her own Wave extension.

There are some important distinctions you should keep in mind. First, there are two types of Google Wave extensions: gadgets and robots. A gadget is an application that runs within a wave. These are a lot like Facebook applications or iGoogle gadgets. They are standalone programs that run within a threaded conversation (aka a wave).

A robot, on the other hand, is an automated participant within a wave. They act like a person and can speak and interact with anybody within the wave. In addition, they can perform tasks, such as pull information from outside sources (as is demonstrated by the Twitter bot Tweety) or can react to keywords and actions within a wave.

Both provide for a range of possibilities that will only grow as developers get comfortable with the platform and dream up new extensions to build and Google releases new APIs for programmers to utilize.


Why are extensions important?


Google Wave RobotsThe new system not only opens up a big, new, high-potential platform for developers, but it also gives Google a way to provide features that they don¡¯t have the time to build themselves, which could lead to quicker adoption rates. Here are some of the benefits that both sides could realize:

For Google: Google¡¯s strategy with Google Wave seems to be to instigate mainstream adoption as quickly and widely as possible. This is why the platform is open-source and extendable. It makes it easier to tailor Google Wave for your needs. Businesses especially can put Wave on their own servers and run it within their own firewalls.

Part of the reason Twitter has had such tremendous growth is due to 3rd party applications creating a lot of buzz and gaining a lot of attention and traction. Extensions could do the same thing for Google Wave, if executed correctly.

For the developer: Extensions can be very rich and very powerful in Google Wave. It could become your Twitter, Facebook, and video game client all-in-one. We wouldn¡¯t be surprised if entrepreneurs created robots or gadgets for businesses they could charge for, and expect applications that rival the usefulness of Twitter apps. There¡¯s a possibility of a new application boom in the future.


Building an extension: the quick overview


Growlie ExplanationExplanation of Growlie, a Google Wave robot extensionSam Gammon and Nick Hume have built two extensions: Growlie and Campy. Growlie notifies you of new activity in Wave via Growl, the Mac OS X global notification system. Campy keeps your wave synced with message threads on the project management software Basecamp. Sam was kind enough to explain exactly how you go about building a Google Wave extension.

In this example, we used Growlie to demonstrate the steps necessary to bring a Google Wave extension into existence. Note that this explanation is mostly non-technical, but can be complicated for non-developers. If you¡¯re not interested in building a Wave app, jump down to our section on the future of Wave apps.

1. Provision a Google App Engine Application: Google App Engine is Google¡¯s platform for developing and hosting web applications. As of right now, all extensions must be hosted within App Engine. Thus, the first step you must take is to create an application within Google¡¯s system. This is also where you choose the language in which you build your app: Python or Java.

2. Download Wave API Package: The other thing you¡¯re going to need is the Google Wave API package. The API, or application programming interface, allows a 3rd party developer to access information, protocols, and more from a platform. In this case, you¡¯re downloading the package that allows you to make Google Wave extensions. For more detailed information, check out the Google Wave API Overview.

3. Set up the configuration file: All App Engine applications have a configuration file which helps specify an app¡¯s registered application ID, among other things. For Python, it¡¯s app.yaml. For Java, it¡¯s appengine-web.xml. This quickly gets technical, so if you¡¯re interested in the details, here is where you can read up on appengine-web.xml and app.yaml.

4. Import the Wave API Library: You downloaded the Wave API package, now you¡¯ve got to import the library to Wave.

5. Instantiate robot and register handlers: In a nutshell, you have to activate your Google Wave extension and make sure it handles actions from Wave properly. ¡°WAVELET_SELF_ADDED¡± and ¡°BLIP_SUBMITTED¡± are some of the handlers used for Growlie.

6. Write functions: This is where you make the robot work in the way you want. In Growlie¡¯s case, Sam has written functions to make each blip update OnBlip, which sends the notification to Growl on your Mac.

Growlie Google WaveThe end result: Growl blip notificationsAlthough Google Wave gadgets have a slightly different process, the steps are roughly the same. The key thing to remember is that a Google Wave extension must run on Google App engine and use the Google Wave API package.

Bonus: If you¡¯re a developer interested in Google Bots, here is the source code for Growlie, courtesy of Sam (who, I would like to point out, is only 17).


What¡¯s next


Growlie Google WaveGrowlie welcomes you!Google wants Wave to be used as the primary communication platform of Internet users everywhere, so their ultimate goal is adoption. Ideally, Wave will end up being as widespread as email ¡ª a daunting proposition to bring to fruition ¡ª and extensions are central to this plan.

Thus, expect Google to provide many incentives for developers to build on this platform, and expect many programmers to bite. Because Wave is open-source, it could go in almost any direction. In a year, we could see a project management edition of Wave or one made for power Twitter users. Desktop apps, in-wave video games, and iPhone apps are in our future too.

We can hardly even begin to imagine what could be built with Wave, mostly because Wave is just so different from any communication platform we¡¯ve ever seen before. Extensions will probably change dramatically in the coming months. We¡¯re certain, though, that we¡¯re going to witness some incredible innovations.

reallysimplehistory

Thursday, June 11th, 2009

Really Simple History is a lightweight JavaScript library for the management of bookmarking and browser history in Ajax/DHTML applications. RSH serializes application data in an internal JavaScript cache so that bookmarks and the back button can be used to return your application to an earlier state.

Originally developed by Brad Neuberg in 2005, RSH has won a large user base for its simplicity, ease of use and lack of dependency on any specific Ajax framework. It’s written in plain old JavaScript and can be included on any site according to the terms of its BSD license.

In September 2007, Brian Dillard came on board as maintainer and ongoing code steward for the project. A new version, with support for additional modern browsers (IE7, Safari, Opera), was released as RSH 0.6 in late 2007.

RSH 0.8 is currently in development as of May 2009.

New Twitter Research: Men Follow Men and Nobody Tweets

Thursday, June 11th, 2009

Twitter has attracted tremendous attention from the media and celebrities, but there is much uncertainty about Twitter’s purpose. Is Twitter a communications service for friends and groups, a means of expressing yourself freely, or simply a marketing tool?

We examined the activity of a random sample of 300,000 Twitter users in May 2009 to find out how people are using the service. We then compared our findings to activity on other social networks and online content production venues. Our findings are very surprising.

Of our sample (300,542 users, collected in May 2009), 80% are followed by or follow at least one user. By comparison, only 60 to 65% of other online social networks’ members had at least one friend (when these networks were at a similar level of development). This suggests that actual users (as opposed to the media at large) understand how Twitter works.

Although men and women follow a similar number of Twitter users, men have 15% more followers than women. Men also have more reciprocated relationships, in which two users follow each other. This “follower split” suggests that women are driven less by followers than men, or have more stringent thresholds for reciprocating relationships. This is intriguing, especially given that females hold a slight majority on Twitter: we found that men comprise 45% of Twitter users, while women represent 55%. To get this figure, we cross-referenced users’ “real names” against a database of 40,000 strongly gendered names.

Even more interesting is who follows whom. We found that an average man is almost twice more likely to follow another man than a woman. Similarly, an average woman is 25% more likely to follow a man than a woman. Finally, an average man is 40% more likely to be followed by another man than by a woman. These results cannot be explained by different tweeting activity - both men and women tweet at the same rate.

twitter research 3.jpg

These results are stunning given what previous research has found in the context of online social networks. On a typical online social network, most of the activity is focused around women - men follow content produced by women they do and do not know, and women follow content produced by women they knowi. Generally, men receive comparatively little attention from other men or from women. We wonder to what extent this pattern of results arises because men and women find the content produced by other men on Twitter more compelling than on a typical social network, and men find the content produced by women less compelling (because of a lack of photo sharing, detailed biographies, etc.).

Twitter’s usage patterns are also very different from a typical on-line social network. A typical Twitter user contributes very rarely. Among Twitter users, the median number of lifetime tweets per user is one. This translates into over half of Twitter users tweeting less than once every 74 days.

twitter research 2.jpg

At the same time there is a small contingent of users who are very active. Specifically, the top 10% of prolific Twitter users accounted for over 90% of tweets. On a typical online social network, the top 10% of users account for 30% of all production. To put Twitter in perspective, consider an unlikely analogue - Wikipedia. There, the top 15% of the most prolific editors account for 90% of Wikipedia’s edits ii. In other words, the pattern of contributions on Twitter is more concentrated among the few top users than is the case on Wikipedia, even though Wikipedia is clearly not a communications tool. This implies that Twitter’s resembles more of a one-way, one-to-many publishing service more than a two-way, peer-to-peer communication network.

twitter research 1.jpg

Lies

Wednesday, June 10th, 2009

Since the beginning, browser makers have been forced to lie in order to protect themselves from incompetent web developers. This can be seen most clearly in the userAgent string. The Mozilla browser has gone extinct, yet most browsers identify themselves as some version of Mozilla. This is because there are websites that were developed by idiots that sniff the userAgent string and reject requests that are not from a Mozilla browser. The number of webmasters who caused this is significant enough that IE and Safari still intentionally misidentify themselves in order to avoid losing market share.

The only honest browser is Opera, which identifies itself as Opera. Unfortunately, Opera has been snagged by another dimension of webmaster stupidity.

Opera is now testing Opera 10. It turns out that Opera 10 fails on many sites that tolerate Opera because there are imbecilic coders who assumed that the version number would always be less than 10. So Opera has been forced to lie. It is going to be identifying Opera 10 and above as Opera 9.80.

Opera is the first to get to 10. Netscape’s failures stopped it at 8. IE stopped at 6 because Microsoft thought the web was finished. They have resumed, but have only gotten up to 8 since the hiatus.

If you are a developer, check your code. It really isn’t hard to do this stuff correctly. It really isn’t.

Is Google Wave a Twitter Killer?

Wednesday, June 10th, 2009

While the world has focused on Google Wave as a mash-up of chat, e-mail, and document sharing, it’s really something else: Google Wave could be the Twitter that everyone really wants. Maybe it’s the Facebook, too.

Shown for the first time on Thursday at Google’s I/O developer conference, Wave is described as “equal part conversation and document” for its uses as a collaboration tool. But, the leap from what Google says Wave is today to what it can easily become is a short one.

If Google wants to compete, head-to-head, with Twitter and Facebook, Wave is the perfect start. It may not be a competitor when it first becomes publicly available, perhaps because the merging of documents, feeds, photos, e-mail, instant messaging, event planning, and other features is likely to seem so unfamiliar to users.

It will likely take time before would-be users really understand what Wave does and can be used for. How much time? Months, not years.

Then give Wave a more public face–documents, chats, IMs, etc.–to be shared with everyone on your contact list or the world at-large and Wave does everything Facebook and Twitter do. And more.

It is not a foregone conclusion this will happen. Outside its core search business and related tools, Google has faced an uphill battle for user acceptance. However, Wave, by combining so many otherwise separate Google features, could finally provide the compelling experience users seek.

Build, Not Buy

For months there have been rumors that Google would buy one (both?) of the big social network players. Why didn’t it? With Wave almost ready to release, why spend the money to purchase a large distraction?

Another important thing: Google already has a built-in, advertising-based business model that customers understand. That is a huge thing, considering that Twitter and Facebook are still looking for ways to monetize their users.

While Google has not announced a release date, it only describes availability as “later this year,” the company has started a developer program, released a set of APIs, and is providing limited access to developers seeking to test their Wave-based applications. An active developer forum now exists, as well as a Wave development team blog.

Waving For Business

Google Wave has obvious business uses, combining tools that businesspeople use every day. It will be important that the Wave mail client and other applications learn to work with closely what we already use and for Wave to be something people can adopt without disrupting how they already work.

That has been a challenge for Google in the past, but if Wave is to achieve its great potential it must be easy to adopt and add to the way people already work.

Meanwhile, Twitter and Facebook need to be looking over their shoulders.

Compete: Facebook US Traffic Nearing Google, Yahoo

Tuesday, June 9th, 2009

Web analytics firm Compete has released its data for the month of May, and as Justin Smith over at InsideFacebook has already pointed out, US traffic to Facebook.com has increased by nearly 8% to 82.9 million unique visitors last month, with Facebook Connect sites generating an additional 65 million uniques. That means that, according to Compete, a total of 113 million people in the U.S. interacted with the Facebook service. The data also shows MySpace is (still) steadily decreasing compared to the beginning of the year, while Twitter growth seems to have flattened all of the sudden.

While it is interesting to see how the hot social networks stack up in terms of traffic, I thought I¡¯d also take a look at how well Facebook is doing compared to other Web giants like Google.com, Yahoo.com and MSN.com. To my surprise, Facebook appears to have become a real challenger to these Internet juggernauts, who are relatively old compared to the social network that started out in 2004 as a university student-only service and only really opened up to the public in September 2006.

Evidently. this is only one way to look at things. First, Compete does not always provide spot-on traffic estimates (data from comScore suggested Facebook had yet to surpass MySpace in US traffic back in March) and second it¡¯s hardly fair to compare these websites as they all serve different purposes and audiences. But the picture painted here is that Facebook has unmistakingly grown up to become one of the most popular Internet destinations on the planet, both in terms of registered users (well beyond 200 million at this point) and in terms of received traffic. And we¡¯re still talking about a privately-held (albeit massively funded) company that has come this far. No wonder its valuation is surging.

Then there¡¯s our model of the true value of social networks, which gave Facebook a clear lead as well.

For comparison, Compete pegs Google to have received a total of 145.5 million unique visitors in May, ahead of Yahoo (135.5 million) and MSN.com (97.5 million), which means Facebook has already overtaken the MSN website and is nearing the former two. It¡¯s important to note that all four sites show a significant increase in U.S. traffic since the beginning of this year, but Facebook is definitely on the steepest growth curve here. In January 2009, total traffic to Facebook was somewhere around 68.5 million uniques, which means the May number of 113 million represents a 61% jump, mostly thanks to the successful spread of the Facebook Connect service.

If these trends persist, expect Facebook to come out on top of the Compete charts well before the year ends.

Crunch Network: MobileCrunch Mobile Gadgets and Applications, Delivered Daily.

Microsoft gives us the no-usage-limits Bing API

Tuesday, June 9th, 2009

Planning to ¡°build your own search engine¡±? Help might come from Microsoft¡¯s Bing API, a much enhanced version of the Live Search API available at the Bing Developer Center.

Microsoft gives us the no usage limits Bing API

Taken from a pre-Bing-launch blog post, this is what the Bing API delivers in a nutshell:

  • Offers new interfaces: JSON, and XML over HTTP. The Live Search SOAP interface will also be maintained.
  • Parsing out non-web results that had been shoehorned into a one-size-fits-all response structure, has been an issue with the Live Search API. Bing API results are strongly typed and offer access to seven different types of results (web, news, images, phonebook, spell-checker, related queries, and Encarta instant answer).
  • The Terms of Use no longer contain any pre-set usage quota. Microsoft requires that the API is used for user-facing applications only.
  • The popular Live Search API feature to batch multiple SourceTypes into a single request is still available.

The ProgrammableWeb states

¡°Note that the terms of use have also been loosed to allow more flexible presentation options such as no restrictions on ordering and blending search results.¡±?We found it worthwhile to double-check the Bing API Version 2.0 Terms of Use.

Here is what you must do:

  • Display all the results you request.
  • Display attribution to Bing in a manner compliant with Microsoft¡¯s branding rules.
  • Restrict the usage to less than 7 queries per second (QPS) per IP address. Exceeding this limit must be approved with the team at api_tou@microsoft.com.
  • Interleaving data from any source other than the API with data from the API requires developers to clearly differentiate the respective sources.

What you cannot do:

  • Use API results for search engine optimization (SEO). In particular, using the API for rank checks is explicitly prohibited.
  • Display advertisements in positions other than the mainline and sidebar.
  • Change the order of results the API returns from a SourceType other than the Web Source Type.

We would be tempted to state that ¡°no restrictions on ordering and blending¡± is not exactly what it is.

U.S.-based publishers can apply for a beta program to include search ads, thus trying to monetize their search applications.

Interested in building your first Bing based search solution? Read the API documentation available at the Microsoft Developer Network and don¡¯t forget to send us links to what you¡¯ve built!

TwitterFon and TwitVid bring iPhone videos to Twitter

Tuesday, June 9th, 2009

With its camera that records video, we can probably expect a flood of video-related apps for the just-announced new iPhone 3G S. Here¡¯s an early one: Popular Twitter application TwitterFon says it will integrate with video service TwitVid, allowing TwitterFon users to capture videos with their iPhone and then post them to Twitter.

Video on the iPhone was simultaneously one of the most exciting and disappointing things today during the keynote speech at Apple¡¯s Worldwide Developers Conference. Exciting, because of the aforementioned iPhone 3G S. Plus, the iPhone 3.0 operating system will include a way to send videos in a text message via its MMS service. Disappointing, because AT&T is lagging on this front, and won¡¯t offer MMS support until later this summer. But if you¡¯re a Twitter user, TwitterFon will provide an easy way to share videos with your friends despite the mobile carrier¡¯s procrastination ¡ª of course, you might curse AT&T anyway, if those videos end up loading sloooooowly.

The 3G S goes on sale on June 19, and TwitVid says it will be available in the next version of TwitterFon once the application is approved ¡ª hopefully by the end of the month. VentureBeat writer Paul Boutin has already written about the race among video sites for Twitter users. I¡¯m betting iPhone users will be a big part of that race, so expect other Twitter applications and video services to start competing in this area soon.