« Previous Entries

Google Channels, Google Recommendations

Apr 20 2007

Back in Decem­ber 2006 I sent in a reply to Google’s “Big Idea Cha­llenge”;

What is Google’s Next revo­lu­tio­nary pro­duct and why? We are loo­king for final year stu­dents and recent gra­dua­tes who are crea­tive and think dif­fe­rently. By ans­we­ring the ques­tion posed above in the The Big Idea Cha­llenge*, you have the oppor­tu­nity to impress us and get a job at Goo­gle. Your ans­wer can be in any for­mat you choose; this might be a busi­ness plan, sche­ma­tic dia­gram, pre­sen­ta­tion, or just some text. The top entrants will be invi­ted to the Goo­gle­plex in Lon­don to meet the team and talk through their Big Idea.

Goo­gle res­pon­ded with a phone call asking for details and they said they’d send me some infor­ma­tion via email, I never heard from them again. With Google’s latest spate of recom­men­da­tion gad­gets and their latest pro­duct change, “web his­tory” (something I have been wai­ting for for a while because I was fed up of never being able to search my his­tory — an offline ver­sion would be nice and more secure), it seems rele­vant to post what I submitted. 

I called it Goo­gle Chan­nels, for lack of bet­ter words and to embrace Google’s bri­lliant naming tra­di­tion (see: Froogle’s death, one of my favou­rite play on words). This was my pitch:

PDF Sum­mary & Advert for Pro­duct

PDF Goo­gle Pro­po­sal

Goo­gle Chan­nels
A free, auto­ma­ted, user spe­ci­fic and edi­ta­ble chan­nel to faci­li­tate the dis­co­very of enter­tain­ment on the internet.

The Pro­blem

Fin­ding enter­tain­ment is very much a dif­fe­rent pro­cess to an infor­ma­tion search. For infor­ma­tion, a user, for the most part, knows what he or she is loo­king for and crea­tes an appro­priate search query to find what they need. For current enter­tain­ment search pro­ces­ses, a user must know what they want to read, watch or lis­ten to before begin­ning their search. This, in many res­pects, is con­trary to the act of dis­co­ve­ring fresh enter­tain­ment. In mature mediums there exist two paths — one for the acqui­re­ment of media and a second for its dis­co­very. Inter­net search acts pre­do­mi­nantly as the for­mer simi­lar to a cinema which shows a film you chose spe­ci­fi­cally to watch. Exam­ples of the lat­ter are tele­vi­sion, radio and libra­ries; each pro­vi­des a selec­tion of enter­tain­ment ser­vi­ces for the dis­co­very of new qua­lity con­tent.

The inter­net today offers a uni­que world­wide medium for text, video and audio; it has quickly become the ulti­mate enter­tain­ment, com­mu­ni­ca­tion and infor­ma­tion hub. Goo­gle, with aims to orga­nise the world’s infor­ma­tion, has made great stri­des in pro­vi­ding tools for fin­ding infor­ma­tion fast, and via Gmail and Goo­gle Talk (amongst others) online com­mu­ni­ca­tion is being made easier. With the emer­gence of flash strea­ming and legal movie and music down­loads it is now the enter­tain­ment aspects of the inter­net that must be addres­sed by Goo­gle. The first steps have already been taken with Goo­gle Video and You­Tube. I believe Google’s next big inno­va­tion should be to improve the acces­si­bi­lity and dis­co­very pro­ces­ses for the wealth of qua­lity con­tent avai­la­ble on the inter­net, to match the second ele­ment of Google’s aim: to make con­tent uni­ver­sally accessible.

The clo­sest the inter­net currently has to an enter­tain­ment dis­co­very ser­vice is “Stum­bleU­pon” a site that allows users to recom­mend web pages so that rea­ders may stum­ble through the inter­net fin­ding its hid­den sweet spots. Other under­ta­kings inc­lude; The “Venice Pro­ject”, from Niklas Zenns­trom and Janus Friis, crea­tors of Skype, which sees their focu­sed efforts in crea­ting a recom­men­da­tion dri­ven Broad­band TV ser­vice for qua­lity video con­tent deli­very and dis­co­very. Last​.fm, a Bri­tish based com­pany, colla­tes music lis­te­ned to and gene­ra­tes free cus­to­mi­sed radio sta­tions for dis­co­very of new music. I believe now is the time for Goo­gle to begin deve­lo­ping a ser­vice in this field, as inter­net con­tent begins to escape the con­fi­nes of the PC box. Last​.fm’s gro­wing popu­la­rity and suc­cess is proof that there is a demand.

