Business Articles

RSS Feed - Tag Business

Making Web Products is Tough

Category: Business & Management Tags: My Work, Business | Written on Jan 14, 2010

Despite putting the last two years into building products and clientele, I am still living in a cold basement of a house that I don't own. I am not giving up, though. Here, I will document the main struggles I've had in each step of building products on the web.

Planning

Nothing goes as planned. You can have a well thought-out and orchestrated plan, but it won't happen that way unless you are copy-catting other people or have built something really similar in the past. All of the products I am building are breaking new ground, so I can never estimate the time I'm going to need. We all have ideas, but I am convinced that the people who are successful are the ones that are able to build and get their products and ideas out the door. I am constantly working on my process and performance to be stronger and turn ideas into real, tangible products more efficiently.

Technology

You have to choose the framework and language you are going to build on. While building, what if you want to try something new, or different? Well, each change along the way takes more time. The software engineer part of me wants to rebuild everything in fifteen technologies and ways, but the businessman says to never change anything. So, I'm left in a weird position where sometimes I follow the software engineer inside me and improve myself, but then it take a lot longer and am happier with things. Sometimes I plow through it business-style and am unhappy with the underlying technology.

Partners

One of my companies has a board of five people and it gets to be political, where the others don't have any politics to deal with. Politics can be fine sometimes because it is good to discuss and approve things, but I prefer the latter. Keeping the amount of partners minimal is a good idea to make sure the communication and direction is clear and focused.

Resources

You need finances to buy time. Because I run my consulting company to pay the bills, I don't always have free time to build the products I want to build. When I do make enough money to buy my time to build products, I often need help to pay people the rest of my money. I am pretty much always, "broke", even though I make a good amount of money consulting. This has been a far better environment for building products than being a full time employee ever was because I got burnt out, but it still will continue to be a major challenge until one of these products becomes successful.

Moving On

I am continuing to change and become far better at building products, but this journey is proving to be long and arduous.

