h1

Ajax Experience: Chris Schalk – Google Gears

October 24th, 2007

Chris Schalk is a Developer Advocate at Google. His talk is called Beyond XHR: Taking Ajax Offline With Google Gears.

Google Gears is a browser plugin that provides offline storage and other supporting functionality. It is supported in most popular browsers.

With Gears you can completely decouple communication from UI actions. The communication happens periodically when connectivity is available.

The three APIs that Gears provides are:

  • LocalServer – to access the application offline
  • Database – a powerful relational db (SQLite) for storage
  • WorkerPool – a way to dispatch chunks of code to run in separate thread-like pools that don’t impact your app

LocalServer

  • ResourceStore – capture individual online resources for offline use
  • ManagedResourceStore – capture entire applications for offline use (using a manifest file)

Chris’s presentation is itself an offline app created with Gears (no link, I’m afraid although a variant of it comes with the gears download). It works equally well online or offline.

LocalStorage

  • SQLite – Open source, mature, small, fast full featured relational db
  • Gigabtes of storage

WorkerPool

  • thread-like functionality
  • no more blocking the browser UI
  • communications via IPC – no shared state

Chris is showing us some Full Text Search code samples that leverage the FTS3 features of SQLite

What’s Next

  • Support Google Apps going offline
  • Support External app developers
  • FTS3 in languages other than English
  • Cross-domain API and other WorkerPool enhancements

Chris encourages us to visit http://code.google.com/ to discover the cool things google is working on and learn how to use them.

I’m going to subscribe to the Google Code Blog RSS feed right now.

If you have Gears loaded up and want to try an example app, have a look at the blog.gears sample app.

h1

Ajax Experience: John Resig – The Future Of Javascript

October 24th, 2007

John Resig, the creator of JQuery who works at Mozilla, is helping us to understand all of the new features in Javascript 2 / ECMAScript 4.

You can download the ECMAScript 4 final draft to see the details.

My initial take is that while there are lots of neat things, many seem to me to be new ways to make your code more complex and confusing. I think Douglas Crockford, who’s sitting beside me, feels similarly.

