Check out our new training course on AngularJS for Flex Developers

Get my Training Course on AngularJS for Flex Developers

I've spent a lot of the past year putting together a training course on AngularJS for Flex Developers. Today is the release day.

The base of this are two books that work together, one builds an application in Flex. The next builds an application in AngularJS. I found that this was a great way to compare and contrast the two technologies. The main books are available under a pay what you want scheme; however I put together a lot of extras including bonus articles and a full screencast series.

Check out the packages; and choose one that works for you. You can use the discount code 'jhblog' to get a 10% discount.

Why You Didn't Hire Me

I started writing this post a few years ago; after I failed to come to terms with a new client. I finished it for September's Flextras/DotComIt newsletter. I realized that I seem to pass on more opportunities than I take on. Part of the problem is me, of course, because I can be picky about the type of work I take on. But, there does seem to be a common thread running through these rejections. This newsletter collects my thoughts on why I wasn't a fit for the project you wanted to hire me for.

How I Work

Before going into why we didn't come to an agreement, I thought I'd explain how I usually work. There are usually two different approaches I can take to a project contract: either by the hour, or by the project. I'll explain a bit about each approach.

By the Hour

Working by the hour means that the client pays me for each hour I work for them. This includes everything from meetings, email management, documentation, system maintenance, and writing code. Some important aspects of an hourly contract:
  • They are great if a client wants to get me in the door to have me start working as quickly as possible.
  • They are very flexible and allow for a constant change in requirements, priorities, and focus. This is good for the client because it allows for a fluid approach to development.
  • The deliverables are delivered when they are ready, and functionality usually comes in small, quick chunks.
  • If the client wants to manage me as one of their resources, then this is the way to go. Usually we have weekly planning session to discuss the progress made and the plan for the week. I expect that the client is involved every step of the way; and will direct where my efforts should go. This gets a very tight feedback loop and the client and problems can be addressed quickly.
  • The client can terminate at any time, usually with minimal commitment.
  • The client is responsible for managing the budget and schedule; and none of the responsibility is passed onto us. I will provide a client with weekly breakdowns known as time sheets that they must approve.

Some of these items are considered 'double edged' swords. The fluid nature of development means we often code for speed and not architecture elegance. It is tough for the developer to budget our time and finances without said commitments. Some clients are more comfortable by limiting their own commitment.

By the Project

Working by the project contracts usually means with a fixed fee. The client hires the developer for a specific period of time for a specific amount of money to complete a specific scope of work. Some aspects of a project contract are:

  • They are great for a client working within a fixed budget or under a deadline. This is also good for both the developer, who gets guaranteed work and the client who gets a guarantee on the project being complete in their limitations.
  • The budget is all inclusive, which means every aspect of our time is included in the budget.
  • A project plan is created, which will include fixed milestones with detailed descriptions of functionality. The down side of this is that this requires a lot of paperwork up front in order to define the scope. Sometimes it is hard for a client to create the documentation in enough detail needed to code something.
  • Changes to the focus or priorities can be very costly; and require additional paperwork. When changing a fixed fee bid; we have clients sign a change request that includes a description of the changes, the additional cost, and the new timeline.
  • We act as the project manager and balance our own time, budget, and development tasks against project milestones. This relieves the client of some responsibility, but the client usually gets more functionality in a single deliverable than they would in an hourly contract. Milestones are often 2-8 weeks apart.

A lot of developers don't like working on fixed fee bids; and I can understand why. The requirements are very rarely carved in stone and often change. It is tough to manage those changes in the context of a project bid. I, personally, love fixed fee projects because, like many small business owners, I like to look out at least three months ahead to see that we have a plan.

Reasons we Couldn't Come to Terms

Understanding the two approaches that I can take to project development, here are some of the reasons why I often don't come to terms:
  • No Contract: Some clients have insisted that we work without having a contract in place. A contract will define the terms of the full relationship including payment terms, code ownership, lawsuit liability, termination terms, and what one party can do if the other party is in default. I like to have the contract in place to avoid any ambiguity. In my early days it was to make sure I could get paid. These days, it also makes sure they can't claim ownership on work I do not do for them.
  • Intellectual Property Rights: Ownership of the project's output is a big deal for many companies. They want to make sure they own the project and source code, and are able to maintain it without coming back to us. They also want to make sure that the source code I provide them is not violating the IP rights of any other organizations or developers. This is all fine. However, I have seen IP clauses are too over-reaching for my tastes. I am very careful not to transfer ownership to the client of anything I do not build for them. I maybe building something for other clients; or I may be writing newsletters like this one, or I may be creating podcasts, or creating for my own projects, such as Flextras. I am very careful not to transfer ownership of everything I create.
  • Work with Jeffry Houser, not DotComIt: I've lost projects because I only work through DotComIt. Some people insist I must personally sign contracts as an individual instead of as a representative of DotComIt. I never do that. Issues such as insurance, liability, and accounting all go through DotComIt. As a compromise; I may suggest a 'key person' clause to the contract which says I will be the primary contact, or developer, on a client's project.
  • Mixing Project types: I don't like it when a client tries to mix our two approaches to development; and I'm undecided if that is me being inflexible or not. I have had clients request explicit deliverables in an hourly contract. Sometimes hourly contracts includes a limit on the amount of hours worked; so a list of deliverables could put me in a position where I am contractually obligated to complete said deliverables without pay. I do not want to be in that situation. Likewise, I have had clients request an hourly breakdown in a fixed fee project. I understand the client doesn't want to pay me for time I am not working, but in such cases, they should focus on the bottom line, functionality, and delivery dates. The micromanagement gives me a pause.
  • Non-Compete: I understand that a client doesn't want to hire me and then have me steal their client list, or source code, and use it to help, or become, a competitor. However, some non-competes are more far reaching than that. In one contract, with a web development firm that wanted to subcontract work out to me; a clause said I couldn't work in a similar industry. I feel every client I had before and after them would have violated that clause. Another contract had a guarantee I had not worked for any of their clients two years prior to signing. Without their client list; how could I make that promise? I'm fine with a company protecting their proprietary information, but I'm very careful not to sign away my right to continue to do what I do.
  • No-Advance: I always like to ask clients for an advance at the start of the project. Some clients insist on not paying anything until they have the final results, and that is a red flag for me. I do not want to spend weeks, or months, building something only to find out the client can't, or won't, pay. For fixed fee projects; I am usually able to successfully negotiate some type of an advance. For hourly projects, I am not always so lucky.

Any contract with a client will have a dozen different little things that will cover the working arrangement with the client. Usually many of these things are no-issue or easily dealt with, but the items above are the main reasons why I often walk away from a contract.

Final Thoughts

I'm curious to hear about experiences of others. What are some of the problems you've had when working with clients? At what point do you decide it is time to pass on this client and move on?

360|Stack is the rebranded 360|Flex.

I am buried in my man-cave lately, focusing on writing a book about converting a Flex app to other technologies. I wanted to pop my head out for a second to let you all know that I'll be speaking at the 360|Stack conference coming up in the beginning of August.

360|Stack is the old 360|Flex conference, but it has a slightly different name.

I'll be giving an inspirational presentation entitled "How to Fail Fantastically." I'll be talking about my various business ventures, such sa The Flex Show and Flextras and DotComIt and probably some you had never heard of.

Even if that doesn't excite you there is plenty of real technical content covering everything from Google Glass to more JavaScript frameworks than you can shake a stick at.

I have an extra ticket that I'm undecided what to do with. I'm thinking maybe some type of contest?

Do Marketers Care About Interacting with You on Social Networks?

An associate recently posted a question onto her Google+ wall about how marketers are using social networking. I wrote up a long winded response--for a social network--and decided to share it here too.

First, the question:

Seen on a mailing list recently:

"It's been really discouraging to see how quickly social media has taken its place next to SEM, email marketing, and all the rest as just another broadcast channel with a revenue goal and ROI attached to it."

Do you agree or disagree?

I generally agree, but sometimes it depends on the company.

Here are a bunch of random--and true--examples:

If I speak to VirginMobile on twitter; it is always canned/stock answers. Such as when I asked if they'll get any Windows Phones; the response was something like "we don't have any announcements regarding future phones". It was very formal.

I've liked "Jakes Wayback Burgers" on Facebook because it is my favorite "fast food" burger place in my town. If they respond to interaction at all--which is rare--it usually only positive interaction. For example when I asked Wayback Burger why they were giving away an iPad 2 in a promotion instead of the "latest and greatest model" that was ignored. But, I have them respond to other queries such as "What time does X store open". Very fact based and no personality.

On Twitter, I complained about MX Energy salesman showing up at my door. Seriously, I am sick of these people. I actually posted a sign on my front door that says "no soliciting, especially from MX Energy" They ring my bell less but that sign has not curbed it completely. I didn't even know MX Energy had a twitter account until they followed me. They were was no response to my complaint, no attempt to communicate me, no apologies for the constant interruptions. In fact, I'd say MX Energy is the company I hate most in the world--although Wandisco is trying really hard for that top spot.

Since I brought up Wandisco; let me talk about them. They just bought SmartSVN from the company that owned it. I love SmartSVN and it is the best SVN client I've used. So, I've been a happy customer for many years. I did not receive promotional mailings from the SmartSVN folks--until Wandisco bought them. Now I get emails all the time. I have unsubscribed from their mailing lists using the Unsub" link in their emails. Yet, I Still get emails. I have emailed them back, complaining, but got no response. I have flamed them on Twitter and that did get a response. I have to admit that response was human and personable and swore to me that the issue was a mistake on their part and promised to get the issue fixed.

Fine, mistakes happen. But, when you tell me it is fixed; I want it to be fixed. I'm still getting emails from them; despite multiple times of being promised it would be fixed. After the my last twitter tirade; I got a personal apology emailed to me, promising that this time it was really fixed. I'm impressed they followed up. But, five days later I got another round of promo emails from them. Obviously the issue is not fixed. The point has almost become laughable now. I imagine them as a big corporate company with lots of bureaucratic overhead and no one knows what anyone else is doing. The person who is managing their twitter account (and/or emailing me) is probably promising things they can't deliver on--such as getting my email removed from every copy of their list.

