Design Foundations

Design Foundations: Fail Whale

In today’s design challenge we were instructed to come up with an original version of Twitter’s famous Fail Whale error screen.

Twitter’s famous failwhale error screen. Credit: Twitter

Before we started brainstorming, groups were assigned a tone to use in our message. We were given “edgy” as our tone.


When we were brainstorming we considered different scenarios that could be considered “edgy”. For me, I thought that “edgy” could mean something like someone is in a very dire situation such as being tied up. So we thought about the idea of a character tied up in a trap that someone like Perry the Platypus would find themselves. We decided to use the cliche of the hero tied up being lowered into a pit of sharks but instead of a hero it is the engineers that are tied up (though one could say they are heroes).

Creating the Piece

After brainstorming I fired up Affinity Photo on my Mac and we started working. My group mates gave me ideas for a good color scheme while I found license free images online on to use for the shark and the person tied up. To our surprise we ended up finishing a little early since we were able to quickly find the images online without too many issues.


EV Charging Standards 101

As our world is beginning to see the lights at the end of the COVID-19 tunnel, we are also beginning to see the lights of electric vehicles on our roads. EV’s (short for Electric Vehicles) have experienced a new “surge” in interest over the past year thanks to a new administration putting the pedal to the metal in getting more electric vehicles on the roads. In just the past few months, multiple car companies have made headlines with announcements of new and exciting all-electric cars such as the Ford F150 Lightning and the Nissan Altima. These new vehicles aren’t just existing cars with a battery stuck inside them; rather, they have been engineered from the ground up to take advantage of the unique characteristics of electric vehicles. Not only is it environmentally friendly and cheaper to drive an EV, but it has other benefits such as no oil changes, no brake pad replacements, and no transmissions or alternators to break down. But while many people seem to be interested in buying an electric vehicle, many are nervous about how vehicle charging works.

As you may already know, unless you are driving a hybrid vehicle, you can’t put gasoline into an electric car. If you don’t want to get stranded in the middle of an interstate, you have to keep your battery charged up. Most electric vehicles have battery capacity ranging from 24 kWh to upwards of over 100 kWh. What is a kWh? kWh stands for Kilowatt Hour and is a measurement of electrical capacity (or, as your science teacher would put it: the capacity for your car to do work or move). Electric car batteries are huge. To give you an idea of the size of some EV batteries, a 100 kWh found in a Tesla Model X could easily power the average American household for just over three days and could charge an iPhone 12 at least 9200 times. These batteries provide the high amounts of power needed to drive sometimes hundreds of miles on a single charge. Now with great power comes a great need to charge. Because of the size of these batteries, a standard wall outlet won’t always be sufficient to charge your vehicle fast enough. Instead, EV chargers are typically divided into three categories or levels.

Level 1 (Snail’s pace but accessible anywhere there is a standard 120V wall outlet):
Level 1 charging is slow, very slow, like the line at the DMV slow. It can juice a car up about 4–6 miles per hour of driving range. This is usually not adequate for most drivers; however, if you typically don’t drive many miles in the day, this option might work for you (as a college student in Boulder, CO, this solution was sufficient for me during my freshman year). While slow, level 1 charging has one significant benefit, it works anywhere you have a wall outlet. This is perfect for situations where you are in a location without a good way of powering up your vehicle. Most cars, such as the Nissan Leaf, come with a level 1 charger that can be easily taken anywhere for emergency charging. All EV’s on the road today work with Level 1 chargers.

Level 2 (Perfect for most driving scenarios):
Level 2 charging is by far the most common type of public vehicle charging available. It is much faster than level 1, providing charging speeds that vary depending on the kW rating of the charger. According to data from a public EV charging company ChargePoint, a 6.2–7.6 kW charger can give about 20–25 miles of range an hour. This is perfect for most driving situations and can usually completely fill up even the largest of EV batteries overnight. Level 2 chargers can also be installed at home by using a 240V electrical line. The cost of installation can vary depending on how your house is wired, but it generally isn’t too expensive even if you need to add an additional 240V line as government incentives in certain states will help pay for a charger. Just like level 1 charging, level 2 charging is available on all EV’s that are on the road today and use the same plug shape for level 1. There are many apps to assist you in finding the nearest Level 2 charging, such as PlugShare or ChargePoint. Some locations like Scott Carpenter Park in Boulder, Colorado offer free charging!