websites for free sprint pcs ringtones
free ringtones for sprint pcs
ringtones for razrmax ve verizon
verizon ringtones and samples
supported ringtones verizon sch u740
ringtones verizon service
transfer ringtones to verizon krazr
free ringtones for razrmax ve verizon
supported ringtones verizon
making ringtones with your smartphone blackjack
telecom new zealand free ringtones
free ringtones new zealand
free violin ringtones
drum ringtones
converting to ringtones
krzr ringtones
zestoren ringtones
backyardigans ringtones
slut ringtones
zerstoren ringtones
selfmade ringtones
footy ringtones
cingular real ringtones free
free cingular mobile ringtones
queen ringtones with no credit card
chris daughtry ringtones with cingular
sound ringtones for verizon
free star trek ringtones and cell phone wallpaper
prepaid cingular ringtones for t226
cingular wireless ringtones cingular wireless ringtones
completely free rent ringtones
completely free ringtones si
free simpson ringtones
metro blog for free ringtones
free ringtones zoo
zingy free ringtones
makes me wonder free ringtones
free nature ringtones
free safe ringtones
ringtones free
free elk ringtones
mobil 17 free ringtones
free kiss ringtones
free ringtones for blackberry curve
free underoath ringtones
free q ringtones
free ringtones from your computer
free cajun ringtones
free money ringtones
free ringtones of amy winehouse
free spooky ringtones
samsung sch u420 mp3 ringtones threads
free bb ringtones
free apple iphone ringtones
free hollywood undead ringtones
free ringtones of amy whinehouse
free taylor swift ringtones
free midi ringtones
talking ringtones female free
free sprint ringtones
free nextel ringtones
free ringtones verizon
sprint sms ringtones free
free composer ringtones
ringtones and wallpaper
college ringtones
free disny goofy ringtones
ringtones cingular cable download htm
free foo fighters ringtones
lg200c tracfone ringtones
free disney goofy ringtones
motorola tracfone ringtones
indiviusal ringtones for sale
free metro cell ringtones
sprint ringtones
ringtones for motorola k1m
motorola i205 ringtones
ringtones and motorola htm
accessories motorola v300 mp3 ringtones
iowa wireless ringtones
free ringtones softwares
free ringtones cingular
my mp3 ringtones are silent on blackberry pearl
free ringtones for cingular
download your own ringtones ti your iphone
freakin ringtones
free pda phone ringtones
free drumline ringtones
motorola v60x ringtones
champrionship ringtones
aflac ringtones
motorola and phone and tools and make and ringtones
free ringtones for a sumsung sgh c 416 cell phone
free ringtones att
free ringtones for att
free cell phone ringtones customized
motorola v60 free ringtones
motorola w375 ringtones
verizon free ringtones
easiest cell phone to upload ringtones
upload my own ringtones to upstage m620 phone
wireless ringtones veggie tales
what file type are verizon ringtones
free ringtones for verizon
upload my own ringtones to upstage phone
cell phone free ringtones
free full song ringtones for verizon
get ringtones without texting it
trac phone buddhist ringtones
dethklok ringtones
piles shawty ringtones
ringtones compose htm
verizon free ringtones
verizon motorola 120e 2b ringtones
easiest cell phone to upload ringtones
verizon star trek ringtones
bluetooth ringtones lglx8300
free verizon ringtones station 51
free cingular ringtones
ringtones for cellular
verizon 99 cent ringtones
verison ringtones
thumb cellular ringtones
setting ringtones on blackberry 8800
free verizon ringtones
making your own ringtones
free ringtones for my phone
cheap ringtones
download free ringtones
real ringtones
free bell ringer ringtones
ringtones composer
free real ringtones
free lg ringtones
free ringtones for motorola
setting ringtones on blackberry
download free motorola ringtones
free monophonic ringtones
free military ringtones
free ringtones for sprint
free ntelos cellphone ringtones
godfather ringtones free
free cell phones ringtones
free cellular south ringtones
ringtones para celular mx
free ringtones trutones
free ringtones for samsung cellphone
unlimited free ringtones funny
free disturbed true tones ringtones
transfer ringtones to motorola w385
free s105 ringtones htm
the unit theme free ringtones
funnt samsung free ringtones
free jam ringtones
how to make ringtones for the motorola pebl
free metal ringtones for amerilink
free t68i ringtones
free nofx ringtones
free pimping ringtones
free ringtones tru tones
free ntelos ringtones
free ringtones krazr krzr
free rogers ringtones htm
free ringtones for metro pcs
ringtone converter mp3 to ringtones
free ringtones com htm
free aventura ringtones
daniel bedingfield free ringtones
torrent for free ringtones
free veggie tales ringtones
free rtttl ringtones htm
absoutely free ringtones for treos
free ringtones for cellular one
free ringtones for cingular wireless
free ringtones hindi movies
t free ringtones
free llyod polite ringtones
phone candy ringtones
free christian ringtones downloads no charge
free christian ringtones no charge
free christian ringtones download
free christian ringtones download sites
casino sounds free ringtones
casino free ringtones
free sprint blink 182 ringtones
sprint free ringtones
verizon ringtones for free
verizon ringtones free
real naruto ringtones
no cost ringtones verizon
ringtones for motorola razor phone
final fantasy ringtones on verizon
ringtones billed to your phone
the archer phone ringtones
how to add ringtones from computer to phone
cmt ringtones
myxer ringtones
ringtones for rogers phones
fdny ringtones
motorola v3m setting ringtones from sd card
motorola razr change ringtones
motorola v3m setting ringtones
motorola 323 ringtones
motorola v173 ringtones
downloading free sony ericsson ringtones to phone
helicopter ringtones charged to credit card
cingular ringtones
how download bluetooth ringtones to my motorola i870 phone
download bluetooth ringtones to my motoraloa phone
free ringtones animals
free nokia 6300 ringtones
send free ringtones
make your own free ringtones
how download bluetooth ringtones to my motorola i875 phone
download bluetooth ringtones to my motorola phone
motorola polyphonic ringtones
wap free ringtones index ie wml
panasonic cell phone x200 free ringtones
appalachian wireless ringtones
dying cell ringtones
traditional ringtones verizon safe
cellular south ringtones motorola c343
ringtones for verizon vg 8100
send free ringtones to my cell with no fees
free ringtones no charge
funny free ringtones
free ringtones for samsung sgh x416
personalize ringtones on the iphone
trance ringtones on vzw tones
how to send ringtones to my nextel
nextel iden insider ringtones
samsung r free ringtones
teenline ringtones
ringtones for verizon wireless kyocera 2325 cellular phones
free ringtones for a cingular samsung x427m
free samsung a300 ringtones htm
gothic ringtones
free fleetwood mac ringtones for kyocera k27
free verizon wireless ringtones us
nextel 710 ringtones
free samsung a460 ringtones htm
are there any good trance ringtones for vzw tones
polyphonic ringtones nextel htm
full web installer for nextel ringtones
how to put ringtones on nextel i730 from home
free monophonic ringtones sent through text message
free ringtones no registration
free ravens ringtones
nextel i730 ringtones raining blood
ringtones for free
making free ringtones
skee lo real ringtones
ericsson ringtones
create your on cell phone ringtones
free ringtones for lg g4015 cell phones
free siemens m56 ringtones
free cellphone real ringtones
nextel cell phones ringtones nextell
ericsson ringtones free
games ringtones
listen to ringtones
nirvana ringtones
verizon cell phone free ringtones
download ringtones to computer
free ringtones sent sms
free ringtones for motorola tracfone
free ringtones for cingular samsung cell phones that have
free ringtones for panasonic cell phones
cell phone ringtones for free
free ringtones
how can i get free ringtones without them texting them to mo
sms polyphonic ringtones
ringtones free cell phone mp3
download free ringtones from cell phone
ringtones and cell phone wallpaper htm
free polyphonic ringtones ericsson
cell phone verizon ringtones
ringtones and games for at26t cell phones htm
free cell phone ringtones alltel
ringtones ringtones
star wars ringtones
free ringtones sent by sms
free nokia ringtones
free christian ringtones download websites
how to install ringtones on my motorola phone
free naruto cell phone ringtones
free ringtones sent to your cell no hidden fees
send ringtones to your phone thru an sms gateway
how to get ringtones on a motorola c139
free ringtones samsung u740
free verizon ringtones halloween
free cell phone wallpaper ringtones boost
free cell phone wallpaper ringtones half life
punta ringtones
using copyrighted music in ringtones
ringtones muse starlight
wildtones bird ringtones
free ringtones website
freemovie wav mp3 ringtones
free ringtones sent to my phone
free schnappi the crocodile ringtones
wav ringtones
free nokia ringtones for tmobile prepaid customers htm
hacking ringtones
motorola v170 ringtones
ringtones uk
boiling water ringtones
free movie wav mp3 ringtones
cricket ringtones
free net 10 ringtones
free wav mp3 ringtones
download free t mobile ringtones
ringtones and motorola v400 htm
alltell ringtones
free ringtones nokia
verizon wireless free cell phone ringtones
free ringtones for a sprint pcs phone
classical music for ringtones
free keypress ringtones for motorola phones v120 htm
muppets ringtones
wildtones bird ringtones
ringtones credit card
windows mobile ringtones standard
windows mobile add ringtones
free ringtones marine corp hymn
completely free rap ringtones
sonic slider save song as ringtones
ojibwe ringtones
searching for the ultimate tone ringtones
ringtones hawain 5 o
elisa dancing ringtones
treo 755p ringtones
sword of omens ringtones
benq simens ef 81 free ringtones
creating ringtones from music
racist ringtones
how to get custom ringtones on your iphone
amy winehouse ringtones and samples
free 3gp video ringtones
calypso music ringtones
k1 ringtones
eritrean ringtones
ringtones for
cellphone ringtones rippers
aggie ringtones
add ringtones to my xv6700
buckeyes ringtones
leningrad cowboys ringtones
n80 ringtones
ransfer ringtones to krazr
fairtytale ringtones
impersonating ringtones
sword of omens warning ringtones
la ketch up ringtones
pbr ringtones
be like mike ringtones
ringtones krazr
searching for the ultimate tone not ringtones
ringtones chabelo
where can i get plies ringtones
where to get totally free ringtones for alltel
ipod ringtones
ringtones of all songs in partner
blackberry 8830 ringtones
k550im ringtones
free ringtones for mobilesphones
suncom ringtones
uploading ringtones w315
leningrad cowboys ringtones australia
cellphone ringtones 50s
newest cheapest real ringtones
serbian ringtones
transfer ringtones to krazr
buddhist ringtones
nokia cingular ringtones
free metro ringtones
boostmobile ringtones
free sms text ringtones
sanyo pm 8200 ringtones
diy ringtones
ringtones for nokia 1600
music ringtones att
michael buble free ringtones
t mobile ringtones
josh groban free ringtones
non music ringtones
funny lamergra ringtones
convert files to ringtones freeware
dolly parton ringtones
free ringtones for my motorola
funny la migra ringtones
convert files to ringtones
freecingular ringtones
how to set verizon ringtones cdm 8945
free ringtones nz
free steely dan ringtones
listen to cell ringtones
free full ringtones
nancy drew free ringtones
unlimted boost mobile ringtones
nancy drew free ringtones
unlimted boost mobile ringtones
iphone ringtones itunes free
free ringtones sony ericisson nz
individual ringtones for razor phones
how to set verizon ringtones
unlimited boost mobile ringtones
free ringtones for sch a645
free samsung e105 polyphonic ringtones
absolutely free ringtones for samsung cell phone
light ringtones
free ringtones download for jamaica digicel phones htm
telus ringtones
free nokia ringtones keypress htm
t mobile cell ringtones
verizon wireless ringtones halloween theme
free verizon wireless ringtones halloween
magazine of mp3 ringtones
site for samsung mobile ringtones htm
ringtones for lg phones
download disney ringtones
free convert mp3 to ringtones
free i830 nextel ringtones
free ringtones for razor
sesame street ringtones
free ringtones christian rintones htm
free ringtones for my t mobile sidekick
individual ringtones for sale
eureka 7 ringtones
free ringtones for a metropcs phone
lg ax 490 ringtones
free ringtones download motorola 398 htm
free ringtones for blackberry
ringtones for sale per song
free ringtones cellular htm
download free airtel ringtones
ringtones for tmoble sidekick
free music ringtones for the motorola v400
free crazy ringtones
free t mobile ringtones
free australian polyphonic ringtones
free ringtones compatible with sprint htm
disney cell phone ringtones
nokia christmas ringtones
free ringtones cellular south htm
free mp3 ringtones for sprint
free mobile phone ringtones and games
free disco music ringtones
selling ringtones musicians
real free metropcs ringtones
free ringtones cellular one htm
hack nextel to download ringtones
ringtones composer hot action cop nokia free htm
free ringtones download in singapore htm
how do i get free ringtones
free ringtones to your us cellular mobile phone
free disturbed ringtones
selling ringtones how to
lg ax490 ringtones
free ringtones television show songs
how do i get free ringtones on my verizon wireless phone
free tmobile ringtones
free ringtones cellular one nokia 6010 htm
disney ringtones
send free ringtones to your phone
forum v3m razor puts ringtones in music folder
ringtones composer free nokia htm
motorola v710 games ringtones free
download ringtones from cd
absolutely free ringtones for cingular
free ringtones with lyrics for sprint phones
free samsung ringtones
samsung free ringtones
ringtones for nextel
nextel i 830 ringtones
convert mp3 to ringtones freeware
dtc wireless ringtones
software to make ringtones out of mp3s
new verizon wireless ringtones
ringtones compatible with verizon wireless htm
free mp3 ringtones for nextel htm
free motorola v325i ringtones
send mp3 ringtones to a phone
free motorola i 325 ringtones
mobiles mp3 ringtones
mp3 ringtones on razor
free ringtones for nokia cellphones htm
free nokia 5125 ringtones htm
free ringtones for lg phones
exorcist mp3 ringtones
star trek mp3 ringtones
free motorola razor ringtones for cingular
create ringtones from mp3 freeware
blackberry 8830 mp3 ringtones
free ringtones for cell phone
free new ringtones
ringtones for my cell phone
free ringtones cellphone
create own ringtones
ringtones downloads
h1