Moving away from Wandisco..

If you take a look at "known" bands such as Toad the Wet Sprocket or Soul Asylum; all the communication is one way. When Dan Murphy left Soul Asylum there were weeks of speculation on their message boards before the band finally responded with a Twitter sized response.

When Wadjet Eye Games (my favorite Indy Adventure Game Publisher) posted on Facebook that they were looking to do auditions for voice overs for their next game; they did not respond to the 3-5 people who asked for more details. If they weren't going to respond; why did they post an announcement on Facebook?

When Lake Compounce--a local amusement park--asked what people liked best about their season pass; I responded with some snark about how the Halloween attractions were an extra charge. That comment was quickly deleted. Instead they could have apologized for the inconvenience.

On the flip side of things; not all companies [or bands] are bad.

The GeekDesk twitter account is amazingly personal. Pretty much any tweet I make regarding my GeekDesk is responded to directly. when I casually mentioned that the desk was making weird clicking sounds when going up and down they offered to open a ticket for me via twitter. That is not the first time they've done something similar for me. Clearly someone there gets it. I cannot recommend GeekDesk enough. It is the best desk I ever owned.

When I tweeted a "recording" of a recent Bowling for Soup show the lead singer responded from his personal twitter account to thank me for sharing. And then he followed my twitter account details to my blog and used it to email me to ask if he could re-purpose the recording. How cool is that?

So, that's my brain dump. Some good; some bad. My perception is that there is more one-way interaction than communication. It's a shame because social networking for companies had a lot of promise.

Quit My Job: Twelve Years Later

While randomly surfing the Internet, I came across a blog post entitled, Quit My Job for Consulting: Two Months Later and it made me smile. It was late September in 1999 that I left my full time job. That led to the formation of DotComIt; and I am entering into my thirteenth year of being on my own. Steve Klein's post inspired me to share some of my thoughts on the experience; hopefully from a more experienced perspective.

I wrote up this post for the monthly Flextras newsletter and thought I'd repost it here.

How Do You Define Yourself?

A favorite game in my family is Scrabble. I have siblings scattered throughout the US and it is rare that the whole group of us end up in the same room together. Some of my fondest memories are sitting around the coffee table in my parent’s living room on Christmas playing Scrabble. The games can become lovingly cutthroat and it is rare I am on the winning end. My elder brother once pointed out to me that I lost because I always looked to create cool words, without devoting thought to the point value of said words. That sentiment has become a defining factor in my life and career. I often look for cool work even though they are not always the most profitable.

Part of the life outside of a traditional paycheck is to figure out what you want to do, and then figuring out to get a way for people to pay you to do it. (That’s probably not a bad approach even if you’re after a traditional paycheck, either). The process isn’t easy, though. I think the hardest part is figuring out what you want to do.

I am a Technical Entrepreneur! To me, that means I want to create products and services that use technology to solve problems. I get high on process automation and love it when I can do things to help make my clients more efficient and effective in their respective profession.

Over the years I’ve been given many different roles. I’ve been called a small business owner, a consultant, a contractor, a subject-matter expert, and someone who will shovel shit for money. The work associated with some of those labels isn’t always satisfying. I strongly suggest you take your own time to define your identity before someone else does it for you. Then search out clients—or employers--that fit the identity you want to create for yourself; and you’ll find projects that will make you happier and more productive.

Don’t Ignore the Business!

When you’re not employed by a company, then you’re running a business. It may not feel like, especially if a recruiter had placed you as a full time consultant working on-site with a client, but even then you’re still a business. I’ve seen a lot of great programmers start consulting, only to quickly go back to being full time workers at the first opportunity. I always got the impression that they do not treat their activities as running a business; and are shocked at the amount of time the “business stuff” is taking. This extra responsibility is one of the key tenants of Steve Klein’s post. In this newsletter, I’m going to share some of my thoughts on two areas of the Business stuff: including Finance and Marketing.

Let’s Talk about Money

You’ll have to be careful when it comes to money. You will have clients that don’t pay on time. You will have clients that don’t pay at all. I made a lot of money mistakes in the early days and eventually had to institute policies to address non-paying clients. When a client is late; I stop all work for that client immediately. That may sound simple and logical, but the programmer in me finds it hard. Incomplete tasks bug me. Stopping work in the middle of a task is like trying to stop a run while in mid-stride.

The client will often assure you there are no problems and the check is in the mail, but do you want to bank on that? I don’t recommend it. More often than not; the client interprets a 30 day payment term to mean that they can start processing your payment whenever they feel like it. It is not a happy feeling to discover that it’s time to invoice a client, and you haven’t received the previous payment yet. Did you just provide the client with a full month of time you'll never see a cent for? I have, and it’s an expensive lesson to learn.

Sometimes the client will not respond to a late payment inquiry. I know people get busy and have many priorities; but I figure three calls within the span of a week or two is a good way to follow up; and it gives them plenty of time to get back to you. The fourth follow up call never goes to the client; it goes to the lawyer. For some reason, clients seem to find time to respond to a lawyer, even if they don’t have time to respond to you.

