Session Survey update

I'm really enjoying working on this thing, I really hope other conference organizers can take it and 1. make it better, and 2. make use of it for their events. If for no other reason, than to stop using so much paper.

I've been working on it a lot this week, while I figure out what I want to do next. I've incorporated Rich's UpdateManager so that deploying new versions of the session Survey will be WAY easier!

I've also updated the DB to support multiple events, so now in the configuration file you can specify the ID of the event (among other things) so reusing the app is much easier, with much less coding.

Speaking of config files, I've beefed it up a bit. It started out just holding the location of the backend server, and such. Now you can give your app a title, point to a specific DSN name in your backend, and tell the app where to look for updates.

You can also tell when you're online or off now. There's a little icon that changes from green to red depending on network connection. Network status really confused a lot of people who submitted several not realizing they were offline, and the app not providing proper feedback about saving online. It does that now too.

I'm pretty happy with it and am working with Sim to get it hosted, trac'ed, etc so folks can start submitting bugs, enhancements, etc I'm really hopeful that this app can help Greenify conferences, and improve the feedback we can provide to speakers. Using this tool, Tom and I gave our 360|Flex Atlanta speakers feedback in just about a week of the conference ending, w00t!

 

Stay tuned for the official announcement.

What's the best way to Open Source a project

I'm still working on cleaning up the Survey app to release to the Open Source Community. I'm putting in a few more features I think it should have as a minimum set, but I'm curious. What's the best way to release?

SQL scripts? Dummy data?

I'm leaning towards just SQL scripts. The Dummy data I would provide would be Conference days, Time slots, things like that.

This being my first time putting something out into Open Source, I'm curious what the best approach is.

Any help would rock, I'm hoping that I'll be able to upload it to RIAforge next week sometime. Fingers crossed!

SQLite and AIR apps with Cairngorm

Having never done any SQLite stuff prior to the session survey, building it was a definite learning experience.

The hardest part of building with SQLite I think, is working with existing data. Writing data for later retrieval, cake. retrieving "offline" data, that was a bit more labor.

To start, populating the SQLite DB, isn't fun. I bought an off the shelve tool, SQLite Manager, that I like a whole lot. It supports SQLlite 2 and 3.

I'm not sure, but I'm guessing it's the nature of SQLite files, that once you've created the table and started working with it, making changes to structure, ain't possible.

I suppose since it's a flat file of some sort, making structure changes once populated, wouldn't be possible, but still a pisser. LOL.

Make sure when you create your "offline" tables, you know what you want.

For the survey app, we needed users to be able to still pick a track, and still pick a session from that track.

 

Tom and I ended up making our Cairngorm commands dual prupose. Getting on and off line data. Detecting whether the user is connected as a simple matter of implementing a URLMonitor to ping our site.

The command, looks for our global "am I online" var, and if we're not online, executes the SQLite functionality.

 

In order to make the commands as loosely coupled (for lack of a better term) to being on or off-line, we made the SQL result handler, call the command's normal result. From there the result() looks to see what type of result it's getting, since delegate sends a different type of result Object, than the SQL connection does. From there, it's a matter of formatting the data and storing it.

Our execute() looks like

if (model.networkConnection)
            {
                var delegate:SurveyDelegate = new SurveyDelegate(this);
           
                delegate.getTracks();
            } else {
                var connection:SQLConnection = new SQLConnection();
                var dbFileString : String = "360Survey.sqlite";
               
                var dbFile = File.applicationDirectory.resolvePath(dbFileString);
               
                connection.open(dbFile);
                var sqlQuery:String = "SELECT trackID, trackTitle, trackShortName FROM tbl_tracks";
                dbStatement.sqlConnection = connection;
                dbStatement.text = sqlQuery;
   
                dbStatement.addEventListener(SQLEvent.RESULT, onRetrieveDataResult);
                dbStatement.addEventListener(SQLErrorEvent.ERROR, onDBError);
   
                dbStatement.execute();
               
               
            }

Then the result() does the "what did I just get" logic.

