Navigation

ADS specializes in using Ruby on Rails to build advanced, scalable, database-backed web sites for organizations of all sizes. Find out more at our website.

Atlantic Dominion Solutions

You’ve given us feedback and we have listened.

My goal with whatsupinruby.com (and the other what’s up sites we will be releasing) is to get rid of my RSS reader. To do this, I need the site to do two things:

  • Tell me what people are talking about in a given context
  • Take me to those conversations so I can learn more

Whatsupinruby.com does the first, but frankly falls down in the second. The issue is our approach. Rather than our results being a list of the latest posts on the topic (in this case Ruby and associated technologies) it spiders all things Ruby and returns Google-like results based on links, keyword frequency, etc. While that is what we built and what I originally asked for, that is not what I want. What I want is a list of sites that are talking about the conversation item I am interested in (i.e. ruby, rails, memcache, etc.).

Another point of confusion (again caused by me) is the search box and its prominence on the site. The real reason for the site isn’t search (which you can use Google for) but rather to be kept up to date on the latest conversation. The prominence of the search box takes away from that in a big way. We are changing that.

We are currently updating the site as follows:

  • Updating the site design to give prominence to the conversation items rather than the search box
  • When you click on a conversation item it will auto-search rather than putting the search term in the search box
  • Results returned by a search will be a list of the latest blog posts that are discussing that item
  • Even more to come in 1.0

What do you all think? Will that make what we are doing more or less relevant to you all? Will the updates we are putting in place help people to understand our goal? We’d love and welcome all of your feedback.

Our goal is to put out the improved whatsupinruby.com by early next week.

Share this post

I follow close to 300 RSS feeds. I do this to follow conversations and trends across a variety of topics including web development, business, marketing, parallel computing, and much more. The problem with this is information overload. I can clear my RSS reader at midnight and by morning have more than 1000 new items. Within a few hours I can quickly lose track of what’s going on. If I miss a few days, there is no going back.

Another reason for this amount of reading is to have a jumping off point for a search. I “listen” in on what’s being discussed and as topics bubble up to the top, I use that to perform more research via search engine. If I know nothing about the subject past what people write, I usually start off using industry buzzwords. Most of what I get back is noise; it isn’t relevant. I love the fact that everyone and their mother is now a content producer writing on every subject known to man, but by doing so the level of noise has greatly increased. My search and the results I get back lacks context.

Today’s search engines index the entire web. When I go to a search engine and type in a keyword I get billions of results. Results are ordered based on how many people are linking to those sources, the quality of those incoming links, and much more. Smaller niche sites with lower traffic get buried. That’s a problem. It is those niche sites that to me have more value than some of the larger sites that may have an article or two on a popular subject.

Another issue I find is a lack of context in trend information. I type in “Ruby” and “Java” and half the results are about the tsunamis and Java the place, not Java the programming language. When I try to apply context I get errors. But even beyond that, I don’t want to simply know what people are searching for since many don’t know what to search for in the first place. I want to see the trends in conversations within a given topic, or context.

What I wanted was a site that tells me what is going on within a given context, and then allows me to search within relevant sources for that context. Rather than reading hundreds of RSS feeds and performing the filtering and analysis myself, I want the site to tell me what is going on, and allow me to dig deeper. I then want to see the trends in conversations within that context. For me, it’s all about knowing what’s going on, searching within relevant sources, and seeing emerging trends, all within a context.

To that end, Atlantic Dominion Solutions is happy to announce that starting today, we are launching a series of niche search sites that do just that, starting with http://www.whatsupinruby.com. When you go to the site, you will see the top 30 conversation items that are bubbling to the top of the conversation. Click on the link and search within sites that are relevant to that topic. You can type in anything you want, but we give you a jumping off point based on the latest conversations.

With this beta release, we tell our engines what feeds to follow and what sites to spider. With the 1.0 release, you will be able to tell us what feeds we should add, what sites we should spider, and see more than the top 30 conversation items. The more you provide, the better it gets.

As online conversations grow we need a way to filter the noise, get to the heart of a subject, and find out what is really going on. We need to identify emerging trends and measure them over time. This new way of searching starts today. Checkout http://www.whatsupinruby.com. It’s just the beginning.

Share this post

On requesting an estimate

By: Robert Dempsey | Tags:

When we work with a new customer to prepare an estimate we always ask for two things:

  1. A list of who is going to be using the site (user roles)
  2. What each of those people needs to be able to do

There are many reasons for approaching a requirements spec in such a way:

  • For non-technical people this is an easy way to write requirements
  • There is less work for the customer - they focus on the value they want to offer not how to make it happen (that’s our job)
  • User stories can be created more easily
  • The requirements are clearer so less back-and-forth is required
  • Each bullet point can be easily tested by the customer during acceptance testing
  • Long detailed specs make me nauseous and will most likely change many times over as the application is developed and deployed

How do you approach requirements gathering? What level of detail do you ask for when create an estimate?

Share this post

One of the more poignant talks of DevDay at BarCampOrlando 2008 was given by Ryan Price of Florida Creatives. Ryan talked about the past, present, and future of the tech industry in Central Florida, which includes Orlando, Tampa, Daytona, and more. Central Florida has a LOT more going on that Disney, oranges, and military simulators. A quick check of the Florida Creatives Wiki shows six tech user groups, six all-purpose groups, three artist and design groups, and two groups for film, television, radio and mass communication.

While there are many user groups and, as evidenced by the turnout for BarCampOrlando 2008, many tech folks in Central Florida, there is still a problem. The problem is one of visibility. The disparate groups don’t all know about each other, and there is little to no linkage between them save a few members who go to more than one user group meeting. In addition, the smaller groups and smaller tech companies don’t have exposure on either a local or national scale. This problem is exacerbated when entities such as the Metro Orlando Economic Development Commission only target companies of fifty (50) or more employees. Many of the companies that I know here don’t have fifty people.

Where business meets community

On Dev Day, Dan Kinchen proposed a solution: a tech association that brings together all the groups and provides resources to this under-served and highly important segment. Dan said that this organization could take many forms, just as long as we are working together to share information and helping each other out.

Dan’s proposal did not fall on deaf ears. On Media Day, Ryan’s discussion of “Media in Orlando” turned into a discussion on the future of technology in Central Florida, and Dan told us something interesting.

Dan told us that at the Izea after-party (very fun by the way), he was pulled aside by a member of the Izea management team. He was told that they had been working on forming an advertising association, and that his talk had made them rethink that idea and they were now thinking to start a tech association instead. At first glance that sounds great. A company with resources and influence could help Central Florida tech in a big way. One problem is that the person they intended to insert as the head of the organization was someone who admitted to not being involved in the tech community and to not being a technology person. In addition, it sounded as if they were going to hand-pick the board with no input from the community whatsoever. Do you all see a problem with this? I do, a big one.

Where the rubber meets the road

Any association, no matter who runs it, requires money and effort, and can benefit from influential people. There are many grassroots-level movements here in Central Florida, and an organization that brings them together, takes action on their behalf, and provides information and resources to them would be of great benefit.

Regardless of the form this association would take, the fact is that it needs to include both community members and local businesses. All parties here would be impacted and would have an impact. The job of promoting tech in Central Florida is one that requires all of us to work together. The question here is who will be in charge of the organization. Will it be a specific business that may or may not represent that community, or will it be made up of the community members it will affect.

Your thoughts required

While there are many groups in Orlando for us techies, do you think an association could help not only provide resources to smaller companies but provide exposure on both a local and national level? Do you think it should be a community driven effort? Do you think the board should be voted on by those in the community or simply installed without community input?

If you are involved in Central Florida tech or have experience with the same happening in your area I want to hear your thoughts.

Share this post

Trust, but verify

By: Robert Dempsey | Tags:

Without trust, a business is doomed to fail, or at a minimum, limp along until it finally dies. Employees must trust their employers, and employers must trust their employees. My philosophy has always been to give trust until proven otherwise. In business, that can work against you if you run into the wrong people. Further, as is usually the case, once trust is broken it may never be regained. Sometimes, people have had their trust violated to the point that they don’t trust anyone anymore. If you’re a leader and you lack trust, you have a big problem on your hands. So, how can you work once more become a trusting person without going all in?

Trust But Verify.

When we first started doing Ruby on Rails development, we contracted a majority of the development work. This meant working with non-local people who we never met face to face. We had clients who had real deadlines that we had to meet, and it was our reputation on the line. This is where “trust but verify” came into play. I trusted that our contractors would deliver on the quality and timeliness they promised. I verified by putting contracts in place, and having all of our project management and time keeping systems online. We also kept all of our source code repositories online as well, and I got messages every time they checked in code. In this way, I could ensure that they were on track with what the promised. my trust grew along the way.

The Bottom Line

The bottom line is that you have to start somewhere. I understand that you may not be a particularly trusting individual, but you have to start somewhere. Give a little bit of trust, and verify that that trust has not been violated. Keep doing that over and over until you feel comfortable. That trust will come through in your interaction with everyone. And remember, you have to give to get.

Connect with me on LinkedIn, Twitter, or recommend me on Working With Rails.

Share this post

Getting a business up and going is not easy. There are many things you have to do to prepare for launch. One of which is writing a business plan. Unless you intend on borrowing money or pitching to a venture capital firm, you might not need the full monty. However, there are a few things you must have mapped out before you get started, lest you get lost on your journey. The questions you need to first answer are:

  • Why are you in business and how will you grow?
  • What will you offer and how will you make money from it?
  • How will you let people know about it?

Sound familiar? It should. In business plan terms, those items translate to:

  • Executive Summary
  • Services and/or Products
  • Marketing and Sales Strategy

With this basic outline, as you move forward, you can check back with your plan to see if you are staying on track. Moving too far from core has gotten a lot of companies in trouble. Just read “Good to Great: Why Some Companies Make the Leap… and Others Don’t” by Jim Collins to learn more about that. Keep in mind, however, that along with processes, the business plan is a living document and will change over time. Stay flexible, but don’t stretch so far you break.

Connect with me on LinkedIn, Twitter, or recommend me on Working With Rails.

Share this post

Ask your team.

As the leader of Atlantic Dominion Solutions, I am responsible for determining strategy for the company. There are many strategic areas inside every business (marketing, sales, operations, etc.), and as we are a small business, I am responsible for formulating all of them. However, decisions made in a vacuum do not good decisions make. Savvy?

Jack Welch is a big proponent of asking the front line folks for their input when making decisions that directly affect them. It is the people doing the work that best understand how process changes can impact production, whether you are creating widgets or custom web-based applications.

Our development methodology has changed over time, I believe for the better. As we’ve learned what works and what doesn’t, we have adapted our processes. When I was considering implementing scrum, I did the following:

  • Researched scrum, including purchasing and reading books on the subject
  • Reviewed our current approach to development
  • Analyzed the differences between our current approach and that of scrum
  • Discussed the use of scrum with others who were already using it
  • Determined impacts to other areas of the business including sales and billing
  • Discussed the proposed change with the team to gain their feedback and buy-in
  • Implemented scrum

By including our team in the process, there was a greater probability of success in implementing the new methodology. The results speak for themselves:

  • Our team feels that they were included in the decision making process rather than having decisions forced on them from the top
  • The transition was smooth; everyone knew what to expect going into the change
  • Those working on in-progress projects where scrum was not used from the beginning started to use scrum as much as possible
  • Happy developers = productive developers = happy customers = happy Rob
  • This helped to create an environment where everyone knew that their contribution and ideas mattered, would be listened to, and would be discussed in an open forum.

Bottom Line

Involving those doing the work in the decisions that directly impact them is not a novel concept. The fastest way to disenfranchise those working with you is to force decisions on them without allowing for question or comment. So, you want to know where to take your business? Ask those on the front lines. They are interacting with customers on a daily basis and know their needs better than any. Ask them what the company is NOT doing to serve your customers, and you may find areas in which you can improve, and grow.

Connect with me on LinkedIn, Twitter, or recommend me on Working With Rails.

Share this post

On March 7th, Jason Calacanis posted, How to save money running a startup (17 really good tips). It has since been updated. Within 24 hours, Robert Scoble, 37signals, Dennis Martinez (the Puerto Rican Rails Dude) and others posted their responses. While reactions varied, they all focused around number 11 on the list:

“Fire people who are not workaholics…. come on folks, this is startup life, it’s not a game — go work at the post office or stabucks if you want balance in your life. For realz..”

A portion of Jason’s comment on the 37signals post struck a cord with me:

“I’ve always created environments where folks who are hungry can work hard and excel. They can achieve things that are not possible at a big company because the opportunity is just not there.”

I love being busy.

I love to be busy, and for me, that means putting a bulk of my time and attention into ADS. I cannot count the number of hours that I am reading RSS feeds to keep up with all the latest, analyzing our Google AdWord campaigns, working with our CREW on growth strategies, or doing one of the million other things I do as a business owner. I measure myself by the success of ADS, and as such, put a lot of work into it. I’m in the same camp as Robert Scoble in that I don’t see what I do as work, but rather an extension of my self. I am what I do and I do what I am; one of those things is a business person.

I am a lucky man.

