Archive for the ‘Projects’ Category

ImgAreaSelect 1.0.0-rc.1

Friday, September 27th, 2013

I’m happy to announce that the release candidate for version 1.0 of imgAreaSelect is now available for download on GitHub and jQuery Plugins.

The code has actually been sitting in the repository since August 11th, but there were a few unresolved issues with the test suite on mobile browsers that I had to sort out — and I finally found a window of free time big enough to do that.

Adding support for mobile browsers was the most requested feature, and I’m glad it’s there at last (especially considering how painful it was to develop and test). The plugin was tested to work in Safari on iOS, the stock browser on Android 2.x and 4.x, and the mobile versions of Firefox, Chrome, and Opera on Android 4.x — which I think is good enough to say we have it covered.

This version is still strong in terms of backwards compatibility — while it is intended to be used with jQuery 2.x, it works just as well with jQuery 1.9, 1.8, and 1.7. Hell, it even pretty much works in IE6 — sounds perverted these days, doesn’t it? However, don’t take it for granted that it will stay that way in upcoming 1.x releases, as my plan is to focus on jQuery 2.x and the browsers that it supports.

That’s it for now — before I drop the “rc.1″ part and do a proper 1.0 release, I need to update the plugin homepage and documentation, and generally wrap things up. I also hope to get some early feedback, especially from people using the plugin in mobile web apps, so be my guest and try it out!

Yet Another Update on imgAreaSelect (and the Horrors of Mobile Web Development)

Monday, July 29th, 2013

It has been a while since I posted an update about the development of the new version of imgAreaSelect… so here’s an update about the development of the new version of imgAreaSelect.

I am working on the project in my spare time, which is unfortunately an extremely rare commodity for me these days (the joys of running a company), so progress is rather slow. However, over the last few weeks I did manage to fix a couple outstanding issues, and I feel the code is now much closer to my next goal, which is a release candidate for version 1.0.

I must also say I never expected it to be this complicated to make the plugin compatible with mobile browsers — while it did require a few modifications to the basic code of the plugin, other than that it was mostly a matter of adding support for touch events. In reality, it turned out developing and testing a JavaScript UI component for mobile browsers is blood, sweat, and tears.

Maybe you’ve seen this picture, it popped up on my Google Plus feed a few days ago:

You might think, surely it can’t be that bad, it’s not that you have to own every single one of these devices, right? After all, there are simulators and stuff and you can do all the testing from the comfort of your desktop, can’t you?

Well, based on my experiences so far, maybe it’s not that bad, but it’s bad. For reliable results, you do have to test on real devices. While the iOS simulator that comes with the Xcode suite appears to be good enough for mobile web apps testing, the Android virtual device is useless. Its performance is a joke and makes it impossible to work with anything that requires UI responsiveness (such as my precious plugin). So, I’m testing with two real Android devices, one running version 2.2 and another running 4.2, and I hope the results are representative enough to generalize towards the overall population of Android devices out there.

In addition to that, mobile browser debugging tools are still immature. For the Android version of Chrome, there is a very good remote debugging utility, but no such thing exists for the default Android browser distributed with the system (or at least I’m not aware of such a thing). And although the two browsers should be pretty similar engine-wise (as they both use WebKit and are both made by Google), in my tests I did come across a bug that only manifested itself in the default browser and not in Chrome, and so was hard to track down.

I have also experienced funny things like bugs mysteriously disappearing without any changes to the code (and re-appearing later, naturally), strange HTML positioning problems, etc. At one point, when I was trying to reproduce some weird issue, repeatedly hitting that small screen and inventing brand new profanities, I realized that the last time I felt this level of frustration was in the dark ages of IE6. Yes, I mean it — mobile web development can be a horror comparable to dealing with IE6.


Sorry for the amount of whining in this post, I think I just had to vent. I survived IE6, so I’m not going to give up now, either. That release candidate is coming, I will keep you posted.

