Tuesday, November 30, 2010

Goodbye, Amazon

Tonight I moved my servers out of Amazon's cloud and into Linode's. Life on Amazon's cloud has not been simple these past few weeks.


But, wait, you ask - isn't Amazon the first and most prominent cloud provider? And I've never heard of Linode...


That's what I thought for a while. It's what I thought when I first started noticing problems connecting to Amazon's instances - hey, it's probably my fault. So I set up multiple "ping" services to check my web site every 10 minutes to see if it's available. I used Pingdom.com and WasItUp.com. And guess what I found out - it's not me, it's them. Their instances are simply flaky. And incredibly weak.


Let me explain exactly how bad it is. For 2-3 weeks I had the following configuration: 2 load-balanced Amazon instances that serve simple static HTTP pages with Apache. Now, nobody was using them, just to be clear. They were simply there for the purpose of being pinged every 10 minutes.


The result was multiple periods of unavailability lasting a few minutes each every day. My iPhone's SMS inbox was getting full from all the downtime alerts I was getting. This, you might say, is completely unacceptable already, so why the hell did you launch your Alpha on this platform?
Well, I shouldn't have. I should have trusted my own tests. 


But the straw that really broke the camel's back was on launch today (two days ago). The system came up and lots of people got invitations to log in. After about 30 minutes the connection to Amazon became a 3KBps upload silly-straw. This meant that even relatively simple operations like saving a Gigantt plan with a few hundred work items took 20 seconds, and sometimes it timed out. The servers themselves weren't stressed at all - it was Amazon's network, which is also very flaky. This is even after I moved my servers from east-cost U.S. to their Ireland farm, mind you (I initially suspected that the east-cost might be a bit too far and that the EU farm may improve latency for me).


Now that I moved to Linode life seems so much better. I got my own HAProxy, and I don't have to rely on Amazon's weird ELB product for load-balancing. The instances are much much stronger (albeit more costly) - buy, hey, you get what you pay for. And the bandwidth is terrific. Let's just hope it stays like this.


In the process of choosing a cloud provider I tried all the big players: Amazon, GoGrid, Slicehost, Linode and Rackspace (well, I couldn't even finish the signup process on Rackspace, to be honest, it was just so painful, so let's take them out of the list).
I knew Amazon had problems, and yet their reputation made me suspect the situation will be similar on other providers. Even after I tested and compared their availability I hesitated to switch away from Amazon because, well, it worked, most of the time, and I had more urgent things to accomplish. That all changed once my servers stopped working 30 minutes into the launch. I hope I learned my lesson.


I also want to commend Linode's support team. I opened a support ticket within the first hour of signing up and they responded in 5 minutes, and followed up for the next 2 hours to help me sort things out. Excellent customer service. Amazon, btw, has no customer service to speak of (unless you're willing to cough up exorbitant fees).


Bottom line, I hope the transition is smooth and that nobody's experienced any down time at all. If you notice anything fishy please let me know. I'm keeping the Amazon instances on for now, just for backup, until I see everything is nominal.


Thanks, Dima, for telling me about Linode.

Sunday, November 28, 2010

Gigantt Alpha is Here

The Gigantt Alpha is here

It is by invitation only, and those that have requested an invitation will receive an email today with instruction on how to log in.
I highly recommend going through the What's New section of the tutorial (login required) to see what has changed. 

What does Alpha actually mean?

It means that it's a work in progress, and there may be bugs and prolonged periods of unavailability. I'll do my best to minimize them. But it's not that bad: Gigantt's servers are virtualized over Amazon's Cloud and use highly reliable storage. They're also backed up entirely every hour, so you can rest easy that data-loss is unlikely. In addition, all communication is encrypted and no passwords are stored (only hashes).

What's Missing
  • Still no time estimates and resource allocation. Coming soon.
  • Still no auto-save, so do Ctrl+S from time to time.
  • Still no collaboration, so only one person can edit a plan, and if you save from multiple browsers simultaneously you may overwrite your changes, so watch out.
  • Still no easy way to connect remote items. But this, too, will be added very soon.
Other than that, it's a dream for personal management. If you don't agree, there's a feedback button inside - use it.

What's next? 

I plan to release a minor version in a week or so that will address any issues found by alpha users. This release shall also include a crude implementation of time estimates and creating remote connections (i.e. between items not in the same container), just to make it a bit more usable for small teams.

Friday, November 12, 2010

Who wants Kibble?

Gigantt is officially eating its own dog food. After 6 weeks of work I'm very proud to announce that I am now using Gigantt to plan and manage itself. Setting this canine-cuisine goal for myself so early in the project, I now realize, was the smartest decision I've ever made. Right away, I could tell what's crucial and what's not. What's really annoying - to the point of hurting usability - and what's just aesthetic nitpicking on my part. It also made me realize that I've still got a long way to go until I can release this product into the wild.


As you no doubt remember, I'm working on the private alpha version now, and by dog-fooding I'm finding out I still have quite a bit of work to do. More than I'd planned initially. There's a wide gap between cool and useful, and there are lots of tiny features to implement without which the system is just too annoying to use. 


Thanks, by the way, for signing up for the alpha. Lots of people signed up - more than I expected. While there's no link to a cool showcase in this post, I can at least tell you a bit about what to expect in the alpha.