The Solu­tion

For Goo­gle Chan­nels to solve these enter­tain­ment search issues it needs to offer two things; first it must deli­ver inte­res­ting con­tent and secondly this must suit the user’s tas­tes. Goo­gle already has a head-start with regards to con­tent deli­very; its exten­sive crawl index, video and book libra­ries pre­sent the essence of a solu­tion (though to my know­ledge no Goo­gle owned music or audio data­base currently exists). To show con­tent that is rele­vant, know­ledge of the users’ tas­tes must be known and items must be grou­ped by simi­la­rity. Goo­gle Sets is already the foun­da­tion of these grou­ping func­tions — searching for tele­vi­sion shows like “Family Guy” and “The Simp­sons” yields “South Park” as a top sug­ges­tion. Know­ledge of the user can be obtai­ned through exis­ting data or by user input.

Crea­ting the Chan­nel

Google’s per­so­na­li­zed search data can give an accu­rate por­tra­yal of a user’s tas­tes (e.g. top search terms), as does their rating trends, labe­lling actions and Goo­gle Talk’s music trends. Colla­ting this data with simi­lar neigh­bours and data from Goo­gle Sets, a selec­tion of mate­rials matching the user’s tas­tes is pro­du­ced without nee­ding search. Hence a user-specific recom­men­da­tions chan­nel is gene­ra­ted, crea­ting the basics for a dis­co­very dri­ven inter­net ser­vice (an exten­sion of the pre-existing per­so­nal home­page gad­get “Inte­res­ting things for you”). With refi­ne­ments through cate­go­ri­sa­tion this chan­nel can be split into genre spe­ci­fic bands.

The alter­na­tive approach is to ask the user for a few things they already enjoy — favou­rite music artists, web­si­tes, tele­vi­sion shows and books may be key poin­ters. Using a grou­ping struc­ture a list of recom­men­da­tions can be gene­ra­ted, allo­wing rele­vant con­tent from inde­xes (Books, Goo­gle Video, RSS feeds, etc) or esta­blished chan­nels to be com­bi­ned into a per­so­na­li­zed chan­nel. As Goo­gle Chan­nels evol­ves the accu­racy of recom­men­da­tions will improve.

Chan­nel Imple­men­ta­tion

Imple­men­ta­tion beco­mes the next ques­tion; chan­nels may be video, audio or writ­ten, or an amal­ga­ma­tion. Video chan­nels may be a gene­ra­ted stream of video not unlike tele­vi­sion chan­nels, with one recom­men­ded video con­ti­nuing directly on from the pre­vious — this stream may play live to mul­ti­ple par­ties, play from a cho­sen point (e.g. select first video from a list), be skip­ped through or down­loa­ded. Music chan­nels may act like those on Last​.fm, pla­ying music simi­lar to artists the user already knows, they could also be gea­red towards pod­cast dis­co­very or online radio which may then be pla­yed in-browser. Rea­ding lists would act much like exis­ting feed aggre­ga­tion ser­vi­ces, howe­ver could con­tain a degree of use­ful auto­ma­tion and Goo­gle Book recom­men­da­tions to inform users of lite­ra­ture, sites and news that inte­rests them yet lies outside of their con­fi­ned inter­net corner.

User Con­trol

User edi­ting adds sig­ni­fi­cant benefits:

·        Remove sub­jects that are uninteresting.

·        Actions when vie­wing chan­nels may include: 

·        “add simi­lar items to my chan­nel”*,

·        “add this item to my channel”, 

·        “add items in this label to my channel”,

·        “create new chan­nel based on”, 

·        “label item/channel”,

·        “ban items in this category”, 

·        “ban this item”, 

·        “blog this item/channel”, 

·        “share this item/channel”, 

·        “com­bine channels”,

