How To Quickly Setup a Software Development Environment
At one time or another all software developers have joined a project or team where the development was already underway. The most common introduction for a new developer to these projects is to setup their development environment. If you’re extremely lucky, a lot of this work is already done within the corporate disk image, but more often than not it’s up to you. This is especially true if you’re a contractor.
For a typical Java project, the story goes something like this. Download and install a specific JDK (Java Development Kit). Download and install a particular IDE like Eclipse. Download and install a specific web server. By the way, depending on the company, some of these versions may no longer be available which means you have to track down someone who still has an available copy somewhere. But assuming they’re all the latest versions, that’s just the start.
Once that’s done, you have the core applications to setup. Then you get to start downloading and installing the support applications. If you’re using Eclipse, maybe it’s the SVN (Subversion) subclipse plugin or the TortoiseSVN client. A good text editor such as UltraEdit. FireFox. The list goes on for about a dozen or so applications.
After that you probably need to configure your system settings. Most likely you then have to set up some development environment variables or configurations (server.xml, eclipse.ini, etc.). Save some connection settings in Putty. Setup some network drive connections. And on it goes.
But the fun doesn’t stop there! At this point you’ve just got your environment setup, you haven’t downloaded the project’s source code. Now you need to checkout the project from the source. Once that’s done you need to run the automated build system to get the project up and ready on your box, perhaps using Ant or Maven. If you’re lucky, and the company was in the upper technological echelon it ends there. Unfortunately most companies don’t completely automated their builds so you often still need to do some extra manual tweaking to get your project running. And on it continues.
Which means that all new developers lose anywhere from a few hours to several days setting up and configuring their development environments. Very expensive! And the longer your project goes (there will be some developer turnover with time) and the bigger your team gets, the more expensive it gets. Plus, with time this knowledge will disappear. People will forget steps, or why things are done in a certain way. Which means that at some point setting up a new project will be, well, for lack of better word, insanely difficult. You’ll have to track down specific people within the project because they’re the only ones left who know anything about certain parts of the system. If you’re really unlucky, the only way to get up and running might be to you copy the complete environment from one computer to the other. Yes complete copies of directories! It can become a mess.
The good news is that there’s a much much better alternative. One that will make everyone’s life much easier, and keep the knowledge over time. Can it really be? Yes, we don’t all have to suffer through this. And what’s even better is that I’ve implemented what I’m about to suggest with great success several times, and not just at LandlordMax but also at companies I’ve consulted for in the past.
Create a developer’s installer!
Why should your final product be the only system with a deployment strategy? Why not create one for your developer environment as well. Especially if your company doesn’t have a fully pre-prepared disk image ready with everything (which is virtually guaranteed).
How hard is this to do? It’s actually extremely simple, simpler than you might think. If you’re company already owns an installer like Install4J (which I’ve recommend in the past), then it’s a matter of an hour of someone’s time. And it shouldn’t just be kept on someone’s machine, it should be it’s own full project within your version control system. This way if any developer does any environment change, it’s up to them to update the developer installer project. This includes if an application needs to get updated (for example to the latest version of Eclipse, the latest version of FireFox, etc.). This isn’t just limited to new software updated, but also configuration changes, etc. No longer do you need to keep a record of configuration change emails, it’s all done for you in the developer installer!
Therefore when a new developer starts, all you have to do is get the latest executable build, copy it on a USB key (network drive, whatever), and let them run it. Better yet, you can do it the day before they come if they’re going to use in-house hardware. During this time you can walk them around and introduce them to the rest of the people they’ll be working with, explain them the project in more detail, or any other higher value action items you may have.
And don’t worry if your company hasn’t bought a great installer building tool like Install4J, you can also use the open source installer creation system called NSIS. Up until LandlordMax, I generally relied on NSIS to create Developer Installers since I could never guarantee what was available in the different development environments, but with LandlordMax we use Install4J. Both are great, the main difference is that with NSIS it will take you a lot longer and you’ll need to acquire a lot of specific NSIS knowledge (it’s a scripting language). So instead of an hour or so for Install4J, expect it to take a few days to a week or more with NSIS to build a good installer. But even if it takes a week, it’s worth it!!! The good news is that it doesn’t have to be production quality, just beta quality. In other words, you don’t have to include all the checks like in a production installer, you can assume that your users are pretty smart and will mostly enter in valid values (for example you can assume there’s enough disk space on the hard disk, that it exists, that’s writable, and so on).
The good news is that an NSIS installer script shouldn’t be more than a few dozen lines to a couple hundred lines (assuming you’re using functions and macros available on their website). So that’s not too bad overall. With Install4J it’s all GUI based, and the resulting script is stored in an xml file which can be called from any Ant build script! The cost to benefit ratio for one person to translate all the developer environment knowledge into an automated installer for everyone that will be available forever is unbeatable!!
A few quick tips:
- Don’t re-create your main build file (Ant or Maven in Java), leverage what’s already there. In other words, you developer installer can call the main build file in your project to complete the environment setuo.
- Use silent installers. Most applications have silent install options, so use them. The less interaction your developer installer requires the better.
- Give the developer the option of selecting the initial install location.
- As part of the install, leave all the individual installers within the main install directory (for example leave the FireFox setup executable somewhere in the install path so that it can be run separately later).
- Give the option to select which “modules” to install. For example give the option to install FireFox, to install Eclipse, to configure the server.xml configuration file, etc. I’ve done this in the past by presenting a list of options (checkboxes) the user could select. By default all are selected with a toggle to unselect all of them near the bottom.
- Assume advanced users are using your installer. In other words, you don’t need to spend too much time on checking for user errors. Let it fail miserably if there’s an error. It’s not worth the time.
As an added benefits, everyone has the same development environment initially by default. With time some developers will deviate from the standard development environment to what they like, but it’s good to start the same way. At least this way you have a default method to setup a developer environment which is a million times better than having a bunch of different developers setting up your environment in slightly different and unique ways. Plus if there’s an issue, it’s REPRODUCIBLE!
Permalink to this article Discussions (6)
The Secret to Making ANY Computer Safe
Have you ever been at someone else’s house and needed to use their computer to quickly check something on the internet but where worried about the security of their system? If it was infected with viruses, spyware, or what have you? What about using your credit card to buy something. What if you’re on vacation and needed to use it for business purposes, or just to quickly check something within your bank account?
I can tell you that this completely terrifies me. I’ve seen way too many computers completely infected with garbage. Computers that I wouldn’t even do anything at all on, not even save a text document for fear of keystroke loggers.
Yes it can be that bad! Less than a year ago I was at a someone’s house where the computer was still running Windows 98. It had no router, not even a software firewall. No antivirus. Nothing. Connected directly to a broadband modem. This person was complaining that their computer was really slow and kept crashing all the time. And I mean all the time! When I asked them about even just upgrading the OS, I got some funny looks, which is when I realized it wasn’t even worth asking about a firewall router. It’s a good thing I didn’t need to use his computer to connect to the internet. I can’t even begin to imagine all the possible harm I could have self-inflicted!
Although this is a more extreme case, it’s not that extreme. Another person I know was using an older version of Windows XP, not even SP1. They couldn’t be bothered to upgrade. No router, nothing. Direct connection to a broadband modem. As you can imagine the computer was pretty much useless, but they kept using it thinking the computer hardware was the issue. They even did their banking on it!!!
As a quick divergence, a lot of people are heralding the Mac as the solution to their security and performance issues. But that’s completely false, you’ll still encounter the same issues. Like everything new, there are less issues right now because if you buy a Mac right now you’re fairly up to date (plus there haven’t been as many targeted attacks yet). But wait another year or two as these people don’t update their operating system like they should. Especially if they also connect directly to broadband modem boxes. It’s only a matter of time before all these brand new shinny macs also start to come to a crawl.
The fundamental issue is not the OS but the people. And it’s not that they’re idiots filling ID-10-T forms all day, it’s that they don’t know any better. Upgrading and security hasn’t been ingrained in their brains. They hear about it, but they don’t really get it, at least not yet. Unlike the concept of changing the oil in your car every x miles, upgrading is still not a fully understood benefit. It’s not really appreciated, so many people just don’t do it. Plain and simple.
But getting back to our discussion, what can you do to use any computer to safely access the internet? Two things really. Well technically you could probably get away with one, but just to be extra safe I recommend doing both.
1. Use a Live-CD OS to boot the computer.
For those of you who aren’t familiar with this concept, what it means is that you can create a CD that will boot the operating system from the CD drive. A great example of this, and the one I use, is the Knoppix linux operating system.You can technically do this with a USB key as well, it’s just that not all computers will allow you to boot from the USB key whereas a CD is 100% supported.
What you’re basically doing is bypassing the normal operating system and booting your own safe operating system! This is much better because you can guarantee the OS (operating system) is safe, or as safe as you can make it by always using the latest version.
No longer do you have to worry about a corrupted operating system. Just bring your own on a CD. And the best benefit of all is that there is ZERO installation. It works directly off the CD. It doesn’t touch the computer’s OS in any way. Theoretically you could remove their hard drive and still use the computer! It’s a self-contained OS. You get a guaranteed OS that doesn’t touch the other person’s computer. It doesn’t install anything, heck it doesn’t even need to know which OS they’re using.
But even more than that, you can add one more layer of protection to this setup. But I would only recommend going this far if you’re going to be staying at someone’s place for an extended period of time, otherwise I can’t imagine carrying the device around in my back pocket.
2. Use your own router.
Above bringing your own OS on a CD, why not bring your own router. They can be bought for as little as $40. Not only is it another good line of defense, but it can make the computer much faster as it won’t be busy having to block tons of unwarranted traffic from the net. Let the router do that. Plus two lines of defense are always better than one. It’s just safer.
Conclusion:
With these two tips, bringing your own OS on a CD and your own router, you can virtually use any computer risk free (as long as you boot from the Live-CD!). You won’t have to rely on someone else’s capabilities to keep their system clean. You won’t have to potentially anger/insult/scare anyone by letting them know their computer is filled with viruses and spyware. And you’ll be able to confidently access your bank accounts and any other highly sensitive website worry free.
As one last little bonus, if you bring your own OS on a CD, you’re guaranteeing yourself to always have the same software everywhere. If you prefer FireFox over IE, you don’t have to hope they have it installed, or install it for them as they look behind you all worried with sweat beeds dripping down their forehead asking you over and over, are you sure it’s ok? It will be on your CD everytime all the time.
Permalink to this article Discussions (2)
The Implications of Your Decisions
Yesterday I came across an article on The Register about the anti-virus software AVG. To quote The Register:
In late February, AVG paired its updated anti-virus engine with a real-time malware scanner that vets search engine results before you click on them. If you search Google, for instance, this LinkScanner automatically visits each address that turns up on Google’s results page.
This has two very large implications, especially when you consider that more than 20 million people have downloaded AVG. And as you can imagine, it has to do with the bandwidth.
Let’s take an example of what happens when you go to Google and search for “latest movies”. In the past you would go to Google’s search page, enter in your search, and get some results. Then when you clicked on one of those search results you would go to that page. Simple, and it’s what you would expect.
However if you have the latest version of AVG installed something else happens. You start the same way, go to Google, enter in your search term (“latest movies”) and click on the Search button. However here is where things change for the worse. AVG looks at the search results and behind the scenes starts to download each and every search result webpage. This is without you having to view or visit the webpage, it’s all happening behind the scenes.
Why is this bad? Because most ISPs (Internet Service Providers) limit how much bandwidth you can use per month. It might be very high for some people, but now imagine that for every search you do, you visit 10 webpages (the default number of search results on most search engines). Even if you don’t look at any of the search results. You’ve basically increased your bandwidth consumption by ten times for every Google search!!! And not just Google, for all search engines, including Yahoo, MSN, etc. Your bandwidth usage has just significantly increased, by multiples.
But it gets worse. What if the webpages AVG decides to check out behind the scenes aren’t just simple pages but rather webpages rich in media that include videos, images, and so on? You’re bandwidth will be consumed in no time. And what if you have more than one computer on your network? What if you have 2-3 computers in your home? If everyone is searching at the same time you can imagine that your network will get slower because everyone is trying to load multiple webpages at the same time. And don’t even get me started on corporate networks. I can’t imagine the increased load on a corporate network with 10-1000 users!!! For that reason alone I suspect corporations will stop using AVG, the bandwidth usage is just too expensive.
And right now this is only officially happening for search engine results, but what if one day they decide to continue down this path and do this for every webpage? I’d hate to see the bandwidth usage on that decision! Most websites have more than 10 links on them! The front page of this blog probably has closer to a 100 links than 10 links on it. So instead of 10 times as much bandwidth, you’re looking at 10-100 times! You’ll be eating up your bandwidth cap each month. And corporate networks will crawl to a halt.
But what about the websites themselves? The websites you visit might also significantly slow down. Let’s take an example using the assumption that AVG visited every link on every page to amplify the issue (even without this assumption, on some search terms the increase in traffic can be very significant). When You go to my company’s website LandlordMax, the landing page (the first page) has at least 20 links. The navigation alone is about 10 links. That means our servers now would have to be able to handle 20 times as much capacity to handle the same number of users (assuming they all used AVG). That is, every person who comes to our website would not just download the first webpage, but instead they would download 20 webpages. And each time they clicked on a link, they would get another 20+ pages. We’d have to increase our server capacity by 20 times. That’s very expensive, and where do you think that cost would have to eventually be offset? Into the price.
But assuming it doesn’t get to this level, right now for every search term we get listed on the first page, we’ll basically get hit with a webpage request. So for example, if the search term “latest movies” get 10,000 searches a month (from people using AVG), and we’re listed anywhere on the first page, we’ll have to handle 10,000 webpage requests even though only a percentage of that search traffic will come to our site as shown in the above graph. Who’s going to pay for all that bandwidth? It’s certainly not AVG! It’s both you the user of AVG and the website owner.
It gets even more interesting, assuming bandwidth is free. In the example above, let’s say it’s now your website and you’re the 10th search result listing, at the very bottom of the first page. In this case you can expect to get about 3% of the traffic, or using our example of 10,000, 300 visitors a month. Now, with the new AVG system, you can expect this number to dramatically increase. Instead of just 3% or 300 visitors a month, you’ll get 100% of the traffic, a full 10,000 visitors a month. That will greatly skew your web metrics and webserver needs. In this example you’ve just increased your traffic (and hence server capacity needs) by almost 3 orders of magnitude! This will affect how you run your website/business. If nothing else, it will increase your costs which means it will have to be offset somehow (usually an increase in price for the customer).
Above this, a lot of the decisions for online businesses are derived from the web metrics. With this new system the metrics of your visitors are now completely useless. The 10,000 visitors a month mean nothing. They don’t represent the true scale of traffic. You’ve basically lost the ability to determine what works and what doesn’t. Although I won’t get into the details here, let’s just say that this means you can no longer correctly determine when and why you have a “real” increase in traffic. It’s all masked in a barrage of fake traffic. And because your web metrics are useless, your marketing now becomes guesses in the dark. Which then means more dollars have to be spent to make the same amount of money. Again this will eventually have to be offset into the price of the products/services on your website.
In any case, this appears to be a very good example of a lose-lose scenario. No one wins. Of course it’s not as drastic as I’m making it out to be, AVG only accounts for at most 20 million users. But it’s very important to realize that this is a significant amount of users. It’s enough that not only have consumers begun to take notice, but many websites are also starting to report significant increases in traffic and bandwidth due to this issue.
What’s really irritating about all this is AVG’s Chief of Research (Thompson) response according to the Register:
And if that causes problems for webmasters, Thompson says, so be it. “I don’t want to sound flip about this, but if you want to make omelets, you have to break some eggs.”
Be careful of the implications of your decision. This may result in a very large community backlash, especially when it’s backed by a large number of webmasters. We all remember the Intel processor fiasco of 1993, commonly referred to as one of the biggest technical blunders of all time.
And on that note I’ll leave you with some after-thoughts to ponder.
- What happens if the search result returns another search result (this could be maliciously implemented)?
- You’re now exposed for exploits from every website on the search results, not just the ones you visit.
- What’s your monhtly bandwidth cap?
- What will be the performance impacts on your machine for continually scanning all those extra webpages for viruses, spyware, and malware?
Permalink to this article Discussions (6)
Status Update
Normally in the past I’ve posted updates about what we’re doing here at LandlordMax (as well as my other projects) every six months to a year. Well I’m now going to try to increase that frequency to every 2-3 months. I’m doing this because it forces me to look more frequently at our successes and failures in detail. I always do some checks each month, but by forcing myself to post about the more interesting metrics on a regular basis will force me to look deeper into these metrics. Hopefully finding some great nuggets of information along the way.
Firstly, the most exciting and good news is our traffic metrics at LandlordMax. Our traffic, as measured in by unique visitors, has increased by a whopping of 108% in the last 6 months!! That’s our biggest success as it is translating into more sales.
As well our revenue growth is continuing to be very positive, which is great to see. For those of you who are fairly new here, in early April I posted a graph of our sales revenues over the last few years. In that graph there was somewhat of a spike in 2008. I’m glad to report it wasn’t just a one-off spike for January and February, it’s a consistent growth in revenue. May is already looking like another very big month, possibly the biggest yet!
I decided to also push the data further and generate a moving average graph using a 12 month trailing period (which is why the first 12 months are missing from this graph). I have to admit I was surprised with the results, it’s much better than I expected! As you can see below, we’re definitely moving in the right direction. The real estate bust is not hampering our growth, so it’s not all bad news out there. It’s definitely not all doom and gloom for everyone as you can clearly see.
Some other interesting news, FollowSteph is still growing at a very good pace. In the last 6 months the traffic on this blog has grown by 46% which is great. Although I was hoping to more than double it every 6 months, I can’t complain with this growth rate. The good news is that the RSS feed subscription rate has grown much faster than that, it’s pretty doubled in the same amount of time.
As for the book Interview the Pros: What does it take to create a Successful Blog?, it’s still being edited by my publisher. These things take time, which I have to admit is excruiating for me. I like to have things moving, I’m not a big fan of waiting. But the good news is that the book already has it’s own official ISBN number assigned to it. And most of the book’s cover and back copy is ready to go. It’s going to be available in both as a soft and hard cover book. I’ll let you all know as soon as the editing phase is done, which hopefully will be sooner than later. As well I have to finish the website for the book pretty soon, so I can start to do some pre-marketing. I’ll let you all know when the website is available.
As for the ebook I wrote How to Generate Traffic to Your Website it’s done fairly well overall. I have to admit I was hoping for better results, but this topic seems to be saturated with lower quality ebooks. In other words a lot of people are suspicious of all books on this topic because of some bad experiences, so you really have to push hard to make the sale which isn’t really where I want to be (I don’t want to compete with the long spammy sales letters). However what’s been really interested is that ALL the reviews it’s gotten have been favorable! And each time a review came out there was definitely a spike in sales. But between reviews it’s pretty quiet. So I’m looking into what are my options for the future of this ebook…
Otherwise everything else is moving along very well. The biggest item is that we’re always working very hard on releasing the next major version of LandlordMax as soon as possible, which is coming together very nicely. Just extremely busy as usual.
Permalink to this article Discussions (6)
What would it cost to build this site?
Earlier this month there was a thread on Joel Spolsky’s BoS (Business of Software) discussion forum asking What would it cost to build this site. Of course it started innocently enough, with a simple statement:
We recently created a startup on which the website is an integral part. Customers rent our product for a specified time period. When you get right down to it, the required features of the website are no different than what would be required of a car rental web site.
Then came the big question:
My question is, what would a ballpark estimate of the cost be?? Again, the fully functional site would resemble a car rental company such as Hertz.com
This is a completely loaded question!!! There will of course be very large price fluctuations amongst the responses no matter who you ask, these requirements are too broad and open-ended. Sadly however I believe that none of them are near the “real” cost to build this website. I think the highest was around $150k if I remember correctly, with many saying that it could cost as little as a few thousand.
WHAT???
Honestly, to create a car rental service just like Hertz will cost a lot more than $150k. Thinking it will only cost a few thousand is insane. Sure you can say you will outsource it for a few thousand, but I can guarantee you what will come back won’t be what you expect. The price has to be reasonable. If it only cost a few thousand to successfully build this system, than all software, and I mean ALL software, would be outsourced. This isn’t the case. I have no doubt it cost Hertz a lot more.
It’s simple to over simplify how much effort is required to build a software application. So much so that the original poster chimes back in with:
There is just no way this would bet done under $10,000. As I said, the site is about 30 percent of what it needs to do. 5,000 lines of code, couple hundred manhours. The manhours are high as we constantly were changing things. But things are a bit more static now and it would be easier to write a detailed spec for he the remaining requirements.
Some additional “Major” components:
Security/Logins. Certain Admin people will be able to do everything. Lower levels will have limited capabilities.
Audit trails for all changes by personnel. If someone changes a record or changes a reservation it needs to be logged.
RealTime Inventory Management. If inventory is low at certain times then site needs to prevent reservations from taking place. Also ensure inventory was the right stuff when it is returned.
Again, think rental car website. I was thinking more along the lines of $50K to $150K.
Just reading these specs I can very quickly see this site greatly increasing in complexity and scope as the details are filled in. Never mind that the scale of users or data hasn’t even been taken into consideration. In any case, I personally don’t believe that this is possible for $150k, it way too optimistic. The vast majority of the posters are thinking of the simplest solution, but I can already see from this slightly “enhanced” description that it’s not going to be the simplest solution. The requirements are only going to grow, and grow fast they will, otherwise known as scope creep in the software industry.
But alas not everyone agrees. Further down someone comments:
I dunno ’bout 100K. My devs do quite a bit of these sites in the $20K to $50K range … but we don’t have a tight enough spec yet do we? Could (maybe) hit the 6 figures once the full spec is known. The folks suggesting a couple of grand, though, they’re smokin’ crack.
Even though this person agrees that building it for a few thousand is too cheap, he still suggests a price that’s way too low. I have no doubt it cost Hertz much much more. I agree that a simple car rental system could be built for around $100k, but that’s a SIMPLE AND MINIMALISTIC car rental system and NOT a replication of a full blown car system as is suggested. Audit trails, realtime inventory management linked to reservation system, reservation system, scheduling, etc. And these are just listed as “SOME” additional “MAJOR” components. This is not a simplistic system. It will grow in scale very quickly. Just look at some of the questions and issues that came up when we decided to add “simple” email to LandlordMax. And that’s just simple email!
So what’s going to happen. The person will eventually settle on someone who says they can build it for around what they think is reasonable. The delivered system either will not work at all, it will be severely delayed, or it will be severeled scaled back in terms of features and modules. Not only that, but assuming something is delivered, I doubt that it could scale up in terms of traffic load. At least not at that price, scalability takes skill and experience, not to mention effort.
And I haven’t even talked about bug fixing! What do you think happens when a software project can’t possibly be delivered within it’s deadline? Depending on how ethical your company, they might just deliver it in an unstable state where “fixes” will be added to the cost of the project after delivery. For example some software consulting firms are know to do this, deliver a project “on time” only to have the “support” costs be higher than the initial project costs. This way they can be the lowest bidder but yet still charge the real cost of implementing the software. And don’t think it doesn’t happen, it’s much more prevalent than you might think.
Software takes time and effort to build. It’s not that simple yet people continue to grossly underestimate the cost of development and wonder why things it’s late, why it’s buggy, why it just doesn’t work. The answer is simple, extremely simple, many many software projects grossly underestimate the amount of effort required. Although many people want to believe it’s more complex than that, it’s really just as plain and simple as that.
Permalink to this article Discussions (2)
InBoxer – Email Spam Filter for Outlook
About a year and a half ago I was getting really frustrated with the levels of spam my personal emails were receiving so I wrote a blog post asking what others were doing to reduce their email spam. Someone suggested SpamBayes, a free open source solution, which worked great for a while but then I had some issues with it. This eventually lead me to InBoxer, which is basically a commercial version of SpamBayes.
Over the last year or so it’s been amazing! It uses Bayesian spam filtering, so it took a bit to get it fully going. But once up and running things were great. Unfortunately, last week for some strange reason the database corrupted itself. Who knows why but it was frustrating. My greatest fear was that as I was launching my new EBook I’d be in the middle of training the Bayesian spam filter. I couldn’t ask for worse timing!!! In the middle of promoting the ebook I’d have to look at every single email as the spam filters wouldn’t be trained enough yet.
The good news though is that because of the volume of emails I get I was able to train the spam filter to a good enough level before the ebook launch. It has slowed me down a bit, but not nearly as much as I expected. And it’s reminded me of the appreciation I originally had for InBoxer when I first got it. For $40 it’s well worth it!
Permalink to this article Discussions (4)
HelpSpot a Great Customer Service System
As some of you know we use HelpSpot from UserScape as our technical support system. We’ve been using it for some time and it’s a great product. Today we performed a much needed upgrade as we were behind one major upgrade and at least a few minor updates. That being said, I know Ian, the founder of UserScape, has been very busy increasing its capabilities, adding many new great features.
We’ve been wanting to upgrade for a while, the only issue we feared was that we had significantly customized the templates to our website’s look and feel and it might cost us some effort. Right now we’re extremely busy and will continue to get busier until tax season. Our busiest time is actually from early fall to the end of tax season. We however decided to go ahead with it because our discussion forum is getting hit with more and more spam and we could therefore use the new captcha feature in HelpSpot to try to reduce it. There are many other great features, it’s just that this is the one that interested us the most right now.
Well let me tell you how incredible easy it is to upgrade HelpSpot! They have a page which lists all the changes to the template files you need to make. I’ve never seen clearer instructions. Not only did he highlight the changes, but he also included some of the template code above and below some of the examples. This really helped in cases where we weren’t a hundred percent sure because of the heavier customization we had done. I’ve personally gone over many technical documents which were suppose to be “simple and clear instructions” but were completely useless. This one clearly explained how to upgrade the custom templates.
The upgrade was so easy and simple that I can’t give it proper justice. Based on some of my other experiences I expected it to take some effort, especially since we significantly customized our integration with HelpSpot. It took me all of 15 minutes! Yes, that’s right! In 15 minutes I was able to upgrade all our template files as well as the full system. Everything worked right out of the gate the first time. Even the templates. That’s amazing! Congrats to you Ian and your team.
The only negative thing I can say about this upgrade is that I didn’t do it sooner. Not only is HelpSpot a great product for customer service, but upgrading is a also incredibly quick and easy. Even with heavy customization!
Permalink to this article Discussions (0)
Are Software Awards Real?
Before I begin, let me just say that this article was inspired by Andy Brice’s article The software awards scam. If you haven’t already read it, you definitely should. While I’m talking about Andy’s blog (Successful Software), let me just quickly add that I’ve been following it for some time and it’s very impressive. He has many really good articles, of which I’ve linked several across multiple posts here on this blog.
Getting back to the article, for those of you who aren’t familiar with software awards, many shareware directories (sites that are basically lists of software applications) sometimes give out software awards. What are software awards? The concept is that the better your software is the better the award you get. Maybe it’s a 4/5 stars, maybe 5/5 stars. Tucows (one of larger download sites) is famous for it’s cow awards (1-5 cows per software). Basically they exist to evaluate the software they list to let you know which ones are good and which aren’t.
Now if you think about it, how can some of these sites properly evaluate all the different types of software applications? They can’t possibly. What features make for a good property management software application? What features and usability make for a great mp3 player? What about a speaker testing software application? The list goes on. It’s possible but not on the budget many of these sites have. Especially when you consider that most are one person shops.
Even Tucows rating is very inaccurate. When LandlordMax was initially launched we paid for a Tucows expedited review (or whatever it was called) to get a detailed review report. We scored an average review. Not because of the features we offered or the usability, but because we didn’t provide some arbitrary features. These include:
- Flash-style or some form of professional visual intensive tutorial that aids in rapid learning of the program’s basic operation. (2 points). This is a nicety and doesn’t really tell you how effective the software is.
- Learning curve: “Does your application package offer quick launch, desktop or additional shortcuts?”. In no way does this describe the quality of the application.
- Repair function in the uninstall. How many applications really do have a repair feature that actually works?
- Functionality: “This is the Reviewer’s overall opinion of the functionality of your application. This criterion is rated in terms of functionality, speed, and resources.” Completely subjective. For example Photoshop sure takes a lot more resources than NotePad, therefore NotePad must be a much better application.
- Does it offer tips on startup? If it does, would that make the application any better? Would it help you play mp3’s with better sound quality? Would it help you balance your check book?
- “Linking customer support information into the application can gain you one to four points instantly, depending on what type of customer support you provide.” That’s for a whopping 9% of your total score! All I can say is wow. How can providing an embedded link to your customer service in the software make it better or worse, and especially by almost 9%
- File size. This is part of the “Program Enhancement” section. An amazing 3 points here. “If a competitor is offering the same exact features as your application and it’s half the size, it will receive more points that your application.” How can you accurately figure this out without a lot of effort, and even then… Unless you truly understand the benefits of Photoshop, how can you compare to the Windows Paint program?
- “Author home page: 2 points = The site contains contact information, brief program information, and online help and documentation.” Again, I agree that it’s great to have but it still doesn’t really tell me how good or bad the software is.
- “Cost vs. Value: With respect to the price you’ve set for your application, the reviewer’s ask themselves a question depending on what license type you fit under: (3 points)”. I’m sorry, but for property management and real estate software, unless you’re directly involved in the field you can’t possibly answer this question with any real accuracy. I’m sure the same is true in many niche markets.
- And the list goes on…
Overall, as you can easily see, their evaluation criteria clearly doesn’t measure the quality of a software application. It does measure something, and it’s should be consistent. Well even here I beg to differ. When we ran LandlordMax a second time through the Tucows rating service we got a significantly different score. Either way it’s pretty easy to game this system. If you provide a software that has an amazing installer, lots of documentation (the quality is indifferent), that’s small in size, and so on. you will get a good score on Tucows. The quality of the application (features, easy of use, etc.) is only a secondary concern. And it’s easy to understand why, there’s just no way they can accurately rate all the software applications submitted to them on an ongoing basis. Just reviewing LandlordMax requires at a very minimum some understanding of the property management and real estate domains.
And even with this poor rating scheme, it’s still only a rating scheme. They try to abide by it and do offer something. As long as you’re aware of what they really measure, they mostly do what they claim (giving them the benefit of the doubt here even as I had a somewhat contradictory experience with LandlordMax). When it comes to other shareware sites, unfortunately most do fall short. Especially with one person operations. There’s now way for them to review every piece of software submitted. It’s not possible.
And this is where Andy’s article really sheds some light into this industry. It’s something many of us suspected but didn’t know for sure. At least not until now that is. Andy took the time to write a dummy application (he actually just changed a text file to an exe by changing the file extension name from .txt to .exe) and submitted it to 1033 shareware sites. Many gladly accepted his software. Even better, many gave him 5-star reviews with nice shinny award graphics. Of the 1033 sites he submitted it to, 218 sites listed it and 394 are pending. Of the 218 sites, “approximately 7% of the sites that listed the software emailed me that it had won an award (I don’t know how many have displayed it with an award, without informing me)”.
Although I personally had a very strong suspicion it was a sham, I didn’t know to what degree (or for sure it was). We initially started to display the awards here at LandlordMax but quickly stopped once we started to get the feeling that they weren’t necessarily based on the quality of our application. We have some, but nowhere near as many as many as we could.
Although we stopped adding new “awards” we haven’t removed the older ones. Why not? This is where the reality of business and ethics step in. If we remove them and our competitors leave theirs on, then we haven’t won any awards in comparison. This might seem trivial but those awards can turn into significant differentiators, and hence real revenue dollars. We did receive them in good faith and have displayed them in good faith, well at least until it was recently confirmed otherwise. Now that we know we are faced with the dilemma of whether or not to remove them.
They’re still technically legitimate, someone did give them to us. No we probably didn’t earn them if we believe Andy’s report, but unfortunately I know Andy is absolutely right (numbers don’t lie). If we remove them we will probably lose some revenue from our less web-savvy customers. They will see our competitors showing their many awards and we won’t have any to match because of principles. Again, you have to look at it from the non web-savvy customer’s perspective, not you guys. They don’t know that most of these awards are a sham. Unfortunately we now know that the odds are very good that most of our awards are not “real”. The other side is that principles don’t always put food on our plates.
In this case I personally believe that the right thing to do is remove the awards page. In the long run our customers will appreciate our stance. They will appreciate our honesty. And therefore we will take down our awards page. Actually we might simply convert it to a “Reviews” type of page, similar to what Andy’s done with his website. I don’t know when this will happen since we’re already more than busy enough with our current workload (and this is a lower priority task after all), but we will make the change at some point.
Permalink to this article Discussions (2)
Windows Vista Read-Only
Since we released LandlordMax with full Windows Vista support, we started to notice a certain level of error reports coming with messages stating that the software couldn’t write data to database because the database folder was read-only. Obviously, if the database folder is set to read-only, it can’t write, but the big question is why are any database folders being set to read only? Was it specific to Vista?
At first it was only a few read-only errors so it was harder to nail down. But it didn’t take us long to isolate it to Windows Vista. Although we support Windows Vista, only a small percentage of our customers use it. I believe the current market share is somewhere in the the single digits percentage wise. But as time passes and we add more and more Vista customers, not to mention Vista growing their market share. It’s a growing issue for us and all other software vendors as you’ll soon see if you aren’t already experiencing this issue.
After a lot of investigation we discovered that the “read-only Vista issue” is very prevalent. It’s frustrating a lot of users! To give you an example of just how big an issue this is with Vista, I just did a Google Search and found these threads here, here, here, here, here, here, here, and here within seconds. A lot of people are complaining, it’s affecting a lot of software. But worse, it’s not just affecting the software applications but also the users data folders. For example a lot of people are also complaining that they can’t even edit their pictures.
Delving further into the issue, what’s happening is that Microsoft is trying to add extra security to prevent “Malware” from getting onto your computer. Whether or not this is the right approach is an entirely different discussion, but the downside is that it’s definitely causing a lot of frustration to their users! As I’ve already said a lot of people are complaining. Software vendors are getting hit with a lot of extra “support” costs to deal with this issue. After all, if the software doesn’t work, it’s probably the software vendor. Not in this case, but you can’t blame the customer. I initially had the exact same reaction. Windows Vista is still too new that most people haven’t yet figured out this is a Windows Vista issue.
On top of this, something we’re just starting to experience, sometimes if you change the file properties from read-only to read/write (ie uncheck the read-only file attribute), it comes back as read-only!!! What? I uncheck the checkbox, close the folder properties dialog window, and re-open it only to find the read-only checkbox selected. And yes I’m in Admistrator mode. I myself am confused and I’m nowhere near a novice user. I can only imagine the storm that’s going on as most people would have no idea what to do.
Up until recently all our customers could resolve this issue by just changing the folder permissions (at least as far as I know). Now this doesn’t always work. There’s no indication of what to do anywhere within Windows Vista. It changes your settings without you wanting to. I’m personally at a loss and will be contacting Microsoft on Monday to see what’s going on.
I have no doubt that they will have to revisit their decision on this aspect as they gain market share and it becomes more obvious what’s happening within the community at large. I can only imagine the scale of the storm that’s already brewing…
Permalink to this article Discussions (139)
WhichJar.com
In the last two days I’ve created and launched a brand new website aimed at Java developers called WhichJar.com. The site is now live even though the database is pretty empty (I’ve only added a couple dozen Jars so far). I’m working with someone to fill it up with lots of data very soon.
What does WhichJar.com do? For those of you who program in Java, often you run into what I call “Runtime Jar Hell”. Basically what this means is that you set up a project and everything compiles, but suddenly when you try to run it (your J2EE app, Swing app, etc.), you’ll get class not found exceptions. What’s happening is that one of the Jars you added to your project also requires other Jars for it to run (they are only required for runtime, not compile time). It’s very easy to miss these, and all you get back from the runtime engine is the name of the class it can’t find. If you then try to Google it, often all you’ll get is the API, from which you then need to do some sleuthing to actually find the right jar. This is extremely annoying and boring!
One of the newer tools out there that’s supposed to help minimize this is Maven, but that’s also got some issues. And not everyone uses it. So for those of you who get caught in Runtime Jar Hell, I’ve created WhichJar.com. All you do is enter in the fully qualified class name and it will tell you which Jar it belongs to, where to find it (the website and download URL), the version, release date, etc. Instead of spending a lot of time trying to find it online from the API (which is not always obvious), it’s all right there for you in an instant! Click here to see an example result page.
Again, as I’ve said before, the database is pretty empty right now but that’s going to change with time. We’re adding about 100 new Jars a week and I’ve hired an outside source to generate me a much fuller and larger list for the very near future. So hopefully within a month or so it will be full of data and extremely useful.
So please go ahead and try it. It’s very handy and it can save you a lot of time!
Permalink to this article Discussions (3)
« PREVIOUS PAGE | NEXT PAGE » |