Application Development - eWeek


Battery 500 Project Charged Up over All-Electric Cars
Charting the Final Frontier--Google Maps for Indoors
Get Smarter Technology on Your Mobile!
  Application Development


Putting Web apps to the test




xr㶲(;; Yڦx)%[Xk,Ҍ3JEĘ"Hʗ䬗v8x -2o&-`h F; IM˙k.lJg9[D{{}.GP|gSo92r=z#m)>M3ĩ 5w5Gl&J{'AT{j xL5uΚM}ٚ7'x2 X m$8zڀ'jZlZ P8$H.( wm<"a}c $aL?'׼;A:W;YJL~#/@DR˅,ID>&-ԁN֓P? uH5}(D~ZjZAS# T$0yY>E4f‰EUq} و&lXAZ|YkU[_nG_CMn[CyC0-ߕRMRs?#1 >_4.?wNHN‰,-٠{N x[(-t[9K2}!zyp%#,_ f kķLJFo$3E@;- u kUkoU:^T7o`H2 f4 m=w  a6zALu\ a#|`Mil&XJp7єyd$e $}ВYtBFͨ8 .)J""xV3 E94>BBp4:AGAticšwh4ά@7h`C:ҋ:L ~;ݣn]?'tayXŞ*LQ^i50CGA 6]LR}>tq PhR0<sz7Ln-σ5_ӽk:F?A6xBe^~}̢1O[>=woouG &QsaPBԁ!~9.b&A/tKt=JIAL"D%  h4AǰEENlbo(w$]I+Tbz"ҶBI}vn KŔ=*%nqR%a 3ʬ$&vϏa[LboD6], S mo3-mu{6 z`ơ'3yjVRTEAzdEW5.Sq r@后3t p#EQÂ[zu|{< Z\愩M*C=@3~ ~f탪Az Bfg*4+dpPsg <`t= Xհ݅2||}IjKiSi |kV Spć 9E#rQϚX %<.ƲB"57cښJJ:$,4?gaM8F2b=i%ӻnR/|KԝQ48%'1`sW|]Ө5@di6[ͦE[9(ەi]jk-T8?![q5o|a׼1F]RZJKPDlPc/X kezdч(U2LF%?7k7CSklQ6qbQ5JȄm<ߪ%M*GV+Wbzg0 g%AqsGNݔ6 [IFbt |ꝸs@kQDsOTn6 8[xyfO]?FB\St+ˀ%\< MUPb{ q ڠ@XĞ=:P]%0[,*5eOhJsWk޻ĦTQ݂* RN](Xk±&>,<<+i0ց 0 ~"}lmA$>\P`t>* eX) 5*Ixm"`/ŒbtXQH }j,<{e|h3ʫ< EәZ JqtheU-UjRAgD+ϏyWE"Iϩ1Ps@.y >{VN0eC>yLLF<|˰"Uyo|BZ_(ƨOMqё,u` ?++؝?F]h6B\4<}gS5 pfnWQ=KkjXX'RO.x[z6Gs- 9]P˶(VQpi?p;x跸@\5p?F]S؇Qgm/ RU *~i/::zoJ.E׌Lu0ȈNÝWlȡTh7 8UoF*l[=GD1*@7Z ɖ~kVɪ Նgy1cIpR|9}->p)A7-="Jg\Up{9A;B" r?H_-ϺBN7xlxPym/Oi_2LFdT~!\zRflҡ.i\1˓~VA70p[c?֍\nb*r1=_?M} [L4zɖ0-0' ٸn:AjAyId*LմZ9K}tv''< hrõm7>;" V\tc{~O a51t&l\X碚I0[7迌USxPRaƭbR/g ?+:TfDU}d5󉧛?>n!VɕF &I0@{EY(,.>uP*jIIz,pEUbkm`WF4`+^ǽan.D<[ 17ʨTIVՕMOe3q1쎸8DX=yd6 5C3t53yqf'SIm'YVc6fƲ}A3TlȪ+> tVB gI9 F􁮢U4qyh7(۞jMy@h# ;wkʡnUR'b$VVJr=H2M#gD)jeѓEO.'mJPp,g( ,O$%,t9ǣ۷mpH75SXp| ^?KHHD>DQkF\{e"nxB*n gF Dssb^f{q`z}UG K -$P) WAhxa{I62$KO{>?&(~?<w!aAv J0WK4.iPЇ_E!)X|xxђ:6?NeF&;fB,&8oHzq'^Y{{l:+m}:#4.dhhqo0un}B|Iw޻y-%{.;Ozd, Y# BWǧͦ vpR`QqH17^z0L‴ )䯎wj_qbꥰjNZ _k5W&'7hamFp6[; ºUXHe`&|C(WtvăyE9{B:/ϛi9$C[ `M/ԩ #aDrElFzRFijVwD×$0_ί0[L㷜oWȘID_q+ '=?Mh':H ׉ NN|>os_"#ppF0xc.A-H7ԾJ>$S4QJh"g8Q;)~ڲ{, /=;SL&SQ([4wia-uyjdJ1%SBeޞ,Hy=Ym@ybZӽK3%ƗHã,P-WI+LB$/EiA0 :'PR#A[xqP>XkI)j[UH*?vbƇ'%6 DTz@0Hr吜ZC=?jmOfXyu3v츃%vd\:Gw*b,_}huӅ[eСwy$sm#g.Ս)A/sk9GRb0x&4Ndywy# xEıTrm䰎*hu5nWe gt!&V\y>h_arJs ނ3QG 6j 2'|42UCnMk=Ǭ§ ,'iƿ'qVԱQ*_2$;lߖŗc3Ocp௥* w21  \=3q x zȓqi+B<ыO\-1-Z}O:d|:X-?eȺ>'>uuZVjX*wy:DtSxMtoT]D~aRUDYgGPҵij "zNKp 6w-btp,y`:4htT~I`TX 7^P(%D?#(_!bO0 &blX% {R,,]a[Wp7 k G{ JznAD\ǮNb2x,RP w_Y#,-uX=&NM(}ITL>'\8~/n!2)&9ANHwjB{.&exps:S^>vc"P>{ζN9~lOӊ5,93 K2W![PjbWX%3(Yz%.<튳+7xqY{?oA$rKr)ql퐭V-kGZVZ|S*6  :?w&qBim%JDdk(ڤxYxaY@qޤx?slYn p LKU% :!ޒ%mI^-:חZ롷P-W 4 CI#d,y|q~I&/c/6"Gx6- S{q^{탌4$qZ;-^exSW7qW4rzn56gxhx^L0j60bIysU-O:r_ƨ>O8}s x,Ã,,]>9mcapw65'hG0x–tQ|AGL:TnQBݲ/Fߠ[D-EkP[ '#h,?r.J/i_b_R]3%a#ϺD?3wږ?ZR0yխR@.-|%8hj-)EECe@/Qy lI SG/uߗF!XK#lT\%}K *mI_*򐰷HomV´/'a熑56n)4-YN\.mvr58&]m0xBxM*f\۾ f*^,pH,!GS{up6OB/wCEc[Lqq3Ϻ0sc,o3ŝ|1,ȓK-ئ֗1)S* D{UH;7oJ-z6~Drqs;+:w $U#2 /|Dg9ÌyӰJ^sY3eQ}rRKɯ8c{AFsHԕ_ >cȷncJ_ګVMM)۵xY[x׍0OLxj?~\coKӖIEcuIF,Хsw)ݲ;€PRb_g˛^G.#˸lܝ\\5!p_EzB8\AO~{0 פKt:Ç+[2`z? _~K{~i[ ˎ=[L%_Ukrw2$/ N E3(hMVÙBt}saz%YG 3nx.5n[*i ]G?ځrUts7 gZP_,xۋ (JCMwힸב ҘX?_C Ez? 3,K?#"qh K\=Mݮ)*ai!:6M\z@~RJ~/`С;{>駠T#2:Eo! <5إ==t ߸ɮO6= bkek/(G>?FuR:^ۏoW䏥yb-.]3? !kjb`!uO4#|IAEhX|Cy~rmzbEq} fDpXvYrBYmӶ|4>(CZPBZ’ M=Is9ꚚrMo @`0$~SDZC@ O^a)qc) kpx ΃L,{z7 $?87핡;6ǜMEfAױT9^Us\:$VG ]J1xy[M֘0HtL'f<::BMEשWBhx#-F5I<xVŠx!Vy ?Lm+=umvX5Įz{s3ti<"} ޼voO%ܬTMu GܬG>܀Sp'ԆAc,1𲋸220n)RjX|>ITnp=jh ܻDߤHdm^P)ÿ#rz4Ps7WyjUS*ZY9eĔ'=PJ\iXw'> Փ>-,QkOu$vy1K%XS#o@;Ta"֌s|؈B{ɯ'߈|~ l9 sXx7[Mw5=(9%A:`Bc]8XJĎ1{wn/1~ۊ+ѱ>-0۱px6-RýZ<HPZ#/VkѦ'ҸxfV-j%VG4K,2;kv4} g;&f ::53?b)o&, 0+sYl"WTQLkW1JZmxi)k`"y2_*J@(fYir' o.'G1Zoq+PתۣV7>2|?}n%[@r.:IA!i>0װ^0♠dyd`M0 Jz@>:Xj !1g<s@b~H-'3)vqU@y+DL͂zĂGx~BMFh_ą`h0u>0"(S[]ă02]w7q(MqWyFă@ 3+fɻs:rtT(ʁ2|{#@u .)s)aR;*3ʰLXUK3ʗ/Ͳg2qХ&JZ `xzNrdhz?[_Ч6#`;7Csgrڻ"MrznUr]y@a[kN|Sw{'ϧUbR&hT湾xQ(X| %EfvʂT{:.ͅdUh,Y3U94dG_14e8qg@O38Sv}YQJib_)oZW~_V\k) >?VՑt.53;nh9js :&*5}V0.8S~}2 vn<(('MfFy{H-AQ~'O?yNq\iVF9?t.2ʡ埡s]1?]7c]͂f f f ͠.g7>G/2 ?eAYF?](f^dE\]d_O/C@2%e}\_\eOoA_>f'(U1OOr 3ڿΠ = >k^픊8kgK " SV9,.N3kP! g  z-22Bό ~/>{'sg+I\WKM0TntEճKL썆cn%:vņ^_z<>Tl<-u&j\ef(+@J~t p0t~gzY)W8#U^LE|x|fŬ^`l!x}k6O$DBpFc+L B2 "9)4螩zȢ_ N+4\zt8&;O7maH拑T.jZQo\)Uʹ俓+D2Lz@ b2jJ]NmJTLuzg l]fJLZCO0CX)fฃ}Llk".`]#X5RǬȽGG}Q!jRe:7mk$b "n+5񘯌_>5JީƍQg lxLŒk:çOn3 &`T{|5h_u4rn5V$Ƕ1x_05:%xbӍ(1ve6Mm@(~ o6ۅNlw=拀3{Pr|Kg o6gG=םېŚq뺺upYO^ۍYpx fL~.ITCxdGN"Ca yF˟4a&^gL{N> !'Tbg94Iأ_BDOv֢ * `?94Ǟ”0πgؠ+.Ġ/>''4WB):3U\6 i&c~WhR׃$ao5RFX^ u. MSA۹$}^eGY~l',1c~+s$ׯMa{MgY{qKR=I*4uMfβْE?;tz LJ @Bo%&Tum{Tj;<}"$E a'_! TL,sD?>7!31Q)jkI/?H3軱Wx`HA1^<;z>Ku AY=_v{[=/'_^|ۺkAѾXnwbd[t-K^Fz!ҮT)V"ʕ.Sܟ=Cȗa҇f8_X ( LIN8u vAѺ v7"!aNo0n-/ـ@ s;=֏*.ufel6vQmS#ন+N]?41Ȟg|Nuu |ڕa=vbcΜ67 U  =[?܋;}c\m:1V`wY?-lI12#,22"k,Ma4,Lb5"[]QI(VvX3e|,@a)5z`Ʉn~3 4pRaL (b[иZYŒBd'KW̵1^5El݂*aԈ]@LN= _5>gvC%=㵄6Ls\9,C eYVc.GTyLǫ6 52lv* X*K/^F!IDb88)ҡCC^R!%´#Tx 1L(a,.דu!;xZqƋ{El>byx ^Uf}')VS//.?I*'\`b{@T*7+wbA <] fsTO3uG?<; Oo;{hT*ቋ۝g5'U lݸ͓z/ZRXF^zhI:V; AHdc.V}"ӳo .A|Ѿhy6=xL v2V*wNVtƦI21qzRSVs0v.bBmP?-۔̑r&s.#KM_Z)ҦG(ϗc>tgLt ))vsml-6C-{ˈR,