Instagram Video V2 & Some Thoughts


It’s been another very exciting past couple weeks. We launched Instagram 4.1 last week – adding video support for Android 4.0 and video import from library. Huge wins. Video import was my main intern project, and I’m so happy that I was able to launch such a high-impact feature. Everyone please go and check it out if you have a chance.

I’ve worked at Instagram for about 15 weeks now, in the Facebook bubble. I realize that I’ve become attached to my team, attached to the product I work on. I don’t post the same kinds of photos I used to, after being influenced by amazing photographers (check out Suggested Users in Explore).

I began to seriously care about what users think of us (Those 1-star ratings hurt, just to let you know). It’s unfortunate that we can never have 100% test coverage due to the wide variety of Android devices. I’ve been in such a work-hard mode in the past few weeks that I forgot what I was doing – launching such an important and desired feature for millions of users out there. It’s a weird state to be in –  I became  critical of my code and it was hectic handling all of the bugs being reported. I spent a lot of time working on the feature (ensuring it worked on all devices, on various types of videos, etc.) that I forgot how awesome and high impact it actually was. Dilemma of a mobile developer perhaps?

A few people have asked me what it’s like working at Instagram but being under Facebook. Most of the public thinks that Facebook is making all of our decisions and will eventually make the app worse. No, it’s not like that at all. Facebook acquired Instagram, but the Instagram product still stands as its own. Our team is still present. We receive many resources and contacts through Facebook, which helps us reach a larger audience more efficiently, and scale more efficiently.

We are still fairly small, making me feel like I work at a startup, but we have the Facebook perks since we are on campus. It’s the best of both worlds. Facebook culture is slightly different from Instagram culture, and we also have our own values. One value in particular is that our community is our greatest asset. I’ve never been so exposed to how great our community is, and I have never realized how many amazing moments are shared from all across the world. People out there take some amazing photos.

Facebook is of course a little different. There are tons and tons of features in one large app, as we all know. There’s definitely a lot going on (feature-wise), although the fact that we all use Facebook to communicate at work, we are able to constantly debug each others’ code by testing great ideas.  Socially, everyone gets informed about product updates and what’s happening on campus through FB groups. I have stopped going on Reddit because all of my entertainment can be gained from various social groups. It’s extremely transparent here, and people love to have fun – a “just do it” type of culture.

Is this a recruiting blog post? No. Sorry if I’m making it sound that way. There are other interns who don’t feel the same way as me since they didn’t get placed on a suitable team. It happens. Life is full of bumpy roads and not everything can line up the way you want it to. I promise you this happens at other companies too, you just need to be verbal about it (esp if you work full time) so you don’t get stuck with something you don’t enjoy.

Anyways. I love this job and I don’t even know what I’ll do when I have to leave. Working on exciting projects with such an amazing team is something that you don’t always get to experience. It’s very surreal. Sometimes you really have to sit down and reflect before the moment fades away.

South Bay Lovin’


I have not blogged in a long time so I’m going to try to write before I become busy again. I have been extremely occupied in the past couple weeks, especially with work. I even forgot about doing my PD assignments for the past 2 weeks (don’t follow my example, please..) For those who do not know, Video for Instagram launched last Thursday on both iOS and Android. I helped with the Android launch, and despite all of the challenges and required extra hours, it was totally worth it. I have never worked with such a dynamic, open team, and I don’t really know what I’m going to do when I have to go back to school for the Fall. Check out the new feature if you haven’t already.

So how’s life for me? I am loving South Bay life. I barely went down here the last time I was in the Bay Area. It is definitely a place I’d like to live sometime in the future. Simply put, it’s nice. Really, really nice. I’ve been here about 7 weeks and it has yet to rain. Nada. This is so different from life in SF, the city that never stops being foggy, rainy, and hovering at 15-20 degrees celsius (59-68F). I still go up to the city once a week. This weekend, I added 50 bucks to my Clipper Card for the 4th time since I’ve been here. I actually checked out Haight & Ashbury for the first time today – it’s a great shopping district! Too bad there were 5 guys in our group or else we would have been there for hours.

Being a Facebook intern also has its perks – there are always amazing intern events. Last week, they took us to Yosemite. There wasn’t a lot of time to do big hikes, so a few friends and I just did some bare foot rock climbing at the Lower Falls. It was truly amazing being so close to the waterfall, and I have never realized how durable the human foot was until that day. I’ve become sheltered by shoes and socks for a long time, it seems. A few pics:

Lower Falls

Yosemite