Taxes can be another issue. In the US you want to be sure to put away 40% of your income (after expenses) for taxes. Yes, it really is that much. Because you don’t have an employer to take it out of every paycheck, you’ll probably have to pay quarterly taxes to the state and federal governments. If you work full time for a company, or used to, check out one of your pay stubs. You’ll find that roughly 30% of your pay is being taken right off the top before you ever see it. The employer is paying another 7.5% to social security. When you’re on your own, you have to pay that extra yourself. Sometimes it is a shocking realization, especially if you didn’t plan for it.

Beyond the income taxes, you may also have to deal with local sales tax on the services you provide and property taxes on your business property. The sales tax will most likely vary from state to state, so you’ll want to talk to an accountant knowledgeable about local laws.

What is Marketing?

When starting out, I never had an explicit marketing plan. My first clients were achieved by a little bit of networking and little bit of luck. If your plan is to wait until the phone rings, then you’ll probably have a lot of spare time. If you do nothing to actively search for the right clients, then you’ll often be stuck with the low-hanging fruit. I’ve found that these projects are neither profitable nor satisfying.

In the beginning, I was doing a lot of marketing work without realizing it. I was writing books, blog posts, and articles. I was presenting at conferences. Later I added podcasting to my repertoire, both with The Flex Show and the Flextras Friday Lunch. Project clients often have no way to judge your ability. When they can see your name in print, or as a conference speaker it gives them confidence in you. That confidence can help you land the project. It can lead to more opportunities, and sometimes higher rates.

I’ve often been troubled over my lack of a formal marketing plan. Over the years I’ve tried other marketing avenues including ads in the phone book, joining the local Chamber of Commerce, using Google Ads, and sponsoring conferences None of those things have paid off as much as the more grass roots elements, such as writing this newsletter has, though.

Be a Subject Matter Expert

One of the interesting points that Steve makes in his post is that you must become a “Full stack” developer. He is suggesting you must be able to do everything. My route has been the exact opposite. I have inadvertently marketed myself as a subject matter expert. In the earlier days it was as a ColdFusion developer. The past few years it has been as a Flex Developer. Being a subject matter expert brings lots of benefits.

  • People have already decided on the technology before contacting me. I’m rarely put in a position where I have to make a case for using one technology over the other.
  • People often assume if you have an expertise in one technology, you are also an expert in related technologies. In my earlier days, I was often hired because of my ColdFusion skill, but no one thought twice about having me do HTML/JavaScript development, database design, server setup, or whatever else needed to be done.
  • The more specialized you are, the easier it is to be found. This can lead to higher rates, longer commitments, and more freedom. If you look for a mobile developer, you’ll find thousands of people and it may be hard to choose one. If you look for an ActionScript Developer who specializes in Stage3D on iOS, then you’re going to find a smaller pool to choose from and it will be eaiser to find a suitable candidate .

Of course, being a specialist is not without its’ own limitations. Anyone looking for a Flash developer will never find the ColdFusion guy, for example. Often clients will segment you into what they hire you for and not to think to ask you for the other things which you can do perfectly fine. Being a specialist is a double sided sword. I assume the same is true for being a full stack generalist.

The Work-Life Balance

One of the challenges of being your own boss is that you can set your own hours and work when you want. It is up to you to enforce this balance. It is easy to have “five more minutes” turn into 6 hours only to find out you skipped dinner, missed seeing the sun today, and your significant other has been asleep for hours.

When I started out, I was budgeting 25-30% percent of my time for actual billable work. The rest of the time was for my business management; such as paying bills, bringing on new clients, negotiating contracts, and doing my marketing activities. This means, out of every four weeks, only one of them was billable. If I were to work 60 hours; it’d be a great month. If I were to work 80 hours; then I know next month will be devoid of billable work.

Remember it is okay to say no to projects. This is hard and not what the common logic says. You may be too busy. You may have other commitments; whether work related or not. You may not be interested in the work. I find it is always better to say no, then to say yes and the not deliver. Sometimes you may be able to negotiate deadlines and the schedule to accommodate your other commitments.

Every Sunday night I make a schedule for my week. This includes time for current clients, business stuff, social activities, and whatever else I want to do.  This makes me sure that every week I'm saving some time for the important aspects of my life, both within and outside of the business.  Getting a new project on my schedule often takes a few weeks; even after the contract is inked.

Final Thoughts

Overall, I recommend managing your career the same way that public companies manage their stock price. Make your commitments and stick to them. Public companies make their commitments in terms of revenues and profits. As a business owner, your commitments are probably around deliverables, timelines, and budgets. If you can, exceed expectations. Prepare your deliverables early. Come in under budget. Address issues head on, as they arise, and be prepared to offer a solution or two.

One thing I have come to learn is that there is no secret sauce to being a success in business. I've been lucky.  My best advice, is to figure out what you want to do and then find a way to make it happen.

Thoughts On Flex, Business Models, and Apache

Over the past few years a few friends have told me that I always have a plan. I didn't think about it much until it was mentioned to me, but I guess that is true. I'm always trying to think two steps ahead and plan my next move and carve out a path in life. Sometimes this is a lot harder than it is.

Gareth sent me a question through the Flextras site about the future of Flex, the availability of mobile components; and the viability of AIR.

