Free IQ Player updated!

The video player at Free IQ now supports Google Analytics and remembers your history!

We’ve just released a few new features for the flash player. For the user, we’ve added a “high water” mark showing furthest point in the video you’ve watched. For the web-site owner who embeds a FreeIQ video player on their sites, we’re now integrated with Google Analytics to help you understand how users are engaging with your video. Read on…

For the User

Say you start a video one Saturday afternoon and don’t get to watch all of it, or you’re watching a video and you rewind because you missed a bit of content. The high water mark helps you know where in the video you left off.

The image below shows a player where the user has watched up to about 3 minutes, but rewound to minute 1. The green vertical bar in the timeline helps the viewer return to finish watching the video.
freeiq_video_player_watermark.png

For the Hoster

If you embed a FreeIQ video player and use the free Google Analtyics solution, we’ll log entries to your analytics telling you how many folks start watching the video, completed watching the video, click through to your author page, etc.

Here’s the full table of events you’ll see in your analytics stream:

Log Entry User Action
/freeiqvideo/playstart/(video name) start the video
/freeiqvideo/playcomplete/(video name) finish the video
/freeiqvideo/authorinfo/(authorHomepage) view author tab
/freeiqvideo/outgoing/freeiqauthorpage/(authorHomepage) click through to author homepage
/freeiqvideo/outgoing/freeiqiqpon/(authorHomepage)/(iqponPage) click through to iqpon
/freeiqvideo/email/(video name) send a share email
/freeiqvideo/embed/(video name) get embed codes

You can opt out of this by sending the parameter “useGoogleAnalytics” as false in the embed code, and of course, if you don’t use Google Analytics, nothing undesirable will happen. If you use Google Analytics on your site, this will automatically appear in your reports. If you don’t, you may want to consider adding Google Analytics to your site, at which point, these will begin appearing in your reports.

So, to our users, happy viewing. To our web-site owners, dedicated stats on viewership of video on your site is yet another reason to use FreeIQ.

Read the full article at: the FreeIQTeam blog

Posted in work | Tagged , , , | Leave a comment

LinkedIn Evan Mullins Resume

I’ve joined LinkedIn the more professional Facebook. It’s a nice network for connections. It’s like an interactive resume. You can show all your experience and even receive/give recommendations or endorse colleagues. Well, here’s my LinkedIn profile.

View Evan Mullins's profile on LinkedIn

Posted in personal | Tagged | Leave a comment

Circle Cube on Free IQ

Embedded player from Free IQ.
Nicholsong song by Dionysos, Music Video by Circle Cube Studio

Posted in portfolio, work | Tagged , , , , , , , , , | Leave a comment

Free IQ Player Released!

Introducing our new Free IQ player! It’s got lots of new bells and whistles, and is the first player on the internet to directly incorporate e-commerce.



Let us take you through the tour of:

  1. Our new “scrub bar”
  2. Volume controls
  3. The playlist
  4. Full screen mode
  5. Author information
  6. IQpons



The term “scrub bar” refers to widgetry for moving back and forth in the video. Pictured in the middle of the bottom control bar, it shows you the elapsed time out of the total and the amount of the video loaded. Skip forward or back within the loaded area by simply clicking on the bar or even “scrub” through the video by dragging the handle.







Click the volume icon for interactive volume settings and a mute button inside the video panel.







Full screen is one of our most exciting features! Get ready for Free IQ immersion!

The text in the middle of the screen tells you that you can press ESC to exit full screen. The player control at the bottom disappears after a few seconds and re-appears when click on the screen.







Select among related content with the playlist. Note the presence of our estimation of the quality of the content through your input, ReviewRank.







Click the graphic of a person to access the author panel and learn more about this content’s author and jump to his homepage at Free IQ.







With the IQPon, you can hire a Free IQ author for direct consultation! Anyone can create an IQpon product at Free IQ, so put your expertise to work today.







For authors who are not offering consulting services, this button is replaced with Share — the broadcast icon on the far right of the control bar.





From Share, you can get code to put the video on your page, or mail to a friend. This is available in the tabbed widget from Author Info or Playlist as well.

