Saturday, March 26, 2011

Application Ecosystem for the BlackBerry PlayBook

According to their press release, RIM has officially announced the ecosystem for applications that will run on the PlayBook tablet. Below is a quote from the release:
  • BlackBerry PlayBook to support BlackBerry Java and Android apps
  • Native C/C++ development support added, in addition to HTML5, Flash and AIR support
  • Support from leading game engines: Ideaworks Labs (AirPlay) and Unity Technologies (Unity 3)
  • BlackBerry PlayBook becomes a new market opportunity for all the developers who have already created over 25,000 BlackBerry Java apps and more than 200,000 Android apps 
The most important part for me, and something that I've been hoping for a long time, is the added support for Android. What RIM was lacking was an application ecosystem. This will not be the case anymore. And it is not only about Android in the end. Moving away from Java ME is the first step (still need it for existing applications). When you can write applications using HTML, Flash, C/C++, Java ME, and Android, you can't go wrong. There is no other ecosystem out there that provides such a diversity. 

Thursday, November 18, 2010

Basic vs Applied Research - Linear vs Nonlinear Models

I was reading a review in IEEE Spectrum of Henry Petroski's "The Essential Engineer: Why Science Alone Will Not Solve Our Global Problems", and found several references to the linear model of how research is being conducted in the U.S.:

"Part of the problem, he [Henry Petroski] says, is the linear model of technological progress: Basic research spawns applied research, which in turn fuels technological development. This model is wrong historically, and it undervalues the creative juices of good engineering ... This linear model became ascendant in U.S. science policy after 1945 when Vannevar Bush submitted his famous report, “Science—the Endless Frontier”, which enhanced the prestige (and funding) of basic research at the expense of applied work."

I wrote in one of my previous posts about linearity and nonlinearity in biology, engineering, and financial systems, and how linear models (such as blood vessels in biology, waterfall model in engineering) have a negative impact on the systems where they are applied. The review of the book has the same underlying message, namely how moving away from the linear model of basic research towards the more practical approach of applied research (or development projects) has a greater outcome in terms of engineering advances. 

Wednesday, November 17, 2010

Android Ginerbread adds NFC support

Listening to the conversation with Eric Schmidt at the Web 2.0 Summit 2010, I was pleasantly surprised that the new Android 2.3 (called "Gingerbread"), will add support for NFC, or Near Field Communication (I heard rumors about this in the past). There are many use cases that I can think of, the major one being using your phone for making payments. I said it in the past that the main reason I think NFC has not been adopted is because there was no major company/platform using it. Now there is.

Tuesday, October 26, 2010

2010 Gadget Census

Retrevo's 2010 Gadget Census revealed what gadgets people were using in each state, with the summary of it captured in the image below:

Tuesday, September 21, 2010

Articulated Naturality Web

Articulated Naturality Web, or ANW, is what comes after augmented reality, the next level, the next phase if you will. There's a short video posted on engadget (and at the end of this blog post) that shows some of the features of ANW. For me, it's amazing because it fuses sensors, location, internet, image processing, and much more into one technology that gives meaning to the surroundings by means of your smartphone. Imagine sitting outside of an hotel, and looking at the available rooms, how they look inside, prices, and booking information. Blows my mind what we can achieve today with the amount of information and the technology available to us.

Thursday, August 26, 2010

Installing iPhone/iPad application ad-hoc

At my current job, I had to remotely install some beta versions of the iPad app for some clients, before the app was actually released on iTunes. There are several steps that one has to take in order to achieve that (assuming you have followed some of them that describe creating Certificates, App IDs, etc):
  1. In your iPhone Developer account, go to the iPhone Provisioning Portal, the to Devices, and add the iPad device to the Current Registered Devices section. You have to know the Device UDID (40 characters that can be copied form iTunes when you have the iPad plugged into your computer).
  2. Add the newly created device to the Distribution Provisioning Profile. 
  3. On you station, drag-and-drop the distributed provisioning profile into XCode. 
  4. Under XCode, change both your app's and your target's build properties to use the new distribution provisioning profile. 
  5. Delete the old Entitlements.plist file and create a new one.
  6. Change your settings so that XCode uses Device as the Active SDK, and Distribution as the Active Configuration. 
  7. Build your app, then zip the executable. 
  8. Export your private key and the developer identity certificate and import them into your client's Keychain (you might also need to export-import the AppleWWDRCA.cer file to your client). Finally, add the iPhone distribution certificate to the Keychain. 
  9. Download the new distributed provisioning profile and drag-and-drop it into your customer's iTunes app (either drop it on the iTunes icon, or in the App section). 
  10. Un-zip your application and drag-and-drop it into the app section of your customer iTunes (if the Apps section is not visible, go into iTunes -> Preferences and click on the checkbox marked as Apps). 
  11. Synchronize iTunes with the iPad to transfer the app from iTunes to your client's iPad. 
Hope it's going to help some of you. Enjoy!