Hi Jeff, I know things are a little bleak right now with Flex (hopefully with 4.8 SDK release things will perk up with the community), but I was wondering if you'd thought about still doing the mobile component creation. I'm still making AIR apps for mobile and have found the landscape pretty scarce when looking for various components [snip].

[snip] ...the flex mobile component still seems to be a viable model. I'll keep using Adobe AIR to make my cross platform apps until Adobe decides to get rid of that too :) I do the app thing as a supplement to my day job, so being able to purchase low cost components that will help make my apps more "snazzy" is something I'd look into (even at $5-10 a pop would be better than having to write it myself).

I've even considered the whole business model myself, but have not had the infrastructure set up to do it. Anyway, hope things are still going well with the Flex Components side of things. Just wanted to suggest something as I see your Flextras Friday Lunch, but haven't seen you on the "build" side of things recently.

I responded to this email after a very long day and about 4 hours past my bedtime. I think I was a bit blunt. I thought I'd turn my response into this blog post, perhaps with a bit more polish than the "late at night" ramble I sent to Gareth.

Things are a Little Bleak with Flex

I think I agree that things look a bit bleak for browser based Flash applications, and that has affected Flex. I also hope that Apache Flex can help turn things around; and I believe there are many ways to do this including improving performance on mobile applications (with AIR) and targetting other runtimes (such as HTML5).

There are also a lot of "little picture" things, such as bug fixes, that can help make Flex more pleasant to deal with.

I have faith in Apache and I have faith in the community. I just hope we can prove ourselves while Flex and Flash Player are still relevant.

Flex Mobile Components seem to be a Viable Model

I have been doing some Mobile Component development, but not much. There are some things in my Apache Flex Whiteboard. I have not wrapped up any of those components into the Flextras component set, though.

I wasn't sure what Gareth meant by Model in his original email to me. If he is referring to a "Development" model. Then, I agree. AIR offers a compelling offering. Right now it feels like there are lots of cross-platform development approaches for native mobile apps. AIR offers a good solution. I suspect over time, the market will condense and I hope that AIR is one of the success stories. I don't know if AIR will be the winner, but it has the potential to do so.

If Gareth was referring to a "business" model in flex Components, then I'm not sure a successful one ever existed. Or rather, I haven't found it yet. Selling Flex Components was never a viable model for Flextras. It grew to a nice side business, making roughly $10K a year, but that was not enough for me to do it full time. Even though I did do it full time for 2 years or so, though.

I had planned for a 70% drop in income to launch Flextras, then have it grow from there. But I actually had a 90% drop in income. At some point I stopped telling consulting clients to shove it.

Flextras was growing each year, although slowly, but Adobe pulled the rug out from under that. Generally we did 20% of the sales in December, yet after last November things just nose dived to nothing. That cut into revenues, of course. This year sales will be in the $2K range at best, most likely lower. There are a ton of different reasons for this; and not all of them are Adobe's fault. I could probably write a book on the many ways to fail in business.

What is the Future of Software?

The Internet will change software just like it will change music and movies. Boxed software is going to go away, just like CDs and DVDs.

The cost of duplication and distribution have fallen close to nothing. Creation of said software is, basically, a sunk cost that no customer cares about. Marketing is still needed, though. People have to notice you. But, as the cost of software drives towards zero; how does a software development company make income?

I believe the future of Flextras is in formal support services. I've been working on this for a while. I hope to have it ready in time for 360|Flex in Denver. In 2011. I could write another book on why this is so late. The vendor I hired to rework our shopping cart took 6 months past the deadline to deliver code that worked.

Delivering code to spec is a completely different issue; and that never happened. I've lost count of the number of times I've missed the goal of "Flextras selling Support Services."

What Have I Been Up To?

I should be spending my summer seeing if I can make the new shopping code do what I want it to do; or if I should throw it out and start from scratch. But for reasons of personal sanity; I put that aside. I need to crawl back into my cave and refresh.

I've been trying to spend my summer riding waterslides at the local amusement park, going to as many Soul Asylum concerts as I can, and catching up on some video games I hadn't played yet. Check out the new Soul Asylum album; it's great.

What is the Plan?

Ideally, I'll come back to the shopping cart in 3rd quarter of this year, ready to tackle said problems with a fresh mind. Then I'll have 1-2 (or 6 or 12) months to finish the infrastructure problems that would allow Flextras to sell support services around Flextras and [in theory] Apache Flex.

Once that infrastructure is in place; I'll turn my head back to promoting said stuff and building new components. I have even consider launching a Kickstarter [or two or three] to 'fund' my Flex development time.

I'd love to create a Spark Alert class that works well on Mobile. I think I can do better than what is already out there. I'd love to create a ViewStack that easily supports Spark Components, MX Components, and even non Flex Display Objects because why does a ViewStack need Flex dependencies? I'd love to create a Spark port of the Flextras Calendar. That can be mobile optimized easily.

But a lot has to happen for any of this to come to fruition.

Make sure you're signed up for the Flextras Monthly Newsletter if you want to know when stuff like this moves forward. It's the best way to keep up on any Adobe Flex or Flextras related news I have to share.