Thanks to Andy Beard for the his writeup of Free IQ today. His core complaint about our player, an inability to get to the product page, is now resolved. You can reach the authors homepage from within the Author Info tab, or the homepage of the currently playing video from the FreeIQ logo on the control bar.

What This Means To You

These improvements have advantages for you, no matter how you use FreeIQ:

As a user – you get an improved user experience, with more viewing options and the ability to easily find out more information on the author or the subject.

As an affiliate – you get more sales, because viewers are more likely to click through to content, the author’s site, or FreeIQ in general. Plus, with ecommerce enabled in the player itself, you’re more likely to get a sale!

As a content provider – users are more likely to watch your video all the way through and to click to your site. Plus, full screen mode makes it so that screen-capture-type videos are more readable, so the learning experience you provide is enhanced.

We think you’ll find this new viewer to be a very cool step forward. We’d like to hear your reactions too by adding a comment below! Try it out with one of the links below:

Stay tuned!

Visit the Free IQ Team blog to read more at freeiqteam.com!

Posted in portfolio, work | Tagged , , , , , , | Leave a comment

Dynamic Flash Vertical Scrolling Link List with XML

As seen at activeden. I’ve fixed it up a lot and made it much easier to incorporate into your own files.

A link list. Vertically scrolling list of links or just words. Scrolls and wraps automatically and interactively. Reads an external XML file containing just titles and paths and creates an interactive click-able link list!

[kml_flashembed publishmethod="dynamic" fversion="9.0.0" movie="http://circlecube.com/wp-content/uploads/2007/08/linklist.swf" width="550" height="500" targetclass="flashmovie"]

Get Adobe Flash player

Download the source files (linkList.fla, cats.xml, linkList.swf): Link List at activeden.

Other Circlecube Items at activeden

21075 24687 45713 45893 22018

Posted in portfolio | Tagged , , , , , , , , , | 12 Responses

Mazamedia Splash

The new splash is in effect for Mazamedia’s 5th anniversary!

I just re-vamped Mark Callahan’s splash on his Mazamedia.com
Re-vamped as in made interactive innovative and fun. I was just playing with different effects and wanted to see it in action, so I applied it to Mark’s splash intro. He liked it so much he wanted to put it live on his site. That’s cool with me, thanks Mark.

New Version – The letters are anchored to their spot, but use the mouse to push or nudge them. You can also drag them try throwing them even.

Get Adobe Flash player

Vs the old static version

Get Adobe Flash player

Posted in portfolio, work | Tagged , , , , , , , | Leave a comment

Rollover elastic bounce rezise

Flash experiment that could be used for navigation. Rollover each area and watch them all resize themself to accomodate the growing box. It’s pretty fun to play with.

Example

Get Adobe Flash player


I’m sure there is a way to simplify the code, but this worked so there was no need.