Another Update on imgAreaSelect

Sunday, March 31st, 2013

Here’s a little update on the development of imgAreaSelect version 1.0 with mobile browsers support, since people are inquiring about it every now and then.

I had a plan to release the glorious version 1.0 mid-March, and for a while it seemed everything was going in the right direction — I fixed my iOS testing setup (which is a VM running Mac OS X and the iOS device simulator), resolved some issues that came up, and found the plugin to be working nicely in both iOS and Android 2.x stock browsers. Then, for the first time I tried it in Android 4′s browser, and was greatly disappointed to see it being broken and pretty much unusable.

I’m not sure what is the cause of the issues, but it seems to be related to how touch/mouse events work in the newer Android browsers, and I’m slightly worried that fixing the problems might require a significant refactoring of the event handling code in the plugin. And it doesn’t help that debugging JavaScript on mobile devices is still a pain (though, I’m having some hopes that remote debugging might improve the situation).

All in all, I can’t say how much longer it’s going to take me to fix that and make a release. Nevertheless, I’ll keep working on it and will let you know how it goes.

SelectList 0.6.1

Tuesday, March 12th, 2013

A few days ago, I have put a new minor version of selectList up on GitHub and on jQuery Plugins site, and today I’ve also made it available for download here on my website.

This version is actually identical to the previous one (0.6.0), the only difference is that now the zipped distribution package on jQuery Plugins comes with the minified version, in addition to the full source code. I realized that, since the package is basically a snapshot of the GitHub repository, the minified file was not included, because I wasn’t keeping it under version control (it was only available in the distribution zip archives here on my site). Now that’s fixed, and you’ll be getting the full package from jQuery Plugins.

SelectList 0.6

Tuesday, February 19th, 2013

I released a new version of selectList, the multiple selection jQuery plugin. This version introduces jQuery 1.9 support, and you can get it from the project homepage, jQuery plugins (did I mention I’m happy the plugins site is back?), or from GitHub.

By the way, this release is the first one that I made with Grunt, the JavaScript build tool. My previous, homebrew solution for building jQuery plugins involved shell, Perl scripts, and Java, all duct taped together with a Makefile — and was exactly as horrible as it sounds. Grunt made the build process a lot more straightforward, and, hey, it’s all JavaScript now! If you’re a JavaScript developer, I wholeheartedly recommend you give Grunt a shot.

ImgAreaSelect 0.9.10

Wednesday, January 23rd, 2013

By popular demand, I’m releasing a new version of imgAreaSelect, with added support for the latest and hottest release 1.9 of jQuery. There was a number of significant changes in jQuery (made in preparation for the upcoming 2.0 version), like the removal of jQuery.browser, which turned out to be incompatible with the plugin.

Thanks to everyone who provided feedback, especially to Shane Shipston, who identified the problems with the new jQuery — this helped me roll out this update pretty quickly.

By the way, I noticed the jQuery Plugins website is back — I hope I’ll have enough free time in the next couple of days to get my plugins up on it.

ImgAreaSelect 0.9.9

Tuesday, November 27th, 2012

I have finally released the new version of imgAreaSelect, numbered 0.9.9, which is intended to be the last version in the 0.x line (the next one is going to be a glorious 1.0 release).

The new version fixes a few minor issues, and is tested to work with the latest version of jQuery (1.8.3). As always, lots of thanks to all the people that sent me feedback and helped me with debugging.

I also promised to give you an update on the mobile version of the plugin. Well, it’s in a somewhat stalled state. I can’t get back to really working on it, because my beloved testing environment went broken — specifically, I can no longer test on an iOS browser. Since I don’t own any iOS devices, I used to do testing on an iPhone/iPad simulator, on Mac OS X running on a VirtualBox virtual machine. But, on my new system, I can’t get the VM to work. I spent countless hours reconfiguring the machine, creating new instances and reinstalling the OS, but so far nothing worked.

