Monday, November 26, 2007

Android & J2ME live happily ever after...

Really?!... at least they tried to make it look alike... when Sun's CEO and president, Jonathan Schwartz, congratulated Google at the occasion of Android Launch:

"I just wanted to add my voice to the chorus of others from Sun in offering my heartfelt congratulations to Google on the announcement of their new Java/Linux phone platform, Android. Congratulations!"

(Is that Java/Linux platform?) And Sun's EVP Software, Rich Green, also follows his boss in a very same fashion:

"We’re thrilled to have Google amplify the global momentum behind Java technology, the world’s most prolific open source software platform - on more than five billion devices. We are excited by the Open Handset Alliance’s upcoming open source contributions of new services and frameworks. We welcome Google to the community and look forward to collaborating on the evolution of the Java platform as part of our ongoing relationship."

So, is this really a happy ending? Is, Sun happy about all that Google is doing in the name of Open Handset Alliance? challenging Sun's dominance in the mobile/wireless world via its J2ME platform. Why Google prefers carving a new Android Platform over Dalvik - a Tweaked Non-standard VM, as oppose to using the existing J2ME platform? wasn't that good enough?

"We wanted the platform to be open in a lot of different ways," said Mike Cleron, a Google senior staff engineer working on Android. "The idea is that anybody can come along and replace the pieces of the Android experience on a very fine-grained level. The existing APIs didn't really allow the level of openness we were hoping to achieve in Android."

But, that's not the 'real' issue, instead, the real problem for Google in using j2me platform is the GPLv2 license, and Dalvik is the answer to this problem, indeed, a very clever move by Google. But that also mean Google could be heading for a showdown with Sun.

Friday, November 23, 2007

Food on Call

Wether your family is observing a cooking holiday or your taste buds tingling to try some thing different or your wife/mama spent too much time on shopping and you can't wait one more hour for the meal preparation or you're doing late sitting in the office or you are one of those who order lunch frequently. You need Food on Call.

And to call, you need phone number(s), so here is a list of all those restaurants & hotels who have Food on Call service. This will going to be a LIVE post so keep checking in for new updates to the list. And if you have some information to share, your comments will be much appreciated.

Domino's Pizza / Dominos Pizza / Domino Pizza
Address: Refer website
Phones: 111-DOMINO (111-366-466)
Timing: 12:00 PM - 02:00 AM
URL: http://www.dominospk.com
Menu: Refer website

Food Point

Phones: 5387165-6, 5387095

Henny's / Hennys
Address: FTC & Forum
Phones: 5631075 (FTC), 5867151, 5864023
Menu:
Henny's Menu 

Hong Kong Chinese Food
Address: Shop # 2, Plot # 29-C, Sunset Lane # 4, Phase 2 Ext. DHA
Phones: 5395751, 5395842, 5395709, 0300-7055514, 0345-8125744
Timing: 11:00 AM - 11:30 PM

Hot n Spicy / Hot'n'Spicy / Hot 'n' Spicy / Hot N Spicy / Hot'N'Spicy / Hot 'N' Spicy
Address: Defence
Phones: 5843930, 5343644, 0300-2223079
Timing: 12:00 PM - 02:00 AM
Min Order: Pak Rs. 250/=
URL: http://www.hot-nspicy.com
Menu: Refer website

Ideal Food
Phones: 4531089, 4312682, 4391686
Min Order: Pak Rs. 300/=

Karachi Food
Address: Nursery, PECHS, Block 6, Main Shahrah e Faisal
Phones: 4385345, 4388261, 7715205, 7715206 
Min Order: Pak Rs. 250/=
Menu:
Karachi Food Menu

KFC - Kentucky Fried Chicken
Address: Refer website
Phone: 111-KFC-KFC (111-532-532)
Min Order: Pak Rs. 300/=
URL: http://www.kfcpakistan.com
Menu: Refer website

