Friday, June 25, 2010

Text Easy 1.4 Released

Text Easy is a Bulk Text Message application that allows you to select multiple contacts or an entire group and send them a text. You can filter contacts via group, phone number type, or primary number.

New in 1.4
  • Now works with Android version 2.2 (Froyo)
  • Added account information to Group selection screen in Android 2.0 and higher
  • All numbers for a contact are now displayed. Previously this feature was only available in Android 2.0 or higher.
  • Added search button.

I have decided to add ads to this version. If the ads work out I will split my time between Text Easy and Xeblix. If the ads don't generate much money I will probably only push out bug fixes and concentrate on Xeblix.

Thursday, June 10, 2010

Text Easy 1.3 Released

Text Easy 1.3 was released on Tuesday to the market. The major new feature was phone type filtering, which allows you to only see the phone types you are interested in (i.e. Mobile). There were also some bug fixes included. Hit up the site for full release notes and check out the code if your so inclined TextEasy.

My next release will primarily be a fix for Android 2.2.

On a side note, Text Easy is about to hit 250k downloads. I figure that's pretty good for something I wrote for myself and never expected anyone to like.

Tuesday, May 25, 2010

Small delay for Xeblix Dev Release 1

I have to put Xeblix on the back burner for a couple weeks so I can focus on my day job as well as create a new release of my other Android project Text Easy. Text Easy no longer works on Android 2.2 due to using non public apis. I have decided to bite the bullet and refactor Text Easy using only public apis so I won't have to deal with it breaking after every update.

As far as Xeblix is concerned I was able to fix a major bug last week that prevented Xeblix from showing up as a Bluetooth Keyboard in Windows Vista and Windows 7. One down and a couple dozen to go! I will start back on bug fix/documentation duty as soon as I finish updating Text Easy.

Monday, May 10, 2010

Developer Release 1 coming soon

I am getting very close to releasing Developer Release 1. The current plan is to have it out by the end of May. This release will be aimed at developers and people who don't mind rough edges. The release will have the ability to control infra-red devices and act as a Bluetooth keyboard for computers. I do expect a lot of configurations to not work correctly, especially around the Bluetooth keyboard support. I have only tested on Windows XP, Windows Vista, SuSE Linux, and Ubuntu Linux. Hopefully I will get enough bug reports to make Xeblix a lot more stable and usable on many different platforms (I am looking at you Playstation 3).

Part of the release will be installation/user documentation. Installation of the Xeblix server will be a little tricky due to bugs I have found in various third party libraries. I do plan to have step-by-step instructions to make installation as easy as possible. I will also provide documentation explaining how to configure remotes for Xeblix. This initial release will not have a GUI to add/remove remotes so hand editing configuration files will be necessary.

I will also have build/architecture documentation for developers to build the software and hopefully contribute. I expect a lot of bugs to be found which will be a great way for any developers who are interested in the project to start getting familiar with the code.

After Developer Release 1 is out I plan to add support for Xeblix server on Windows. The windows server port should be the major feature for Developer Release 2.

Wednesday, April 28, 2010

Navigating a touch screen remote by feel

When I use a regular remote control with physical buttons I navigate by feel. I don't have to look at it to change the channel, adjust the volume, navigate the TV guide, etc. Navigating by feel is a major goal of Xeblix, which is problematic for software that runs on touch screens without buttons. To help reach this goal I have integrated gestures to the Xeblix screens. For example in the Speed screen you scroll up to send the Pause command, down for Stop, Tap for play, right for Fast Forward, etc. This works well until you want to change from the Speed screen to the Volume screen. To switch screens you usually need to look at the phone, click the back button, then select the Volume screen. This violates the goal of not having to look at the phone.

It occurred to me, what if Xeblix used the gyroscope to change between screens? For example if the phone is in Portrait and vertical show the Speed control screen, if the phone is in Portrait and horizontal show the Direction control screen, if Landscape show another screen and so on. By simply rotating the phone you can change the control screen. I believe this will significantly reduce the need to look at the phone while using Xeblix.

I will try to prototype this feature in a few weeks,but first up is a developer release. I have one more feature to add and a bunch of bugs to fix before my first release, which I hope to complete by the end of May.

If this gyroscope screen changer works, it leaves me with one last problem: how to swap device targets (ie go from TV to DVR to PC).

Saturday, March 13, 2010

What makes Xeblix different