·        “recom­mend item/channel”

·        “invite user to chat”

·        “rate this item/channel”

·        Recom­men­da­tions can evolve using rating sys­tems that pro­mote good con­tent and ban bad content. 

·       Com­plete con­trol of chan­nel could bring true “inter­net TV” to life.

* e.g. “add sites simi­lar to Slash​dot​.org”, let­ting users find domains that match their nor­mal rea­ding mate­rials without the trou­ble of buil­ding a spe­ci­fic search query to find them.

Once chan­nels are crea­ted the next logi­cal steps are sha­ring of chan­nels, chan­nel labels, recom­men­ded chan­nels, RSS chan­nel feeds, top chan­nels lists, searcha­ble chan­nels data­base, public and pri­vate chan­nels, embed­da­ble chan­nels, spon­so­red chan­nels, chan­nel colla­bo­ra­tion, Goo­gle Talk inte­gra­tion for chat whilst vie­wing, con­tent data­ba­ses allo­wing crea­tors to add their work directly to chan­nels (much like the exis­ting You­Tube chan­nels sys­tem), exc­lu­sive con­tent or subsc­rip­tion channels. 

Tar­ge­ted Advertising

Reve­nue streams for Goo­gle and con­tent crea­tors are also ins­tantly appa­rent. Goo­gle would know the full spe­ci­fics of the ‘now pla­ying’ con­tent. Hence incor­po­ra­tion of Goo­gle Ads is only a stone’s throw away. Video chan­nel fea­tu­res can be inter­lin­ked by rele­vant video ads, and simi­larly for audio. For incen­ti­ves to create chan­nels owners may receive pay­ments from a pay per click or impres­sion ini­tia­tive. The cost of dis­pla­ying ads on a chan­nel may also be pro­por­tio­nal to the num­ber of regu­lar vie­wers or rea­ders a chan­nel has.

Crea­tors of con­tent (e.g. a tele­vi­sion net­work) may wish to receive more return and have grea­ter con­trol of pro­cee­dings; a cor­po­rate con­trol panel may be an option. Simi­larly an adver­ti­sing con­trol panel may be help­ful to large adver­ti­sing cor­po­ra­tions that want to spe­ci­fi­cally con­trol when and where their ads are shown.

Bene­fits Elsewhere

Other bene­fits to Goo­gle are the natu­ral cate­go­ri­sa­tion and sor­ting made by users of chan­nel con­tent, which will not only improve recom­men­da­tion qua­lity but also add to the use­ful­ness of Goo­gle search results; for ins­tance a fuzzy search that returns results matching the users search aims but not neces­sa­rily matching their query; par­ti­cu­larly help­ful for those having trou­ble refi­ning search terms. 

Foobar Code Release Pack Version 0.2

Feb 20 2007

Many have asked for this, rather than rush out the first release I spent a while refi­ning the code and com­men­ting the various sec­tions. Hope­fully everything will be rela­ti­vely unders­tan­da­ble. All image sour­ces are defi­ned in varia­bles at the top of the code, as are font sizes, colours and align­ment varia­bles. Please look at the readme.txt file which con­tains links and infor­ma­tion about the requi­red com­po­nents, fonts and ima­ges. The code is in the new stan­dard .pui for­mat which should be pla­ced in your ” C:\Documents and Settings\USER\Application Data\foobar2000\PanelsUI” fol­der and loa­ded through Foobar2000’s Panel­sUI pre­fe­ren­ces dialogue.

The code has been relea­sed under the Crea­tive Com­mons Attribution-NonCommercial–Sha­reA­like 2.5 license which allows deri­va­tive works. Please do not remove the link back to this web­site or the copy­right information.

Down­load Ver­sion 0.2

I am now openly accep­ting fea­ture requests and ans­we­ring ques­tions.
NOTE: For Sin­gle Column Play­list, Row Height: 17, Group Rows: 5
My Win­dows Visual Style is Inverso Reborn Balan­ced and a dis­cus­sion and link can be found here. A good resource for down­loa­ding artist ima­ges is http://​artists​.tri​vial​being​.org

Com­po­nents Required

