Tuesday, November 29, 2011

Samsung Galaxy Projects Review - class 9

VIA is an Internet applications development course introducing to mobile web applications. This is the VIA class number nine report.  

This time we had one to one discussions. We have reviewed all fourteen projects. The overall findings are very positive. The teams are working and making progress. But we have found also some problems, which can be improved.

Some of the team members are contributing more and some of them less in all teams. There is always one person contributing a major part of the code. These are the leaders, they need to take the initiative and delegate certain tasks to the less active team members. This way everybody will contribute and more work will be delivered. Everybody in the team needs to contribute.

Many students were complaining about getting stacked on some weird problem. This is typical situation in programming and I have tried to persuade the teams to immediately report the problem. There are many PhD students and other teams who may have faced a similar problem and can help immediately. The problematic code as well as good and polished parts of the code need to be shared. This is the main reason why we have started our forum. We still have to learn how to work in a larger team and share the experience. The excuse for not asking a question is most frequently: "I do not want to be considered a fool asking a stupid question".

I need some help or advice how to unleash the activity and create an atmosphere of collective knowledge sharing. We need to stop spending time finding a solution for non-documented or ill behaving code. Any advice?

Next we have realized that some of the teams are really working hard producing a lot of code, but without dropping a line of progress or documentation. This is also a typical geek behavior, which is sometimes great. Some people really work hard and produce enormous piece of code, but very frequently the code needs to be later rewritten. I have requested to start the blogs as a space for recording the work items, as a space for planning the next steps, to not lose the focus. Only some of the teams are doing a good job. Reporting and planning is a key activity in many companies. They use many different special programs for tracking the development. We need to learn the art of planning and reporting.

Only few of the teams are using github or other RCS system for archiving code. Some of the teams use zip files – no, no, no. This leads to mess, it is difficult to find the latest code, this leads to lot of mistakes and misunderstanding in the group of programmers. We have to learn to use the proven practices and organize the work properly.

Some of the teams have tendency to add more and more features to their applications. This is also one of the bad habits of the novice developers. The opposite, constant search for the simplest solution is the right direction. It takes sometimes very long time to distill the simplest UI or the simplest code, but in many cases customers appreciate simplicity.

Overall, I think, we are doing great job and I am looking forward to see the first apps running. Keep up the good work. See the projects in detail.

Monday, November 28, 2011

New position in our department

Czech Technical University, Faculty of Electrical Engineering, department of Cybernetics is looking for an advanced web applications developer.

We are planning to develop new Internet presence for several departments and many research and industrial projects. This involves a design of a large CMS with high level of interactivity and presence at social networks. We are aiming also at mobile and tablets. We are offering a full time or part time job for an experienced, creative and hardworking web java and CMS programmer. Any experience in creating visual content including text layout and formatting and the graphical interface development will be appreciated. This is a great opportunity to work in an innovative academic environment with high level of independence and encouraging experiments. The job is good match for recent graduates and can be combined with some of our MSc or PhD courses. If interested send an email to libuska@ci.felk.cvut.cz.

Wednesday, November 23, 2011

Media Lab supports education, research and startups.

The Czech Technical University Media Lab Foundation supports students from Czech technical universities in three directions: scholarship to support study at foreign universities, advanced research projects and recently also seed money for startup. Media Lab is actively raising money from Czech industrial partners. 

Once a year Media Lab organizes workshop to present the results of the supported projects to public. We have again met all the supported students last Thursday. We saw fprojects from various fields. Two teams were working in the local Automaker Skoda on a new methods for 3D presentation. The project researched new methods for virtual presentation of the cockpit equipment and real time 3D virtual presentation. Both team worked in Mlada Boleslav in Skoda research headquarters. Foundation also supported Tomáš Siege student of the Faculty of Electrical Engineering to take part in Berkeley summer course in mining and modeling of neuroscience data. He has presented his follow up research of equipment helping the Parkinson’s disease patients. This year for the first time the Foundation also supported a startup oriented stay in PlugAndPlay Tech Center in California. Peter Somlo was the first one enjoying the entrepreneurial atmosphere in Silicon Valley. In his presentation he has explained what he learned from the courses and how he has joined one of the startups during his stay. The easyWall team was the second who were incubated to PlugAndPlay during this summer. They are the winners of the last series of the eClub. They won with the easyWall project but after discussion with VCs in Valley they have dropped it and currently they are starting a new project in the field of TV for education Meta. During the workshop we have also voted for the best project. The winners were Marek Votroubek and Monika Svedirohova. They have presented a mobile robot for rough terrain. They brought the robot with them for the presentation and explained the very interesting and innovative design. Great!

Wednesday, November 16, 2011

Samsung Galaxy Apps Development - class 8

VIA is an Internet applications development course introducing to mobile web applications. VIA class number eight is here. 

