- Plenty of apps that tells you when the next bus is arriving for a certain route and stop, and sometimes tells you how long it takes to get to your destination
- Doesn’t include trips that requires transfers
- Hard to tell where the bus is exactly and if there will be a delay
- Existing apps tells you what “should” happen (how many minutes will the bus arrive, etc.)
- Include a function that lets you create “trips” which include multi-vehicle transfers
- You can create your trips by entering addresses (and from your Contacts), tapping on a map (a la Maps App), or by bus lines
- Include recommendations for a route based on traffic conditions at the time.
- Include information that tells you whether the bus is probably late
- Include information that tells you if this bus route is usually late on this day of the week at this time
- Include traffic accident information, include street closures for special events
- Include links to any info that has not been integrated to the app yet
- Include a crowd-sourcing feature that gathers real-time comments from riders commenting on any line (e.g. tweets complaining that a bus is late or explaining why it’s late)
- Include a map of all the buses running or the lines you selected.
- Include suggestions for places to go via public transportation
Goal of the App:
To improve upon existing apps by providing a more pain-free and a more fun user experience for getting the user from point A to point B.
These two features aim to achieve that goal:
- Provide an easy way to find the best route to get to a destination based on real time conditions, using as many vehicles as it takes.
- Provide information that suggests the punctuality of each bus/vehicle
Nice to haves (V2+):
- Crowdsourcing real time comments via tweets, other social media, or within the app’s data network
- Suggests places/landmark to go via public transportation
Got this quote from somebody who got it from somebody who got it from somebody who heard it on This American Life with Ira Glass. It’s sort of motivational for creative people.
“What nobody tells people who are beginners — and I really wish someone had told this to me . . . is that all of us who do creative work, we get into it because we have good taste. But there is this gap. For the first couple years you make stuff, and it’s just not that good. It’s trying to be good, it has potential, but it’s not.
“But your taste, the thing that got you into the game, is still killer. And your taste is why your work disappoints you. A lot of people never get past this phase. They quit. Most people I know who do interesting, creative work went through years of this. We know our work doesn’t have this special thing that we want it to have. We all go through this. And if you are just starting out or you are still in this phase, you gotta know it’s normal and the most important thing you can do is do a lot of work. Put yourself on a deadline so that every week you will finish one story.
“It is only by going through a volume of work that you will close that gap, and your work will be as good as your ambitions. And I took longer to figure out how to do this than anyone I’ve ever met. It’s gonna take awhile. It’s normal to take awhile. You’ve just gotta fight your way through.”
There’s also a video.
Since I’m going to be making an app, I figured I should do a little refresher on the tools and language of Xcode and Objective-C.
A few years ago, I watched the Stanford iPhone App Development class free on iTunes U. It was a different language so it was kind of hard to grasp some concepts. Also, I didn’t really get to practice it because I didn’t have a Mac at the time.
But this time around, I have a Macbook Pro and Xcode installed, and I’m watching the newest version of the iOS app development course (http://itunes.apple.com/us/course/ipad-iphone-app-development/id495052415). I figure I would at least not be surprised by the different syntax of the language.
But in the second class, where the instructor went through a demo of “the first app,” I couldn’t completely follow what’s going on, let alone imagine what I would do if I were to do it myself. Luckily, there’s a step-by-step screenshot-by-screenshot walkthrough the class has prepared, so I get to at least have an assisted start.
What I’m trying to say is that I might have bit off a little more than I can chew with this app. But it’s still early, so I’m going to stay on course to do this Muni app. And if it gets too much, I have some back up ideas.
It’s time to figure out which app from my list of ideas I should make. As you can see below, I’ve weighed the pros and cons, and briefly looked at the potential risks and rewards. I have decided to aim for the stars and am going with creating the Muni app with transfer suggestions.
Educational App for Babies/Toddlers (My Nephew)
- Pro: Helps kids learn stuff
- Con: Mainly for kids. Kids may get bored
- Usefulness: M – Mainly for kids
- Demographic: Children/Parents
- Difficulties/Restrictions: Kids may get bored. Not familiar with how kids play and what makes it fun
iOS Wallpaper Prep
- Applies custom text on an image to use for iOS wallpaper. Text would have contact info in case device is lost.
- Pro: No need to use computer to edit image anymore. Probably easy to make
- Con: Won’t be used often
- Usefulness: L – Only used occasionally
- Demographic: Practically anyone
- Difficulties/Restrictions: practically none beyond my level.
Muni Real-time App with Transfer Suggestions
- Pro: Really useful.
- Con: Probably hardest to make
- Usefulness: H – Used almost everyday
- Demographic: SF Public Transit users
- Need to figure out how to get bus traffic data
- Need to figure out algorithm for calculating connections
- Need to figur out how to visualize data
One Per Day Blog
- Creates an app version of my blog that easily records one-word summary of the day with a one-sentence description. It should also display past entries in an effective way.
- Pro: Easier to use than now (I use the WordPress app, without a more efficient way to look at past posts)
- Con: No an app for everyone
- Usefulness: H for me, L for everyone else
- Demographic: Probably just me. Could be expanded to select bloggers
- Difficulties/Restrictions: Need to figure out how to connect with WordPress or own server
Working Out Data Entry App
- Creates an app that records my workout stats in detail, along with other features that apply to me, including goal setting, workout suggestions, and an effective way to display my history
- Pro: Easier to use than now (I use a WordPress app to record my goals, and another app to record my weight, but I don’t have a way to record the details to record my workout.
- Con: May not include every single exercise/situations of a workout.
- Demographic: Athletic people
- Difficulties/Restrictions: Need to know how to store data on device and in cloud.
For a few years now, I had been wanting to create iPhone apps. That’s part of the reason why I got my first Mac two and a half years ago. But with me starting a new job at Zynga a few months later, I had not had time to do any real personal projects.
Then recently, I realized that of course I cannot create an app from scratch in a timely manner (a month or two) when I have a full-time job. So, I decided to give myself a full year to work on it.
I’ve made a rough outline for the next 12 months to get myself organized, and I’m documenting my progress here to make sure I do what I promised. (Encouragement along the way is appreciated.)
I’ve given myself a pretty easy start this month, where I just have to figure out what app I want to make. And since I’ve never seriously coded in Objective-C before, I’m giving myself a lot more time (about six months) to code and about a month to do the visual designs.
Here’s the “12-Month Plan” as of today:
- Outline basic timeline (which I just completed. Huzzah!)
- Finalize Project idea
- Weigh pros and cons for each idea
- Consider usefulness of app and potential demographic
- Consider difficulty to create app within time frame
- Define Goals of App
- Address Problems
- Suggest Solutions
- Look into offerings and limitations of iOS
- Define Featureset
- Begin Sketches
- Refine Sketches to usable assets
- Update flows and mocks with hi-fi assets
- Outline coding timeline
- Split up work into subtasks
- Begin coding
- Start with functional elements before incorporating designs
- Set up stats tracking, feedback, and crash reporting functionalities
- Use placeholders to create overall flow
- Progress Report
- Address obstacles
- Determine if features need to be expanded or scaled back
- Continue coding
- Update schedule outline
- Continue coding
- Start testing on device
- Replace/update placeholder elements with hi-fi assets
- Progress Report
- Determine if features need to be introduced, expanded, or scaled back
- Update mocks based on any changes to flow and features
- Overall app flow should be almost complete.
- Begin user testing
- Collect feedback and stats
- Reevaluate app quality
- Update flows and designs to address valid feedback
- Update schedule outline
- Continue user testing and collecting feedback
- Fine tune design and code
- Final user test
- Continue fine tuning design and code
- Begin app packaging (marketing)
- Begin App Store approval process
- Continue fine tuning design and code
- Launch app
- Post-release bug fixes
(Almost) Living My Best Life
This entry is eight days late, but that is okay, because I am crazy busy trying to live a life that I want to live.
I moved to San Francisco a month ago, and I just might be the slowest mover-inner ever. I have yet to get all the furniture that I’d like to have, and I have yet to fully move all my stuff from my old place to this place.
But with every new addition to the apartment, it looks more like a home. For example, I just got my first four-legged chairs this weekend, and it totally made my dining table look like a dining table. It’s funny how things just go together.
I don’t want to spend too much time on the detail because I want to return to living my best life, but one issue I’m having in order to “fully move in” is color choices. I want to create spaces in my apartment where everything looks like they belong, and color plays a big role. I’m still having trouble deciding which color scheme to go with, which is why I’m having a tough time. But I think in the next few weeks I will have a better idea.
I don’t want to say when, but I will be visiting Australia for the first time soon. I will be in Sydney and Melbourne, and this is very exciting. I have some ideas of what I’m going to expect, but I’d rather be pleasantly surprised.
Work is work. I’m trying to adjust to a new routine, since I moved to the city and there are certain schedules and methods that I needed to alter. There’s a new life/work balance that I have to achieve now that I live in the city.
Promoting the Tech Beat-Up
White Collar Brawler, the show created by my former freelance client Kai Hasson and Nate Houghteling of Portal A Interactive, is hosting an event called Tech Beat-Up in the Sunset in San Francisco on Thursday, November 11.
Tech Beat-Up is an inflatable glove boxing tournament of representatives from tech companies in the SF Bay Area, all for charity.
I was very lucky to be able to recruit two awesome representatives from Zynga to compete. I even took the poster that my friend Lawrence Guzman designed and Zyngified it (see above).
As if there aren’t enough links for this event, here are some more:
- Meet the Fighters (site): http://whitecollarbrawler.com/techbeatup/thefighters
- Meet the Fighters (video): http://whitecollarbrawler.com/episodes/episode14/
Another thing I’ve been doing a lot lately is shopping, mainly for my first collection of home furniture. This is all happening quite fast, so it’s a tiny bit disappointing to have to make decisions so quickly. I might elaborate in another post, but basically, the criteria that have been constantly going through my head on every single item that I will/have purchased are: 1) eco-friendly, 2) style, 3) function, 4) price, 5) space, 6) delivery, and 7) ease of move-out.
So think of doing that for one item, then multiply by everything you own in your home, and divide by the number of days in which you have to think about this, you will get a head full of numbers and lists. GTD is helping me, but I wish there’s a handy app for that, especially one that syncs with my brain.
After weeks of wasted paper I received in the mail from political campaigns, all of which I dumped in the recycling bin without seriously reading, and all the digital media that mentions the importance of voting, I find that a voice message left by a particular political committee this morning, which I listened to just now, way past the time the polls closed, to remind me that today is Election Day, where my poll station was, and that I should leave enough time after work, the most refreshing piece of information I have received from the election season.
I attribute it to the lady’s friendly voice and the fact that the call is personalized to my name, what I did in relation to the committee, and where my poll station was. It just makes the experience fun.
I didn’t like that she suggested who I should vote for, though.
The second coolest, surprise experience also happened today, when I checked in at my poll station on Foursquare, which got me this badge:
White Collar Brawler
What have I been doing? Not too much on the creative front. Just work, and trying to do my part to promote the new web series that my former freelance client Kai and Nate from Portal A Interactive are doing.
It’s called White Collar Brawler, which is about them training to become boxers. At the end of the series (in December), they’ll have to box each other.
Lawrence Guzman designed the website.
I went to my first live baseball game a few weeks ago. It was an SF Giants vs. Arizona Diamondbacks game at the AT&T Park in San Francisco.
This is probably the case for all baseball stadiums, but I was amazed by how huge, yet at the same time how compact the stadium was. Since it was my first time, my friends walked around the stadium with me to check it out before taking our seats. It didn’t take too long to make a complete circle, yet when I looked out into the field, it just felt like the world was physically there, watching the game.
Even though the Giants lost horribly that night, it was still a fun experience for me, mainly because I didn’t know what to expect.
For Labor Day Weekend, a few of my friends went on a road trip from San Francisco down to San Diego. No one from the trip had been to San Diego, which was partly why we went. Our plan for the weekend was to escape from our lives in the Bay Area and not have any real plans.
San Diego was quite a clean town. Downtown was pretty quiet too, probably because it was the weekend. The Gaslamp Quarter was definitely worth a stroll at night. It had its charm and setup, although I think the novelty can wear off pretty quickly.
While the trip ruined my fantasy to discovered that San Diego is not always sunny, we still had a decent amount of sun at the gorgeous Pacific Beach, which totally gave off that SoCal vibe that I very much needed to experience. Maybe this is typical and all beaches are like this, but I’ve certainly been deprived of that, having lived in the cool, foggy Bay Area for many years.
Having just took surfing lessons a month ago, I was inspired by this beach to prepare for revisits next summer, potentially many, many times.
These two experiences weren’t really about design or creativity, but I suppose the connection could be that in whatever we produce as designers and creators, we shouldn’t just aim for an end result, but also somehow strive for those unexpected inspiring moments that could trigger new ideas and new opportunities in yourself and your audience. It’s moments like these that linger in the mind and get them wanting more.
It’s more or less the second half of summer, and I can say that I’ve done a couple things that I’ve wanted to do.
One thing I could check off the list of things I want to do in my life is learning surfing. I’m certainly not done learning, but at least I’ve started.
Amplified by the fact that I haven’t exercised in a long time, learning surfing is almost nearly a painful experience. My body ached and cramped, and I was sore for the next few days. But I loved it. I just needed to start swimming again to build some strength before going back out there.
I don’t know what else to say other than that I’ve been doing a lot of working. I sort of realized this when I took occasional, unplanned breaks and noticed what I’m not doing. I also notice that creativity and new ideas rarely come from doing the same thing day in and day out.
At the same time, too much entropy gets me nervous. It’s a never-ending goal in finding the balance for me.
I watch TED as much as I can.
How do I become one of the speakers, or be worthy enough to speak? What are the missing middle steps? How do I translate my dream to reality?
Time for Evaluation
This past month, I’ve been doing more thinking about my current state of life and career. There have been a couple changes to both, and I’m trying to step back from all the activity and determine the best steps.
Basically, I am pretty much ready to move to the next stage of my life and career, the stage where I can start to make things happen and live the type of life that I want. Like I said, there’s still a lot of activity and not everything is final yet, so I’ll trickle in details here and there as sidenotes, hopefully in the next few months.
I’ve worked at Zynga as a contractor for more than nine months, and I’ve only realized just recently, when I take a look back, how much I’ve learned, about the industry, the game design, and the day-to-day production process.
Looking back, the company and I have grown a lot in our own ways, and it’s just going to continue for a while. I’m just glad I can come along for the ride, because there’s so much more to learn.
Ivan W. Lam. Terrible. Great. And everything in between.
I would say that talent is a pretty desirable, if not the most desirable, attribute that one should have in their career. Along with talent comes power. How you use your power determines what kind of person you are.
I would say that teamwork is a pretty desirable, if not the most desirable, attribute that one should have in their work. With teamwork, you need good communication. How you communicate to your team determines how good a leader you are.
It’s been a month since I got the iPad. A lot of you have asked yourselves the question, “What would I use the iPad for anyway?” and after a month, I sort of feel the same way. Nontheless, I still like my iPad and how it makes me feel when I use it, and I see a lot of potential for it as we all figure out what its best for.
For me, right now, I use it a lot to watch videos (mainly podcasts) and read books in bed. It’s much better than placing a hot laptop on my lap in bed, and I wouldn’t even THINK of watching videos on my iPhone for longer than five minutes.
I managed to get some bandwidth this Memorial Day Weekend to advance on my iPhone programming lessons. You’d think that I should spend my time enjoying the nice weather here in the Bay Area during this long weekend (which I did a little yesterday), but actually, this is what I really wanted to do now that I finally have some free time away from work.
Here’s a screenshot of the exercise on the basic iPhone controls. It was sort of tedious to go back and forth on the book and get all the code and settings right, but I’m starting to get how it all works, at least on the interface side. Pretty soon, I can make something practical!
I enjoy learning, and I’m glad that I don’t need to spend a fortune to “attend” lectures at famous universities around the world to do so.
Even though I would still have to find time to sit through the video lectures, which add up to a lot of hours, if I’m passionate enough about a certain subject, I would make time to watch them all.
Either that or watch something else (currently Jamie Oliver’s Food Revolution) on my iPad.
In the past month, I purchased three Apple products: the finally updated MacBook Pro, the Magic Mouse for my MacBook Pro, and this iPad 3G.
My friend teased me and said that I’m totally a Mac person now and that I’ve converted, but that’s not true. I’m still more comfortable with Windows, but I’m out trying different things. There are some things I like about Windows, and there are some things I like about Macs. And there are still things that annoy me about each of the three new Apple products that I got (ex. Typing on this iPad is still subpar, and made for people with not even an edge of a fingernail.)
My iPad arrived on Tuesday, and it’s been making me lose focus at work since I don’t bring it to work. I haven’t really done too much stuff on it, but I just like how much fun it is to do tasks with the touch and movements of my fingers.
I downloaded a bunch of new apps, of course. And even though you can run iPhone apps on it, the experience is just not the same. That’s why I get upset when there isn’t an compatible version for the iPad. But it’ll only be a matter of time…
I’ve been trying to find time to go back and do some coding again, particularly on the iPhone and iPad. It’s practically a brand new language for me, and it’s going to be interesting and challenging on the way.