I upgraded our machines and phones recently and everything just "feels" SO much better. The machines literally got out of the way.
Work appears more lightweight once this is done :-)
Over the years I tried different upgrade schemes, and it seems 2 or 3 years works best for us. Over the course of that timespan there is an overall performance gain large enough to notice and worth money. If you go with less, say 1 year, the gain is much smaller, and you essentially pay for something that's the same but just looks newer. Also depending on the country you live in, there's a certain amount of time you can use hardware as an actual cost on your tax form. As such keeping it much longer than that time means loss, keeping it much shorter as well.
The psychological aspect (which we all know since childhood already and basically is set in our genese: new = interesting) does do something, of course, but has in my experience no long-term effect whatsoever apart from it costing money. Especially with short upgrade cycles the 'wow, new' effect gets less and the money effect more.
I replace my main computer (MacBook Pro) every 1-2 years with a maxed out top of the line model. I keep the one I had before around as a backup in case my laptop breaks or gets stolen.
Yes, it doesn't make too much sense tax-wise. However, it would cost me much more in productivity to wait 2-3 years longer to replace it. This thing needs to run bunches of stuff for development, like various DB servers, multiple VMs (yay 4 different versions of Internet Explorer) and should be as light as possible so I can take it everywhere easily (usually servers go down when you're mid-vacation).
So it might save a few hundred dollars by taking advantage of tax laws, or I might earn thousands more because I can develop faster and things are just more enjoyable. I know what to pick.
2.: Couldn't agree more. I tried it a few times, could never make it, because something came up. So I don't tell release dates. I hardly tell about new features. Nobody cares. Perfect.
5.: My PHP application without any fancy technology makes me close to 100K euro in revenue per year. It delivers, it keeps delivering, there are no problems.
I want to add one more thing:
6. You hear critics' voices the loudest, if you don't do anything against it. I changed pricing once and about 50 people complained. I tried to justify myself (won't do this again) and the 50 people became a mob with the respective mentality. No chance to say anything. I might have lost another 50 users because of the discussion. In my mind, I completely forgot about the other few thousand people who did not complain.
Happy people hardly contact you, only the critics and haters. Don't let it sink in too deeply. Or use an easy mitigation strategy: If people reach a certain goal, ask them for feedback by writing a personal sounding email (that you send automatically, for sure). You'll get mostly positive feedback. This is important from a psychological point of view: You see that people are happy with your product and you can handle the critics in a better way.
Most emails I get are like:"There's nothing to improve, thank you so much for this product". Nice :)
If you are running a SaaS, how is system administration less important than coding?
Now if the author had written "software that allows you to be more productive on both fronts", fine. But the notion that operations is somehow less important than development is exactly what fucks up so many SaaS companies in the long run.
Your users want your service to be 24/7 available and responsive. That's not a static goal (unless you fail to gain traction), and an essential and highly integrated part of what you deliver.
Maybe the author is lucky that his particular SaaS is easy to deploy and scale, but dismissing system administration as a distraction that can be solved with software is not universally applicably advice.
Having a laptop/PC that you can develop on is important to developing a product, but no one would suggest that the author design one from scratch. Everyone (excepting perhaps Richard Stallman) would say it's better to just outsource that task to Apple or Lenovo.
That doesn't mean you always can delegate them. Or that things like ops aren't important. It just means that a company's founder isn't the ideal person for the job, even if they can do it well.
Can somebody please explain what he means by this using some examples? Thanks!
- You could set up and configure an email server to send email to your users, or just use a service with an API like Mailgun or Mailchimp.
- You could write your own Wordpress theme and plugins from scratch, or just pay $10 for a slick theme and $50 for a few plugins that meet all your needs.
- You could spend time each week backing up your system with a set of external drives, or just pay a monthly fee to Crashplan or Dropbox.
- You could buy a discount VPS account and spend all your time keeping it patched and running, or just pay for a fully managed server until you outgrow it.
In each case, the former solution is "free," but may require you to spend tons of time getting it working and putting out fires. Often it's better to pay a little money to just remove the problem from your critical path. The reason for this is that you only have a finite amount of time and mental energy each day. Try to use them on the things that matter.
Some examples of the general principle I've used in my own business: upgrading to latest Macbook air, hiring a maid so I don't have to clean my home-office.
I know Thomas and Amy well, and trust me when I say they're doing quite well with Freckle. And there are much, much bigger fish in the pond. The great thing about building business tools is that the markets they typically serve are SO BIG that you only need a few hundred / thousand accounts to have a healthy and profitable company.
What I have learned:
- Try to think about/plan for ten years out - Make your application easy/pleasant/fun to use for you and your customers - Limit third party dependencies at all junctures - Log everything, it makes support and monitoring easy and fast - Customers don't care what language/platform/db you use - Have a support ticket system - Have a coding convention/style and stick to it - Life work balance is important, take vacations - Run lots of backups - Keep it simple and thank yourself later!
Of course YMMV. Hope that's helpful to someone starting out.
i have a question for you. i have a software product, and its so informative it would almost assist someone who copies it. any advice on planning 10 years out for a software product with this problem? planning x years out is not my strong suit.
i've thought a bit about removing stuff that would help competitors but that would hurt my customers. i will probably do this though anyway.
That being said - I do think there are certain situations where release dates will exist in a SaaS product. For instance, if you market tends to start and stop activities on a set calendar (ie: school year) or if there are a handful of trade shows that are critical to demonstrate new features at. I think it is about being insanely pessimistic about how much you can actually achieve. Figure out the minimum you need to demo at a date and work on that first, but never commit to a set of UI diagrams with features that are not insanely flashy for a demo.
my $0.02
Reminded me of a sponsor who once offered me a bonus if I could put together a schedule with delivery dates for each and every product feature.
"Hmm, no thanks. I prefer to leave it (the bonus) for when we go to market."
But for something that's entirely your own, yeah creating artificial deadlines doesn't make a lot of sense.
I wonder if Amy and Thomas would use a PaaS like Heroku if they were doing a new product. Or would that be considered too expensive?
> The Pinboard about page says: "There is absolutely nothing interesting about the Pinboard architecture or implementation; I consider that a feature!"
> Can you explain why you think that's a feature?
> I believe that relying on very basic and well-understood technologies at the architectural level forces you to save all your cleverness and new ideas for the actual app, where it can make a difference to users.
> I think many developers (myself included) are easily seduced by new technology and are willing to burn a lot of time rigging it together just for the joy of tinkering. So nowadays we see a lot of fairly uninteresting web apps with very technically sweet implementations. In designing Pinboard, I tried to steer clear of this temptation by picking very familiar, vanilla tools wherever possible so I would have no excuse for architectural wank.
http://readwrite.com/2011/02/10/pinboard-creator-maciej-cegl...
I agree but also don't ignore newer technologies just for the sake of familiarity. Especially if it has an active, supportive community.
Unless of course your customer requires knowing a date that a certain feature needs to be in place by. In which case, point them to Number 2. Which really means Number 2 should be Number 1 because Number 2 negates Number 1 if the two come in conflict.