This was the fourth presentation about the Internet apps design. Filip has concluded a series of four preceding presentations of the web application design by putting it all together. The presentation started with repeating the server client paradigm, then he has listed various HTTP based server APIs. Filip is a strong believer of REST therefore he has spend quite some time explaining its advantages and simplicity. REST API is also the selected API style for our app skeleton, which is published on github. The validation, serialization and de-serialization and other processing are common in all web designs. Many different frameworks are helping designers implementing and unifying these routine pieces of code. We have chosen SPRING one of the most popular frameworks for Java. The SPRING configuration for an Eclipse web project is very simple and it saves a lot of coding. Filip has used the content negotiation, URI templates, message convertors HTTP method conversion and validators. The presentation ended with the discussion and demo code of the networking from the Android SDK. We have not managed to get to the C2DM communication during the class, read it in the presentation. Many code examples. including a simple Android app sending and reading text to and from GAE are available for cloning from github. Our sample code is not using the original Google RPC API, we are betting on a modern Java REST based code. Thanks to SPRING it is also very simple and high quality code. We believe that our code is combining high efficiency and simplicity. Enjoy it and let us know if you find any problems or suggest what needs to be improved.

See the presentations

Next Thursday I am getting ready with Filip to talk to all teams in one to one meetings. We would like review the stage of the applications development. I want to understand how the teams selected the minimal feature set. I'd like to see how far they are with the implementation. We will check the blogs and the weekly reporting. We also will be ready to help solving possible problems. I hope, we will see some early stage applications already.

Sunday, November 6, 2011

New projects - eClub

Entrepreneurs Club is bringing together students enthusiastic about new technologies, innovation, cooperation and startups. eClub introduces the best entrepreneurs, marketers, technologists and vcs motivating and inspiring students to start their own projects and businesses. 

We had the first round of presentations in the eClub,  check the videos. We have 8 teams presenting their projects, similarly as last time. The proposed projects are all Internet applications, some of them are addressing the mobile market. Here is short introduction of the projects:

Helpdesk team is proposing a mobile/web application. The client allows users to take a picture, save the GPS location and add a comment or question. The collected information is send to an operator. User gets the reply to mobile - simple easy to understand.
CloudCardz team wants to make the business cards exchange easier by scanning the QR code with mobile phone. Simplification and exchange speedup of a personal information using cell phone is a great idea.
WebDop has the ambition to help users to follow their friends easily on all social sites they may use – not simple but very useful.
An early version of SetYourSchedule is already used by some business and the author wants to make it more general and offer it globally.
Favorite connections is a public transport app. It has already strong competition but the team is betting on new features and additional know-how in their design.
I like the idea of the Boring-o-meter. It is a simple moving hand standing in front of the audience. The hand shows the crowd happiness collected through cell phones. If we use it in the next eClub session we definitely will call it happiness meter, there is nothing boring in the eClub…
ConTutor team wants to help all students of foreign languages. The app helps finding a tutor, give him a rating. It also handles payments. Get a friend for foreign language conversations – nice idea, very helpful.
The last project is focusing on 3D business people trying to find easier and cheaper ways using 3D-SaaS apps. Very demanding but it also may be very rewarding.

All teams tried their best to introduce new ideas. They have another few weeks to improve ideas before the final presentation. The jury will vote for the best teams and the Media Lab Foundation will award the best teams with a scholarship to help them to turn their applications to real offerings.

We already had several interesting speakers in the eClub this year. We met successful entrepreneurs from Silicon Valley Hubert Palan. Vitek Valka has explained how he has developed one of the best stores with photos PixMax. Jan Matejka gave us introduction to soft skills. Tereza, Vojta and Pier gave us some insight to Silicon Valley incubators. We continue next Monday with Ondrej Bartos presentation. Join us!

Friday, November 4, 2011

Samsung Galaxy Apps Development - class 7

VIA is an Internet applications development course focusing on design of mobile web applications for students. VIA class number seven took place last Thursday. Half of the semester is behind!

Presentation number seven was about databases. Tomas Barina prepared an introduction of the database technology for web servers. He has reviewed the SQL basics and explained some of the specifics of the NoSQL database technology. Mainly he has focused on the Google App Engine data services: datastore, memcache and blobstore. New datastore with five 9s is the recommended choice. Then he continued with some APIs recommendations, there are two java choices JDO and JPA for GAE. Large part of the session was devoted to a sample code. Tomas has shown how to set the database, write the basic CRUD operations and how to test the code using a REST client and datastore/viewer. Samples of the memcache usage were also explained with some comments about efficiency.  The whole presentation is giving complete advice on how to configure and use persistence in GAE.

See the presentations

The next session will put all three presentations together. The result will be a simple code for a web application running on a Galaxy tablet. The native client will display an entry field for name, surname and date of birth. The user will fill-in data and save them on GAE. The next “activity” screen will read the data from the cloud and display it. This final application will complete the web apps how-to. The whole code will be published on github.

We had two interesting contributions in discussion forum. Adam send a post showing how to use WiFi instead of the USB cable for the Galaxy tablet during the development. Very nice and useful, no wires cluttering the table. The second contribution describes an API for the university information system called KOS. Tonda put together sample code for authentication and data access. This is the starting point for all teams working on applications requiring the schedule and other data from KOS. Michal has published description of a small game on his blog.

I have reviewed the teams development sites to check the activity. I have found good and  interesting progress. Happy meal team produced nice wireframes for their application.
Car share has developed lively video showing authentication, great job!

Conclusions: Some teams have made great progress. It looks like some do not like documenting. Some of the teams need to wake up and begin working. But overall, I thing, we are doing great job!