Live blogging from Ajax Experience East

October 24th, 2007

I’m in Boston this week for the Ajax Experience conference.

As usual, it’s got a stunning array of speakers and keynotes. I’ll be blogging as I go, so stay tuned.

h1

GData library extends cross-domain mashup capabilities

September 26th, 2007

Dion Almaer recently announced Google’s GData library, which allows you to securely access Google’s Calendar API (more APIs to come) for reading and writing calendar data.

I have long been a vocal advocate of the development of secure cross-domain methods in the browser. This is just the latest in a series of developments that make it apparent that the way forward is going to be built on existing browser technology without waiting for the browser vendors to bake in the necessary objects to support mashups.

Take note, I see this as the most important development on the internet today. I’ve said it for years – getting over the cross-domain hump securely will open the floodgates to a new level of Web interop.

h1

Strategic internet development technologies

September 19th, 2007

Joel Spolsky has had more than a modicum of success reading the tea leaves of the software industry, so when he writes an incisive essay about the future of application development and platforms, it’s worth not only taking a look, but pursuing an understanding of some of the relevant issues and technologies.

I’ll provide some links here which will help the reader to understand how many of the points Joel makes in his essay are supported by existing technologies in various states of readiness. It’s a big pantry of ingredients that is waiting for the right chef to come along and combine them in a way that inspires the world to follow.

