In recent years I have noticed mobile and web apps starting to include motion design in their user experiences. One example of this is Facebook reactions. Instead of the reactions instantly appearing on hover, they gradually appear to the user’s eye and animate to help the user further understand and choose their reaction. If the user hovers over a certain reaction it becomes larger to help signify to the user that that reaction will be the one they choose if the click or tap on it. The motion being used here keeps the user engaged in the app and is included in a meaningful and playful way.
Most organizations with a web application will inevitably need to make a decision regarding their current front-end framework. I’ve personally been involved with two projects that have come to this crossroads. One of the two applications was written in AngularJS, the other in Backbone.js. In both cases, the organization decided that the best course of action was a full rewrite using React and Redux. In the case of the AngularJS app, a gradual migration approach was considered and I was lucky enough to have the opportunity to investigate this possibility.
Alternate Title: The Self-Driving ABCs
My boyfriend’s dad’s car was recently broken into. By itself, this would be a pretty low note to start a blog post with, but rest assured that nothing was stolen and only one window of the car had to be replaced. The situation was made 100 times better by the fact that he was lent a Tesla Model X while his own car was being serviced.
For some people, Augmented Reality (AR) may seem to have exploded onto the scene. With the (fairly) recent popularity of Pokemon, decidedly unpopular Google Glass, and futuristic promises of Magic Leap, AR is popping up just about everywhere. Yet the technology goes back to the 1990’s and the dream of AR has been around for generations before that. These days the market space is increasingly getting crowded with Google, Apple, Microsoft and a whole array of additional hardware manufacturers, software companies, and numerous start-ups getting into the business. If you think that AR as a technology limited to entertainment applications and checking your newsfeed; well, have I got some news for you.
The general definition associated with decentralized applications (DApps) is an application that functions through a peer-to-peer network as opposed to a single source or computer. The existence of such an app in cyberspace does not depend on a single authority. It can operate under a blockchain network or any other form of the peer-to-peer system (read more about blockchain here). Moreover, it is important to understand that the definition of these applications can differ with respect to the institution. The notion of blockchain originates from the concept adapted by bitcoin which uses cryptographically-stored records. There are limited tokens in the system as a means of checking the value of the currency. Different DApps exist for different purposes but the key property of the application is the independence from a traditional single server database.
My goal for this post is to share how I answered a seemingly simple question — what should I learn in my free time?
While developing software in Silicon Valley is educationally rewarding on a daily basis, there is still so much more to learn. Tech news is constantly bombarding readers with new technologies like blockchain, machine learning, and autonomous-(insert vehicle type here). Staying ahead is exciting for me, but also critical to my career.
I considered a few ways figure out what is “hot”:
In an attempt to understand the technical side of the cryptocurrency craze, I read the book, Bitcoin and Cryptocurrency Technologies (http://bitcoinbook.cs.princeton.educeton.edu). It was a great book and I’d highly recommend it. What follows is somewhat of a book report on the beginning chapters, a look under the hood at what a blockchain is.
It has been observed that the acceleration of Moore’s Law has left tech culture with a tendency to discount the past, which leads to issues when building for the long-term. If everything we do is going to be circular filed in a few years anyhow, why bother? I think we’re starting to see some of the limits of ahistorical strategies, especially because building for internet scale means that systems can affect higher-order aspects of society and culture in unexpected ways. This is why I want to talk a little bit about cybernetics.
“But you are planning for failure!”
The planner on my project team was aghast. I had asked for components to cover a 3% predicted waste rate for a multi-year program making assemblies destined for orbit. As the manufacturing engineer for the program I knew from previous experience that 3% was an average, and not unreasonable, estimate of possible loss. This blog post attempts to answer whether her reaction was justified, but in the context of software development. Was she right to criticize my analysis of previous wastage of these components?