To be a good employee or consultant (something I'm good at) is a completely different skill than being able to pull product ideas from thin air and turn them into working reality. I tip my hat to Shaun Inman and the others who have been successful at doing this.

What's Up with Marc Grabanski? Summer 2009 Edition

Category: Marc Grabanski's Work Tags: My Work, Business | Written on Jul 20, 2009

Aside from my office turning into a complete disaster...

Here is an update on the status of my projects as of 10 months ago.

  • Rent Update: launched public beta! We are now walking property managers through sign up for their free listings and gathering feedback. The product is about 2 years in development, but still in the user-testing stage. I'm sure I'll make a big announcement article and promote the product when it starts humming. Follow Rent Update on Twitter for more updates.
  • jQuery Datepicker v4: turned into Calendar Engine, an ambitious project intended to fix problems with the native JavaScript date object and give you access to internationalized calendar functions in straight-JavaScript (no jQuery). It works with Gregorian and Persian calendars so far, but I want to build a calendar and datepicker on top of it to showcase its abilities.
  • CakePHP jQuery Integration: tried to iron out some of my thinking through a JavaScript RFC for Cake 1.3, but I still have a ways to go. I'm tossing around so many ideas that I haven't solidified something actionable.
  • Carcassonne Online: with the new things in webkit/iphone this could be a very interesting browser-based game, but I've put the project on hold for now until I feel inspired to learn what's new in webkit.
  • Family Reminder: will be built on CakeCal and Calendar Engine, so I need to finish those open source projects before I get to this application, on hold for now.
  • Open Ad Sense: on hold until I get momentum behind this project, maybe next year.

New developments!

  • Launched my consulting company's website, MJG International. Showcases the network of people and some work we've done.
  • MarcGrabanski.com broke one million visitors in under a year! 1,043,421 since late July '08 and you can view more details in Mint stats.
  • Learning Ruby on Rails because of doing a UI on top of one of my client's projects, fun so far.
  • New startup company deals with organizing and sharing content on the web, this one is interesting because they are both paying my company and giving percentage of equity based on the performance of the project. Exactly the type of contract I've been trying to get.
  • Sat down at the table with business owners around Minnesota, prepping them and selling them on a new e-commerce platform that I've been planning for years. This one will be huge because I know how it will run, we just have to work out the specifics financially to get development underway. This one is very exciting for both local businesses in Minnesota and me.

On a personal note, I'm engaged! She's now enrolled in college at Art Institute International downtown Minneapolis, the added financial burden just increases my motivation to make the business run stronger.

Check out the Sushi + Engagement Ring plate!

And don't worry, I cleaned my office!

 

5 Tips for Managing Your Employees (and Contractors)

Category: Business & Management Tags: Business, Management | Written on Mar 15, 2009

Corporate Freedom

A freelancer on a mailing list I'm part of has to make the leap to hiring his first employee. This is obviously a good time for him, but it also can be challenging because he now has another person to consider while doing his work:

"For anybody who has had an employee, any advice? Any things I should be concerned about? I'm a little nervous about it but all in all feeling more relief than anything."

My response was received well on the mailing list, so I figure I'd share it with you as well.

#1. Make sure your expectations are clearly laid out before you start a project.

If your expectations of them are clear up-front, then there will be very little miscommunications through the project.

#2. Incorporate their input into making deadlines.

Never enforce a deadline without negotiating with them up-front. They will own up to the deadline if they had say in making it.

#3. Setup payment terms ahead of time.

Be clear and concise when they will get paid.

#4. Do some of the work yourself (if possible)

This way you will know exactly what is behind the scenes of the project and will be able to better communicate to your client what they've done.

#5. Give them benefits.

I just sent one of my contractors to SXSW and paid some of his room & board. He was thrilled, and as a result did very great work directly after I gave him that bonus.

Lessons Learned from the Worst 6 Months of My Professional Life

Category: Business & Management Tags: Business | Written on Feb 25, 2009

What I am about to share with you comes at a price. In the last few years I have shared many triumphs and positive things, but now I am going to pull from a chapter in my life that was dark to pull out lessons learned and expose the story about this company I worked for.

Early-mid 2006 was the worst 6 months of my professional life, but it didn't start that way.

How It All Started

The owner was excited, seemingly honest and downright cheerful and optimistic to work with me. He landed his first website job building an e-commerce store and needed someone to develop it. Sure, I wasn't entirely equipped for the job but I took it on. He took the risk for a very tiny sum of money and we worked on it together day and night for about 400 hours to get it done.

During this time, he yelled and swore at me for losing a few hours of data entry. I should have heeded that warning and not continued working with him, knowing that it would happen again in the future. But none-the-less, I liked the work I was doing so I continued onward.

How I Got Stuck in the Job

I really liked the guy, trusted him and we continued to take on more website jobs. I definitely saw an anger issue in him through this time, but hey - who doesn't have problems? I enjoyed the work, but figured I could not get another job doing website design in the area because it is a small area and I didn't have any kind of name for myself. I continued to work and try to get better at my job. Meanwhile, I was not making enough to pay rent and going into debt ($10/hour job, even though I had finished 4-years of schooling at $28k/year).

The Tyrannical Man Shows his Colors

I was happy with the location, but became more and more unhappy with my job as the outbursts of anger and rage moved from me, to the other workers (also hired for dirt cheap) who were yelled at (including profanities) until forced to quit. One of the workers shared with me how he became so depressed that it spread to the relationship with his wife. He finally got a job elsewhere, took it and got the heck out of there. I didn't blame him, but for the time I was stuck for the aforementioned reasons.

Learning to Listen to Grievances and Anger

After my co-workers quit from the job because of the owner's raging outbursts, I was the only one left. Why was I still there? Because I thought that by staying there it would making me stronger. It did. By hearing a list of grievances against me each day for a few months, I learned to tell truth from a lie and not get upset. This was a great skill to learn. It isn't that I wasn't listening to him, it was just that I didn't agree with what he was doing to me or how he ran his business. Even so, I sincerely checked myself to see if I really was a screw up, because his shredding comments got through to the deep parts of me. This guy once wrote out an 8 page summary of grievances against me, at one point even mentioning that I was "poisoning the well".

"Crazy", I thought. "I couldn't be such a horrible person as this man describes me to be". After a few months of realizing that I was truly well-intended (hard to do when words are so harsh) and knowing full-well that I was trying hard as I could (given the circumstances) - I knew it was time to leave.

How I Got Out

I put my resume on Monster.com and within a week was hired at in agency in Minneapolis, MN. The new job was a great move, a wonderfully refreshing experience filled with positive reinforcements and triumphs. Really, you can't get much more of a "high", after such a low. People always wondered why I was so happy and working so hard. I have testimonials to prove it.

Positive Outcome In the Midst of Working for a Nagging and Angry Boss

Through the hard times you have the potential to grow in the midst of it, and this experience was no exception.

For all those caught in a destructive working relationship with your employer I just want to give a few words of advice:

  1. Try to honestly seek out if the bad things they are saying about you are true.
  2. Sort out truth from a lie, and use it as leverage to be a better person. No one will be more honest about your weaknesses than someone who is violently angry at you, even though any grievances will be amplified beyond truth.
  3. Keep your head up, learn to deal with it and then get a new job. It will be a great one.

Final Note

Regardless of how difficult this was for me to write about such a deeply negative experience. It is hopefully worth it for you, my readers to learn from and certainly my personal health to finally get this out there.

Keep it real, yall.

Negotiating Good Contracts for Startup Companies

Category: Business & Management Tags: Business | Written on Jan 06, 2009

I was writing about my own startup companies, then found Ryan Carson's post on building his web applications.

Here is the part of the post I found particularly interesting, the contract:

Elliott [the developer] will receive 10% of monthly revenues, after the expenses listed above. If he launches the site on time (3pm April 20th), this will increase to 15% (hat tip to Natasha on that idea). When the site hits $25,000 monthly revenue (excluding VAT), his take will increase to 25%.

His monthly cheque will be determined by a snapshot of the revenue on the 1st of every month at 9am.

If the app is sold, Elliott will receive 10% of the cash price, after lawyer and accountancy costs.

I build web applications so I can relate to Elliott here as well as many of you (my readers). The only difference between me and Elliott  is that I own the company who knows all the people to hire and how to get it done. My company is called, "MJG International" and establishes these type of business partnerships.

Carsonified Wins, Elliott Loses (mostly)

Before I rip apart the Carsonified contract, I want to say quick - Ryan Carson, if you are reading this thank you for sharing the information, it serves as a good example to work from. And certainly I am not accusing you of being dishonest - I just don't agree with the contract.

Now here is my opinion on the Carsonified-Elliot contract. I'm not sure why Elliott would build the product for no money and 10-25% of the application under certain performance terms. I think this is a really bad contract completely in the favor of Carsonified. Here is why it sucks for Elliott:

  • Carsonified has no risk. They are covered legally and don't have to pay the labor, all the risk is on Elliott's shoulders.
  • Carsonified can expand and change the contract of the product as much as they want and Elliott is still pressured to get it done by a certain date to keep his larger percentage.
  • Carsonified doesn't even have to pay for support costs after the product is launched, because Elliott has to answer support emails within 24 hours.
  • Carsonified gets at least 75% of the revenue, Elliott is the one taking the risk here and gets just a slice of the revenue.
  • Carsonified owns all code and intellectual property -- Elliott owns nothing when it is all over but a cut after expenses.

Wow, talk about getting kicked in the butt by a contract. Carsonified gets all the cheese for having the idea and negotiating the contract. Good work negotiating, Carsonified!

How To Negotiate a Good Contract

Now I'd like to share with you how I negotiate a contract. When I say, "you" here that means you as the developer. Assuming you want to go on these ventures.

  • Chose a partnership with business who care about you and you care about their product. This is tough in a for-profit world, but I've managed to do it. There is an over-abundance of companies with ideas and a shortage of developers who can actually accomplish it - know that as leverage to negotiate a fair contract.
  • If you build it, you should own everything that doesn't apply specifically to that project. You need to build products with reusable code so you can start other companies. You can even open source engines from it, like Ruby on Rails did.
  • Require money up-front enough to get you by. Creating good web applications is tough, real tough - even the simplest things can become complex when you consider everything it takes to create something that will be really worthwhile. You may not be able to do this until you have a fair amount of success under your belt.
  • Get at minimum 30% of the revenue of the tool if you are working for free. I do 30% plus an initial 2 months of operating capital  depending on the project, but again - that is because of experience.
  • Get a lawyer you trust to review the contract before signing. They will remove language that doesn't protect your rights.
  • Create a startup company for the product that is it's own company, as a subsidiary of the company you are working with and get 30% stock in it. That way if the company is sold, you get 30% of the selling price.

That is all off the top of my head. Because I've been through this I feel it is my duty to protect the on-the-ground workers who can actually finish products. Once I get good at executing and have a lot of successes under my belt, I'll probably take more like 70% of the product instead of 30%, since the only thing the company partnering with you is doing is have the initial idea, which is important - but everybody has ideas! Execution of the idea means a lot, especially in web development.

Let me assure you that I value the business partnerships I make and their ideas. The contracts I've made so far have been fair and everyone has been great to work with! I hope you all reading this can have the same.

Be fair, don't be square. You rock, peace all.

Acheiving Freedoms in 2008

Category: Marc Grabanski's Work Tags: My Work, Business | Written on Dec 25, 2008

2008 was a year of embarking on a journey towards personal freedoms in my career, which although was scary at times, paid off in spades.

Attained Freedoms

The following freedoms are available to me, that I didn't have at the beginning of this year:

  • work from home remotely
  • hire people I trust
  • create my own applications
  • work as much or little as I desire and still get paid for it (as a contractor)
  • take time out to eat, read and pray (during the work day)
  • spend more time doing things outside of normal work like go to conferences, spend time with my girlfriend and go on vacations

Assets VS Liabilities

Attaining these freedoms became incredibly important to me late 2007 when I realized I was building someone else's assets. I realized that if I stayed the course I was headed down, I would end up dependent on that next pay check to pay for the liabilities (things on credit) just like those surrounding me. I needed to break out of the system and forge into new territories.

It would have been a cold day in hell before I launched any major start-up companies while working for someone else - working nights and weekends. Not to mention I became border-line depressed working so much. Instead, I decided to cut my (client) work week down to 24 hours per week to allow the rest of my week to build applications that make my business into an asset-driven company (I'll explain later).

Breaking Into Contracting

In April of 2008, I pinged a few companies to see if they would hire me for 24 hours per week, remotely to cover my living costs. After casting the line, I got a few offers. I ended up turning down a job offer working on the Firefox Addons theming engine (which I was grateful for the offer!) to work for an internet marketing company in Duluth, MN. Why? My #1 reason for turning down a job with Mozilla is, Silicon Valley doesn't need anymore high-level talent. Silicon Valley takes away much of the great talent (poke at Dave Dash of delicious.com) we have here in Minnesota.

Instantly Respected Names VS Local Business

The bottom line is that I want to work for local companies and grow them, without a company name that demands respect attached to my name. It is for the same reason I went to a small college - The College of St. Scholastica, who has heard of that? Strengthening the computer science program was a high priority for me, as it most certainly will be in the future.

If you work for "Google", you have "Google" attached to your name for the rest of your life, and instant respect. Some people want that, I don't. My attitude is to do it the hard way from the ground-up and not bank on others' success. I learn more that way and get only the respect I deserve. Yes I was interviewed by Google, many times over. But it was in the process that I came to some of these realizations.

The Unexpected

Not everything went perfect this year. My first startup company will launch in the first week of January, which I wanted to launch exactly one year prior. It turns out that launching a (good) startup takes thousands of hours or work and investment. You just can't put in that kind of time unless you own your own business and have flexibility (without pulling in investment dollars). So far I've spent 1800+ hours of my time and a pile of my own cash to hire awesome talent to help me with the tough parts. I might argue this isn't a downfall, but it was mostly just unexpected.

I had to give up my seat on the jQuery UI development team. It was just too hard to generate revenue, launch startup companies and program open source at the same time. Datepicker was just consuming way too much of my time and I had to give it up. Though, I did review a book that is coming out soon on jQuery UI, so that was cool.

Reflecting on 2008 Goals

The goals I've made in the past have been fairly lofty, but all-in-all it is good to make them once and a while. As I've found out, it is incredibly hard to hit software development goals because things change and your focus can shift. It is hard to stick out projects to the end in this dynamic profession, but if you do stick it out you may get big rewards.

I've met more amazing people this year, and have continued to grow past work relationships stronger (thanks, Twitter). I know things will continue in the midst of the failing economy because I work with great companies who have strong client-bases. Each company has been chosen wisely.

Looking Forward

2009 will mark the pursuit of creating assets, jobs and reliable tools. Assets are things that have value without you being there. They generate (or hold) value without you having to attend to them. The rich generate assets and the poor and middle class generate liabilities (car, house, tvs, etc) and pay lots of taxes.

But this year isn't all about money. 99% of the time I talk about my career because this is what my website is about, but the "secret sauce" to my success is that I have a deep spiritual life that fuels and inspires me each day to be the best I can possibly be (and beyond).

So Happy Holidays everyone! I'm hoping you have a great 2009.

Getting Projects Done in 2008

Category: Marc Grabanski's Work Tags: Business, CakePHP | Written on Nov 02, 2008

I have decided to pour all of my resources and energy into getting four rather demanding projects done before the end of the year. This big end-of-year push has had a lot of thought behind it, which I wanted to share with you and document here on my blog.

Push Forward

The Projects

Of the four projects I am focusing on getting done, two are consulting jobs and two are my own start-up companies.  With the start-ups, I have partnered with businesses to help define the products and they will sell them when the products are released to the public.

The Plan

My focus in November will be on consulting. Consulting is a great way to get temporary cash flow, through which I will be using to hire people to work on my startup companies. I will have a total of 4 contractors working for me in November.

The Logistics

UI skills are the most important for my consulting work, and CakePHP skills are most important for the startups. In case you are wondering who is working with me, here is a list of them and brief description of each:

  1. A developer that is a highly seasoned professional and core developer of CakePHP, he will be working on a startup in CakePHP.
  2. A developer that is a master of databases and does a lot of work with CakePHP, he will be working on a startup in CakePHP and on documentation
  3. A developer that is great at UI and CakePHP, however he will be consulting with me focusing on UI (jQuery/JavaScript/HTML/CSS) with me and has been for quite some time.
  4. A developer/designer who is good at a diverse amount of things, working with UI, straight PHP and some CakePHP. He will be working with me on UI consulting projects.

Though the above isn't 100% finalized, I am confident they will be joining me in these last two important months of the year - all of the projects fun to work on. 

The Goal

It is my goal to have a company with products, partnerships and consulting. So far it has been working out brilliant and I only expect the great work to continue.

This will be a wild two months that I'm hoping to propel those working with me into a great 2009.

Mitigating Unrealistic Expectations

Category: Business & Management Tags: Business, Communication | Written on Sep 25, 2008

We all work within the bounds of expectations to perform up to a certain level or hit a deadline.  But, I think more often than not, web development people have unrealistic expectations. Managers, coworkers, and we too put higher expectations on ourselves than we ought to.  Some of this is healthy, but there are certainly pitfalls when dealing with unrealistic expectations. 

The Main Pitfall, Communication

All to often the culprit of unrealistic expectations is poor communication. This happens all the time - the developer knows the work is not going to get done on time but decides to say nothing about it.  Then when it comes time for the final deliverable there is nothing to show.  It can be tough to set emotions aside, but you better communicate with your manager (or client) that you aren't going to make the deadline as soon as you know.

An honest explanation, communicated as soon as possible is usually all that is needed.  Just make sure you set the expectations level to a reasonable level the next time around.

Not Hitting the Deadline, Now What?

Once you've given your manager or client a good reason why the deadline is not going to be met, then the ball is still not out of your court.  You have to work with your client and manager to come to a solution, and each one is different. Let me walk you through a few scenarios that have happened in my career - some good, some bad.

In a larger agency the manager allocated more resources to the project to help out in making the deadline.  This only works if you let them know as soon as possible that things were not going as planned. Otherwise, if it was your fault in not communicating then you are expected to take responsibility and put in the extra hours to still hit the deadline.  In some cases you may have to put in extra hours even if it is not your fault, but this should be recognized and warrant a promotion or pay increase (at the very least, respect).

In a small company my experience was sour when dealing with expectations.  The boss should respect what you say to them.  If the boss does not budge and still holds you responsible for the deadline, and does not pay well for the extra time you are putting in - then it is time to leave the company (if you can) and find another job.  The deadlines should be made with you involved in setting the expectation-level at a realistic height.

In consulting, when I agree to a deadline with the client I make sure to indicate how strong or weak the agreement.  If there are a lot of unknowns then I give them my best estimate and let them know the contingencies.  I make sure to update them on the progress of the project as well as the dependancies all the way through.  When successfully following this model, there are no surprises.  Communication is key - I can't emphasize that enough.

The Main Resolution, Communication

At the end of the day, it all comes down to communication.  You should make sure to communicate as soon as possible if you cannot make a deadline.  As long as you are working hard and have the correct skill-set, your manager (or client) will remain understanding.  Going forward you must adjust and learn how to set realistic expectations.  Then you will be on your way to hitting those deadlines and making those who work with you very pleased.

Consultant Agency Off and Running

Category: Marc Grabanski's Work Tags: Business | Written on Sep 16, 2008

I have been operating as a small consulting agency for my clients lately. Here is what has been happening:

  1. Client seeks out my work.
  2. We begin a working relationship.
  3. Client needs more work done, so I find another worker.
  4. I remain point of contact, but bill client for worker's time and my time to get more done.

This is pretty simple, but works out well.  The client only needs to go through one channel of communication does not have to worry about the work getting done, because I can hire up for what the client needs. 

The truth is, most clients are not able to find the right people to work with.  Since I have worked both in corporations and also in open source, I know a strong network of people.  This also saves the client overhead of finding the right people for the job.  They can rely on the work that I will deliver.

This has been a great shift of focus and I am privileged to be providing people jobs through my clients while being able to deliver more work than before.

Four Types of Web Developers, Which are You?

Category: The Basics Tags: Development, Business, Communication | Written on Aug 15, 2008

After years of working with developers and observing motivations - it seems I've generalized people into a few categories.

Please don't balk if they aren't 100% accurate, since everyone is different it is hard to generalize - but this shows the general trends I see of paths people follow when devleoping for the web.

Type A: Developers for Developers

The core of the coding world.  They have philosophical debates about code with each other.  From this group of people came all the programming languages ( C++, PHP, Java, Ruby, etc ). If they have any people skills at all you will see them leading conferences and in the lime-light.  Otherwise you can find them in password protected MIRC channels and in the deep dark caverns of corporations where no business person has ever step foot.

Type B: Developers for Client-Developers

They build plugins, frameworks and tools for themselves and fellow developers.  The focus is on developing bits of reusable code to accomplish client work more efficiently.  In the marketplace some are self-employeed, yet most of these people occupying full-time positions as team leads (or normal developers who exceed employer expectations). Their philisophical debates are found to be mostly around what are the best tools to use, but also on how to write the best code.  Community activity is high - as most have blogs, comment regularly on blogs and attend conferences.

Type C: Client-Developers

These developers use out-of-the-box software packages and slightly modifies them to get client work done. Their focus is on doing what the boss or client tells them for the day. May listen to podcasts, or participate in community lightly via blog comments or in-frequently posted to blog hosted at Blogger.com.  Will only attend a conference if it is local and 100% paid for.  In the marketplace you will find them working 40 hour weeks.  Prime motivating factor is family and job security.

Type D: Developers for Money

These people are hack'n'mash, "developers".  You will find them grabbing dreamweaver or any WYSWYG tool to, "make a million" via affiliate programs and any idea they can get their hands on to make money.  Visit their sites and see all types of ads - link ads, popup ads, pop-under ads (though some are finding smarter methods). Products are being sold because they understand the human condition and feed desire into a sale (conversion).

What type of devleoper are you? I am definitely type B.

Getting jQuery into Big Corporations

Category: JavaScript & jQuery Tags: jQuery, JavaScript, Business | Written on Dec 05, 2007

Corporation Buildings

Big Corporation IT

Big corporations are typically resistant to adopting change - and for good reason. They have to work at keeping stable a large amount of applications in one environment. Internal IT teams will usually only adopt something if it doesn't interfere with their jobs or make them more difficult. You must have a really good reason to bring something new in. I understanding that, so how do you get them to approve you using a relatively new library like jQuery?

The Easy Way

The simplest way I've found to get jQuery into projects is use it for doing something very specialized. Creating tabbed panes, graphing data, or maybe some simple animation effects that are normally created in Flash. Either way, from that point on you can use it in the application. But what if you want to build a project from the get-go, from scratch in jQuery?

Big Corporation Project, Built on jQuery

Currently I am building a Google Maps application for one of the biggest banks in the world, HSBC. It is almost done, and I used jQuery to build the application with my manager's approval. As expected, when we handed the code off to HSBC's internal IT team in India they asked why we used jQuery:

"Is there any advantage of using jquery as google is already providing Ajax api for the same purpose. Also please clarify whether there is any licensing issues with jquery. If it is free, then can we use in commercial projects?"

My response:

jQuery is used is for parsing XML and adding behavior to the page elements in a faster and more compatible way. jQuery eliminates the problems that JavaScript has with inconsistent rendering between browsers and jQuery also improves the rendering speed / performance of the application. The code is arguably easier to maintain because it reduces the overall code size of the application because you do not have to code in different ways depending on the browser.

jQuery is dual licensed under the MIT and GPL licenses (http://docs.jquery.com/License), which means that it is 100% free for commercial use.

Note that jQuery is used by: Google, NBC, MSNBC, Bank of America, Amazon, Intel, BBC, Newsweek, AOL and Intuit - just to name a few. Full list: http://docs.jquery.com/Sites_Using_jQuery

A very vibrant and active community surrounds jQuery and it will continue to be well documented and maintained.

My response was very well received - feel free to use that explanation in your own corporation. I have to say though it has been much easier to get accepted since Google uses jQuery. My feeling is that internally to use jQuery you really only need your manager's approval. Once you sell him and your immediate team around you on the idea, you shouldn't have a problem using jQuery for projects. After all, it makes all of our lives easier. jQuery has saved me countless hours and the client's work is going to be better because of it. Thanks, John and the jQuery team.

Avoid Over Planning

Category: Business & Management Tags: Business | Written before Dec, 2007

My friend interviewed Paul Boag on his website Focus Minded, a blog about the business of web design. I found that one piece of Paul's response caught my eye.

"If there was one bit of advice would you have for those interested in creating or growing their web design business, what would it be?

Paul Boag responds, "Stop planning and do something. This is a lesson that has been driven home to me personally at the moment. The danger is you have an idea for a web business but you never take the first step in implementing it. You become so obsessed with doing it right and getting all of the elements in place that you never start. You are better off doing something and throwing it away in order to start again than not doing anything at all because the time is not right or you are paralyzed with fear of doing it wrong. Seize the day!"

A lot of people sit with tons of ideas and never do them. Planning should be in proportion with how big of a decision you are making. Big decision, more planning.. small decision, don't plan as much and just go do it. I've given myself the same advice and it really pays off to just get out there and do what you think about.

Developing a Timeless Skill-Set

Category: Business & Management Tags: Business | Written before Dec, 2007

The place I've been striving for is a place where I can use the proper tool for the job. Each programming language has their strength. Here are your average development languages and their common strength:

  • Animation = Flash/Actionscript
  • Functionality = PHP, ASP.NET, Java, Cold Fusion or Ruby
  • Information = HTML/XHTML
  • Basic Page Behavior = JavaScript
  • Styling Information = CSS

What if you had a web application that needed to do all of these things? You need a team of developers that can communicate very well with each other.

Typically you have someone who is of each individual expertise. You have the flash developer, the back-end developer, the HTML/CSS developer, etc. You have defined roles for each area, but I've always wanted to break that mold and be a developer that sees what is happening in all areas, from the inside-out. Someone who can develop no matter what new technology comes out or no matter what is the best tool for the job.

I want to develop work that takes advantage of the best of each platform. When new technologies change, I want a skill-set that is timeless and able to learn and utilize whatever is best for the job.

I think by learning a diverse amount of technologies you can develop a timeless skill-set. You then don't have to worry that you will be left in the dust by some revolutionary technology. Thats the goal of being a jack of all trades. To be useful in any situation and to possibly create things that no one else will think of.

A List Apart's Web Design Survey

Category: Tips & Random Tags: Business | Written before Dec, 2007

Designers, developers, project managers. Writers and editors. Information architects and usability specialists. People who make websites have been at it for more than a dozen years, yet almost nothing is known, statistically, about our profession. Who are we? Where do we live? What are our titles, our skills, our educational backgrounds? Where and with whom do we work? What do we earn? What do we value?

If you get a moment, take the A List Apart Web Design Survey.

I took it! And so should you. The Web Design Survey.

Working as a Jack of All Trades Developer

Category: Business & Management Tags: Business | Written before Dec, 2007

When I am asked, what do you do? I usually tell them, "I am a web developer, sort of." People understand that a web developer makes websites, but in general don't have the foggiest clue what I really do. I have a hard time explaining... "I do xhtml, css, javascript, design, flash, actionscript, c#, asp.net 2.0...etc". I guess that is why I created the skills page of my website. It is a step towards giving people a graphical overview of what I do.

My skills page shows that day-to-day my job changes. One day I might be a javascript developer, the next day I might be a Flash developer. That is why it is critical to have project managers that tell me before-hand, "Next week you will be doing _____ project doing _____" - this is great! They know what I am good at and assign me work accordingly. I am lucky to have great management that knows how to use a jack-of-all-trades - which leads me to my next point...

How Does Management Work With a Jack of All Trades?

The manager needs to understand the jack-of-all-trades mindset. I admit that it can be hard because one week they might want to work with Flash and the next week they might want to work with Ajax. The key is, keep them on one type of project before moving onto the next. My manager has been great at this - for a month I did ASP.NET 2.0, then for three weeks I did a Yahoo Widget and now I am working with Flash/Actionscript.

A Lot of People

The nature of the company certainly affects how well a jack-of-all-trades will work within it too. The company needs to have a diverse set of people with a diverse set of projects to stay engaged. Given these conditions the jack-of-all-trades developer will be happy and yield great results.

Do You Want to Specialize?

No, not right now anyway. The web changes so fast and I have about 100 news articles to read via RSS each day. Things are changing daily, everyone has an opinion on the next greatest thing, and businesses are affected by this industry's change. I want to go where the business needs are. So I need to keep up on a diverse amount of opinions, both in technology and business.

Do business needs stay the same? Nope. More and more business owners want to take advantage of the new methods of communication online. Blogs, RSS, Viral Marketing, Widgets, Social News and Social Networks all have growing audiences and it is critical to know what they are and why they are important. I want to be that person that can execute in the widest range of these areas that I can. Can I learn it all? No, I only learn the things I care about because if I care about them, then someone else cares to.

Increase Your Productivity with Multiple Monitors

Category: Tips & Random Tags: Productivity, Business | Written before Dec, 2007

Stefan Didak's Home Office

Photo is Stefan Didak's Home Office

This office is amazing. Although it looks like overkill, adding more monitor real estate can drastically increase productivity.

  • More information up at one time.
  • Lower the amount of times that you minimize and expand windows.
  • Multitasking is much easier.

Apple didn't think it was a good idea to be minimizing and expanding windows all day either. This is why they developed expose.

Mac OSX Expose

Expose allows you to see all of your windows laid in front of you so you can choose the appropriate one. This is so much better than searching through your taskbar to find the right window.

Overall, it solved some inefficiencies and frustrations when I switch to duel monitors in 2001. It is a great investment I will never go back to one monitor. Unless, of course I have a Mac laptop.

Communicate Your Inner Geek to Business People

Category: Communication & Reading Tags: Business, Terms | Written before Dec, 2007

As geeks we want to learn all of the latest shiny technologies. I find myself sometimes thinking, "Wow I know how to use Ajax, RSS, Dom Scripting, etc and now anyone would want to hire me". Well, thats true if the target audience knows what you are talking about and is looking specifically for those skills. But frankly, business people don't care and they only care if they understand that these technologies add value to their business. And honestly most business owners have no idea what I am talking about unless I put it in terms they can understand.

I put together this list of ways to describe my inner geek to business people.

Geek-to-business translation

  • RSS - An orange button people can click on so they know when your website is updated with fresh content.
  • Ajax - Faster because the page doesn't flicker when you click on things.
  • SEO - The website is written in a clean way that people searching for your site can find you.
  • Link Building - Get more people to link to you that have a similar topic to your site.
  • Server Side Coding - You need this to create logins, store customer information and anything that invo.
  • CSS - Makes your page look pretty. It speeds up making design changes.
  • Blog - You can write your own articles without needing my help.

Presenting your inner geek in a simple, almost child-like way makes people much happier with you. They think better of you and appreciate your work more. You become worth more to employers because they understand you.

If you can communicate your inner geek clearly, your chances of success are much higher. After all, why should they care that you know these things? You have to explain to them that you are excited about using your inner geek to add value to their company.

Other Reading - Categories