Developing for the Motorola T720
r0.ini writes "Nice step-by-step introduction guide on how to make that cool app for your T720." Worth a read even if you never intend to write a program for your cell phone, for the comparison between BREW and J2ME (and implicitly between Verizon and AT&T).
Cool beans!
Saying Java is nice because it works on all OS's is like saying that anal sex is nice because it works on all genders.
Yep, it's true folks, sak also known as the burntheart/ bernhardt, sucks a large dick and gets paid for it. Wtf?
fp foofuck!
now how do you upload the app to the motorolla? sounds interesting. are verizon and at&t the two gsm providers in the us? i know att just switched from TDMA.
Do you realize how close they are to releasing the T-1000? We're all going to die!
CELL PHONES program YOU!!!!
In da house...DEEPSIDE Niggas!
I feel there are some inherent problems with product criticism/reviews.
The problem is that most people who review things are the very people who seem to have the most hang-ups about that thing. This makes their reviews worthless to the rest of us who simply enjoy portable mp3 players or cool new cellphones.
So Mr. Device Reviewerman, you think the iBook had a "derivative, punch-the-keyboard action to it." You think Microsoft's TabletPC is "crude, but occasionally laugh-out-loud funny when using the scribbler utility, merely for its sheer ridiculousness."
You think that a lot of these products are just too far below your standards. Well I bet you twenty bucks you have a painting in your house that you bought because it matched your couch, how pedestrian.
I'm sorry (not really), but you FAILED it. Worthless sack of shit.
Foofuck? Yea, fuck you, you rainbow prancing piece of shit.
slashdot now linking to porn? mmm I suppose that is one use for a colour screen....
Only after getting the cell phone, however, did I realize the amazing freedom of being able to call or be called anywhere at any time.
Someone give him a coconut.
I didn't bother looking at the link until you mentioned there was porn.
If you get a contract with Verizon, and you choose the
:(
Motorola T720, the phone executes BREW only.
If you get a contract with AT&T, and you choose the
Motorola T720, the phone executes J2ME only.
I've had my T720 from Verizon about a month now, too late to return it and cancel my account.
I'd love to develop my own apps and share them with the community but because I chose Verizon it looks like I'm SOL
COLiN fAhey'S J2Me cElL phOnE EXPErIenCe figure: MOtORoLA t720 cELlUlAr PhoNE,
clOsED. INtROductIon ThIS pAgE DESCribes how i sUCCEssfULly cREATEd AND
DoWloADED MY oWN Program To my CeLL PHOnE, oVEr tHE AIr (Ota), THroUgH MY owN
wwW sItE, wITHOUT PAYIng fOr aNYtHING MoRe thAn "aIR Time" And "daTa TRansfEr"
(bOth MonTHlY flAt RATeS). you CAN SKIp THe LOnG diSCusSIon SECTIOnS ANd go
dIrecTlY tO The PROceduRE. FiguRE: mOtOROla t720 CEllULAr phonE, fliPpEd oPEN.
bACkgroUnD In LAtE OcTober, 2002, I purchAsED MY firSt cELluLAR PhonE: thE
moToROla T720, With a 120x160 cOlOr scrEeN, PolYPhOniC rING TONEs, WEb BROWseR,
aNd THE aBIlitY to DOwNLOad anD run appLiCATionS. i hAdn't Given MuCH thOuGHT
tO oWNinG a CeLL PHoNE BEforE MOVInG To A new apARtmEnt RecentlY And tHINkInG
abOUT THE HASsle oF acqUIRInG A nEw LAND lINe. onLY AfTer GeTTInG thE celL
PhoNe, HoWeveR, dID i realiZE THE AMazing fReEdoM Of BEinG AbLe to CaLL oR bE
CALLED ANywHeRE aT aNY Time. wheN I pUrchASEd tHIS aDvANCED pHOne, aS OPpoSeD
To A phOnE WITH idENtiCAl PHONe qUalITY BUt fEWER mULtImEDIA ANd inTERnET
capaBIliTIES, i wAS MotivaTED by THe PromisE of Being AbLe TO creATe MY OWn
comPuTER PROGRAms FOR thE PhonE. i havE nO PRacTiCaL rEaSon FoR WanTIng tO do
tHIS; i JUst liKe fUN diVerSIOnS To DIsTRAcT Me FroM poNderiNg deeper qUESTioNs
about lIfe. pHONe mOdeLS, CArriErS, andProgRaMMiNg ENvirOnmEnts a giVen pHoNE
MoDEL (E.g., moTOrOLA t720,
) ExECUTeS A SInGLE tyPe of CodE (e.g., j2me, Brew,
conTraCt WiTh VERiZoN, and YOu chOosE The moTOroLA T720, thE pHonE ExecutES
Brew ONly. if YOu Get a Contract with aT&T, and YOU chOosE ThE MOTOROla t720,
The pHOne EXeCUTes J2mE Only. IT's critICAl to NotE ThAt iF YoU get tHe sAME
MoDEl phone WITH A DiFferEnT CARriER, It maY FuNDameNTally eXecUTe A dIFferEnt
kIND Of codE. THE tWo MajOR PlaTFOrMS Are: J2me anD BReW. BRew IS a
dISasTerFOR CoNsuMeRS AnD dEVeloPERs brEw Is "BinArY RUNtimE enVIroNMent FOr
wirelESs", a pROPriETARy plATform DEVeLopEd BY QUAlComM. to LearN MorE aBOuT
breW, vISIt theiR wWw SIte: HtTp://WwW.QUaLCOMm.CoM/BrEw THE bREw VerSION of
THe aRm comPILeR reQUIred tO dEveloP CODe For YOuR oWN PHOne COsTS $1,500. nO
APpLICatIon (EveN thOse YoU doWnLoAd youRSelF viA A DatA cablE) CaN survIVe On
Your PHoNE FOR MOrE ThAN ThRee MonThS, AT whICH TimE yOu NEED A neW "SIgNaTUre"
FRoM quALCoMm. if You aRE dEVEloPInG AN AppLicatIoN fOr a bRew pHoNe, YoU MUsT
sUbMit aLL SOurcE CODe, oRIginaL AnD cOmPIled ArT ASseTS, aNd DocumENtATiOn To
QuAlcoMm JUST To gEt a "sIGNaTurE". oNcE you devEloP an APpLiCaTiON OR EvEn
sIMpLe REsOuRcES LIkE "DesktoP WalLpApER" OR "rInGEr TuNes", YOu neEd a CLoSEd
teChNoLoGY CaLlEd "GEt iT NOw" (A sERvice Of QUaLCoMM, Not tHe cArRieR) FOr
PEOplE To DoWnlOaD YOur CREatIOns (FOr a fee). aLL pHonEs WITh VErIzon
CoNTrAcTS use bREW. a PErsON wHO worKed At a coMPaNY thaT dOES BREw
DEvELOpMEnt tOLD me THAT the FaCT thAt bREW wAS A cLoSED PlaTfoRm (VeRy COStLy
to ACquIRE cOMPILER, veRY cOstlY to shArE YoUR CrEaTioNS wiTh OTHerS, HArD To
acquiRe TEMPOrary "SiGNatUres") ResulTs in hiGher QUaLITY proDuCts iN tHE
marKeT. bUt FoR THE CONsuMeR the siTUaTIoN is aCtUaLlY veRY BAD, sInCE This
ClOSed sYStEm PreTTY muCH GUarANTEeS THAT AnYTHINg you cAN pOssIblY DOWNLoaD is
GoING tO CoST MONey! eVeN IF i WANteD to gIve aWay mY COoL RiNGeR souNDs or
dESkTOp wAlLpapEr, i tHiNK i'D neeD an eLabORaTe PaRtNERshiP wiTH quALCOmm Just
to LEt YOU DOWNlOad my CrEaTIOnS VIA "get iT now". bREw DEsTRoyS thE ValUe of
AN OTHErwise ADvaNCed PhOnE (e.g., mOTOrOlA t720). When I PuRchaSEd the Phone
i had dREAMS oF UplOadiNg cooL PiCTuRes for MY DEsKtoP, AnD plAyiNg SOUND clIPs
fROM MOvIes And viDEo GamES WhEnEvER The phoNE "RIngs". WOULdn'T it Be cool tO
Have your PhOnE DO A rEn & stimPy vOIcE ("yOU EEE-diOT!") OR mS. cLeo ("OH MY
gOOdNEss!"), or aNY sAmplE you COUld FIND? wELl, UNLeSS yOu're wiLlinG TO PAY
A third PartY SOmE MONey, you cAN't do aNY of tHiS WiTh a BrEw-BasEd PhONe. i
RetUrNed mY phONe and cAncelLed MY cONTRACT (withIn 15-daY TRIaL PERIOD) to geT
THe ExAcT same PHoNe (moTOrOla T720) wITh A CaRrieR thAT CHOSe j2mE For THEIR
phOnEs (e.G., aT&t). j2Me IS GreAt FOr cONSumersanD dEveLoPeRs J2mE IS "jAvA 2
PLATfoRM, miCRO EDitIoN", A "hIGhLY oPtIMIzED" JAVA RUnTiME eNVIronMENt. tO
Learn MORE AboUt j2mE, VIsIt SuN's WWw siTE: HttP://JaVA.Sun.Com/j2mE chanCEs
ArE thAt You havE alrEadY donE soMe JAVA pRograMMING IN yoUR LiFe! I WaS vERy
suRpRiSEd To LeArN tHat j2Me REalLY DoeS have A LoT Of Java funCTiONAlItY! YoU
CAN creaTe THrEAdS, soCKETS, ETC, verY easILY. yOu Can diStrIBuTE thE
HAVE deVeLopeD COde fOR JaVa. i'M Sure THEre ARe lotS oF DIsCUSSIOn FOruMs fOr
J2ME. (coNtrAsT alL Of ThIs WiTH THe BReW sITuATioN!) iN fIFTEEN mInUtES Of
Www SurfiNG i FOUNd ToNs OF cOoL appLIcations, imAGEs, and sOUND EFfects foR
tHE MOtorola t720 J2ME VErsIon ALl frEe. PeOPle WrOTe sOME crazy aPpLIcatIOns
foR tHEir PHOneS, lIKE wWW sErVERS aNd DATaBASES! I'm TOlD ThaT ThE gAminG or
MuLTipLAyer EXpeRIeNCE WOn't bE reAL-tIme foR YEARS (SinCe PhoNEs doN't
RecOGnize mULTIplE SimUltANeOUs ButTon PrEssInG, aNd tHERE's A lOt of LatENcy
in nETwORK tRAffIC), BUt I Am VeRY excIted By BeiNG abLe tO TAke fUlL AdVantagE
Of tHe MuLtIMEdia aSPeCTS oF MY PrOpERTy (pHOnE) WITHout HaviNG THiRD PaRtIEs
(quAlComM, veRIzON, mIcRoSoft msn) INvADIng MY PrivAcy and exTORTINg MOnEY fROm
mE wheN tHey MADe nO coNtribUTIOn To My pRoDuCt. GeNeRal suMMarY oF PLaTfORMs
WHEn I Learned ThAt i COuldn't eVEn sEt My "DesktoP WAllpAPeR" On MY neW
mOtoROLa T720 PHone wiThout PAYing verIzon / QUaLcOMm, anD UPLoADing my
personAL IMagES tO A StRaNGeR's seRVer, I was stUNNED And dePrESsED. I
wONdeREd HOw "tHe Man" WaS aBle To GEt ThIs FAR IN A FReE mARKET. NOW I kNOW,
frOM EXPERIeNCe, ThAT it'S jUst THe iGNOraNce oF tHE consUmEr; i just WaSn't
AWarE How rADICalLY DIFfeRENT THE pHOne eXperIEnce COUld Be, juST bAseD On
pArtNeRSHiP DECIsIONS oF tHe carRIeR. bUSInEsS AnD devElOpmeNT moDELS likE
Brew / "geT iT noW", aNd infOrmATION GATHerINg StrATeGiES likE ".net PASSport",
"rEal one PlAYer", "mICRoSOFt WINDoWS MEDIa pLAyer", EtC, hAVe GREaTLy hELd
BAcK tHE ProMiSE of tecHNoLOGy bY sEttInG up BArrieRS anD TelLinG ThE COnsumER
(by actIoNS, noT By pRoMIseS tO the coNTRaRy) ThAT hiS OR HER PrIvACY has NO
valUE WhaTSOEveR. hOw CaN evEn thE mOST fORgIviNG PErsoNality AvoID BEcomInG
cYNICAL wheN gIanT CoRPOratIOns, whICh CoulD cOmFORTABLy GrOW wiTHOuT UpLoaDInG
eVeRy CD TRACk tItlE and WWw SItE uRL THAT YOU VisIt, do IT ANYwAy jusT tO
deRivE marGInaLLY mORE CASH fRom yOU? I HopE DEVeloPerS wiLL noT GET suckEred
iN tO THe BrEw PaRAdIGm. aNd, UlTIMATeLY, I THINK cOnSuMeRS WiLL dISCOVEr aND
CHOosE the oPeN pARADiGm (e.g., j2me). iT MAy Be true THAT bREw / "Get it NOW"
Is sUfficieNtly ClosED To TuRN MoRE dOWnlOads IN To CAsh fOR tHE dEVeLopeR bUT
THe ClOSED NATurE May bE The eXaCT reaSon THe eNtirE mArKEt shIfts tO sOmETHING
LIkE J2me. aLsO, A sMall J2Me developEr Can gEt 100% Of ThE PUrcHaSE PrICe OF
AnY itEM, anD devELoPEMEnT TooLs aRE FRee. DevelopINg ThE APpLIcaTIOn I
ConSULTED the RefErEncEs lIstEd AT THe END of thiS SECTion. i DESCRiBe THe
sTEPS I folLOweD herE, BuT YOU MAY WaNT tO rEad tHe RefereNCEs afTer rEADiNg
The DETAIls of my PaRTicuLAR EXPeriEnCE. REQuiRed dOWnloADS: (1) YOu NeEd JDk
1.2 Or LaTER:
THiS Means you nEED THe cONvENtioNAl JAVa 2 sdk from sUN. I DoWNlOADeD
AnD useD VeRsION 1.4 Via the follOWing LiNk:
HTtP://jAVA.Sun.Com/J2Se/1.4/dOWnlOAd.HtmL
herE'S wHAt THe dOWnLoad Web PAgE LoOKS lIke:
(2) YoU NeED THe CoNnecTeD lImITed DeVIcE cOnfIGuRATiOn (CLDC):
-
I Won't PReteND tO know whAT tHiS IS, but I sIMpLy DOwnlOADEd it fRoM tHE
sUN weB sItE. oNly 1.0.3 WAs AvaiLAble aT the tImE I vISITEd. IN
OrdER TO DOWNLoad tHIS, I nEeDed tO REgISTER WItH sUN weB sitE. i crEaTed
The FolLoWinG pRofile: usErnAmE: ANONaNon pAssWOrD: NoplEAsE fAVOriTe
Color: BlUE full naMe: PrOf. aNon NOpleAsE (Note: I'm NOt goiNg tO teLl
yOu EvERYThinG!) I DOWnlOADeD tHe FOLlOWIng FiLe:
J2me_cldC-1_0_3-FcS-SRc-b17-wiNuNIX-14_Sep_2001.Z
fOLlowiNg DIRecTORy:
C:\j2mE i rEnameD THe "cLdC-1_0_3-FcS" dIrectOry To sIMPly:
Cldc (I.e., fulL PATh Is c:\j2me\cLDC) (3) you nEeD THe Mobile
infoRMaTion DeVIcE pROFILe (mIdP):
i wOn'T PreteND tO Know whaT ThiS IS eIthEr, but I siMpLy dOWnlOADED it
fROM The sUn web siTE.
i DOWNlOaDeD THe followING File:
J2Me_mIdp-1_0_3-fcS-sRC-B26-WIN-19_SEP_2001.zip i uNziPPEd tO the
fOLLoWIng DirECToRy: C:\J2Me i rEnamEd ThE "mIdP-1_0_3-fcS" DiRECtORy to
sIMPlY: MIDP (i.E., fULL PaTH IS C:\J2me\MiDp) ReqUIRed seT-up: ADD
the FOlloWing lINes tO You aUToeXec.BAt file: reM JaVA SUPPOrt SET
mIDP_homEc:\J2me\mIDp SEt PAtH%pAth%;c:\J2sdK1.4.0_03\Bin;
PAtHc:\WiNDowS;C:\WIndOws\comMAnd;C:\j2SDK1.4.0_0
then fOrCE tHeSE VARiAbLes To be ReLoaDED By rUNNIng THE BAtCh FilE: c:\>
AUToexEc.BAT you CAn aLSO SEt up thESE same VARiABLEs UsING THE WINdOWS
ENVIRoNment vARIabLE CONtroL PAnel, BUT DOn'T asK mE hoW! NOtiCE tHaT i
juSt haRd-cOdEd tHe PAtH TO MY jAVa 2 sdK versION. IF I upGRADe, i'M
SCrEwEd, In sO fAr As I haVE tO mODIFY autoexEc.baT ANyWay. tRy uSIng the
Java 2 sdK BinARIEs: once tHe SETtinGs aBove takE EFfECT, YoU ShOULd Be
ABle To RuN the jAVa utILitIEs FROM ThE COMmaNd LiNE WIThOuT SPEcifYing
tHE cOMPleTE pATH to tHe exeCuTablES. trY ruNNinG thE PHone EMUlaToR:
C:\> MiDp herE is WhAt i sAw:
tYpE iN a simplE program: usIng aNy TeXT eDiTOR, YOU Can tYPe iN coDE, likE
tHis "helLOMiDleT.JAva" soUrce fILe: HEre iT iS aGAiN, In plAin tEXt FORM SO
yOu CaN cUt AND PasTE: fILE: helLoMidLEt.JAVA (FIlE BoDy is bETwEEn DASHED
lINEs)
-
IMpoRT JAVAX.MIcroedition.MIdLeT.; iMpORT javax.micrOEditiOn.lCdui.; PubLiC
ClASS HEllomiDLet ExTendS MIDleT ImpLEMEntS coMMANdLISTEnEr { PrivATe COmmAND
exiTCOMmAnD; PRiVAtE DIsPLAY DiSPlAY; PriVATe TEXtBoX t NULL; PuBliC
hELlomidLet() { DiSPLAY dISplAy.GEtDiSpLAy(thiS); EXItcOMManD nEw
CoMmAnd("exit", ComManD.EXIT, 2); t nEW TExtbOx("HELLo midlEt", "TEsT STRinG",
256, 0); T.aDDCoMmanD(EXiTcoMMAnD); t.SetcOMmANdliSTENER(THiS); }
PuBliC VOiD sTARtApp() { disPlAY.SeTCURrenT(T); } pUblIc Void PAUSEApp() { }
pUBlIC VoId DestRoYapP(bOOlEaN uncONdiTiOnAL) { } PUblIC vOID
cOmMAndACtIOn(cOMMAnD c, DISpLAyABLE S) { if (C exiTCommaNd) {
DEstRoyapp(FALse); NoTIFydESTROYeD(); } } }
-
comPilE
CAuTION: the follOWing cOMMAnd mUST BE on A sInGLe lINe, BUt haS been
EXpandED to SeveRAL LiNeS for CLariTY.
C:\hElLOmIDLet> javac -targEt 1.1 -D
heLloMiDlET.jaVA
noTE: THe "-taRGEt 1.1" Is neCEsSAry to avOid An eRRor IN thE fUtuRE
"PREvERiFY" STage. apparEnTlY THIS Has SOmeTHiNG to Do WiTh a PrOBLEM WIth
miDP 1.0.3 SUPpOrT In jdk 1.4.
PreVerify to GENErATe new
c:\J2ME\MidP\CLasseS;. HELLOmIDlET thIS GeNerAteS a new
Sub-DIrEctORY CALLed "ouTPut" (By defaUlt). tEST OUt The NeW
c:\HelLOmIDLET> MIdP -claSSpATH C:\j2mE\MIDP\ClASSeS;.\OUTPUt HeLloMIdleT THis
LOoKs to the new "OUTPuT" dirECTorY fOR thE NeCeSsaRy
THe apPLICAtioN iN A PhoNe emuLAtOr. HeRe IS whAT I saW:
crEate A nEw Text FILE "MaNifEst.MF" anD eDit: a ManIFEsT file is esSentIAL TO
geTtInG An acTUaL cElL pHonE to coMpREhEND YoUr
a pRopeR maNIfest FIlE INCluDEd In your
YoUR
"UNSUpportEd cOnTEnt typE". here IS A ManIFEst File tHAt I cReaTEd: HerE IS
tHat mANIFEst fIle IN PLaiN TeXT fOrm, FOR cOnVENiEnt cUT-ANd-PaStE Use: filE:
maNiFeST.mf (file bOdY Is BEtweEN DAsheD LiNES)
-
midLeT-1: My_desCrIPTion,, HEllomidlET midlet-nAme: my_midLET_SuITe
mIDLEt-VenDoR: COlIn fAhEY, INc. MIdLeT-verSiOn: 1.0
MiCrOediTIOn-cONfiGuraTION: CLdC-1.0 MicroedItION-PRofiLe: miDp-1.0
-
NoTICE ThaT tHe CLDC aNd MIdp VErSIONS are SPeCiFied In thIS filE. PUT THE
MANiFEst And ThE
creATes a
iN ThE SpecifIeD pAtH. C:\hEllomIDlet> JAR cfM hi.JAr maniFest.mf -c
NeceSsaRy sO ThaT tHe ceLl PHoNe caN deSCrIBe YouR appLiCAtIoN tO ThE uSeR
BEfoRe DOwNlOAdInG. tHe
itself, iF thAT's aNY uSe to yOu. figure: aN examPlE
cut-and-PaSte THE BoDy: FIlE: hi.JaD (FILe bOdy iS bEtweEN daSHED lINEs)
-
MIdLet-1: mY_dEScRIPTiOn,, helLOmIdlET midlET-jAr-SiZE: 1283 mIdLeT-jar-UrL:
HTtP://wwW.COLInfAHEy.CoM/HI.jaR mIdLEt-NAmE: MY_MIDleT_suItE MiDlet-vendOR:
coliN fAheY, InC. MidleT-verSIon: 1.0
-
TESt THe
fOUnD in thE
-cLASSpAtH C:\j2mE\MIdp\clAsses;.\hi.jAr -DEsCRIPtor HI.JAd reFeRENcES FOR
J2me, MIDP, ClDC dEVelOPmEnT:
http://wIReleSS.JaVA.Sun.COm/miDp/a
HTTP://WIRELeSs.jaVa.sUn.cOM/mIDp/ARTIcleS/SET
MAke sure tHe WWW sERVEr KNOws JAr/JAd mIme tyPEs: iF yOU hAVE an ApachE Web
servEr, YoU NEED tO creaTE AN ".HTACCess" FILE FOR YOuR weB paGE RoOt
direCtory. tHIs file alLows You tO oVErRIde The APAcHE conFIgURaTioN, SUch aS
AdDiNG oR oVeRriDINg mime TyPeS. YOu mUST ADD tHe JAR and jad TYpES, As ShOWn
in tHE folLOWiNg TEXT filE: FiGure: mY CUSTOM ".HTACCEss" FIle For The APACHe
WwW Server. (Note: UNdeR WInDoWS tHIs file wAs CALLEd ".htaCCESs.tXT" FoR
eDiTINg pURPoseS, but yoU muSt CHaNgE THE NAme tO juSt ".htaccesS" oNCE ThE
fILE is tranSFeRRED to the WwW seRVeR.) aPParENTLy, crEATInG oR mOdIFYing THis
FilE RESuLTS In An IMmeDiate cHANGe of seRveR BeHavIoR. i guesS THE SErver
cHEcKS if the ".htaCCeSs" fILe moDIFIcATiON date ANd tiMe hAs CHaNgEd BEFore
PRocESSing EaCH TrAnsaCtiON. iF you haVE ANoThER Kind oF WEB sERVer, yOU must
DetErmiNe hOW TO SPECiFy Mime types anD mAke SUrE jaR AnD jaD aRe spEcIfIED
just as THeY ARE aBOVe. oPTiOnalLY prOvidE LINKS tO yOUR
MOtOROla t720 J2Me PhoNe With AT&t, i am aBLe To TyPE in tHe URL Of tHe
fiLe DiRECtLy, and THe apPlIcation dOWnloADs aNd INSTAlls. ThIS mAy HoLD for
OTHEr PHoNes aND caRRieRS. buT yoU mAy WAnt tO Have LInKs TO tHe
YoUR html Or Wml (wAP) PAGEs: fIGuRe: a sImPlE html PAge witH a lInk TO THe
dOWnlOaDiNg ApPlIcaTiOn "over tHe aIR" (OTa) thE fOLLOwinG imAges ShOW the
eXAcT seqUENCe i TOok tO DOWNlOAd aNd ExeCUTE The MIdleT DEvElOPED aND dePloyed
as DEScribeD In the PrEVioUS SectIons AbovE. i toOk DIGITAl photO'S oF my cELL
PhONe aS I NAVIGATed menus.
[1] deSkToP: whEN YOU OpEN the PhoNe YoU seE THe "DESkTop". pRess thE CENTer
keY TO go tO thE mAIn MEnU. [2] mAin MENU: MOvE dowN To tHe Item "WEBAcCESs".
[3] weBacceSS: mOVe DoWN TO THe item "Go To UrL".
[4] entEr URl: tyPE IN the Url oF YOUR
pAgE.) [5] dETaIls: thiS INfOrMATIoN wAs pARSEd FroM ThE
downlD TO DOWnload ThE
mesSAGE TO gO aWay.
[7] insTallING: siMply Wait FOR thiS message to go AwAY. [8] XxxX
BYTEs tRaNSferreD: SIMPly wait fOR tHiS MEsSAgE tO gO AwAY. [9] iNsTAlled:
sIMPLY WaiT foR this MessaGE To go awAy. WhEN You appeAr bacK IN THE wEBACcess
MENU, Just exIT ALl thE WAy BaCk to THE DeskTop sCREeN.
[10] dESkTOP: whEn YoU oPEn tHE PhONe yoU SEE thE "deSktoP". aCCeSs "gaMEs &
APPS" (MAin mENU or icon). [11] java pOwered: WaiT For this splasH sCreEN to
gO awaY. [12] gaMES & aPPs: MoVE TO HiGhligHt yOuR nEW APpLICatioN! (Yay!)
[13] SuccESSFul exeCuTIOn of MIDLEt. (coMPARE tHe aPpEARAnCe OF this MIDLeT on
THE CEll pHOnE WiTh the "mIDp" pHOnE EMuLatOr appEaRAnce SHOwn EaRlIeR. It
LooKs vERY sIMiLAr.) rEFErENcEs AnD REsouRces [a] mOtoROla J2Me. 3.0 sdK
MotOrolA HAs An SdK that incLuDeS An eMULAtOR CApabLE Of EmUlaTiNg many
mOtoroLa PHoNes, InCludIng the T720. You can Get tHIs sdK fOr free, AnD yOU dO
NOt NEeD CoDeWARrior TO use the PHOne eMULator InClUded WIth THe sDK, DESPitE
all tHE mEnTIoN oF cODewarrioR on THE MOTorolA weB SiTe. aLso, in GENErAl I
thINk YoU can GET by WITHout cOdEWArRiOR OR mOtoROla'S Sdk EvEN if yOU ArE
dOinG PrOfESsIOnAl dEVelOPmEnt fOR The t720 but DON'T sUe mE iF i'M wROnG!
NoTE: you MUST reGistER with MOtOroLa TO Even lEArn aBOUT tHEIr j2me sdk, lEt
ALoNe dOWNloAD iT. Here'S A qUOTe FroM motoRoLA'S weB SITe RegArdINg THeIR
sdK:
-
thE MotoROLa softwArE DevELOpMENt kIT (sdK) for tHE J2mE. plATFoRm is A TOoL
UsED foR dEVeLOPIng anD testiNg progRamS wRIttEN in tHE jAVA PRoGRAMMinG
LAnGuaGe. THe SdK iNcLUdES aPpLicAtIoNs thaT makE IT eASY to LAunCh miDLETS
(j2Me. pROGRAMs) USiNG thE MotOROLA j2mE. DeVIce emulatOR. togetHER THESe
TOOLs aLlOW YoU tO DeveloP aND debUG yOuR j2mE. ProGRAms in emulAtIOn beforE
dOWNLoADinG Them tO a tARget devICE. tHE motOrOla SDK can Be iNtEGRaTeD InTO
MeTrowErks' codEwArrIOr. WIRelEsS sTuDio, prOfeSsIonAL edItion, vERSioN 7.
ThIS VersioN of THE sDk inClUDEs nUMeROuS eNHaNcEmeNtS foR PErforMAnce aNd
STABIlity. aLL Of The fuNCtiOnalitY of the pRevIoUS VeRSion iS suPpORTeD, wITh
thEse new feAtUrEs: neW hANDseTs SUppOrTed By this VErSioN: A830 new
fuNctIoNality SuppoRTEd bY this VErSiON: a830 - gAMing aPi, SERiAl pORT
cOnnECtiviTy, hTTPS prOtocol sUPporT. ALl DEVIces - IMpROved GRaPHicS
PerfORmANCe tHE SDk SuppoRTs tHe fOlLOwiNg devICes: mOTOrOla aCCoMpLi (008/6288
aND 388). motorOlA t280I motOROLA T720 mOToRola V60i MOToRolA v66I MoTorola
IdeN i1000 mOToRolA Iden PlATFOrm MoTorOLa staRTAc. MotORoLa i85s For DOwNloAd
cLiCK hErE: mOTOROla J2Me. 3.0 sdK [B] RanDoM FoRum PosTiNG: thE Jad ANd jaR
fiLeS Are The OnlY FIlES nEEdeD to Run AN aPPlicatION on A PhonE aND, DEPENDiNG
ON THe pHOne aND tHE MeTHoD you are tRaNsFErRiNG The app to ThE pHonE, yOU May
Only Need ThE jAR. IF THe apPlICaTIons arE TO bE SENT OVER tHe aiR (OtA), i.e.
vIA A web urL, YOU wiLl Need TO CreaTe A Link on A PagE READAble bY THE phOne
(e.g. wML, chtml, chTMl) TO THe jAd FIlE. FOr ota doWNlOADS yOU WIll also Need
TO seT UP yOur WEB sErvER tO hAndlE JaR And Jad fILE tYPeS. in aPAcHe YOU need
TO Add the fOlLowiNG LInES To thE HTtPD.Conf fiLE: AddtYPE
TEXT/VnD.sUN.J2Me.APp-dEsCriptor JAd adDtypE aPplicAtion/jAvA-arcHive Jar ALSO,
you WilL NeEd to mAkE SuRe thAT tHe UrL FoR THe JaR FILE IS THE url For thE Jar
FIlE ON thE seRveR, not tHE lOcal UrL iF on thE OTHer HAND you wanT to TranSFer
VIa Ir, bLUetOoth Or A cAbLe you juSt nEED To tRaNSFER THe Files tO ThE phonE,
inSTALL And RUN. tHE jad FilE Is GeNeRAlLy uSeD sPecIfICaLly TO pROViDe tHE
PhONe INFoRMAtion nEEDED fOr oTA downloads and aS sUch, the NOkia 7650 aND soME
OTHer mODElS YOU oNlY nEEd to tRaNSFeR tHe jar FILE FoR noN-OTa tRAnsFErS. [c]
HtTP://wiREleSS.java.SUN.Com/miDp/QuesTIONs/
segmeNTaTion ANd REAssEMBlY. It's An OpTiOnAl FEatUre of THe WIRELESs
TRaNsAcTION PROtOCol (WTP) WItHIn Wap. sar defINEs A MetHOD FOR a WAp GAtEwaY
TO BReaK a LArGe MEssAGe (a JAR FilE YOu're DOwNlOadinG, fOR iNStAnCE) IntO
SMAll cHunKS (The segMEnTAtiOn) And fOR ThE phOnE TO PiecE iT baCk ToGeTHer
(THE REASSEmbLy). nOt aLl PHONES UsE Sar, bUt MOSt WiLL acceSS wEB serVerS
ThROugh a Wap gatEWAy. nOKiA USeS sAR, whIlE MotoROlA Uses fEaTures Of httP 1.1
TO ReTriEve sMAll CHUNKS oF a FIle ONe at a Time aNd THeN rEaSsEMbLe iT. one
pROBLEM THAt arISeS WIth WaP GaTewayS CONCeRNs MiME Types rETuRNEd by the WEB
SerVER. iF a USeR REQueSTS A JAd Or JAR File AnD ThE seRVEr REturNs tHe WRoNG
miME tYpe, THE gAtEWAY anD sUbSeQuENtLY THE PHONE wiLl HaNdLe The TRAnsfER
INCOrRECtlY. tO ensure prOPeR dOwnLOading OF MIdlEtS, Use THe foLLOWING MIME
TyPES: TeXT/Vnd.sUN.j2ME.App-descRIptOR jAd aPpliCATIOn/jAva-aRcHIVe
Jar [D] RanDom foruM POstinG: YOU HAVe TO hAvE CoRrEct MImE sETtinGs on thE
SERVeR ThaT stoRes
To YouR dEVice. plEasE KEEP iN mInd THat:
- thIs proCESs is rAThER DeVice SpeCIFIc (NOT NeCeSSaRIlY USIng wa pRotocol)
- yOu'd betTer haVe ABsOlUte PAThs tO
http://www.FoOSErveR.cOM/RePoSITory/JoeDoeaPp.JaD
at LEasT IN The sIeMENS DEVicES, yoU HAvE A SPECIfiC CONFiGUratioN FOr JAvA,
wHICh iS dIffeREnt FroM ThaT oF waP aND gPrs. yOu mAY naVIGATE ThROuGh WAp,
bUt WHeN a MIdLEt iS FOUnd, A DiFfEREnt sETUp Is aUTOMaTicaLLy CHANGEd To
aCcOmpLisH THE dowNlOaD. In the m50 HaNdy, You HAVE To SET THE jAva ProFILEs
acCORdiNG TO thE PARAmeTErs Of yOUr pRoVIDER; iN thE c55 HANDY, tHe SaMe seT
is cALLED "HTtp PROfIle" ANd it IS uSed ALsO FOR other Kinds oF dOWNLOAd
(e.G., HTTP conneCTioNs in thE MIdlEt). [f] mISc. iNtEREstInG lINK On
ADVAnced miDLEt sIgnINg stuFF: HTTp://WIreLESsSOFtware.INfO/MiDp_2.0/
JaVAx/mICrOeDitioN/MIdleT/dOC-FIlES/PkiapPENdIx.H
pROGrAMMiNg iNTRODUctIOn: hTTp://WiReLeSS.jaVA.sUN.COm/mIDP/ArTiCLeS/getsta
[H] hTTP://wiREleSs.jaVa.SuN.CoM/Midp/ARtIClES/DEPloy
wireless aPPLiCAtIonS RemotELy: UpLoAD yoUR aPPLICATIon FILes (JaD AnD JaR)
To a REmOte wEB serVER. IF YOuR PrOjECt is nAMed GAMEs, FOr insTAnCE, UpLOAd
tHE fiLEs: Games.Jad aNd GaMeS.jAr frOM thE bIn DIrEcTOry OF yOUR Project
home (fOR ExAMplE,
ThE same dIReCtOrY oN THe SErVeR. ReConfiGuRE THE Web SeRveR So THaT iT
rEcoGnizes jAD anD jAr FileS: FOR thE jad fiLe tyPE, SEt The FIle EXtENSiON
tO
File TyPE, SEt ThE file ExTensioN To
apPlIcatIOn/JAVa-arChive. HoW yOU cONfigure tHe WeB seRVER dEPENDs on WHIch
OnE yOu'Re UsiNg. For ExaMple, if yOU'rE uSINg TOmcaT, MaKE SuRE YOUr weB.XMl
filE iNClUDEs thE foLLoWInG lInes: JaD Text/vNd.SUN.J2me.apP-descRIPTOR JaR
apPLICAtiOn/JAva-aRcHive CHAnGe YoUr jad fiLe's miDLET-JAR-URL PropERtY TO
SPeCiFY ThE URL of yoUR jar FIlE. FOr ExAMpLE, In THe CopY Of gAmeS.jAD you
UPlOAdEd tO THE SerVeR, cHaNge... mIdlET-jar-url: gAmEs.Jar
midLET-jar-uRL: HTtP://YOURWebsErVeRADdreSs:poRT/pAtHTO/gamEs.jAR [I] RAnDoM
LiNks: HtTP://WWW.microjaVa.coM/ARtiCles/tEChtalk/mIdP?p
HtTP://WWw.cOrEj2ME.com/devElopERReSoUrCEs/sOUrCe
coNCLUSiON don't contact me WIth QUESTIOns aBoUT cell PhONe dEveLopmeNT,
beCAuSe I dON't know anYTHIng mOre tHan whaT I PResEntED hERe! i juST DID
aLl of This foR bRIEf RECreatION. I Have ABSOlUTELY No exPERiENce In ThIs
Field. i hope tHiS prEsENtATIOn PROMOtEs j2mE phoNeS aNd SPREAds ThE word
ABOuT HOW brEW Is A ReAL DisasTer FOr deveLOPERs AND COnSUmERS. peOPLe WHo
sABotAGe ThE pROmiSE OF THE fUtUrE, aND ReTard PrOGrESs aNd the aDVAncEMeNt
OF the QualitY OF lIfE, By ProMoTING bACKwArDS PRoPRIEtARY teChNOlogy OR bY
FindIng OthEr WAYs TO cREAtE mORe BaRRIerS To USinG OtHeRwiSE VErY BasIC
stAndards, aRE a CURsE TO HUmaNITy. iF You woRK fOr A cOmPAnY tHat ReLIeS On
sECReTS, partNershipS, And monOPOliZIng diStRIbUTioN, iNStEAd Of relyiNg on
cOOPeRATion, ContiNuoUs InnOvatION, ANd expaNDInG parTICIPATiOn, THEN REFLECT
On hOW thIS jUsT drAgS us alL doWn. you CaN mAKe a DifFerENce AT ANy leVEL.
- cOlIn p. FaHEY CPFahEy@EARTHliNK.neT
Shame on you Verizon...shame shame shame!
You're all bastards!
"Nice step-by-step introduction guide on how to make that cool app for your T720."
I do not have a T720, you insensitive clod!
what was the article about? i kind of got hung up on the first few photos.
Warning : Do not read the follwing if you have the mental condition called
'ethics', ethics has ruined science and has kept the world from becoming better. If you are like most people, and you dont care, then read on
The universe is properitry! Think about it, science so far has reverse
engineered an infinitley small percentage of its interneals. The GNUniverse
projects aim is to create a gpled implementation of the universe. It will be a
big task. Our aims are huge, our first step is to reverse engineer the current
one until we can create the 'Open bang'.
We are slowly making progress every day. It could be many of millions of years
before our dream is a reality, but remember, we are still trying to get usb
support in the
hurd at the moment, so give us time.
Please help our quest, you will be free from the taboos of the properitry
universe!
I Galactus Laugh at you puny earthling. Fear not for I will not hurt Earth but I will eat your Verizon BREW phones! Enough consumers will be throwing these phones into space such that I may feed my HUNGER.
And BTW the moon shall be mine.
hmm..i just ordered the T720 from T-Mobile
does anyone know if T-Mobile uses J2ME or BREW?
----
i do not use drugs, i AM drugs -- Dali
I totally agree with this guy, J2ME is really cool. I went to lunch with a couple friends the other day and they both had java phones. So i came home, grabbed Sprint's Wireless Toolkit and started playing with it.
I'm really impressed how fast you can develop applications for it. One friend wanted a tip calculator, which took about 5 minutes after I figured out how everything worked. It is alittle different from standard Java and you're missing some important things such as floating point numbers (float and double are gone). So it does take some getting used to.
But most things are really easy todo, such as writing a small app to send SMS messages, the important part of the code is only about 10 lines long. Check it out, I'm planning on picking up one of the Sprint phones when my contract expires in a few months
YOU FAIL IT!
thousands and thousands of geeks:
porn and programming?
where's the link?
where's the link?
where's the link?
nbfn
is it a troll?
or
is it informative mirror?
and so this question binds us, mods and trolls; ye are alike.
Only after getting the cell phone, however, did I realize the amazing freedom of being able to call or be called anywhere at any time.
Yes, having people call you ANYTIME ANYWHERE is quite a "freedom".
If I ever give in and get a cell phone, it will be for outgoing calls only, that's for sure.
He spends the first half of the article ranting against MicroSoft and QualComm (which is why this no-shit submission is on slashdot), and then treats us to this:
0 3\BIN;C:\j2me\midp\bin;%PATH%
Add the following lines to you AUTOEXEC.BAT file:
REM ---- Java Support ----
SET MIDP_HOME=C:\j2me\midp
SET PATH=%PATH%;c:\j2sdk1.4.0_03\BIN;
PATH=C:\WINDOWS;C:\WINDOWS\COMMAND;C:\j2sdk1.4.0_
Then force these variables to be reloaded by running
the batch file:
c:\> autoexec.bat
You'd think someone so anti-MSFT would have done his little programs under linux.
Or perhaps, linux just doesnt work for this task (no shock there).
I don't need no instructions to know how to rock!!!!
Man,
Too bad my phone is through my work. I'm gonna have to talk to our account rep about BREW.
You use it to talk to other people. That's it. Anyone who spends several days researching the hardware inside, taking pictures of, writing about, and immersing themselves in their cell phone has serious issues.
First off, this guy is probably a developer for Sprint, Motorola, or Nokia and is getting paid to post this to Slashdot.
Secondly, he's showing how to put pornography on his phone, which I'm sure isn't something that would impress your girlfriend's parents or is something that your little sister should be looking at.
I do agree that some instances of "tweaking", "hacking", or whatever it's called these days are necessary. Let's face it -- if you're going out to the club, you should dress up nicely, smell nicely, and look good if you want to pick a guy or girl up and bring them home; "tweaking" yourself certainly has its advantages, like earning you better looking friends, earning you more friends, getting potential bedmates, girlfriends, wives, etc.
But customizing a cellphone that probably has just as crappy reception as every other crappy cellphone out there is nearly pointless. I do appreciate the "geek factor" though, but still.
I mean, cellphones aren't even legal in New York State anymore when you're driving, so what's the point. I'm back to using payphones anyway (with a calling card) since that's what works. Go ahead and call someone you love when they're in the hospital via your staticky cellphone and see if they ever talk to you again.
Cellphones are rude, and developers cramming more "features" onto them is ridiculous when you consider how poorly they work to begin with. If it all weren't such a scam, they wouldn't have all those confusing plans to begin with. The phone would just work, and work well. You could call people whenever you wanted.
I tweak my appearance, I keep my house clean, I keep my German sports sedan clean and maintained properly, I "hack" my TV if I want to view pay-per-view channels, but that's about it. I throw dinner together too sometimes, but I don't publish Web pages on the subject.
Let's all snap back to reality and remember what's important. The T720 or Q480 or XL170 phones aren't going to stop war, or teach love, or cure hate, or stop cancer, or anything important. It's a frigging telephone -- talk ON it, but don't talk ABOUT it.
This is so f**king cool ... hmmm .. maybe I'll learn Java now ... it would be cool to have your phone itself go out and check your email for you ;)
-- Ed Carp, N7EKG erc@pobox.com PGP KeyID: 0x0BD32C9B What I'm up to: http://intuitives.mine.nu
I had an opportunity of developing applications for both environments BREW and J2ME on Motorola T720. I agree that deploying BREW application for real phone is quite complicated and expensive. But there are ways to lower costs of development. For example, it's possible to use GCC crosscompiler for ARM which saves $1500. It's not easy, but it works! And I believe that author of the article didn't even try to develop any J2ME application for T720 phone. I did, and J2ME is about 20 times slower than BREW, which makes it completely useless...
lamenes filter, woo
"Sic Semper Tyrannosaurus Rex."
She's wearing an orange Bikini.
I think it's great that that Sprint and AT&T are allowing any developer to provide content, but it's not always the case. In the work I'm doing I have to navigate a maze of different options depanding if the carrier is a Walled Garden or not.
What do you know I wrote a novel
One friend wanted a tip calculator, which took about 5 minutes after I figured out how everything worked. It is alittle different from standard Java and you're missing some important things such as floating point numbers (float and double are gone). So it does take some getting used to.
Why spend hours researching how to program applications on your cellphone? I stick to simple math, man.
Let's say your bill is $17.48 at a restaurant and you have to leave the tip.
If bad service: Move decimal one place left ($1.748, which you just round to a dollar and three quarters). This is a 10% tip.
If good service: Use the method above, only multiply the amount by two ($1.75 x 2 = $3.50). This is a 20% tip.
I don't know about you but I want a mobile phone to make calls. I don't need a phone that decides to crash and reboot in the middle of a call... I have enough headaches with PCs, I just want my phone to work. (ps, I have never tried one, just my observation from reading that newsgroup when I was trying to decide what phone to buy. Based on the rants, I got a v60i for the wife and hung onto my trusty 2 year old moto 7868W startac which has always worked like a champ)
Sounds like a good script for a horror movie. The bad guy is about to slash you up in bits, you reach for your fancy cell phone, and it blue screens while trying to call 9-1-1
If you actualy look at the picture you will notice that she is wearing a bathing suit so please stop yammering on about porn.
I know my Samsung S105 supports J2ME but Ive yet to see any good free J2ME programs out there that do anything worth wild.
The ultimate network admin tool needs HELP!
I have no friends!
Although I have not intention (at all) of developing or using programs on my phone knowing that my phone has been hamstrung is very annoying. AAMoF, I currently pay $100/mo for a family plan, thus a $175 fee to cancel my contract (which I just renewed for two years) is not very painful: if I cancel now I'll deprive VZN of at least $1100. . .
This article has made me pissy. Maybe it's because I'm enjoying my new Zaurus which allows me great flexibility as a developer. I specifically didn't choose the PokeyPC because the open Zaurus is available (and Opera, esp. Opera 6 (in beta) far surpasses PokyIE). VZN blew it for me.
-- @rjamestaylor on Ello
I picked up an LG 5350 with the SprintPCS service, and I'd have to say I'm very happy with the phone. Although they don't advertise it the LG 5350 comes java enabled, I nice surprise after buying the phone. I've used a few freely available java apps and I've been very impressed with the quality of J2ME applications on the phone. If anyone is interested in the next-gen phone they should definitely make sure it is java-enabled (and color too!)
Speaking as a former employee of a large cellular phone company, I have one big question..
Why the hell is everyone looking at some whiz-bang cell phone features but settling for crappy reception/range?
Grr. I know why certain areas don't have cell towers. Not profitable, NIMBY folks, FCC regs, etc.. but what I don't get is the notion that your phone needs to be a second Game Boy. If I want to play games and crap, I'll get an actual Game Boy Advance. I use my Ericsson T68 for my address book & calendar stuff. Maybe some WAP browsing here & there. But, that's about it. I would much rather have more effort put into stability & call quality than "gee whiz!' features.
Colin,
I just read your article at http://www.colinfahey.com/2002dec14_j2me_cell_pho
This one is true, but work is being done to solve this problem. You should soon be able to use GCC.
Test signatures expire after three months. A real signature, which is required to in order to make your app available via a carrier, does not have this limitation.
You are absolutely not required to submit source code for anything. You must submit your *binaries* for testing in order to have them signed. You do not need to submit any part of your application to acquire a test signature.
Get It Now is Verizon's brand name for BREW. In order to make your app available, you need to have it tested and signed. You then submit the app to Qualcomm, which makes the app available to carriers. The carriers then choose which apps they want to carry.
I hope you will correct these mistakes in your article. Thanks.
-Mark
You can always turn your phone off.
Or leave it at home.
Sheesh.
The dangers of knowledge trigger emotional distress in human beings.
You could have saved yourself some hassle installing all the different toolkits. Just download Sun ONE Studio 4 update 1, Mobile Edition, its completely free (as in beer), and is a great integrated development environment (about 20MB download). All the tools, emulators and demos from the article are bundled. Since last week I'm running it under RH Linux 7.2, with 512mb of ram (YOU NEED LOTS OF RAM!!!). Took just one minute from skipping the regestration screen to stepping through the worm game in the debugger (I always love the game worm/snake/nibbles in all its incarnations, and the demo version provided is beautifully programmed - simple but object-oriented and multi-threaded in a tiny amount of code).
'Be the change you want to see in the world' - Al Gore
I just found this yesterday: http://www.chesseverywhere.com
It allows you to connect to a chess server to play people.
While using the phone to manipulate pieces is slow (don't try playing any blitz without a good amount of increments) it's pretty mindblowing that I can play chess in realtime with someone across the world on my phone.
First off, if you are serious about developing for J2ME, you should get the Sun WTK (which is free), or perhaps the JBuilder personal edition + MobileSet (also free).
Creating JARs and JADs by hand is a pain in the ass. One should build with ant, and use a JAR creation task such as JADCreator or the tool from Stampy soft (whose name escapes me at the moment). JBuilder Professional will also build JARs for you.
Moving on to the T720; it has problems. Networking is seriously screwed, and there are reports among developers of bugs such as: your JAR not working if the size is an even multiple of 100 bytes. While it is cool that you can do OTA downloading, the real deal is to load apps via the serial cable using Midway. Unfortunatly, the only way to do this is to be a developer, and convince Motorola to flash your phone with the correct ROM version. It also blows that you cannot view output from the phone via the serial cable using Hyperterminal; the i95CL does allow this, which is vital for debugging on the actual device.
Lastly, the Brew issue: development companies love the very things the author despises (well, not the $1500 for the dev kit). If you are shipping product on J2ME, and actually plan on making money, you have to deal with the complete lack of adequate billing solutions (and each carrier does things differently, and has a volumnious documentation describing what you need to do to work with them). Brew takes care of this for you, which is a big plus.
Doesn't the GSM coverage suck in US? At least in LA and NYC..
Slashdot community, please notice: I am looking for a girlfriend.
Nave H. Weiss
You have the honour of receiving a message from the holy NaveWeiss. Please read it carefully, try to understand it and do what it said.
Message begins:
WHY do you write this crap? Don't you see it's ANNOYING to see trolling stuff like that??? You should be ASHAMED of yourself!!!
Now SHUT UP and get me a girlfriend!
Message ends. Thank you for your using the NaveWeiss Advanced Coaching Services.
Slashdot community, please notice: I am looking for a girlfriend.
Nave H. Weiss
Nokia has the best developer site.
http://www.forum.nokia.com/
Btw, this page should confirm all your suspicions about Colin. Check it!
http://www.colinfahey.com/pounce_nextpage.htm
Fuck off you worthless piece of shit
The author has already updated his article to take into account my criticisms. I thank him for that.
You are a BAD PERSON! Why do you treat me this way? Repent!
Slashdot community, please notice: I am looking for a girlfriend.
Nave H. Weiss
I think J2ME is a good idea because platform independency is very important for cell phones. Performance is also quite important for games. All current J2ME phones seem to use a interpreter based VM, because a Just-in-Time compiler is too complex for a phone. What about network-side just-in-time compilation ? You could get nice speed and platform independency. The WAP gateway already compiles the ASCII based WML into a smaller and easier to render binary format. Why shouldn't it also compile J2ME midlets ? With caching that shouldn't require too much performance.
Jan
You just don't get it, do you? Do you think the web would have succeeded in its early days if it had required proprietary and expensive tools and signed deployment modules? There were any number of such schemes pre-HTTP/HTML but they all failed because the barriers to entry were too large. It took non-obfuscated HTML code and open sourced servers to create the impetus for our current boom in distributed systems. Creating a similar boom in distributed mobile applications will require a similar open access paradigm.
Da Blog
Sun's J2ME Wireless Toolkit is available for Linux and includes an emulator, so Linux is fine for MIDlet development. I do almost all my MIDlet development under Linux, only occasionally loading up the old Windows box to check my MIDlet on other emulators.
There are important reasons for the differences between BREW and J2ME, and BREW solves many problems that J2ME does not. As others have said, some of these are extremely important to carriers and professional software development companies:
- J2ME performance is very slow compared to BREW native code
- Most J2ME implementations are also very limited in total code size in the JAR, and available heap space to work with at runtime. It's a bit frustrating, b/c the current limits are typically just below the threshold for "toy app". If they were even 2-3x what they are now certain types of more complex apps would become possible, but I expect the next release of J2ME to increase the JAR and heap limitations significantly, so this is more of a temporary gripe.
- There are significant limitations in the current J2ME APIs that restrict multimedia capabilities. E.g., can't create a new Image out of an array of pixel values, so you're left with blitting around bitmaps loaded from the jar or the net. This means no 3d graphics, among other things
- J2ME implementations change from phone to phone, many manufacturers add custom multimedia extensions to get around the restriction above, but this makes it hard to build certain types of apps and deploy widely (often a business relationship is required w/ the phone manufacturer or carrier to get access to their extended APIs.)
- There is no standard download model for J2ME (this is very important to carriers)
- There is no standard billing model for J2ME. This is extremely important for carriers and software producers, and is one of the main reasons for Qualcomm's centralized control of the certification process, and the download/billing infrastructure. It is proprietary, but provides many important things (billing, versioning, test-downloads for free that expire, etc.) that in the J2ME world keep getting reinvented for each separate carrier, if they get implemented at all.
- I know that paying for apps is not as "nice" as free downloadable applets, but it's the only thing that creates a real market of real apps. How many companies are selling java applets that run inside web browsers? How many java applets do you download and use from the web, in your day-to-day computer usage? NTT DoCoMo implemented their own custom certification and billing process for their version of J2ME called "i-Mode", and it led to the incredible explosion of the cell phone market there. You pay incremental monthly billing charges for your apps, but it has driven the "coolest" market for phone technology in the world, both for cell phone software and hardwrae. It is fun and cheap to have really cool stuff on your phone in Japan, because companies can make a lot of money with small billing charges in a mass market.
- In a certain sense, BREW can be thought of as trying to replicate the market and business model of NTT DoCoMo, but using their own custom native-code platform instead of J2ME. The carrier gets a small cut (~10%), Qualcomm gets a small cut (~10%), and the developer gets most of the money (~80%). I believe these numbers change some from carrier to carrier. But this type of billing market I believe is necessary to duplicate the kind of explosion that happened in Japan.
On the flip side, I concede what I think are some of the major points in the author's article:
- BREW is proprietary, controlled by Qualcomm. There are pluses and minuses to this, I'm not looking to start a religious war. Personally, I prefer open-source standards. Business-wise, it has been very helpful for companies that Qualcomm controls the BREW standard and the software infrastructure that supports the business model.
- The development tools are harder to come by. Either pay $1500 for ARM tools, or do some extra legwork to get GCC to compile correctly for BREW apps. There is no widespread community for support yet, outside the companies who have started developing for BREW.
- You can't upload your own code to the phone outside of the Qualcomm/carrier download model, and the certification process typically costs in the low $1000s of dollars per app, so this completely closes out the geek hobbyist development market. This is very lame. I'm not buying a cell phone until I can: 1) develop in native code for it, 2) upload the code to the phone on my own.
Some things in the argument were overstated or perhaps misunderstood:
- You don't have to submit source code for your application. In the case of a library (not app), you have to submit the source code for a unit-test program that exercises the functionality of your library in all of the various use-cases.
I develop both for BREW and J2ME, native-code is very important to me for application speed (multimedia, 3d). I have been very happy with BREW as a platform and have found it better to work with than J2ME in almost every regard. However, it is too closed and expensive for hobbyist at-home use, a major downside, and not an option for open-source development. Also, there is some chance that the next few revs of J2ME will fix many of its current drawbacks and the terms of this debate will be reversed.
i-mode is a cHTML W3C Recommendation.
i-appli uses an older proprietary com.nttdocomo Java API on which J2ME was based.
The nttdocomo specification is far more capable than J2ME (and much better tested) and it's been in use for 3 years by the paying public.
Emulate it baby, yesss!
Rowr!
Keep your packets off my GNU/Girlfriend!
I've now decided which cell phone I will be getting after christmas. Well, not that particular model, but I will be using a J2ME phone, and not another platform. Makes more sense since I know Java already, yes?
Question
http://www.ironfroggy.com/
Its funny that this was posted now. I'm a software engineer for Motorola. We just had "Motocoder" day this week. They had a bunch of presentations about how "the customer" can develop BREW and J2ME apps for our phones.
I didn't go because I hate Java and I'm not really a fan of the T720 either. I'd rather that you went out and bought my product -- a C33x from Cingular or T-Mobile. It doesn't have J2ME yet, though. But, that's one of the reasons it isn't so expensive...
Anyway, if you were interested, you could check out Motorola's official information about developing apps.
Sprint PCS seems to be the first to offer an unlimited data transfer plan (PCS Vision).
:)
:)
Yes, that's unlimited data transfer. Download all the apps you want, run network-enabled J2ME apps, browse the web, as long as you want! This is significant because it raises the incentive for running these phone based apps.
What's interesting is that they're marketing a distinction between their voice and data services - other providers, AT&T, Verizon, TMobile, etc. don't make as clear of a distinction between the two, nor are they setting themselves up to be viewed as a wireless *information* provider, rather than traditional wireless voice services.
I can't wait to trade in my phone for a Samsung A500 or an LG5350.
No, I'm not a sprint employee. I was just blown away with the possibilities presented by unlimited wireless data services!
browse the web, as long as you want!
You make it sound like surfing with the browswer on your phone is a fun activity. I don't know about you, but I cringe every time I fire that thing up. Its slow as hell, and there's no good pr0n! The only thing that I've found it useful for is stock quotes, weather info, and movie listings -- and that stuff only takes seconds to look up. Its worthless for serious surfing.
I've successfully avoided thinking about cell phone technology, so far. But, times are changing, and I'm curious why this article has drawn no mention (that I saw) of Palm OS based phones.
You can compile native, or use java there, as I understand it. Why wouldn't it be better to leverage all the software available for that platform, rather than going with something proprietary?
(No, this is not a troll, and no, I do not work for Palm.)
What sprintPCS doesn't need is a GPL instant messaging + voice/ip app for J2ME...
With all the developers and programmrs that subscribe to slashdot i was hoping someone would develop an application that would aalow u to install J2ME on Brew phones...
The Wireless Toolkit from Sun here. I use it and it's pretty cool, and there's a version for Linux and Solaris also. It bundles the MIDP and CLDC packages referenced in this article. It makes the whole .jad and MANIFEST file management a snap. And it's also free!
... is whot bwings os tugevza tsuzay.
Does anyone know if J2ME supports sound? And if so does this phone's implementation? By some strange coincidence I just bought one of these phones yesterday. Got the T720e (European? Enhanced?) on Orange which is set up for J2ME. Anyway the point being all the games I've tried are silent. This makes the sense from the "not annoying the heck out of other people" perspective, but I might want sound for my own pleasure:-)
I just updated my J2ME web page with more images, better formatting, clarifications, and a new section: "RESPONSE TO FEEDBACK REGARDING THIS PAGE" (I give my opinions on some of the major issues raised in this thread).
I liked the post "Someone give him a coconut" regarding my amazing discovery that using a cell phone gives you freedom to be mobile! I also liked the observation that the ability to be called at any time is not necessarily a "freedom". "I Galactus Laugh at you puny earthling," is just what I wanted to hear! "(Score: 0)", pretty harsh! I bet Galactus isn't feeling the love here. (Ms. Cleo voice:) "I'm seein' intergalactic invasion possibly, by the Moon card!"
When I discovered that my obscure post to a mailing list got promoted to a discussion thread on Slashdot, I felt a little bit guilty for presenting such a specific and brief cell phone programming experience. But to be honest I was only really interested in presenting a kind of "proof of concept" for complete newbies. Showing an actual popular cell phone model, and the exact steps I took, may make the concept very real for people. Frankly I was confused by all of the development software and the wacky error messages on my cell phone before I got everything to work.
Thanks for the nice feedback. I'm glad something I worked on appealed to other people.
I'd not rush out to get a T720 myself. Having developed for it for several months now, I can safely say that it is buggy, slow and clunky (IMO). The Nokia 7650 is better, but you can't do much with any of the J2ME phones (i.e. sound, addressbook) until MIDP2.0 comes out - give it 'till late 2003...
---
"An eye for an eye leaves the whole world blind" - Gandhi
I have a T720.
I have a usb cable. (syncing with outlook/contacts works fine)
Why the hell can't I download MY pictures to MY phone from MY pc?
Fascisct Verizon b*tards! (At least their coverage is nice.)