How do you Organize your Documents?

I recently bought a new computer, and my intent is to retire to other ones I have been using. They'll live on a bit; but with specific purposes. One of them will turn into a full time jukebox for my office. The other will move to my music room where I will use it for mixing down songs, or digitizing cassettes.

Where should I put stuff?

In an attempt to retire both of these PCs from DotComIt duty; I need to move all the relevant DotComIt stuff onto the new computer. This has brought to attention the organizational issue I've been avoiding for years.

I have my business files organized like this:

career
--clients
----Active
----Inactive
--Vendors
----Active
----Inactive

So, at the top level view, I categorize all my interactions between clients and vendors. Each client--or vendor-will have their own folder, with three more subdirectories:

  • Development: This is the development area. It primarily contains the source code and eclipse workspaces. Vendors don't usually have this.
  • Documents: This is the "Catch All" directory. It'll contain graphical assets, test cases for development, marketing details, product brainstorms, and anything that isn't development or finance related.
  • Finance: This will primarily contain contracts, invoices, time sheets, RFPs, and similar items.

Sometimes I'll split up development and documents by project. Finance is not usually "big" enough to warrant such separation.

Why is this a problem?

I treat every DotComIt venture; such as Flextras, AskTheFlexpert, and The Flex Show as if I were my own client; so they each have their own directories.

My problem comes with two items. The first is projects that may deal with multiple vendors and/or clients. The second is related assets that spread out across multiple directories. The DotComIt\Documents folder, for instance, has a directory for Graphics, and one for Articles, and one for Presentations. But, graphics are often created by a vendor; and articles and presentations are often created for conferences and publications (who are formally clients).

In both cases, I don't have a single place to go for the all information related to a specific project and it just gets confused. It's worst when I'm inconsistent about such stuff.

Let's talk a bit about 360|Flex and 360|Conferences. I think it will do a good job of explaining why there are organizational issues on my end.

These are some tenants of DotComIt's 360|Flex relationship:

  • I routinely speak at 360|Flex events.
  • Flextras routinely sponsors 360|Flex events
  • 360|Flex routinely sponsors The Flex Show to promote their events

360|Conferences is both a vendor and a client, at the same time. There are often separate contracts for all three of these things; but sometimes they get combined. Where do I store the information related to our relationship? Do they get a directory in with vendors? Or with clients? Or both?

When I create a presentation, or article, I have been storing them in the DotComIt\Documents directory. Often I'll give a presentation multiple times, so the actual "documents" I'm creating as part of the speaker contract are not stored with the client.

With articles; I often insist on getting a contract that states I retain copyright and/or have the ability to repost to my personal blog. Sometimes I have a contract with these publishers and the actual article I create is stored independently.

Even writing this, I'm confusing myself. I rewrote the last paragraph multiple times.

Unfortunately, the situation where I have different relationships with the same entity has come up multiple times in my business.

The end result is that for situations like 360|Flex; I have a lot of documents scattered all over the place and no single source for them.

That's not so bad, though, is it?

It gets worse. When Flextras sponsors a conference, I have been storing all our related advertising stuff in the Flextras\Documents folder. I often reuse similar promotional materials for different conferences, so this makes sense to get it in a single spot. Unfortunately in some cases, I've been throwing the legal docs related to that conference in the same directory related to my advertising.

I've done similar things in other situations. For example, I recently hired someone to do some updates to the Flextras web site. Those project files are split between a directory in the Flextras folder and the vendor's Vendor directory.

When I hire a vendor to create graphic assets for a Flextras conference booth promotion; should those assets be put in a folder specific for that conference? Or should they end up in the Flextras graphics repository? I've done both.

I need to plow through all this and decide where it goes; and then keep it consistent. I just haven't the foggiest idea what it should be. I wrote this post in hopes of helping my mind figure it out. It is helping.

I think the Getting Things Done approach is that everything should be filed in alphabetical order. Maybe my extra layer of categorization is confusing things. It made sense to me when I started doing it; but perhaps I need to get rid of the client and vendor distinction. It worked in my "real world" filing cabinet. But, it doesn't solve the underlying problem when things have different, appropriate categorization.

Does anyone else think about these issues? Do you have any ideas? Please share!

Here is my solution in progress

What I'm leaning towards is this approach:

  • The Vendor Specific Directory should store all the finance / legal records related to that Vendor.
  • Graphic related master files, even those created by a vendor, should all go in a single graphic repository for that 'project'. So, Flextras stuff will go in "Flextras\Document\Graphics" and TheFlexShow stuff would go in "TheFlexShow\Documents\Graphics." [etc..] I do this because I've found it to be a huge time saver to put all the graphics in a single spot.
  • Any other project specific stuff; should be in some project folder. For Flextras marketing stuff; this would probably be something like this: "Flextras\Documents\Advertising\PromotionName"
  • Presentations and Articles should be stored in a single repository (Inside "DotComIt\Documents"). Usually these things are not vendor specific, and I think having a central place to go look for all my presentations/articles this will make sense [just like it does for the graphic stuff]. Even though I create a presentation for a conf; I'm going to try to give it a half dozen other times.