Actionscript

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
import mx.transitions.easing.*;
import mx.transitions.Tween;
var normWidth:Number = mc_1._width;
mc1x = mc_1._x;
mc2x = mc_2._x;
mc3x = mc_3._x;
mc4x = mc_4._x;
mc_1.onRollOver = function ():Void  {
//Tween( obj:Object, prop:String, func:Function, begin:Number, finish:Number, duration:Number, useSeconds:Boolean )
//Double in size
var mc1Width:Tween = new Tween (mc_1, "_width", Elastic.easeOut, normWidth, normWidth * 2, 1, true);
mc_1.gotoAndPlay("over");
//Shrink by 33% and move 66% along using width
var mc2Width:Tween = new Tween (mc_2, "_width", Elastic.easeOut, normWidth, normWidth * 2 / 3, 1, true);
var mc2X:Tween = new Tween (mc_2, "_x", Elastic.easeOut, mc2x, (mc2x) + (normWidth * 2 / 3), 1, true);
//Shrink by 33% and move 33% along using width
var mc3Width:Tween = new Tween (mc_3, "_width", Elastic.easeOut, normWidth, normWidth * 2 / 3, 1, true);
var mc3X:Tween = new Tween (mc_3, "_x", Elastic.easeOut, mc3x, (mc3x) + (normWidth * 1 / 3), 1, true);
//Shrink by 33%, no need to move as already in position
var mc4Width:Tween = new Tween (mc_4, "_width", Elastic.easeOut, normWidth, normWidth * 2 / 3, 1, true);
//trace("rollOver 1");
};
mc_1.onRollOut = function ():Void  {
//Return to normal width
var mc1Move:Tween = new Tween (this, "_width", Elastic.easeOut, normWidth * 2, normWidth, 1, true);
mc_1.gotoAndStop("up");
//Return to normal width and use mc_1 as basis for x
var mc2Width:Tween = new Tween (mc_2, "_width", Elastic.easeOut, normWidth * 2 / 3, normWidth, 1, true);
var mc2X:Tween = new Tween (mc_2, "_x", Elastic.easeOut, (mc2x) + (normWidth * 2 / 3), mc2x, 1, true);
//var mc2X:Tween = new Tween (mc_2, "_x", Elastic.easeOut, mc_2._x, mc_1._x + (normWidth*2), 1, true);
//Return to normal width and use mc_4 as basis for x
var mc3Width:Tween = new Tween (mc_3, "_width", Elastic.easeOut, normWidth * 2 / 3, normWidth, 1, true);
var mc3X:Tween = new Tween (mc_3, "_x", Elastic.easeOut, (mc3x) + (normWidth * 1 / 3), mc3x, 1, true);
//Return to normal width
var mc4Width:Tween = new Tween (mc_4, "_width", Elastic.easeOut, normWidth * 2 / 3, normWidth, 1, true);
//trace("rollOut 1");
};
mc_2.onRollOver = function ():Void  {
//Double in size and move left 33%
var mc2Width:Tween = new Tween (mc_2, "_width", Elastic.easeOut, normWidth, normWidth * 2, 1, true);
var mc2X:Tween = new Tween (mc_2, "_x", Elastic.easeOut, mc2x, (mc2x) + (normWidth * 2 / 3), 1, true);
mc_2.gotoAndPlay("over");
//Tween( obj:Object, prop:String, func:Function, begin:Number, finish:Number, duration:Number, useSeconds:Boolean )
//shrink by 33% mc1
var mc1Width:Tween = new Tween (mc_1, "_width", Elastic.easeOut, normWidth, normWidth * 2 / 3, 1, true);
//var mc2X:Tween = new Tween (mc_2, "_x", Elastic.easeOut, mc_2._x, (mc_2._x) + (mc_2._width*2/3), 1, true);
//Shrink by 33% and move 33% along using width
var mc3Width:Tween = new Tween (mc_3, "_width", Elastic.easeOut, normWidth, normWidth * 2 / 3, 1, true);
var mc3X:Tween = new Tween (mc_3, "_x", Elastic.easeOut, mc3x, (mc3x) + (normWidth * 1 / 3), 1, true);
//Shrink by 33%, no need to move as already in position
var mc4Width:Tween = new Tween (mc_4, "_width", Elastic.easeOut, normWidth, normWidth * 2 / 3, 1, true);
//trace("rollOver 2");
};
mc_2.onRollOut = function ():Void  {
//Return to normal width and position
var mc2Move:Tween = new Tween (this, "_width", Elastic.easeOut, normWidth * 2, normWidth, 1, true);
var mc2X:Tween = new Tween (mc_2, "_x", Elastic.easeOut, (mc2x) + (normWidth * 2 / 3), mc2x, 1, true);
mc_2.gotoAndStop("up");
//Return to normal width and use mc_1 as basis for x
var mc1Width:Tween = new Tween (mc_1, "_width", Elastic.easeOut, normWidth * 2 / 3, normWidth, 1, true);
//var mc2X:Tween = new Tween (mc_2, "_x", Elastic.easeOut, mc_2._x, mc_1._x + (normWidth*2), 1, true);
//Return to normal width and use mc_4 as basis for x
var mc3Width:Tween = new Tween (mc_3, "_width", Elastic.easeOut, normWidth * 2 / 3, normWidth, 1, true);
var mc3X:Tween = new Tween (mc_3, "_x", Elastic.easeOut, (mc3x) + (normWidth * 1 / 3), mc3x, 1, true);
//Return to normal width
var mc4Width:Tween = new Tween (mc_4, "_width", Elastic.easeOut,normWidth * 2 / 3, normWidth, 1, true);
//trace("rollOut 2");
};
mc_3.onRollOver = function ():Void  {
//Double in size and move left 33%
var mc3Width:Tween = new Tween (mc_3, "_width", Elastic.easeOut, normWidth, normWidth * 2, 1, true);
var mc3X:Tween = new Tween (mc_3, "_x", Elastic.easeOut, mc3x, (mc3x) + (normWidth * 1 / 3), 1, true);
mc_3.gotoAndPlay("over");
//Tween( obj:Object, prop:String, func:Function, begin:Number, finish:Number, duration:Number, useSeconds:Boolean )
//shrink by 33% mc1
var mc1Width:Tween = new Tween (mc_1, "_width", Elastic.easeOut, normWidth, normWidth * 2 / 3, 1, true);
//var mc2X:Tween = new Tween (mc_2, "_x", Elastic.easeOut, mc_2._x, (mc_2._x) + (mc_2._width*2/3), 1, true);
//Shrink by 33% and move 33% along using width
var mc2Width:Tween = new Tween (mc_2, "_width", Elastic.easeOut, normWidth, normWidth * 2 / 3, 1, true);
var mc2X:Tween = new Tween (mc_2, "_x", Elastic.easeOut, mc2x, (mc2x) + (normWidth * -2 / 3), 1, true);
//Shrink by 33%, no need to move as already in position
var mc4Width:Tween = new Tween (mc_4, "_width", Elastic.easeOut, normWidth, normWidth * 2 / 3, 1, true);
//trace("rollOver 3");
};
mc_3.onRollOut = function ():Void  {
//Return to normal width and position
var mc3Move:Tween = new Tween (this, "_width", Elastic.easeOut, normWidth * 2, normWidth, 1, true);
var mc3X:Tween = new Tween (mc_3, "_x", Elastic.easeOut, (mc3x) + (normWidth * 1 / 3), mc3x, 1, true);
mc_3.gotoAndStop("up");
//Return to normal width and use mc_1 as basis for x
var mc1Width:Tween = new Tween (mc_1, "_width", Elastic.easeOut, normWidth * 2 / 3, normWidth, 1, true);
//var mc2X:Tween = new Tween (mc_2, "_x", Elastic.easeOut, mc_2._x, mc_1._x + (normWidth*2), 1, true);
//Return to normal width and use mc_4 as basis for x
var mc2Width:Tween = new Tween (mc_2, "_width", Elastic.easeOut, normWidth * 2 / 3, normWidth, 1, true);
var mc2X:Tween = new Tween (mc_2, "_x", Elastic.easeOut, (mc2x) + (normWidth * -2 / 3), mc2x, 1, true);
//Return to normal width
var mc4Width:Tween = new Tween (mc_4, "_width", Elastic.easeOut, normWidth * 2 / 3, normWidth, 1, true);
//trace("rollOut 3");
};
mc_4.onRollOver = function ():Void  {
//shrink in size and move left 33%
var mc3Width:Tween = new Tween (mc_3, "_width", Elastic.easeOut, normWidth, normWidth * 2/3, 1, true);
var mc3X:Tween = new Tween (mc_3, "_x", Elastic.easeOut, mc3x, (mc3x) + (normWidth * - 3 / 3), 1, true);
//Tween( obj:Object, prop:String, func:Function, begin:Number, finish:Number, duration:Number, useSeconds:Boolean )
//shrink by 33% mc1
var mc1Width:Tween = new Tween (mc_1, "_width", Elastic.easeOut, normWidth, normWidth * 2 / 3, 1, true);
//var mc2X:Tween = new Tween (mc_2, "_x", Elastic.easeOut, mc_2._x, (mc_2._x) + (mc_2._width*2/3), 1, true);
//Shrink by 33% and move 33% along using width
var mc2Width:Tween = new Tween (mc_2, "_width", Elastic.easeOut, normWidth, normWidth * 2 / 3, 1, true);
var mc2X:Tween = new Tween (mc_2, "_x", Elastic.easeOut, mc2x, (mc2x) + (normWidth * -2 / 3), 1, true);
//double in size, no need to move as already in position
var mc4Width:Tween = new Tween (mc_4, "_width", Elastic.easeOut, normWidth, normWidth * 2, 1, true);
mc_4.gotoAndPlay("over");
//trace("rollOver 4");
};
mc_4.onRollOut = function ():Void  {
//Return to normal width and position
var mc3Move:Tween = new Tween (mc_3, "_width", Elastic.easeOut, normWidth * 2/3, normWidth, 1, true);
var mc3X:Tween = new Tween (mc_3, "_x", Elastic.easeOut, (mc3x) + (normWidth * - 3 / 3), mc3x, 1, true);
//Return to normal width and use mc_1 as basis for x
var mc1Width:Tween = new Tween (mc_1, "_width", Elastic.easeOut, normWidth * 2 / 3, normWidth, 1, true);
//var mc2X:Tween = new Tween (mc_2, "_x", Elastic.easeOut, mc_2._x, mc_1._x + (normWidth*2), 1, true);
//Return to normal width and use mc_4 as basis for x
var mc2Width:Tween = new Tween (mc_2, "_width", Elastic.easeOut, normWidth * 2 / 3, normWidth, 1, true);
var mc2X:Tween = new Tween (mc_2, "_x", Elastic.easeOut, (mc2x) + (normWidth * -2 / 3), mc2x, 1, true);
//Return to normal width
var mc4Width:Tween = new Tween (mc_4, "_width", Elastic.easeOut, normWidth * 2, normWidth, 1, true);
mc_4.gotoAndStop("up");
//trace("rollOut 4");
};

