January 07, 2009

Wesner Moise

Alternative Search Engines

My latest finds include a number of e-book and document search engines that have been able to serve up information that even Google can't produce. These include scribd.com and docstoc.com and some e-book search engines, which feature all sorts of user uploaded documents.

The web is full of every imaginable hidden resources. A la rule 34, there seems to be almost nothing you cannot find in the web. Simply imagine a resource or search engine, then use Google to locate it.

by Wes at January 07, 2009 11:07 AM

Wesner Moise

Smart Software Should Get Out Of Your Way

Nick Bradbury, author of several successful software products, writes that "Smart Software Should Get Out of Your Way."

If you believe the tech pundits, “smart” software should predict what we’ll do so it can perform the next action faster.  “Smart” software should automatically correct our mistakes.  And “smart” software should adjust its user interface based on the features we’ve used in the past.

Sounds nice enough, but I’ve rarely seen software do these things without causing even more frustration than it attempts to solve.  It ends up being less like a helpful coworker and more like that annoying braniac every office is plagued with who constantly interrupts you with advice on working smarter by doing things his way.

The trouble with existing "smart" software is that they rarely incorporate genuine smarts. Rarely is there any actual intelligence underneath the actions, but rather a set of crude heuristics like pattern matching.

At the low end of the scale is Windows Explorer, for instance, with the lengthy pre-scans that occur when inserting a flash drive or performing a file operation: A single picture among diverse files selects the Picture view with a "Date Taken" column in the folder, for instance. Slightly better is Microsoft Word, which all too often misses with its "Auto" features, which are based on raw document text. Towards the higher end of the scale is the Visual Studio IDE, which maintains a dynamic internal representation of the code base. Even higher along the scale are products like JetBrain's Resharper, which incorporates substantial code analysis.

Then he seems to take a dig on me.

We all know that guy – he’s textbook smart but socially inept.  Which is a good description of much of today’s software.

by Wes at January 07, 2009 10:23 AM

Jon Chase (SendAlong.com)

New microISV Meetup in Raleigh-Durham-Chapel Hill Area

If you live in the Triangle area in North Carolina, you might want to attend the Triangle microISV Group’s first meeting on Wednesday, January 21st at 7pm. We’ll be meeting at the Panera Bread at the Southpoint Mall right off of 40 (directions).

I started this group because I know there are a lot of smart and crafty mISVer’s in the area and I’d like to get connected with more of them. I’m hoping the group becomes a valuable resource for other microISVs in the area. Don’t worry - you don’t have to have a business started to come and participate. You should definitely join in if you’re thinking about starting your own business too!

Here’s the official meetup.com page with all of the details for the first meeting.

See you on the 21st!

Comments

by admin at January 07, 2009 03:58 AM

MyMicroISV

Yes, You really should read this free book.

jumpstartccWhat do you do when you’ve launched a startup and you want to get some attention on it? If you’re Amy Hoy, who’s made a hell of a good name for herself in the Ruby/Rails community, you and your team put together a killer free ebook that every other startup should read on credit card processing, complete with JavaScript validation code, ruby examples and checklists.

And yes, I really mean you should get this ebook. And considering the quality of information, I bet their startup, freckle time tracking is worth a serious look too.

Comments

by Bob Walsh at January 07, 2009 12:03 AM

January 06, 2009

WorkHappy

FaxPipe

What is it?


FaxPipe: After initially recommending, and then getting hosed by Send2Fax (they significantly raised the prices, didn't let me know, made it hard to cancel and get a refund, didn't give a full refund), I was on the hunt for a replacement. I've been using FaxPipe now for several months, and can say it's everything I need and want in an electronic fax system.

faxpipe Who makes it?

AirCom LLC.

Why is it the killerest?

When someone  faxes you, you get a PDF attachment of the fax in an email.

To send a fax, you send an email with an attachment to a special email address, put the recipient fax number as the body of the message, and you're done.

You get a toll-free or local number.

Highly affordable.

There's isn't much to it, it's just what you need, and nothing you don't.

What could be improved?

Paying yearly on the lower tier plans isn't my favorite (although, not a big deal).

How much does it cost?

$48/yr for 25 pages/mo, $0.15 for more pages. Other plans.

Rating?

Reviewed by Carson McComas

by Carson at January 06, 2009 09:03 PM

Juuso Hietalahti (Game Producer)

Micropayments Are Good

I’ve been playing Savage 2 game for a bit, and I think these guys have really nailed how the whole “play online for free (but give your money to us little by little)” strategy should be done. Not sure if this is can be called ‘micropayment’, but at least their 5-10 buck payments are smaller than 20 buck games.

Their concept is really simple:

  • The game is free: it’s not trial. It’s not demo. It’s not “free download”. The game is free. Absolutely free. I think this is a terrific idea for spreading the game. People want free stuff, so why not give it to them.
  • People can pay for some stuff (that’s the catch): They are selling ‘premium accounts’ that give you some benefits (you can see more stats and get some extra perks - I think they could do bit better job saying what exactly all these benefits are). It cost like 10 bucks only. That’s again cheap.
  • People can pay for ‘items’ (that’s another catch): There are runes in the game, and if you spend 5 bucks, you can create yourself rune (or runes) that help your character a bit (like… give you more health or armor etc.). I find this terrific idea: it’s not ruining the game balance, but it’s very good offer for such a small price.

I think they could describe the benefits bit more clearly (so that the buyer really understands what he gets, and how many runes you get and so on), but I really like the concept. It doesn’t feel like ‘trial version’ (although I suppose that’s what it is by definition: feature limited version that you can play as long as you want). I suppose they have done good job hiding it.

That’s something worth checking out and learning.

Comments

by Juuso Hietalahti at January 06, 2009 06:40 PM

Neil Davidson

BoS digest: an idea for large-scale, real-life networking

How do you take a group of 400 and introduce each person to a handful of relevant people? And get them to know each other, to discuss a mutual topic of interest, and form a bond that will last more than the hour they spend in each other's company?

That's the problem I'm facing with Business of Software 2009. I've tried a couple of things in previous years. In 2007, we had a handful of break out sessions. That didn't really work: there were too few sessions so each session had too many people and by the time introductions were done we'd run out of time. In 2008, we had table sessions. People signed up in advance to one of a series of topics and then sat at pre-allocated tables of 10, each with a moderator. This worked for some people, but failed for others, depending on the topic, the people at the table and the skill of the moderator.

Inspired in part by Open Space Technology, I'm contemplating moving away from a structured session in favour of a marketplace metaphor. Maybe I'd let people loose over the venue and tell them to self organise for an hour. I'd encourage them to set up topics in advance through the Business of Social network site, use Twitter to communicate locations and organise impromptu groups, and provide helium balloons,  large pieces of card and marker pens for anybody passionate enough about a topic to broadcast their interest. It could be an interesting experiment.

All of which leads me on to this week's question of the week: have you ever been to a remarkable networking session at a conference? The best answer will get $20 of Amazon vouchers. Post here.

Networking in smaller groups is much easier: food and alcohol normally do the trick. Over several centuries, the ancient Greeks perfected it to an art form. They gathered in private symposia, one or two to a couch, and the symposiarch watered down the wine to an appropriate level (usually three parts water to one part wine) and made sure that everybody got the correct level of alcohol calibrated to his (and it was always his) personal level of tolerance and reaction to alcohol. They then discussed poetry and philosophy, with the symposiarch guiding and regulating the talk. I can't promise anything like that, and there's certainly no requirement to drink, at next week's London BoS dinner. But it should be a good chance to talk about the business of software with like-minded people. It's open to all, and you can sign up at http://network.businessofsoftware.org/events/london-bos-dinner-1

The two previous QOTWs (What are your predictions for 2009?  and Who would you like to hear speak at Business of Software 2009?) have been won by Dave Collins and John Hsu.

Paul Graham has tentatively agreed to speak at BoS 2009. He joins the current line-up of Joel Spolsky, Don Norman and Geoffrey Moore. If you want to keep up to date as I announce new speakers then follow me on twitter.

On the forums, Sam Ng asks how do you price SaaS, Scott Cote would like to know how product managers fit into the sales process and Mark Dalgarno asks about rental models vs perpetual licences for software. Answer these questions, and more, on the forums.

How important is integrity in business? Read Phil Factor's opinion in his A chilling prophesy blog post, and I have a guest post on interruption marketing (is it really dead?) on Avangate's blog.

Enjoyed this blog post? Subscribe to my RSS feed or follow me on twitter.

by Neil Davidson at January 06, 2009 07:17 AM

Benji Smith

Desktop Analytics: The Embeddable Library

In the spirit of me actually spending the bulk of my time writing code, I’m going to dispense with the meandering long-winded stories and just show a few details of the upcoming implementation of the Desktop Analytics platform.

Within the next couple of months, I’m going to release the full product suite. The server is written in Java and the reporting GUI will be deployed as an Adobe AIR application, but those aren’t what I want to talk about today. Today I just want to provide a sneak-peek into the embeddable library that developers will link into their own applications to enable statistical reporting.

The embeddable library is written in the D programming language, which compiles to native code and exposes C linkage. (DLLs on Windows and SOs on Linux; the OSX compiler is a little out of date and has some bugs, but rumor has it that it’s going to get a major overhaul in the near future.) Initially, I’m only going to support C/C++ deployment on Windows and Linux. But shortly thereafter, I’m going to write wrappers for Java and .NET. And hopefully the OSX compiler will be up to snuff by this summer.

I’m shooting for maximum compatibility with the most in-demand development platforms, so I’m going to let users tell me which wrappers they’re most interested in seeing. (Chances are very good that I’ll also write a Flash/Flex/ActionScript implementation, to support analytics on RIA applications. My recent development experience in Flex has been exceptionally pleasant. Stay tuned!)

Another one of my goals is to make it absolutely dirt-simple for developers to use the library. In the most basic cases, it should take fewer than five lines of code.

Here’s a simple case:

#include <AnalyticsLib.h>

void main() {

  char* sessionId = AnalyticsLib.createSession(
     "https://stats.mydomain.com:8080/",
     "MyDeveloperId", "MyApplicationId", "MyApp Version 1.0.6"
  );

  /* ...application logic goes here... */

  AnalyticsLIb.closeSession(sessionId);
}

Aaaaaand that’s it!

Easy like Sunday morning!

The analytics library starts a background thread that handles all the nitty-gritty details. It caches all of its data locally (on disk), periodically communicating with the server (over HTTPS, if you like) and flushing its local cache. If the application (or computer) crashes suddenly, the data is all recoverable. The next time the user starts your application the analytics library will flush the data from the previous session, along with a flag indicating that session terminated abnormally.

If the user disconnects form the internet, or if the server goes offline for whatever reason (upgrades, restarts, etc), no problem. The library will cache its data on disk and re-submit later, when the network is connected and server is online. If it can’t submit the data during the current session, it’ll submit the next time the user runs your application.

When the library finally does connect with the server, they exchange a series of one-time-only, one-way-hashed authentication tokens, to prevent casual mischief-makers from sending the server bogus data.

Every time a new session is created, the library inspects the local operating environment, collecting information about the current device:

  • The operating system name and version.
  • The CPU name, speed, and number of cores.
  • The total amount of system RAM.
  • The number of local hard drives, and their total capacity and available space.
  • The number of screens, and their dimensions.
  • The presence (and versions) of the JVM and CLR.
  • The network bandwidth (bytes per second, downstream).

If you need other information about the local environment (like maybe the installed version of some particular DLL) you can collect that info too. It’s part of the API, which we’ll get into later, but it’s not built into the default environment inspection process.

NOTE: As a customer of this product, you’ll have to agree not to collect any personally-identifiable user information. It will be one of the terms of the license. You’ll also have to disclose to your users that you’re collecting anonymous usage data. The last decade has proven that it’s possible to collect anonymous statistical data on the web without breaching user privacy, and I stay within those bounds.

Along with the environment data, the library will also automatically report some historical device-usage statistics:

  • The start and end times of the session.
  • The currently-deployed version of the software.
  • The total cumulative number of sessions originating from this device.
  • The elapsed time since the previous session.
  • The elapsed time since installation.

Beyond the automatically-collected device and session information, the analytics library also provides a simple API for reporting developer-configurable data, in four different categories: environment variables, benchmarks, events, and logs.

Once you’ve created a session, if you need to collect any environment variables not already included in the default installation, you can call a simple function in the analytics library to submit your own:

AnalyticsLib.envNumeric("Workstation Uptime (Minutes)", 673.25);
AnalyticsLib.envText("Python Version", "2.5.2");

Environment variables are reported only once per session. Re-submitting a new value for a previously submitted environment variable will overwrite the old value with the new.

If you’re concerned about the performance characteristics of your code on your users’ computers, you can run benchmarks locally and submit the results of those benchmarks for analysis later. Wouldn’t it be great to know the mean, median, and standard deviations of the execution time for some expensive function in your code? Do most of your users have blazing fast computers, or are most of them running pokey old-timer machines?

double units = 10000; // The cross-referenced document contains 10,000 words.
AnalyticsLib.submitBenchmark("Document Cross-Reference", millis, units);

The benchmark API allows you to specify the number of work-units performed by your code as well as its execution time. Later, you can use this information to produce charts and graphs examining how your code’s execution time scales with its dataset. Do your algorithms have logarithmic or quadratic performance characteristics? If you submit benchmark data from within your application, you’ll be able to produce histograms reports for your entire user base.

And, of course, you’ll be able to compare the benchmarks of various different user groups. Is your application’s performance more sensitive to CPU speed or to the amount of system RAM?

The analytics library also provides an API for submitting arbitrary events. An event is an instantaneous moment in time, with an associated name, and optional textual and numeric values. Here are a few examples:

// User disconnected from the network.
AnalyticsLib.event("NetworkDisconnect");

// User was idle for 1 hour.
AnalyticsLib.eventNumeric("BackFromIdleState", 60.0);

// User invoked the SpellCheck feature, from the Tools|Text hierarchy.
// You can report on any level of this hierarchy.
AnalyticsLib.eventText("FeatureInvoke", "Tools|Text|SpellCheck");

// User spent 6 minutes reading the 'Beginner Tutorial' page in the Help system.
AnalyticsLib.eventTextNumeric("HelpSystem", "Beginner Tutorial", 6.0);

With these events, you’ll be able to write complex reports to analyze the usage patterns of your users. How fully do your trial users explore the user interface? Do your “premium version” users actually use the premium features that they paid for? Although your users have long-running sessions (maybe they run your software all day long at work), how much time do they spend actively in the application, verses letting it sit idle in the background?

Finally, the analytics library provides a mechanism for submitting log data.

try {
   doSomething();
} catch (const MyException& e) {
   char* failureType = e.getFailureType();
   char* message = e.getMessage();
   AnalyticsLib.log("3D Rendering Subsystem", failureType, message);
}

In your ongoing effort to improve product quality, you can inspect those remote error logs to find the hard-to-reproduce faults that never seem to occur in your own development environment. You can even run statistical reports about the modules where the errors originated, the types of errors that occur, the types of devices where they occur most often, and the events immediately preceding the crash.

So those are the features! I hope you’re as excited as I am to see this stuff finally see the light of day in a few months.

Like I’ve said before, the embeddable library is about 90% complete (which is why I can describe it with such detail at this point). Currently, the lion’s share of my time is going into the GUI implementation. And boy is it going to be sexy. I couln’t be happier with the Adobe AIR platform. The Flex API is extremely well-designed, and the event-driven model is excellent. Also: the graphics are stunning. Pixel-perfection in a highly-functional GUI is finally possible, and I’m happy to say that the user interface is a near-verbatim recreation of my original mockup.

ActionScript, as a programming language, leaves a *little* to be desired, but it’s pretty decent, and the development environment is very productive.

Anyhow, I’m still working my ass off to get a 1.0 version released by the end of Q1, but I wanted to provide you guys with some of the implementation details that I’m hammering out, so that you can start salivating for the release.

Anyone interested in beta testing?

Comments

by benji at January 06, 2009 04:45 AM

Ben McGaughey (BugNinja)

Version 1.0.1 update of Goal Composer released - new features included

You can download the latest updated version of Goal Composer v1.0.1 at the website today.

http://www.goalcomposer.com/download.php


Downloading and re-installing will not affect your data, but if you are worried about it, you can always use the Backup tool in Goal Composer to create a copy of your database before installing the update.

Changes include:
  • Option to go right to the "Write Goals" screen when opening a plan.
  • Option to remember your plan selection, so the next time you start Goal Composer, it opens the previously selected plan immediately.
  • Goal Reminders now have an "always on top" setting so that when your reminders pop-up, they don't get lost in the shuffle of windows.
  • I added a few more checks and balances for various data entry areas. Not really bug-fixes, but precautions for unusual forms of data input.

Thank you for trying Goal Composer!

by Ben McGaughey (noreply@blogger.com) at January 06, 2009 01:56 AM

MyMicroISV

The microISV Digest

zigThe MicroISV Digest for the week ending January 5th, 2009.

(If you have an announcement of interest to your fellow microISV, indies or startups, please email me at bob.walsh@47hats.com with the word digest in the subject.)

News and Announcements

  • Jamie Gaines has jumped into the microISV waters with his startup Zig Internet Solutions, launching PhotoCannon. PhotoCannon is a cross-platform Adobe AIR application that makes it easy to resize and send multiple pictures at once. (via email)
  • After a horrible time with a home grown ecommerce solution, then fixing the problem by switching to FastSpring, Hector Sosa of System Widgets has rebooted PainlessSVN Professional 1.0.1, resetting its 30 day trial so that customers can have another 30 days try it and offering a half-off sale until January 31, 2009. (via email)
  • Sohail Somani, announced the official beta of Worklog Assistant (WLA). WLA gives you hassle-free time tracking for the JIRA issue tracking system so you never have to enter worklogs manually again. (via email)
  • I announced the start of my next Apress book project, working title The Startup Success Guide. Thanks again for all the support here and here and keep those ideas on what I should cover coming!
  • Pat and I released Show #10 of the Startup Success Podcast. We interviewed Scott Hanselman and announced the show’s new Facebook Page, where you can critique our questions for upcoming show interviews, suggest people to interview and remind me to speak faster, this is 2009 already!

    We’re especially looking for questions re the present and future of Delphi since we are interviewing Nick Hodges of Embarcadero Technologies. Thanks Zviki for your suggested questions! Who else has a question for Nick?

Relevant Blog Posts, Videos and Articles

  • None found.

Further (mostly relevant) Reading

  • None found.

Comments

by Bob Walsh at January 06, 2009 01:22 AM

January 05, 2009

Ben McGaughey (BugNinja)

Goal Composer - Double the Downloads

First, the Goal Composer download-to-purchase ration is at 3% now instead of 5%. This was to be expected after my forum traffic dropped off. However, this makes me think that the key is going to be getting more downloads. I'm checking out Robosoft already.

If I want more purchases, I need to double my downloads over and over again.

Also, on the 24th of January, Goal Composer is tentatively scheduled to be on Bits Du Jour. I have a little work to do to get ready for the promotion, but it's pretty exciting. Bits Du Jour has been featured in popular trade publications, and has become quite a hit on the web for people who love to buy software - so I am very excited about the exposure.

Some things I've noticed:
  1. Screenshots are very popular. I may be creating a video to demo the product a little better, and maybe adding more screenshots.
  2. People click to go to the "Buy Now" page via the purchase button, then when on the "Buy Now" page, they click the "Buy Now" link at the top. The price is very clear, so I was thinking that people may not know where to click to actually purchase the product, so I've made that more clear.
  3. People exit the purchase page and download page the most. I created a bold link on the purchase page to download the software just in case it wasn't clear that a 30-day trial is available.
Some things I'm doing to improve the purchase process:
  1. I updated the Purchase page so the Buy Now button and price are above the fold.
  2. I've added a coupon code system for promotions.
  3. I'm working on setting up an affiliate marketing system - any ideas would be appreciated.
  4. I created a PayPal transaction ID lookup system so I can avoid the problem of activation emails not being received from our server. Here's a little on how it works:

    The PayPal IPN sends a notification of sale to the server.
    I record the sale and transaction ID.
    I send out the activation codes if it's a valid sale.
    On the final page of the order, after the purchase has been made, there is a place for customers to enter their Transaction ID from PayPal to lookup their code right away.

    I am assuming that PayPal emails almost always get through, but mine may not. By doing this, I have created an alternative outlet to prevent customers from NOT receiving my activation codes.
Some things I've done to the website in general:
  1. Per advice on the BoS forum, I've made the numbered screenshot links clickable - not just the numbers.
  2. I added an email contact form and a feedback form to the website.
  3. I cleaned up the Download page and Purchase page.
  4. I added a Site Map to the bottom of the site.
  5. Worked on SEO with some ALT tags, Meta tags, and Title tag formatting for each page.
Some things I'm thinking about doing:
  1. Writing some articles right on the website about Goal Setting.
  2. Reading and commenting on other blogs relating to goal setting, self improvement, and marketing.
  3. Creating a testimonials page (hopefully the free blogger license will help me find a few)
  4. More screenshots or a video tour
  5. A few updates to the software itself.
  6. Using an alternative payment processor like Plimus.
  7. Using Robosoft to submit to more download sites.

by Ben McGaughey (noreply@blogger.com) at January 05, 2009 11:54 PM

WorkHappy

Creative solutions (and high drama)

Carsonified-comments Ryan Carson over at Carsonified opens up about some of his recent successes, and failures - which offer some interesting insights:

DropSend was built on a budget, grown to a profitable monthly revenue and sold for a healthy sum of money.

...

But we’ve also failed pretty badly with another web app called Amigo. We launched it in late 2006 and received some great press. The idea was solid (pay-per-click advertising in email newsletters) but the problem is that we were naive and we thought we could run it in our free time.

Then it gets good. He talks about a creative approach he's taking on his next venture, a new web application. In summary: he's contracting to have the developer (Elliot) build the application and be compensated with a revenue split of 10-25% of net, depending on a few factors.

First - the idea presents an interesting and thought-provoking (if not entirely original) approach, but as you might imagine, a wide range of vociferous comments in response ranging from claims that Ryan is exploiting Elliot, to accolades for the brilliant approach.

Ryan's various responses - including a rather touching chiming-in by Ryan's dad (!) make the entire post - and most of the 153 comments (so far) a very educational mental exercise for those considering alternative ways of moving forward during challenging economic times.

[Full Post]

by Carson at January 05, 2009 08:17 PM

Juuso Hietalahti (Game Producer)

Unrealistic = Bad?

Yesterday’s blog post about the best RPG character development system is getting series of good comments.

I spotted one comment, written by Jake:

The XP model, whilst commonly used, is weird if you think about it. You kill a load of monsters with a sword, then can spend your XP on magic. It’s totally unrealstic.

I agree that this type of development system (kill monsters, gain experience, spend points on whatever) is unrealistic but there are ways to make it more realistic.

For example, Lorezo Gatti commented:

I personally like (at least in theory) point buy systems, even if they are unlikely to be very balanced, because they are flexible: if some change makes sense (e.g. the GM decrees that during a long cruise everybody picks up some Sailing skill points), it can be compensated with available experience pools and other changes without changing the power level of the characters; if the power level changes (through experience awards or planned inflation) there is the maximum flexibility for converting the improvement to actual power; the character’s point value can take into account gear and other externalities.

This style works (I believe) well in some pen & paper RPGs: if the player can convince the game master that his character learned certain skills, then he can put some points to those skills. This can actually create more drama in the game as you try to find a way to convince the GM.

Another thing to ponder is: is it always bad?

It might be unrealistic, but does that really matter (in all cases)? Most games are unrealistic anyway. GTA 4 - you’d be dead very soon if those car crashes would be realistic. In Left 4 Dead you would be scared to hell if you’d see screaming zombies running towards you. There’s probably not a single real time strategy game where they would always display “failure” after campaign instead of “victory” (there’s no winners in wars) and no civilian kills or mental health aid that the soldiers require after killing people. All the games are somewhat unrealistic.

I think if the system works and makes the game feel fun - even if it’s unrealistic - it can be a good system.

I do agree with Jake, that there are games where this type of “kill monsters with sword, learn fireball spell” sounds dumb, and totally takes away something from the immersion. If it ruins the gameplay, it’s bad.

Your thoughts? (or suggestions for character development system)

Comments

by Juuso Hietalahti at January 05, 2009 06:39 PM

Neil Davidson

Interruption Marketing: Rumors of its Death have been Greatly Exaggerated

I've got a guest post on the Avangate blog where I talk about Napoleon, hemorrhoid treatment, toilet paper and why interruption marketing isn't dead:

"As Seth Godin says, you should create purple cows: products that are remarkable. Products that people want to talk about. But no matter how hard you try, your cow doesn’t always end up purple. Sometimes you’re stuck with a product that is merely good, or a product that people simply don’t want to talk about. Like hemorrhoid treatment. What do you do then?"

You can read the full blog post here:

http://blog.avangate.com/interruption-marketing/

Liked this post? Please follow me on Twitter or subscribe to my blog's RSS feed.


by Neil Davidson at January 05, 2009 05:13 PM

Ian Landsman

How to Start a MicroISV

Andy with a great quick start guide to starting a MicroISV. This covers all that boring stuff nobody covers in their starting a business articles. Well, maybe not nobody.

January 05, 2009 03:45 PM

Andy Brice (Successful Software)

Running a microISV

Consumers and businesses are being more careful with their money now, but they are still buying software if it will save them time and/or money. If you have been laid off in the current recession, perhaps now is a good time to start that microISV you have been thinking about. But starting your own business [...]

Comments

by Andy Brice at January 05, 2009 02:37 PM

Scott Karstetter

10% Off at the David Allen Company Store

Just a quick post to let you know that if you join the GTD (Getting Things Done) group at Facebook.com you can get a 10% discount at the David Allen Company Store (Home Office Category only).  The discount on his new book (”Making it All Work“) isn’t any better than what Amazon.com offers, but the other items that are available may be a good deal.  The discount is good until 01/30/2009.

The Facebook Group: GTD (Getting Things Done)

The David Allen Company Store: Home Office Category

Coupon Code: FACEBOOK

Share/Save/Bookmark

Comments

by Scott at January 05, 2009 01:29 PM

Casey Software

Capturing that Idea

The other day, I was chatting with a friend and colleague whom I respect and he mentioned that his idea well was dry.  That he's had lots of ideas in the past but didn't have any at the moment.  It got me wondering on something:

Why do I always have notes and ideas on another idea?

I didn't always have that.  I didn't always write down ideas, make some notes, and note questions and first impressions.  When did I start doing that?  What changed?  What made it so that I have a notebook of random ideas - don't worry, most are bad - laying about just waiting to be browsed?

And then I realize what the change was.  About 9 years ago, I worked for a complete nut.  No, I'm not exaggerating, the guy was committed both before and after I worked for him... and I finally had to file suit to get my last paychecks, but that's another story.

The point is that regardless of his crazy - like any stopped clock - he was right on one thing:

Always have a pen and paper nearby.

I can't begin to count the number of times I've been riding the Metro, waiting on a conference call, or even standing in the shower and an idea strikes.  The ability to flip out a piece of paper and write it down along with some first impressions is powerful.  It doesn't matter if it's a notebook, index card, or even just a napkin... some of the best ideas have been sketched out on a napkin.

The point is to capture the idea.  Not only can you use it to express the idea to someone else, but it can also serve to shift the consideration of the idea to another time.  When you have time to consider, when [choose some: business, financial,
time, contacts, market] are better, are when the ideas are just flowing
more smoothly is important.  But if you lose the idea, you can't even get that far.

The thing to consider and ask yourself is: How many of my good ideas are lost - even temporarily - due to the chaos of everyday life, bad ideas, other priorities, etc?  If that number is greater than zero, you have an easily solved problem.

A bit about my solution: Coming from an engineering background, I used to use engineering notebooks.  They're simple graph paper, bound together - useful for dating my notes - and I would use a paperclip to mark the current page.  At present, I'm using a little circuit board notebook filled with graph paper.

Comments

by Keith Casey at January 05, 2009 01:18 PM

January 04, 2009

Keith Alperin

Plus One

A year ago, this light-ped enterprise was brand new and i looked forward to the new year with excitement and very little experience as to how to succeed as an indy. As of today, i've released v2.0 of my flagship product, as well as the first version of my second product. I'm wiser if not wise and again look forward with excitement. For my loyal reader, here is a state of the endeavor: ...

by kalperin at January 04, 2009 11:30 PM

Patrick McKenzie (Bingo Card Creator)

Football Bingo… Who Knew?

I’m kind of scratching my head at this one so if anyone has any insight, please, I’d love to hear it: several hundred people have started downloading Football Bingo all of a sudden.  Not that I mind, of course, but I can’t square it with what I know about my target users.  I can’t seem to find [...]

Comments

by Patrick at January 04, 2009 09:56 PM

Juuso Hietalahti (Game Producer)

The Best RPG Character Development System?

I was discussing with friends of mine about the “best RPG character development system”, and here’s few of the ideas suggested:

  • Using of skill makes the skill better (in other words: if you use sword, you’ll become better in sword usage)
  • Experience points, that can be put to different skills (but so that you cannot develop everything, you need to choose which skills to develop)
  • Description for skill levels (Cyberpunk style, where skills had values from 1-10 and for example value 5 in leadership equals plummer, value 11 is Captain Kirk (the value which you can never reach))
  • Certain natural elements (race for example) define the maximum values, and then the closer the maximum you get, the more difficult it gets to develop the skill.

I personally enjoy a system where you have experience points (and even ‘levels’ - at least in some context) and then can put few points to different skills as you please. In addition to this, I like if characters have options to choose from different special skills, but so that they might need to choose their ‘path’ (bit like Jedi-style: choosing between The Dark Force or The Light Force, which then defines what sort of specialties you can get).

It was interesting to see, that people prefer to have very different ways on how to develop a gaming character. Some guys wanted a realistic approach, while others thought it was boring.

What about you? What kind of character development system do you like most?

Comments

by Juuso Hietalahti at January 04, 2009 07:29 PM

Scott Karstetter

5 Great Post’s for the New Year

image

Success Begins Today

12 Changes for 2009

John Richardson has written a tremendous post on how to make simple changes to improve your life.  He breaks down the changes by using 12 synonyms of the word change.  This is a must read.

2 Posts from Rock You Day

How To Make Your Goals Easier To Achieve This Year

How to actually make goals that can be achieved.  You didn’t complete all of your goals from last year?  Don’t become a repeat offender!

How To be Damned Serious About Your New Year’s Goals

This post details how to stay accountable when attempting to keep your goals for the year.

Amazon.com

Top 10 Resolutions

Amazon.com is taking a poll on the top 10 resolutions.

Dumb Little Man

22 Secrets to Discovering Your Dream and Living It

Great post with 22 steps on how to find out what your are meant to do in life.

Share/Save/Bookmark

Comments

by Scott at January 04, 2009 04:06 AM

January 03, 2009

Juuso Hietalahti (Game Producer)

Oh Crap, Winter Is Here (And It’s Ruining My Car)

Are you familiar with the old game production wisdom that says: “Fixing one bug just leads to 3-4 new bugs”?

I’ve just encountered it. Kind of. With my car.

Today we saw about -10 degrees (celcius) here, and the car doors were frozen. I tried opening one door, and then closing it, just to notice that it would not close anymore. I did all kinds of fancy stuff (no, I’m far from being a car mechanic) but with little luck. In the end, I just decided to try another approach and decided to open another door.

Bad move.

That door didn’t close either. The freaking door lock mechanism (or something) was simply so frozen that I could not close the door any more. I tried all sorts of melt-your-key-hole-thingy-sprays and whatnot but with little luck. Now I had two doors that could not be closed.

Eventually I just slammed the doors and thought that I let it be. It’s too bloody cold anyway so robbers won’t be stealing it (hopefully none of them is reading this blog now).

Nasty winter.

Luckily (like with any programming bugs) there’s always the ‘quick fix’ method. I’ve played so many adventure games that I know what to do when I see a long rope in the trunk of my car…

Comments

by Juuso Hietalahti at January 03, 2009 07:12 PM

Scott Karstetter

Great Reminder to Start the New Year Right!

This is the fortune I got from the Chinese take-out my wife and I had last night:

image

It’s a great reminder about all of those ideas you have tucked in your head waiting for the perfect time.  That perfect time will probably never come, you have to just get out there and do it!  Good luck achieving the goals that you set for 2009.

Share/Save/Bookmark

Comments

by Scott at January 03, 2009 03:54 AM

Joel on Software

Another resume tip

Are you a software developer applying to a small company?

Here’s a tip from someone who has read thousands of resumes. When you’re applying to a startup, or a software company with less than, say, 100 employees, you may want to highlight the Banging Out Code parts of your experience, while deemphasizing the Middle Management parts of your experience.

When a startup CTO sees a resume that says things like:

  • Responsible for $30m line of business
  • Architected new ERP platform
  • Managed team of 25 developers
  • Optimized business processes

they think, “Spare me, that’s all we need, somebody running around trying to manage and optimize and architect when we just need someone who isn’t afraid to write code.” Here’s the stuff CTOs at startups want to see on a resume:

  • Single-handedly developed robust 100,000 LOC threadsafe C++ service
  • Contributes to OpenBSD file system in spare time
  • Wrote almost 75% of the Python code running IsIt2009Yet.Com

If you’ve been in a large company for too long, you may feel that you put in your time, with all those years working your way up the hierarchy from the $50,000 coder jobs to the $250,000 Senior Vice President in Charge of Long Meetings With Other Senior Vice Presidents, and you’re kind of enjoying the nice parking space and the personal assistant and stuff, and coding? not so much, so now you’ve found a cool startup or small company, and you’re thinking, maybe now’s the time to jump ship? So you send your resume with your ERP stuff and SAP stuff and Vice President stuff to the startup, and it gets tossed.

Those VP jobs just don’t exist at startups, and the few VPs they have are the founders and a key early hire or two. Not you. And startups certainly don’t need extra middle managers. To a startup founder, middle managers just seem like added expense without more code getting written, and the only thing we REALLY need is

  • code to be written, and
  • customers to be called on the telephone.

Now, there’s a lot of resumes I see where, actually, I suspect that the candidate may have been (ahem) slightly overemphasizing the management/leadership/“architect” parts of the job, and slightly underemphasizing the banging out of code. And that’s fine if you’re looking to jump to a management position at a big company that, inexplicably, doesn’t have anyone to promote from within.

But for startups, everything about your resume has to scream getting your own hands dirty. Otherwise your resume makes you look like you’re looking for the kind of job where you can call meetings that take people away from coding all day long, which, to a startup, is about as useful as a one-legged man in a butt-kicking contest.

(More resume tips, and, if you’re really looking for a job, don’t forget the job board).

Need to hire a really great programmer? Want a job that doesn't drive you crazy? Visit the Joel on Software Job Board: Great software jobs, great people.

by Joel Spolsky at January 03, 2009 03:06 AM

January 02, 2009

Wesner Moise

Reboot

It has been about a year so far since I have written anything substantive in this blog. Yet, over the year, I have actually started on writing a number of blog posts that have never materialized. I think that there are a few reasons...

(1) Although I have been treating this as a personal blog, I felt the quality of my writing had to improve, which means spending more time composing and editing.

(2) A number of posts were going to be about the technology underlying my product, and, since there was still more work for me to do, I felt it too soon.

I still get mail about NStatic. I am still developing NStatic, and will eventually release it. Due to health and fatigue, I have not been directly developing for half the year, following several years of non-stop 7-days-a-week development (on this and other products) and no vacations and little entertainment.

My quality of life is at this moment very low, probably equivalent to or less than that of a graduate student; my outlay is over $2K a month. My existence is mostly online. Though I live in the Seattle metropolitan area, I have probably visited Seattle proper at the rate of once or twice for each of the past few years. I needed to correct an imbalance in my life as it has hampering my motivation.

My hiatus began late spring after I accidentally poisoned myself by handling and absorbing thought my skin diluted household bleach, which sent me to visit the hospital, kept me bedridden for a few weeks and subsequently affected my productivity for the remainder of the year. I felt sore internally, and my focus and vision was significantly diminished. Faces and text became blurred that I began wearing glasses, but my eyesight improved over time and seems to have recovered recently after using Visine. On a related note in September, I also suffered effects of stomach ulcers from heavy use of caffiene after trying an energy pill. It wasn't a good year for my health.

I have continued to read academic papers, follow online courses, purchased books on the subject and follow development blogs. I spent some time thinking in a high-level way about my goals. I also started doing things within my limited budget that I cared about like this election, in which I voted and volunteered for Barack Obama, Chris Gregoire, Darcy Burner.

I am getting back to development. If I haven't delivered by the end of first quarter 2009, though it might reflect severe motivation as each delay is an expensive financial impact.

I'll write more posts, but they'll initially be short.

by Wes at January 02, 2009 11:08 PM

Paul Lefebvre (Software Made Simple)

2009 Web Site Changes

Now that it’s 2009, I’ve taken a little bit of time to update my web site slightly. It really hasn’t changed all that much:

  • Updated copyright to 2009
  • Updated services page to include more testimonials and reworked some of the text for the various services
  • Added a new page for Pharmacaid, which warrants a separate post all its own
  • Used RapidWeaver 4.2.1
  • Tweaked the style template slightly
  • Made contact information more obvious

It’s annoying how long these minor changes took, however.

Comments

by Paul Lefebvre at January 02, 2009 10:41 PM

MyMicroISV

He’s at it again.

2393713435_7a024786aaI’ve started writing a new book for Apress: working title, The Startup Success Guide (SSG).

This is not Micro-ISV: From Vision to Reality (MIVR) 2.0. MIVR did and does a good job of covering what’s involved in moving from being somebody else’s developer to creating, marketing and making money as a self-funded microISV selling a desktop app.

I just forgot to cover how you create a startup that launches a web app. Oops. My bad.

Seriously, since I started on MIVR in 2005, web apps - or more explicitly, Internet-centric applications running on the web, desktops, cell phones, iPhones, etc. - have taken off. And startups - what used to be serial Silicon Valley entrepreneurs convincing VC funds to pony up a few multi-million dollar rounds of funding - have furiously evolved.

If you’re looking for info on how to get your standalone desktop app into potential users’ hands, lessons from various microISVs, pros and cons of different business structures, how to build a decent site for your microISV, etc., MIVR is a good choice.

If you need info on the pros and cons of the multitude of web app platforms, how to get funding from angel investors, micro VC’s and VCs in [economically shell shocked] 2009, subscription/alternative revenue models for web apps, how to develop a web app that will make money, the huge role Open Source now plays, why, how, where to build your web app’s social media network, getting PR about your web app and a lot more, I hope The Startup Success Guide is a big help when it releases this summer.

Three last things (I’m an writer, I can say things that way :)): I need your help. Specifically, I need your suggestions on big things to cover in the startup/web app world now so I can work them into the existing chapter outlines, and later, I’ll need your feedback on specifics, recommendations of people I should interview, etc. Add them as comments, email them to me, tweet them: whatever works for you.

What about Project X Bob!? Well, you don’t have to do something to write about it, but it does add verisimilitude. Look for Project X very soon. And maybe another startup too!

Writing a book is more than a little like doing a bungee jump - something I did in Queenstown, New Zealand too long ago. They tie your feet up, you stand on a little platform looking down while your body is screaming, “What the hell are you doing, you’re going to Die! Die! Die!”, then you jump. Here’s to a happy landing.

Comments

by Bob Walsh at January 02, 2009 10:08 PM

Joel on Software

Animoto

Tom suggested that I use Animoto to jazz up the slideshow of Fog Creek pictures. Here’s what came out of that:

Animoto is very simple: you give it a bunch of pictures and choose a soundtrack, and it gives you a video presentation. The part I liked best was how easy it was to get your pictures... you just point it at one of the five most popular online photo sharing services, and it shows you a list of your albums on that service. One click and all your pictures are imported:

The service is free for 30 second videos (about 15 pictures worth). For longer videos, it’s $3.00, which gets you a low res version. To upgrade to high res is another $5. There are all kinds of packages available if you plan to make a lot of videos. I was pretty impressed by the simplicity of the whole thing. It does take quite a while to render the video, though, so unless you have all day, you can’t make very many adjustments before you get tired of fooling around.

Need to hire a really great programmer? Want a job that doesn't drive you crazy? Visit the Joel on Software Job Board: Great software jobs, great people.

by Joel Spolsky at January 02, 2009 07:19 PM

WorkHappy

The Secret to Success In [whatever]

Chasej Chase Jarvis, if you haven't heard of him, is a very successful (by most any measure) commercial photographer. He's also a true mensch -- and as such -- the object of great admiration by many serious photographers.

He is frequently asked the secret to success in photography. I think his answer applies 100% to whatever you're trying to find success in. His answer?

  1. Be undeniably good (quoting Steve Martin).
  2. Dedicate at least 10,000 hours (quoting Malcom Gladwell from his new book Outliers: The Story of Success.)

[Full post by Chase]

by Carson at January 02, 2009 06:21 PM

MyMicroISV

I surrender!

I surrender!Okay Dan, Gregg, Andy, Ron, Saurabh, Shane, Tom, Brad, Faik and Mike: I surrender! I’ve just applied to join the Association of Shareware Professionals.

When that many people tell you in one day to go see the movie, you go see the movie.

Besides Mike bet me a $100 dinner (the cost of ASP a year) in Boston at the next Software Industry Conference if joining ASP did not generate $1,000 in new startup/microISV consulting business for me between then and now.

Mike’s either very confident, or likes to bet dinners. From all the positive feedback I’ve gotten about ASP, I think the former.

Two aspects worth noting: ASP’s Code of Professional Conduct (= What happens in ASP, stays in ASP) means I won’t be able to report back here specifics of what’s going on there - but I do intend to see if the ASP’s forums live up to their rep - or collect on that dinner. Also, It’s a Good Thing ASP is a BizSpark Partner helping startups who want to Microsoftize. I am too, just to mention.

Comments

by Bob Walsh at January 02, 2009 06:00 PM

Juuso Hietalahti (Game Producer)

Steps On the Path of Becoming a Successful Game Producer

Daniel from GameDreamer.net joined the Insiders and asked if I could review his brand new blog. (Those of you who don’t know, the yearly Insider subscription comes with a review bonus) This is a review about Daniel’s site, but also article about “steps on game producer path”.

The two steps
While a blog isn’t a product, and reviewing a (new) blog seemed bit difficult, I still agreed to do this.

The first thing that caught my was the site slogan: “Steps On the Path of Becoming a Successful Game Producer”. I read Daniel’s first post and I get the feeling he really wants to become a game producer/developer.

I think that means the first step out of 2 necessary ones are fulfilled. The second step is “go forward until you are a successful game developer”. I suppose if Daniel really wants to become a successful game producer, and takes steps forward every day (even small steps) he’s got a good future ahead.

Take what you need and leave the rest…
Another interesting point Daniel mentions in his about page is that “take what you need and leave the rest”. I tend to think similarly, so here’s some tips to consider regarding the website. Take what you need and leave the rest:

  • More content: Daniel’s blog needs more content. I realize it’s brand new, so I guess this is only a matter of time.
  • Newsletter: I always suggest people to start gathering emails from people. It’s one of the best ways to keep in touch on those people who visit your site.
  • Take away ‘visitor locations’: or put them somewhere less visible (like a separate page or something). Right now the ‘visitor locations’ takes the best space on the site.
  • Site layout could use something, but I think this is simply a matter of taste…

Since the site is brand new, it’s quite hard to suggest major changes. I think the basics are okay. If the goal is to gain traffic, then getting more content (and frequent updates) is a good start. I think that alone will bring a big difference in terms of gaining traffic. Then spending time on marketing the blog by participating different forums for example, will be helpful too.

If the GameDreamer.net blog’s purpose is to simply log Daniel’s progress on becoming a successful game producer, I see nothing wrong with that approach.

Comments

by Juuso Hietalahti at January 02, 2009 05:05 PM