Shift8 Creative Graphic Design and Website Development

flash

Agile Uploader Now on Github

Posted by Tom on Mon, Aug 01 2011 22:10:00

Agile Uploader is now available on Github! I've decided to release the source code for the project after a long while and careful thought. The reason? I simply can't continue to maintain it. The tool does exactly what I was after and quite well for my needs. While I still will use other upload tools, when it comes to needing to resize images that users upload (namely photographs, typically off SD cards), it does the job perfectly.

However, the tool was falling short of some (maybe 10%, or less, of the comments I received) user's needs. I briefly went over some of my research involved with building the tool before, but I don't really want to make anyone work hard to get from A to B. So I'm going to give everyone B and if you want to get to C...Then, by all means, go for it. Smile

You can find the project here on Github. Please fork it and feel free to leave feedback. I can't promise that I'll be working on it much more, but I will fix any major bugs. I hope that people can add features that will help others out there.

A note for what you're looking at...You are looking at a FlashDevelop project. In the normal "bin" directory, where the SWF file is output to by default, I also included all the demos for the tool. Most importantly is the agile-uploader-3.0.js file. This is the jQuery plugin that I built and bundled with Agile Uploader. This directory structure leaves a bit to be desired I know, but it should give you everything you need. Please reference the jQuery plugin along with comments in the source code of the Main.as file. The tool really works by Flash's ExternalInteface communication of Flash <-> JavaScript. You don't need to use jQuery, but you'd need to write your own JavaScript to use Agile Uploader if you didn't...Or if you wanted to write your own custom jQuery too of course.

You can work on Agile Uploader with the Flex SDK and FlashDevelop. The tool is built completely upon open source code.

Enjoy!

Screen Sharing & Virtual Meetups

Posted by Tom on Fri, Apr 22 2011 08:34:00

Geek conferences. Smile Well, perhaps "trendy" conferences that all us web developers are always wanting to go to. Or...Meetups...But darn, that meetup and that conference they are half way across the country. It costs so much money and takes so much time. If you're lucky your boss might pay for you to go (as well they should for the value!). Though, probably that won't happen so you miss out. 

Well, that's where I believe in recording and slideshare, etc. However...That's only so useful. This is 2011 God damnit, where's my hover car and sexy computer lady voice that I can talk to when I'm lonely?! Ah, the Ballmer peak got to the best of us...Or maybe not. We actually do have many great examples of technology. We finally have tablets (again), but now that hardware is better they are actually somewhat cool. We have a lot of good web software too and don't forget the cloud. The problem is, you have to hunt for some of this awesome tech...And so, I've found something very noteworthy.

OpenMeetings.de is a great site (and open source project) that uses red5 to provide online meetings and presentations. Ok, yea there's AdobeConnect and Webex and all those other guys...However, they don't have quite as many features and they mostly all require some special software to download and have some problems. Typically most of those services run better on Windows as well. However, the most problematic thing is they all cost money. Lots of money. It's hard for open source communities that have little or no funding to afford these services so...They don't. You end up with conferences that try to get sponsors to cover the costs and you end up with wikis and slideshare and IRC chat rooms. Don't get me wrong, all that is still needed...But I think we should have somewhere to turn for virtual meetups.

OpenMeetings doesn't give you live screen sharing like most other services (and before I forget, join.me is another great mention). The screen sharing is actually a series of screenshots updated fairly frequently. Certainly frequently enough to show a presentation. Almost enough to show live typing, but I think that's enough for the needs of a meeting. Furthermore, you can actually record the whole event to later download as an AVI or FLV! In addition to this very elusive feature (RDP and RFB have been around for ages, yet it's still hard to find good free solutions apparently), it also provides video and audio communication via your web cam and microphone. It also provides text chat and a whiteboard. You can give control to other users and allow them to share their screens and video/audio as well.

open meetings on a tabletIt certainly appears to have all the features that one could need. It also has a few other goodies like polls but the most important feature, aside from the sharing parts, I think is the fact that you can plan meetings on a calendar and then invite people. However, how easy is it to use? How well does it work? From what I tested, it's very compatible and pretty easy to use. In fact, it's so compatible that it also worked on my Android 2.3 tablet! You obviously couldn't share your tablet's screen and it didn't recognize the webcam on my tablet, but it definitely worked as a viewer. The resolution being a bit lower than an actual computer made it a little hard to read text but you could see the shared screen and whiteboard. Further, you could actually interact with the whiteboard. Drawing on that with your finger was definitely fun. The speed was fair, again I don't think the whiteboard is 100% real time, especially due to how it renders when you first load it (it seems to replay all the actions). However, it works. Virtual meetings, virtual classrooms, here we come!

Note: Oh, and if anyone from 10gen is seeing this, YES that is a MongoDB mug in the background, I went to an actual conference to get to have it only break on me day one as I cleaned it...I can still use it, as long as I don't pick it up by the handle. You still owe me a mug, especially for entering that contest last month! It was a lot of typing...What does a guy have to do to get a mug? I've even now made a product/brand placement for ya. Smile

Agile Uploader 3

Posted by Tom on Sat, Jan 08 2011 13:50:00

I'm pleased announce, after a few days of really focused work, I've released a new version of Agile Uploader. For those who haven't seen it before, it's a Flash client side resize before upload, multiple file upload tool. Why another multiple file upload tool? Well, swfupload and flash file uploader and uploadify and plupload and all the others (too many to mention) work great and all (and believe me, their authors do a great job and it's not easy and the tools do work well), but they didn't quite do what I needed. First off, several of those I just mentioned don't have client side resizing for image file types. What I mean by that is Flash can scale and re-encode new jpeg files that can then be uploaded to your server rather than having your server do the resizing. Obviously this helps with hosting costs, site scalability, and for those using shared hosting. Second, Agile Uploader is fairly lean and extremely customizable. Agile Uploader allows you to customize how things look and function with regard to what type of files you allow and how you want it to resize images (if at all).

Agile Uploader ScreenshotAgile Uploader asynchronously resizes and encodes images so you can keep attaching more files while it's working. The tool has a bunch of other options as well as a tight communication with JavaScript. I wrote a jQuery plugin to accompany the tool, but you could write your own JavaScript should you choose (or alter the jQuery plugin). Flash will pass to a defined JavaScript function various event data as it does its job. In fact, you can control just about every facet of the upload tool right from JavaScript. The only thing you can't use JavaScript for is the "browse" or "attach" button, it's against ActionScript's security rules sadly. However, you can customize the button that appears in the swf by specifying the path to your own image(s). You can also send the form via JavaScript if you wanted to automatically or on some event (like a button or link click). 

Documentation for this new version is on the way, there's been a lot of changes since version 2.x. It's become a lot more organized and simplified now. One of the long awaited features includes the ability to select multiple files at the same time. While the tool always uploaded multiple files at the same time, the user had to click the button to browse for each file one at a time. So the user experience has improved quite a bit along with a few minor bug fixes. 

You can see more about this tool, and a working demo, on the Agile Uploader project page.