At the risk of stating of the obvious, a mobile phone is not a laptop computer.
So when you are designing a mobile app, keep in mind that your users may not be sitting at a desk, but rather, they might be wedged between two people on a train, balancing themselves with one hand and using their phones with the other.
Coming up with an idea for you mobile app is just the first step; creating a user experience that brings your idea to life in the hands of your users is a much more difficult challenge.
Before Memorial Day, several of us from the GA team crammed onto a couch and talked about going west for the summer. Over the past two months, we’ve doled out no fewer than 300 *adorable* GA cookies, trekked what probably amounts to 50 miles of distance traveled from coffee shop to office to happy hour in various locations around SoMa, and most importantly, had the pleasure of introducing almost 1,000 students to General Assembly classes and workshops.
These days, web apps that function in real-time aren’t a novelty. They’re the standard. Users have come to expect instantaneous results, and to expect live, social components built into their applications. These expectations are met — with increasing ease and power — thanks to a small phenomenon called Node.js.
Name: Toby Matejovsky (@tobym) Class Taught: Intro to Scala
Toby started programming in high school by teaching himself how to make a website and taking a class in C++ (which he used to write programs to help with his calculus homework). Prior to working at an incredibly talented ad-tech startup, Toby wrote some interesting command-and-control software in C++ with a big defense contractor, and later built and scaled a job search website in Rails with a small startup. He currently uses Scala to create a blazing fast real-time advertising system that handles billions of requests per day.
When you set out to build a mobile app, one of the first things you will need to decide is just what kind of app to build. Should you build an app for the iPhone? What about the Android? Should you forego a traditional app, and bet it all on a HTML-based web app?
In this post, I’m going to walk you across the mobile development landscape, and share the lessons I’ve learned to help you decide the right mobile platform for your app.
Build Native, or Go Web-Based?
When you think of a mobile app, you are likely envisioning an app you download via a marketplace like Apple’s iTunes. Apps like these are called ‘native’ apps, because they live on your phone, and run directly atop your smartphone’s operating system.
If you’re reading this post, you’re probably not a programmer. (No worries. You’re in safe hands, here.) If you are a programmer, odds are you’re plugged into GitHub right now, building the next great something. That, or you’re too busy writing an endless book of gushing sonnets about the much-loved service to read an article like this.
Whether you’re a rapper who’s become too rich and powerful, or a web framework that’s become popular beyond anyone’s expectations, one thing is true: haters gonna hate. This is the case with Ruby on Rails, perhaps more so than any other topic in the developer community in recent years. It’s the code messiah, or it’s worthless – everyone has their opinion. In any event, Ruby on Rails powers many of the web’s most popular services – Airbnb, Groupon, and Hulu to name a few – and is at the heart of at least 250,000 other sites on the internet. Let’s dive in and take a closer look at what it is.
MySQL. You’ll hear developers speak of it in lofty terms. “It’s my lifeline,” “it’s essential,” “without it, we’d never have launched.” It also happens to be integral to some of the largest web platforms in the world, such as Facebook, Google and Twitter.
So what is it?
MySQL (pronounced “My S-Q-L” or “My Sequel”) is an open-source, relational database management system (RDBMS). It enables developers to manage data streams in a fluid, scalable, reliable way. Essentially, one can outsource a multi-terabyte data flow to the MySQL database server, and freely customize that data’s interaction with your site or web application.
Think about the data inside files that you store on your computer’s hard drive. That data is accessible to you, but unless you organize your files as part of a larger system, its contents are static, and its relationship with data in other files is difficult to ascertain. When one inputs databases into MySQL, all that data – the location, size and inventory of a company’s retail stores, for instance – can be filtered, edited, and searched with amazing speed. Put another way, MySQL is where data points talks to each other, and also interact with the web.