DC-Charging/Level 3 (SUPER SPEED): 
Contrary to popular belief, there is technically no such thing “level 3” charging. However, I believe level 3 is the easiest term for consumers to understand. What people are referring to when they say level 3 charging is called DC Fast charging (Direct Current). Unlike level 1 and 2 charging which use AC (Alternating current) that has to be converted to DC by your car before it reaches the battery, DC charging directly sends power to your battery. This type of charging is extremely fast and the exact amount of miles of range per hour gained varies greatly based on the specific specifications of the charger and what a particular vehicle can accept. In some cases, this charger can add upwards of hundreds of miles of range in less than an hour. Many EV’s can be charged to 80% in about 30 minutes. Why 80%? Batteries (including the one in your phone) typically slow down charging speeds around 80% capacity to reduce battery degradation over time. This type of charger is usually only necessary for road trips where you need to juice up fast. These chargers are extremely expensive to install, and you probably won’t find one installed in a home. All Tesla Supercharger locations are DC fast chargers. Unfortunately, Non-Tesla DC Fast chargers currently have more limited availability and are compatible with most, but not all EV’s on the road today. To make things a little more complicated, there is a DC charging standards war that further complicates things that I will touch on in a bit.

You may have noticed how I avoided for the most part stating how fast each charging level can fully charge a car’s battery from 0–100%. I believe it is more important for buyers to understand the miles of driving range per hour added when charging rather than the percentage of battery capacity gained as every car is different, and each vehicle can have vastly different sized batteries and charging speed caps. Take a 2015 Nissan Leaf which has a battery capacity of 24 kWh, which gives an estimated range of just 84 miles. Now take a Tesla Model X with a 100 kWh battery with an estimated range of 325 miles. If a 6.6 KW charger charges a Nissan Leaf from 0–100% in 4 hours, that same amount of power delivered would have charged the Tesla to just 26%, yet the Tesla will have received a similar amount of range as the Nissan Leaf in that same time frame.

Now for the yucky stuff: Charging standards.
Charging standards are typically defined the shape of the plug used and how power is delivered to your vehicle. Like how an iPhone cannot be charged using the same cord that can charge Android devices without an adapter (or dongle) and vice versa, EV’s are dealing with a similar issue. In North America, there are four common charging standards:

Image source:

Note: This image erroneously states that CHAdeMO is a Japan only standard.

AC Standards (Level 1 and 2):
-J1772 (sometimes called J-Plug): Your standard connector that is found on every US electric vehicle not ending in the word “esla”. 
-Tesla Connector: Similar to Apple’s lightning cable in that it is proprietary and only compatible with Tesla cars.

DC Standards (DC Fast Charging “Level 3” ):
-CCS (Combined Charging System): Sometimes called CCS1 in the US. A port that not only supports DC fast charging but can accept a level 1 or 2 J1772 charging cord on the top half making this an attractive standard and likely the winner of the standard war. Not currently compatible with Tesla’s (fun fact: there is a CCS2 Tesla adapter for European markets, but no CCS1 adapter exists for the US). 
-CHAdeMO: Also supports DC fast charging. Compatible with cars such as the Nissan Leaf and Tesla’s (with an adapter). This standard seems to have lost to CCS as more and more cars are dropping support for it and using CCS instead.
-Tesla: Only compatible with Tesla’s. Found at Tesla supercharger stations.

It is understandable if this technical jargon fried your brain. There are, unfortunately additional variations with these standards in different countries, so finding a cohesive explanation of each standard in North America took a little bit more time than a simple Google search. Here are the key takeaways for each standard that you should remember:

J1772 is like a sociable people person who gets along with a bunch of different people. It is compatible with all modern EV’s (some Tesla’s may need an adapter) and can provide slow but always available level 1 charging and the best for most cases level 2 charging. It can also plug into the top half of a CCS port.
Mnemonic device: 1772 is a large number and J1772 works with a large number of cars.

CCS (Combined Charging System): The USB-C of the EV charging world and J1772’s best friend. Likely the future port for mainstream DC-Fast charging “Level 3” just like USB-C is the future of device charging. It is being used by many different automakers. Most importantly, it can act as one port for all levels of charging since a J1772 plug can fit into the top half. 
Mnemonic device: You will “See see us” all over the EV charging world. Combined meaning you can also plug in a J1772 plug into the same connector.

Tesla: The Apple Lightning port of the EV charging world. It is widely available, but like how the Lightning cable can only charge iPhones, the Tesla connector can only charge Tesla cars. 
Mnemonic device: It works only with Tesla.

