Category: Engineering

The Death of Bitcoin & The Future of Digital Currency

bitcoin-crackThe value of Bitcoin has been all over the map. It’s the new currency one minute and a failed experiment the next, but isn’t that how may great inventions began? Much like technology inventions that have changed our world, Bitcoin is the manifestation of computer science genius, as Marc Andreessen deftly describes. Wasn’t it once said that no one would want a personal computer at home? That no one could make money from the internet? That TV would fizzle and die? Yes to all. But Bitcoin is different from these life changing tech marvels. Bitcoin may prove to be the start of something but may not be the thing itself.

“I think there is a world market for maybe five computers.” – Thomas Watson, President of IBM, 1943

“There is no reason anyone would want a computer in their home.” – Ken Olsen, founder of Digital Equipment Corporation, 1977

Mobile transactions and payments have been common place around the world, especially in the developing world. Safaricom’s M-Pesa, DonRiver, and other providers and integrators have been making sure laborers, civil servants, and others have been getting paid reliably using mobile digital credits in societies where fraud and corruption would have otherwise sucked money out of their pockets. Bitcoin is different from these systems in that although 1 BTC = $502 (as of this writing according to Coindesk), much like cash is (kind of) backed by gold but you carry cash not gold bars, the aim is to position Bitcoin as the currency itself and not simply something to be traded for cash; a significant disruption to the financial system with the promise of a currency by the people for the people. Problem is that Bitcoin wasn’t made by those in charge and hit the established system so fast that it scared the powers that be and also didn’t come with the fraud protection, security, and controls to ensure that your money is safe. Just today there are reports that Mt. Gox, one of the largest BTC exchange is insolvent with as much as 700,000 Bitcoins unaccounted for. That’s $351.4M as of this writing. That’s serious money. Worse, without protection measures, if your Bitcoin wallet is hacked tonight there really isn’t any real recourse to take tomorrow. But as the growing pains continue for Bitcoin, the promise of a viable digital currency is alive and well.

Bitcoin has been banned in China and Russia. On the opposite end of the spectrum, The Royal Canadian Mint, Canada’s manufacturer of coins has just passed another milestone in bringing to market MintChip, the first government-backed digital currency. Interesting to note that The Canadian Mint also manufactures coins for smaller countries such as New Zealand and Luxembourg and there is talk that once in market, the digital platform can power digital currencies for these nations as well. Where Bitcoin is today an unregulated digital currency for the masses, MintChip is more akin to the work done by the likes of M-Pesa; a digital credit system backed by hard currency, but differs in that MintChip won’t be something you take to a bank to get “real money”, the hope is that it lives on as the transactional currency itself fulfilling the promise started by Bitcoin.

So where does this leave Bitcoin and all the start-ups and exchanges clamoring to own a piece of the Bitcoin ecosystem? Well, every new currency type needs exchanges and trading desks, fraud protection and security, banks and wallets and digital currency is no different. Coinbase, for example, an international digital wallet that allows you to securely buy, use, and accept bitcoins has likely built a platform that can power other digital currency not only Bitcoin should a new leader, or multiple international digital currencies emerge (I’m not connected to Coinbase in any way but I trust they’re smart guys that think big and I know their investor are and do). The early champions of Bitcoin-supporting technologies will be the front-runners to power the digital currencies of the future. As for Bitcoin itself, two things can happen; (a) the people truly have the power and with entrepreneurs building for Bitcoin, merchants accepting it, and people using it the currency actually goes mainstream forcing the financial system to respect it and all its new-found security. Or (b) Bitcoin will be remembered as the forefather and catalyst to the financial-system approved, government backed digital currency that my kids and grandkids will carry in their phones (or wristbands or watches or eyes) when they buy a Coke, coffee, or whatever new cool things haven’t been invented yet.

Digital currency may not take over as quick as some may like. It’s no question that moving away from the gold standard resulted in a financial system that has less “real value” and is open to market manipulation than if we were still based on a tight dollar-to-gold ratio. Likewise, fear of manipulation, intrusion, and coersion by governments abound with a non-physical currency where all of your purchases can be traced and governments can punish and bankrupt each other or otherwise gain political advantage by hacking finances. The hope is that these concerns will be checked my systems to ensure they don’t happen and digital currency will bring greater equality to the masses and not accelerate the divide between rich and poor. Whatever side of the fence you’re on, Bitcoin has started a train in motion and there will be many more pitfalls along the track but it seems inevitable that software will again eat the world.  and the day of your leather wallets and money clips are numbered.

Web Site vs. Web App: The Difference & Why You Care

Guest post by Jason Miller, my co-founder at Carbyn and an absolute engineering whiz. You can follow Jason at @_developit.

When Jaafer asked me to start pouring my tech savvy into a post I started thinking about what would make a great read; something that sticks to the purpose of this blog which is to provide objective free-wheeling thoughts and knowledge, mixed with some humor and maybe even little controversy (after all not everyone will agree with everything I or Jaafer say (even though everyone should!)). So, I decided to write about something that’s becoming an increasingly hot topic in the web/mobile community and has come to be a part of my everyday work (and thoughts)….and something that is effecting web and mobile users every single day.

What’s the difference between a web app and a web site; what differentiates these two seemingly similar but in realty very different entities?

Is Twitter.com a web app? Yes. Is this website a web app? No. Is Gmail a web app? That one is debatable, but yes. What even defines an online resource as being an “app” instead of a “site”? I think the most definitive answer is that web apps transfer presentation separately from data, and do not employ a strict request-response technique for doing so.

Your users called, they want their time back.

Users care about speed, functionality (therein usefulness) and ease-of use. As developers, we can draw rather direct parallels to the technical aspects of web development from these general requirements. For speed, and since this is the web, we’re talking almost exclusively about speed of data transfer (requests take much longer to transfer than to execute on the server). Functionality is created by selecting the most effective set of features for an application (more is not always better). Ease-of-use is important in web apps because we are still collectively helping computer users to adopt a new way of thinking about applications – if a user’s first web-based application experience is horrible, they will most likely avoid using web-based software in the future.

So.. why classify “apps” and “sites” based on what the data looks like?

Users care about speed, and we know speed is most affected by data transfer time, so that’s where we can draw a clear line between the “old” and “new” approaches. A website transfers data and formatting via a single request, which is optimal when loading new pages is the primary means of retrieving new data. A web app transfers formatting and presentation information as part of an initial download process, much like downloading a desktop application. Once this information has been stored, data is then downloaded in a serialized format – optimized for speed in a situation where page loads don’t occur. Examining the data being transferred makes it easy to determine which paradigm something is optimized for. Simply look to sites like Facebook and Twitter, where you can see an evolution in the direction of “web app” for no reason other than to provide a better experience to users.

Doesn’t that mean everything should be an app?

You’re not getting the point – that would be premature optimization at its finest. If you are establishing a web presence for a business, where your needs are little more than an online business card or simple e-commerce site, don’t build an app. Your time would be better spent working with the client to optimize their site for Search Engines or creating PPC landing pages. However, it would certainly be beneficial to apply lessons learned from the world of web apps to your website – things like HTML5’s ApplicationCache and AJAX history can go a long way to improve user experience. A general rule-of-thumb is this: if your project is web-based, data-driven and is its own product, a web app would be a wise choice.

So, there you have it. Apps, both web and native, have an initial download followed by speedy data transfer. Sites throw everything into a pile and download formatting intermixed with data.