This post is about competition to Xeblix and what makes Xeblix different. The closest open source competition to Xeblix that I am aware of is BlueMaemo. BlueMaemo turns Maemo devices into an infra-red remote control, bluetooth keyboard/mouse, and a PS3 game controller. I see two problems with BlueMaemo, the first is its Maemo dependency. While BlueMaemo can use a network Lirc server, most people use the built in infra-red on Maemo devices. Most phones don't have infra-red hardware built in, and requiring Wi-Fi to talk to a network Lirc server is not battery efficient. A second Maemo dependency is the use of restricted Bluetooth L2CAP ports. Access to restricted L2CAP ports are required to implement the Bluetooth HID profile, unfortunately dependency on restricted Bluetooth access is a luxury that most mobile Operating Systems don't afford. Its basically a case of having root access on Maemo, but not on other mobile Operating Systems. This first problem is really a testament to the really nice hardware Nokia puts out and the openness of Maemo, but it does make it difficult to port BlueMaemo to different platforms.

The second problem with BlueMaemo is a problem I have seen in all mobile phone remote controls. You have to stare at the phone while hitting buttons. All mobile phone remote control apps I have seen base their layout on a traditional physical remote control, i.e. buttons. This works well for a physical remote control because you learn where the buttons are and can manipulate them using touch only. Smart phones however don't have the tactile feedback required. The obvious answer is to use gestures. I am sure there are some apps out there that already do this, but Xeblix is focused on non-visual interaction.

RemoteDroid is an application used to control a PC using your phone. There are a whole class of applications that do similar things. The problem with these applications are they can only control a PC, not infra-red devices. Some of these apps support Bluetooth but many only support Wi-Fi. I fall firmly in the Bluetooth camp due to power issues and connection establishment reasons. Another problem I have with these apps are that they require server software running on the machine you are controlling. Forcing users to install software limits the appeal to techie users, leaving non-techie users from enjoying the product. Xeblix server can also be installed on the machine you are controlling, however I support this feature for the more technical users. My real vision is for a stand alone device (like a SheevaPlug) that requires no software to be installed. Plug it it, pair it with a PC or game console via Bluetooth and your done.

Commercial competition
This brings me to commercial competition. These are mostly IPhone focused for now, however I am sure most have ambitions to support additional platforms, it just makes business sense to target the largest segment with the least amount of work. The commercial competition falls into three categories

  1. IPhone specific hardware. Example: FLPR. These products have infra-red hareware that attaches directly to your IPhone and are infra-red only, no Bluetooth keyboard/mouse support.
  2. Wi-Fi devices. Example: RedEye. These are better products as they can support different mobile platforms. A stand-alone device you connect to via Wi-Fi. The problem is they also are infra-red only (no Bluetooth Keyboard support) and Wi-Fi on your phone is very power hungry.
  3. Buetooth devices. Example: Audiovox Zentral. Audiovox is the only product I know of in this category and its looks like they don't even have a site up for it, all I can find are press clippings. The idea is solid, connect via Bluetooth to the stand-alone device that emits infra-red signals. I don't know if the device supports acting like a Bluetooth HID device, its something they could probably do with a firmware update.

Of the commercial competition category 3) is closest to Xeblix. However one thing that seems universal with the commercial competition is that they are focused on remote controlling electronics, not PCs or game consoles. Also I am not sure if any of the UIs have advanced beyond the physical button imitation.

To sum up what makes Xeblix different, Xeblix is gesture oriented and designed to work with purpose built hardware and existing PCs. Xeblix also has the goal of supporting as many client platforms as possible: Mobile smart phones, feature phones, PCs, Table PCs, PMPs, basically anything with a bluetooth or network connection.

Tuesday, March 9, 2010

Windows server

I have been investigating getting Xeblix server working on windows. My original idea for the Xeblix server was to run on some standalone hardware like the SheevaPlug but making such a device a requirement would keep Xeblix from a lot of potential users. Right now the Xeblix server only works on Linux as it is tied to Bluez and Lirc, but I want users with Windows media machines to be able to run the server as well.

My original idea was to have Xeblix server running inside a virtual Linux machine running on a Windows host, but I am having some performance problems I believe related to virtual machine usb latency.

However now I think I can port the server to Windows. It is possible to build Lirc with Cygwin, but there is no Lirc driver support in windows. Fortunately you can build Lirc with a udp "driver" and have other applications consume the udp messages and forward to actual hardware. I am looking at having Lirc forward to EventGhost right now. Once that is working I will need to port the Bluez specific code to windows which shouldn't be too difficult. I will also need to add some keyboard/mouse support for controlling the host Windows machine (can't use Bluetooth HID Keyboard profile to connect back to itself). If all this works then Xeblix will run on both Linux and Windows. Its kind of strange to think of making a Windows PC look like a bluetooth keyboard to other Bluetooth devices, but in theory it should work.