Saturday, April 14, 2012

Paper 10: Mobile Application Development: Web vs. Native

Title: Mobile Application Development: Web vs. Native
Authors: Andre Charland, and Brian LeRoux
Link: http://dl.acm.org/citation.cfm?id=1966989.1968203

In their article, Charland and LeRoux examine the challenges between developing natively for mobile platforms vs. making webapps. Writing a single application across multiple different platforms requires extensive knowledge of multiple SDKs and programming language, while web based development is severely limited by the speed and uses of Javascript. The physical configuration of the hardware can also vary greatly between phones and platforms.
In the end, the authors concluded that the most likely victor between these two methodologies is... neither. Native applications are uniquely suited for applications such as gaming. Web applications, while not useful for high performance applications, are particularly useful for writing applications that run on numerous, even unknown platforms. This characteristic is particularly useful for corporate environments. While this article was written as recently as 2011, it's interesting to note that multiple operating systems it profiled are no longer used regularly for smartphones, including Symbian, Windows Mobile, and WebOS.

Thursday, April 12, 2012

Paper 9: Netflix Recommendations: Beyond the 5 stars

Title: Netflix Recommendations: Beyond the 5 stars
Author: Xavier Amatriain and Justin Basilico
Link: http://techblog.netflix.com/2012/04/netflix-recommendations-beyond-5-stars.html

In their blog post, the Netflix team described how important recommendations are to their business, and how they use them. In the opening section, the authors described the Netflix Prize, and the various improvements that had come out of it. By combining Singular Value Decomposition and Restricted Boltzmann Machines, the winner of the Netflix prize was able to lower Netflix's RMSE of 0.9525 to 0.88.

The rest of the article was dedicated to describing how and where Netflix integrates it's recommendations. As well as the more obvious high-level genrea recommendations, Netflix uses it's recommendations to come up with more specific genera subtopics such as "Imaginative Time Travel Movies from the 1980s". Finally, Netflix stressed that explaining why movies are recommended is key to building user trust.

Thursday, April 5, 2012

Paper 8: Using multiple feature models to design applications for mobile phones

Title: Using multiple feature models to design applications for mobile phones
Author: Clément Quinton, Sébastien Mosser, Carlos Parra, Laurence Duchien
Link: http://dl.acm.org/citation.cfm?id=2019136.2019162

The authors of this paper described their mobile phone application framework, ApplIDE. ApplIDE allows an app developer to design an application once, and target multiple hardware and OS configurations. Using the Eclipse Modeling Framework, ApplIDE can take into account if a phone lacks key hardware such as a front facing camera or GPS, and assemble the relevant modules accordingly. ApplIDE is focused primarily around Android, but also has support for iOS.

The authors of this paper were overall happy with the results. In the future, they wish to add expanded OS support, as well as support for more fine grained decision rules. Overall I found the system incredibly interesting, especially given the fragmented nature of Google's Android platform. I'm interested in seeing ApplIDE's work continue, so that hopefully systems like this man become the norm in the future.

Thursday, March 22, 2012

Paper 7: Security In The Cloud

Title: Security In The Cloud
Author: Gary Anthes
Link: http://dl.acm.org/citation.cfm?id=1839676.1839683

In this article, Gary Anthes discussed several different aspects of network security in a cloud environment. He spoke with representatives from HP and IBM who discussed the security and management benefits of server virtualization. Unlike traditional server setups, virtualized machines can be cloned, migrated, and backuped without the user ever realizing anything unusual is going on.

In the second half of the article, Anthes discussed the difficulties of server side encryption. For example, when a user submits their credentials to log into a server, the username/password database needs to be decrypted first. These constant decryptions can give a performance hit to the sever, as well as make things insecure if the server were to be attacked.

Thursday, March 8, 2012

Paper 6: Automating GUI Testing for Android Applications

Title: Automating GUI Testing for Android Applications
Authors: Cuixiong Hu, Iulian Neamtiu
Link: http://dl.acm.org/citation.cfm?id=1982595.1982612

The researchers of this paper did a two fold study of Android bugs. First, they performed a study to analyze and categorize the most common Android bugs. The second portion of their study was to develop a way to analyze, detect, and test the most common GUI, Android-specific bugs. They used JUnit as their unit tester in the study, and used many of it's built in functions.

The results of their research was highly promising. Their new unit tester did not miss any previously detected bugs, and observed several new ones. The tester particularly was good at finding Action errors, though it wasn't as effective on Event errors.

Tuesday, February 28, 2012

Paper 5: Thumbs up?: sentiment classification using machine learning techniques

Title: Thumbs up?: sentiment classification using machine learning techniques
Authors: Bo Pang, Lillian Lee, Shivakumar Vaithyanathan
Link: http://dl.acm.org/citation.cfm?id=1118693.1118704

Due to the recent emergence of online opinion voting sites such as Rotten Tomatoes, the researchers in this paper attempted to develop a system of using machine learning to express user sentiment. Using their system, the researchers are able to analyze a text-based review for a movie, and determine how the reviewer felt without the author assigning a fixed score. Using these analysis, their reviewing system can determine if the aggregate feedback across multiple reviewers is positive, negative, or neutral.

Their results were incredibly promising, the machine learning algorithm beating all prior algorithms, as well as a simple random search. The one area their algorithm struggled was correctly identifying sentiments in reviews with a "narrative" structure to them. When authors start a review with statements such as, "I went into this movie expecting to hate it", but then end with an overall positive review, the system has issues detecting the true sentiment from their author's earlier stated expectations.

Tuesday, February 14, 2012

Paper 4: MovieBase: A movie database for event detection and behavioral analysis

Title: MovieBase: a movie database for event detection and behavioral analysis
Authors: Tat-Seng Chua, Sheng Tang, Remi Trichet, Hung Khoon Tan, Yan Song
Link: http://dl.acm.org/citation.cfm?id=1631135.1631143

The University of Singapore team attempted to improve methods of cataloging and organizing various video clips. Their sample was based off of 69,129 "shots" coming from both feature films and YouTube clips. Each of the shots were hand tagged into 7 different audio and 11 different visual categories.

Their system offered various different ways of analyzing clips. Based off these analytical factors, the researchers were able to glean various statistics about the differences between feature films and shots from Youtube videos. While the statistics proved useful, the researchers lamented the fact that they had to tag each individual shot by hand. They suggested further research into automated scene tagging as well as social tagging for sites such as Youtube.

Thursday, February 9, 2012

Paper 3: A Web Service for Flexible Integration of Mobile Applications with Social Networks

Title: A Web Service for Flexible Integration of Mobile Applications with Social Networks
Authors: Victor Pantoja, Markus Endler
Link: http://dl.acm.org/citation.cfm?id=2090316.2090320

In their paper, the authors discuss their Mobile Social Gateway service, or MoSoGw for short. The framework is designed to connect to social networks, while tapping into the physical hardware capabilities of the phone. MoSoGw works as an intermediary, between social networks and the phone, letting the two pass context information back and forth.

The framework is designed to work with multiple social networks such as Facebook and Twitter. The MoSoGw server application uses standard web technologies such as MySQL databases, while handling the data transfers using HTTP requests and JSON. The sever application is written in Python, while the Android client is written in Java.

Tuesday, February 7, 2012

Paper 2: A mobile peer-to-peer system for opportunistic content-centric networking

Title: A mobile peer-to-peer system for opportunistic content-centric networking
Author: Ólafur R. Helgason, Emre A. Yavuz, Sylvia T. Kouyoumdjieva, Ljubica Pajevic, and Gunnar Karlsson
Link: http://dl.acm.org/citation.cfm?id=1851322.1851330

In their paper, the authors discussed their middleware solution for connecting multiple devices together on a peer to peer network. They focused on the Android platform, and coded their system in Java. While the devices all connected wirelessly together, they required a wifi base station.

Their research focused on the battery power drawn via their system, and the logic behind how to determine which phone should function as the base node. The developers concluded that Bluetooth would make a much better implementation, though the limited bandwidth would pose a challenge. The researchers plan to look into cacheing technology in order to improve their system.

Thursday, February 2, 2012

Paper 1: Lessons from the Netflix Prize Challenge

Paper: Lessons from the Netflix Prize Challenge
Authors: Robert M. Bell and Yehuda Koren
Link: http://dl.acm.org/citation.cfm?id=1345448.1345465

In 2006, the movie renting website Netflix.com launched a competition in order to improve their movie recommendation engine. While no one achieved the target of a 10% improvement over their existing engine, a team out of AT&T labs as still able to come up with several significant improvements. The team was able to come up with four main improvements:
  • A new method for computing nearest neighbor interpolation weights that better accounts for interactions among neighbors.
  • A neighborhood-aware factorization method that improves standard factorization models by optimizing criteria more specific to targets of specific predictions.
  • Integration of information about which movies a user rated into latent factor models for the ratings themselves.
  • New regulation methods across a variety of models, including both neighborhood and latent factor models.
The article was very interesting overall. Rather than trying to come up with a completely new, more efficient algorithm, this paper focused on improving existing recommendation engines. It was nice to see a modern, real world example as well, rather than a strictly academic work.