CHAdeMO: A standard soon to go the way of the DVD or VHS tape. CHAdeMO is in the process of becoming a legacy standard with little support. 
Mnemonic device: CHAdeMO stands for Charge For Moving. More like Charge for Moving On.

Whew! While there is indeed a variety of EV jargon to remember, especially when it comes to charging, most people will have no issue figuring it out once they own an EV. Fortunately, it looks like the charging situation will be less complex in the future as Tesla announced this year that they are planning to open their Supercharger stations to non-Tesla vehicles. This announcement is huge as it will not only greatly improve the critically needed fast-charging infrastructure for all vehicles but will eliminate some of the incompatibilities of the different charging standards. With all of the new and exciting vehicles arriving over the next few years, joining the world of electric cars is becoming increasingly more attractive. As an EV owner myself, I believe now is the perfect time to consider making your next vehicle purchase an electric experience.

Design Foundations

Design Process Crash Course

September 3rd 2021

One of our recent challenges in design foundations was the design process crash course. For this challenge we practiced skills to effectively design for others.

Day Graph

At the beginning of this exercise, my partner and I were instructed to draw a line graph of our days. The X axis represented the current time of day and the Y axis represented how good our bad we felt during that time of day. As you can see from the (messy) example on the left, my day started off poorly due to having some foot pain. As the day went on, I started to feel better and the day ended with me happy (above Y=0). After we finished drawing our graphs, my partner and I took turns explaining our graphs to each other and we took notes on what we heard from their explanation.

Sketching Ideas

The next step in our crash course activity was sketching ideas of potential solutions to problems that I identified based on the notes I took about my partners day. I identified that my partner has had problems falling asleep and staying asleep sometimes due to the room temperature. Because of this, my sketches consisted of multiple sleep related inventions including a smart bed that looks for sleep patterns to calibrate a smart room heater/cooler.

Constructing a model out of Arts and crafts materials.

Finally, we were given some arts and craft materials to try to construct a model of two of our ideas. Due to the limited amounts of materials we were given access to (I am vouching for using LEGOS in the future) the models were relatively simple. In the photo to the left I made a smart heater out of a cup and pipe cleaners and a smart bed out of construction paper and popsicle sticks.

What I got out of this

This activity allowed me to practice a technique for designing for others using empathy. The note taking of another person’s day as they explained their ups and downs allowed me to find potential problems that could be solved creatively without my partner necessarily knowing what the exact problem that they needed to solve was.


Doping Alert: Mario and Sonic will NOT be at the Olympic games this year.

By Jake Derouin

In what were just weeks since 5-time Olympian Sonic the Hedgehog was hit with a 4-year ban for testing positive for Nandrolone due to what he claims was a tainted Chili Dog, another one of Japan’s finest athletes will be absent from the Olympic games. A recent report has surfaced that all-star sprinter and High Jumper Mario has tested positive for mushrooms. After his exciting victory in the 100m at the Olympic Trials last week, Mario will now receive a 30-day ban from the positive test. This ban, while short, will prevent him from competing in Tokyo this July. Mario has stated that he takes full responsibility for his actions and explained how his girlfriend was recently kidnapped (again), and mushrooms helped him cope.

As a result of these two high-profile suspensions, the Chemical Plant Zone has been the topic of criticism for its athlete drug testing procedures. While not shown to have performance-enhancing characteristics, mushrooms are classified as a “substance of abuse” and therefore are banned from consumption. This is despite mushrooms being legal in many countries, including Mario’s home in the Mushroom Kingdom. Criticism is also being directed at the head of the CPZ, Dr. Robotnik (aka Eggman), with his involvement in recent attempts of world domination, as evidenced by a leaked internal email to the head of testing operations Bowser. Many are demanding the doctor to resign as goals for world domination and regulation of world athletic competition eligibility represents a conflict of interest. Reports have also been circulating that Bowser has had a history of involvement in the kidnappings of high-profile political figures.

With the advancing age of the athletes: Sonic turning 30 this year and Mario turning 36, some believe that this ban might be a Game Over for their Olympic careers.

In other news, athletes such as Shadow the Hedgehog and Metal Sonic have also been wrapped up in controversy due to the ongoing debate about whether the use of rocket shoes constitutes technological doping. Because of these concerns, the IOC is currently considering legislation to regulate shoes in the future with one proposal to allow only one set of rockets per shoe for each athlete. When Shadow was asked whether he thinks that rocket shoes should be regulated, he responded, “I am the ultimate lifeform; I only need my superior genetic engineering to crush all who oppose me.” Some people have taken his response as evidence of yet another controversy in Olympic sports with whether genetically enhanced individuals should be allowed to compete in athletics.

