I would like to wish all my readers a Happy New Year 2007. Let it be a more productive year for everyone.
And since I mentioned productivity, I'm still working (last minute finishing touches) on my resolution for the year. I won't bore you with personal resolutions, but business resolutions might be interesting to share. As part of my pledge for openness and transparency, I am definitely going to share my business resolutions with all the readers.
Happy New Year everyone!
Thursday, December 28, 2006 6:28:46 PM (GMT Standard Time, UTC+00:00)
Being open is great. As you share more about your company, your application and yourself, you let the potential customers have a glimpse of what, how and who is actually behind the software they are supposed to buy or the website they are supposed to use. The more information they have, the more likely they are to trust you enough with their money.
But what if you don't have the application already? What if you're developing it?
Eric Sink recommends in his book "The business of software" that you should blog about it, let people know you're doing it. The argument is that when you release your application, you would already have potential customers, early adopters to beta-test it, download it, play with it or just spread the word about it. The idea in itself is a fantastic one. It promises a smooth transition from development into production whereby your customers magically know everything and trust you from day 1.
But where to draw the line? How much should you be sharing and how much should be keeping to yourself?
The argument for sharing being the one above, the argument for "keeping to yourself" needs no introduction. It's the most natural thing to keep your ideas to yourself, afraid that some mysterious competitors you know nothing about might steal it from you and implement it and bring it to market before you. It's the traditional way of doing business and it's what NDAs and other confidentiality agreements were invented for.
The transition to an open model is not an easy one. You have to balance the benefits of communicating with the early adopters and spreading the word early with the scare of losing your business to a smart competitor lurking amidst your readers.
I don't know the answer and I don't believe there are easy answers here.
What my intuition is telling me is that it should be a gradual process. You start with general information and you narrow down to specifics as your development approaches the end and your product is ready for the market. And this is what I am going to do. I am slowly and gradually going to share more about my application and the development effort. I am also hoping to build a sort of curiosity in the readers and hopefully that will keep them coming back and reading more about the progress. And hopefully some of them might even be curious enough to download a beta version and give it a try.
The whole process of writing this blog is supposed to provide a better insight into how and where to draw the line between sharing information about yourself and also safeguarding your idea.
Wednesday, December 20, 2006 6:18:26 PM (GMT Standard Time, UTC+00:00)
One major shift that Web2.0 brought upon us (among many others that I'm not going to cover here) is the shift from web sites to web apps. Before we roll our eyes at pompous catch phrases designed to stick into people's mind, let me explain.
In the pre-Web2.0 world we used to navigate to web sites. These were places online that you visit, you follow some links and you're on your way. As the name suggests, web sites were pretty static. Pretty static places that you visit like museums, by browsing from one view (room) to another while admiring the informational content. The dynamic aspect was there too, allowing you to customize your browsing and to customize the information that you want to see. But there was a big gap between the User and the Logic of the web site. Something like this:
User ............................. Logic
There are two ways of closing this gap. One is by moving the User to the right. In this case the User is moving in front of the Logic, basically giving us the classic model of desktop applications. We're all familiar with desktop applications; I'm not going into that now.
The other way of closing the gap is by moving the Logic to the left, closer to the User. This is a move that many technologies tried to make. Some names spring to mind: ActiveX controls, Java applets, Flash, etc. Some of them are more successful than others, but ultimately they all have some caveats.
They all rely on one big download of the component. Some are bigger than others but, usually, the download is significantly bigger than the good old html pages. After the download, the components would be initialized and run locally.
So why is this a problem?
The problem is that web users are not patient people. If the load of a web page takes too long, they are very likely to abandon it altogether. There are even statistics that give you a clearer picture of what's acceptable. This is a generic problem that affects these technologies in particular as they rely on the initial download.
Security is a serious issue in this particular case because the Logic is in fact moving onto the User's computer and running locally. The trust required in this scenario introduces another level of complexity solved by either signing your components or running them in very controlled sandboxes, or controlled environments.
So why is this a problem?
The problem with signing is that trust is delegated to another authority. Not everyone chooses to trust some authorities. This is especially a problem in very tightly controlled corporate environments. Signing still doesn't guarantee acceptance of your component.
The problem with the sandbox model is that it dramatically limits the operations that you can do in your application. The operations allowed make your application compare, generally, very unfavourably with desktop applications.
The sandbox model is enforced by having a virtual machine running your component. All the requests will go through the virtual machine first.
So why is this a problem?
Virtual machines require deployment as well, deployment which cannot be controlled by the application designer. Sometimes virtual machines are not deployed, especially in the corporate environment.
While virtual machines can be seriously improved, VM apps still can suffer from serious disadvantages compared to desktop applications.
In a pragmatic (be it less than ideal) world, we would need a way that alleviates these problems while still trying to close the gap between the User and the Logic.
And the simple solution was to go back to the good old Html and JavaScript. While it doesn't suffer from the caveats above, it does still have the gap between the User and the Logic.
It's not about the gap, it's about my perception of the gap.
The sentence above might be a simplistic definition of the User Experience. Ultimately, for Users, it is what they perceive that they care about. Users don't care about technologies; don't care where the Logic resides. It is all about perception.
And that's why AJAX is hailed as the saviour. While it is certainly not brain surgery, it still manages to change the perception of the User about web sites. By doing a lot of the work in the background, it can trick the User to believe that it is running an application, comparable to a desktop application.
The gap is still there, but the perception of the gap is no longer so clear in the User's mind.
It is not perfect; it's more of a compromise that doesn't suffer from as many problems as other compromises. Also, depending on different external factors and on the User, the perception of the gap can still be there.
But at least Web2.0 gave people hope. At least now we have web applications side by side with web sites.
It's not the end of the story and hopefully Web3.0 will bring a bigger revolution that will improve the User Experience even more dramatically.
Tuesday, December 12, 2006 6:14:20 PM (GMT Standard Time, UTC+00:00)
During a normal purchase, a customer will part with their money and with some of their personal information in exchange for a service or product you provide. That means they have to trust the other party enough to share information and give their money away.
It is only fair you share as much information about yourself as you can. The more information you share about yourself, the safer the customers will feel. The safer the customer will feel, the more likely he/she is to actually hit the Purchase button.
You can share information about yourself in many ways:
-
About us - this is vital information. The more you share here, the safer the customer will feel and it might repay you back by sharing their information and money with you
-
Blog - make it more personal that the usual boring company stuff. It is not a PR release. Instead show the customers some of your world there.
-
Privacy Policy - not many people read this section but many of them expect it to be there. Avoid the legal language and explain it in plain English.
-
Real names - names are very important, it is sharing data and showing there are real people behind your business. Instead of using support@yourcompany.com, use a real name.
-
Contact Us - allow the customers to contact you by email and other means if viable. Try to reply within a reasonable amount of time. A reply is an acknowledgement of your customer and that the customer is important to you. Ignoring your customers will ultimately catch up with you.
-
Live help - this is a nice trick especially for support or sales. It lets people talk with a live person. Usually when they have a problem or a question, customers want the answer immediately. Otherwise they might go to your competitors' websites. If it's viable, add Live Help to your website.
-
Allow and listen to customer suggestions - it's important to give a voice to your customers. This will provide a useful feedback to your business and it is invaluable marketing research. Allow them to ask for new features. Open source projects used this trick for years.
-
Treat your customers respectfully - in ALL circumstances, even if it's their fault, even if you're in a bad mood. Word of mouth is an invaluable marketing tool. Because the way trust propagates, word of mouth is vital. Customers will trust more easily information that comes from a resource they trust. Don't underestimate word of mouth. And with the explosion of blogs, word of mouth just got bigger and more important in your marketing plan.
Tuesday, December 05, 2006 5:15:26 PM (GMT Standard Time, UTC+00:00)