Monday, April 28, 2014

Project: Walk [Your City] Web App Team 01

Tag Line:  Discover the MOST popular point of interest near you…The Mobile Walking App.

Problem This App Solves:  This app makes it easy to find different locations of interest from different location APIs.  With one keyword search you can filter through the Yelp and Google results to find the location of your choice.  In addition, the WalkScore rating is also displayed for each result listed.  This will help you identify places that are easy to walk to, by the given walkability rating.  

How Does This App Work:  This web-application works by taking the keyword and throwing it into a Google Places and Yelp API.  These APIs are tapped using url requests and the responses received is JSON objects.  We then parse the JSON objects for the information we are looking for, place name, address, and rating, and  then create Java Beans for these objects.  We also tap into the WalkScore API, using the same methods described above, and take the WalkScore data and update the Java Bean location objects.  All the back end server code is done in Java using Servlets.  

Future Work:  Currently, we need to implement the Dark Skies API so we can get weather information about the locations.  We also need to implement the "Common Names for Places" requirement from Matt.  We are still a little confused on this requirement and hope to clear it up soon.

Link to the site:

Link to GitHub Repo:

Link to Video Demo:

Link to Usability Test 0.0.1:

Project: Bamboo Mobile Health Weather App

Tagline: Helping ease your pain, be it sun or rain!

The Bamboo Mobile Health app is an application that allows for MS patients to record and store symptom data on a daily basis. Currently our sponsor was greatly interested in studying the relationship between different weather elements, namely temperature, and how it affected the symptoms of MS. We were tasked with the creation of a mobile application that allowed for a patient to log in and be able to compare the severity of their symptoms with the temperature of their location.

Our app allows for a user to sign in using their id and either use the gps location of their phone or manually enter a zip code. 1 of two buttons will then be pressed to show either a graph comparing fatigue or stress with weather. This allows for the patients to see a relationship between their symptoms and their local weather.

Future work: Better date range selection. Project tweaks and hand off to sponsor.

Screencast: Bamboo Mobile Health Weather Sceencast

Project: Triangle Startup Team

Project: Triangle Startup Team

Tagline: Blink! Never miss another exciting moment.

The core problem the app solves: Technology can act as a barrier between users and exciting moments

A little bit about how this app works: We use Javascript in order to get access to the user's video device. We then capture images which are stored in a SQL database. The pictures are then retrieved using AJAX. 

Unfinished and future work: We plan to integrate this webapp with LyfeLoop and the Blink app in order to capture and display videos taken with the app. We plan to continue working on the bluetooth connection between LyfeLoop and Google Glass. The website is intended to serve as a precursor for the Blink app as well as the homepage for LyfeLoop.

Working Site:
GitHub repo:

Project: Raleigh Public Record Voter Guide, Group 2

Project: Raleigh Public Record Voter Guide, Group 2

Team members: Matt Baker, Kyrstin Hill, Matt Love, Steven Mucci, Lara Stocks, Joseph Wiggins


The Raleigh Public Record Voter Guide is a page containing information on election candidates for local government offices.  Our web page redesign is aimed to simplify the page styling and integrates with a custom-made php utility to expedite content creation and organization for our stakeholder, Charles Duncan.  Each election season, the Voter Guide is created and tweaked manually through its hosting WordPress environment.  The solution we are providing will allow reuse of a CSS file for each new Voter Guide, as well as allow an author to populate a form which generates XML dynamically for each candidate to be featured in the Voter Guide.  The website links to custom CSS and JQuery/Javascript files to render user-friendly accordions and candidate pop-ups.  The php utility is a standalone app where a user inputs standardized candidate information into a form.  The output is a quick-and-easy XML template which is then convertible to a usable HTML format for the Voter Guide pop-ups.

Unfinished and Future Work:

A more secure backend is definitely warranted.  First of all, anybody can access the custom php utility.  A user can also submit any possible file type where the only use case is for an image file type.  Some "Edit Candidate" functionality would also be useful within the utility.  Future work for design would be best decided by doing official Usability Testing on this site.

Working example site:
PHP tool:
Webpage with embedded video:
Direct URL to video:

RPR Voter's Guide Team 1

Tagline: Improves the user experience to Raleigh Public Record’s voter’s guide and also enables easy searching for candidate profiles.

The core problem the app solves:   It allows the user to browse for candidates easily by offering  search options and filters the profiles. It modifies the landing page, candidate profile list, and the individual profile page and presents it in a visually appealing manner.

A little bit about how this app works: We used HTML, CSS, and JS  in the frontend to work on the visual aspects of the deliverable. The backend used an AWS EC2 server running a LAMP stack. The backend API pulls data from a MySQL database, and produces JSON response objects. The implementation is a RESTful API created using mod_rewrite to redirect all incoming requests to the Apache2 server to a PHP page which routes the request to the appropriate functions to generate and return the correct data.

Unfinished and future workWe did not have a chance to create a web based interface for making entry about candidates in the database. Currently, if the administrators wanted to add new information, they have to manually do it through the database. If we had time, we would work on creating a simple web based interface form that will let the administrators add information about new candidates directly to the database. We also need to make 

Walk Your City 2

Walk Your City Group 2

Team: Kavaruss Coleman, Aaron Pope, Julius Scotton, Xavier Primus, Alex Wang, Yoonsoo Park

Walk your city is a project to try to get a city's population to learn more about the city they live in through walking. This application finds local points of interest such as restaurants, parks, museums and shopping malls. It uses Google maps to navigate, as the walking option avoids highways and dangerous roads without sidewalks. We also made calls to the website to obtain weather information, ensuring the user has prior knowledge of weather conditions. The main map is displayed, with clickable markers, along with a points of interest drop down box (top right). The points of interest in the box are weighted by Google reviews, and a yelp review appears for the selected location in order to give the user the best possible experience.

The application works best with GPS enabled phones or modern browsers, as they allow the device to provide its geolocation. Geolocation simplifies the process, allowing the user to directly find a destination by searching by type. Otherwise the user has to enter a starting address.


Project: Raleigh Public Record Visualization

Tag Line: Wake County Data Visualization to Identify Trends in Our Local Community

Problem This Solves:  Allows Raleigh Public Record to quickly find trends within the Free and Reduced Lunch program

How the App Works: We used D3, CSS, HTML, Javascript, and jQuery to create an app that would visualize data. 

Future Work: A link to allow users to embed the graph in other documents, ability to hide the charts when you are done with them so the buttons become toggles, perhaps a slider to move the data, upload new data as years progress, ability to pick which variables that you would want to see compared to each other.

Project: Improved Understandability and Usability of Wake County School Lunch Data

Improved Understandability and Usability of Wake County School Lunch Data

Tagline: Data provided in excel/pdf files by Wake County converted to JSON, CSV, and TSV formats and visualized.
Team:  Ashleigh Miles, Nicole Sands, Sergio Poblete, Chung Beverly, Sam Henry & Kaleb McKinnon
Clients:The Raleigh Public Record
Details:[gitHub] [Screencast] [Site]


The Raleigh Public Record is a nonprofit, non-partisan news source that reports and documents the news of Raleigh, NC. Because data heavy news coverage like the Record's can prove difficult for many people to understand, the Record enlisted the NCSU Computer Science department's aid in creating unique and informative data visualizations. The resulting visualizations could be used in an applicable article right now, and could potentially serve as examples for reporters writing future articles.In this instance, the Record requested that the volunteers from NCSU scrape and create visualizations of public data from the Wake County Public School System website as well as from the North Carolina State Board of Education's Department of Public Instruction's website. The data available from those two websites is all in Portable Document Format (PDF) and Microsoft's proprietary Excel Binary File Format (.XLS), which are not optimal formats for creating online visualizations. In response to this roadblock the team from NCSU converted the data from PDF and XLS formats into CSV, TSV, and JavaScript Object Notation, an open standard that is much better suited to this project. Finally, the team created several visualizations examining the relationships between: a school's minority population and its needy percentage (the percentage of students at the school who are enrolled in the free and reduced lunch program), the needy percentage of an individual school and the passage of time, and individual school districts and their demographic information. We gave access to the data and visualizations, as well as the source code for our JSON Converter on our website. In the future, we would like to see the ability to allow users to select what data they want shown with what axis on different types of graphs, which would then be automatically constructed for them.

Working Website:
GitHub Repo:

Project: Bamboo Mobile Health Data Visualization

Create a data visualization dashboard. Our team was tasked with creating a way for patients to view their symptom data over time through a calendar heatmap. Currently the website allows the patient to click through their four symptoms and the calendar updates accordingly. Our client also wanted a way to view the data linearly and we decided to go with a line chart. Currently the line chart looks messy but in the future we would like to add buttons similar to the ones on the calendar to show and hide the different lines. In the future we would focus on getting the line chart working to show and hide lines and also finalize a color scheme for our calendar. We would also like to get the Google login functionality put into the website but currently there isn't a way for us to select a specific Google spreadsheet just by login.

Working website:
Github repo:
Screencast: Bamboo Mobile Health Visualization Screencast

Friday, April 25, 2014

Assignment: those review and quiz questions mentioned Wednesday


Those review and quiz questions I mentioned Wednesday are ready. You can find them on the notes page under the javascript and jquery topics.

Recall that review questions are marked only for participation (any answer is acceptable). Please feel free to collaborate with fellow students on these questions.

Quiz questions are graded, but because of the limited time remaining, we will drop the lowest of your two scores on these new questions. In sum then, you need only answer two of the four quiz questions from this semester for full quiz marks.

Monday, April 14, 2014

Reminder: critiques today

We'll get the rest of the teams: 

Two with bamboo

