Announcing Hecl Android Alpha and Hecl Android Developer Challenge Entry

Alpha Android Hecl

I’m a little bit nervous about the idea, but I decided that I might as well release early, because for the foreseeable future, there’s always going to be “one more feature” I could add.

So, without further ado, I’m going to announce that I have a version of Hecl running on Android that has a access to a number of Android wigets. It is available here:

http://www.hecl.org/Hecl.apk

Hecl Android Demo

However: this is an alpha release, for those interested in hacking on it. If you are bothered by broken code, don’t like to report bugs, don’t want to think about how to improve it, complain loudly about missing features, then this code is not for you yet. Soon, I hope, it will be stable and useful for many more people, but for the moment, a lot of things are up in the air:

  • Hecl’s java reflection interaction code, which lets us interact with Android’s API without writing wrappers for all of it, is very new. It was written specifically to facilitate the Android port. So it might change. For hackers, the opportunity is to be able to take part in shaping it.

  • More work needs to go into the threading model. Wolfgang Kechel built a nice system of timers and events into Hecl, but work will be needed to make those play nicely with Android.

  • More API coverage is needed. We have a number of the basic widgets, but more are needed.

  • Storage is still something being worked on. I want to have a Hecl script Provider so that other applications can access Hecl scripts, as well as Hecl commands to access the various types of permanent storage that Android makes available.

  • Phone features – we want to have callbacks and commands to deal with phone features like sms, phone calls, the camera, and so on.

  • Needless to say, none of what currently exists is documented besides some comments in the code!

Of course… Hecl itself is a pretty cool language, I like to think, and the fact that it’s interpreted means that you don’t have to recompile anything, you just

  1. Edit your script.
  2. Replace the script in the zip file: zip -r bin/Hecl.apk res/raw/script.hcl
  3. Load it up on the emulator: /opt/android_sdk_linux_m3-rc37a/tools/adb install bin/Hecl.apk

You can do other cool things too, like downloading bits of code over http and running them.

Hecl @ Android Developer Challenge

I hope that people interested in hacking on Hecl will do so because it’s fun and interesting. Being an early adopter means you have a lot of influence in shaping the future of this programming language, and the API’s to interact with Android (or Java ME if that’s your thing).

However, seeing as how Google has put together this contest:

http://code.google.com/android/adc.html

I have decided to submit the Android port of Hecl, and split the prize money, should we win any, with those who have contributed to Hecl. That includes any and all contributions to Hecl, whether or not it’s directly related to Android or not. So, with documentation, Java code, Hecl code, tests, and even improvements to the web page as valid things, there’s room for everyone to get involved. Of course, in order not to paint myself into a corner, I reserve the right to make final decisions about percentages, but it should be roughly equivalent to lines of code added, deleted or modified (yes, deleted counts too – if you make the project that much slimmer without sacrificing functionality, that’s wonderful!).

Also more than welcome are people who want to submit their own projects to the developer challenge based on Android. We make no claim to your winnings, and we’ll be happy to give you a hand.

Interested?

Join the Hecl mailing list, that’s where all our discussions take place:

http://sourceforge.net/mailarchive/forum.php?forum_name=hecl-devel

Hope to see you there!

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