ArtsAutosBooksBusinessEducationEntertainmentFamilyFashionFoodGamesGenderHealthHolidaysHomeHubPagesPersonal FinancePetsPoliticsReligionSportsTechnologyTravel

Developing Systematics for BlackBerry App Development

Updated on June 22, 2012

When developing a new BB App it may happen that you may be at your wits' end as to how to begin and where to begin. A systematic approach to starting a new BB App project may help us overcome this initial hesitancy. All programmers have rituals which help them get started. Even these rituals may not completely remove anxiety at the start of a new project. Having a systematics for starting a project and then having a systematics to overcome any moments of doldrums might help smooth the development process.

When you have some information about your project try to write up project goals in your own words. As soon as you have started applying your mind to a problem at hand you will start thinking about difficulties that you may face. All programmers have grey areas. Things they don't know. Things that they aren't too sure about. Try to make a list of things that you need to master for this project. Search code snippets and store them in text files. General reading of documentation should be avoided to keep focus. You can create a file called focus.txt in the project's research folder. There is no need to remove all your grey areas before you start the project. But it is always important to keep focus. And focus may change. While at the beginning of project focus may be to get rid of "starting" anxiety later on there may be specific problem to be solved. If anxiety returns and you hit a writer's block you may return to same rituals that you used at beginning to get back into momentum.

Conversation With Yourself

Writing up the project goals is not same as writing design document. It is more a conversation with self. Design documents are written as part of Object Oriented Systems Analysis and Design. Goals documents are conversations with self. Design documents use design systematics such as UML etc. Goals document are chatty, conversational.

Code Snippets

Next we make a short list of our grey areas. Things we do not know or are not too sure about. Is it possible to centre text vertically in a label area? If yes, how? In my article "Getting Started in BlackBerry App Development" I had proposed that my series of BB-App-Dev articles on hubpages develop a "pedagogic" App software. I had suggested a simple App which presents two fractions and asks user to add them and enter resulting fraction to earn game reward points. Now typically a fraction is written as: a b/c when bare minimum fixed width typewriter like text can be used. But it would be much better if we print on a BB screen like one sees in high school math books. That is "a" will be placed at vertical centre of a graphic box which will be about two lines high. "b" and "c" will follow it except that "b" will be on top line and "c" will on bottom line. And "/" that occurs in "b/c" will become a horizontal bar that can be painted using underscore. How can we show underscored text?

Purposive Search

The type of search that we do on internet is not random search. We are looking for something. We are searching with a purpose. It is purposive search. When you read documentation while writing software, you read it with a purpose. It is not idle reading as in reading a novel. It is purposive reading. You are reading with a purpose. You can make rituals around searching and reading docs and forums with a specific purpose. You can keep record of searches. The searches are recorded by browsers in browsing history. But that is different. You can make your own record of searches you did, the keywords that you used and with what purpose the search was performed. And which link you found useful. As you research internet and read relevant docs pages you may realise how hard or easy a task going to be. It may make your expectation more realistic.

Example of Purposive Search

Centring Text Vertically in a Label Area

To illustrate above points, I searched Google with following words:

  1. BlackBerry Centring Text Vertically in a Label Area
  2. BlackBerry Java Centring Text Vertically in a Label Area

First attempt gave me search result with following link on top: . Since this was obviously not what I was looking for I looked at the second link which had relevant material. I also searched again Google with second set of keywords and that produced more relevant link at the top of result: .


Books are another resource which can be tapped for building a ritual which can help you break out of anxiety. A familiar routine always helps more effectively than uncharted territory. If you have in past carried a book to (say) a cafetaria, it is worth finding out if same ritual can help mitigate anxiety and help you get started. Even if it were a book unrelated to your purposive search effort, it may be worth trying rituals which helped you in past. Best kind of rituals are those that combine work related activity with something else. But if you need ritual only at the beginning it is okay to follow any ritual. Any ritual at all which helps you get started and then once the start has happened ritual is not needed. Such rituals may compensate for lost time on them by an early start which may build up to a healthy fast paced momentum.

