I’m spending the weekend in Atlanta at my first business related conference. Conferences I have attended in the past were technology related such as the Borland Developer Conference and Microsoft PDC so I wasn’t sure what to expect.
I definitely see a difference beyond the topics at this conference compared to the developer conferences I’ve attended in the past. For one, attendees at a business conference tend to dress better than the t-shirt and jeans geek crowd of dev cons. Another difference is the ease of networking. It is very easy to approach people at the event. I have already met a number of people, which makes the event more enjoyable. It’s comforting feeling like you are surrounded by friends.
Earlier today I joked about the lack of jeans and t-shirts at a business related conference. But the ICCA National Conference does have something unique about it. Although everyone here works with computers and many are programmers, the conversations and event topics center around business. There are discussions on improving your marketing strategy, determining the price point, and tricks to grow your business. But today’s talk on creating a strategic plan for your business really hit home with me.
The speaker provider great information on creating a strategic plan and he provided a nice template to follow.
Define your goals - What do you want to achieve? What is the big picture outcome?
For each goal, define the objectives - What are 3 to 5 major measurable accomplishments that need to happen during the planning period?
Define the strategies - What core strategies are needed to attain the objective?
And lastly, define the actions - What could we/should we do to deliver on the strategies?
This got me thinking about my current goal for White Peak Software, and after some dialog with a fellow attendee I came up with the start of my strategic plan.
Goal:
Establish White Peak Software as a Micro-ISV
Objectives:
Release one new product by the end of 2005
Setup e-commerce and support infrastructure
Attract interest in White Peak Software
Strategies:
Product Release Strategy
Marketing Strategy
Actions:
To be determined
Obliviously I am not going to spend all day blogging my strategic plan. After all, the conference is still going on and the next session is about to start. My point, however, is that this conference provides a unique opportunity for computer geeks like to me to expand my mind and learn more about running a business.
I purchased a pricy set of components today, or at least I tried. The browser window timed out during the final processing of the order. The problem is I do not know if the order went through or not.
I sent an email to the company’s support and sales addresses but I haven’t heard anything back yet. I find this very annoying. At a minimum I would expect an auto-responder that sends a return email saying something like “We value you business. We will respond to your request as soon as possible.” It’s been 40 minutes now with no response. Obviously the vendor does not use an auto-responder.
An auto-responder is a simple use of technology that I believe all companies selling products on the Internet should use. Heck my own company, White Peak Software, has the capability enabled to provide immediate response to client requests. It amazes me that a successful component vendor who has been in business for years does provide the simplest of services to its customers.
All is not lost though. I have learned a valuable lesson from the experience.
1) Auto-responders can be very powerful and provide assurance to customers.
2) Vendors should provide detailed information about what to expect from an online ordering experience.
This second point is very important to me as I prepare to start selling products. I definitely plan to publish a web page that explains the order process to customers. This will tell my customers what to expect and what to do should something go wrong.
I am preparing the first beta release of a new application that is used for diagnosing problems with SMTP. The program allows the user to test account settings against an SMTP server by sending a test message.
I have been testing the program from various locations including the hotel here in Atlanta. I was surprised to see that the network here redirects SMTP requests to its own SMTP server which relays the message to the appropriate destination. No wonder laptop users have problems with email. The experience behind the scenes can be different based on the network and the user may never know.
Click image to enlarge.
I will be out of the office for the next few days. I’m heading to Atlanta today, where the temperature is actually cooler right now then in NYC, to attend the ICCA National Conference. I’m looking forward to a number of the keynotes and sessions including Guerrilla Marketing in 30 Days and Building Sales by Showing Up on Top in Google.
Here’s an interesting look at the time line of Delphi and Pascal for that matter. For the two readers out there who I know are wondering, I wrote my first line of Pascal code in the fall of 1984.
Over the past few months I have come across various blog posting where a developer will say something like “I can’t see myself as a developer in 20 years” or “I can’t see myself writing code until I retire.” I on the other hand can’t imagine a time when I will not want to write code and develop software. I’ve done this for 20+ years and I’m hoping for another 20+ years.
Don’t get me wrong. I’m not saying I want to sit behind the keyboard every day for the rest of my life. After all, I still enjoy my time riding snow covered slopes. But I do see myself writing code well into my retirement years. For me the trick is keeping the work exciting and fresh.
When I start getting bored I find new ways to liven things up. For instance, over the years I have switched languages a number of times. I was a BASIC/PASCAL developer in the 80’s then I switched to C/C++. A few years later I switched to VB followed by Delphi followed by Java. ASP and a return to VB followed which was later replaced with C# and the .NET Framework. And today I am writing Win32 code using Delphi.
Other ways to make software development fresh again is to pursue new areas of interest. Instead of writing yet another web-based application, find a project that allows you to write a desktop application. If you have been doing in-house development for years consider a move to an ISV. I personally find commercial software development is a different experience and worlds apart from enterprise, in-house development.
Other ways to keep software development fresh that have worked for me:<ul><li>Participate on a standard committee - help change the industry</li><li>Spend the next year focused on a particular technology that is new to you</li><li>Work with a new team and participate in a role that is new you - for instance become the QA manager if you have been a senior developer for the last few years</li><li>Write your own software…and sell it!</li></ul>
On Friday I was working remotely in the Philadelphia area. This is one of the freedoms of my job that I enjoy…working from anywhere in the world. However, working from another office or even someone else’s home is not quite the same as working from my office.
While many people these days have broadband Internet access through cable modems and DSL, not everyone has a wireless access point. So I tend to be confined to a single room when I need Internet access. Friday was one of those days.
I worked in one room which has more comfortable seating but was disconnected from the Internet. When I needed an Internet connection, I would move to the room with the cable modem and hub. By the end of the day I was becoming frustrated moving between rooms. But I solved the problem by the end of the day.
I headed to BestBuy and bought an AirPort Express. Designed to allow users to play music wirelessly from iTunes to their stereos, it also acts as a wireless USB print server and a wireless access point. But what really makes this a great device is the size. The device is very small and has no bulky power supply or cables. All you need to setup the wireless access point is a patch cable, which I already carry for me on road trip.
Whether I am in a hotel that only offers wired Internet access or a friend’s house with a broadband connection, I can now be guaranteed wireless access.
Regrettably I need to take a sick day today. I have been feeling under the weather all week and I have been running a high fever since yesterday afternoon. I’m going to spend the day resting to get over this bug.
I will try to return all calls and e-mails by the end of the day or by tomorrow morning at the latest.
Early this week Microsoft was granted a patent on their approach to serializing an object to XML. While I can see how XmlSerialization provided by the .NET Framework is unique, I have mixed emotions about the patent. For instance, XmlSerialization is probably my number one favorite feature in the .NET Framework. I find I use it all the time. But I now also spend a lot of development time in Delphi writing a Win32 application and I have thought about ways to implement a similar Xml serialization feature based on RTTI.
My concern with such a patent is that it might discourage other developers from inventing a form of Xml serialization for a different environment such as Delphi that is as flexible and easy-to-use as .NET XmlSerialization. Put another way, if Borland decided to implement a way to store metadata about a class structure for a Win32 target and a developer used this metadata to provide a mechanism to map the object shape into an Xml schema as defined by the metadata and serialize the object into an Xml document based on that schema, would that be a violation of Microsoft’s XmlSerialization Patent?
Also, how does such a patent effect open source efforts such as Mono? If someday Mono is widely adapted will Microsoft want to charge developers for the use of XmlSerialization in applications using the Mono framework?
I don’t know the answers to my questions, and as I said I have mixed emotions about the patent. On one hand, I see how it is a unique technique for serializing objects to Xml. On the other hand, I fear it will limit or completely eliminate a similar approach in other development environments.