Category Archives: RIA

category

My First Barcamp

So I’ve been making noise on the 360|Stack twitter account and wanted to mention here too. Since Adobe canceled MAX this year I’m trying a barcamp called 360|MIN. We normally do an unconference inside Adobe MAX called 360|MAX, this is a play on that concept.

Unlike 360|MAX which can’t be a true unconference/barcamp, 360|MIN can be just that. Folks will gather pitch topics they want to present and the audience will vote. Those in attendance will create the conference they want.

To make sure we’ve got the tone and vibe right I’ve got a few folks lined up as basically anchor speakers. Check out the details and the line up here. If you’re in the web stack space, this is how you should spend your October! Oh yeah and it’s in Las Vegas!

What a stupid AIR problem to have

Lately I’ve become very fond of the expression “This is a stupid problem to have”, the other night I got to use it in relation to AIR.

I’m working on a tool to view (hopefully) live survey data for when we have booths at conferences. We’ve come up with a simply iPhone survey, and want to be able to see the data in, more or less, real time.

I’ve been working on it, largely at the office, checking the code into SVN when I’m going to work from home. At some point in the last few days, I ended up with Flex Builder 3.0.2. Probably my best friend Adobe Updater.

The other night, I wrapped up at the office, checked in all my code, went home, fired up Flex Builder. When I went to test the app, ADL fired up, then immediately vanished. weird. Tried a few more times, still no joy. Restarted Flex builder, restarted my Macbook, nothing. Checked to make sure my Flex Builder was up to date, it was.

After finally giving up, I check back at work, app runs. Then I check to see if that Flex Builder was up to date. It wasn’t, 3.0.1, so I updated. Ran the app. ADL vanishedright after launching.

I decided to run the app in debug, see if that revealed anything. It did sorta. The message was just about useless, something to the effect of “The app crapped out before the debugger could connect”

I say just about useless, since it was enough to lead me to Cameron’s blog, where he mentioned an error he had gotten. It wasn’t the same error, but since I had just moved from 3.0.1 to 3.0.2 and AIR 1.5 had recently been released, I figured I’d check it out. Sure enough in my app descriptor it was set to 1.1 for AIR.

Now I certainly don’t need Adobe to hold my hand, but really, maybe just a few more descriptive error messages, shoot I’d take a message that gave me a few possible causes that I could run down on my own.

Why make things harder than necessary? What a frustrating waste of a night, just because Flex Builder and ADL couldn’t suggest I check my app descriptor.

Timetracking challenge, complete!

And the winner is!

Harvest!

What brought Harvest in for the win? Namely the free acct, since I don’t do enough concurrent projects the price for the basic was bit steep at this time. But more than that, the iPhone/iNewton interface was nice, and the invoicing, superb.

Freshbooks invoicing was my biggest sticking point. Getting a PDF to attach was a PITA. I had to email myself the invoice as my client, which then presented a link to a PDF. Why I couldn’t just invoice and safe off as a PDF I dunno, but I couldn’t so that pushed Freshbooks out.

Apple Dashboard widgets are nice, I tried a few that were Freshbooks or Harvest friendly. Hated them all. I don’t hardly ever use my dashboard, so remembering to go in and stop a timer was a PITA.

The one thing I did like about Freshbooks, was a little pop up timer. Harvest has timers, but their in the site. Freshbooks allowed me to pop up a tiny window with the timer in it. that was I have to admit, very very handy.

So Harvest it is. NO regrest at this point, I’m very happy with it, I hope at some point to have enough reson to pay for it, because it is worth paying for if you’re a bigger player than I am, LOL.

Oh and the fact that Danny Wen, has commented here, and emailed me to help me with what I didn’t know about Harvest. That kind of thing goes a long way with me. It’s how I run 360Conferences, so I appreciate that level of dedication to the customer.

Great Degrafa preso at the RMAUG last night!

I was able to make it over to The Hive last night to see Juan “the hard core super star Degrafa Guy” Sanchez present Degrafa at the RMAUG. I just made up that name, but it fits, so he’s welcome to it if he likes.

Dave and company have a new home at The Hive, which is a very sweet co-working facility here in Denver.

Juan’s session was well timed, i had spent a good chunk of the day figuring out how to skin a link button. Turned out livedocs was spot on with it’s example (go figure). But after watching Juan skin a button, I was wishing we had Degrafa in the project I’m on. I did think about using it, but figured that was a decision to be discussed before I committed a whole new library of code.

So my solution, worked well enough, but the Degrafa way is killer.

In a Skin file…

<code>

<fills>
<SolidFill
color=”#936″
id=”myFill”/>
</fills>

<geometry>
<RoundedRectangleComplex
state=”upSkin”
width=”{awidth}”
height=”{aheight}”
bottomLeftRadius=”10″
bottomRightRadius=”20″
topLeftRadius=”15″
fill=”{myFill}” />
<RoundedRectangleComplex
state=”overSkin”
width=”{awidth}”
height=”{aheight}”
fill=”{myFill}” />
</geometry>

</GraphicBorderSkin>

<code>

There’s some AS at the top, but that’s the jist of stateful skinning of a button. degrafa FTW!