Two with rpr voters guide

If time permits and it makes sense we'll also do the startup team again. 

Best, professor Watson 

from Web Class @ NCSU

Friday, April 11, 2014

Jobs: Summer Interns - K4Connect (Scott Moody)

---------- Forwarded message ----------
From: Tom Snyder <>
Date: Tue, Apr 8, 2014 at 4:04 PM
Subject: Fwd: FW: Summer Interns - K4Connect (Scott Moody)
To: "Benjamin Watson" <>, "Gregory Dunko" <>

Hi Ben, Greg,
Know any promising developers with interest to work for a successful entrepreneur for the summer?  Scott's a great guy, but will drive the team hard.  Looking for dedicated people that want to grow personally and build something.  I can introduce them or they can reach out through the K4 website.

From: Scott Moody <>
Date: Tuesday, April 8, 2014 at 3:28 PM
To: Veena Misra <>, Terri Lomax <>, "Paul Cohen." <>, Tom Miller <>, Tom Snyder <>
Subject: Summer Interns - K4Connect (Scott Moody)


I hope all are doing well, only a month to go until “break”, although pretty sure that does not count for much!

As I think most of you know, I co-founded another company last October called K4Connect (  Although we are not disclosing too much information about the company at this time, we are basically a user-focused software platform company focused on bringing together multiple and often incompatible “smart” things/devices into a single cohesive system.  While our software platform will play, over time, across multiple end markets, our focus to date has been on the technology.  Similar to AuthenTec, wherein the idea of a fingerprint sensor is easy for people to understand, but much harder to implement in a user friendly way; so too is home automation, easy to get, hard (and expensive) to implement.  While not much of an engineer myself, I highly value good/creative engineering/design upfront to solve problems with the focus always on the end user (the consumer of our product, no matter the buyer).  Thus, why our team now consists of four developers, a designer and yours truly.

We plan to hire more, but we’d like to augment that this summer with a set of paid (not much!) interns – two software development, two marketing.  The rough descriptions of what we are looking for are posted here:  It should be a pretty interesting experience, as we’ll not only put them to work on some interesting stuff, but I’ll also make sure to involve them in some of the more startup oriented activities, like working up investor pitches, pitching to investors (if/when they visit us), drinking beer when the investor kicks my butt (only for over 21 interns!) and tracking the competition/market (which so many do so poorly at).

Please feel free to forward this directly to any students that you think might fit and I’ll work to post on the job boards.  Our offices are in downtown Raleigh, so the good news is those beer joints after the investor meetings are easy to get to!

Best to all.


from Web Class @ NCSU

Tuesday, April 1, 2014

Assignment: project proposals

Remember to send your first draft project proposals by Friday. If you at having trouble reaching your client let me know! 

Details on proposals under the details link on our course site. 

Best, Ben 

from Web Class @ NCSU

Guest: Lance Cassidy of DXlab and startup weekend pitches tomorrow


A reminder that Lance Cassidy of Dxlab and startup weekend will visit us tomorrow to critique startup weekend pitches. Elevator pitches are a very useful part of your computer science career as the industry becomes less monolithic, more nimble. 

Part of your course grades includes posting your own critiques to the forum. Let's mark these with #startup. 

Some advice from Lance: 

For the 60 second fire pitches we really want to focus on articulating the problem and not necessarily the solution. They'll have 60 seconds to say who they are, what problem they want to solve, and how they want to solve it. There's many public speaking things students can work on like good posture, conversational tone, not walking around a lot etc. There are many ways to pitch - it really depends on what students feel most comfortable with. The only way to find this out is through practice.  Usually the first time you pitch it goes for 2 to 3 minutes and then it takes some time to shave off extra bloat until you can get to 60 seconds.  I strongly recommend they practice getting it down to 60 seconds because we'll have to cut them off :)

Here's some of the judging criteria for the final presentations. These are different than what's expected for the 60 seconds pitches but it can give students a good sense of what type of ideas they're looking for. Let me know if you have any other questions!

The Startup Weekend judging criteria is broken up into three sections. Teams are judged according to the following 4 criteria (weighed equally):


  • Business Model
    Can this idea make money? Is there positive customer growth or revenue? Is there a customer acquisition / rollout strategy? Has a revenue model been defined and is it realistic? Is the idea/team ready for capital and execution? Would you invest in this company at this point?
  • Customer Validation
    Did the team identify customers (demographic, location etc)? Did the team get out and talk to customers? What is the value proposition to customers? What channels of communication are used? Product/Market fit?
  • Technical – Execution
    Is there a functional product ( the case of an app, did they build one)? Were architecture diagrams and API signatures included? Which services did they integrate with? How much of the product is running on a real server with non-sample data?
  • Design – Execution
    Does it have a professional look and feel? Does it deliver a compelling and captivating user experience? Is it memorable? What key insights were gathered over the weekend to go in this creative direction?

from Web Class @ NCSU