Kaybee Snacks / Kaybees / KBs / KB's
Address: 8-F, M.A.H. Society, Fatima Jinnah Road
Phones: 4385555, 4395555, 4541838, 4522430, 4542205, 4522028, 0322-2285383, 0346-3553897
Timing: 11:00 AM - 02:00 AM
Min Order: Pak Rs. 200/= (within 6km)
Menu:
Kaybee Snacks Menu 1 Kaybee Snacks Menu 2

McDonalds / McDonald's / Mc Donalds / Mc Donald's
Address: Refer website
Phone: 111-244-622
Min Order: Pak Rs. 200/=
URL: http://www.mcdonalds.com.pk
Menu: Refer website

Meal Time
Phone: 4314211

Paneras / Panera's / Panera
Address: SB-2, Shop #4, K.D.A. Scheme No.1, Mirran Shah Road, Mohammad Ali Society Karachi.
Phone:
4384743, 4383661-2
Timing: 11:00 AM - 11:00 PM
Min Order: Pak Rs. 150/=
Menu:
Info 1 Info 2 Pizza Menu Pakistani & Chineese Menu Italian, Steak, English, Snack, BBQ & Tandoor Menu Special Deals

Pita Parker (Order Online)
Address: Defence
Phones: 4231961, 0302-2821512
Min Order: Pak Rs. 250/= (Shahrah e Faisal, see website for more details)
URL: http://www.pitaparker.com
Menu: Refer website

Pizza Hut
Address: Multiple Branches
Phone: 111-241-241
Min Order: Pak Rs. 250/=

Prime Biryani
Address: Shahee Tower Shop #8, Main Shahrah e Faisal, Block 6, PECHS
Phones: 4324431-2
Min Order: Pak Rs. 150/=
Menu:
Prime Biryani Menu 1 Prime Biryani Menu 2

Student Biryani / Students Biryani / Student's Biryani
Address: Refer website
Phones: 111-111-778, 4522041, 4522048, 7780778, 7788585, 0300-8213252, 0321-8213252
Timing: 11:00 AM - 01:00 AM
URL: http://studentsbiryani.com
Min Order: Pak Rs. 150/=
Menu: Refer website

Subway
Address: See website for branches
Phones: 4552462, 4552465 (for more phones see website)
URL: http://world.subway.com/Countries/frmLocatorResult.aspx?CC=PAK&LC=ENG&Mode=
Min Order: Pak Rs. 200/=

Tele Food
Phones: 5890384, 5892372

Walk n Door / Walk 'n' Door / Walk N Door / Walk 'N' Door
Phones: 4310204, 4310680

Thursday, November 15, 2007

J2ME Development with NetBeans + J2mePolish + BlackBerry


Working with J2ME, NetBeans, NetBeans Mobility Pack, J2mePolish and BlackBerry is not an easy task for sure. After spending nights I've managed to put up a workable development environment "that works". For all those out there, who are working on the same or planning to work in near future, following is a step by step procedure which will be helpful in setting up things quickly.

Pre-Requisites:

  1. NetBeans 5.5
    1. Download: http://www.netbeans.info/downloads/index.php?rs=11
    2. Installation Instructions: http://www.netbeans.org/community/releases/55/install.html

  2. NetBeans Mobility Pack for CLDC
    1. Download: http://www.netbeans.info/downloads/index.php?p=4
    2. Installation Instructions: http://www.netbeans.org/community/releases/55/1/mobility-install.html

  3. J2mePolish 2.0 RC4
    1. Download: http://www.j2mepolish.org/download.html
    2. Installation Instructions: http://www.j2mepolish.org/docs/install.html

  4. BlackBerry JDE 4.2.1
    1. Download: https://www.blackberry.com/CorpDevZone/sd2integration.do?file=https://www.blackberry.com/Downloads/contactFormPreload.do?code=00EC53C4682D36F5C4359F4AE7BD7BA1&dl=082B317A6A9BDCF567A66673A23C2763
    2. NOTE: You need to sign in to download (Sign up is Free)
    3. Installation Instructions: Follow the installation wizard instructions.
  5. BlackBerry Email and MDS Services Simulator
    1. Download: https://www.blackberry.com/CorpDevZone/sd2integration.do?file=https://www.blackberry.com/Downloads/contactFormPreload.do?code=00EC53C4682D36F5C4359F4AE7BD7BA1&dl=A863E2C10B7E517A09C80F83418E8B2D
    2. NOTE: You need to sign in to download (Sign up is Free)
    3. Installation Instructions: Follow the installation wizard instructions.