I'm not sure I want to combine the Vendor and Client directories just yet. I'm toying around with that idea, though, because my directory structure is too deep and it takes a lot of clicks to go down.

Did I miss anything?

Four Hour Workweek Review

I just finished reading the four hour work week book. It was gifted to me by a friend who said "Let me know what you think." So, I figure a blog post review is in order and this is it.

The Good

The focus of the book is to organize your life so that your income is on autopilot and you don't have to slave away at hours on end. There are a ton of business books I've read that focus on similar topics. This is the holy grail of business ownership. Build the business up so that it can work without you and generate enough profits so you just sit back and let the money roll In with no worries.

The book talks about cheap ways you can introduce a product with high sales margins, but low cost. It provides cheap ways to experiment with different sales approaches before you even have a product; and change things to see if you can optimize your conversion rates. Such experimentation is good. Figuring out what works at low outlay is also good.

The Bad

Much of the books talks about how travel can help you live cheaper. I haven't decided if this is the author stroking his own ego or useful information to some people. I hate to travel! With a passion! The portions of the book that focus on the authors travel success did not capture my interest.

One of the tenants of the book is to realize what you are doing and how much of it is unimportant. The next step is to then outsource the important stuff. I believe this is the right approach taken in moderation; but I do not believe that every aspect of a business should be outsourced. For a tech business-like mine-to offer some value, there needs to be some internal core competency. Our knowledge and experience is part of the value we bring to the table. Not everything should be outsourced.

The Ugly

A lot of the book's suggestions seem to fall into a morally gray area. I feel many of his suggestions are to operate under the letter of the law and not in the spirit of the law. Abuse the system instead of trying to improve it.

As one example, the author speaks about how he won an athletic competition-wrestling or kickboxing or something like that-by going on a water diet to lose weight during the weigh in. Once he was entered into a certain weight class; he then started doing things to bulk right back up before the competition, putting his competition weight in a higher class. It is easy to push someone out of the circle when you're a weight class above them. Such actions are not in the spirit of the competition.

In a different part of the book he provides a way for you to convince your boss that you should be able to work from remotely. During a trial period, you'll be working in part at home and in part at work. He explicitly recommends that you do everything in your power to make sure that your off-site time is significantly more efficient than your on-site time. He stops short of telling you to goof off at work; but that is the insanitation. He also suggests that you work harder while at home to help highlight the differences in output.

The suggestion to purposely skew output in order to highlight the differences between off-site and on-site time gives me a nervous discomfort. When I'm working for a client, or for myself, I always like to put my best foot forward. I'd like to think I was the same when working as an employee-so many years ago.

On the flip side; I find it hard to imagine that many people have to do any "fudging" of the numbers to make work from home look more efficient. I almost always work remotely from my home office, but a current client has negotiated some on-site time. At one of the recent on-site days, instead of spending 10 hours doing "real" work for them, I spent 6 hours in transit, 6 hours in meetings, 1 hour at a group lunch, and 1 hour of doing real work. The hour of work wasn't even contiguous; driving down efficiency. You can improve productivity significantly by avoiding the busy work; but there is no need to be underhanded about it.

Where do I fit in?

I can't figure out if I'm living the dream or building my own prison. I love spending my days building Flex Components for Flextras; and I specifically tried to orchestrate that business so I could spend more time coding. I don't even mind helping clients with their problems and fixing bugs. But, I haven't been able to grow the business to a point where I can turn down every consulting gig. I want to get the business to the point where I can hire staff to help get things going. It's not there yet. I believe that the business model needs some morphing to grow and we're working on making that happen now. 2011 is a year in transition.

All in all, it's a lot of hard work to get things to the point where they can work on autopilot. This isn't denied in the book, but it brushes over that fact; and alludes to the fact that the jump from "Wage Slave" to "The New Rich" is going to be smooth.

Jeffry Houser won't be contributing to any Flex 4 books No matter what Amazon.com thinks

The Setup

A "Better than average" associate of mine approached me about contributing a chapter to a Flex book he was cowriting. My chapter was to focus on building Flex Components; something I do a lot of with my company, Flextras. It seemed like a good fit, so I agreed.

Eventually, talks with the publisher broke down. While I feel bad about leaving my friend in the lurch I'm not quite sure if this is my fault. This is my take on the situation because I want to get it out of my system.

The Build Up

First, I was approached last December about this opportunity. I've turned down Flex book authorship agreements before; but since this was just a single chapter the amount of effort was significantly lower. I was willing to sign on. I was put in touch with the publisher contact in early January and I requested a contract. They asked for chapter delivery in early February.

Can you please send me a contract?

I always ask two questions when asked to provide content to someone else with regards to such situations. The first is "What about ownership?" It is my long term goal, whether good or bad, to own as much of me as possible.

The second is "What is my compensation?" I always ask about compensation, never how much I get paid. Compensation can come in many forms, and sometimes recognition or exposure can take place of cash. In this case, I think the chapter authorship would have been a great way for me to promote my business of selling Flex Components.

The compensation offered was a flat fee, $400. My friend thought the rights of my contribution would revert to him and his main co-author. I was uncomfortable with that, but said I would have to see the final contract wording.