Anyway, I’m still determined to get back on it and get the mobile version to a release state, so either I’m going to get this bloody VM to work soon, or I might just end up getting an Apple device (gasp!). I also considered building a Hackintosh, but this might lead to the same problems that I’m having with the VM — ain’t nobody got time for that.

Update on ImgAreaSelect

Wednesday, September 26th, 2012

I’ve received numerous e-mails in the past couple of days asking me when the new version of ImgAreaSelect will be released. I wanted to make that happen this last weekend, but, well, precious technology failed me. My laptop, which I’ve been using as a development workstation for the past few months, started overheating really badly, up to the point of becoming unusable. I’m waiting to get it fixed, and until then I have to use an old netbook that’s only good for e-mail and web browsing, so I have to take a little break from development.

Actually, I was going to take a break anyway — I’m on a short hiking trip from today until the end of the week. But, I hoped to roll out the new version of ImgAreaSelect before leaving for the trip, and the overheating trouble thwarted that plan.

The good news is, I managed to push some code to GitHub before the problems started. The current version in the master branch is the release candidate for 0.9.9, and it fixes one major issue with IE 9 and jQuery 1.8. I also created a separate branch for the mobile variant, and the code in that branch has basic support for touch events.

For now, please get those versions from GitHub, and I’ll make proper releases when I get back from the trip and sort out the problem with my laptop. I’ll keep you posted.

SelectList 0.5.1

Saturday, August 18th, 2012

I have just released a new version of selectList. It turned out the previous release that I announced a couple days back had a bug that broke the jQuery .val() method for regular (non-selectList) select elements and made it impossible to set their values. This release fixes that.

The bug was spotted and reported by James White — thanks!

I also used this as an opportunity to test the plugin with the latest 1.8 release of jQuery, and all the tests passed with flying colors (yay!), so version 1.8 is now bundled with the plugin.

SelectList with Bootstrap Flavor

Sunday, July 29th, 2012

While working on the latest release of selectList, I got the idea of making a Bootstrap skin for it. I’ve been using Bootstrap in a few projects lately, and I like the cleanliness and consistency of its UI design, so I thought it would be nice to have a version of selectList ready to be used with it.

I made a simple page demonstrating what I came up with. In case you’re too lazy to visit that link, here’s a picture:

The Bootstrap style CSS file will probably be included in the next release. For now it’s up on GitHub, so go get it from there if you’d like to use it. Any feedback is most welcome.

  • Archives

  • Categories

  • Meta

  • Latest Tweets

    Warning: Illegal string offset 'last_access' in /usr/local/www/ on line 334

    Warning: Illegal string offset 'time_limit' in /usr/local/www/ on line 334

    Warning: Illegal string offset 'last_access' in /usr/local/www/ on line 336

    Warning: Illegal string offset 'twitter_api' in /usr/local/www/ on line 234

    Warning: Illegal string offset 'user_token' in /usr/local/www/ on line 262

    Warning: Illegal string offset 'user_secret' in /usr/local/www/ on line 263

    Warning: Illegal string offset 'consumer_key' in /usr/local/www/ on line 264

    Warning: Illegal string offset 'consumer_secret' in /usr/local/www/ on line 265

    Warning: Illegal string offset 'twitter_username' in /usr/local/www/ on line 270

    Warning: Illegal string offset 'show_retweets' in /usr/local/www/ on line 272

    Warning: Illegal string offset 'exclude_replies' in /usr/local/www/ on line 275

    Warning: Illegal string offset 'twitter_data' in /usr/local/www/ on line 282

    Warning: Illegal string offset 'twitter_data' in /usr/local/www/ on line 350

    Warning: Illegal string offset 'twitter_data' in /usr/local/www/ on line 351
    Twitter outputted an error:
    Warning: Illegal string offset 'time_format' in /usr/local/www/ on line 484
  • Follow odyniec on Twitter