Download

Here is the source file: rolloverResizeEvan.fla for those who want.

Posted in portfolio | Tagged , , , , , , , , | 4 Responses

Free IQ Web Designer & Flash Developer

Starting my new position at Free IQ this week! I’ll be doing Web Design, Flash Design/Development and anything between. Actionscript, Flash, HTML, CSS, Javascript, Graphic Design etc…
I’ve been hired expressly to revamp the flash video player they have. They assure me that there will be a plethora of interesting tasks to keep me busy as well. I’ll post significant updates as the player gets massaged and fleshed out!
free iq beta

Posted in portfolio | Tagged , , | Leave a comment

The Mullins Family Bluegrass Songbook

Mullins Songbook Cover

I made this Bluegrass Songbook. 50 Songs including lyrics, melody line, TAB melody for guitar and chord charts for guitar, mandolin and banjo. Many folk, gospel, mormon and family songs. Songs included are:

  • Abide With Me Tis Eventide
  • All Over The World
  • Amazing Grace
  • Battle Hymn Of The Republic
  • Blackbird
  • Chim Chim Cher-ee
  • Come Thou Fount Of Every Blessing
  • Come Come Ye Saints
  • Count Your Blessings
  • Cruella De Vil
  • Did You Think To Pray
  • Do Lord Remember Me
  • Do What Is Right
  • Down By The Riverside
  • Drifting Too Far From The Shore
  • Farther Along
  • Give Said The Little Stream
  • Go Tell It On The Mountains
  • God Be With You
  • Happy Family
  • House of the Rising Sun
  • How Great Thou Art
  • I Am A Child Of God
  • I Need Thee Every Hour
  • I Wanna Be Like You
  • If You Chance To Meet A Frown
  • I’ll Fly Away
  • I’m So Glad When Daddy Comes Home
  • In The Leafy Tree Tops
  • Israel Israel God Is Calling
  • Just A Closer Walk With Thee
  • Let Us All Press On
  • Let Us Oft Speak Kind Words
  • Oh My Father
  • Onward Christian Soldiers
  • Precious Lord
  • Take My Hand
  • Rocky Top
  • Salty Dog
  • Scarborough Fair
  • Shady Grove
  • Swing Low Sweet Chariot
  • Teach Me To Walk In The Light
  • The Bare Necessities
  • There Is Sunshine In My Soul
  • Turn Your Radio On
  • We Are All Enlisted
  • What A Wonderful World
  • When The Roll Is Called Up Yonder
  • Where Did You Sleep Last Night
  • Zip-a-dee Doo Dah!

