A Brief Update on the Status of Clippy

A Brief Update on the Status of Clippy

Ever since my last (extremely lengthy) post, which detailed my plans for the future of Clippy, I haven’t really updated you on the progress of development, so I wanted to take some time to do so. Rest assured, this post will be much more brief and to the point, since I know it’s somewhat of a pain to read that much. Anyways, I have begun working on a background service that will automatically check whether or not any the user made any modifications to the clipboard. Right now, it’s in such an early stage of development that I don’t even feel comfortable shipping this with a beta release. I know that several users are probably anxious to get their hands on this functionality, but really, the code is such a mess, that if you had it available to you, you would realize that it would be worth waiting for me to refine it some more. Here’s a summary of the progress as of now:

  • The background service starts automatically with the program
  • There are currently no settings for the background service, or any way to turn the service off
    • All settings are currently “hard-coded“.
    • I want to have a full settings interface available before I even consider shipping the program with the service
      • There is a possibility that I will ship another release before I finish coding the background service. In that case, I will hard code a boolean value into the program that determines whether or not to start the service to always be “false”.  Even if the service is in the code, it will not start, so users won’t notice a difference except for a new ‘class‘ called “ClippyService” in the .apk file sent to your device, and a modified manifest.
  • Right now, the service is not capable of dynamically changing how often to check the clipboard based on the user’s activity. It’s currently hard-coded to check the clipboard every second, to make it easier to develop.
  • As I have the service coded at the moment, every time the clipboard changes, it prompts the user to either enter a title for the new clipping, or choose cancel if they do not want to change it. If you believe you have a more elegant solution, let me know either in the comments section, or via e-mail.
  • There is currently absolutely no notification what-so-ever that the service is running. The only way to turn it off once it starts is with a program such as “Advanced Task Killer” by ReChild (an excellent application, by the way).
  • I’ve only tested the background service in the emulator provided with the Android SDK, running stock Android 2.2 (FroYo), the latest official version of Android. I’m not sure how well it will perform on an actual device, but based only on how this is currently coded, I’m going to be a bit of a pessimist, and assume that it will be a bit of a battery hog since it checks for clipboard changes every second.
    • By the time I get the background service feature into a version that I ship to the Android market, there will be an option in the menu that I have yet to create, allowing you to enable/disable automatically adjusting how often the service checks the clipboard based on the average frequency of changes.
    • There will also be an option to manually adjust the delay, allowing you to set the value to whatever you feel is best for your needs, and for your battery life. This will allow you to balance between response time and battery life.
      • I am planning on making the user settable delay between 1 seconds and 2 minutes (120 seconds). I was originally thinking along the lines of 1 second and 5 minutes, but I realized that it is likely the user will change the clipboard more than once in those 5 minutes, and lose an important clipping, or become impatient waiting for the clipping to save. Because the user will be able to completely disable the service, however, it shouldn’t be that much of an issue to have the period between checks this short, and if it is, I will change that in a future release.
      • I plan on allowing users to set the value using a “slider” that you slide to the left or right to set the value, accompanied with a text box for manual value entry. This probably requires me to make a custom class, as I don’t think Google provides this functionality with the default Android APIs, but I could be wrong. I’ll continue to look into it.

I did not even start working on a widget yet. Because I have no experience in making an Android widget what-so-ever, I don’t feel comfortable even trying to make one for this application, until I am sure the rest of the code is in a pretty decent state, and the application is usable for everyday usage. I honestly hope that Clippy will become good enough for it to be something that someone would honestly consider using every day to help them stay organized someday, but in order for that to happen, Clippy needs to be easy to use, elegant, and powerful. At the same time, I don’t want it to be a performance/battery hog, so I have to be careful about how I code the program, so that everything is reasonably efficient, yet still responsive and easy/fun to use. Also, you may not see any updates from me for a while, as I’m going on a brief vacation with my family to Deep Creek, Maryland. After I get back, development work will resume as usual. I plan on getting find and replace functionality working soon.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: