Sign up  login
 
Home breadcrumb arrow Blog breadcrumb arrow Gliffy Blog - 2008 - September

Archive for September, 2008

Does Your Vote Count?

Wednesday, September 24th, 2008

As the election season ramps up here in the United States, let’s take a moment to ponder the question: does your vote count?

Here at Gliffy, we implemented the JIRA public issue tracking system. This system logs all the feature requests, reminds us of the typos found on our website and tracks our progress on fixing any bugs. At Gliffy, the more votes an issue in JIRA receives, the more likely we are to prioritize that as a topic to address. Here, the issue with the most votes wins.

This chart shows the comparison between the two voting systems.

In the United States election for the President and Vice President, the winner is not determined by the popular vote. Rather the winner is chosen through a process known as the Electoral College. The process:
- Each state (and the District of Columbia), is granted a certain number of Electoral Votes
- The popular-vote-winner of each state determines how ALL of the Electoral Votes of each state will be cast (two states do not follow this winner-take-all approach)
- The candidate to receive 270 Electoral votes is declared the President and Vice President of the United States

As experienced in the 2004 election, the popular vote does not determine the winner.

I would venture that your vote counts in both places. At Gliffy, we work on all issues, those with 1 vote and those with many votes. However, we ruse the vote to help us stay connected to users and ensure we are listening to the direction our users want us to take our product. By comparison, in the United States election process, each vote builds to a greater meaning. The Electoral College process ensures the votes of the residents in small population states does not get lost in the grand election. For some election night fun, try this simulator.

Ultimately, I encourage you to create a login and vote readily on your favorite Gliffy topics, and if you happen to be eligible to vote in the United States, then Get Out and Vote!

Written by Debi Kohlhardt

Plan your next road trip with Gliffy

Monday, September 15th, 2008

Whenever I find myself using Gliffy for my own personal use, and discover again how cool it is, I like to share. Earlier this year, I used our Floorplan shapes to create the layout of our wedding and shared it with our photographer, videographer, and musicians. This was to give them a good idea of specific locations at the site and what they looked like. Recently, I’ve been planning a golfing road trip to western Oregon with some friends. I wanted to show them we could hit 7 varying courses in a 6 to 7 day trip.

I decided to use Gliffy to overlay proposed golf course locations on a map of western Oregon. I first uploaded an image of a map, then pointed out the courses on the map by their city locales, and adding where they would fall in line in order of days. To help get everyone fired up, I also included images of the courses next to their information. Below is a snippet of the complete map available here:

Snippet of western Oregon golf trip

As I shared this with some of my friends, a few of them added some alternate courses on the map with images. One of the courses that a friend found looked spectacular, so it took place of one I had picked. True collaboration at work!

The other information I’ve added are website links, prices, and contact information. I’ll also be adding hotel information and places to eat. A bonus is that once we take our trip, I can just print out this one document and bring it on the road. I won’t need to shuffle around a lot of papers and maps to find the information we need. And we can continue to drool over the images of these amazing golf courses while driving (Gliffy does not promote drooling and driving). The challenge now is finding time to all take a week off, but until then, we can continue to update this diagram.

So the next time your planning a trip with family or friends, try using Gliffy.

Written by Clint Dickson

Follow us on Twitter!

Wednesday, September 10th, 2008

For those of you using Twitter, we’re now hooked up and available here. Follow us for updates and tidbits in between blog posts!

Written by David Copeland

Testing Gliffy without testers

Tuesday, September 9th, 2008

My initial task at Gliffy was to develop the integration API (which is almost ready!). That quickly morphed into me taking primary ownership of the back-end code (this is the part of Gliffy that you don’t see; the part the stores diagrams, manages users, creates JPGs of your drawings, etc.). After some initial planning and exploration of the code base, I suggested a few under-the-hood changes that might make the task a bit smoother, at a slightly longer delivery time. Clint, Chris and I discussed some options and we agreed to replace the SQL-based database layer with an object/relational mapping system (this is the cool thing about working for a small organization; decisions can be made quickly and easily, and there’s no paperwork :)

Feeling pretty good about the changes, I was suddenly hit with the Fear of Breaking Something. This is why we had to have COBOL programmers come out of hibernation to fix the Y2K problem in 20 year old code; 15 years prior, The Fear had kept that code alive.

The good news is that this Fear can be alleviated with an army of automated tests. The bad news was that we didn’t have such an army. We did, however, have some marching orders: Clint had created a detailed set of test scripts that testers had used for previous releases. While these weren’t code, but more like “recipes” for using Gliffy, they were a huge help in creating some automated test cases.

Adapting a Gliffy Architecturetechnique I’d used on a previous project, I figured I could record myself executing Clint’s tests and then play them back via a script. Using those recorded tests, I could rid myself of the Fear (or, at the very least, turn it into the Shame of Test Failure, which is much better than the Disgrace of Bringing Down the Website).

It turns out, Gliffy’s layered architecture made it really easy to insert some code to record the tests. I just needed a small bit of code to record the requests that the Flash application was making, as well as the information the server was sending back.

Recording Tests The second part was to write another piece of code that would essentially pretend to be a web browser; it would read my recorded tests and send the same information to the server that the Flash application did. If my pseudo-browser got back the same data that Gliffy did when I recorded the test, I knew I hadn’t broken anything.

It didn’t go quite that smoothly, as I had to make my tests a bit smarter, so they could ignore things like timestamps and database keys, but ultimately, it worked out great. I was able to get rid of almost all usage of SQL and replace it with the calls to the Test Playback Java Persistence Architecture (JPA) API, which should serve us well for the foreseeable future. As a bonus, Chris was able to use these tests to remove Struts almost entirely, which not only simplifies our deployment, but significantly reduces the size of the plugin for Confluence.

Interested in the long technical details? They are all on my personal blog.

Written by David Copeland

Save time with automated invoicing

Tuesday, September 2nd, 2008

In a small business, efficiency is critical. Each task that needs doing ends up distracting us from other tasks that need doing too. One way we’ve saved a bunch of time is by using Freshbooks for billing.

What’s Freshbooks?

Freshbooks is a nifty little service that makes online invoicing simple, fast, and easy.

How do we use it?

  • When customers select a product to purchase on our Confluence Plugin licensing page, we automatically generate an invoice for the customer using the Freshbooks API. We save time here because we don’t have to generate an invoice manually.
  • Freshbooks handles credit card orders for us. We saved more time here because we didn’t have to write single line of code to implement a checkout process…. Freshbooks handles it for us.
  • Freshbooks keeps track of our monthly revenue totals. Nobody has to plug numbers into a spreadsheet to generate a report. At midnight on August 31st I knew exactly how much we billed in August by reading these reports. Again, a huge time saver.
  • Best of all, Freshbooks is all online. This means it’s easy for me and the rest of the Gliffy team to collaborate on invoices, and stay on top of things.

I’ve met the guys from Freshbooks a few times now, and they are great people to boot. If you’re doing manual invoicing now, definitely consider taking a look at Freshbooks… it could be a huge time saver for you and your business.

Written by Chris K