The core value of this group is to bring developers up to speed with BB technology, concentrating on BB10.Exploring efficiency, beauty and power BlackBerry provides to its users by designing Apps that can be used globally and that improves developers life as it improves community life.
Wi-Fi Direct is a new method of communication now available to BlackBerry users. First introduced on the BlackBerry Z30 running OS 10.2, but also coming on the BlackBerry Q5 and Q10 in 10.2, Wi-Fi Direct allows for communication from one device to another without the need for any network infrastructure. You can use this to connect to other users and share media files or play a multiplayer game. It can also be used to communicate with hardware devices such as printers or digital cameras that also support Wi-Fi Direct.
In BlackBerry OS 10.2, we support a 1:1 connection over Wi-Fi Direct, meaning one device can communicate with another. However, Wi-Fi Direct also allows for multiple devices to communicate Wi-Fi Direct Group. So -in BlackBerry OS 10.2.1, we’ll be supporting Wi-Fi Direct groups of up to 8 devices.
A BlackBerry user can configure a Wi-Fi Direct connection themselves by going to Settings > Network Connections > Wi-Fi and then choosing Wi-Fi Direct. This initiates a scan for other Wi-Fi Direct devices. While scanning, the BlackBerry Smartphone is also discoverable by other Wi-Fi Direct devices.
Now you wouldn’t want to force a user to have to do this to make a connection for your application, right? This is the BlackBerry Developer Blog, so let’s learn how we can use the WiFiDirect API to make the connection programmatically right within your app!
If you want to jump right in and try out Wi-Fi Direct in an application, have a look at the WiFiDirect-ion sample application I created. You’ll need two devices to try it out. The table below shows screenshots of what you’ll see at each step:
After starting the application, choose Operator on one device and Automatron on the other.
This triggers a Wi-Fi Direct scan on both devices.
Once a connection is found, it will be listed on the automatron device. Touch the found device to establish the connection and agree to accept the connection on the operator device.
Once the connection is established, you’ll see a control pad on the operator device. Touch an arrow and it’ll appear on the automatron device.
Let’s take a look at what the application is doing under the covers. The first step to establish the connection is to call requestScan to scan for other Wi-Fi Direct devices. A scan lasts for one minute and makes the device discoverable to other Wi-Fi Direct devices while scanning is in progress. So if you need to connect 2 BlackBerry Smartphones, you’ll need to initiate the scan on both. When a device is found, the deviceFound signal is fired, which provides the name of the device, its hardware address and WiFiDirectDeviceType. You can either present the list of devices to the user to choose, or connect automatically if your application is looking for a specific device.
Once you’ve chosen the device to connect to, call requestConnect to initiate the connection. The requestConnect method allows the application to choose the Wi-Fi Protected Setup method to establish the connection. There are three options: Push Button Configuration, Random PIN and Preset PIN. The table below describes the behavior for each when connecting two BlackBerry Smartphones.
Wi-Fi Protected Setup Method
Device Initiating Connection
Device Being Connected To
Push Button Configuration
A prompt is shown while the remote user accepts the connection and the connection is being established.
A prompt to accept the connection is shown.
A prompt is shown which contains a random PIN that must be entered on the remote device.
A prompt to enter the PIN to establish the connection is shown.
A prompt is shown which contains the PIN specified by the application that must be entered on the remote device.
A prompt to enter the PIN to establish the connection is shown.
Once the Wi-Fi Direct connection has been established, the deviceConnected signal is fired. The deviceConnected signal supplies you with information about the device that just connected, including the device name, hardware address, IP address and WiFiDirectIntent. At this point, your application should call requestStartSession to keep the Wi-Fi Direct session up. If there are no active sessions for two minutes, the Wi-Fi Direct radio will be disabled in order to conserve power.
If you’ve made it this far, your application is ready to communicate over the Wi-Fi Direct connection using any IP-based protocol. Once you are finished with the connection, call requestStopSession to remove your session from the pool, allowing the Wi-Fi Direct radio to power down if there are no other active sessions.
Recently, we held a BlackBerry Jam Direct virtual conference focused specifically on the new BlackBerry Runtime for Android apps. It was an efficient, effective and fun way for us to reach out to new and familiar Android developers. The turnout was fantastic; we were able to reach over 1000 registered attendees interested in hearing how they can quickly and easily expand their business and bring their applications to the BlackBerry platform. If you weren’t able to join us live, never fear, you can tune into the replay at the link below.
For those unfamiliar with the latest update to the BlackBerry Runtime for Android apps, we’ve brought a number of new, highly requested compatibilities to the tool. James Dreher and Matt Whiteman from the Android team spoke about how these compatibilities make repackaging existing applications that much simpler. For a quick rundown of the latest features and information on the runtime, take a look at our earlier post and be sure to watch a replay of the event.
Please note it could take a moment to load even on a fast connection
(James Dreher speaks at the BlackBerry Jam Direct virtual conference)
We also welcomed Peter Valin from the BlackBerry World team to the stage to discuss how the storefront is the best way to reach BlackBerry customers. In his presentation he also touched upon the number of different ways that BlackBerry World helps developers to market and monetize their app.
Finally, we rounded out the event by teasing a new offer coming up for developers in the New Year. Whether you are joining us today as a new member of the BlackBerry/Android community or already have your Android app up for sale in BlackBerry World, our app hungry market wants your apps and can help you achieve success in a new marketplace. We created a rewards program to incent you to update your current apps and port your new ones. Stay tuned in the New Year for the official announcement of the program, but start the work today as all submissions beginning Dec 5th will be eligible!
Did you like what you saw at the latest BlackBerry Jam Direct event? We’ll be hosting more events in this format in the coming months, so be sure to let us know what topics you want to see covered and leave your feedback in the comments. If you’ve watched the replay and have any outstanding questions, we’re here for you…ask away in the comments and our experts will get back to you.
[Bonus] An Inside look at the view from the stage, moments before we started.
As mobile computing drives forward, so does the potential to create a compelling experience by connecting with end-users in more meaningful ways; be it via heart rate monitor, finding lost items, or one of today’s most common accessories: gamepads.
The catalog of supported gamepads on the BlackBerry 10 platform is ever growing as our teams aim to support a wide variety of devices for the benefit of both developers and end-users.
However, the Bluetooth landscape can resemble the Wild West at times with proprietary implementations being chosen in favor of industry standards. This is why when developers ask us “Can you implement support for Gamepad XYZ?” sometimes the answer has to be “No.” It isn’t that it can’t be done, but targeting non-standard implementations requires resources for integration and maintenance, and leads to uncertainty whether that gamepad will work with specific OS builds and, if broken, when the implementation will be fixed.
What BlackBerry Looks For In a Gamepad
We wanted to share our criteria with developers so you can focus on those gamepads that will provide an A+ experience on our platform, helping to achieve both Built For BlackBerry and Gamepad Enabled status. This information will also be useful for end-users who are looking to purchase gamepads to complement their BlackBerry 10 devices.
There are two supported ways to connect a gamepad to a BlackBerry 10 device. The first is over Bluetooth using the Bluetooth Human Interface Device (HID) profile. Gamepads that leverage this profile can be paired to a BlackBerry 10 device running BlackBerry 10 OS version 10.1 or later, including:
BlackBerry Z30 smartphone
BlackBerry Z10 smartphone
BlackBerry Q10 smartphone
BlackBerry Q5 smartphone
The second connection method is using a direct USB connection that follows the USB On-The-Go (OTG) specification. In most cases this will require a Micro USB OTG to USB 2.0 adapter, in addition to a BlackBerry 10 device running BlackBerry 10 OS version 10.2 or later, including:
BlackBerry Z30 smartphone
For consistency, we are also focusing our efforts on gamepads that have analog Joystick controls. Gamepads that have only a Directional Pad (D-pad) may be supported, however for the full BlackBerry 10 experience analog joystick integration is the recommendation.
Based on the criteria above, there are a number of gamepads today that enable the full BlackBerry 10 experience out-of-the-box.