Not all the interns have arrived yet. I think there are 700+ total summer interns. It is crazy. Not all of them are even here yet – I think the last batch arrive next week (July 1st). The official Bay Area interns group itself is about 3.5k people. Yes, movies like The Internship were made to entertain people like us.

It’s also very interesting being able to hang out with more Americans and understanding their differences from us Canadians. A few things:

  • Canadians say “washroom” while Americans say “restroom” or “the men’s room” or whatever.
  • Canadians say “marks” vs Americans say “grades” (? unconfirmed)
  • Americans don’t say “Let’s dip” in lieu of “Let’s go” (? unconfirmed)

Anyways, the only complaints I have so far about where I live is that the closest chain movie theatre is in Redwood City – which is in Zone 2 on the Caltrain Map. Menlo Park (MPK) to Sunnyvale is in Zone 3. There are a couple theaters in MPK and Palo Alto, but they play old school films. Another really cool thing I’ve noticed is that there are a lot of Spanish speakers in South Bay. I should start learning some Spanish.

Alright, that’s all for now. I’m hoping to do more blogging in the next few weeks now that I’m a little more free. More to come, thanks for reading!

Start of 2013 Blurbs.


Instead of taking a nap (I’m currently running on 3 hours of sleep) and instead of starting my readings (I have to read 9 chapters for my test this week), I’m going to finally write a new blog post. I actually meant to post one earlier than this, but things have been pretty busy (my birthday celebrations and then catching up on work that I set aside).

I actually had a hard time figuring out what I wanted to write about. Every time I sit down to write something, I would stop after the 2nd or 3rd paragraph because I don’t have a ton to say on the specific topic (please send me suggestions *cough*). So I’m going to write up a bunch of blurbs today (anything and everything that is currently on my mind).

New Phone. New Beginnings.

So I lost my phone earlier last week (my old Windows Phone). Although it was upsetting, I ended up getting a new one the day after. Galaxy S2. The seller said it was BNIB (brand new in box), but it was clearly used (had some scuffs), and he gave me a Blackberry charger (didn’t notice until after). Oh well, I bargained the price down pretty low anyway ;)

It’s been awhile since I’ve used an Android phone.. almost a year. The thing is, I didn’t really take advantage of my data plan last time. Oh, and that phone was still on Gingerbread. The point I want to make is that Android has made so many improvements to allow customization. I had no idea you could use custom launchers w/o a flashing custom rom until recently. I was initially frustrated with the settings and the crappy default apps that Samsung provides (Contact sync is also terrible compared to WP). Things got better once I started installing basically every app created by the GO Launcher Dev Team.

The issue I’ve been facing is really bad battery life.. I barely do anything (have 3/4G turned off all day) and the battery life is <30% by the end of my day. The phone is also extremely laggy (I’m unsure if it’s just the model clashing with the OS, or if my device is a defect..) Either way, it’s annoying. Despite the WP experience on my Focus being waaaay slower than what it is on WP8, it was always pretty smooth (I’ve never faced lag). But then again, WP has automatic app management (you can only have a maximum 5 apps running the background).

Overall though, the phone is an upgrade for me. In a way, it’s good that I lost my phone so I don’t have to deal with WP7/8 fragmentation, lack of allowing default programs for certain file types, lack of good quality apps, etc.

So why not iOS? Easy. No widgets, annoying default things you cannot change (i.e. you need to type in your password whenever you want to download/update apps).. It’s the ICON interface that bothers me. Difficult to find your apps. Overall, it’s much more smooth than Android, though, simply because of the way processes are handled when they crash (hahaha).

Anyways, I feel like I’ve talked about this in a past blog post. : / Sorry for the repetition.

School.

So how’s school? Winter term just started. I just recently handed in a few of my assignments, and wrote my first major test (the reason why I stayed up and had only 3 hours of sleep). Work is piling up, so I’m going to start hermitting in my room (or the library) more. Luckily I only have 5 courses to worry about this term (I haven’t had a 5 course workload since first year).

So my elective is also a ton of fun. It’s called Soundtracks in Film. We analyze the background music in movies. Our weekly assignment is to watch a movie. We get to watch Inception. Awesome right? Great prof, too. Although he assigns a little too much reading for my taste. It’s MUSIC 246 if anyone’s interested.

School/Studying Tips

I was going to make a dedicated post for this, but it might not be very long. We’ll see.

1. Actually read over the notes you took after class everyday. This way, you can ask about anything you missed or are not sure about in the following class. It helps you stay caught up in the course.

2. Taking Notes (as a visual learner). So this really varies based on the kind of lectures your profs do.

  • Slide based: Annotate directly on the PDF files. Not sure about Windows, but on Mac Preview, you can add the Edit shortcut. This helps you add annotations and such to PDFs. Choose the Text icon to add text annotations (It’s the dotted box with ‘Aa’ inside). Unless the prof draws a lot of extra diagrams, it’s a LOT less effort to type in your extra little notes than writing them in. Plus, you save $$ on ink + paper. 
  • Board Notes: If it’s a math/physics course, I highly recommend pen & paper. If not, use a note taking application like Evernote or OneNote. Evernote is an amazing product that allows you to organize your notes into notebooks, sync them across all your devices, and more. I’ve personally never used OneNote, but I’ve seen some people use this as well. I am highly against Microsoft Word or Google docs as you cannot really get the 2-3 window pane view and extensive organization that Evernote provides.

3. Study by yourself. Working in groups is good for assignments and projects and perhaps understanding concepts taught in class, but it can end up being very distracting. Especially if you have friends who browse Reddit or Youtube every 30 minutes.

4. Bring snacks to school. Stop eating at the crappy school cafeteria or the overpriced nearby restaurants. Make your own lunch, or bring snacks if you have a 3 hour lecture.

5. Take advantage of office hours and ask questions. Don’t leave it til the end, and be assertive. Profs are busy, you are busy, but don’t just let go on the fact that you’re confused about stuff taught in class. Email the prof if anything. There’s also Piazza for online help (discussion forum system) but not all profs use it.

Man.. I should really take my own advice sometimes. I was a lot more keen in first year, but it’s rather impossible to keep on top of your work if you also want a decent social life.

My Blog and Some Cool Stats

So lately I’ve been getting a lot of traffic from prospective students and first years. For those unfamiliar with WordPress, if you click on a WordPress search result from Google, I will get information on what search term you used. I had 2 hits for “waterloo coop elisa lou” yesterday. So. It’s getting kinda creepy/awkward :P I feel very weirded out when my friends bring up that they’ve read my blog. It’s a very awkward thing. It’s not that I am completely different in real life compared to how I talk on this blog (or maybe I am!?) .. but I still very much consider my blog to be a place for me to rant and complain and share my feelings ‘anonymously’ (even though I have my blog URL on most of my online profiles now).

Anyways, I’m happy that this blog has been helpful/inspiring to many people. I hope to continue posting useful content (not sure if this post was very useful :P).

PS. For those interested, I’ve updated my resume! It actually looks a little empty.. I was actually contemplating on writing up a complete new one that’s just a single page, but I haven’t had the time.

Jellybean & WP7


Image

(Image taken from official Android site, adorable btw)

Android 4.1 (Jellybean) has been out for a bit, but I finally got the update on my Xoom tablet. Here’s my critique so far:

They claim that it is smoother, but on the Xoom, I experience some lag here and there. Ice cream sandwich was actually a lot more smooth, but still better than Honeycomb which was really laggy.

Google Now: Impressive smart searching. I haven’t used it to its full extent yet, and it’d probably work better when I’m travelling.

Improved widgets: I love it. Now, if you want to place a widget in a location that’s already occupied, the icons move away to other locations on the grid (if they fit) automatically! And yes, they are now resizable (actually I think they had this in ICS too but I’m not sure).

There are some better animations across the OS as a whole, and there has been another font change. I can only think back to the font debate we had back when I was working at Lookout.. whether to use Roboto, Droid Sans, or our own custom font. Now there’s another to worry about for JB. Oh, and this issue is back: http://code.google.com/p/android/issues/detail?id=23863 (facepalm)

Other than that I don’t see very many differences. There -are- a lot more new things you can do in terms of development though, which is exciting news. I’m glad that more apps are being built on tablets, some with impressive UIs, too.

Image

(Taken from official Samsung website)

On the topic of different OSes, WP8 is coming out soon. I realize that I never did a review on my new Windows Phone that I bought about 2 months ago. So I got a Samsung Focus 1 (I thought it was the Focus 2 for the longest time..),  I got it used for mid $100s, compared to ~$400 full price.

Why WP? I believe I was in a huge WP craze at the time and I vowed to get one after seeing its ‘metro’ UI and its ease of access to social media. The deal with Win Phone is that there aren’t a lot of models out there, so many updates are being pushed frequently. Unfortunately all the current WP7 phones out there cannot get a full Win8 upgrade when it comes out. We’ll get the UI but not the core features. A little disappointed when I found out about it, but oh well. I still love it.

The other cool thing is that because Windows 8 will also be following metro, many more developer shops are looking into WP development. It’s an exciting time for sure : )

