You are not logged in [login] | [register]
RSS MAD is both an RSS feed archive and online feed reader.
You can browse our categories, search for a feed, or if you already have a URL, use our online feed reader.
Simply start browsing the site, and if you find some feeds you like, register to view them on your own personalized page!
you are here: home » computers & internet » programming
Searching 180777 articles in 8938 feeds.
Do you like RSS MAD? Why not spread the news and tell a friend about it - it's as easy as filling out this form!
added: Mon, 05th December 2005 | 482 views | 0x in favourites
feed url: http://feeds.feedburner.com/softwarebyrob
Software by Rob explores the human side of software development, including hiring developers, using technology to fight poverty, and becoming a better developer.
Update: I finally fixed this issue based on a shot in the dark, hail mary attempt. I will blog about it more next week. For now, suffice to say this kind of thing makes me want to buy and colo my own server.
===
You may have noticed this site was down all day yesterday.
After about 5 hours of troubleshooting I’ve narrowed it down to either a WordPress issue, or a DreamHost issue.
Closing HTML Tag Killer
I know how to fix the problem: If I go into footer.php and remove the closing HTML tag the home page and single post display work…if I add it back they crash (500 error - when I look in the error log the message is “Premature end of script headers: php5.cgi”).
But the weirdest part is that I haven’t touched the blog, aside from publishing a couple new posts, in weeks. So for this to start suddenly means something else must have changed.
RSS Also Down
Although I hate the idea, I was considering leaving it without a closing HTML tag for the weekend and coming back to it after the holiday since browsers are very forgiving about not having a closing HTML tag. However, I noticed my RSS feed is also down, and when I remove the closing RSS tag the feed works in my browser, but FeedBurner chokes on it.
So I actually have to solve this problem. I’ve tried everything I can think of but haven’t made any progress in the last few hours.
404 Works
The last piece of information is that the 404 page works whether or not the closing HTML tag is in place. But when I copy the 404 page code into the index or single post template, it still crashes. So it seems like the content of the index and single post page don’t matter that much, although if I remove all of the content from these pages they do load fine.
Add to this the fact that the site stopped working very suddenly at 9 in the morning and it seems to me this is either a DreamHost issue or I’ve been hacked.
Help?
Any ideas are appreciated…
If you’re a WordPress guru and want to take a crack at fixing it I have no trouble compensating you for your time. Please email me at rob@softwarebyrob.com.
The Secret to Landing Clients Nearly 100% of the Time - I almost didn’t post this link here I think it’s so good and wanted to keep it to myself. It’s written by an internet marketing consultant, but the message applies to web design, web development, and software development just the same. The point of the entire article is a quote about halfway down - if you do nothing else, read the section titled “How to Land Your Client, Every Time.”
MileMeter - Auto insurance by the mile. If you drive less than 12,000 miles per year it will probably lower your insurance expenses. It also encourages you to drive less.
The Stupidest Exercise Machine You’ll Ever See - Title says it all.
91 Surefire Ways to Become an Event Greater Developer - Careful, you could kill days trying to do everything suggested in this list.
ResearchedFacts.com - “Tired of losing arguments just because your facts happen to be incorrect? We can help! Simply make your dubious assertions anywhere on the web and link back to us. We’ll back up your claim as a ‘Researched Fact’.”
Has A Customer Ever Tattooed Your Company Name on Their Arm?
The Startup Success Podcast - After the demise of The Micro-ISV Show, Bob Walsh is back discussing issues affecting software startups. A good weekly listen.
Open Source, For-Profit Startups - “FairSoftware is the place to start and grow your online business. We help you team with others, track revenue and share it openly and fairly. Hire people in return for a share of your income stream instead of upfront cash. You save money and they have more incentive to collaborate.”
One Laptop Per Child Give One Get One 2008 - For $399 you get one XO laptop for yourself, and one is sent to a child in a developing nation. The keyboards are small, but they run Linux and have wireless NICs.
$19 Usability Testing - This is awesome. For around $19 (you can add bonus money to get your tests completed faster), you get a 15-minute video of a real user going through your site or web app, and a written summary of their findings. I’ve used it on two projects and it has raised a slew of issues we had no idea people would have problems with. Definitely worth a look.
And finally, from Paul Graham’s essay Why to Start a Startup in a Bad Economy (emphasis added by me):
If we’ve learned one thing from funding so many startups, it’s that they succeed or fail based on the qualities of the founders. The economy has some effect, certainly, but as a predictor of success it’s a rounding error compared to the founders.
Most developers start as salaried employees, slogging through code and loving it because they never imagined a job could be challenging, educational, and downright fun. Where else can you learn new things every day, play around with computers, and get paid for it? Aside from working at Best Buy.
A certain percentage of developers become unhappy with salaried development over time (typically it’s shortly after they’re asked to manage people, or maintain legacy code), and they dream of breaking out of the cube walls and running their own show. Some choose consulting, but many more inevitably decide to build a software product.
“After all,” they think “you code it up and sell it a thousand times - it’s like printing your own money! I build apps all the time, how hard could it be to launch a product?”
Against All Odds
And most often the developer who chooses to become a consultant (whether as a freelancer or working for a company), does okay. She doesn’t have a ton of risk and she gets paid for the hours she works, so as long as she has consulting gigs she can live high on the hog
But developers who make the leap to develop a product are another story. Building a product involves a large up-front time investment, and as a result is far riskier than becoming a consultant because you have to wait months to find out if your effort will generate revenue. In addition, growing a product to the point of providing substantial income is a long, arduous road.
But let’s say, for the sake of argument, that you spend 6 months of your spare time and you now own a web-based car key locator that sells 100 copies per month at $25 a pop. At long last, after months of working nights and weekends, spending every waking moment poring over your code, marketing, selling, and burning the midnight oil, you’re living the dream of a MicroISV.
Except for one thing.
The Inmates are Running the Asylum
In our completely un-contrived scenario you’re now making $2500/month from your product, which doesn’t allow you to quit your day job. So you work 8-10 hours during the day writing code for someone else, and come home each night to a slow but steady stream of support emails. And the worst part is that if you’ve built your software right the majority of the issues will not be problems with your product, but degraded OS installations, crazy configurations, a customer who doesn’t know how to double-click, etc…
The next step is to figure out, between the 5-10 hours per week you’re spending on support, and the 40-50 hours per week you spend at work, how you’re going to find time to add new features. And the kicker is that support burden actually worsens with time because your customer base grows. After 1 month you have 100 customers with potential problems, after a year, 1,200.
And yes, the person you decided to sell to even though they complained about the high price ($25) and then couldn’t get it installed on their Win95 machine so you spent 3 hours on the phone with them and finally got it working only through an act of ritual sacrifice is still hanging around, emailing you weekly wondering when the next release is coming out with his feature requests included (requests that not a single one of your other 1199 customers have conceived of).
But you persevere, and manage to slog your way through the incoming support requests and get started on new features.
What you find is that ongoing development, as with any legacy system, is much slower than green field development. You’re now tied to legacy code and design decisions, and you soon realize this isn’t what you signed up for when you had that brilliant flash of insight that people need web-based help locating their keys.
It’s about this time that support emails start going unanswered, releases stop, and the product withers on the vine. It may wind up for sale on SitePoint, or it may be relegated to the bone yard of failed software products.
The Upside
The flip side to all of this is what you’ve already heard on the blogs of successful product developers.
Once a product hits critical mass you’ve conquered the hardest part of the equation. After that the exponential leverage of software products kicks in and you can live large on your empire of web-based unlocking-device locator applications. It’s a recurring revenue stream that can grow far beyond what you would make as a consultant, all the while creating balance sheet value meaning one day you can sell it for stacks of proverbial cash and retire.
This is unlike your consultant buddy, whose consulting firm is worth about 42 cents (he had an unused stamp on his desk) once he decides to retire.
But there is a dip before you get to this place of exponential leverage and proverbial cash. A big dip. And if you can get through it once, it’s more likely that you’ll be able to get through it with your next product. And the one after that.
Once you make it to the other side, you’ve learned what it takes to launch and maintain a product, and next time you will have a monumentally better chance of success because you are now a more savvy software entrepreneur.
Congratulations! Go buy yourself a nice bottle of wine and sit back, relax…and enjoy answering your support emails.
Blog Blazers is a book where “40 Top Bloggers Share Their Secrets to Creating a High-Profile, High-Traffic, and High-Profit Blog.” And amid the likes if Seth Godin, Eric Sink, Aaron Wall, and Jeff Atwood is yours truly (chapter 34).
It’s an easy book to pick up for a few minutes at a time since each chapter (comprising one interview) is only 5 or 6 pages. Many of the ideas presented are unique to this book, and I’ve been keeping a running list of changes I plan to implement on this blog.
The book hit the shelves last week. You can buy it from Amazon, or from the Blog Blazers website.
A few months ago I received a review copy of Debugging Your Information Technology Career: A Compass to New and Rewarding Fields that Value Computer Knowledge. I haven’t written many book reviews on this blog, but this book caught my attention as it relates to some of my past posts on job dissatisfaction and the potential for an IT job crunch.
I’m intrigued by the unique concept of this book: to provide alternatives to IT workers looking to change careers, but who want to leverage their existing technical knowledge.
The book lists 20 positions and includes an overview of each, a job description, an example of the typical workday, advice on where to look for this type of job, and a look at how the job is likely to hold up to outsourcing and a recession.
A few of the job titles include:
For someone looking to leave software development, this book would serve as a good starting point for additional research. I would not recommend it to the casual reader (the text is a bit dry), but if you are seriously considering leaving programming it’s a good way to get an idea of where you might find refuge.
If you’re in this position drop me an email and I will send you my copy. (sent)
Micro-ISVs. I’ve been contemplating the issue of building vs. buying for the past four years.
I’ve been on both sides of the coin: I’ve purchased 10 profit-oriented software products or websites, and built three.
Knowing what it takes to develop the initial version of a non-trivial software product (read: hundreds of hours), I’ve become a fan of buying. This is based on two factors:
As a software consultant I’m booked full-time and I bill a reasonable hourly rate. So to spend 348 hours (2 months) building a product means I’m approaching a mid-five figure investment into a software product. That’s not play money; those are real dollars that don’t wind up in my pocket.
And I don’t have the confidence in my ability to know a market well enough that I would drop that kind of money on an untested product idea when there are less risky alternatives.
Looking at the products I’ve bought and built, none of them required skills beyond that of a mid-level developer. Sure, there are products that are more complex, but let’s be honest, building an invoicing system does not involve insanely complex algorithms and coding chops. Most successful Micro-ISV products (and a lot of not-so-Micro-ISV products) could have been built by a few solid mid-level developers.
With this in mind, spending 348 hours of my time doesn’t seem like the best business decision when I can:
You probably think I’m nuts, preaching “buy” over “build” to a group of software developers. So let’s take a closer look at the scenarios:
Building It
I love writing software, so this has historically been my path of choice. However, the amount of money (based on lost consulting hours) I would spend on a 1.0, plus building a sales site, documentation, SEO, pay per click (PPC) campaign, etc… would be at least $40,000.
I have faith in my ability to build and market software, but that’s a lot of faith to put into something that’s generating zero cash. You’d be nuts to buy a software product with no revenue for $40,000.
However, if you want to run a Micro-ISV because you enjoy writing code, or you have a lot of non-billable spare time, then this is a viable option.
But I must caution you - laptops around the world are filled with the remnants of half-built products. Committing 200+ hours of your spare time to build and launch a product is no joke. Writing code 50 hours per week you would have a 200 hour project launched in 4 weeks…no problem!
But if you’re coding in your spare time you’ll be lucky to get in 10 hours of coding per week, and your productivity will be low because it will be 2 hour blocks when you’re already tired from schlepping mindless reports all day for “the man.” Trust me - I’ve done it. It’s not easy.
Soon that 200 hour project turns into more than 20 weeks of your free time…almost 6 months. The first month is a breeze, it’s the last five that’ll kill ya!
Hiring It Out
Hiring someone to build your software is a good middle ground, and allows you to maintain some control over the technical piece without it sucking the coding life from your veins.
The advantage of hiring out product development is that it gives you time to build the sales site, write documentation, focus on SEO, marketing, PPC advertising set-up, payment processing, and the hundred other things I’m forgetting to mention.
If you’re doing things right, the effort to get your product built is around 50% of the total time it takes to launch a Micro-ISV.
I’ve found success in outsourcing code and graphic design, and handling everything else myself. “Everything else” means the business side of things…the piece where you will likely learn the most, where you can bring the most value, and that you can’t easily outsource.
And think about it…a lot of people can build a good invoicing application. A lot.
But how many can work the necessary marketing angles, form partnerships, create a profitable pay per click campaign, and build a compelling sales site? Finding someone who can execute on these is much more difficult (and more expensive) than finding a developer who can build your application.
The single most important factor in the success of a Micro-ISV is marketing and sales, not the software itself.
In no way am I arguing for mediocrity in software development - your software has to get the job done. However, don’t believe for a minute that great software beats great marketing. It never happens.
There’s a reason Bob Walsh doesn’t help developers write better applications. He helps educate them on sales and marketing.
FogBugz is good, but probably not the best bug tracking software on the market. Yet I bet it outsells most of its competitors by a huge margin based on marketing.
If you don’t know how to work the marketing angles, form the partnerships, and do the other things I mentioned above you’re going to need to:
Seriously…building (or buying) a great application is not going to get you there.
With this in mind, let’s take a wild swing at the costs involved in this approach:
The graphic design and HTML will run from $500-$1500 if you offshore (optional depending on your personal view). Doing it in the U.S. will cost $2,000-6,000.
Two months of development (a safe estimate when hiring someone to build a small product from scratch) will run $14k-$21k here in the states, or around $7k if you offshore.
Total you’re looking at $16k-$27k in the states, $8-9k if you offshore. These are obviously very rough numbers based on a typical Micro-ISV product requiring two months of development.
The potential pitfalls of this approach are obvious: if the developer is bad, you get software that doesn’t work. A key strategy here is to screen your developer carefully and only hire really good ones.
Also, design the DB and screen mock-ups yourself. Not only will you get much closer to the product you envision, you’ll be able to maintain it in the long-term.
Buying It
This is the approach I started favoring about two years ago. It started with my interest in buying (and later selling) domain names and websites. I soon realized that there are bargains to be had when buying a product or site that’s already making money.
DotNetInvoice (my ASP.NET billing product) is a good example - I purchased the product, sales site, payment processing code, search engine rankings, and a small customer base for about 20% of what it would have taken me to build it, and yes, even cheaper than I could have hired someone to build it. It was built in Florida by two professional developers in their spare time. Quite a deal, indeed.
The reason these products and websites sell for such low valuations is that the market values revenue, and most of the product developers don’t have the marketing and sales knowledge to bring their product to its full revenue potential.
This means there are completed software products and websites for sale, selling for literally pennies on the dollar compared to your cost to build them. I realize this sounds like a late night infomercial, but believe me, it’s true. And how much would you expect to pay for this information? Just kidding…
The pitfalls of this approach:
As an example, I didn’t go looking for an invoicing system. I happened across DotNetInvoice and made an unsolicited offer. If you read my original account of the purchase you’ll know there were some early hurdles that I had to overcome. But once I worked out those kinks I’ve never doubted that I made the right decision.
One aspect I really like about buying a product is that it forces you, right off the bat, to not think about code.
As developers we want to spend all of our time working on technology because it’s where we’re most comfortable. But as I mentioned above the real hard work, and where you should spend the majority of your time, is on marketing, PPC, SEO, and partnerships. Buying a product forces you to think like this because the thing’s already built.
If you don’t want to spend the majority of your spare time on non-technical issues like marketing, I suggest partnering with someone who does, or sticking to the day job. The day job will probably pay better, anyway.
I’m one of the last hold-outs from the early days. You know, one of those crochety old developers who still buys Dell because they make the best computers at the lowest cost. Last night was the last straw in a series of events that have spelled the end of their reign for me.
I recently purchased a brand new Inspiron 1525 and ran into a number of problems after the order was placed that resulted in a 6-week delay in receiving it. I killed at least three or four hours with customer service, and several reps were actually quite rude on the phone. It was very interesting to have them give me attitidue and then to have no recourse (i.e., I asked to talk to their supervisor and they kept saying he was not available. I called back, waited on hold for another 20 minutes and talked to a supervisor who totally blew me off). That put me on the edge.
Then last night, I restarted my laptop and saw this:

My six-week old hard-drive is failing.
Sure, I have backups, but six weeks ago I spent close to 20 hours installing Vista 64 and the other 40 apps I use on a regular basis. Needless to say I don’t have another 20 hours to kill. But after 30 minutes on the phone with an unhelpful (and downright nasty) Dell tech support rep, a new drive is on its way. Don’t invite me to your house this weekend; you know what I’ll be doing.
Next time it will be Sony or Toshiba. Or does anyone have other suggestions on good brands?
Dell is dead. Long live the king.
Update
The day after this post went live I received a call from a Dell Level 3 Tech Support Specialist who was asked to contact me by Dell Corporate. The guy was a “Fixer,” and a good one at that.
The new hard drive had arrived by 7am that morning and the Fixer walked me through the install process and asked a few detailed questions about my previous experience with tech support. He let me rant for a few minutes, apologized, and got my system running again very quickly. He was insanely knowledgable - by far the best tech support person I had ever spoken with at Dell. Level 3, indeed.
He gave me his direct email and phone number and said if I ran into any problems to contact him. I re-installed Windows and my other apps in about 14 hours this time around, and was ready to work by the following Monday.
So at least one big company is listening. At the same time, if you don’t find a company with great customer service, or you don’t have a public soap box through which to voice your complaints, you’re going to be forever relegated to poor customer service prison.
A good friend of mine is being featured on this week’s MSDN webast geekSpeak. If you are interested in hearing more about REST and WCF 3.5 from someone with a lot of experience, check out the live webcast tomorrow (September 3) at Noon Pacific Time (you can even call-in since the show is recorded live!). More info available here: MSDN Webcast: REST and Windows Communication Foundation 3.5 with Adnan Masood.
From the geekSpeak site:
The geekSpeak webcast series brings you industry experts in a “talk-radio” format hosted by developer evangelists from Microsoft. This week, distributed systems guru Adnan Masood introduces the Representational State Transfer (REST) architectural style and its design principles, and discusses how they can be implemented using Windows Communication Foundation (WCF) 3.5. Adnan offers guidance and takes questions on when to choose a RESTful design over SOAP-based services and how WCF fits into the spectrum of Microsoft technologies that include ADO.NET Data Services (Astoria) and ASP.NET MVC.
I’m dying to call in and ask how the adoption of WCF 3.5 relates to John McCain’s decision to select Sarah Palin as his VP.
From a production app:
// You would think this would be as easy as using chkSend.Checked.
// But no. Despite what Microsoft says about the page life cycle,
// the Checked property is not set at this point in the life cycle.
// Maybe it doesn’t ever get set at all because of the repeater.
// I don’t think anyone really knows. It’s one of life’s great
// mysteries, like whether a falling tree makes noise if there’s
// no one around to hear it. I think it does, but just like the
// Checked property ever being set, I can’t prove it.
In the past 3 months I’ve completely revamped my development machine. I purchased a new external monitor, laptop, external keyboard, and printer. I figured the hours I spent researching and purchasing might benefit someone else looking to upgrade.
The New Laptop (Dell Inspiron 1525) - Dual core 2.4GHz processor, 4GB Ram, 320GB HD, Vista 64-bit. This thing screams. I’ve gone back and forth over the years between Inspirons and Latitudes, and while Inspirons have more consumer-friendly aspects (such as audio controls on the keyboard and a memory card reader), the placement of ports leaves a lot to be desired (Latitudes have all ports in the rear, while Inspirons have them all over the place). This time around I chose an Inspiron for the screen quality and price. Total cost was around $1450 including a 3-year at-home warranty.
The New Display (DELL SP2208WFP) - 22″ widescreen. 1680 x 1050 native resolution. Awesome brightness. Built-in webcam. The only downside is it doesn’t swivel 90 degrees (helpful for viewing long documents). Nonetheless, a steal at the sale price of $299 (now $339). I ran three displays for a while (2 externals + my laptop screen), but after I upgraded to Vista 64-bit my USB2DVI video adapter stopped working (no 64-bit drivers) so I’m back to two displays. I’ll probably buy a DualHead2Go in the near future, although fitting another 22″ monitor on my desk is going to be challenging.
The New OS (Vista Ultimate 64-bit) - Oy vey…transferring to a new laptop normally takes about 8 hours. This time, due to the 64-bit OS, it took me closer to 20. In addition, I lost the ability to sync with my Treo, the ability to use my Treo as a broadband cellular modem, and my ethernet card doesn’t work (although wireless is fine). I read a lot of reports on how Vista 64 is ready for primtime, and my comment is: “mostly.” Many peripherals did not work right away and this added up to several hours of troubleshooting.
I like Vista quite a bit (it’s fast with 4GB of RAM), but I have mixed feelings about the 64-bit upgrade path. However, if you want to utilize more than 3GB of RAM it’s your only choice; 32-bit Vista will not support more than 3GB. Of course, most of us remember when hard drives weren’t even 3GB. Crazy.
The New Keyboard (BTC 6300C) - I have long been a fan of laptop keyboards. I love the responsiveness of the keys and I type much faster on a laptop kayboard (which is due to the types of keys used, called “scissor keys”). I use an external keyboard since my laptop is elevated for optimal screen-viewing ergonomics (see picture below). After using a clunky $10 Dell keyboard for the past year it suddenly occurred to me that someone out there might just make an external keyboard with scissor keys. Lo and behold, there are several. I settled on the BTC 6300C, and love it. About $33 with shipping.
The New Printer (Samsung Clx-3175fn) - I looked everywhere for a color laser with built-in networking and a feeder tray. This is the only one I found under $600, and it was a steal at $299 from Office Depot (normally $399). I’ve had it for 2 weeks and I’m loving it. A huge improvement over my 5 ppm HP Photosmart.