This list is far from exhaustive but I just want to give you some clues that are representative of each topic to help you get started. Please let me know if I’ve missed any important topics.

Javascript (language):

Javascript (engine):

Libraries/Widgets:

Higher abstractions:

Frameworks/SDKs:

Rich Web Application Runtimes:

h1

CrossSafe secure cross-domain scripting

September 10th, 2007

Kris Zyp (rhymes with Skype!), founder of Xucia, introduces CrossSafe, a small Javascript library to enable secure cross-site scripting:

CrossSafe provides secure cross domain JSON requests and partially implements the JSONRequest specification (the get and cancel methods). XMLHttpRequest follows a same origin policy, and because of this, when developing mashups that involve retrieving data from servers other than the origin, developers have typically had to decide between a secure, but slow connection that through a proxy, or a direct, faster, but unsecure dynamic script tag retrieval of information. CrossSafe allows fast, direct, and secure connections to foreign servers from the browser. CrossSafe uses the JSONRequest API as it provides a subset of the JSONRequest features.

I’m really happy to see that Kris has not only come up with a viable cross-browser solution to the secure mashups problem, but has taken the initiative to implement it via the first-ever released implementation of the JSONRequest API proposed by Douglas Crockford nearly 18 months ago.

Not only that, but he has implemented it in such a way that should browser manufacturers ship a JSONRequest object, it will gracefully step out of the way:

