Blinksale l A Contractors Best Tool

November 10th, 2006

I was introduced to this product today by Robert Hoekman, Jr. I am amazed that I have never stumbled upon it.  For independent contractors, invoicing can be a nightmare and a pain. Creative brains just don't think about administration. Not to mention, most contractors are freelancing so I'm sure dealing with administrative parts of a project are not what they would like to be doing during "off" time. 

Now I join those who have found the solution. 

Blinksale is a subscription based web-application for money management online. It is the IDEAL tool for contractors who know the headaches associated with Quicken and MS Money. I own those, but maybe used them for a day – too many features that I just don't need.  

Highlights 

  • Simple registration that was clean and enjoyable (almost)
  • Intuitive invoice creation
  • Clean , attractive CSS invoice layouts
  • I created an invoice and have a client record for my next invoices in – 3 minutes. Yup, 3 minutes.Then I was able to sync the due date with iCal.

I am impressed with the invoice delivery system. I like the idea for the link back to Blinksale to organize and encourage others to learn about the product. Viral at its best – for direct use to targeted people who would be interested in using the product. 

I'm looking forward to seeing how payments are tracked and this assists during tax season. I even may peek into the API a bit that they have made available – it's always nice to tie in great products where you can.  

Blinksale is free to use if you send three or fewer invoices a month. Paid plans range from $12 to $49 a month, depending on the number of invoices you plan to send out. The paid plans allow for customized templates (using CSS), more users, more invoices, more clients, etc.

 

 

XMPP and Flex… at MAXUP

October 9th, 2006

Will you be attending Adobe MAX in Las Vegas this year? I will be giving a 15 minute capabilities presentation at MAXUP, a contribution based "unconference" designed to get people involved and share their ideas and work.

"The Adobe MAX conference showcases Adobe software. MAXUP will allow designers and developers and to showcase their work created with Adobe tools in Barcamp format. "

This is hosted by Ted Patrick and Mike Potter… 

 

 

AMF3 offers much tighter integration with JAVA

September 12th, 2006

I sat down to play around with some of the data binding utilities in AS3 as it relates to building custom components and got completely distracted by some of the new "toys" Adobe has given us in Flex Data Services.

I wanted to test out some of serialization capabilities in AMF3. I must say, I was very excited by the result.  As it turns out, any class on the Java side that implements java.utils.Collection (ie. ArrayList) gets converted to mx.collections.ArrayCollection  when it comes over the wire.

Also, you can map your VO classes to Java VO classes and send your strong typed objects back and forth. Gone are the days of the layer of abstraction and the conversions necessary when sending complex data types over AMF!

Java UserVO:

    package com.flexRemotingTest;

    import java.util.*;

    public class UserVO implements java.io.Serializable{
        public String firstName;
        public String lastName;
        public ArrayList buddies;
       
        public UserVO()
        {
            this.firstName = null;
            this.lastName = null;
            this.buddies = null;
           
        }
        public UserVO getInstance()
        {
            return this;
        }
    }

 

Mapping your UserVO on the client side to UserVO on Java side using RemoteClass meta-data. 

 

 

As you can see, the result is a strong typed object UserVO! No casting or re-deserialization! 

 

 

Woohoo! the buddies property of type Java ArrayList mapped to ArrayCollection… making it component ready! the values of the ArrayCollection are of type UserVO.

 

 Just update your model with the UserVO instance… i cast it here but you dont have to as it is already cast.

 

And voila'! Any components bound to your model data are updated! 

AVM2 Socket added to XIFF Library

September 7th, 2006

I added flash.net.Socket to the XIFF library. It allows you to use AVM2's built in Socket support to connect directy to the xmpp server without the need for XML Socket.

The benefits of this are:

1. Performance increase… Socket writes directly to Flash's memory and removes the need for an abstracted XML Socket connection.

2.  Removes the "null byte" issue Flash has with talking dirrectly to Socket servers. In theory, xiff should now be able to talk to any xmpp socket server without any unique Flash support (ie. hacks to the server)… provided there is a security policy for -or- the swf is hosted on the exact same domain that the server runs. It will be much easier to get an administrator to put a policy file on their server than to get them to hack it to support a Flash XML Socket connection.

Next I'll tackle the HTTP binding support! 

Both the demo and the bot are now running on the new Socket connection. See it here.

