BB10Jam Session: Introduction to the Native C Camera API

image: from (click to see the source)

Now that we have seen what intelligent applications are, how we connect with social networks and how to build a BB10 application, this session gives an insight into the native API of the camera. The BB 10
Camera App allows the user cool features – more details later in this article. Now we’ll take a look at the camera with the eyes of a mobile developer:

HowTo integrate the camera functions into your own App.

If we look back the last few years and recognize the huge leap forward of cameras integrated into smartphones, it is clear that things can be done today, no one has thought about 5 years ago, where Android and iOS were designed.

The session was presented by Sean McVeigh, who is responsible at QNX for the native Camera API. BTW: That’s what I like about Blackberry conferences: one meets the people responsible, and Sean has invited us developers to tell him our wishes.

Currently, there are two devices known, that will run 10 BB: the Playbook (7” Tablet) and the Alpha Device.

Let us therefore at first take a look at the hardware equipment:

BlackBerry PlayBook (Tablet 7“)

Front Camera

Rear Camera

3 MP (2048 x 1536) EDOF Sensor 5 MP (2592 x 1944) EDOF Sensor
Photo Preview up to 1080p @ 15 fps
Video Preview up to 1080p @ 30 fps
Video Capture up to 1080p @ 30 fps, MP4, 16 Mbps
Photo Capture @ 2 fps, Zero-Shutter-Lag
Predefined Scenes (Action, Whiteboard, Auto, …)
Auto-Exposure, Auto-White-Balance

BlackBerry 10 Dev Alpha Device (Smartphone)

Front Camera

Rear Camera

3 MP (1536 x 2048) EDOF Sensor 8 MP (2448 x 3264) AF Sensor
Photo Preview up to 1080p @ 15 fps
Video Preview up to 1080p @ 30 fps
Video Capture up to 1080p @ 30 fps, MP4, 16 Mbps
Photo Capture @ 1 fps, Zero-Shutter-Lag or 15 fps (Burst Mode)
Predefined Scenes (Action, Whiteboard, Auto, …)
Auto-Exposure, Auto-White-Balance, Exposure Bracketing, Face Detection
Fixed-Focus Auto-Focus, Manual Focus, Region Priority, Flash, Videolight

All these hardware features are available through the Camera API and Sean showed some code fragments. After the conference the discussion goes on in the forums and in the meantime Sean has built some sample
applications and made them available at GitHub 🙂

Hello Camera” shows the interaction between the native Camera API and Cascades Foreign Window.

The BB10 Camera API gives developers direct access to the mobile hardware buffer. This increases the performance of your application, more CPU cycles are available for your app and also enables “in-place manipulation“. Be aware: in 8 mp burst mode, at least 120 mp / sec can be processed. No problem for BB10: the buffer pool is enhanced by BB10 Camera Service and is managed for performance.

The Camera API allows simple applications where the user brings the appropriate knowledge to operate and adjust the camera. There are also applications possible providing programmatic decisions – which brings us back to the intelligent applications. I’m curious what kind of cool Camera Apps will come for BB10 using the camera more than in conventional use-cases, for example:

  • smiley or flashing LED to visualize certain situations
  • anti-shake logic
  • automatic panorama photos
  • OCR / QR – barcode scanner
  • face detection
  • counting of heads

In addition to the native Camera API Library (libcamapi) there are high-level APIs for C++, Cascades / QML, AIR, HTML5, Android).

Update: More examples and API for Camera with Beta 2.

Was a great decision for me as a business apps developer to attend such a more technical – focused session: learned many new things and will definitely use the Camera API inside Business Apps.

BB10Jam Session: Developing NFC Applications for BB10

image: from (click to see the source)

BlackBerry is one of the pioneers of NFC and has been equipped BlackBerry 7 Devices with NFC. There’s an excellent documentation available for NFC development at Blackberry, which was created by John Murray and Martin Wooley. I knew John and Martin from other conferences and was pleased that these two experts are also responsible for BB10 NFC applications.

They started with technical explanations of NFC and then demonstrated how to read or write at NFC tags from BB10 Apps. John and Martin developed the “TagTool” sample application: not only reading and writing NFC tags, but also providing an attractive UI with animations from Cascades UI framework.

NFC events are provided by the BlackBerry Platform Services – but be aware: NFC operations are blocking, so they should be executed in a separate thread !

You can load the application from github – great code from John and Martin enriched with good documentation.

Going through the sample you are now able to read and write tags successful on BB10. Next step is to integrate NFC into your BB10 applications, per ex.: At a bus stop with NFC Tags (already available in France) a simple touch can cause the application to determine the arrival of the bus in real-time. If the user is a child the application can use the location (bus stop) to transmit this info directly to the BBM – group of the family. It would also be possible to tell the parents the expected arrival time.

A combination of location-based services with NFC to extend the Smartphone UX makes sense . So we are at the next session I attended about location-based-services:

next page →

  1. Intro
  2. Death Spiral’. Why developing BB, Who on Earth…
  3. How it all began, Farewell Java ME, the ‘old’ RIM vs. ‘not your fathers’ RIM, I’m independent
  4. BB10 is a Platform, Cascades more then a UI Framework
  5. Thorsten Heins: the hard Way to BB10, BlackBerry 7 is alive
  6. Alec + Chris rockin’ …, BB10Jam Conference, Creating intelligent Apps
  7. Connected Apps with Cascades, Anatomy of a BB10 App
  8. Native Camera API, NFC Apps
  9. Location-Based-Services
  10. Flow + Invokation Framework
  11. Party, SDK, AlphaDevice, Keyboard, Magic Moments
  12. Markets: Consumer, Enterprise, Government, Automobile
  13. BB10 around the World, Apps Apps Apps…, Open Source
  14. Mission RIM possible ?, Empower People like never before ?, Three Wishes

next page →