Tuesday, May 07, 2013

AT&T Hackathon in LA - Social Good.

It was a pretty day in Los Angeles. I know it might be very like the day the people in California could have every day, but for the people from Indiana, this place is like Haven. Not a single day was too cold that made me feel annoying for the last year after I came here.

With the big support from my pregnant wife, and her sister Lei, we made it there by noon at Sat. As usual, the start of whole thing is the most difficult part, since people needs to know some other people first, then make a team, while it became more difficult for me when I was late. I guess most of the people already had a team with someone. The feel of boring filled right in my mind, I thought maybe created a "Making A Team" iPhone Application would be my answer for this hackathon. At the moment I almost prepared to start my application, Sam's session about Touch Develop took full of my attention. This was the moment my fun started.

Updated (Tue May  7 17:46:35 PDT 2013): 
        I just read this from AT&T Development Website, it shows no description for my project, can this be more humiliate?

Touch Develop is a friendly UI based programming tool based on cloud made by MS research team. It works like LabView from NI, programmer could just click and drag piece of code to their programming diagram. While its coding syntax is more like visual basic or javascript, so people who has VB or C based programming skill won't be scared by this new adorable toy. As the moment programmer adding or deleting pieces from their diagram, the cloud service will automatically sync with the server, so the programmer won't lose a thing if any hazard may happen. The cloud idea works pretty like Google Chrome system, or Google Drive, programmer's work will be saved without notice, while there is a log always there for checking change in the future. Then, the overall best feature is this script project could be exported as a Windows 8 app and Windows 7 app, so it works generically to make two apps for one piece of time spent, it's a such time saver.

I made a colorful and beautiful game for kids. The game gave the kid N x N matrix, distinct numbers from 1 to N*N are randomly positioned in the matrix, the kid could exchange two adjacent number by swiping. The game will count how many swipes the kid did to make the numbers in the matrix in order.


Initial Matrix:
2 5 4
3 6 8
7 9 1

One Step:
2 5 4

3 6 8
7 1 9

Final Matrix:
1 2 3
4 5 6
7 8 9

From the computer science vision, people could use the similar idea from selection sort, choose the smallest unsorted element from the matrix, make several swipes to put it in position. While, the kid could make it with fewer swipes if he/she knows a little about recursive programming (LOL...)

The kid could also choose if he/she would like to share his moves onto his/her facebook wall.

The whole project took me a whole day. 3-4 hours working on the GUI, since every number in the matrix has to be draw on the board by precise calculation, the position and size of each number are calculated based on the size of matrix and the size of screen. 4-5 hours working on the User Interactive, so the kids could swipe numbers with their single little finger. 1-2 hours working on Social Network Integration. So kids could share their game status on their facebook wall.

Above all, this project could be used as an extendable library for building two dimension matrix blocks,  which means the programmer could define any size of matrix based on the calculation of my algorithms. Also, my algorithm checks the distance of each swipe, it will make a swipe of two adjacent numbers if and only if the kids make appropriate swipe.

The following is the screen shot of my app.

No comments :

Post a Comment