3 ms·
"Happily, Moonpig did not have to deal with multiple currencies. That would have added tremendous complexity to the financial calculations, and I am not confide
by madaxe_again 13y ago
"Happily, Moonpig did not have to deal with multiple currencies. That would have added tremendous complexity to the financial calculations, and I am not confident that Rik and I could have gotten it right in the time available."
Yeah, so, that tells me that sadly, regardless of the rest, it sucks (sorry). Not supporting multiple currencies, as he says, does vastly simplify things, but is also a massive feature-gap, as any merchant of scale will deal in multiple currencies. Now try doing it with multiple currencies, and still avoiding floating point arithmetic. Oh, and also ensure that it'll deal with charging sales tax/VAT on transactions of £0.01 correctly.
- cbhl 13y agoIn today's world, yes. From the article, it looks like the Moonpig authors were dealing with dot-com era billing (everything in US dollars in the late 90s).
- maxerickson 13y agoLooking at github it appears they started building it in 2010.
- falsedan 13y agoSounds like you'd recommend going with a vendor like Sage? Or that IC Group should use an accounting system which doesn't match their business requirements?
- madaxe_again 13y agoNot necessarily, just that forward planning can be a useful thing. "We'll only ever trade in USD" is a phrase I've heard many times, and rarely does it hold true. Time has a habit of changing plans, and baking in support for possible future directions from the outset is a good way of hedging risk.
- falsedan 13y agoThat's risk avoidance, when the smart money's on risk management. You might need to travel offroad, or transport a ton of cargo, or get from A to B in 60 seconds, but you don't own a motorcross bike, ¾ ton truck, or sports car right now: you wait until circumstances change and rent, borrow, or buy the vehicle which meets your needs and budget. Although now you are arguing that they should have designed the system with the possibility of multiple currencies, rather that actually supporting them. There's not enough information in the article to determine if support for multiple currencies is possible or not, so I guess you read the source?
- Borogove 13y agoThe crazy thing about software is that when business requirements change, you can change it. If they don't need to support multiple currencies today, it's silly for them to put in the effort now.
- madaxe_again 13y agoVery true, however design decisions made at an early stage can make changes of that ilk challenging, and even nigh on impossible without significant rewrite, down the road.
- tinco 13y agoHow would support for multiple currencies make it harder to avoid floating point arithmetic? That makes no sense..
- madaxe_again 13y agoExchange rates can have many sig figs - which become very significant when dealing with conversions of large amounts. Lose precision, and conversion, in plenty of scenarios, will result in rounding errors if you convert back.