Planned Alpha Features

  • Saving plans. Obviously, this requires quite a bit of work in terms of creating a server-side, setting up user accounts, security, etc. 
    • Sign-up is by invitation only at this point.
  • Improved editing
    • Cut & paste using a multiple-item clipboard.
    • Undo (simple, right? I wish...)
    • Reordering items by drag-n-drop.
    • Deleting connections between items.
  • Being able to mark items as "done".
  • A feedback box, for quick one-click "listen, this product sux big time and you should quit" messages from early adopters.
  • Lots and lots of tiny improvements that you'd hopefully not even notice because they're so natural and obvious.
Basically, the alpha will be a fancy mind-mapping system for graphs, instead of trees. As such, the alpha is useful for personal planning and management. Not quite useful for managing a team just yet. The rest of the functionality, like time estimates, resource allocation and collaboration, will have to wait for future versions. 

Wednesday, November 3, 2010

The Final Gigantt Showcase

The final Gigantt showcase - version 0.6 takes the form of a tutorial. Hopefully it's self-explanatory and anyone going through it would find the system usable in exactly two minutes.
What's New
Even though the tutorial goes through all most of the features, allow me to highlight some of the stuff I've added since the last showcase:
  • Gigantt plans are now editable. It's similar to how you might edit a mind-map. 
    • You can create new items, delete, rename and even draw connecting lines between items in the same level.
  • I've added keyboard navigation, which is (hopefully) even more convenient than the mouse.
  • You can search the map.
  • The browser address can now be used as a link to the item you're viewing, and you can also use the browser's Back/Forward buttons to navigate (update: this doesn't work on Chrome at the moment).
  • On the server side I've moved Gigantt to Amazon's AWS Cloud Service. Hopefully the scalability would come in handy (if there are ever enough users). Moving to AWS was, by the way, a very positive experience, and I recommend their service.
This is going to be the last public showcase. Thanks for following thus far, and for sending me valuable feedback. 
What's next? 
I hope to launch a private alpha in 1-2 weeks. If you want to participate in the alpha just send me an email. From that point on Gigantt will start to eat its own dog-food. Hopefully I won't be the only one using the system :). So, go ahead, give this last showcse a try and let me know what you think.


Wednesday, October 20, 2010

Zoom Smarter, Not Harder

Here's what's new in the latest Gigantt showcase.


Navigation Panel

I've added a navigation panel to the top of the page. It shows you where you are in the plan and how you got there. It also lets you jump up to "parent" items.




Details Panel
A details panel shows extra information for each item that's in focus. 
This is a bit of a break from the initial design that tried to display every related piece of information about an item inline. Inlining is cool, but after trying out a few alternatives I think this is the right direction to go. This clears up the graph area which makes it easier to visualize relationships between items.
In the future this panel will also let you specify resource allocation (i.e. who does what), show conversations people have about the item, history, attachments and more.
Also, there'n an awesome new logo for Gigantt.


Smarter Zoom

The user-interface is now truly infinitely zoomable. This means the UI works just as smoothly and as fast when you have 10,000 items in your work plan as when you have 100. This is achieved by "streaming" the relevant parts of the work plan to the UI for display, instead of displaying the whole thing as one huge scaled interface.
Instead of free-hand zoom this showcase tries a different approach: double-click to zoom into an item and click [Up] to go back. I think it's much more efficient and easier to navigate.

So, what are you waiting for? Go check it out.

Saturday, October 9, 2010

Robbing three casinos at once

A few weeks ago I watched the movie Ocean's Eleven a few times and spent a whole night writing down the plot's entire plan as a work-graph in Freemind. The result was a not-so-big graph (around 170 vertices), but when you try to view it all in one screen you get this:


I chose this particular plan because it illustrates a few problems with current planning tools.


Notice it's not such a big plan. 170 work-items, when each item measures in hours, is about two weeks' worth of work for a small team. Yet when you try to visualize it all in one screen you get a mess. Granted, Freemind isn't exactly designed to do this, and there are other tools that do a slightly better job at laying out graphs. But these tools don't allow you to write down and edit your plan as easily as mind-mapping tools like Freemind do.


The same plan in MS Project looks like this:




A bit less messy, but still: you can't really make out the text; the connecting lines overlap and you can't tell what depends on what; and if you zoom in you have to scroll the screen four times just to view the whole plan. And editing? Forget about it. Writing down the initial plan in Freemind took me 1-2 hours, but doing the same in MS Project was just impossible. I just couldn't do it.


And what if the plan had 1700 steps, instead of 170? Both of these tools would have failed spectacularly.


Now here's the same plan in Gigantt. Click any item to zoom into it, or use the mouse wheel. By zooming in on each level of the plan you maintain your 2D orientation and you're not lost in the details. 


What's missing? A lot. Obviously, it still doesn't show connecting lines between items. And of course it's read-only. But with time I'm going to add the ability to edit the graph as conveniently as you would a mind-map. But that's all in future showcases. Right now you can just have fun zooming around this skeleton of a Gigantt plan and hopefully be impressed by how difficult it is to rob three casinos at once.


Tuesday, October 5, 2010

Logo Design Contest is Over



The logo design contest I launched a week ago on 99 Designs has ended, and it's time to choose the winning design. I'm going for something that will convey some of the key aspects of Gigantt: zooming-in on a huge fractal graph that represents a work plan. I asked designers to create logos that capture these ideas. I mostly got logos that play on the letter G.


I got about 70 designs; about 10 good ones. Out of these, I chose the top seven that I actually see myself choosing and now I'm asking you to go ahead and vote for the winning design. The more people do, the better choice I can make.


So, what are you waiting for. Go vote.