Fonts

  • Bebas
  • Cali­bri — Comes with Win­dows Vista and can­not be redis­tri­bu­ted (but you may find a site that has it) 
  • Big­Nood­le­Tit­ling

PanelsUI — The next step in Foobar aesthetics

Feb 14 2007

Terres­trial has done it again, this time it is his third com­po­nent, Panel­sUI . Until now, all foo­bar menus, tool­bars and panels were arran­ged using Column­sUI in any desi­red grid for­mat — these panels were dis­tin­guished by irre­mo­va­ble bor­ders that were defi­ned by Window’s visual style, much to the dis­tate of bud­ding user inter­face desig­ners everywhere. Panel­sUI offers a clean new approach — using scripts (in the fami­liar trac­kinfo mod for­mat) panels them­sel­ves can be abso­lu­tely posi­tio­ned and pla­yed with. New “per­sis­ting varia­bles” or PVARS allow these scripts to store and edit varia­bles in memory using but­tons (see func­tion: $but­ton). In com­bi­na­tion a slew of exci­ting new oppor­tu­ni­ties are pos­si­ble; tab­bed panels without the need for tabs_ui, clic­ka­ble pop-ups, scrip­ted inte­rac­tion bet­ween trackinfo’s, SCPL and Panel­sUI, amongst others. To explain in words the poten­tial is pro­ving dif­fi­cult, so I will show you some early design animations: 

Tab­bed panels, chan­ged by clic­king the but­tons on the bot­tom menu
The image

Pop-up play­list, this appears beneath when thin (as below) and to the side when wide.
The image

A pop-up menu, but­tons and con­trol panel
The image

Im sure I will think of some much more advan­ced uses of this inte­gra­tion in the near future. But for now I think this is exci­ting enough. For those inte­res­ted, to get going, the code for tab­bed panels in Panel­sUI is: 

$select($add($getpvar(display.mode),1),
$panel(Option1,Track Display,0,20,%_width%,140,)

$panel(Option2,Album list,0,20,%_width%,140,)

$panel(Option3,Console,0,20,%_width%,140,)
)
$button2(0,160,0,0,14,14,button text,but­ton text,‘PVAR:SET:display.mode:0′,)
$button2(14,160,0,0,14,14,but­ton text, but­ton text,‘PVAR:SET:display.mode:1′,)
$button2(28,160,0,0,14,14, but­ton text,but­ton text ‚‘PVAR:SET:display.mode:2′,)

This sim­ple exam­ple (that needs the but­ton text repla­ced with a $font()text code) is the basis for tabs, clic­king the first but­ton shows the track dis­play, the second an album list, third a console.

Foobar SCPL Code Fix

Feb 3 2007

Just a quick note to say I have clea­ned up my SCPL code and fixed all the known bugs, get the latest code here (the old one had a lot of code left over from a pre­vious SCPL, all of which has now been removed):

http://​host​.tri​vial​being​.org/​u​p​/​f​o​o​b​a​r​f​i​x​e​d​2​.​txt

— Fixed the crop issues rela­ted to selec­ted and now pla­ying songs
— Made the track title text area adap­tive to the width of the win­dow, so it crops only when it needs to
— Stop­ped album art sho­wing for groups with only 1 track, as in this case the pic­ture is ridi­cu­lously small.

Some ima­ges:
The image The image The image

Foobar SCPL Updates 2

Jan 30 2007

Well, it seems I am never satis­fied with my foo­bar designs, so I spent some time last night refi­ning it some more.

I deci­ded to alter my SCPL to make things clea­rer. The code is here (note, this is a work in pro­gress and the code still looks messy), row height = 17, group rows = 4: GROUP | ITEMS

Some things to note, the album art resi­zes to an opti­mum dis­play size, so that albums of three tracks only can have art work dis­pla­yed without all the other albums suf­fe­ring from a small dis­play size. The maxi­mum image size is also easily defi­nea­ble, so with one change I can make all the art­work scale up to 300px. The second image shows how Various Artist albums are handled. 

I built the play­counts into a form of hot­ness rating, so that the more a track is pla­yed the dee­per orange and brigh­ter the track beco­mes. The ratings sys­tem is sepa­rate to this.

« Previous Entries