I started AppDeploy nearly 12 years ago now. I taught myself ASP (which is basically HTML with some server-side VBScript) along the way. I integrated with an extensible forum solution that let me leverage it for account handling and I managed to build up some unique features like the Package KB. I didn’t know what I was doing and got killed by hackers more than once due to security holes. I plugged those holes and that was as far as AppDeploy was going to go. Further development required time and expertise I simply didn’t have. I’m a deployment guy after all, not a developer. When KACE acquired AppDeploy and hired me to continue running the site, it was a dream come true. However, I was given a lot of responsibilities that kept me from doing much more than keeping the site running and there was very little time for enhancements or updating of the site. In fact, those ASP skills that were pretty fresh when I started are all but obsolete today. I’d get great suggestions all the time, and was always looking into how we could take the site to the next level including moving everything over to a framework like Drupal, but no framework really provided the features to handle some of the more unique aspects of the site like the popular Package KB. When Dell acquired KACE it opened an opportunity for me to put together a dedicated team to focus on helping AppDeploy reach its full potential. This slowly growing team and I discussed what could be done at length; we got to drawing up wireframes, specifications and user stories to start building a new site from the ground up. I needed to expand the scope of the site to justify the investment (hence the need for a name change). We worked on the site for just about a year, ran some beta testing and finally pulled the trigger and executed the migration that brought us to the initial public launch of ITNinja.
It could have gone a little more smoothly. To sum up: we tried to pack too much into the initial release, we didn’t leverage our User Experience resources well, we underestimated the complexity of merging the Software KB and Package KB, and we released before we were ready. There are lots of reasons for each of these issues not worth going into, but luckily, we now had a dedicated team, and one that has never stopped working to improve the site. It was necessary; we needed a public starting point and we needed the feedback. The site was in beta for months with hundreds invited to provide feedback, but very little feedback came until it was publicly launched. Usability being a paramount concern, we added a dedicated User Experience head to the team and I’m very happy to say that with each release ITNinja is shaping up to be what I had always wanted AppDeploy to become. The site is developed using an agile process (Scrum) and in my role as Product Owner I’m constantly creating new tickets, reprioritizing tickets, and collecting feedback to drive both of those activities. There are over 700 improvements, bug fixes and new features already in our backlog and it is growing and shifting all the time. I collect feedback via email, our UserVoice feedback system and we have even run a couple of usability studies. I am a daily user of the site in my role as moderator and so generate plenty of my own first-hand feedback as well. I’m happy with where ITNinja is today and can see to the site’s near future where it just gets better and better.
Did we have a rocky start? Admittedly, yes. Most were supportive; as IT professionals, most understand all too well the technical challenges and believed the promise that we were acting on feedback to continually improve the site from day one. Taking the time to provide helpful feedback would lead to a better community for all, and I got lots of very helpful feedback to help me steer things in the right direction. I knew not everyone would be supportive and the fact that many people simply don't change coupled with the known limitations of the initial launch of the site had me rightfully concerned. I received over a dozen seething, hateful emails that the community was ruined, littered with sarcasm and cursing. This surprised me. AppDeploy is a free resource and one in which I’ve convinced Dell KACE to invest a great deal of resources. No matter how unhelpful some of the comments I received were, I responded to all of them, no matter how it was written. While most never responded back, it was important to me that I had an opportunity to promise those most interested that we were indeed on the job.
To that end, I’d like to highlight just some of what we have done since launch and a bit of what we plan to do in the near future…
The Software KB on AppDeploy was all but impossible to browse; yet somehow nobody once complained about it. It was a simple alphabetical list of about 90 thousand software titles containing raw inventory records (basically the details you’d see in Add/Remove Programs area of the Windows registry). No attempt to clean up this database had been made and so duplicates and garbage entries were commonplace.
Much of the data we had here I considered to be of questionable value. Sometimes there might be a helpful link or command line, but sometimes there was not. Add to this fact the sheer ugliness of many entries and we knew we had to find a way to clean things up. The migration did some clean up and de-duplication of entries (we have a lot more work to do here still) but it also removed entries that had been reported only once. You see, these inventory records are contributed anonymously from opt-in users of the Dell KACE K1000 Systems Management Appliance and so one way we could sift through this data was to see how often a software title was reported to the database. In eliminating software entries that had been reported only once, the database got considerably cleaner but effectively cut the size of the Software KB in half. As soon as we launched I started getting reports of how some applications we had covered on AppDeploy were now missing on ITNinja. Even if that data was of questionable value, it was “something” and the lack of that something on the new site was admittedly a negative thing and we are working to correct this (not as easy as it sounds).
An early decision we made around how to better present the Software KB and Package KB was that the two should be merged as one feature of the site. That would mean we’d have a page for each software title that could also serve as a place for all related software information. The vision on which we are executing is that of a place where there is an IT home page for every version or every software title. That page serves as home to deployment tips alongside any tagged links, questions or blog posts. We are actually working to better arrange the details on this page now, but the pieces are all in place. Below is a mock up of the new design we will be implementing shortly.
With so many software titles and versions covered, most agreed (at least early on) that search was the best method to focus on when it came to helping people find what they were after. Not long after launch, the demand for an alphabetical list of software that one could browse to find software quickly became our number one request. Not wanting to just put back an alphabetical search that would prove just as frustrating to use, we managed to implement some filters to help narrow the number of software listings being browsed. By default we show just “popular” software (based on several factors like number of tips, tagged content, rating, number of views, age, followers, etc.) but you can also look at those that just have tips or tagged content and all such values can be sorted to make browsing this large database a much better experience. Our studies have shown that most still prefer search, but providing this as an alternative (or primary for those that favor browsing) has been well received. For the best of both worlds, I’m happy to let you know we are working on adding a software library keyword search right on the software page so you can see similar results when searching for software (versus searching the entire site).
Most people like our move from a traditional forum to a tag-based Q&A approach, but it did make browsing content more of a challenge. Our first effort to improve this was to enforce at least one tag representing the topic of the content. Now, everything has at least one tag and you can easily browse content by such tags.
This highlights our 18 high-level topics really well, but can make digging into the other tags on the site a bit harder to do. As of now, clicking on a tag takes you to tag based search results but later this month we will introduce a much better landing page for tags similar to that of the topic home pages.
This last release took longer than usual because it contained a rather complex feature that required a lot of testing, and that was the ability to add new software and tags to the site. When you add software to the site, it gets added to the software library and our tagging system. Previously there was a simple form that generated an email that had to be processed manually via database updates, but now you can do so directly. The development team has done another great job here as there were some challenges involved in supporting a pick list containing thousands of entries like this. Adding a standard tag is simple, but when you add software you are creating a record in the Software Library so it was much more important that we help to eliminate the possibility of duplicates or confusing entries. This is another case of a new feature that will improve over time but I think we have a strong start in this critical new capability.
Performance is another area in which we are investing. We already have a load balancer in place to distribute the load across servers. Next we are investing in caching servers to help speed the loading of content from a more local source that we anticipate will be a significant performance gain particularly for our overseas members.
Finally, I wanted to touch on search. With a site that contains so much information the biggest challenge is to make sure you can find what you are looking for as quickly as possible. I’ve mentioned a few features implemented to help support that need, but we have a new effort underway for which you should see in the near future: an overhaul of our search facility. AppDeploy used a Google Custom Search Engine and there was little complaint about it, but doing the same on ITNinja has not resulted in the same level of satisfaction. As such, we are working on our own search capability that will allow us better control over the grouping, display and importance of the various results.
Some of the most encouraging feedback that we are doing the right things and headed in the right direction comes to us in the form of your much-appreciated participation. On a weekly basis ITNinja already sees more contributions than AppDeploy did and the number of deployment tips being contributed has remained steady.
These first few months have not been without challenges, but I’m hopeful all can both see and appreciate the effort that got us where we are and the ongoing efforts to continually build upon this great systems management resource.
Keep that feedback coming!