One of the most useful features in Skyclerk when you are first starting out is the ability to import past ledger transactions via a CSV file. Most accounting systems, banks, and spreadsheets will allow you to export your transactions as a CSV file. Once you have a CSV file it is very easy to import your transactions to Skyclerk.
To import your ledger entries follow the instructions below.
1) Navigate to your Ledger landing page. From this page click on the “Import Transactions” link in the right column.
When Designing Software, Think About My Wife
Actually, that’s a shitty title. It should be, Don’t ever think about my wife again! Maybe it’s best if you think about your wife, husband, girlfriend, boyfriend, or cat. Think about the spark that brought you together. Think about the emotional attachment you have to one another. Think about all the times you almost broke up–but stayed together.
When I design software I try to model it after my relationship. I want every user to be as enchanted with the software as I am with my wife. I want users to trust me in the same way my wife trusts me. I want to have a commitment with every user that is like the commitment my wife and I have for each other. When building software, I try to build that marriage between user and the software with every feature.
Sparking the Relationship
When you meet someone new and there is a spark, it often leads to a first date. You might not be able to verbalize the spark, you just feel it deep down inside. It might be how the person is dressed, how they conduct themselves, where they are from, their profession, and or something you can’t even identify. Often it’s just one or two things that ignites the spark.
When building software, you have to find those one or two things that sparks a user’s interest. You need to convince the user to go on a “first date” with you. Once on the date, you can show off all your other amazing qualities, but if you come on too strong, you’ll never get that date. What are the one or two things that really makes your software spark someone’s interest? Why would they want to “go out” with you in the first place?
Disclaimer: This is just one man’s personal feelings. Pet peeve, if you will. While a few close friends of mine have certainly motivated me to write this, I will not be calling them out. They know who they are. These friends are close friends… I still love you guys! Feel free to blog about something crazy I do.
Open source doobs drive me nuts! What is this “doob” thing I speak of? Well, it’s someone who only uses open source software. They demand the freedom open source software gives you. They hate paying “The Man” for their software (ie. Apple, Microsoft, etc.). So they typically only use Linux, Android, Gimp, and so on. Free, open source software.
Freedom Over Quality
Some open source software is truly great. I use tons of open source software every day. In fact, I bet I use more open source software than I do paid software. It’s often much better than the stuff you pay for, but I always at least review my options. The idea that you would not pick and use a product based on its merits vs. being open source is just crazy to me. Any way you look at it Photoshop is better than Gimp. Many paid text editors are better than open source ones. For many years iPhone was way better than Android. Plex is better than XBMC. Roku is better than Boxee. In the software world, there is no good reason – other than a personal allegiance to a concept – to NOT use the very best tool for your personal needs. Yes, you have to truly try them all to know what the best is. Quality should always win.
This is what drives me the most nuts. It truly sends me into a tailspin: Not giving back. Being an open source doob is great – if you give back. Boatloads of blood, sweat, and tears goes into building great open source software. Yes, people open it up for all to use. It just feels wrong if someone is only using open source software and not giving back. You know that buddy who, when you go out to dinner with him, you always pay and he never offers in return? That is how it feels when you use open source and don’t give back. Take, take, take and give nothing – just wrong.
How do you know if a developer has written good code (even if that developer is you)? I’ve been asking myself this a lot lately. I really want to define the answer as thoroughly as I can, because if I have some strong criteria to follow, I can hold myself to highest standards and never fall short. Also, I can be a better manager if I have some strong guiding principles.
Steve Jobs was famous for asking employees if their work was their very best. If they did not clearly state “yes,” he sent them back to the drawing board. I am not willing to be that type of manager, however, I do want to be able to recognize when my team is not doing their best work.
To be clear: I am not talking about knowledge or CS fundamentals. I am really talking about things like, how clean the code is to read? Did the developer go about things in a simple way or an overly complex way? Is this code designed to support the future or is it just thinking about today’s requirements? And so on.
Judging Code By Bugs
All code has bugs, and I think watching a developer (or yourself) manage bugs as they are reported is a great measure of how good the code is. Over the years, I’ve observed that if a developer gets a bug report and fixes it right away, that is a sign of great code. Here’s my logic: If your code is overly complex, it’s going to take a while to debug and fix.
When I’ve written great code, I can fix bugs right away. The process of tracking down the bug is almost instant. I can do that because it’s code I’m proud of, and I wrote it from a place of passion. There is something about code you are proud of that lets you almost instantly zoom in on the problem and solve it right away. It is your baby after all, and you want it taken care of.
Over the last year many of our customers and partners have reached out to us and asked, “What gives?” We’ve heard over and over again that our rate of innovation has slowed. We have not released any new or revised features in almost a year. Everyone wants to know, where the heck is this new Heapless and Evermanic product they’ve been hearing about? Well, today we are going to confess.
About a year ago we realized a few things:
- We are not just a single-application company. Cloudmanic is more than just Skyclerk. Our mission is to better the lives of small businesses via innovative software. While accounting and bookkeeping is important, there is so much more we can do.
- If we wanted to do more, we needed a better infrastructure. We did not want to "reinvent the wheel" for every new product or service we offered. Core infrastructure, such as user accounts, billing, and hosting, all needed to be united.
- We needed to unite our brand. Cloudmanic is about holistically helping small businesses. Moving between our products and services should be a fluid experience. The best way to do that is under a shared umbrella.
What Has Changed?
I am pleased to announce the first release of our new infrastructure today. This has been more than a year in the making, and we are just getting started. Here are the changes you will see with your Skyclerk account:
We all know the saying “Location, location, location.” This is a great saying to live by for many different industries. But when it comes to the web startup world, I would say there is a more important saying: “Product, distribution, product, distribution, product, distribution.”
Nine times out of 10, I can detect a first-time entrepreneur – and have a pretty good idea of their future success – based on how they see product and distribution. To make my point, look at the two responses to the question “How will people discover and engage with your product or service?” Which of the following responses is from a first time entrepreneur, and which is from a veteran?
We have a complete social media plan in place, along with a budget for an on- and off-line marketing campaign; we plan to reach out to media for press coverage, and we have an all-star team of writers for our blog to spark traffic via SEO.
We're not really sure what channels of distribution will lead to the most conversions. We have a small budget set aside for experiments. Of course our experiments will be across all channels – we will be measuring everything! Once the data is in, we will know what channels we will focus our attention on. Really, distribution is something we are only experimenting with in the early days. Our focus is on the product and the iterations of the product.
Maybe my fake examples gave it away, but anyone who tells me they have a very clear distribution plan in the early days of building their company is fooling themselves. The person who realizes they need to try all distribution channels, coupled with product iterations, is most likely the seasoned entrepreneur.
Here at Cloudmanic Labs, we pride ourselves on doing excellent creative work. To keep up a constant stream of high quality work from happy employees, we did something a bit unusual: We’re a deadline-free zone.
There were many reasons that factored into this move, but first and foremost: Deadlines are harmful to the creative process. Let me walk you through how that happens, and why losing the deadlines can be beneficial.
I would say 99% of all deadlines are soft deadlines. What I mean is, if a soft deadline is missed, the world will not come to an end, you will not be fired, your company will continue to stay in business, and profit will stay on track. When you look at most deadlines they are nothing more than a date a manager randomly picked on the calendar, or some date the sales guy told a client. Of course, if the deadline is external it’s never good for your company's reputation to miss; however, it is much worse to deliver crappy work just to hit a deadline.
Before I get too far, yes, I realize some deadlines are hard deadlines. I would say these hard deadlines only happen 1% of the time. For example, if you’re a retailer doing promotions for the Christmas season, missing your deadline and completing the promotions in January is pretty harmful. But I’m not talking about those deadlines. What I’m suggesting is that better management could lead to hitting the deadline, while operating as a deadline-free company.
This is especially true if you subscribe to the ridiculous Church of 80-character Lines.
-- David Heinemeier Hansson
Always remember: A program IS NOT communication between a human and the machine. It's a communication between a developer and the next developer.
-- Don Schenck
I have learned an important principle: simple things work, often to our dumbfounded surprise, for we tend to distrust the simple and strive for the complex.
-- Richard Cracroft, Our Trek Through the Wilderness
Normally, I would consider the act of simply summarizing and reposting someone else's blog post sort of wasteful. That is what twitter is for. I guess these three quotes really match the philosophes and believes we have at Cloudmanic. I could not help but share as we have already written about some of this stuff in the past. Check out Coding Should Be Like Writing A Book, Being An Elegant Business Programmer, and Software Design: The Come Back Later Problem.
Check out the two 37signals posts (and the comments) that I am referencing below.
Clarity over brevity in variable and method names
I Have Learned an Important Principle Simple
Once upon a time, software was very different. You did not have app stores. You could not download free versions. You could not simply create an account and run the software from your browser. Software required commitment.
Back in the day, if you wanted software, you got in your car and drove to Staples and engaged with the sales doob about which software was perfect for you and your computer. Once you decided on the software you were given a shrink-wrapped box with a CD inside. Oh yeah, you also had to pay for it. And software was not cheap in those days, either.
Before you ever installed your new software you already had a pretty big commitment. You spent time at Staples. You spent your hard-earned money. And typically, you could not return the software once you opened it.
After all this commitment you were not going to let this software go to waste. People would block out time in their schedule to just to sit down and learn how to use the software, going over every inch of the software, learning everything there is to learn.
I have been in the process of some major self reflection lately. Typical me, everything I conclude I want to translate to the business world. Give me a moment to setup my thought and then I will connect it back to the business world.
Point blank, learning is hard. Learning requires pain. Learning requires dedication. Something I have been wondering about for a while is: Why am I really good at learning something and completely suck at others? I was this way all through school, both high school and college. Get my attention and I am all in. If I am not interested, I am going to be a complete failure.
For over 8 years now I have been trying to master Portuguese. I have studied by myself. I have taken classes. I have visited Brazil many times. Still my growth rate is very slow. There is no question that I really want to learn Portuguese.
During the same period of time. I have learned a handful of programming languages. Studied the financials of over a hundred companies, and studied business concepts from the world’s leaders.
Why is it so hard for me to learn something that I want to learn but so so easy for me to learn something I really really want to learn? Why is my focus so hard to tame on things I am interested in but yet so easy to tame when I really really want to learn something?
I concluded this thought today while snowboarding with my wife. She likes snowboarding. She is not willing to really push it. She wants to get better and better. However, she is not willing to go through the pain and stress it might take to really become a pro snowboarder. She is ok learning the sport slowly, very slowly. I realize we all have a learning scale.
The Concept of a Learning Scale
So I would like to enter into record the concept of a learning scale. Maybe many people before me have come up with that. If you think I am a moron for just thinking about it now move on to your next blog post.
For those of you that have stuck around. I think a learning scale is a number between 1 - 10. A measurement of how much you really want to learn something. A learning scale is a measurement of passion. I guess my learning portuguese scale is about a 3. I want to learn it but I do not really want to learn it. My passion is just less than other topics. I am unwilling to go through the pain and suffering to be a master.
My learning scale for programming and business seems to be consistently at a 10. I am willing to put in the hours and stress to fully understand.
Ok, why did I bore you with my personal soul searching? I think this relates directly to business and the act of hiring. As a growing company we are always looking for talent. I realize today, I want to look for talent that has a learning scale of 10 when it comes to the subject of their employment.
I want to hire people that love the idea of learning new things (in relationship to their field). Most of the creative and engineering types we hire are people that need to be able to learn (and learn fast). They need to keep up on bleeding edge technologies and concepts. If they do not have a learning scale of 10 for their field they will be a waste of resources for us. We need to hire people that are currently passionate about staying current and always learning.
From now on I am only hiring people with a learning scale of 10 for their field. If you are a small growing company I would recommend you do the same.