ActionScript3 XIFF Alpha Demo – New *Bot*

September 5th, 2006

Well I quickly realized that joining a chat room with no one there was not an effective way to test the library. Even though I am generally on my computer 20 hours a day, it's not all the time..

There will now be a "bot" automatically added to your roster when you register on the server. If it starts to get on your nerves, just message "quiet" to him and you will not receive any new messages.

Debugging

Please post any comments for bugs that you find on the alpha… It will assist in the early library release. 

 The library post is located here. Check out the demo- 

FWA article: “Hybrid” Flash Developers

September 5th, 2006

The FWA was kind enough to offer to publish an article today on a concept that I have always taught/impressed upon other developers. It's based on the different types of flash developers and how a "hybrid" flash developer can advance in the industry by sharpening skills and also alleviate the oh so common rift between designer and developer. 

Check out the article –

Hybrid Flash Developers: A unique species

In case you are not an avid FWA visitor. You should be -  The site has really reshaped itself as main site to get motivated and see intelligent, creative uses of Flash from around the world. 

Websites awarded site of the day or month are judged for various criteria broken down this way - 

  • Design 40%
  • Navigation 25%
  • Graphics 15%
  • Content 15%
  • Personality 5%

 

It's easy to submit your work to see if you stack up to the global competition.  

The FWA is currently celebrating the 10 year anniversary of Flash by allowing visitors to vote for the most influential flash project each decade. Be sure to get your vote in here. 

  

NEW ActionScript 3 XIFF Version – for Flex Builder 2 projects with XMPP

September 1st, 2006

Spice up your Flex Builder 2 projects with XMPP, using an newly ported ActionScript 3 version of XIFF 

–>If you would like to skip to the Flex demo of the messenger just go here.

A few months ago I started working on a complex RIA that required an instant messenger type component.  We decided to use Flex Builder 2 and ActionScript 3 to developer the application. I quickly realized that with ActionScript 3 being so new (in terms of official release) that there was no real standardized way to add the component. So I started exploring different options, weighing the benefits and drawbacks of various technologies. Licensing cost, scalability, reusability, maintenance and standardization were among the main criteria I used to come to an effective solution.

Where I landed was a bit of a hybrid. I decided to utilize Jabber for the textual component of the software.

"Jabber is best known as "the Linux of instant messaging" — an open, secure, ad-free alternative to consumer IM services like AIM, ICQ, MSN, and Yahoo…" from Jabber

Combine this with Flash Media Server for the video chat and you have a solid messaging platform. (FMS integration is out of the scope of this blog but I am sure I will be documenting my experience with it at a later date.)

In order to satisfy the business needs of this project I needed to combine

-the built in Flash XML socket functionality;

-a standardized xml specification called xmpp (Jabber);

-an open source server that supports this specification (Wildfire server in 
 my case);

-and an open source xmpp api called XIFF.

The only rub, XIFF was currently in beta and written in ActionScript 2.

XIFF is a Flash API for instant messaging and presence using the XMPP protocol. The main developer, Sean Voisen had a solid, object oriented library from which to start an AS3 port.

I decided it made more sense to take an existing well written library and port it than start from scratch. Given that this library is protected by a limited GNU license it also meant I would be giving something back to the Flash community, which, has been an immeasurable asset to me over the years.

