Title: Armory stability Post by: WarriorOwl on May 12, 2013, 03:34:38 PM First of all, I don't like the newbie restrictions. I registered to reply to a thread in another subforum. I am sympathetic to the problem you're trying to solve with the restrictions but I hope you can find another solution.
This message is a reply to the thread Where did the stability go? (https://bitcointalk.org/index.php?topic=191516.0) Quote Yes, I'm suffering, too. I have endless people emailing (and posting) about these problems, and I definitely feel the pressure. This last release has really caused more problems than it fixed. And I want to fix those problems, but they are going to be obsolete with the next upgrade, so I'm focusing on getting that next upgrade out, even if it means being a little less responsive. I think a lot of these problems will just magically disappear. INSTABILITY IS A SHOWSTOPPER IN A PROGRAM THAT'S RESPONSIBLE FOR HOLDING SAVINGS I love what you're doing with Armory. I want to support you and wish you success. I tried to donate money to you using Armory but I couldn't because of its instability. However, I am also a software engineer and I have strong opinions and I'd like to share one with you now: STABILITY IS A FEATURE Don't ignore stability problems in service of pushing through to a new architecture. Saving time by not fixing bugs is a mistake. Armory's greatest strength is that it's making a promise that other clients can't make. When Armory crashes, it's revoking that promise. A counter argument you could make is that the crashes aren't serious, don't impact core functionality, etc. I don't care. I don't have the attention to invest into Armory to know which crashes are serious and which ones aren't. I want to download it, install it, deposit money into it, and move on. I don't want to invest into a relationship with the program. This is the gift I want you to give me. Give me a trustable program that doesn't cost me my attention. A critical war we're fighting right now is the war of Bitcoin as a brand. You see it everywhere. A brand is valuable if it's trustable. You're advancing an important front in this war with Armory, but you must understand first and foremost that Armory isn't just a technology. It's also a brand, and to be valuable it must be trustable. Nothing erodes trust like instability. Stability of Armory should be your #1 priority, PERIOD. You may feel pressure from users to implement new features. Ignore this pressure. Focus on a small, core set of features that delivers the most value (hint: cold storage) and write a billion test cases for it. Run it through stress tests. Test it, test it, and test it again. If you are feeling emotional pressure that makes you want to code faster, ask yourself, where is this pressure coming from? If it's financial, make Armory solid and charge money for it. If it's overwhelm, invite help from other engineers. Whatever the source, identify it and find a solution that doesn't involve sacrificing stability (= trust). You may feel pressure from your own creative mind. You are brilliant and creative and have great ideas for new features. Write down your ideas but don't implement them (yet). Stability is the budget that lets you afford new features. You're in too much technical debt (http://en.wikipedia.org/wiki/Technical_debt) right now to afford new features. When you reduce your technical debt, then you can afford to implement something new. I have a serious financial problem on my hands that Armory could solve but I'm not going to use it because I don't trust it. I'm not going to file bug reports and work with you on it. I'm going to walk away because I need to put my attention elsewhere. My contribution to you is this message. Please don't take it as an attack or as criticism--far from it. You're doing a great job. This message is intended as a challenge for you to do better. Best, WarriorOwl Title: Re: Armory stability Post by: etotheipi on May 12, 2013, 04:00:53 PM WarriorOwl,
Thank you for your criticism/suggestions/comments/whatever you're calling it. I am in agreement with it. I just wanted to clarify, though, the "getting the next upgrade out" is not new features. It is reworking Armory under-the-hood to gain this stability. The way Armory was designed to interact with Bitcoin-Qt has proven to be unreliable. And my attempts to deal with them without an overhaul have proven fruitless. There's a reason there have been no real new features recently, because I'm working on upgrading the engine to be more stable and scalable (and to make the app more usable). Armory is a big program, and I'm one person. No one else helps me with it. And I agree there's a lot of technical debt (I'm a mathematician first, SW dev second). I hope to get time to deal with all of that, but I do have to prioritize. My priority is getting the improved blockchain engine implemented that will not only solve 90% of these stability issues, but also be extensible to accommodate future growth. I don't blame you for not trusting it, though I recommend considering Armory's excellent track record in your decision. It's been in use by thousands of people for more than a year, and no one has lost money with it (who made a paper backup). The parts that matter for wallet security have 1000+ lines of testing code, and I have refused to touch it for even simple upgrades because of risk of breaking its stability. The interface around the wallets may have some stability issues, but the important parts don't. Armory is still beta. It doesn't get its gold status until it achieves what you are suggesting. And I don't know how when or how it will get there without others contributing. If it has to stay in Beta for this reason for another year, so be it. Until then, it's up to you to decide whether this beta software is up to your standards of trustworthiness, given that various compromises had to be made. My personal [but biased] opinion is that you should consider it anyway, because the wallet security is tested and proven. That stability of UI may not be, but serious Bitcoin users who seek the security & features will look past that. I'm working as hard as I can on the new blockchain engine to fix these issues. I hope to have it in a couple weeks. -Alan P.S. -- The one exception to the above prioritization (so you are not suprised), is that I will be at the conference next week, and have a couple demo features to finish up. So I am taking a short break to finish those, but will return to the stability-enhancing features after that. |