I scour for books on internet. is a good website to brainstorm for books. On individual title's page related books are shown under various headings like: "Frequently Bought Together", "Customers Who Bought This Item Also Bought", etc. I donot rush into buying books. I always search local library's online catalogue and reserve a book if it is there. As a part of ritual to get started on new project reserving a book in local library may or may not work for you. Most good books have long reservation queue. Even when you are only person to reserve, transit times for books to arrive at your local branch may be huge. Still I reserve books because for me it brings finality to one step: the step of searching books. Searching and reserving book in library may be done in earnest, but really they are rituals. If it works to break our writer's block it is useful. If it does not then we should try to wean ourselves from it. You should develope habit of self-observation and see if a certain ritual is helping or not.

Sometimes you might find free downloadable copy of book that you like. If you prefer accessing electronic versions of books try your local library. They may have relationship with a electronic book vendor. Books with index are excellent source of purposive searches. Most electronic versions of books that I have downloaded are in Adobe Acrobat PDF format. Some are in "Compiled HTML Help" format with file extension *.CHM. These opens with Microsoft(R) HTML Help reader. This is the reader started by many Microsoft(R) programs when help is requested and it has a "Search" tab. As part of ritual to get started on a new project, books are far cry from purposive searches conducted on internet. But if you have a desk reference type of book which is more than just a copy-paste of official docs pages then they will have more guidance than typical docs pages have. Some people like to read print books rather than read their electronic copies. A print book can be carried. Very useful if getting away from desk will help start your project. Here again having a helpful ritual is more important than just any ritual whatsoever. We want to break the hold of writer's block.

Dual Use

Ritual can be anything but if it is even indirectly related to work then it has dual uses: one use is like the use of any other rituals and another is to provide with real concrete information to solve your problem. In office environment no one will object to a ritual like this.

Accessing Javadocs in BlackBerry Java Plug-in for Eclipse

Both flavors of BB Dev IDE's come with documentation for java as well as RIM supplied packages. Javadocs are all HTML files and can be viewed in any internet browser. If I had installed BB Java Plug-in for Eclipse in the folder named: "C:\akkad" then I would find files like "index*.html" in folder like: C:\akkad\plugins\net.rim.ejde.componentpack7.0.0_7.0.0.33\components\docs\api\index-files

Let me show this path in "tree" format:


Please note the name: "net.rim.ejde.componentpack7.0.0_7.0.0.33". This name will vary from version to version. Also if you are searching inside C:\akkad folder and its heirarchy a file named "index.html" you might fail. Search instead for files named: "index*.html". This hassle of finding the path where docs files are stored is quite unnecessary when you have source file opened in Eclipse. In Eclipse with plugin if you are reading a program written by somebody else and you want to find documentation of a Java or RIM supplied class then you can hover mouse on its name in source program and the plug-in will show you the documentation related to the class in a popup window. These are known as ToolTip popups, but if you are familiar with tool-tip popups in context of Windows then these are different. These show a lot of text requiring a scrollbar. Scrollbar shows when you move the mouse caret into the popup area.

This popup also shows on top left corner a button to show the attributes and methods of the class whose documentation is on display inside the popup window. If you hover mouse on it it will show TooTip text: "Open Declaration". If you click on this button you will see all the methods and attributes of class on right hand side panel.

In using in-built help like this same priniciple of keeping focussed applies.