Configuration:

  1. Adding BlackBerry JDE 4.2.1 as a Custom Emulator:
    1. Open NetBeans IDE
    2. Select Tools > Java Platform Manager
    3. Click the Add Platform button
    4. Select Custom Java Micro Edition Platform Emulator. Click Next.
    5. Browse BlackBerry JDE 4.2.1 installation directory (C:\Program Files\Research In Motion\BlackBerry JDE 4.2.1)
    6. Enter desired Platform Name (RIM BlackBerry JDE 4.2.1)
    7. Enter desired Device Name (8800)
    8. Keep the Preverify command as it is
    9. Modify Execution and Debugger command as follows:
      1. Execution Command:
        cmd /C "cd /D {platformhome}{/}simulator&{device}"
      2. Debugger Command:
        cmd /C "cd /D {platformhome}{/}bin&jdwp"
    10. Click Next
    11. Select all listed files except net_rim_api.jar and click Remove.
    12. Click Next.
    13. Click the Add button next to JavaDoc panel and browse to /docs/api folder inside the BlackBerry JDE Installation directory (C:\Program Files\Research In Motion\BlackBerry JDE 4.2.1\docs\api)
    14. Click Finish and then click Close.

Creating a New Project:

  1. Select File > New Project
  2. Click Next
  3. Enter Project Name, select Project Location and click Next
  4. Select desired Configurations, Profiles/Platforms, Libraries and Devices. Click Next.
  5. Leave Specify Project Properties panel as it is and click Next.
  6. Click on the Files tab and create /dist and /source/src folders under the project root folder.
  7. Click on the Projects tab, then right click on TestProject and select New > Java Package
  8. From the Projects tab, right click on newly created test package and select New > Midlet
  9. Enter desired Midlet Name, Midlet Class Name and select Package. Click Finish.
  10. From the Projects tab, right click on TestProject and select Properties.
  11. From the Category list, click on Platform, select BlackBerry JDE 4.2.1 from the Emulator Platform drop down list and select Ok.
  12. From the Category list, select MIDlets under Application Descriptor and make sure TestMidlet entry is there.
  13. From the Category list, select Libraries & Resources and make sure enough-j2mepolish-client.jar is there with its correct path. For example, C:\Program Files\J2ME-Polish\import\enough-j2mepolish-client.jar. You may witness incorrect path like C:\Program Files\J2ME-Polish\import\C:\Program Files\J2ME-Polish\import\enough-j2mepolish-client.jar
  14. Click Ok.
  15. From the Files tab, double click on build.xml to open it in editor.
  16. Enter two new properties blackberry.home and polish.blackberry.verbose in the build.xml file as show below:
  17. Update general settings to match your desired settings
  18. Set your desired Device Requirement
  19. Remove /base from resources and root dir paths. Also comment out ProGuard obfuscator.
  20. For testing purpose, write code to connect to http://www.google.com/ and then print the google’s home page’s html on the debugger console.
    p16
    p16-2
    Click here to download TestMidlet.java
  21. Run the BlackBerry MDS Simulator, a console window will open, minimize it and do not close it during development and testing.
  22. Run the JDWP module i.e. the BlackBerry debugger
  23. Now, from the Projects tab in the NetBeans IDE, right click on the TestProject node and select Debug Project.
  24. You will notice activities in the debug window and then debug console. Finally, the BlackBerry emulator will start; it will then try to connect to the debugger and then display the blackberry menu.
  25. Click on the console icon named “Blank” and then watch the JDWP’s debugger console, which shows all activities and console logs. You will notice that Google’s home page’s html is printed on the console.
  26. Finish.