I teamed up with a super talented developer, Derrick Grigg and got to work. Let me tell you, converting a large library of AS2 code to AS3 is no small task. The rules for AS3 have definitely changed. All the methods that pulled null results and thus silently failed are silent no more! You’ll quickly see the reason for “try…catch…finally” as there is nothing silent about a failure in AS3. The support for runtime errors is huge and ultimately makes a library like this much more stable. The prototype decoration that solved for multiple inheritance issues… not supported (I say that, knowing full well there is a way to do it… it's just not pretty). AS3 loves using the inheritance chain the way it was intended.

So now that the new AS3 library is (almost) available, here are some summary stats..

Features:

XIFF includes an extension architecture that makes it easy to add functionality for additional protocol extensions, or even your own special-needs extensions. There are quite a few extensions already included in the library, giving it support for the following functionality:

• XML-RPC over XMPP (JEP-0009)

• Multi-user conferencing (JEP-0045)

• Service browsing (JEP-0030)

• XHTML message support (JEP-0071)

Compatibility:

The following are servers that are known to work with XIFF and Flash:

Wildfire (http://www.jivesoftware.org/wildfire)
• Jive Messenger (http://www.jivesoftware.org)
• Antepo OPN Server (http://www.antepo.com)
• OpenIM 1.2.1 (http://www.open-im.net/en/)
• JabberD 1.4.3 (http://www.jabber.org)
Jabber, Inc. XCP (http://www.jabber.com)

With the feature and compatibility set, here are some common uses and ideas. 

Possible uses:

• Adding instant messaging to your projects. This includes nifty features like presence information, multi-user conferencing support, XHTML message support, Flex data enabled roster handling and so on.

• Live communication of any kind, including live tech support, admin communication, and anything that requires a live response from an admin side.

•Creative advertising… use your imagination.

• The general ability to be able to “push” content to your visitor, rather than depending on them to “request” it.

This library is currently in alpha. As soon as there has been a bit more testing we will move it to beta and release the source.  Check out a Flex demo of the messenger here.

//nick

velloff.com 

 

 multi-user chat

multi-user chat  

single user chat

personal messaging

xmpp and flash actionscript 3

September 1st, 2006

I am currently working on a port of the xiff library to AS3. This library was originally coded by Sean Voisen http://www.voisen.org/.
If you want any info about the current library go to http://www.jivesoftware.org. This library is protected by the "GNU LESSER GENERAL PUBLIC LICENSE, thus you will have access to all the source when it is complete. I will be posting a flex demo soon at http://www.velloff.com.

This library can easily be used to built chat clients among other xml socket based communication. It is a cheap alternative to Flash Media Server as there are a number of open source servers out there that support XMPP. Jive Software's Wildfire  supports Flash player's socket nuances right out of the box, and is a breeze to set up. 

flex 2 is pretty dope, as an AS3 editor…

August 31st, 2006

well i have to say i gave flex a really close look. as a mac user i installed parallels, bought xp pro and installed the flex trial. something about flex just doesnt “compute” for me. it just feels too much like something one(not me) could pull of with dhtml and ajax. as someone who really believes the impact of a site lies in the design and “feel” of the site or application, i really cant get into the mxml world quite yet. yes, i know you “could” pull off just about anything using flex with a load of actionscript… but why? rapid development? sure. my problem with this is that nothing i have ever done or seen done well online was “rapid”. i was explaining some of the new developments in flash to a developer i used to work with… he said “At the end of the day.. it’s all written in C”… well, i said “sometimes it’s not the tool but what you do with it.” that is my main problem with flex… i feel it may not force, but definitely promotes mediocre work. now let’s get to the good part of flex… eclipse. while i may not be willing to use flash components and flex, i really appreciate the effort put into the eclipse plugin for actionscript projects. beautiful work. the documentation is superb. the debugging and project management options are on par with any platform i have seen… svn, introspection, hinting… its just flat out great. i will be using flex for all future projects… but i wont be touching mxml for now…

nick

www.velloff.com 

flash developer crisis realized

August 31st, 2006

in response to the recent Advertising Age article

Digital-Talent Dearth Breeds Crisis

“Crispin thought it had its man, a digital producer experienced in getting integrated programs out the door. He was a West Coast freelancer with about six years of experience, perfect in every way but one: He was demanding $400,000, roughly what he's pulling in as a hired gun."

In response to the article, Digital-Talent Dearth Breeds Crisis, I think some of the questions that need to be asked are:

Who is responsible for the rising costs for top talent? Who is responsible for the demand? It’s true there are not enough good flash developers out there and not enough in training. The advantage is wonderful to talented developers. Great that the crisis is realized – but not great as some developers disguise themselves as rockstars and in turn are not.

“Salaries are soaring, perks are proliferating and promotions are pouring in."

Who is raising salaries? Employers. Who is poaching developers – agencies. It is starting to feel almost like the patterns at law firms – E-mails and phone calls, expensive trips and promises of an immediate new job at an agency working on prestigious brands. The fact is – all agencies are alike. Sure some have a better reputation and corporate culture, but for top talent, you’ll still work 18-20 hour days.

Now here’s the kicker. If a developer chooses to freelance just one or two projects offered from recruiters knowing at their door. This way the developer helps the agency get out of a bind and does a great, fast project for them. If that developer was never involved in the budgets and account related things for a project, he/she just found out how much their hard work, and loss of time with their family is earning the agency. The realization is that they just found out that in 2 weeks they can make about ¼ of your yearly salary.

So if the developer is just that good – personable, and can get the job done. Why stay at an agency? In fact my theory is as such – agencies all keep asking for full time developers. So if a top flash developer were to jump from shop to shop they now have culture readjustment, training and admin (health care set up, payroll et al) costs and its possible they still wont get work done at the office. The small thing many executives never realize is that developers – develop in private and many at night, at home. Once you obtain this developer, you announce it to the trades - in come the recruiters to try to steal that person away. More pressure and temptation. Next the developer instead of adjusting , is studying the shop and it’s corporate culture : are people in cubes, offices or is it more of a warehouse space? Is everyone at the office transient? Do employees see new people coming and going constantly? Is gossip and corporate getting in the way? uh – yes! (as a side note the AKQA DC office has the best corporate culture I have ever seen)

So why not contract that person. I know it is hard to share in the prestige of the project, but that’s what NDA’s are for – and many contract developers will sign them. This way the agency allows the developer to know the team just enough… not fully so that your internal issues/drama are getting in the way. If you have a great agency image, chances are the contractor will still feel that in working project based. Now you just created a loyalty and got exactly what you wanted – high end, blow your mind flash work that makes the brand win awards and in the end earns you more security with the clients contract. Now you have someone who will move mountains to be available to work for you all the time.

My final point is that I do not agree with this comment at all.

"Moreover, pricier Flash developers and interactive art directors are driving up production costs considerably, something marketers will be forced to consider when creating interactive budgets."

Do you remember the taste that developer got by doing a few contract projects. Well, they were told that the budget for a banner was $25,000 – they never imagined that would be right. The agencies and brands educated them about the proper prices. If you are willing to pay for a great contractor – doesn’t it benefit you in the long run? Think how much it takes to train and set up that person. Then think – “Hey, we didn’t have to turn down that project. And we did such a good job, we’ll probably get more business from it.” The market pricing has been set NOT by the developers – but by the industry as a whole.

When people ask me the hourly rate – I say, come on – who has an hourly rate anymore? I was an account director, I know we just use that to show some form of rationality and calculation. But hourly rates is not the way interactive shops calculate work. If the brand or agency is known for paying well – you flex the rate. I once saw a small local company pay $85,000 for someone to make logos and do a huge study on creating them. The designer did the logo the first night and then just sat back and let his team do all the “exercises.” There is rarely an honesty in pricing out these projects and no one knows what will be accepted when you bid. It’s so hard to bid for projects these days because you really aren’t necessarily looking at the work anymore.

The following factors are the real way projects get estimated these days, contractor or agency alike – The Approach

1. look at the level of intensity of the work.

2. look at the state it is coming to you in – art prep, etc.

3. look at the brand/agency – how many revisions will they have, how much communication time

4. pull from prior knowledge about rates this brand pays – because trust me if you go way too low you are thought to not be a great developer

5. quality of time – what else do you have on your plate, is it worth it – will I miss my wife’s birthday

6. do you like the people/brand (this has huge pull. If we like working with you for sure we’ll break our backs)

Come up with a median rate based on those 6 objectives – but know that all that matters is the scope of the project and the timeline in which we can get it done. To be completely honest, I find it shocking that some agencies will pay 25K for one week of banner work, and another will pay that for 3 months of work. To me it continues to show that there are no standards to this market and it is somewhat appauling. The best thing to do is be honest in what you think the rate should be. The good thing about contractors is that they aren’t all about profit margins. They want to do inspiring work that pays well. The agencies want to make profits and cover overhead.

So in conclusion – I am glad this article came out. I would like for the agencies to see that when they keep commenting that no one is loyal – it is because of the constant recruitment. I think that contracting and staffing up top talents for projects is a good idea if you have a dependable great developer. I’ve heard contract horror stories – and thankfully never witnessed them first hand.

I also fully support the need for inhouse staffing – contracting everyone would be ridiculous.

I support CD's and ECD's guiding a brand and a team – not slaving over the actual production. Hire some overhead and charge for it – it will help you in the long run and you will stay on track with the brand direction. I believe interactive should be given the same credit as broadcast – in fact, soon it will reach more eyes.

But in the long run, contracting your top resources could save you money and earn you more work in the long run.

Just my two cents –