CU Buffs Fueling Station Technology

The CU Buffs Fueling Station Platform Overview

By Jake Derouin

“Performance Starts With Food”

Colorado Athletics Performance Nutrition Slogan

As many people know, nutrition plays a huge role in athletic success. Whether you are the occasional gym rat, or a member of an NCAA Division I Cross Country team, your nutrition and your performance go hand and hand. The varsity athletic department at the University of Colorado Boulder has gone through great lengths to ensure that each and every athlete no matter the sport or scholarship status has the opportunity to perform at high levels through its robust Performance Nutrition department. I myself am a member of the CU Cross Country and Track teams and take advantage of the Performance Nutrition Department’s offerings every day.

The Fueling Station

The University of Colorado Boulder has an athlete exclusive dining hall in the athletic department building. The dining hall on most days serves two meals daily to all athletes 5 days a week. Food is selected for each meal by the nutritionists in the department to ensure athletes are getting the types of food they need. Food is served buffet style similar to regular college dining halls. In order to make sure their is enough food for everyone as well as to reduce waste, athletes are required to “check in” to the fueling station.

The old Check in process.

The check in process athletes used prior to COVID-19 was done on old fashion pen and paper. A “student checker” would write down every name and sport of each athlete who came in to get food. Believe it or not this process had many difficulties. Writing people’s names down along with their sport and student identifier sometimes caused long lines to form when getting food due to a large amount of athletes attending at once. As a result, the nutrition department struggled to find and hire students willing to ask every “sometimes hangry” athlete for their name, sport and identikey and write down their names each day. The athletic department also experimented with a Google Form like survey during COVID-19 but found that athletes did not like filling it out and would constantly skip doing it.

Version: 1.0: 1-Click Check in

Version 1 of the Fueling Station App

The Fueling Station App was originally designed to do one simple task. Record each athlete who attended the fueling station for a particular meal. With Xcode and Swift, building an iOS app that did this took me only a few days to make and just a couple of weeks to get a custom designed app icon from the Colorado Athletic Department. In just a few weeks I had the app in the App Store. All athletes had to do now was fill out the requested information once during the initial app setup and press a singular button every time they wanted to check in.

On the staff side of things. I built a second app that was distributed internally that allowed for the staff to export a spreadsheet of who has checked in.

A task so simple yet so complex

While both athletes and staff loved the new process, it turns out that people (especially young adults) don’t like listening to bureaucratic requests such as checking in. In order for athletes to be compliant with checking in, the task would have to involve the least effort on their part as possible. In addition to this, I had found the following problems:

  • The App was iOS only and left out the 5 or so Android users (who were using the old survey process).
  • CU Boulder has a terrible captive portal system (the website the pops up to press accept before you can use the internet). This meant there were many internet issues that caused users to receive errors when checking in.
  • People would lie that they checked in and there was no way to prove that they had unless the staff looked through the spreadsheet.
  • iCloud Drive needed to be turned on for every athlete causing issues with a handful of users.

The Android Version

Even though there are only a small number of Android user’s in the department, I know I needed to make the new check in system cater to them as well. Through Android Studio, the Kotlin language, and a slew of YouTube tutorials, I had a barebones Android version of the app up and running on Google Play. It used an entirely different database called Firebase as opposed to Apple’s CloudKit. Though Firebase would turn out to be the database for both platforms in later updates.

Version 2.0: Loads of New Features

The Raspberry Pi Zero W used for Automatic Check in. (The tin foil was used to reduce the signal to just the fueling station room).

After a few months of slow development due to finals and a crazy COVID-19 Cross Country practice schedule I had finally launched version 2 which aimed to fix many of the issues in version 1. I introduced the following features.

-Automatic Check In (Optional feature): By using a Raspberry Pi Zero W I mounted in the Fueling Station, the app utilizes iBeacon technology to determine if the athlete is in the fueling station dining hall and checks them in. This requires location services to be turned on.

-Offline Check in: All check ins are stored on device and uploaded later if the network connection fails when the athlete checks in. This allows for accurate data even if the internet is not working correctly.

-Visible Checkmark: When the user checks in a large green check mark is displayed. This allows staff to enforce the check in process by requiring athletes to show the check mark on their phones when they enter the fueling station.

