(0 comments, 31 posts)
CEO of Olive Tree Bible Software
Posts by Stephen J.
We are currently looking for a Java Programmer that could help us develop the BibleReader for Java platforms. The number of BlackBerrys and J2ME enabled phones is rapidly growing. Olive Tree strives to support as many popular mobile platforms as possible. To provide customers with the best experience on BlackBerrys and J2ME enabled phones we need another programmer who can take charge of the Java BibleReader.
The job posting follows.
Software Developer – I (Java/J2ME/C++ Programmer)
- Olive Tree Bible Software is looking for a part/full time engineer in Java J2ME.
- We have several Java BibleReader platforms and need to do more development.
Ideal Requirements: 3-5 years professional experience with Java, J2ME, and C++.
- Experience as part of a multi-person software development team.
- Experience in developing applications for the BlackBerry or J2ME cell phones.
- Locations: Greater Northwest (states of Washington, Idaho, Oregon)
- Most work will be done from home.
- Self motivated and productive when not constantly supervised.
Additional Useful Experience: (not required)
- Linux C++ programming, PHP, and MySql database.
- Experience in Biblical material or Bible Software.
- Experience in Biblical Greek and Hebrew.
- Experience in the field of information retrieval.
To apply for this position, please email your resume to firstname.lastname@example.org with the subject line: Resume
Many of you may have seen the post a few weeks ago about Hebrew and Aramaic developments on the Pocket PC. I am happy to let you know that we have been working on these features on Palm as well Unfortunately, the Palm OS is still in the dark ages when it comes to font support. To make Hebrew look the best we needed to support Unicode and take advantage of technologies that have been developed for rendering complex scripts. Since Palm does not support this we had to create our own Unicode solution for Palm.
You may be wondering just what is Unicode and why is it important. Unicode is a character encoding that is used to represent characters in most of the world’s scripts. So by supporting Unicode on Palm we now have a way to render text from most languages! See the screen shot below for an example (we have not applied any cursive joining rules on this screen shot).
The first book we are working on with Unicode support is the HMT. Here is a screen shot of the beta version of HMT with Unicode support. The display and rendering of the Hebrew is much improved with this new Unicode HMT.
We recently put up a new beta Smartphone BibleReader. This is one of the most exciting betas we have ever posted for any platform! The list of cool new features added to the Smartphone BibleReader is simply amazing.
For starters we added support for selecting hyperlinks on Smartphone using the 5-way arrow button. This opens a lot of new resources on Smartphone that were not usable before. With hyperlink support you can use the KJV and NASB strongs Bibles and see the Strong’s definition for each word in the Bible. You can also use the Complete Word Study Bible, Treasury of Scripture Knowledge, and many other Bibles and Bible study tools from Olive Tree.
As if that wasn’t enough, we also added support for dictionaries. So now you can use Easton’s Bible Dictionary, Unger’s Bible Dictionary, EDNT, TWOT, and all the other Olive Tree dictionaries on Smartphone.
We didn’t stop there. We then went on to change the shortcut options to support more keys, reorganize the menu, add more options, add support for displaying images in Olive Tree resources, and add support for MacArthur New Testament Commentary.
Since this version of the Smartphone BibleReader is still in beta not all of the products that work on it will be visible on Olive Tree’s web site when you have selected Smartphone as your device. If you want to see the complete list of products that work with this new Smartphone beta BibleReader change your device to Windows Mobile Pocket PC on the Olive Tree web site. All of the products, with the exception of Bible Atlas, multimedia in iLumina, Chinese, Arabic, and The Message audio will work with this Smartphone beta BibleReader.
You can download the Smartphone beta BibleReader here.
Working with mobile devices is a lot of fun and very challenging. New devices and mobile platforms are springing up all time. For example, see the new ofone from Microsoft. This phone does things most developers would not have thought about when writing applications for mobile devices. (In case you didn’t catch it during this video, the ofone is not a real phone. It was used by Microsoft to humorously point out the challenges of developing for mobile devices.) Olive Tree currently supports a staggering 12 platforms! Each of these platforms requires product support, maintenance, web site changes, and development. Looking at the future, more platforms are on the way. Palm is planning on releasing a version of their operating system based on Linux. Motorola is developing more and more Linux based cell phones. The iPhone, which runs a version of Mac OS X, was just released (right now there is no way for developers to create local applications for the iPhone). ACCESS is working on their ACCESS Linux Platform for mobile devices. I am pretty sure that Nokia is working on the next version of Symbian series 60. Who knows, maybe someone is even working on the ofone For a software company to stay current in today’s mobile landscape they have to be able to move and adapt as new devices and platforms are released.
So how does a small company like Olive Tree manage to do this? Even more importantly, why is this important to BibleReader users? I can’t give too many technology secrets away, but I can share a few things that we do to make managing multiple platforms easier. Firstly, we have a common set of database files that run on 10 of the 12 platforms we support (The common database files do not run on the iPod and the BlackBerry, due to limitations on those platforms.) This makes the task of creating databases much easier since we only need to create one database. Secondly, we have a cross platform text rendering engine. The bulk of the complexity of the BibleReader is in figuring out how to display the text on the screen. This part of the BibleReader is written in such a way that it can run on almost any platform (BlackBerry and iPod are the exceptions). For example, I am currently working on being able to select hyperlinks using the 5-way arrow keys. I got this working on Windows Mobile Pocket PC. Now with very little effort I will be able to get this feature working on Palm OS, Symbian, and Smartphone. If we did not have a cross platform engine, I would have to spend days coding this feature for each platform. Finally, we have a cross platform database layer. This means that there is only one set of code for reading and searching the databases. Having code that can run on multiple platforms makes the task of moving to new platforms and supporting new platforms easier.
We have also changed our website to help users manage the complexity of the different platforms. Not all of our products work on all platforms. As new platforms come out we initially get Bibles working on that platform. Then, if there is enough interest in that platform, we start enabling more and more products for that platform. Our new website makes it easy for user to find out exactly what will run on their smartphone or PDA.
So why does this matter to BibleReader users? You may be thinking that this really doesn’t matter to you since the BibleReader works on your current smartphone or PDA. If you never get a new device, then this doesn’t matter. However, consider what will happen when you decide to renew your 2-year contract with carrier XYZ and decide to get a new smartphone. Will you continue to use the same mobile operating system that you are using today? With the numerous mobile device platforms out there it is common to switch. Maybe you will decide to try the iPhone, a Palm Treo, or a device we don’t even know about yet (ie the oFone). Will the BibleReader run on the the new device that you buy in two years? Will you be able to continue using the Olive Tree library you have built on your new smartphone? Hopefully, the answer to this question is yes. Since we have positioned our technology to more easily transfer from platform to platform we will hopefully support all major mobile device platforms. I can’t make any promises about what platforms we will support, since we do not know what the future holds. But I can tell you this, we are well positioned to move to new platforms as they arise.
I have been doing most of my reading electronically on a PDA or smartphone for the past 2 years. When I first started reading books electronically I did not like how much I had to scroll. When reading a paper book you can usually read for a few minutes before turning a page. On a PDA or smartphone it usually takes less than a minute before you have read all the text on the screen and have to scroll. This makes for a lot of scrolling to read through a book. The second problem with scrolling is that the text “jumps” by a line or screen when you scroll. Your eye has to do a quick adjustment to find out where to begin reading again after you finish scrolling. This becomes tiring when reading electronically for a long time.
So you may be wondering why I didn’t give up on reading electronic books. Auto scrolling was the reason. Auto scrolling solves both of these problems with reading electronically. On the Pocket PC BibleReader you can turn on auto scrolling by going to Menu->Display->Toggle Auto Scroll. On the Palm BibleReader you can turn on auto scrolling from Menu->Options->Toggle Auto Scroll. When you turn on auto scrolling the text will begin automatically scrolling. The text will do a smooth scroll. This means that the text doesn’t “jump” up the screen which makes it easy for your eye to follow. You can control how fast the text scroll by using the up and down arrows. You can make it go faster with the down arrow and slower with the up arrow.
If it weren’t for auto scrolling I don’t think I would be doing most of my reading electronically. For me, once I start reading a book with auto scrolling I forget that it is electronic. I start enjoying the book and forget about the medium that is being use to present the book. I have even found that reading electronically while riding a stationary bike is much easier than reading a paper book since I can do it completely hands free when I prop up my smartphone.
Happy Electronic Reading!
You may have noticed that we have not posted anything to the Olive Tree blog for nearly two weeks. A number of Olive Tree employees were out of town last week. I went for a 7 day backpacking trip down the Olympic coast. Now that my “batteries are recharged” I am ready to take on the summer programming projects Below is a picture of me by the camp fire.
If you are like me you prefer to not use your stylus when using the BibleReader. This is especially true when I am in church. I find that using the stylus is distracting. Did you know that you can easily navigate the Palm BibleReader without a stylus. There are a number of settings in the Palm BibleReader that you can customize to make one handed navigation easy.
1. You can assign your most commonly used features to shortcut buttons. Go to menu->Options->Preferences. Then choose “Shortcuts” from the drop down in the upper left corner. On this screen you can assign the features that you use the most to the hardware buttons. For example, I always assign the select button (center button of the 4-way arrows) to be the verse chooser since that it is the feature I use the most. If you have a Treo you can add shortcuts to any of the letters on the keyboard by using the “Shortcuts – Alpha” preferences.
2. You can customize how the up, down, left, and right arrows scroll. Go to menu->Options->Preferences and then choose “Scrolling”. From here you can select if you want the up/down and left/right arrows to scroll by line, verse, screen, history, chapter, or book.
3. When you are in the verse chooser you can use the up, down, left, and right arrow keys to move the selection box around on the screen. You can then use the button in the center of the up, down, left, and right arrows to choose the book, chapter, or verse that you have selected.
4. In the Palm BibleReader you can make the up, down, left, right, and center buttons toggle between navigating the main screen and scrolling. This feature is a bit hidden in the BibleReader. This is not intentional, we didn’t want to make this navigation be the default since we wanted the arrow keys to scroll by default. To make this feature work you need to assign one of the shortcut buttons or alpha shortcuts to be “Toggle 5-Way Nav.”. Then when you are on the main screen you hit the button that you assigned to “Toggle 5-Way Nav.” to change between one handed navigation and scrolling. When you turn on the one handed navigation you will see a blue box around the current item on the screen. You can move the blue box around with the up, down, left, and right arrows. You can select the button or window by clicking on the center button.
5. On newer Palm units that support the one-handed APIs all of the preference, search, bookmark, and note screens can be navigated by using the up, down, left, right, and center buttons.
I had to include one more picture