Archive

Archive for the ‘Development’ Category

TouchSearch v3.1 Released!

August 5th, 2010

Today I’m pleased to announce the release of TouchSearch version 3.1. This is the first major release of TouchSearch in the past six months and brings with it all the shiny new features I’ve been working on.

First and foremost, everything you love about TouchSearch v2.2 is the same in TouchSearch 3.1, and everything you didn’t like about 2.2 is better in 3.1. Well, maybe that is a little ambitious. However, 3.1 will open your eyes to all the things you never realized you wanted that were missing in 2.2.

Let’s start out with the changes:

A new search engine format

Okay, maybe not the flashiest new feature, but the most improved part of 3.1 is the stuff you don’t see (really?). Yes, really. The new search engine format is vastly superior to the one in 2.2. For starters, each search engine is self-contained, meaning that the format allows the addition of a whole ton of new functionality (like downloading additional search engines, I will be talking about this later). Additionally, search engines are installed to /opt/ now, so no room will be taken up on the rootfs (in fact almost all of TouchSearch now installs to opt)). The new format now makes more advanced error handling possible as well… which brings me to my next improvement.

Better error handling

Version 2.2 of TouchSearch was pretty finicky, if I say so myself. If the wind blew the wrong way (meaning, maybe, you inputted a search engine incorrectly) it would crash. And crash badly. With big ugly black boxes — eek! Thankfully, those days are gone. TouchSearch v3 handles any problems with search engines gracefully — I haven’t found a way to crash it yet, but problems never do show up for me… anyway, it should be much smoother sailing for all of you.

Support searching different language versions of websites

This is probably the biggest improvement over TouchSearch v2.2 for non-US English speaking people: the ability to choose whether to search Google.com or Google.de, en.wikipedia.org or ca.wikipedia.org, amazon.com or amazon.fr, or any number of other countries/languages. This was another major reason for updating the search engine format.

Support for downloading additional search engines as Addons

TouchSearch v3 supports the installation of search engines as addons via this page at touchsearch.org. This gives you the ability to easily add any engines available there, and I add new ones all the time!

Enhanced search interface

I’ve been trying to make searching the web really easy. At first, you needed to switch search engines via a desktop button (the “plus” button). I thought that maybe people needed an easier way, so I made the QuickBar. Now I’ve one-upped myself and introduce the new “Enhanced” mode for the search dialog. Now you can select a few of your favorite websites and have them always appear in the search dialog. See below:

If you are lazy like me, you are going to love this. Trust me.

Improved “Add search engine” interface

The old interface was confusing. It confused me and I made it (I’m guessing most people’s reaction was something like… what the heck is “Query?!?”). Thankfully, the interface is much simplified and, hopefully, much improved. I did have to indulge myself and add one feature to it, though. Now you can have TouchSearch automatically create an icon for the new search engine based on the name. I got tired of having to create icons for my custom search engines, and thought maybe you did to.

All the other things I won’t mention

Of course, there were a boatload of little bugs that were fixed and minor improvements that were made, but I won’t mention them here. I’ll leave it up to you to try to find them (or you can read the update changelog, one or the other…).

Now you are probably wondering, “How can I install this update?”. Well, I just uploaded it to extras-devel and even more recently promoted it to extras-testing. The testing page is here.

Meaning, if you want to get your hands dirty and jump right in and test this new version, it’s ready to install from -testing. If you’d rather wait for a stable version to hit you local Extras repository, that’s cool too (it’ll be a little while, though; testing is 10 days at the minimum).

If you do test it out, please vote and leave feedback for it on its testing page. Thanks.

Here are some useful links for TouchSearch 3:

Development, N900, Software, maemo.org

Android on the N900 (Part 1)

July 12th, 2010

Google’s Android mobile phone operating system has a long — and mostly troubled — history on Maemo based devices. I remember the first attempt at getting Android working on the N800 and N810 was started by some industrious hackers at the forums of InternetTabletTalk.com. I tried to find that old thread, but it either has been lost to the elements of internet-time or my search skills are lacking.

Either way, I remember that the main attraction was just being able to boot into Android and have a working touchscreen. More of a proof-of-concept than anything else.

