I’ve been working for myself for nearly 12 years, and for the most part I love it. But there is one aspect of being an independent software developer that I could happily do without, the cycle of feast or famine.
I attended a video cast thingie today - I think the kids call it a webinar - hosted by Amy Hoy and Alex Hillman titled Kick Procrastination’s Ass. It was really good, especially the first hour. If you have some spare time, I highly recommend watching it.
Amy Hoy answers the question “How do you stay motivated when you’re not making any money”. The post is a couple of years old, but her answer is as relevant today as it was back then. It’s not about finding and having motivation. It’s about developing good habits.
Today I did something that I’ve been saying I will do for a long time. I retired my CSV editor, Killink.
Last month I briefly mentioned my plan to productize some of the services I offer through White Peak Software. The main idea is to take a consulting service that I already offer to my clients and turn it into a product that my clients and others will hopefully subscribe to thus creating a monthly recurring revenue stream for my company. My goal was to spend no more than 40 hours over the span of a few weeks setting up this new product. And now, after spending 38.75 hours over the last few weeks, I’m ready to share more details.
A few years back I was making the majority of my income from the products I sold. My apps, my book, they were all doing well. But that changed in 2013. Things came crashing down, and I found myself wondering how I was going to pay the bills.
Lately I’ve been struggling to release new things out to the public, things such as blog posts, open source code, a new website and service I want to offer, even updates to some of my apps. What’s worse is that a number of these things are done and are just sitting on my computer. For instance, I’ve been using an updated version of Cross Post for nearly two months that isn’t available in the App Store.
I tweeted the other day that “I have the problem of wanting to do too many things at once, which is distracting. It’s time for me to learn how to scale back and focus.”
Amy Hoy wrote the first version of her book Just Fucking Ship in 24 hours, which is awesome. Along those same lines, David Smith built an app from start to finish in about 6 hours - also awesome, and he posted this video that shows the entire process.
Apple announced the dates for this year’s WWDC, and once again a lottery is being used to decide who gets to buy a ticket. I have no interesting is attending WWDC other than to attend the labs since I do have questions I would love to ask an Apple engineer. But it’s not worth spending $1599 on a ticket just for that.
One of the things that annoys me most about the size of my iPhone 6 Plus is pulling it out of my pocket while at a bar or restaurant just to see why my phone buzzed. The majority of the time my phone buzzes because of an incoming text message. I have notifications turned off for almost all other apps, and I rarely. if ever, get phone calls these days, which is why I know the buzz is most likely a text message. And if I’m at the bar without my wife, then the person trying to reach me is most likely my wife.
Yesterday Amazon announced new pricing plans for their cloud storage offering named Cloud Drive. You can store unlimited number of photos for $11.99 per year, or you can store unlimited number of files for $59.99. The later is a no-brainer for me as I have been looking for an affordable cloud storage solution like this.
I came across one of the silliest benefits I’ve seen for a remote developer job: casual dress code. From the job posting:
While writing my previous post on how working 80+ hours is not the answer, I was reminded of a Wall Street startup I interviewed for back in December 1999. The startup was staffed with many brilliant programmers, and I certainly would learn a lot from them. The startup was well funded, and they offered me more money than any other company had offer me. But in the end I turned down their offer.
A founder, or maybe the person is a manager type, asked on Quora, “How do you make programmers work 60-80 hours per week?” While the question is a pathetic one, the answers that follow, especially the first one, are worth a read. And you should certainly read the answers if you happen to be one of those sad founders/manager types who wants their of programmers to work long hours. In short, if you are trying to force your programmers to work 60, 80 or more hours per week, then you are doing it wrong.
Dan Counsell wrote an excellent post about removing distractions. In the post he talks about how he removed distractions by removing social media apps such as Twitter and Facebook from his iPhone. He’s done other things too such as reading a book instead of checking Twitter, and he started a “No Technology Day” on Saturdays, which is something I think I might start doing as well.
I have owned the vanity domain name kirbyturner.com for a long time, but I didn’t anything with it after buying it. That changed back when I was writing Learning iPad Programming. My publisher asked that I setup a website that talks about me, so I finally put kirbyturner.com to use. Unfortunately I never liked the look of the site. I used a bland template to create the website quickly. The site was ugly, but it served its purpose. Then Justin Williams created a new “professional web site” for himself.
A number of people have recently asked if there will be a third edition of Learning iPad Programming. The short answer is no, there are no plans. There are many reasons why I decided to not update the book, but a few key reasons stand out more than others.
My friend, Greg Raiz, talks about using a system to achieve goals. The particular goal he wants to achieve is writing more.
While catching up on the latest tech news last night, I came across a post that said Microsoft had acquired HockeyApp. My first thought was this is a joke. I immediately went to the HockeyApp blog site and, lo and behold, it is not a joke. Microsoft did acquire HockeyApp.
Last year my wife told me more family and friends would “like” my photos on Facebook if I posted the them directly to Facebook. At the time I was using ifttt to selectively cross post to App.net and Facebook. This meant my photos on Facebook were actually links to the App.net, which is where the photos were being stored, and this required my Facebook followers to tap the link to see the photos. Not the best experience for my followers.
There have been a number of recent blog posts about the doom and gloom of being an indie developer especially in the iOS world. The theme of these posts are basically the same. A developer spends some time building an app. The app is released into the wild, and sales are much lower than expected. Some developers give up while others will try again.
I do not own an Android device. I have spent less than 2 hours in my entire life playing with an Android device. I have never written an app for Android. Heck, I have never even written a single line of Java code in a shipping app. So, for the love of god, please stop asking me if I can look into problems related to Android and Android apps. I am the last person in the world you want to ask to help you with Android related problems.
To some my life seems like a non-stop vacation. I’m a ski bum, a slacker, someone who rarely works. I’m always off on some adventure, snowboarding in the winter months, hiking and kayaking in the summer months. And from one point of view this is true. Over the last 12 months I have spent a great deal of my time snowboarding, hiking and kayaking. But I’ve also been focused on writing code and building apps.
Believe it or not, I finally released a new app for iOS. It’s my first new app for White Peak Software in more than 2 years. Somewhere along the way over the last two years I lost my way, but I’m back.
I received an email today telling me a company is attempting to use my company name to register a .asia domain name. My first call to action was to check with my preferred domain name registrar to see if the .asia name was actually available, which it is. Next I searched to see if there are any rules or restrictions regarding a U.S. based companying owning a .asia domain name. Then finally I decided to search the name of the company attempting to register the .asia domain name. Turns out it is a scam.
This scam almost got me. It wasn’t until I searched the literal LYP International co., Inc that I discovered this insightful blog posting by Joe Wein about domain registration scams coming from China.
Don’t you just love the power of the Internet?
I attended my first Software Industry Conference this year and overall it was a great experience. I learned some good tips from the sessions I tended and from the people I met. I got to meet a number of people who, like me, are indie developers and or run small software companies. And I got to put faces on names of individuals from the ASP newsgroups and BoS forum. And of course I picked up a couple of new t-shirts too. Now if vendors exhibiting at conferences like SIC would hand out jeans and boxers I could have a new wardrobe each year.
The sessions covered a variety topics related to the business of selling software. There were sessions on distribution channels, alternative revenue models such as subscriptions and rentals, marketing, web site designs, the impact of social networks and more. I really liked the variety of topics covered. However, one thing I did not like was the lack of depth in many of the sessions.
Most of the sessions had multiple speakers providing different points of views on a topic. For example, the session on distribution channels had 3 speakers. The first speaker talked about breaking into the China marketplace. The second speaker talked about OEM distribution, and the final speaker talked about distribution through publishers and retail channels. With this particular topic the three speakers and the different points of view format worked well and was helpful and insightful. But the multi-speaker approach did not work for all sessions.
The session on web site analytics and metrics was one such session that I wish had been broken out into two separate sessions. The first speaker talked about monitoring your competitors, and the second speaker talked about tools and options for understanding what is happening with your own web site. What I would have liked to see was more in depth discussions and how tos on the two areas. For example, the talk about the tools and options for understanding what is happening with your own web site was good but it could have been even better if the speaker had time to drill into a sample web log using a tool of choice and explain in detail how to look for and understand the meaning of the data and how to uncover and find trends within the data.
It also felt as if each speaker was rushed to get through the information he or she wanted to share so that there would be enough time for the next speaker within the session.
Despite the lack of depth in many of the session talks, the Q&A; that typically followed was great. In many cases the Q&A; was more useful for me that the actual talk.
Another aspect of SIC that I really like is meeting a wide range of people who, like me, are producing and selling software products. Not only was it fun to share war stories and talk shop, I also learned a lot from the more seasoned veterans. For instance, Dan from TopoGrafix gave me some great feedback on my web site and suggested ways to improve my SEO with landing pages covering topics I had not thought of before. Not only did I learn a thing or two from others, but the conversations I had with various individuals gave me the kick in the ass I needed to re-motivated and come up with fresh, new ideas for growing my company and taking it to the next level.
So was the conference worth it? Absolutely. Granted my cost was low because the conference was held in the Boston metro area which is local for me and meant I didn’t not have to pay travel experiences (no airfare or hotel). But I do plan to return next year and I will be staying in the hotel so I can have more fun at the party-like receptions held each evening.
After fighting with a few last minute issues when running under Vista, Killink CSV 1.9 was finally released last night. I wasn’t able to get all the changes I wanted into this release but I got a good number of them. The biggest change is the new sort feature. Users are now able to sort their delimited text data using Killink CSV. Also included in this release is improved navigation (quickly jump to the top, bottom, left, and right most item using Ctrl+Arrow key combinations) and more ways to select values (Shift+Click to select a range of columns or rows, Ctrl+Shift+Arrow keys to select blocks of items from the active cell). And finally the ability to paste a value to multiple cells simply by selecting a block of cells.
This release was long overdue. But I’m hoping users will find the wait worth well. Please read the revision history for a complete list of changes.
One feature that did not make this release is Unicode support. I really wanted to include this feature in version 1.9 but it is taking more time to implement than planned. So instead of delaying the other features I decided to release version 1.9 without Unicode support. At the moment Unicode support is now planned for version 1.10 which I have already started work on and will be released soon.
I have received a number of requests for new features in Killink CSV to be included in the next release of Killink CSV. I have been telling people I hope to have the next release available download no later than the end of February. Well, today is the end of February and the new release isn’t quite ready. More testing is needed before this next release is made available to the public. Assuming all goes well, the new release should be available within the week.
The 3 most requested features coming in the next release are:<ul>
</ul>Bulk paste, for those who might be wondering what it it, enables you to paste a value or a set of values from the Windows Clipboard into a selection of cells. This is a neat feature because it enables the user to quickly set the value for a large number of cells.
So if you are one of the people waiting on the next release of Killink CSV then keep an eye on this blog and or the announcement area of the White Peak Software support forums.
I would like to express my sincere apologies to the customers of White Peak Software, especially those who are waiting for features to be added to Killink CSV. My life has been turned upside down, in a good way, over the last 3 months. My wife and I are expecting a new baby at the end of March and we recently bought a house, our first house, which unfortunately needed work before we could move in.
The good news is we will be in the new house by next Thursday and life will return to normal, or as normal as one can expect with a new baby coming soon. The other good news is that I’m planning to release the next version of Killink CSV soon. This next version release should have many of the recently requested features including sorting and Unicode support. An update to SMTP Diagnostics is coming soon too.
So again I apologize to the customers of White Peak Software and I appreciate your patience over the last few months.
I have been a Mac OS X users for 6 months now and I love it. It is doubtful I will ever return to a Windows only machine so I thought it fitting to list the OS X software I use regularly.<ul>
<li>Mail.app, which comes with OS X, is a powerful email program that allows me to manage the many, many mail messages I receive daily.</li>
<li>iCal is another handy program that comes with OS X. iCal allows me to manage multiple calendars.</li>
<li>Spanning Sync synchronizes my iCal calendars with Google Calendars.</li>
<li>Address Book, also free with OS X, is a nice address book manager.</li>
<li>Fusion by VMware is the one piece of software that convinced me to try OS X. While I love OS X I still must use Windows on a daily basis. Fusions allows me to run Windows hosted as a virtual machine within OS X.</li>
<li>Firefox is my preferred web browser. Safari is nice and I use it from time to time. But Firefox is the browser I use most often.</li>
<li>Adium is a friendly chat program supporting AOL, Yahoo, Messenger, Google Talk, and who knows what else. I like iChat, which comes with OS X, but I don’t use it often due to its lacking support for IM services such as Messenger.</li>
<li>iPhoto is my favorite application in the iLife suite. I enjoy taking pictures and I currently use iPhoto to manage all my digital pictures, a collection that is quickly approaching 7,000 pictures.</li>
<li>iLife ‘08 is another reason I decided to switch to the Mac. Making movies, burning DVDs, and managing my digital photos was never this easy in the Windows world.</li>
<li>CoRD is a remote desktop client. I use it often to RDP into other Windows machines on my network.</li>
<li>VLC is a freeware media player.</li>
<li>Unison is a nice newsgroup reader. I prefer the user interface from Agent but it is not available for OS X.</li>
<li>Vienna is an open source RSS feed reader.</li>
<li>SuperDuper is my preferred backup software. Easy to use, and powerful enough to make the types of backups I want.</li>
The Association of Shareware Professionals is celebrating it’s 20th anniversary. During its 20 year history ASP has brought together many of the best software vendors in the business.
As part of the 20th Anniversary Celebration, ASP has negotiated great deals on some quality software title including my favorite .csv editor and my favorite automated build tool.
Visit the ASP’s 20th Anniversary page for the complete list of software titles and discounts.
The last 4 weeks have been crazy, which is why I have not blogged much over the last month. For starters, I put in a lot of time on Killink CSV, the new csv editor from White Peak Software, over the last 4 to 5 weeks. Last month I rushed out release 1.3 to address some capability problems with Windows Vista but it turned out to cause more problems. That will teach me to rush out a release without proper testing. Good news is a lot of additional enhancements have been made to Killink CSV and today version 1.4 is finally ready for download.
Now that version 1.4 has been released I should be able to focus time on new features such as search and replace. Another new feature I’m looking forward to is file extension association with Killink CSV. This has always been a trivial task under Windows but Windows Vista makes it a bit more difficult, hence the delay. Still, I’m looking forward to this new feature.
It hasn’t been all work for me over the last 4 weeks. I did take time off for NASCAR weekend in Loudon NH. I knew I would have fun but I didn’t know I would have as much fun as I did. It was a blast. Everyone should spend at least one weekend camping in an RV and watching NASCAR races, even if you are not a NASCAR fan.
The server hosting thecave.com and whitepeaksoftware.com is moving to a new data center on Saturday, July 7. Because of this move thecave.com and whitepeaksoftware.com will be down for approximately 3 to 4 hours starting at 11:00 p.m. MST (GMT -7).
Today I discovered a new problem in Killink CSV, the .csv editor I have been working on. Killink CSV has 2 general options, “Remember column widths” and “First row is read-only”. “Remember column widths” has a problem with hidden columns when the “First row is read-only” is turned on. Killink CSV will ignore the hidden columns when populating the first row causing column headers to appear under the wrong columns.
The second problem is more serious. The option “First row is read-only” causes the program to report an unhandled error under certain circumstances when more than one file is open at a time.
Fixes for these problems will be available in a few days. Meantime if you are editing .csv files with Killink CSV I suggest you turn off these options until version 1.4 is released.
The Support Forums at White Peak Software are down due to some
I’m happy to annouce the release of Killink CSV v1.2, the spreadsheet application dedicated to delimited text files. Version 1.2 is a FREE upgrade for all licensed users.
Download Killink CSV at:
* Adds support for history, undo and redo actions
* Insert new rows
* Insert new columns
* Selected row column header highlighting
* Unsaved changes indiciator
* Select entire row by clicking row header
* Select entire column by clicking the column header
* Delete entire rows
* Delete entire columns
* Insert / delete cells
* Added popup cell editor (click the ellipses button at end of cell text or press Ctrl+Enter when a cell is highlighted)
* Right mouse click cell for fast access to common actions
* Fixed auto check for update
* Minor bug fixes and enhancements
* Fixed minor memory leak
I posted the following in the Killink CSV support forum but decided it might be helpful if posted here to:
Starting with Killink CSV v1.2 add cell values are formatted as text. This is a change from previous versions which used a general format similar to the one found in Excel.
The problem with the general format is that certain values are displayed in a format different then the format used in the actual file. For example, using the general format the value 01970 is displayed as 1970. Notice the leading zero is removed. With a text format the value 01970 is displayed as 01970. Changing to the text format means you will see the value as it is found in the file, which in my opinion is a good thing.
This leads me to the question, do you want the ability to change the format of cells?
I see some advantages to this. For example, by allowing formatting you could easily convert dates from a Month Day Year format to Year Month Day. Is this something Killink CSV users would find useful?
The latest beta release of Killink CSV v1.2 has been posted. Feel free to test the release and post your comments. If all goes well the final v1.2 release will be posted next week.
When I started White Peak Software 3 and a half years ago I lacked vision for what type of company White Peak Software would become. Over time visions developed and evolved into a single vision, to be a software vendor. During this evolution process I created multiple websites for White Peak Software. There is www.Killink.com for the csv editor released last month. There is www.SmtpDiagnostics.com for the first product released by White Peak Software, and there is www.WhitePeakSoftware.com, the official company web site.
Each site shares a similar look and feel which provides some synergy between the websites. But I also felt it led to some confusion in branding.
There are a number of reasons I took the approach of having product websites in addition to a company website. These reasons were based on advice read, heard, and given to me such as:<ol>
<li>Having different product websites is better if products are unrelated. Unrelated products can lead to confusion by the customer.</li>
<li>Customers can be confused if your website offers both products and services.</li>
<li>Customers might think you will drop support for a product if your product offerings are unrelated.</li>
<li>Having a separate product site makes it easier to sell intellectual property rights to another company.</li>
<li>A url such as www.myproduct.com might be easier to remember and type then the url for your company web site.
But after releasing Killink CSV I started second guessing the advice. To me it seems odd to have the multiple brands. It seems odd to push a product with its own brand while keeping your company name in the shadows. It seems odd one would want to start from scratch with a new website. After all improving a website’s page ranking and relevance within search engines takes a long time. It seems to me a new product would benefit from being marketed from the vendors existing company website.
So I looked at the websites of various software companies which have been successful over the years. I discovered many of them have a single company website with multiple, unrelated products for sale. Here are some of the sites I looked at:<ul>
<li>Fog Creek Software</li>
These software companies sell multiple products including ones that are unrelated to one another. Some have registered the product name as a domain name, such as snagit.com, that will redirect to the product’s home page within the company’s website. So if these companies are successful with only a company website then the recommendation that small software companies should have a product website and company website does not always apply, right?
This research got me thinking a company website is better than having multiple product websites. But as I continued researching I found there is no one good approach. One approach is not better than the other. To use separate product and company websites or to have only a company website depends on the company. For instance it is probably better to have a product website separate from the company website when the company’s product is a web-base application. However for a company like White Peak Software having product websites and a company website doesn’t make a lot of sense.
The product website means more work. Branding gets confusing. Trying to promote the company brand with the product becomes more challenging, and leveraging the capabilities of the company website can lead to customer confusion. This is why I decided to consolidate White Peak Software’s product websites into the company website. This will help me promote the company name at the same time I promote the products.
Google AdWords ads are a perfect example. Instead of seeing www.Killink.com in the ad you will see www.WhitePeakSoftware.com. The ad text still talks about Killink CSV but the company name now also gets additional exposure. More exposure is better than less exposure when building a business, right?
So after spending a lot of time thinking about the pros and cons of product websites versus company websites, I decided to consolidate the related White Peak Software websites. In other words, I have eliminated the product websites and now have only the company website. The product website domain names are still registered and will remain registered. Surfers who enter killink.com or smtpdiagnostics.com will now be redirected to the product home page within the White Peak Software company website.
This is partly a marketing experiment albeit one that will take time to determine the results. My hope is that consolidating the sites will help increase the company brand and encourage more sells. Time will tell if this indeed turns out true. Meanwhile I have the immediate benefit of having only one website to focus on improving instead of three.
Killink CSV v1.1 has completed testing and is available for general use. Click here for more information.
The latest build of Killink CSV v1.1 is available for download. This is a beta release and is intended for testing purposes only. More information is available here.
I received an email today from an individual asking if Excel files could be opened by Killink CSV. The person’s goal is to load the Excel file into Killink CSV and save the data to a pipe delimited text file. As far as I know this cannot be done in Excel, so guess what?
I have talked about White Peak Software being a product company for the last couple of years, but the transition from services to products has been challenging. I’m working on a new email program call Vertigo but progress has been slow for various reasons. I learned trying to get a product like Vertigo out the door at single person software company is a huge challenge especially when you rely on services work to bootstrap any R&D; work.
What I need is a different approach, so 8 weeks ago I came up with a set of short term goals to start building momentum towards being a product company. Tomorrow is the last day of the 8 weeks and I’m happy to say I reached my goals as of today. It hasn’t been easy especially over the last couple of weeks which has had me working 14 hour days, but momentum is finally starting to build.
Over the last 8 weeks I released an update to SMTP Diagnostics and published a new product called Killink CSV. I have also made numerous improvements to the White Peak Software web sites including a fully integrated store front. More work is needed but things are off to a good start.
My next challenge is to sustain and build on top of the momentum started over the past 8 weeks. This means a new set of goals for the next 8 weeks. The new goals include:
* At least 2 product releases
* Sell at least 20 units of my products
Key to the next 8 weeks is selling 20 units. This means not only getting updates to Killink CSV out the door but making improvements on the marketing side. Currently, my plans include a press release campaign and Google AdWords. I also plan to do a better job monitoring conversion rates and web site traffic, something I have ignored over the last year and a half.
My motivation level is high and will only get higher as sales increase. But even with a high level of motivation I must do a better job managing my time during the next 8 weeks. I’ve been working 14 days recently and it’s starting to wear on me…and on my wife too.
White Peak Software has a set of support email accounts. Each time an email is received it is logged to a tracking database and internal notification emails are sent out. In addition to responding to incoming email I review email messages marked as spam each day.
I noticed today the number of spam messages received had dropped to only 5. This seemed odd but a new grey listing anti-spam measure was also implemented this week on the mail server. I thought it was too good to be true that 99% of spam messages received were being filtered by the mail server. After all the mail server is configured to mark most spams not deleted them for fear of fault positives.
As it turns out the reduction in new spam messages was not the result of improved filtering but a problem with the tracking system. The support mail accounts have been overloaded the last 48 hours and the tracking system has been slow to catch up. The problem has been fixed and the queued messages are now being processed.
If it had not been for the reduced spam count the problem might have gone undetected for a longer period of time. For once spam proved to be useful.
Yesterday was a 16 hour work day for me. It was a long day but a good end to a long, busy week. However I made one last minute mistake last night. I posted the new release of Killink CSV but I forgot to update the download page with links to the new download files. My apologies to anyone who tried downloading the program in the last 12 hours.
I updated the download page this morning, so all is well now.
Whew, it’s been a long, busy week.
I have been hammering away at various performance issues with Killink CSV and I’m happy to announce a stable build is now available for download. This is Release Candidate 1. Assuming no more show stoppers the final release of Killink CSV should be posted in a few days.
I’ll try to find time this weekend to blog about some of the performance improvements made in Killink CSV. One aspect I find exciting is the use of a custom dataset that allows a single copy of the delimited data to exists in memory and is used to feed data to the print module. But more on that later.
I’ve also been busy this week cleaning up the White Peak Software web site and the Killink CSV web site. The SMTP Diagnostics web site will be updated soon. Also look for a new release of SMTP Diagnostics coming soon with better Windows Vista support.
And if you haven’t seen it yet check out the new White Peak Software Store. The new store front is fully integrated with the White Peak Software web site giving the customer a more seamless shopping experience.
As I said, it has been a long, busy week.
Yesterday I had a need to install PowerPoint 2007. Typically I install something like this in a virtual machine to avoid problems with other applications but yesterday I was in a rush so I installed PowerPoint 2007 in my “production” VM. The Office 2007 installation gave me the option to keep my Office 2003 applications and install only PowerPoint 2007. “Groovy!” I thought. Well, it turns out not to be so groovy.
After installing PowerPoint 2007 and doing what I needed to do, I launched Outlook 2003. As Outlook 2003 was loading the Office 2007 installer popped up and attempted to install something. I cancel the installer and Outlook 2003 finally loads. I checked my mail, read a few messages, and clicked Reply to author a response to a new message. Here’s where the problem started.
I have Outlook configured to use Word as the editor for messages. When I tried to reply to a message Outlook locked up. Not only did the application lock up but the entire operating system locked up. I had no choice but to power off.
Rebooting didn’t help either. Outlook 2003 did not properly load, and I had a new problem. Microsoft’s automatic update was now maxing out the CPU. To regain control over the machine I killed the automatic update process.
After dealing with this mess I believe I found a work around. After installing PowerPoint 2007 and before launch Outlook 2003, launch Word 2003. If your experience is similar to mine you will notice Word 2003 loads without the XP theme. After about 30 seconds Word 2003’s UI switches to the XP theme. It is after this point that Outlook 2003 is once again able to use Word 2003 as its editor.
I can’t guarantee this will work for you but it did work for me. I’m now able to use Outlook 2003 once again.
The only problem that remains is the automatic update for Windows. It still maxes out the CPU and the process must be manually killed. I can handle doing this until I have time to re-build a new “production” VM.
Update: I found this wordaround to the maxed out CPU problem.
I’m coming to the conclusion that having code loop millions of times to copy data from one structure to another is never going to be fast.
I’m using two controls, a spreadsheet control and a report printing control. Unfortunately the two do not support the same data structures so to print a report Killink has to copy the data from the spreadsheet to the report which means looping. And when there are a million + rows with 3 columns the code is looping 3 million + times. Not much can be done to speed it up.
What I need is a way to keep the data in a single data structure that is supported by both components. I’m starting to have a better understanding why certain commercial software tends to not rely on 3rd party components and libraries. However, time is important to me so I must rely on 3rd party components for certain features.
For now Killink will have to warn the user before allowing a huge files to be printed. “You wish to print a file that is very large. It will take some time to prepare the data for printing. Do you wish to continue?”
The report I’m trying to preview during testing will have more than 15,000 pages. I don’t see anyone realistically printing this many pages but you never know.
The first version of Killink is feature complete, but there was one thing that was brothering me, large file support. Opening, printing, and saving a large file in Killink is a rather slow process so I’ve been working on improving these 3 areas.
The first area I worked on was opening a large file, which is what I will talk about today. After profiling the application I found the biggest bottleneck was populating the spreadsheet with display data. This was an easy fix that involved “freezing” display while the spreadsheet is loaded with data. This change resulted in a huge performance increase. The test file I used took minutes to load prior to the change and only 2 seconds after the change. But then Killink took another perform hit.
A beta tester reported the bug that embedded new line characters were not properly handled. I modified the CSV parser to check each byte of data as it was read from the hard drive. However this is a very inefficient approach. A better approach is to buffer each read. In other words, instead of reading a single byte from the hard drive it is better to read a chuck of bytes. The chuck can be any size such as 65K chucks or 1MB chucks.
Buffering the file read process gave Killink the performance boost it needed to open large files. It’s not as fast as I would like it but it’s getting closer.
The performance improved version of Killink should be ready for download in a couple of days.
CSV (also known as comma separated values, comma separated list, or comma separated variable) is a commonly used file format that stores tabular data. Each data element, or value, is separated with a comma or other single character delimiter such as a Tab character. These types of files are also called delimited text files or flat files.
Many software application support CSV delimited text files either as an import or export data format. For example, Outlook users can export the address book to a comma separated value file and import the contacts into another application.
I have worked with comma and tab delimited text files throughout most of my career. I have written applications that produce delimited text and consume delimited text. And while XML is my preferred file format for sharing data there is no escaping the usefulness of CSV delimited text files.
While CSV delimited text files are typically used to import and export data between software applications there are times when individuals must manually create or edit comma and tab delimited text files. And many of these individuals use a spreadsheet program such as Microsoft Excel. However, using a full featured spreadsheet such as Excel to create and edit CSV delimited text files seems overkill to me.
For starters, say you only need to manipulate CSV delimited text files and have no need for working with spreadsheets. The licensing cost of Excel is hardly justified. Secondly Excel imposes certain size limitations. Excel is limited to 65,536 rows of data and 256 columns per worksheet. This means you will not be able to open a delimited text file containing 100,000 rows. Faced with high licensing cost, overkill list of features, and size limitations I decided to write Killink.
Killink is a spreadsheet-like editor for delimited text files. It supports delimited text files using any single character delimiter including comma and tab, and it supports large delimited text files.
Version 1.0 is currently in beta test which is open to the public. Visit the Killink download page and give the latest release a test drive. I appreciate any feedback, good or bad, you might have about Killink. Feedback can be posted to the Killink Support forum.
Update: Microsoft has improved the limitation of Excel. Excel 2007 supports 1 million rows per worksheet.
Jim Douglas replaces Ben Smith as CEO for CodeGear. This move makes no sense to me, but then again I have never really understood Corporate America.
I have been talking about Vertigo for a couple of years now. Vertigo is a software product line currently under development at White Peak Software. In a nutshell it is an email program for the Windows desktop. And yes, it will be release this year.
Why develop yet another email program? Simple, none of the available mail programs suit my needs as a small business owner. And I have tried them all including Outlook, The Bat, Eudora, Poca, and ThunderBird. My needs are not unique and there is definitely an untouched market out there, which is why we are building yet another, albeit, a new kind of email program.
We current have a working version of Vertigo that is being used daily. Dogfooding an email program, though, can have its challenges especially given than I must send emails out every day. The thing that has surprised me the most is the large amount of crap contained in mail messages.
We are building a database containing thousands and thousands (soon to be hundreds of thousands) of real mail messages. Of course the majority of the messages in our database are spam mail. This will be extremely helpful when work begins on the spam filter feature. But the spam messages are also proving to be helpful in uncovering bugs in Vertigo. Malformed message headers, date formats, and MIME encoding are common. Then of course there are the attachments containing questionable content. It’s been amazing to see what actually happens with email under the hood.
WTF…Apple distributed a QuickTime security patch through MySpace. This is crazy!
First of all, I’m not a fan of QuickTime for various reasons. I stopped using it years ago and I no longer have it installed. But when I read this blog posting about Apple distributing a security patch through MySpace it made me glad not to be a QuickTime user. And to think Apple has been running ads on TV about the Mac being more secure than the PC. Will the day come when Mac users need a MySpace account to install the latest Mac OS security patch?
What the heck was Apple thinking?
Jeff Atwood has declared December 1 as “Support your favorite small software vendor day”. He is asking people to register those useful programs created by independent software vendors that are used on a regular basis. As a small software vendor trying to make a living off my own software, I find this show of love great.
My hosting provider for thecave.com and whitepeaksoftware.com was hit with a DoS attack this morning. As a result the mail and web servers for both domains have been down today since around 9:30 AM Eastern. The attack seems to be contained as of 2:30 PM Eastern.
My apologies to family, friends, and customers who have been trying to reach me by email and to those at thecave.com who have been without email since this morning.
White Peak Software is 3 years ago today. What an amazing ride it has been over the last 3 years. It’s almost hard to believe 3 years has past.
Here is a good read about the eSellerate and DR deal straight from the horse’s mouth.
Microsoft has created a new web site called Project Glidepath. As I understand it, the goal of the site is to help small software companies to get up to speed on the flurry of new technologies coming from Microsoft such as Windows Vista and WPF.
From the web site’s home page:
“The release of Windows Vista will create a new wave of demand for applications that MicroISVs supply. We at Microsoft know how many new features and APIs we have added to Windows Vista as well as we understand how challenging it is to start and keep a MicroISV business running. Project Glidepath is designed to provide the knowledge you, as a MicroISV, need to be successful by providing step-by-step instructions for everything from how to get started with Windows Presentation Foundation to how to write and publish a press release.”
Bob Walsh, author of the book Micro-ISV: From Vision to Reality is involved in this project, which says to me it is worth some time to check out what is being offered at Project Glidepath if you are running a small software company.
I received an email today from eSellerate saying that they are now part of the Digital River team. I’m not sure how I feel about this news. I have been using eSellerate for a year now and I’m a very happy eSellerate customer. Their services are great, and I haven’t even tapped into everything they offer yet.
My concern with today’s announcement is that I decided last year not to go with Digitial River or any of its other companies as the e-commerce provider for White Peak Software. I don’t remember the details of why I didn’t chose them, but I do remember thinking eSellerate was the better choice for my company. Had this acquisition happened a year ago would I have still chosen eSellerate? I don’t know.
The announcement from eSellerate did say, “Be assured that we plan to provide the same personal level of service you have come to expect from all of us here at eSellerate. Your eSellerate technical support, sales, development, and management teams will continue supporting you from our Lincoln, Nebraska headquarters.” This is good to know, but only time will tell if the acquisition is a good thing for eSellerate and their customers.
Is Network Solutions down again for a third time this year? It appears so. Their web site is unreachable and the domain names I have stored in Network Solution’s DNS do not resolve. I know my servers are up because I can reach them by IP address.
I’ve been happy with Network Solutions over the years, and I haven’t minded paying the premium price for their service. But if this trend continues then I may have no choice but to move my domain names to another registrar.
Update: After what appeared to be approximately a 30-minute outage, Network Solutions and its services are back online.
Another Update: Well, DNS is at least back. Access to the www.networksolutions.com web site still appears to be a problem. At least this confirms to me that the outage I saw a little while ago is related to problems at Network Solutions.
Update: www.networksolutions.com is back online as well.
Work on Swirl has started up again. For those readers who have forgotten, Swirl is the code name for White Peak Software’s soon to be released Web service debugger and testing program. I missed the planned milestone of having the first beta release out by the end of May due to other customer demands. Can’t blame a guy for needing to make money from time to time, right?
As I’m working through preparing Swirl for the first beta release, something occurred to me. I really don’t like the WSDL parser I wrote. It works mostly. I say mostly because there is still a bug or two left in the parser. But the reason I don’t like it is not because there are a few bugs but because the code is nasty and hard to maintain. I think it is time to take a step back and refactor the WSDL parser into something better. This of course will delay the beta release even more but it’s worth the delay in the long run.
A common question I get is “How is White Peak Software doing?” The answer is quiet simply “We’re doing great.” Revenues continue to grow and we are inching closer to the release of our next product. We’ve also done some exciting custom software work over the last year.
I have decided to start posting news briefs on some of our more exciting, and successful, custom software work. You can read the postings in the White Peak Software Announcements forum or by subscribing to the announcement feed using your favorite RSS feed reader.
“The software business is picking up regionally across the country”, as noted per CEO of White Peak’s Cleveland database developers partner firm, which has seen software development and consulting requests easily double during the past 3 months in the Cleveland, Ohio region. Requests have been pouring in from small, mid, and large firms alike. The most sought after technology skills have been Access, Microsoft SQL Server 2000 and 2005, and .NET recently.
It might go a little something like this…Microsoft’s Re-designed iPod Packing.
Ever wonder how much money WinZip brings in per year, or how much money Jasc, makers of Paint Shop Pro, makes annually? Corel now owns these two and Corel is planning to go public, which means disclosure to this information.
Thomas Warfield over at A Shareware Life has posted the numbers and a link to the entire prospectus. Give it a quick read and see that shareware stars do make big money. At least these two do.
I’m having problems resolving a couple of domain names and track the problem back to DNS. I use Networksolutions’s DNS for the domain names in question and to my surprise Networksolutions.com is down. Joy, joy.
Update: Networksolutions is back! Looks like the outage only lasted an hour or so. I still don’t know what happened through.
Final update: Here’s the alert message posted on Network Solutions web site:
<div class="quote">“April 4th, 2006 11:00am EDT - This morning our collocation provider suffered a global outage from 7:56 a.m. to 10:02 a.m. (eastern) that impacted our systems. The provider’s outage affected access to Network Solutions products and services. The provider has resolved their systems and access to our services has been resorted. We appreciate your patience and apologize for the inconvenience. You may experience latency today as we continue to restore our services to full capacity.”</div>
I mentioned earlier that Network Solutions was experiencing an outage that effective some of my domain names. The problem was resolved and all was right in the world again. Then this evening I got a call from Network Solutions apologizing for the outage. Wow! Nice touch. Kudo to Network Solutions for making this one customer feel special.
Although this blog posting is on the art of bootstrapping, I think it is also a good set of commandments for small software companies.
Heinz Tschabitscher posted a review about SMTP Diagnostics on About Email. I have to say I agree with Heinz when he says “SMTP Diagnostics does not help you understand or fix errors.” It is true SMTP Diagnostics will help you understand what is happening assuming you understand the protocol message, but the tool would be more useful if it explained things in plain English, which I believe is Heinz’s point.
And the good stuff keeps coming from Bob. He just told me about a new web site for small software company that is going live today. Be sure to check it out.
2005 has come and gone, and man was it fast. 2005 was a very interesting year for me. I learned a lot about running a software business and I have a better idea of what it means to be a self employed computer geek turned aspiring entrepreneur. I have my success stories, made mistakes, changed directions, lost sleep, and spent more time with my wife. Here’s a brief recap of 2005:
- Release White Peak Software’s first product, SMTPdiagnostics.
- Released 4 custom software solutions for customers.
- Elected Chapter President of ICCA NYC Metro.
- Met target revenue goals.
- Became more focus on where I want to take White Peak Software.
- Over obligating myself and my time.
- Lacking focus for the first half of the year.
- Did not release Beta version of Vertigo.
- A poor job of networking and keep in touch with customer.
So what are my resolutions for 2006?
- Complete Vertigo version 1.0.
- Increase product revenue by at least 60%.
- Do a better job of staying in touch with customer.
- Do a better job of going to the gym.
- And find more ways to spend more time with my wife.