The Unfuddle Blog
A few weeks ago we wrote about how we were working to speed up Unfuddle's user interface. We saw some significant increases in performance as a result of that work. This week we have worked to squeeze even more performance out of Unfuddle. Here are some of the steps we have taken to do this:
- We are now serving all static assets from Amazon CloudFront. This alone made a huge difference in page load times.
- We have improved the caching headers and cache-busting of static assets.
- We now proactively load the different views in your account so they are available immediately when you request them.
As many of you have noticed, the user interface within Unfuddle has not changed much in the past few years. This can be both good and bad. On one hand, Unfuddle's interface has remained consistent and predictable for our long term customers. On the other hand, in many ways it has begun to show its age.
Today, we are releasing the first in a series of iterative updates to the Unfuddle interface. This update lays some of the technical groundwork for many of our upcoming optimizations.
As we approach the redesign of the interface, we have a number of goals we are trying to achieve:
- to optimize the responsiveness of the interface;
- to upgrade the look, feel and user interaction to more modern ideals;
- to maintain the same directness and simplicity that Unfuddle has always had;
Here are some of the highlights of what we have deployed today:
- There is an all new, condensed navigation header. The project selector has been relocated and updated to include an aggregate view called "All Projects".
- Project dashboards have been replaced by an Activity feed. Currently, the Activity feed is an infinitely-scrolling list which will allow you to see all activity, back to the beginning of your projects.
- Ticket reports have been modified to only load the first 300 tickets. Additional tickets will be automatically loaded as you scroll down the page. This is particularly helpful for very large ticket reports.
- Account settings are accessible by clicking the gear next to the account name in the header. Of course, only account admins will see this.
This is only the beginning. Now that some of the groundwork has been laid, we are going to begin systematically updating each aspect of the Unfuddle application.
Do you see something that you like? Are you missing something that is no longer there? Please let us know!
In our previous post, we discussed how we were planning to make some changes to address some of our recent performance issues. Since that post, we have been working hard to speed up Unfuddle and decrease load times. You can see below for some highlights of what we have done so far.
We have moved all Unfuddle accounts to more powerful and capable servers. We previously used a fleet of Amazon’s m1.large instances but we have migrated to m1.xlarge instances. This means significantly increased memory and CPU. This has already greatly reduced some of our more common server-related issues.
We used to have an embarrassingly small amount of caching (of any kind) implemented in Unfuddle. We have now gone through the entire application and begun caching at a number of different levels. This has had a direct result on page load times and API requests across all of Unfuddle.
Ticket reports have unfortunately been one of the slowest API endpoints as a result of their complexity. We have been working to reduce the time it takes to generate a ticket report and to display it in your browser once it has been generated. We are also caching report data where feasible to further reduce the load times.
We were careful to measure our average response times before making any changes so that we would have empirical data telling us if we were going in the right direction. Here are the results for select API endpoints:
As you can see, on average, most requests are taking about 33% of the time. That’s a huge improvement!
And we are not done...
While the improvements listed above have made a difference, we are not done yet. Over the next few weeks we are going to continue our optimization efforts. We will be working to improve the speed of Subversion and Git repository access as well as further optimizing ticket reports.
After that, keep an eye out for some changes to the Unfuddle interface. We are going to be implementing some things that we think you will find pretty helpful...
I want to thank everyone who has been providing us with such valuable feedback in the past couple of days. We have received a lot of positive and constructive comments from those that are using Unfuddle Alchemy. From others, we have also heard a number of fears.
Perhaps our future plans need some further explanation...
The current Unfuddle app works very well for many teams. However, some teams have had trouble using Unfuddle within their existing workflows and methodologies. Over the years, the software development toolchain has changed a lot. Methodologies have come and gone. People's expectations have evolved. The current Unfuddle app approaches software project management in a very specific way, but there are some teams who just need something different.
The tools we are developing in Unfuddle Alchemy address some of the needs that our customers have expressed through the years. For some teams, the new tools in Unfuddle Alchemy may be just the thing they have been looking for. Other teams may be completely satisfied with the way that the existing Unfuddle app helps them with their work. This is perfectly fine.
I want to make it clear, we are not abandoning the current Unfuddle app in any way. We are absolutely committed to actively updating and supporting it.
That being said, we have not been great at balancing our time between new and existing products. Perhaps we spent too much time on new things to the detriment of the existing. We were simply excited about Unfuddle Alchemy and convinced that these new tools would be beneficial to so many teams. But we hear your fears and are committed to you, our customers. For example, we have heard loud and clear that site performance has been a problem. We are going to fix it. As of today, we are committing as a team to resolve these performance issues. Part of our team is shifting focus from Unfuddle Alchemy in order to get this done. Be watching for updates...
In the meantime, keep the feedback coming!
Since its launch over 6 years ago, Unfuddle has grown a lot. What started out as a personal project designed to meet a single team's needs, has grown to helping hundreds of thousands of users develop software better. While Unfuddle has gained many features and improved as a product over this time, our industry has matured and project management methodologies have continued to evolve.
It's time for Unfuddle to evolve as well.
In the past months, we have hinted that we have been busy. Actually, "busy" is an understatement. Our team has been taking its years of experience in software project management and has been applying it to the development of a completely new suite of software development tools. We call this suite Unfuddle Alchemy.
We have been using Unfuddle Alchemy internally for some time now and are really excited about how it has aided our development. But it is now nearing time to share with you all what we have been working on. To that end, we are starting an invitation-only beta of the tools in our new suite. We cannot include everyone in the beta right now, but we are so excited that we want to give you a sneak peak into what we have been working on behind the scenes.
Here are some hints: hierarchical objectives (replacing projects and tickets), sophisticated scheduling (including task boards), completely customizable workflows (custom states), live meetings, Mercurial, and much more.
If you are interested in receiving an invitation to the private beta of Unfuddle Alchemy, please sign up here. We cannot yet guarantee when you will receive an invite, but we will be sending out invitations over the coming weeks.
We are pleased to announce that we have significantly increased the storage limits of all Unfuddle plans. Check out the Sign Up page for all the details. All plans, including the free "Private" plan have increased by at least 50%, some by 100% or more, giving you more room to grow and store your Git & Subversion repositories and file attachments.
In addition to the new storage limits we have also gone ahead and included unlimited archived projects for all paid plans. Previously, we offered a maximum of 50 archived projects at the highest level plan. With unlimited archived projects, there is no need to decide which projects to leave in Unfuddle and which to get rid of. All of your finished or inactive projects can stay in your account allowing you to hold on to all of your tickets, messages, notebooks, etc for future reference.
As a reminder, all new accounts at any plan level start with a completely free 30-day trial, no credit card required. Interested in trying Unfuddle? Go head and choose a plan to get started.
Security is one of our main priorities at unfuddle. One of the ways we have always helped our customers on certain paid plans is by allowing them to access their accounts via SSL. We are proud to announce that SSL is now available for all accounts, regardless of plan. This means all Private and Micro level accounts now have SSL enabled.
There is no need to upgrade or modify your existing account in order to use SSL. However, if you wish to prevent your team from accidentally accessing your Subversion repositories without SSL, simply check the "Force SVN SSL" box in your account settings.
We are pleased to announce the support of Subversion 1.7 for all Unfuddle customers. There are a whole host of additions and updates that come with this release. Here are just a few:
Unfuddle is an integral part of many software developers' toolchains. It can be a major problem if a customer cannot access his or her account. And while we do take many precautions to prevent outages, they do occur. It is during those times that we want to get the message out as quickly as possible that we are aware of an issue and are working to fix it.
Previously, we have had to rely solely on email to let inquiring customers know about such issues. However, we have recently created the Unfuddle status website. There we will post notices of outages or other major issues affecting multiple customers along with updates explaining our work to resolve them.
If you find that you are unable to access your Unfuddle account or repositories please check the Unfuddle status website first before contacting us, as we probably are already aware of the problem. Of course, if you notice an issue which is not listed on the status website then please email us at firstname.lastname@example.org so we can investigate.
Happy new year! We have just deployed a number of small bug fixes and updates. Among these, the most notable update is the addition of descriptions to milestones.
Yes, you read that correctly. Many of you have asked for it and it is now possible to include a description for any milestone.
The descriptions can be used to describe a particular software development cycle or provide a synopsis of work to be accomplished by the milestone's due date. In addition to that, some uses which have been suggested by our customers include using the description to include a story for an agile sprint or simply listing the goals of a particular release.
We are sure many of you will find other uses for the milestone descriptions. As always, please email us at support if you have comments or questions about any new feature or update. We love to receive your feedback!