public function result(data:Object):void
{
    trace('[GetTracksCommand] - Result');
    var resultData:ArrayCollection = new ArrayCollection();
    var tmpAC:ArrayCollection = new ArrayCollection();
        
    if (data.hasOwnProperty("result")) {
        resultData = data.result;
        } else {
            resultData = new ArrayCollection(data.data);
        }

I was a bit worried that it would be harder to build a connection aware application, especially since Tom and I didn't really start writing code, until about 2 weeks out from Atlanta. There's still a few things to re-factor in the code, and get cleaned up, but I think when we put this app out into the Open Source domain, other conferences will be able to easily modify it to their needs, they'll need a CF backend, unless they want to replace the CFCs with .NET, PHP or Java whatever, but hey, it'll be a starting place.

 

 

 

 

360|Flex Session Survey App

I'm looking for some ideas on what everyone would like to see in the Session Survey. Give me your ideas...

So I'm spending some of my down hours while I work on my next gig working on the session Survey App.

Our launch during the conference went ok, a few bugs, nothing too bad. Now it's time to clean up and enhance. I'm thinking we'll try to get it to a nice 1.0 place, and then put it up on RIAforge. I wanted to put a few more security measures, and user experience enhancements.

I also wanted to get anyone's input on what they'd like before it goes, Open Source.

I'm working on validating Attendee ID, so we can minimize crap data. Then I'll work on setting your ID into a shared Obj for persistence, maybe just us SQL Lite? I dunno.

I'm also going to improve the user feedback, when the app is working in "offline mode" maybe a cool status light or something? Also will make sure the save complete dialog shows up in both modes, not just 'online'

Besides those three things, what would ya'll want in a survey app for conferences?

If you're an attendee, let me know what you think of the app, no holds barred. I know it's rough, shoot! Tom and I worked on it off and on just the last week or two leading up to the Conference. You know the saying about the mechanic having the crappiest car.

I'm excited to get it buttoned up enough to put up on RIAforge, it'll be my first OS project... yippy! I'm really hoping others will jump in to help improve conferences of any type.  Part of the release will include the DB design, you'll need to create your own SQL lite DB for offline mode, with your own data, sorry, can't give out our attendee info.

It's not too late to show off your mad skills at 360|Flex

The API contest is up and running, you ain't even got to be there to win, though, we'd sure like to meet you if you do win!

The contest site is pretty straight forward; build a cool app, upload or link to it, explain it, tell us what API you used.

It's that simple! Next week, we'll roll out the voting portion of the app, let everyone vote on the app(s) they like. We'll announce the winners at 360|Flex Atlanta.

There's all sorts of cool prizes, and categories, take a look here. Plus all those cool sponsors are running their own contests, so you can enter your app in more than one, none of that "one entry per household crap." LOL.

We've got no limitations on our contests, but the sponsors do, so make sure if you plan to enter their contests too, check the rules.

Flex and AIR Pre-release tour tonight in Denver

If you're in the area, come take a look, should be a cool event, lots of schwag, lots of people, should be fun.

Details here.


Kevin Hoyt will be on hand, giving some great demos.

 

SEE YOU THERE!

 

New Flex Show this morning

if you haven't downloaded the newest episode you should, it's the January news episode and has the new co-host, go check it out.

January Denver Flex user group Meeting Reminder

January 8th will be the next meeting of the Denver RIA Developer Group (DFUG)

The location is still being worked out. Denver is a bit tricky to set up FUG meetings. go figure.

Jeff Barr, an Amazon Web Services Sr. Evangelist will give a talk on AWS including EC2 and S3.

Agenda: 5:30 – 5:59 Networking and Dinner 6:00 – 7:29 Main Topic and Discussion 7:30 – 8:00 Open Discussions

This meeting is sponsored by: TBD

This will include: MTurk: Mechanical Turk SQS: Simple Queue Service S3: Simple Storage Service EC2: Elastic Compute Cloud

(a) some thoughts on where Amazon sees computing headed
(b) a drive-by tour of their service lineup
(c) some sort of demo: perhaps setting up EC2, customizing an AMI, or sometimes code

 

RSVP and sign up here.

Any thoughts on places to meet? Drop a comment and let me know.

360|Flex atlanta is up and running

Tom and I have been working hard, implementing what we learned in Seattle, as well as what our customers told us in "the survey". From there we created the next iteration of 360|Flex.

Atlanta is going to be great! Greater than Seattle!

We're getting some great speakers lined up, and are proud like you can't believe that many of our past attendees are signing up to speak. Sure when they speak they get in for free, but it's great to be encouraging people to become more active in the community; give back, share knowledge. We'd let everyone in for free if everyone wanted to share... well maybe not everyone, since we need to pay some bills, but you get my meaning. 

It's great to be back in active planning mode. For all the stress that comes with this, it's truly fun and once the day of hits, rewarding. Shaking each attendees hand as they pick up their badge. Having a few drinks with the sponsors and speakers at the welcome dinner. That's all great!

If you haven't experienced 360|Flex yet, do some googling, you'll see lots and lots of rave reviews, you should make it out to Atlanta! We promise it won't be a wasted trip!

One of the cool things for me this time. NO PAPER SURVEYS!!! Tom and I decided that those just suck! We'll have a few since in San Jose we made like 7,000 copies, but we'll be rolling out a survey AIR app. Sitting in  the session taking notes, fire up the app, fill it in, hit save. Not online, we're gonna implement the build in SQL Lite goodness to save responses until you are online. Cool huh! I'm stoked to build this thing since it'll be my first crack at the data persistence stuff. Can't wait. Of course, like I said, if you wanna fill out the paper surveys, go for it. They'll be here.

The added bonus of the AIR survey, will be that we'll have to hire less temps, which means more money for cool stuff for attendees. That's a win for everyone.

See ya there!

While I wait for my buddies at Cruxy to finalize a payment API...

I think I'll build a Flex app, or maybe AIR, I really do like the deskop metaphor... maybe I'll do a Flex app with an Air version? Anyway, I'll be building a little tool for managing your goodreads account. They've got an API (i just discoverd) so it should be fun. They've got a few widgets already, a facebook one, and a simple blog badge. I think it'd be fun to have a little app I can log my latest read into or put up a review...

 

I haven't been very diligent about keeping my account up to date, mainly because I forget to visit the website... an App might make that a little easier.

360Conferences VideoLibrary... close, still not pretty

the 360Conferences Video Library app is getting close. I haven't tested with anything buy paypal, but you can now browse our content, and purchase a session. I haven't handled downloading the content directly from the app, you still have to use the email that is sent to you to get the actual media file. That's next on my list.

I haven't skinned it yet, that'll probably be last. I'm thinking I'll play with some UX stuff too, make the experience of browsing the content a little cooler. Plus since we offer bulk license downloads, each session is listed twice. I'll pull the bulk licenses out and make them an option on the media player screen.

Take it for a spin (make sure you're running the latest AIR Beta)

More Entries

BlogCFC was created by Raymond Camden. This blog is running version 5.5.1.