My Rig. Simple, productive, and…gray. Wait, is that iTunes on the external monitor? Back to work!

The view from my office (note downtown Boston in the distance)
A Tale of Selling a MicroISV - My guest post on “Mr. MicroISV” Bob Walsh’s blog, 47hats.
Create PDFs from Office 2007 - You probably know this already, but you can generate PDFs from Office 2007 using this free download from Microsoft. This is news to me since I just upgraded to Office 2007 this week. I also upgraded to Vista 64-bit, which doesn’t run the software I’ve typically used to create PDFs. Also note, this capability was originally built into Office 2007 but Adobe threatened to sue and Microsoft removed it. Lame move on Adobe’s part.
Where Do Babies Come From as Explained By A Software Engineer
Microsoft Opens a Boston R&D Facility - More evidence that Boston/Cambridge is a good place to be in software.

M.I.T. (notice my son and I at the bottom center)
A Software by Rob reader writes:
Today, after typing in “learning .net through apprenticeship” into my Live search bar, I was pleased to see as the number 1 hit: Software Training Sucks: Why We Need to Roll it Back 1,000 Years … . As I read the article, I found myself nodding in agreement and wishing for a solution. You see, as a programmer who hasn’t done what I would consider real programming since back in the BASIC and COBOL days, I’ve been struggling trying to pull myself up by my bootstraps learning C# by meticulously going through books and online material
I am right now in a position where I’ve made a commitment to stop what I’m doing to devote full time to learning a new programming model and I chose .NET over the LAMP stack. Since publishing your article, have you heard of anyone who has gotten creative with apprenticing new programmers?
A very interesting apprenticeship model I’ve encountered in the past few years, albeit in another industry, is one in the entertainment industry. My daughter had an aptitude for audio recording and, through research, found a company out in L.A. that does recording apprenticeships. She was chosen as an apprentice and within 10 months they were pleased with her work and hired her full-time as an assistant engineer.
Is there any reason in your opinion that such a model (or something close to it) could not work apprenticing .NET developers?
I haven’t heard of any real apprenticeship programs for .NET developers. I think it would be an excellent model for improving development skills, building morale, etc… but it would take a very special company, probably one run by a software developer, to even consider such a thing.
Has anyone heard of such a company? [Consider this permission to shamelessly plug your company]
Trading Places with Indian Outsourcers (video) - An interesting look at a programmer who loses his job to offshoring and travels to India to get his job back. From the TV show 30 Days.
MIT/Stanford Venture Lab Videos - A collection of videos (updated monthly) presented by the MIT/Stanford Venture Lab, including: The Rise of Crowdsourcing, Future of Content Consumption, Shaking the Money Tree of Multi-Platform Social Networks, and Green Tech for the Consumer Market.
Prettify Code Syntax Highlighter - “A JavaScript module and CSS file that allows syntax highlighting of source code snippets in an html page.” If you listen to the stackoverflow podcast you’ve already heard Jeff Atwood talk about this tool. It’s impressive, especially since it’s written in JS. Make up a fake programming language and it will infer the syntax and highlight it. Seems like the first sign of the impending launch of SkyNet.
We Hate Quickbooks - A smart viral marketing play by the developers of Less Accounting. From the site’s description: “This site shows the unfiltered timeline of Twitter users who ‘tweet’ the word ‘quickbooks.’ We’re showing the good with the bad, so decide for yourself!” (link via Matt Youell)
I’m back from 10-days in L.A. where my wife received her PhD in Psychology after six years of grueling work. Yes, Dr. Walling is now in the house.
I’m launching a decent-sized project tomorrow (about 22 person-months of work), and moving to Boston on Monday - thus the dearth of posts lately. But tonight, instead of doing something important, I’m blogging. Since I don’t have a lot of time I’m going to rattle off a few things I’ve been thinking about:
What’s New
I’m on a kick to increase revenue from a few of my websites. Aside from my ASP.NET Invoicing Application, I run a blog directory submission tool and an e-commerce site.
My blog directory submission service receives 900 organic visitors per month without fail, and has for 3+ years, but only makes around $60 a month. The same goes for my e-com site, except that gets around 5,000 organic visitors (it’s on the first page of google for some generic keywords), and closes only 3-5 orders per month.
Those numbers are despicable, so I’m on a quest to improve the conversion rate of both sites, and will be sharing that process with you in the coming months.
Looking for Suggestions
I’m looking for a term to describe something I’ve been thinking about: a software/web developer who uses his (or her) talents to build, buy, and leverage websites and software applications to create multiple recurring income streams. Sort of a cross between a webmaster, a Micro-ISV and a website flipper.
It’s like a Micro-ISV in that it’s one person, but the “products” he makes money from are not limited to downloadable software. The “products” can be software as a service (SaaS) applications, e-commerce sites, interactive learning environments…anything you would need technical skills to implement that provides real value for a group of people (i.e., not these crappy Adsense sites that clutter search results with poorly-written ESL content). This developer would typically have a portfolio of sites/apps he’s working on to stave off boredom and ensure a stable, recurring income.
I’m trying to describe that in less than the two paragraphs used above, and here’s what I’ve come up:
Yes, this is a somewhat random question, but I think I’m going somewhere with it.
Any suggestions?
A friend of mine wrote the other day:
If you include parentheses ( ) anywhere in the directory path of a website, the error list in Visual Studio 2005 SP1 will not report the File/Line number/Column number for any compile time errors in the website project.
This has been a known issue since at least last year (I found blog posts dating from back then). One of the developers here [at his current place of employment] reported it to Microsoft months ago when they were on-site and nothing happened. I asked about it again last week after spending a couple of hours tracking down an error, so he opened a support ticket for it. A week later MS gets back to him and says “change the parenthesis to brackets and it will work fine.”
Except that we are on 3.x of the application and it’s all in MS Team Foundation Server (TFS), and TFS doesn’t allow you to rename a project (according to the guy I’m working with).
First of all, ouch.
Secondly, can anyone confirm or deny that you can’t rename a project in TFS?
Third, if you can’t rename a project in TFS…Microsoft, this is lame…fix it!
The LinkedIn PDF Button is the New Resume - Another post supporting my theory of the impending extinction of MS Word resumes. The best line:
Finally, after many years of wondering how to go about that, an opportunity to dabble on the side has presented itself. The first step was to hand off a resume. Hrm. I don’t even keep a resume anymore. I mean, how can I? I’m the blog is the resume guy.
Cities and Ambition - Paul Graham’s new essay bodes well for my move to Boston. I like that Paul’s best writing has nothing to do with software. Plus he’s really, really smart.
PHP Developer Opening in Obama’s Campaign - Write software, change Washington.
someecards.com | ecards for when you care enough to hit send - Sarcastic and often hilarious ecards from one of the writers of the Onion.
SomaFM: Commercial-Free Internet Radio - With several instrumental stations this site has some good coding tunes. Coming to you straight from my homeland, San Francisco.
A comment from Warren on my recent post Lessons Learned “Selling” My Micro-ISV (about my ASP.NET billing product, DotNetInvoice) brought up an important issue and a common misconception about NDAs:
Is an NDA even worth the time of writing it up?
Unless what you’re selling is worth the better part of a million USD, all you’re going hear from a lawyer is “it’s not worth taking it to court” (i.e. legal fees will eat everything before you get a bite)
A wise man once told me “We don’t write contracts for when we go to court, we write them to keep us out of court.”
In the case of small dollar contracts like an NDA for a $10,000 software product, a sales contract for a $5,000 website, or a $20,000 software development contract, the idea is not to win a court battle, but to accomplish two things:
Those of you following the chronicles of my ASP.NET billing product know that I purchased it about 16 months ago and after putting in hundreds of hours cleaning up the code and growing revenue, I offered it for sale to free up time for this blog and pursue another potential opportunity (that has since gone by the wayside, as these things are apt to do).
Within a week of my “for sale” post I received 20 email inquiries, sent out nearly that many NDAs, distributed 13 sales packets (including a detailed description of the product with all the relevant data, and a Google Analytics PDF) to those who returned signed NDAs, and spent about 10 hours answering questions via email. I set a deadline for offers to keep the process from dragging on, and by the time the deadline passed I had three suitable offers on my desk. Two of them were nearly identical, with a down payment and monthly payments.
The third was something I hadn’t expected.
Good Developers
In my 9 years as a professional developer I’ve worked with at least a hundred developers, but I can count on one hand the people I would recruit if I were starting a company - these are the best software developers I’ve worked with. Most are not great because of their pyrotechnic coding skills; they’re great because of their non-technical chops (future-oriented, ultra-reliable, attention to detail, and smart).
When I put DotNetInvoice on the auction block I was contacted by a developer named Jeremy whom I worked with from 2000-2003 (and on a few small projects since then). We worked closely on a number of projects, pulled a few all-nighters, and wrote more software than many of the four (or more) person teams I’ve worked with since. Jeremy is one of the aforementioned developers that I would count on my one hand.
So Jeremy called to make an offer for DotNetInvoice, but he had some concerns. He was fine with the coding aspects of the project, but questioned whether he had the time to get up to speed on everything it takes to run a Micro-ISV given that he hasn’t done much in the way of shrinkwrapped software, SEO, and marketing. After a few conversations he brought up the idea of buying in as a partner.
Partnerships
I’m wary of partnerships for a few reasons. I’ve worked solo for years and I like the control, the ability to make decisions when and how I want, and the fact that I answer to no one except my clients/customers. Partnerships inevitably bring a loss of control and create many unknowns due to the fact that you’re working with another person, typically someone you don’t know as well as you should when you start the partnership (”You’ve been to jail for what?!”).
Having worked with Jeremy for thousands of hours I have a good read on his strengths and weaknesses, which means many of the scary unknowns of forming a partnership are a little less scary and a little less unknown. And I have to admit that the prospect of being able to share the ongoing support and development burden was enticing. To top it off, although the the other two cash offers were over my minimum asking price, they were not what I was hoping for.
So I mulled it over for a few days, talked to a few friends and colleagues, and decided that the partnership offered the best terms: I get a small bit of up front cash, retain partial ownership, and get to focus on the pieces of the business I enjoy (and where I do the most good).
We still have the complications that come with a partnership (potential conflicts, loss of control, things falling through the cracks), but the thought of keeping the product I’ve worked so hard to build and having more time for other endeavors is very, very appealing. And the fact that I’m going out of town next week and I don’t have to spend a moment thinking about answering support emails is priceless.
Although not what I anticipated, my gut tells me the product will be far better with two experienced people working on it.
Next Steps
We recently finished hashing out the contract, and expect to release the much needed next version, with much sweat from Jeremy, in the next few weeks.
Do I wish it had sold for a high valuation? I think so. But even though I was committed to selling, I had a nagging doubt about whether it was the right decision. If you’ve ever built something and tried to sell it you’ll know the mechanics of the sale aren’t the hard part - it’s the psychological piece. I think I lucked out this time around.
A few lessons I took away from the sale process (keeping in mind I’ve bought or sold several websites and one software product in the past):
Thanks to everyone who expressed interest in the sale. I’ll keep you posted on how things progress.
[tags]asp.net, invoicing, partners, microisv, micro isv[/tags]
» more
» more
Is RSS MAD missing something? Tell us about new feeds here.