Best rituals are those which produce useful information as a by product. Writer's block can affect anyone at the beginning of project or when project gets interrupted. Getting back into the momentum is key result we are looking for. Best rituals are those that make it easy for you to put your past projects in "History" folder and make you current project your current obsession. Every programmer has his own systematics. Good employers are those who foster anxiety-free environment and let individuality be freely expressed. On programmers' side there should be readiness to discard old rituals which don't seem to work any more and make new ones in hope that they will be working better. Systematics satisfy neurotic programmers' urge to have rituals while at the same time they produce results.


    0 of 8192 characters used
    Post Comment

    No comments yet.


    This website uses cookies

    As a user in the EEA, your approval is needed on a few things. To provide a better website experience, uses cookies (and other similar technologies) and may collect, process, and share personal data. Please choose which areas of our service you consent to our doing so.

    For more information on managing or withdrawing consents and how we handle data, visit our Privacy Policy at:

    Show Details
    HubPages Device IDThis is used to identify particular browsers or devices when the access the service, and is used for security reasons.
    LoginThis is necessary to sign in to the HubPages Service.
    Google RecaptchaThis is used to prevent bots and spam. (Privacy Policy)
    AkismetThis is used to detect comment spam. (Privacy Policy)
    HubPages Google AnalyticsThis is used to provide data on traffic to our website, all personally identifyable data is anonymized. (Privacy Policy)
    HubPages Traffic PixelThis is used to collect data on traffic to articles and other pages on our site. Unless you are signed in to a HubPages account, all personally identifiable information is anonymized.
    Amazon Web ServicesThis is a cloud services platform that we used to host our service. (Privacy Policy)
    CloudflareThis is a cloud CDN service that we use to efficiently deliver files required for our service to operate such as javascript, cascading style sheets, images, and videos. (Privacy Policy)
    Google Hosted LibrariesJavascript software libraries such as jQuery are loaded at endpoints on the or domains, for performance and efficiency reasons. (Privacy Policy)
    Google Custom SearchThis is feature allows you to search the site. (Privacy Policy)
    Google MapsSome articles have Google Maps embedded in them. (Privacy Policy)
    Google ChartsThis is used to display charts and graphs on articles and the author center. (Privacy Policy)
    Google AdSense Host APIThis service allows you to sign up for or associate a Google AdSense account with HubPages, so that you can earn money from ads on your articles. No data is shared unless you engage with this feature. (Privacy Policy)
    Google YouTubeSome articles have YouTube videos embedded in them. (Privacy Policy)
    VimeoSome articles have Vimeo videos embedded in them. (Privacy Policy)
    PaypalThis is used for a registered author who enrolls in the HubPages Earnings program and requests to be paid via PayPal. No data is shared with Paypal unless you engage with this feature. (Privacy Policy)
    Facebook LoginYou can use this to streamline signing up for, or signing in to your Hubpages account. No data is shared with Facebook unless you engage with this feature. (Privacy Policy)
    MavenThis supports the Maven widget and search functionality. (Privacy Policy)
    Google AdSenseThis is an ad network. (Privacy Policy)
    Google DoubleClickGoogle provides ad serving technology and runs an ad network. (Privacy Policy)
    Index ExchangeThis is an ad network. (Privacy Policy)
    SovrnThis is an ad network. (Privacy Policy)
    Facebook AdsThis is an ad network. (Privacy Policy)
    Amazon Unified Ad MarketplaceThis is an ad network. (Privacy Policy)
    AppNexusThis is an ad network. (Privacy Policy)
    OpenxThis is an ad network. (Privacy Policy)
    Rubicon ProjectThis is an ad network. (Privacy Policy)
    TripleLiftThis is an ad network. (Privacy Policy)
    Say MediaWe partner with Say Media to deliver ad campaigns on our sites. (Privacy Policy)
    Remarketing PixelsWe may use remarketing pixels from advertising networks such as Google AdWords, Bing Ads, and Facebook in order to advertise the HubPages Service to people that have visited our sites.
    Conversion Tracking PixelsWe may use conversion tracking pixels from advertising networks such as Google AdWords, Bing Ads, and Facebook in order to identify when an advertisement has successfully resulted in the desired action, such as signing up for the HubPages Service or publishing an article on the HubPages Service.
    Author Google AnalyticsThis is used to provide traffic data and reports to the authors of articles on the HubPages Service. (Privacy Policy)
    ComscoreComScore is a media measurement and analytics company providing marketing data and analytics to enterprises, media and advertising agencies, and publishers. Non-consent will result in ComScore only processing obfuscated personal data. (Privacy Policy)
    Amazon Tracking PixelSome articles display amazon products as part of the Amazon Affiliate program, this pixel provides traffic statistics for those products (Privacy Policy)