CrossSafe does not implement the entire specification. However, developers can use the JSONRequest API in CrossSafe to make cross domain requests (which is one of the primary motivations for JSONRequest), and if and when browsers implement JSONRequest natively, CrossSafe will simply leave the JSONRequest object alone, and code will continue to operate with the benefits of a native implementation.

CrossSafe apparently uses a technique similiar to that described in the Subspace document I blogged about recently. I’m looking forward to inpecting the CrossSafe code since there was no code released with the research paper.

I met Kris in San Francisco in July at The Ajax Experience. I found him more than once in advanced conversations with people like Douglas Crockford and Brendan Eich – definitely a player to keep your eye on. You can see Kris speak in October at The Ajax Experience East.

Thanks, Kris, for stepping up to the plate. Great work.

Update:

Douglas Crockford points me to Collin Jackson’s JSONRequest Firefox Extension. Collin was also one of the authors of the Subspace document.

h1

Discover and become a part of your local tech community with DemoCamp

August 25th, 2007

I’m often asked for advice from people who are just starting to work in technology or who want to take their career to the next level and prepare to become an independent contractor or consultant.

Invariably my number one recommendation is that they begin to build a network of contacts in their local technology community. More often than not, they have no idea how to get started.

In the Toronto area, we’re fortunate to have a vibrant tech community. It wasn’t always so – it has grown significantly in the past couple of years largely due to David Crow’s importation of the BarCamp unconference, an event held a few times a year, generally over a weekend, where people interested in internet technology get together to collaborate.