As for the Android version only Offline Check in and the visible check mark were added. It had turned out that Firebase had a built in persistence feature for bad internet and was surprisingly easy to add.

These features were really well received. However, they weren’t without their problems. Automatic check in requires the “Always on” location permission. Not only does enabling this permission on the user’s device require a multistep process, iOS will remind users that it is on frequently and have an easily accidentally pressed button to turn it off. Additionally, the iOS offline check in would only try to re-upload check ins every time the app was opened which for many was only when they were in the fueling station (where the bad internet was in the first place)

Version 3.0 CloudKit gets Fired + Gold Card Support

Due to the lots of spare time summer gave me, version 3.0 was developed relatively fast compared to version 2. One of the most requested features by my teammates (and myself) was Gold Card balance checking. CU Boulder really spoils its athletes when it comes to food. In addition to the food served at the fueling station, athletes not in dorms get a “Gold Card” through a local company called the Flatiron Meal Plan. This card is loaded with $44 a week to spend on local restaurants such as Noodle’s and Company and Modern Market. Because of the tax exemption status and other various restrictions of the Gold Card, the Flatiron Meal Plan app used by normal customers does not allow for athletes on Gold Card to check their balance. Instead, athletes had to log in to the Flatiron Meal Plan website every time they wanted to see their balance.

I worked with the owner of the Flatiron Meal Plan to see if it was possible for some sort of API integration for my app to fetch balance information from their servers. Unfortunately, the company contracted to run their servers was not allowing new integrations. I eventually got sick of waiting and figured out a way to fetch athletes balance using web scraping techniques on the Flatiron Meal Plan website.

Web-scraping is the process extracting data from websites usually through an automated process. To get Gold Card balance information I implemented a feature in the Fueling Station App that allowed a user to enter their credentials into the app once and save them. Then, when they wanted to see their balance a function would run in the app that reads the HTML of the Flatiron Meal Plan website and logs the user in. The function would then find the portion of the HTML that displays their current balance and display it neatly as a label in the app. All of the web scraping would happen in a matter of seconds and completely behind the scenes from the user.

Usually Web-scraping receives some scrutiny on its use due to factors such as copyright infringement and the possibility of overloading a website. To prevent this, I added a restriction on how frequently an athlete can refresh their balance (20 seconds in this case). Most importantly however, I got the Flatiron Meal Plan’s permission to add this feature before I published the update. In a subsequent minor update I also added a table of all of the merchants that are compatible with Gold Card as well as the addresses of each.

Additionally, I moved the iOS app off of Apple’s CloudKit database system to Firebase just like the Android version. This allowed me to significantly reduce the complexity of the code in the iOS app. Most importantly, it removed the need to have iCloud Drive turned on significantly reducing the amount of “it doesn’t work for me” complaints. This change also allowed me to utilize Background App Refresh capability’s to upload check ins that failed to upload when they were created.

The Kiosk app and live check in count

Version 3 is where we are today in terms of the iOS app (Android is still on Version 2). When I had published version 3 I had one thing missing. What did I do for the athlete’s who didn’t have their phone on them? My solution to this was the Kiosk app. This app was by far the easiest one for me to program. It was an iPad app that would allow users to quickly fill out their name, identikey, and sport. I donated an old iPad Air to the athletic department to avoid a bureaucratic nightmare of getting them to buy a new device. The iPad with the kiosk app sits on a desk in front of the Fueling Station entrance for users to check in manually if they do not have their phones.

Another major feature addition was to the Admin app that the staff use to get spreadsheets of the check in data. This feature is known as Live Check in count. This feature lets the a person see in real time who has check in, how many athletes have check in in total and for each sport.

Where we are now

With the school year in full swing, the Fueling Station Platform is used every day by about 200 athletes. The athletic department now requires every student-athlete to have the app installed on their device (unless they use the kiosk app). Each day a student checker sits at a desk in front of the entrance to the Fueling Station asking every athlete to show the green check mark or use the Kiosk app. The checker does not need to write down names like before so the job is significantly easier and many student checkers can study at the same time. The checker usually has a phone out too with the live check in count going so the staff can get an idea of how many athletes have yet to come in. As for future feature enhancements I hope to add an auto updating Gold Card balance widget for athletes to place on their home green as well as the ability for the staff to change fueling station meal times without needing me to update the app.

Download the CU Buffs Fueling Station App:

App Store

Google Play