Then along came solca and his termed “NITdroid“. And with him came the hope of a fully-functioning and daily-usable version of Android for our old Internet Tablets. Over time solca and company got more and more things to work, like WiFi, application installation, battery monitoring and charging, and general stability. I remember enthusiastically installing the latest and greatest version of NITdroid whenever there was a new release, and helping out with debugging whenever I could.

Slowly, my own enthusiasm waned, and, apparently, so did everyone else’s. Though I wasn’t following the project when it got abandoned by solca, from what I hear there were some components he could never get working (sound, Bluetooth, etc) and at some point stopped trying.

After this, there was a long period of silence on the Android front. It never seemed that the hardware on the N810, and especially the N800, was good enough to run Android well. Additionally, newer versions of Android become more and more robust, leading to a need for newer hardware. This need was satisfied with the release of the N900, which lead to new-fangled interest in getting Android to run on a Maemo-based device.

In November of ’09, bri3d on talk.maemo.org got version 2.0 of Android (Eclair) working on the N900. His work was built on top of solca and company, but was very rough with most services unusable. Moreover, he didn’t have much time to spend on the project, so it quickly needed a new maintainer. The reins of NITdroid were then briefly taken by bdogg64 with him trying to work out issues with the kernel and display. Eventually he got the touchscreen, keyboard, and WiFi networking working. Things were moving in the right direction!

Soon after that dj_steve at talk.maemo.org starting working on the project. This is were things really started to get interesting. With the help of e-yes and Jay-C, dj_steve made many “breakthroughs”. Some of these include:

  • Android 2.2 (Froyo) as base system
  • Working bootmenu with dynamic kernel loading
  • Touchscreen working and calibrated correctly
  • Keyboard working and correctly mapped
  • WiFi
  • Bluetooth
  • Charging and battery reporting (WIP)
  • Accelerometer (WIP)
  • Sound via speakers and headset
  • Microphone

And development has been fast and steady, as this 277-page (and counting) and 2767-post (and counting) thread can attest to. In fact, this post and these numbers are probably already outdated.

Now, I will again take the plunge and try to install Android on my beloved Maemo-based device (last time the N800, this time the N900).

I will, however, be saving that for part 2 of this article since I haven’t yet received a MicroSD card I ordered the other day, and that is item 1 on the “list of things you need before installing Android on your N900″.

Stay tuned!

Android, Development, maemo.org

OVI Store and Python Applications

January 23rd, 2010

Maybe I’m biased. Maybe Python-based applications aren’t a large-enough sector of the application pie to warrant consideration of inclusion into Nokia’s OVI Store. If this is the rationale that Nokia is using, then I strongly disagree.

Of course as long as everything remains the same, C will be the de facto programming language for Maemo devices. As a Python programmer, I had to fight through unstable API’s, lean documentation, and several bugs to be one of the first developers to program a Python application on Maemo 5.

But it was all worth it because I was using a high-level programming language that I could use to quickly create a feature rich application. For developers wanting to program Python for the device now, all those issues are resolved.

The only advantage C has now is: the Python libraries need to be installed as dependencies by the programmer since they do not come preinstalled on the device. This may not seem like a huge issue, but it can be:

Think about it from the user’s perspective: they see two applications in the App. Manager. Both are, let’s say, desktop widgets that show you how much free space you have on your SD card. One is written in C and is 35 KB’s. The other is written in Python and is 5 MB’s. The Python one has to pull in all the Python dependencies (python, python-hildon, python-hildondesktop, python-osso, etc.) because they aren’t preinstalled on the device. Of course, most of that stuff is Optified  so it doesn’t take up any additional space on the Root FS, but it doesn’t matter. A user will install the C application because it is so much smaller.

Although that’s an issue, it’s not the biggest one. The biggest one is how does one upload an Python-based application to the OVI Store? Are those dependencies going to be available from OVI?

Right now it is fairly simple to create and upload a Python-based application to maemo.org’s software repository, because the Python libraries are uploaded there. But how about when Python developers want to upload to the premier source for Maemo 5 applications? Will there be any support for them?

It would be great if there was Python support in the OVI Store. Even better would be to push all the common Python libraries in the next SSU, leveling the playing field completely.

What are your thoughts?

Development, Python, maemo.org , ,