Working on a New Simple Dice Game

Working on a New Simple Dice Game

I’ve been working on creating a basic dice game for Android with animation, rules, betting, and more! The game is currently a work in progress, but I’m really excited to release it! The animation works wonderfully, and the interface, although very unfinished is already starting to look polished, especially in the game’s menus. For now, the game is simply called “Dice Betting”, and yes, I realize how lame and generic that sounds, but I might end up changing the name of the game before it is released. Similar to “Find the Mouse”, I’ll probably end up open sourcing this game (under the GNU General Public License, of course), although it isn’t even remotely close to being released yet. The game will have a built-in statistics tracking system, and the rolling of the dice will be completely animated. Right now, the animation I have done looks really cool, and I’m incredibly anxious to publicly release this. Check back soon! ­čÖé


Clippy Public Beta 0.1.5 Released

Clippy Public Beta 0.1.5 Released

I just released version 0.1.5 of the Clippy Public Beta. In this version, I made a ton of major interface improvements, in fact, I think you might not even be able to recognize it any more. There is a new settings menu, but for the moment, I am not allowing users to enable the settings, as some of them may cause serious problems, as they are not fully developed yet. I am speaking from experience, especially on the auto-start setting. Just trust me on this one, it’s not worth enabling those settings yet. I decided to disable them so I could rush out a new release, as the version in the market was gradually becoming archaic. Also, many additional abilities have been added, such as sending the clipboard/clippings as emails and text messages. If you’re wondering where the menus that were previously at the bottom of the screen no matter what went, they are now located in the context menu. You can access them by pressing the menubutton. Also, you may notice that the icon in the applications drawer is now simply labeled “Clippy”. However, as you will immediately notice when you enter the application for the first time after upgrading, this is still a beta, and it’s not yet stable. I wish I could go into more detail about all the dramatic changes that I made in this new release, but I’m really tired at the moment, and I just got done working for hours on releasing a new version for you guys to play with. I’ll probably update this post later, and go into more specific details. Also, you’ll be glad to hear that I made no database changes at all in this version, so your data should be safe if you are upgrading from a previous version. Try the new version out, and let me know what you think! Screenshots coming soon!

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.

An Open Discussion About the Future of Clippy

An Open Discussion About the Future of Clippy

I just got another email about Clippy, from the same person [Tony] who was having trouble using it earlier due to the force close issue, and they mentioned some interesting ideas that I discussed with them via email, and I wanted to share these ideas with the rest of the readers on my blog (There are people who actually read this, right?).┬á So anyways, they wrote to me asking what the purpose of Clippy was, and pointed out that there is a significant lack of information about it, and I have to agree that they’re completely right. There’s barely any information about Clippy at all, even on my blog, where I posted several lengthy posts about the project. Part of that can be attributed to the fact that Google only lets you have a 325 Character description about your project, which has been quite a hassle for me on numerous occasions, since I like to write long descriptions about my project, but that’s not the only reason that Clippy seems so vague and mysterious. Truthfully, the primary reason for that is because, well, it is. Clippy is currently in an extremely early stage of development. I haven’t even been working on it for a solid week yet. The reason I’m releasing a public beta even though I realize that there is still a lot of work to do before Clippy reaches a point where I feel comfortable shipping a final, stable version is because I feel that I should let the users develop it. Not literally, where the users would be whipping out Eclipse and writing Java code, but rather on a user interface level. I believe that by offering a chance to test Clippy far before it’s ready to be released, I’ll be getting better feedback than I would if I finished the whole thing without any external input, and shipped it to the masses. I believe that the best kind of feedback is that of someone who uses the application frequently in their daily lives. Clippy isn’t just written for one specific purpose. It is a tool that can be adapted to several different needs, and as I try to meet the needs of those who use my application, it will become more robust and flexible to the demands of users. As I read Tony’s email, I realized that I have no idea what I’m doing when it comes to creating a product to meet the needs of those who use it, as I haven’t used something similar before. The truth is, if anyone knows what could make Clippy a better product, it would be the actual users, not the programmer. While reading that email, I recognized several shortcomings of my application, and realized that the best way to approach the future of the application is with the guidance of the ones using it. Therefore, I take all feedback I receive very seriously, even if it’s negative, as I want to offer options to meet everyone’s needs to the best of my abilities, and I want to do so without causing problems such as crashes (force closes), or sluggish performance. Reading Tony’s letter made me recognize several things I didn’t realize before. For example, it can be annoying to manually archive a clipping when you are making several rapid changes to the clipboard contents. After reading the email I received, I thought about all of the points mentioned, and considered all the possible implications of implementing their ideas, and I wanted to share my thoughts about each one of the points mentioned in Tony’s email with the readers of my blog, as some of my decisions about these ideas greatly reflect the direction I want to go with Clippy. Anyways, here is what they wrote to me (omitting personal details):