Product Details:
Printed: 108 pages, 8.5″ x 11″, perfect binding, black and white interior ink
Or
Download: 108 pages, 8.5″ x 11″, color PDF

Visit the product page at Lulu.com

Posted in personal, portfolio | Tagged , | Leave a comment

Pinewoods Community 2007 Health Seminar Series Website

2007 Summer Health Seminar Series to be held at Pinewood Estates North Library.
Krista Mullins, a Health Promotion and Behavior student is coordinating the seminars as a part of her internship experience with UGA’s International Public Service and Outreach department. Four seminars are planned throughout the summer on health issues for the latino community such as: diabetes, blood pressure, HIV/AIDS, and school immunizations.

I did the site design with Dreamweaver using html and css.

Pinewoods

Click to visit!

Posted in portfolio | Tagged , , , | Leave a comment
  • Recent Posts

    speaker-lineup

    Presenting at WordCamp Atlanta – Child Themes

    The presentation? Your firstborn child theme. Child themes 101+2. I’m speaking at wordcamp atlanta this afternoon about themes and child themes. I’ll update this post with post-presentation notes. Learn how to mod themes the right way. Using child themes you won’t loose your edits when there’s a theme update. (101) We’ll go over the advantages [...]

    hooks-nutshell

    Hooks, In a Nutshell – WP Daily

    I’ve published another article over on wpdaily.co exploring the concept of hooks. I remember when starting out that people kept mentioning hooks and filters and actions and… it took a while to grasp what they each meant. I think the first time I started to grasp it was when I read the codex and saw [...]

    speaker-lineup

    Speaker at WordCamp Atlanta 2013

    I’m excited to be speaking at WordCamp Atlanta again this year! The time is quickly approaching for WordCamp Atlanta 2013, March 15-16. I spoke last year and discussed the process of going from Photoshop PSD to WordPress Theme, here are my slides and notes for that WordCamp Presentation. This year I’m speaking along the same [...]

    many-theme-options

    WP Features: Theme or Plugin

    Reading my wpdaily.co updates today and saw this post talking about WordPress theme features. Eric explains the debate: Generally-speaking, the conversations have always circled around features: There are those that believe every feature you could ever imagine should be included like text color, font selector, and more. On the flip-side, there are those that feel [...]

    Packery Preview, from Metafizzy & descended from Masonry

    David Desandro / metafizzy, maker of masonry and isotope of which I’m a big fan and user of has been busy with a new project called Packery. Packery, looks to be a child of Masonry. As you would expect it seems to be pushing things much further and addressing a few pain points of masonry. [...]

    trent-walton-thumb

    On Going Responsive (responding to Where to Start)

    I needed to write this up about going responsive in response after reading Where to Start (by Trent Walton of Paravel) about getting started with responsive web design. Thanks for sharing your thoughts Trent, I agree whole heartedly. In my experience it is the same. I wanted to share his post and also add my [...]

  • Recent Comments

    Evan Mullins

    Evan Mullins

    The keystore is used for creating valid apps that are associated with the author. It is not...
    Rohan Dave

    Rohan Dave

    I am new in android and have certain question about KeyStore. Is KeyStore used in user...
    arpit

    arpit

    very useful thank you …..
    Duan

    Duan

    @ugh You’re joking, right? I do some basics in Flash, but come on – all you do is...
    Cátia Vala

    Cátia Vala

    Thank you so much Evan! That’s great! Keep going with your amazing work. :)
    zproxy

    zproxy

    thanks :) i bet its faster to google and find some ad hoc documentation than the other way.