Even more significant to the growth of Toronto’s tech community was the Toronto birth of DemoCamp, a more lightweight gathering featuring demonstrations from players in the local (and sometimes wider) tech community. Since it takes place in a single evening and is preceded and followed by informal mixing and discussion, it has become a fantastic venue to come out and observe the electricity and creativity of the community and even insert yourself into the fray.

Bootstrapped by the community and now gaining limited corporate support, DemoCamp is growing but still maintains its most important feature – an atmosphere where everyone has the opportunity to contribute and participate.

If there isn’t already a DemoCamp in your community, I strongly encourage you to take the initiative to start one. If you’re in the Toronto area, I hope to see you at Toronto DemoCamp 14 on September 17th, 2007.

My first DemoCamp was DemoCampToronto3, where I demoed BlogChat, an Ajax chat app I developed in early 2002. I have been to almost every subsequent DemoCamp and have witnessed its phenominal growth, as well as the various BarCamp offshoots such as DrupalCamp, EnterpriseCamp and a host of others. I’ve even participated at Geeks and Guitars, playing drums and bass with Joey DeVilla and James Walker.

It has been my pleasure to meet literally hundreds of local people who are passionate about technology, and to collaborate with some of the core people who continue to make DemoCamp a success. This month, I’ve personally pledged $200 to help towards the venue and I encourage others to find ways to lend their support.

The Toronto community also has a “Toronto Global Swarm” Skype channel that is open 24/7 and allows people to come and go and communicate with one another. You can get an invitation from anyone who is already in the chat.

So now you know the not-so-well-kept secret of how to get involved in your local tech community. Spread it around!

Update: David Crow has some details of the presentations lined up for DemoCampToronto14

h1

Ajax Evolution

August 2nd, 2007

Not only are the tools and techniques surrounding Ajax development maturing, the very scope of the Ajax meme continues to expand even now, two years since Jesse spake those immortal words back in 2005.

The latest class of techniques to come under the umbrella of Ajax is offline browser applications. At the Ajax Experience conference in SFO last week, there were a few presentations about the Dojo Offline Toolkit, which provides offline application and synchronization abstractions on top of the Google Gears local storage engine. I spent quite a bit of time with Brad Neuberg and his work on DOT is impressive.

Another topic that got much more coverage this time around was Performance Analysis and the tools you can use. Ryan Breen had a great talk that described some very useful tools and Steve Souders presented his new tool YSlow.

I had a chance to hang around with lots of other great folk while I was there – Douglas, Brendan, Sean, Dylan, the charming but unlinkable Stephanie Trimble, John, Pete and Dori to name a few. And of course, Ben and Dion, congenial hosts as always.