That seems to have solved the problem, Dylan, thanks!

There’s a bit of a lack of information about Clippy. Does it watch the
clipboard and cache clips as they’re made? That’s what I hope it does
— I use ClipStore now and it’s far from perfect but better than
nothing. I like having a list of the items that have been on my
clipboard so I can go back to them whenever necessary.

I’d also like to suggest that you provide the ability for it to reside
in the Notification bar for quick access and also provide a widget,
perhaps showing the last n items (configurable) so I can select
previous clipboard items and have them put back on the clipboard.

Nice job! Keep it up!

In this blog post, I address each of the issues mentioned, break them down into pieces, and discuss my thoughts about how I could implement them.

Read more of this post

Clippy Public Beta Minor Update 0.1.2 Released

Clippy Public Beta Minor Update 0.1.2 Released

I just released an update that fixes the force close on the About tab. Since most people haven’t even updated to version 0.1.1 yet, you probably won’t have two updates installed. I’m going to continue looking for bugs and making minor improvements before I start adding new features. Because of the recent force close problems, I’m currently focusing on making the application as stable as possible. Also, there is a pretty good chance that throughout the beta period, I might make significant changes to the database, and you may lose your clippings. Before that happens, I plan on adding the ability to export your clippings database to an SD card, however, I want to put this warning out there, so that you are prepared when that happens. Try not to use Clippy Beta for anything very important, and make sure there isn’t anything too valuable in your Clippings database before you upgrade. In the case that I make changes to the database in order to add new features, I will make a post on my blog ahead of time, so that you can safely backup your data. I suggest you check my blog to see if I made any major changes to the database system before upgrading. If I do make any significant changes, I will change the version number more than I do for minor upgrades. If you see a small increase in the version number, such as 0.1.1 to 0.1.2, chances are it’s only a bug fix release, or I only added a couple extra features. However, if the version number increases significantly, such as 0.1.2 to 0.2, make sure you check out my blog to see if you will lose any data. Keep in mind, this is a beta release for a reason. There is a rapid release cycle, and the code for the application isn’t very stable. Things will change rapidly, and you should always be prepared for the worst. That being said, I hope you enjoy beta testing Clippy, and I’m looking forward to hearing your feedback about it, and I look forward to seeing how you guys feel about the changes I make.

Clippy Public Beta Force Close Issues

Clippy Public Beta Force Close Issues

I just recently became aware that certain users are experiencing issues with Clippy force closing on their devices. This is now a known issue, and I am looking into it. If you have any issues with Clippy force closing, either leave a comment on my blog or send me an email. My email address available on the description page of Clippy Public Beta. I want to thank Tony personally for pointing this issue out to me. Rest assured, I am well aware of the issue, and I’m looking into what might be causing it right now. Clippy is currently in public beta, and there will be bugs, but I assure you, I’m working on it. The issue might have something to do with the fact that Tony is running a nightly release of CyanogenMod (0804) on a Nexus One, but I’m determined to make sure all of my applications function properly on as many devices as possible, and that includes rooted devices running CyanogenMod and other custom firmware. I know that there are issues with rooted phones and phones with custom firmware not being able to run applications that use Google‘s copy protection, but I don’t believe in locking down my applications, and _none_ of my applications, including the paid versions have any copy protection what-so-ever, and even if they did, it would be fairly easy to circumvent. It’s because of people like Tony that developers such as myself can make sure these issues are fixed before I ship a final release. Therefore, I’d like to publicly apologize for any issues that you might be having with my applications, and I’d like to thank everyone who sends in crash information, as it really does help me fix the problems. Honestly, if nobody had sent in any emails to me regarding the force close issues, I would still be dumbfounded as to why my application only has one star. Anyways, I’m going to start looking into this issue immediately, and I’ll hopefully have a proper fix for the issue pushed out to devices via the market within 48 hours. Thank you for your understanding.

Clippy Screenshots Galore!

Clippy Screenshots Galore!

Just as I promised, here are some screenshots of Clippy as it is in its current state. There is currently a non-obtrusive advertisement on the “About” tab, but I don’t think that will detract from the experience of using Clippy at all. I have 10 screenshots of Clippy, but if you want to try it out for yourself, the public beta is available for free in the Android Market. Anyways, here you go: