Holidays in the sun (27 December 2007)
- Happy Christmas Everyone! I have just got back from my annual holiday where I went to Perth in
West Australia. That's about as far as you can get from Jersey without going into orbit. I had a
relaxing time so not much of anything else got done.
- To celebrate Christmas and the New Year I have prepared a new download - this includes the new fonts in the help file, compared to last
month's download where the help file was accidentially not included.
- Other recent changes - I have made my email less of a chore, by applying a new spam detection
filter and blacklists. This cuts out about 95% of the spam that was turning up.
ESWC - European Shareware Conference (2 Nov 2007 - 4 Nov 2007)
This is my review of the Annual European Shareware
Conference which took place in Cologne in Germany from the evening of Friday November 2nd to
Sunday November 4th. Here's the Easyjet flight from Gatwick touching down in light rain on Friday
evening with its valuable load of conference delegates:
We draw a veil over Friday's activities, and the conference proper kicked off on Saturday
morning. Following the pre-recorded keynote address, there were sessions as follows:
Marketing Panel, Sat 9:30 am
From left to right, the panel consists of Bob Walsh, someone I don't know, Adriana Iordan, Dave
Collins, Alvin, and Thomas Wetzel. Dave said that marketing is about creating conversations with
potential customers, not about big ponderous plans. Ways of marketing that work are:
- Personalizing our communications to the customer. Potential buyers want to see product reviews
and want to discuss things before making a purchase.
- Continued marketing efforts with new releases and sending out newsletters with details of
updates etc. Once a month is about right.
- Find an interested community of potential users.
- Marketing is a regular activity and at least half a day per week should be devoted to it.
- Track the marketing results and continually improve the process.
Marketing methods that don't work are:
- Print adverts (too expensive).
- Trying to get affiliates (they would need a high commission level of 80% or more to make them
Starting an ISV, Sat 10:30 am
The next talk was my eagerly awaited discussion on Starting an ISV. I talked about the things an ISV
should and shouldn't do and pointed out many potential traps, most of which I have experienced
first hand! Also there was a giveaway of Ubercode discount coupons, valid during the
Google Adwords, Sat 11:30 am
After the coffee break, Dave Collins and Thomas Wetzel talked about using Google adwords. Some
of the detail was lost on me as I don't use adwords. Dave suggested that the best Adwords position
is 1 to 3 at the right hand side, and to use Clicktracks to check the effect of the adwords, and to
test using a 7-day cycle so as to capture the effect of a single full week and weekend.
Software Licencing, Sat 1:30 and 2:30 pm
These sessions included Rudi Kugler from Wibu Systems and Jayne Metcalfe from Riverblade. They
talked about license models and copy protection, and discussed the Wibu license system using
hardware keys in the form of USB / PCMCIA dongles. The Wibu options are very sophisticated:
software can be time limited by a period since installation, time limited with an expiry date, or
it can be pay per start, pay per module, or network versions limited to any number of users.
Improving Usability, Sat 4:00 pm
The next session was Andy Brice of Perfect Table Plan, who talked about user interface design.
Here is Andy showing the conversion funnel which is the process of converting visitors into happy
This was a great talk and Andy was not afraid to come up with a wide range of interesting and
controversial ideas (I like controversial!):
- Usable software must be familiar, predictable, consistent, responsive and
- Installation must be reliable under different environments.
- Initial Blank Screens are bad. For example, a developer tool should not start up with a
blank page. Instead it should prompt the user with a wizard or a list of common tasks. I am happy
to say that Ubercode does this!
- User friendly language. Talk to your users using language they understand. For example
"window" not "dialog", "document" not "file", and counting systems starting at 1, not zero
(developers take note!) Use terminology familiar to your users, and provide visual idioms and icons
- Consistency means making your application look like existing similar applications.
Follow the platform conventions, for example a Windows Vista app should look like other Vista apps,
similarly with Mac apps etc.
- Responsive means your application should give feedback within 200 mS. If the task takes
longer use timers and progress bars and percentages, and update the indicators every 200 mS to give
- User's Mindset. Find how computer literate your users are, how often they use the
software, what they expect it to do, and make sure you match your software to this mindset.
- Put the user in control. As Andy said, it's called software so the user should be
able to make it do what they want. To put the user in control, all actions should be initiated by
the user, lengthy tasks should be cancellable, don't move the cursor and limit the use of modal
- Usability tests. These are very important for getting honest feedback from your users.
Find potential users, set them a task, ask them to verbalize their thinking, don't help them and
record the results. This will quckly find parts of your application that are confusing and
difficult to use. The only drawback is you can't reuse the same testers after fixing the
- More details are on Andy's www.successfulsoftware.net website.
SEO Optimization and Online Promotion, Sat 5:00 pm
This was presented by Marius of Submitsuite.com who has tools to help submit applications to the
online directories and download sites. Marius made some interesting comments:
- Google has approximately 120 million unique search terms per month, which is about 4 million
- "Organic search results" are what is found in Google normally, eg from your web page by its
content getting indexed. If some phrases are finding your site normally, you don't need adwords for
these. This is ideal for long term marketing.
- "Pay Per Click" is appropriate when there are competitors or when running a new campaign.
Getting Things Done, Sun 9:00 am
On Sunday morning, we had Bob Walsh of 47 hats telling us about Getting Things Done. It's
painful typing up a list of Bob's recommendations since I do all the bad things and none of the
good things. Anyway here are the main points:
- For the first time in human history we have too much information instead of too little.
- Information without action is pointless, unless you're building a reference library. It's
important to convert from Information Overload to Next Actions.
- Read "Getting Things Done" by David Allen.
- An ISV should prioritize between multiple different tasks by revenue. So when faced with
competing tasks, first do the one that earns the most.
Bob then talked about email being the biggest productivity destroyer. Don't allow email to
disturb you through the entire day, instead spend the first part of your day focused on work
without checking email. It's not necessary to respond to email immediately - even if you respond
the next working day, this is better than most businesses which often ignore emails anyway. Here is
Bob's 5-step practical system for regaining control of your inbox:
- Remove spam that got past the filter.
- If any emails are information that should be kept, move these to the correct place. For example
online banking statements could be printed and filed, technical notes could be categorized and
stored etc. The important point is not to use your inbox as a general dumping ground for unsorted
useful information. I fully agree - when I use my inbox for unsorted useful information, I get
depressed by the size of my inbox and the number of unanswered emails.
- Respond briefly to emails from people that are important to us. This might be accepting
meetings, giving information etc.
- Answer other emails that can be handled in under 3 minutes.
- The remainder are the 'hard core'. Paste into the email the steps needed for handling the
email. Then move the email to the appropriate place or queue and process them when convenient for
you. For example emailed sales questions should be moved to the Marketing activities queue, as you
may later send them some material and add them to a list. Support questions should be moved to the
Support queue, as you may want to add the answer to an online FAQ and send the enquirer a copy of
the answer or a link.
ISVs (whoops) Independent Innovators, Sun 10:00 am
Michael Lehman of Microsoft talked about Microsoft's commitment to the Indepent Innovator scene.
Microsoft are now referring to micro ISVs as Indepent Innovators so here is Michael talking
to all you Innovators out there:
During the feedback, there were interesting criticisms made by attendees. In particular,
developers could not get Microsoft Partner Program accreditations using C/C++ as Microsoft have no
exams in this area, many developers feel Microsoft churn their developer tools too rapidly, and
developers were frustrated with trying to find contact points in Microsoft. But Michael showed us
that Microsoft are helping ISVs:
- Michael explained that Microsoft is so large that someone knows the answer somewhere, and there
is an internal 'dunno' mailing list for enquiries that have no obvious destination. So he can offer
help for conference attendees who had problems finding the right contact in Microsoft.
- Microsoft are sponsoring an innovations award for the next ESWC conference.
- Microsoft are preparing an online micro-ISV university with scheduled talks and meetings.
- Microsoft sponsor the current 2007 ESWC, including give-aways of laptop bags containing some
I felt a bit sorry for Michael. He's the official face of Microsoft at this conference and he
has to follow the rules, yet he is genuinely trying to help and does what he can. So I hope all
these new steps work out.
Panel on Making ISV Business Effective, Sun 11:30 am
I found this the most useful session as the panel focused on practical things you can do to
improve your ISV. The key points were:
- Define the purpose of your ISV. Are you after profitability? Or a sustainable business?
Expansion? Or keeping the business interesting? These are not exclusive but you must be clear. In
my view profitability comes first, since without money none of the others will happen.
- To achieve profitability:
- Spend time expanding the business and doing marketing.
- Spend money on things that save time. If you can save days of work, or save even an hour a
week, it's worth spending a few hundred dollars.
- Keep fixed costs low.
- The three main activities of the ISV include Development, Marketing and Technical Support (I
would include Business Administration as a 4th but it wasn't my panel). Although customers are
important, don't allow them to fully dictate our schedule. For example technical support requests
can be logged and scheduled to be done at a convenient time.
- Use different computers for different activities. For example the Development computer could be
a laptop, and a different computer could be used for marketing and support. This helps you focus
when switching tasks.
Amazon Services, Sun 1:30 pm
The next presentation was Mike Culver from Amazon Web Services. This was an eye-opener for me as
I had no idea what Amazon was up to:
OK we all know Amazon sell books and electronics on-line. They also offer the following:
- Merchant Facilities. You can use Amazon as a merchant and fulfillment center. This means
you send them your products and they handle order processing and shipment.
- Amazon Associates. You can become an associate - this is an online seller who offers
pretty much anything using the Amazon online system.
- Commission Based Sales. You can register with Amazon and sell their products for a
commission. This is 2% to 10% for hardware, and 20% to 30% for digital data. It may not seem much,
but you simply provide the link for the order, and the order process is completed using the Amazon
web service. Amazon handle all support and delivery issues.
Web services are blocks of code or APIs that run on a web server, and they can be called up and
can return data over the web using basic HTTP. Amazon have moved big-time into web services:
- S3 Online Storage. Amazon offer data storage for 15c / GB / month, also they charge
approximately 10c / GB transfer fee (up and down). They back up and replicate your data so it
should always be available regardless of technical problems.
- EC2 Distributed Computing. Amazon provide access to pre-configured servers and virtual
machines. At the moment these only run Linux.
- SQS Message Queueing Store. Message queueing means you can put tasks into a queue and
read them out of a queue at a later time. Again this uses a redundant system, so the queueing
should still work if there are technical problems.
- Flexible Payment Service. Amazon act as a payment processor and e-commerce service.
- Mechanical Turk. You define tasks that can be done by people, then offer a payment per
task. For example you might show a picture of a stretch of road, and ask the reader to mark the
locations of any speed cameras. Supply and Demand should take effect here, as people will weigh up
the effort of completing the task against the payment they receive. This service is interesting
since it's a do-it-yourself approach to artificial intelligence!
ISVs and the Internet, Sun 2:30 pm
This panel session discussed the importance of the internet for being a successful ISV.
The panel consists of Bob Walsh, Anna-Jayne Metcalfe, Cristian Badea, Mike Culver, Peter Van
Hove and Tetyana Franke. The main points to emerge were:
- The reality of the internet is that as developers, we're more likely to find fellow developers
on the internet than in real life. Tetyana made the valid point that there is a danger - we are
more likely to be living on the internet than we are to say "hello" to our neighbours.
- Bob made the point that dialup is dead and that a stable business is a declining business.
- There was a debate on the merits of desktop apps vs internet apps. The consensus is that both
will continue to exist. There is always a demand for local graphics, CPU and storage, and the web
is appropriate for web services, collaboration and distributed applications.
Blogging for ISVs, Sun 4:00 pm
Bob came back again (I've lost count now!) to talk on the importance of blogging for the
He answered some common blogging questions:
- What blogging software to use? Typepad or Wordpress.
- When do I start blogging? Ideally before launch of your product, so as to build
- What do I write about? Business related things that add value for the customer. Not all
posts need be about your product, you will do better if you discuss in general the issues your
customers face. Also a blog is not the place for a private rant!
- How do I sustainably blog? Schedule this regularly, even if you only write a sentence or
two. You do not need to contribute the same amount each time. For example you could create the
occasional "pillar post" (similar to a position paper or white paper) that defines your views on a
problem that your application addresses. You can then write short articles or comments before the
next larger post. Regularity is more important than equal sized blog entries.
- How do I build readership? Show concern and passion about your subject matter. Create
the occasional "pillar post" as above, and connect to the blogosphere by leaving comments on
similar blogs and linking to similar blogs.
Also his general ideas included:
- Blogging = connection to your market.
- Google likes blogs because the content is written by people and is updated regularly.
- Blogs must also allow comments. This means you need to filter the comments as spammers
sometimes generate pseudo comments that are links to spam sites.
- Blogs should be aimed at the level of your customers. If your product is complex, you have
technically sophisticated customers that want an insightful blog that addresses their concerns. A
simple product needs a simpler blog using words your users understand without being
- Try out Touchgraph - this is an application that draws a network graph showing the links
between related blogs.
Web Design Mistakes, Sun 5:00 pm
This session is great fun - Dave talks about important principles of web design points then
shows sites that violate them in the worst possible way:
Dave's design points include:
- 5 second test - can you determine what the website does in five seconds or less?
- Get a balance between text and graphics, especially on key pages such as the home page and the
- Structure is important - you can to some degree guide your customers through your site. For
example you can guide them through a Benefits page to a Buy now page.
- Successful companies don't host pay-per-click ads. Pay-per-click sends out a negative
- Images should reinforce what you're saying and should not be unrelated stock photos, however
- Use recognizable conventions for text and navigation, and don't invent a trendy new site that
no-one can use. The general order of link buttons or tabs should be "Home", "Product info", "Buy
now", "Questions" etc, and these links should be consistent on most of the pages. In particular
make sure there is a "Buy now" button on the home page.
- For software you can use box shots or screenshots. After some discussion, we decided that
screenshots are best for techie products, and box shots for mainstream proucts.
- As discussed earlier, spend money on tools that save time. One example is quality graphics,
logos and site templates. According to one attendee, a good source of templates is
- The first few words of the title are very important for the search engines. Don't put the
company name first, since even without the company name in the title a search for your company name
will likely find you anyway. So by using the company name, you are using up positions that could be
better taken by other keywords.
Dave wrapped up the session by critiqueing sites belonging to attendees. To Dave's
disappointment, none of the sites were truly bad!
Award Ceremony, Sun 7:30 pm
At the end of the conference, David Boventer and Tetyana Franke made a draw to allocate the WII
console prize generously given by one of the sponsors:
Then Herbert Gey (Cologne council) and David Boventer (ESWC) presented the Epsilon award for the
best ISV product:
After that we were treated to the opening of the 2008 Cologne Carnival season. There was a
display by the carnival band wearing their Napoleonic uniform, then a display by one of the more
modern dancing clubs, then a short speech by the 2007 carnival Prince and Princess:
The carnival is great fun and takes place in Cologne and Duesseldorf each year just before
Easter. There is a perpetual debate between the two cities as to which is better - to humour Peter
I will say Cologne is better, though I have been to the one in Duesseldorf in 2000!
All good things come to an end and that wraps up the ESWC for 2007. If I have got anything wrong
or missed anything please email me. Next year's conference is in Berlin and I strongly recommend it
to any ISVers, even if you don't live in Europe. See you there!
My talk on How to Start an ISV (7 October 2007)
- Ubercode is now even better value! Because all Ubercode products are priced in US$, the recent
decline in the US$ has made all products even better value when purchased from Eurpoe or the UK.
The online store has been updated with the new prices so don't delay!
- Stop press - I'm speaking at the ESWC 2007
conference in Germany over the weekend of Saturday 3rd November / Sunday 4th November! The
conference is held at the Hotel Marriott in the center of Cologne:
- I will be talking about what it's like starting an ISV, and I will be giving some practical
hints and tips. So if you're interested in computer languages, ISVs, shareware or small business
then don't miss it!
- A new download is ready - I have been experimenting with the fonts
in the help files. The purpose of this is that the help file compiler which generates HLP and CHM
files from the input file now allows different font types. For example this uses Verdana for the
headings and Times New Roman for the body font:
- Also Ubercode got 4 stars on the http://www.prosperity23.com/ site! (I am not sure how widely
read this site is :))
Update (3 September 2007)
- Improved the code editor to hilite Basic, SQL, Batch files and resource files in addition to
- Updated the help file to include images from Windows XP wherever possible.
- In some cases the help file generator caused text to wrap wrongly when a left aligned bitmap is
followed by some text. This has been fixed.
- A new download is ready including the latest bugfixes and
improvements. Please report any bugs / improvement requests in the usual way.
CHM Help files (1 August 2007)
- You can now use the Tools - Options - General dialog to pick your preferred Ubercode
help system. Here's the main help page using CHM format:
Try it now by downloading the newest Trial Pack with the new help file
format. The newer CHM format has the advantage of working under Windows Vista which has already
sold 60 million copies.
- The download file is slightly larger since it includes the extra help files. Also, most of the
bitmaps are now updated to the Windows XP style.
- I'm interested in feedback on the latest version of Ubercode. Whatever your feelings about
Ubercode please email now with any
suggestions, feedback, things you love, things you hate, or even if you just want to say hello! If
you tell me about it I can fix it!
- Finally, I normally update the news blog monthly, so I apologize for leaving it so long. There
has been a lot of activity at my regular day job, also I have been working with a friend on the
development of some neural network stock picking software. Both of these have taken away a lot of
time from Ubercode development. You can help the situation now by giving feedback or by
purchasing a real copy of Ubercode now!
Help functions (16 May 2007)
- Well the new laptop is working fine and I have successfully replaced the keyboard. Dell were
pretty good, they sent out a spare keyboard and guided me through the process of installing it. So
my coding machine is back in business!
- The Ubercode run time library has been expanded by adding two new functions: Winhelp and
Htmlhelp, including their supporting constants. This makes it possible to call up both help
systems in the same way. The remaining task before adding a CHM file help system to Ubercode is to
change the IDE so it allows choice of help files.
- Again there is a new download which includes the latest bugfixes
and improvements and the new help functions. Please report any bugs / improvement requests in the
New laptop (10 April 2007)
Happy Easter everyone! Thanks for the feedback everyone gave me on Ubercode Basic, also known as
Visual Fred. There really is a growing and genuine interest in a VB6 compatible language.
Unfortunately I didn't get much development work done this month...
- First my laptop died so I replaced it with a nice new shiny Dell Inspiron 6400. It took a while
to get the build environment moved from the old laptop to the new Dell, as I had installed a fair
number of tools and utilities over the years. So during the move I wrote some guidance notes
describing the build environment to make it easier next time.
- The F8 key has just stopped working on the new laptop. I hope I can get the keyboard replaced
without having to test out my guidance notes several years early :-)
- ... had to move house yet again :) ...
Improvements to Helpster (13 March 2007)
The main news is:
- If you have recently sent email please re-send it. I have recently had about 20 times my
'normal' level of spam over the last weekend but things are back to normal now. All the spam was in
the form of fake bounces, which are when a spammer uses an address from your domain as a faked
sender. I apologize for any inconvenience caused.
- The help utility is now finished and working! It converts ASCII text with optional tag codes
into HLP files, CHM files and into HTML. It will likely be renamed to Helpster (or possibly
Helpguru) and may be included with Ubercode or possibly as a separate product.
- A new downloadable Trial version is available here and it will be
version 1.2. Please note that all existing users and new purchasers of versions 1.0 and 1.1 can
upgrade to v1.2 as soon as it is available.
Helpster program (14 February 2007)
At the moment I'm working on utility programs which form part of Ubercode :
- The help utility for creating help files of different formats from an input text file. This is
taking a bit longer than I thought. Basically I had to re-structure it to allow for the different
- A new downloadable Trial version is available here. This still has
the help file in the old (HLP) format, although it includes the new contents file.
- No Valentine's day date, which is why I get to update this on the 14th February!
HTML based Help (7 January 2007)
Work is continuing on the next release, which will include the following:
- HTML help. The help system will be expanded to include compiled HTML help (chm files), plain
HTML help, and the older HLP file format. Here is a preview of the help contents page in the HTML
As you can see, it looks pretty similar to the existing HLP file format (that's the point!)
- The conversion into HLP, CHM and HTML format is done by an internally developed help tool. If
people find this useful, I will tidy it up for release as a separate product or as part of the
Ubercode Professional Pack.
- Improvements have been made to the compiler and run time library when running under non-English
- Internal improvements to the run time library, to standardize on buffer sizes for most internal
functions. Also some other internal tidying up work, to help eventual testing under Windows
- At the moment the Visual Fred beta is broken - the problem occurred when I integrated the
Visual Fred compiler with the rest of the Developer Environment. The Developer Environment needs
changes so it can support both Ubercode and the Basic compiler. This will be fixed at the same time
as the v1.2 release, since it shares the same code.
- Added pricing for product upgrades and clarified the upgrade strategy. Any Ubercode purchase
can be credited towards an upgrade, at any time within 12 months of the original purchase. Pricing
is on the order page.
- The Ubercode Academic Version is now licensed free of charge (postage and handling charges
apply). The license is for CDs shipped to schools and colleges for class study over the course of
an academic year. The Academic Version is fully functional, however it is not licenced for
commercial use or for redistribution.
- Finally, a new downloadable Trial version is available here. This
is still in a beta state and is not the official v1.2 release!