The UI is very smooth, and I have barely experienced lag (A friend of mine who has the Lumia 900 has commented that his phone is not as smooth as mine). Multitasking is easy, accessing Facebook / email / your other faves is awesome via pinning your apps to Start. In terms of customizability, WP is definitely better than iOS, and on the same level as Android. Pinning is equivalent to widgets or icons for Android, except that scrolling is vertical on WP. In Win 8 though, they’ll add the ability to resize your tiles (can’t wait ;)).

Now the interesting thing is that WP lets you stalk people very , very easily, through the central application: People. You can sync all of your Twitter, Linkedin, Facebook, etc contacts. Selecting any contact shows you your call/message history, and there is also a compressed news feed based on that person. You can also pin that person to Start for easier access. Creeped out yet?

Diving deeper into syncing contacts, WP has the ability to ‘link’ accounts together. i.e. Bob has a twitter and a facebook that used different emails. WP suggests to you that Bob Twitter may be the same person as Bob on Facebook. You can easily link them so they are just 1 single contact, and when you want to talk to Bob, you can select from all the various social media (whatever’s appropriate) to contact him!

Music playback is easily accessible from the lock screen, sharing photos takes a few seconds. Battery life is amazing. Note that I don’t have a data plan, but my wifi is on at all times. My phone usually lasts 2 days before it needs a recharge. Note that I don’t call for long durations that often (usually <15 min calls).

It seems like I’m promoting WP7 right now, but I’m really just pointing out all the built in features that WP has ;)

Now, for the things I -don’t- like.

I’ve had a lot of issues with setting alarms on it and actually waking up. Alarms at max volume for some reason is not as loud as normal music playback at max volume. I’ve missed a bunch of 830 classes because of my very quiet alarm.

So the obvious workaround would be to download a separate alarm app. Unfortunately, WP doesnt allow you to play music in your app if the app is not opened in the foreground. Eventually I just settled with really loud and annoying ringtones, and my alarm on my tablet as backup. I’ve never actually owned a phone that doesn’t allow you to set music as alarms (ie. only allowing ringtones.. which is unfortunate)

Another issue I’ve had is that during calls, if I get a push notification, the phone is no longer locked, so my face starts touching random buttons like End or Hold Call. It’s annoying, but it’s something to get used to.

The other main issue with WP is that there is a very small app store. All the ‘essentials’ are not available, and cool apps are usually introduced to iOS and Android first wayyyy before it will ever be introduced to WP7. I’ve been bringing around my iPod during outings just because I want to use Instagram. *sigh, when will the day come?

As a user, it may be very difficult to get accustomed to the common layout schemes used in most apps, as they are so much different on WP compared to other OSes. For some apps like Foursquare, I actually wish they follow the same design as the other OSes, but typical iOS and Android layouts can be very difficult to mock due to the available templates given to WP developers.

Without going into too much rambling, I definitely recommend WP for people who love reading feeds and sharing stuff via social media. :)

The Issue with Compatibility


I think I’m on a roll today, I’m feeling very reflective. Or maybe I’m just trying to avoid what I’m supposed to be doing today – catching up on work. I had to work from home on Friday since I recently caught a cold. It was a bad idea for me to go out so much yesterday, as it kept raining; yet today it’s beautiful and sunny. I think San Francisco is trolling me hard.

Anyways, it’s nearing the end of the term (well, 5 more weeks) and I have to decide on a work term report and technical presentation milestone topic. Wait wait. What? Well, I have to write a report based on something I learned at work. It’s a requirement for Waterloo co-op. I didn’t have to do it last term since they changed the curriculum, and I have to do 3 in total. I also have to do a TPM, a technical preso early next term. More on it here.

At first I was thinking of doing something extremely basic, but still technical. Android Apps & Version Compatibility. It’s definitely a problem that I run into from time to time at work.

I guess for those already in the mobile space, it’s something pretty basic and straightforward, but it’s a problem that you cannot forget about.

To sum it up, in order to create Android apps that support down to 1.5/1.6, the earliest public versions of Android, you need to do a lot of workarounds, especially for design. Ice Cream Sandwich is the latest version, and only a small handfull of phones are running it. In fact, about 1.6% of all Android users are running ICS. This is a stat based on access to Google Play (Android’s new name for their Marketplace), and you can read more here.

Now let’s compare it to Android’s competitor – iOS. More than 66% of iOS users are running iOS5 as of early January, according to this article. This is a huge difference! The reason for it is pretty straightforward – Apple makes iOS, and testing only has to be done on a small handfull of iOS devices to check that iOS5 can run properly on them. iPhone, iPad, iPod touch, and all of the legacy versions of these devices. So, less than 20 devices. And this testing can be done within the company, there is very little difficulty in doing the testing because everything is internal. Continue reading