I waited for the contract from the publisher. They contacted me in the final days of January to extend the chapter delivery to the middle of February and to let me know that the contract was on the way.

I waited some more. In late February they contacted me to ask where my contribution was. I told them I was still waiting for the contract delivery before I would put the writing into my schedule. They said they would get back to me; and they did.

I finally got the contract the week before I left for the 360|Flex conference. As a sponsor and a presenter I had too much on my plate to even look at it; but I prioritized it for the day I got back from 360|Flex.

I decided that they had kept me waiting for 2 months; I could keep them waiting for two weeks. Perhaps that was my failure.

What does this contract really mean?

The day I got back from the conference, I reviewed the contract and sent them a list of questions and concerns. The contract was a work made for hire agreement; and I had to sign away all rights to the content. This was not unexpected on my point, but was a bit contradictory with what my friend had led me to believe. It may be possible that I'd be signing my rights to the publisher who would then be signing them over to the two main authors.

I wanted to clarify some things about the work made for hire and derivative works. There are only so many ways for a single person to regurgitate the same content. I, in theory, make money off selling Flex components and my primary means of promotion is through writing and presenting about how to create components. I needed to protect my right to continue to do that.

The chapter content could easily be considered a derivative work of screencasts I created with The Flex Show; or presentations I have given. I needed to protect my rights to still present and distribute said content. I also needed to protect my right to create future screencasts or presentations or articles on the same topics without them being considered infringement. I consider many of those things to be complimentary and non competing, but they are certainly derivative. I wanted the contract to clarify my ability to do that.

I also asked for some additional compensation, such as a listing in the "About the Author" page of the book. I also wanted to restrict the use of my name in promoting future editions of the book. If someone were to rip out, or re-write, my contribution at some future point I didn't want my name still attached to it.

I also asked for rights to distribute my chapter contribution digitally. I didn't expect that to fly; but wanted to ask anyway. I'd have loved to offer up the chapter to the readers of DotComIt's newsletter.

I also asked that, if the book were to ever go out of print, that the chapter rights would revert back to me. I wasn't sure this would fly, but I did negotiate such rights regarding my ColdFusion books.

I'm still Playing the Waiting Game

I waited two weeks. The publisher contacted me again, this time to ask for the status on my contribution. I said the contract issues were not settled and I was waiting on them. I re-iterated some of my concerns.

Silence!

I wait another month with no word before contacting them asking for status. They told me they no longer have need of the chapter. I asked why. But given their communication thus far, I am not expecting to hear anything back.

I feel slightly bad to have "ditched out" on my friends. The publisher put no effort into bringing me on board; so when the ball landed in my court I delayed due to other pressing issues. That was my reaction, which probably didn't help things along. But, all in all I was not the hold up.

Would you buy a book because it has my name on it?

I decided, in this post, not to make mention of the book or the two main authors. But, if you search on Amazon for my name; I'm apparently listed as an author. I have a slight problem with the publisher using my name to falsely promote their book. I'm pretty sure I am not the only contributing author beyond the two main authors; so why my name? Could it be because I'm moderately well known in The Flex Developer Community as the producer of The Flex Show perhaps?

Will my name sell books? I doubt it. If so, will it harm my personal brand if people buy a book with my name on it only to discover I had no contribution in the book? I'm not sure on that one...

Support The Flex Show in 2010

Every once in a while on the Flextras Friday Lunch the conversation turns to business related topics. I talk about the difference between infinite digital goods and scarce goods. Digital goods can be easily copied and distributed. Scarce goods, such as services, are not easily replicated.

The record industry has been hit hard by this market switch. It is easy to find the music of many bands for free out there on the Internet and this is eroding the business of selling music. Movies appear to be following the same path and I suspect software isn't too far behind. When the "cash cow" goes away, how do you make a salary?

Content Creators in the Digital Economy

One method for making a living is to find people who find value in their work, then give them a way and reason to support them. Many musicians have started giving away mp3s in order to sell other scarce goods.

One such scarce good is the ability to create more music; many musical acts have connected with fans to fund the production of their next album. We've decided to try this approach with The Flex Show.

Support us, we'll give you stuff

About a week ago we launched a pledge drive, so our listeners can support The Flex Show in 2010. For as little as $5 we'll send you some stickers and thank you on the web site. For a bit more, we'll thank you in an episode. We didn't stop there.

You can control aspects of the show. Do you want to replace our theme song? Would you like more screencasts? Do you want to join us for a recording and approve the final edit? Or perhaps you'd like to see us go weekly in 2010? All these things are possible. We even have a few fun options in there, such as getting together for lunch, or hanging out at the next 360|Flex conference.

  • Have you been listening to The Flex Show? We have over 110 episodes now.
  • Do you know of a better, free, educational resource out there for Flex Developers?
  • Would you like to see us keep going?

Then choose your option and show us you care. Thank you for the support.

More Entries

All Content Copyright 2005, 2006, 2007, 2008, 2009 Jeffry Houser. May not be reused without permission
BlogCFC was created by Raymond Camden. This blog is running version 5.9.2.002.

pure garcinia cambogia

payday loans

seo services

seo services