I am lucky because I spend what used to be an hour plus drive to work for an 8+ hour day that ended with another hour or longer car ride home adding value to ADS. I am lucky because I get to spend more time with my wife, daughter, and dogs. I am lucky because I get to work with a great CREW of developers who share the same vision of what work can and should be. I am lucky because my wife fully supports me in what I do.

Being the entrepreneur versus working with the entrepreneur.

I expect a lot of myself. I work long hours and work very hard. When I am not spending time with my family or in school, I am working. As I said above, I don’t view what I do as work, but rather just what I do.

Having said that, I learned a number of years ago that while I work that way and have those expectations of myself, I cannot force those expectations on any member of our CREW. That would be unreasonable. We work hard at ADS to create an environment in which developers can thrive. We remove constraints, limitations and roadblocks. We include our CREW members in decisions that directly impact them, and get their feedback on how we can improve our processes. What I expect is that they hold to their word, produce high quality work that is completed on time, and help to provide the highest level of service to our customers so that they continue to work with us.

Bottom Line

Our CREW members are fully invested in the success of ADS. That investment does not come at a loss to their personal lives. My hope is that it enhances them. If we can create a work environment where work becomes simply another part of what we do and adds to the other aspects of our lives, then we will be successful as a company.

Connect with me on LinkedIn, Twitter, or recommend me on Working With Rails.

Share this post

In a February 18, 2008 Fortune article titled “Ram’s Rules,” Ram Charan outlines four principles for managing a business during a downturn:

  • Keep building
  • Communicate intensively
  • Evaluate your customers
  • Just say no to across-the-board cuts

Here’s how we’re applying those principles at ADS:

Keep building - we are currently hiring another developer to join the ADS CREW. We are researching and testing additional languages and frameworks to expand our toolbox for providing web-based solutions for our customers, and are building internal products that may later be turned into sellable products.

Communicate intensively - we have continuous communication between all of our CREW members as well as with our customers. We send regular update emails to all of our clients to see how they are doing, if they need our help with anything, and if there is anything that we can do better. In addition, regular blog posts and tweets keep everyone up to date on what ADS is up to.

Evaluate your customers - we are fortunate to have great customers both here in the US and abroad. Managing accounts receivable is always a fun and challenging task, however we have changed our billing model to help minimize risk for us and our customers.

Just say no to across-the-board cuts - we have no plans on cutting anyone, cutting any benefits or perks, or cutting any research and development. Money in the bank ensures that we can float our entire staff should something unforeseen and catastrophic happen.

What are you doing to prepare for down times?

Connect with me on LinkedIn, Twitter, or recommend me on Working With Rails.

Share this post

Blogs: The Point

By: Robert Dempsey | Tags:

It is no wonder that some developers hate the MBA’s that manage the businesses in which they work. In my Organizational Behavior class at Crummer, we had a discussion on blogs. It took all of my willpower not to jump out of my seat and yell at a fellow classmate when he said, “I hate blogs.” If you knew this person, you would know that he is a bit of a control freak. I’ll save those types of folks for other posts. Today, I want to speak briefly on the point of a blog, and why companies fear them.

At ADS, our blog policy is anything goes as long as it not sexist, racist, or any other “ist.” Keep it professional is all we ask of our employees and those posting comments. That’s it! Any why should we need more than that?

From reading other of my posts, you can tell that I think there is a lot of fear and distrust at work in many companies. That is why a lot of companies don’t have, and won’t have, a blog. Fear. Who knows what employees might say?

Well, guess what, they are already talking, on blogs of their own. So, what are you going to do?

The point of a blog is to have a conversation. There are many types of conversations.

For a web development firm such as us, we post a lot of technical content. Those types of posts appeal to other developers, help them learn from our experience, and (hopefully) cause them to share their own experiences on those topics. These types of conversations are candid and factual.

I am starting to write more about ADS, how we operate, and my philosophies on how a business should be run. Those first two posts are generating comments and I hope to see more. My purpose there is to have conversations with our readers and learn from their experiences.

When I told my friends that I was going to graduate school for an MBA they asked me why. When I started ADS more than nine years ago I learned many valuable lessons. I learned that I could not do it by myself. I learned to not spend too much money. I learned to read about everything having to do with my business until my head exploded. I learned that I do not have all the answers, and I damn well better listen to others, as they have something to say that I can learn from. I also learned that I must share what I learned in order to truly master it.

That is the point of a blog. You put what you know and have learned out there to spur others to share their experiences. You share so that you might learn. Conversation in a vacuum is meaningless.

We look forward to learning of your experience. What can we learn from you?

Connect with me on LinkedIn, Twitter, or recommend me on Working With Rails.

Share this post