Keren Gu's Picazón

Sharing and Scratching Itches Everywhere


How I Became a Spotify Premium User

It’s been 1.5 years since I started using Spotify. Over the past 18 months, what has Spotify, a brand, a software, a logo done to me to turn myself into a premium user? I was never like this before. I would never pay. This is a quest to examine “why I’m paying $9.99 a month”.

When it all started in August 2011, I was browsing the web like any other day. Found this new green music software and thought I’d try it out. Like many new things that we try, we try them with friends. I chatted a couple friends and made them download as well.

On my first day, I starred 2 songs that I was crazy about, both by Adele. Then looking back at my history, I was “favorite-ing” songs on almost every other day for the next week — normal behavior for new users. Then I was adding new songs every week, and probably listening daily as I worked on my problem sets. Still, I wasn’t paying a penny, and MIT’s super speedy internet was free. (Well, included in the tuition.)

At this point, a number of my friends has already left Spotify. Reasons included: Continue reading



Warmer – A Progress Update

(If you are new to Project SmartCart, get an intro here.)

As Techfair approaches each day, SmartCart needs to meet up to the expectation.

I have written many things I’ve learned about UI and UX, something I’ve never cared for before this project. Though the things I’ve learned and realized about UI are obvious to those with experience, this might be the same reason why I haven’t written about the backend of SmartCart, or about developing for Android.

So here is an overview of everything else about SmartCart.

Top Level Overview

As shown on the SmartCart Poster, SmartCart is comprised of 1) the cart, 2) interactive display, 3) barcode scanner, and 4) Square. The Square connects to the interactive display via the headphone jac; the barcode scanner (Motorola CS3070) communicates with the interactive display via blue tooth; the interactive display, in this prototype, is a Motorola Xoom tablet, running Android 4.1.2; and the interactive display will be mounted on the shopping cart.

The Android App

The work that I’ve been doing so far is developing the app that connects it all. ADT and Stack Overflow has made my life incredibly easy. In fact, I’ve been shamefully playing for most of this winter. The app consists of an Activity for each functionality, such as Find and Checkout. Then there is the SmarCart’s Model, which consists of User/Session model, and item model. Third, there is the database of items. Lastly, the UI, which is being handled in android’s /res. I wouldn’t call this MVC pattern exactly, but it’s about the same idea and it works.

Problems I’ve encountered

The main problems that stressed me are connecting the components of this project. There are a couple of connections: Tablet – Barcode Scanner, Tablet – Square, and Tablet – Cart.

Tablet – Barcode Scanner: Months ago, I purchased a cheap Barcode Scanner on Amazon that promised to work with computers. When I got it, it worked with Windows very quickly, but it would only work on OS X Lion and not Snow Leopard. Not a big deal. Then, one day, I realized… it can’t power itself. Tablets also don’t supply power externally. I didn’t have to try, I knew it wouldn’t connect to Xoom. While in China, I ordered CS3070, 10x the price of the previous Scanner. Will try it out next week, and it better work.

Tablet – Square: For some reason I thought integrating with Square would be trivial. Another thing that I left till (sort of) the end, and it turned out to fail me. With my limited connections, I was able to find a friend of a friend who works at Square. From that friend of a friend, I was able to get an advice from the expert, on prototyping. I found out that there is no integration available, at this time. Oh well. But by listening for mic-input, I will be able to detect card-swiping. I’m not going to write my own square register, but at the very least, I will be able to simulate the experience.

Tablet – Cart: I found a cart. I have the tablet. I imagine one will stay on top of the other.

At this point, most of the Mainland work has been done (implementing most of the features), and I’m excited to go back to the states next week to put things together. Failure at this point is not an option.

Dear readers of my terrible technical description, I’d love to hear your thoughts on my first real-world project, and how you would do things differently. Or if you would like to hear more.

(This post has not been proof read.)

1 Comment

Bad UI is Bad UX

Over the past 3 weeks, I have been working on Project SmartCart. The section that I’m working on is creating an Android App that assists the every need of the shopper. The app is the torso of the project. Then comes the shopping cart, the barcode scanner (disaster), and the square (difficulty).

By the end of week 2, most functionalities are done. This includes implementing the backend database, adding items, recommendations, finding items, coupons. I was feeling good, but not really. When I used the app, it felt like shit. More descriptively, it felt like an app from the 90’s. It mainly looked bad.

The perfectionists/professionals of UX said that UX is not UI. But when you have terrible UI, you have terrible UX. When testing my app, I didn’t mind the hassel of typing in pseudo barcodes like “111111”. (That will be fixed when I get the barcode scanner, I believe.) But the solid color edges, the sharp corners, the lack of transition, and fades, the solid background.

I know nothing about UI. This is my first app, but I can’t allow it to look like the remains of some previous century.


Introducing Project SmartCart

It is Week 3 of 6, that I’m in China, spending my winter break working on my project. On Day 4 of the week, I finally got back to working. I opened up eclipse early this morning but didn’t eventually get to work till noon (…slacker). For the first 3 days of the week, which included the final day of 2012 and the 2 followed that, I spent at home, sick (… my excuse). I’m still sitting here with a box of Chinese Kleenex, but I’m getting better =)

So I think it’s time to finally introduce “Project SmartCart”. Even though the idea has been around since Summer 2012, while shopping at Shaw’s, I am still having trouble figuring out where to start talking about it… So here’s my attempt at a pitch:

The shopping experience at supermarkets and wholesale stores are far from seamless — we search through the unorganized aisles for groceries and then face long aggravating checkout lines. We are bringing technology to the ordinary shopping cart, presenting… SmartCart. SmartCart solves all the above problems and more. It tracks all items in the cart, let you search items in the store, gives recommendations for products, allows instant checkout, and much more. SmartCart will become the shopping experience of tomorrow!

If you are from the NE part of America, you might think of Stop&Shop. This is better than that. Just imagine being able to swipe your credit card on your shopping cart and leave.

Currently I’m working on this project for Techfair, a place where students show case their project and startups come to recruit. This project isn’t technically very challenging on a demo-scale, which is why i’m working mostly alone with the support my of friends on different subjects.

I’m just glad that I’m back to work. More on SmartCart as I make progress.


Sharing Personal Data with No Fear

This post is inspired by a NYTimes article.

Something worth pondering is a method that could allow companies like Facebook to share their data without revealing any personal privacy.

There are a lot of problems with both sharing and not sharing Facebook’s (and other companies alike)’s data. As users, we don’t want people to look into these data and find things pertaining to us individually. As scientists, we want transparency and the release of any research data for verification. For the sake of science.

While working at the Mobile Experience Lab (@MIT Media Lab) with Avea, a mobile company of Turkey, on methods of identifying “power users” in their mobile network, our research ability was severely limited by the lack of real data to analyze. Our collaboration also became very tedious. The workflow included generating random data in order to test our algorithm. Yet we would have nothing to look at, no patterns to find once our algorithm is ran.

However, in a pure theoretical point of view, there need to be a way to allow scientists to analyze user data without the ability to pin down a particular individual.

On a very high level, I see two different ways to do this. One is to eliminate information such as name, address, phone number when these data are being sent for analyze. Another is a method that restricts researches to analyze individual data, only allow experiments to run on batches of data. Any attempt to hone down on a specific person or small group of people will result in inaccurate data.

As for the first suggestion, there is a clear problem. For most of us, our name, address, phone number are our identifications. But for others, they could be in a company of 1 or few, thus their company became another identifying. This also extends to their network, their selection of “likes”. Their statuses may reveal things about them. By this argument, we soon eliminates almost all information about a person, and therefore sharing no data. It is clear that this will not work.

As for the second suggestion, there could be hope. If we can add a virtual layer between data, and researchers — a layer that encrypts or smudges the data so it’s impossible for us, or our programs to align individual data and find anything particular about a single person, or a small group of people, then we will be close to fixing the tension between companies, users, and scientists.

I haven’t thought enough to figure out if this is possible or not. I could totally be bluffing.

Leave a comment

A note on Big Data

It’s clear that there has been a huge hype about big data these days. There are thousands of articles written on Big Data. Tons of money are invested into Big Data startups and technologies. Etc etc. I’m sure you can see it all by simply googling big data or following ‘big data’ on VB.

Over the summer, after first working with some “big data”, I too, was thrilled by the idea of being able to store and analyze all the imaginable data there is. But after following and learning more about the topic for a while, I realized, big data is no different from just, data.

Big data is nothing more than, regular data, except a lot of it. The only problem introduced is not enough time. We can’t wait for days before making an investment decision, or customer recommendation  The obvious solution is to analyze faster. And right now, the solution most people are implementing is MapReduce, Hadoop, etc, etc. So obviously, in the field of research, there will always be work to be done to speed up the process, to find faster algo and better database, methods or hardware.

But there is so much more to data than new tools and technologies. There is what we can do with them. The answer to that question, has not really changed due to the rise of big data. We will need to continue find value in data like we used to, and analyze data like we used to, on top of new technologies.

My point: companies like IBM and Oracle, and Apache could continue their work on supporting big data technologies and all that, but others need to do nothing more than upgrading their technology (by learning and hiring people with similar experiences), and continue finding problems and solving problems the way we’ve been doing, with the same ML algos or math models.

What are your thoughts?

Leave a comment

App Developing: Preserve The Great Singalong Moments

While watching the delayed-live-broadcast of The Voice finale, I had an Ah-Ha moment.

I got an idea for an app 😉

The Ah-Hah! Moment

But before I pitch my idea, I’ll give a sense of the setting: it was around bedtime in Beijing, and I just finished working for the day, in bed. I don’t follow the Voice or anything, but for the past week in China, there really isn’t anything on TV besides HBO and AXN, which plays TV shows like … the Voice, and very old CSI episodes.

So the show was building up the suspense for who’s going to become America’s next top… I mean, winner of the Voice, there were a lot of singing by the finalists, songs of different genre, and famous people like Bruno Mars were popping on and off the stage. Wait,

I need to add a crucial detail that led to my moment: before turning on the TV, I was doing something that’s not exactly my pre-bed ritual, but more of a celebratory act from the hard work I did… (It’s really hard to describe. It’s one of those things that you do, when… ) Okay fine, I’ll admit, I was solo Karaoke-ing with Tunewiki, on Spotify, in bed. It was like rewarding and relaxing myself.

Anyways, while watching the Voice, I was like, “man, I wish I could singalong to these songs, all of which I don’t know the lyrics to.”  I could, listen to the lyrics and google it. But I had already closed my laptop, and it takes so much energy and will power to open it again. Even if I had googled it, by the time I match the lyrics, the song would have been over! Not worth it.

I just wished that my phone could maybe listen to the song, and figure out the name (like that app, Shazam), and then google search the lyrics for me.

Okay, I suck at telling stories, but that was my AH-HAh moment. I know I kind of ruined it, but lets move on now.

The Idea

That idea up there, that is SO easy to make! (Can I make it? Probably. Probably not anytime soon. But it’s soo possible!)

I’m sure I’m not the first person to think of this, so I looked it up. I found Android Karaoke, which appears to have a terrible description of itself and its use. First, purple isn’t a People-color. It’s not classy. It’s weird to have the entire app purple, despite purple being my favorite color. Second, the app claims to “Kill waiting time at aiports, bus stops, etc”. Do you see what’s wrong here? Can you imagine yourself, or anyone, waiting at the airport with your headphones on, but practicing your “singing talent”, OUT LOUD? Not cool. Don’t do that.

The Pitch

Instead, my proposal, (lets call it, The Greatest Singalong) will let you, and your friends, singalong to songs at the bar, or parties, or even just watching The Voice at home. All it takes is a simple click of a button, the app will first act like Shazam, (we can even call the app, Shazam & Sing,) and then fetch the lyrics for you, to your palm. It won’t scroll, so you’ll have to do that yourself, but I guess it could scroll if you want it to.

Advanced: It would be cool for the app to track, via real time, where the music is at, and pause the scroll of the music accordingly. It would just be your personal singalong assistant.

If there’s an app like this, I’d get one. In fact, there IS one for your Mac: it’s called Sing Along, which based on the review, could be better.