Have you ever found yourself in a situation where you caught yourself sending an email on your BlackBerry® smartphone to an unintended recipient? Or maybe you’ve found that you need an application that intelligently manages your Wi-Fi® connection to conserve battery life. Well, you’re in luck – Fixmo® has just released a new version of their Fixmo Tools application that is designed to address these issues.
The Conserve Wi-Fi app that Fixmo has introduced in this new release of Fixmo Tools helps save BlackBerry smartphone battery life by turning Wi-Fi on and off based on your cell tower location. How is this possible? Well, as part of the net.rim.device.api.system.Radio class, you can programmatically activate or deactivate available radios on the BlackBerry smartphone. A must-read knowledge base article that simplifies your development in getting a location fix can be found on the support forums.
Fixmo now also provides the ability to optionally delete any applications that are used less frequently. The trick here is to work with the net.rim.device.api.system.CodeModuleManager class as it allows BlackBerry developers to manage modules installed on a device. For a good example and some more info on this, check out the knowledge base article on the topic, which includes the ability to install applications as well as remove them.
We managed to catch up with Fabian Heuwieser from Fixmo Inc. to discuss the development of Fixmo Tools, including the Simple Location API’s that the Fixmo development team was able to leverage. Check it out below:
What is Fixmo Tools?
With Fixmo Tools, we created a framework that allows us to simply add more apps to the “belt of utilities” by just compiling the tools separately as a stand-alone application, and then by plugging it into Fixmo Tools – very similar to a building block piece that you enhance with more building blocks. Simple but powerful tools like Mail Compliance Manager and Undelete enable end-users to protect themselves from accidentally replying to all, adding an unintended recipient to an email, or permanently deleting an important message – actions that can lead to private data loss and reputational risks. Tools and apps like Remote Print, Call Indicator, Forward/Reply with Edit are designed to extend the functionality of the core device applications and services without introducing additional risk to personal or business data.
Why is Fixmo Tools an example of a BlackBerry platform “Super App”?
Our app deeply integrates into the BlackBerry OS, making it the textbook example of a Super App. For example, it makes use of the Calendar, Messages, Call Log, Browser, Contacts, Text Messages, Memo, and Tasks – nearly every system application available on the device.
Which APIs did you use to build the app?
For Fixmo Tools we made use of what felt like every available BlackBerry API. By having 18 tools “baked” into one single app, it’s not easy to list all APIs used, but I will highlight the most important and interesting ones:
First, I will show what APIs we used for Undelete, the tool to recover deleted PIM items. Since Fixmo Tools makes it possible to undo a deletion of Memos, Tasks, Calendar Events, PIN Messages, and Contacts, we needed to listen for an event that gets triggered when a PIMItem is deleted. PIMListListener with its itemRemoved(PIMItem item) method handles the job well. Then we just needed to recreate and populate the BlackBerryMemo, BlackBerryEvent, BlackBerryToDo, BlackBerryContactGroup and Message.
The Remind Me Later tool is also interesting. With the app, it is possible to set reminders from the Contacts, the Call Log or the Messages right into the PIM Calendar – useful for setting call-back or follow-up notifications. Since the reminder is created through the Menu, we use ApplicationMenuItem to invoke the current application. Let’s say we set a follow-up reminder from the CallLog – we need to get the instance of the currently selected PhoneCallLog entry to retrieve the name and number of the caller with getParticipant().getName() and getParticipant().getNumber(), and then we need to Invoke.invokeApplication(Invoke.APP_TYPE_CALENDAR,..) the Calendar application to create an event with BlackBerryEvent. Through that we have an event in the system calendar reminding us to call back that person.
Another Fixmo Tools app is Silencer. It automatically sets your device to silent when it notices a meeting taking place at the moment to ensure your phone does not ring in unwanted situations. The app does that by scanning the calendar for a currently running event. When the detected parameter for the current event is BlackBerryEvent.FB_BUSY, it silences the phone and it shows an icon in the notification tray using ApplicationIndicator to inform the user. When the meeting is over, the app automatically un-silences the phone again.
Our Mail Compliance Manager app integrates into the Messages application. It warns the user when he or she wants to send an email with inappropriate content or to the wrong recipient. By using the FolderListener, we can make use of the messagesAdded(FolderEvent e) method that detects an event taking place where a Message is added to a folder; in this case, we check for an outgoing message being sent by the user. After checking some predefined rules (e.g. message containing inappropriate content or is addressed wrongly) we can stop the message from being sent and warn the users about their actions.
Another Fixmo Tools app called Multi Clipboard allows the user to make use of an extended clipboard. Through the ApplicationMenuItem, the user can click a custom made MenuItem that saves the selected text. But when performing the next copy-action via our MenuItem, it does not overwrite the currently saved clipboard content. It saves each copied item in a separate entry. When pasting, you can select which of the previously copied text you want to paste.
Thanks for sharing all of these details with us, Fabian!
The Fixmo Tools application can be downloaded from the BlackBerry App World™ storefront as a 14-day trial version, or you can purchase the full app for $7.99 USD at a special version 2.5 launch price (originally $ 14.99 USD) for a limited time only (check BlackBerry App World for up-to-date details and the availability of this offer).
What APIs have you recently leveraged in your apps? Share in the comments below.