Ubercode News Archive (2007)


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:

Easyjet VIP treatment

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

Marketing panel

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:

  • Blogging.
  • 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 sufficiently motivated).

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 conference:

Ubercode Coupon

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 customers:

Software usability

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 efficient.
  • 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 where possible.
  • 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 feedback.
  • 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 dialogs.
  • 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 problems!
  • 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 per day.
  • "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:

  1. Remove spam that got past the filter.
  2. 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.
  3. Respond briefly to emails from people that are important to us. This might be accepting meetings, giving information etc.
  4. Answer other emails that can be handled in under 3 minutes.
  5. 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:

Michael Lehman / Microsoft

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 nifty software!

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:

Mike Culver / Amazon

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.

Internet panel

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 ISV.

Bob Walsh / Uberblogger

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 interest.
  • 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 patronizing.
  • 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:

Web design - good or bad?

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 product page.
  • 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 penny-pinching message.
  • Images should reinforce what you're saying and should not be unrelated stock photos, however beautiful.
  • 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 fourtemplates.com.
  • 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:

Prize draw

Then Herbert Gey (Cologne council) and David Boventer (ESWC) presented the Epsilon award for the best ISV product:

Epsilon award (ESWC 2007)

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:

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:

    The European Shareware Conference 2007 (ESWC) is in the Hotel Marriott

  • 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:

    Help file using different fonts

  • 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 Ubercode code.
  • 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:

    Help System in 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 usual way.

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 formats.
  • 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 format:

    Contents Page in HTML format

    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 locales.
  • 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 Vista.
  • 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!