Saturday, October 29, 2011

Samsung Galaxy Apps Development - class 6

VIA is an Internet applications development course focusing on design of mobile web applications for students. VIA class number six (time flies) took place last Thursday.

Thanks to the generous Samsung donation all of us in VIA course work on the same software as well as hardware. The new Galaxy tablets are great and we are all excited. Most of the students are already getting familiar with the new capabilities. Tablets will become their primary target platform. It is great advantage getting the latest technology as soon as released. Especially in this case, tablets are changing the way we will use Internet. Playing with new gesture oriented applications on new screen format, with different capabilities opens new opportunities and ideas. Tablets have an easy and natural UI, but it still takes some time to get acquitted with it. For programmers it is not simple to switch from the traditional UI web design thinking to full screen gestures controlled environment. Of course the hands-on experience is essential. Samsung thank you, the new tablets will open new opportunities.

This time the class was about the Google App Engine. GAE will be our primary server platform. Fillip has done great job, check his presentation explaining high level the architecture, registration process, how to install the GAE plug-ins to Eclipse. One by one the  screen shots with key sequences show how to install plug-ins. The presentation is completed by a simplest java servlet “Hello world”. Next pages are explaining how to use the GAE and how to develop an application along with the GAE administration console main screens showing statistics, logs etc.

See the presentations

All teams should be able to create Android native client and write a simple GAE servlet now. Next class will be about databases. What data services and what modeling and persistence APIs are available at GAE, how to configure the database. The hands on part of the presentation will show how to code a simplest servlet width doGet() and doPost() methods reading a storing text string to database.

The discussion forum is also starting to take off. Some good questions and post with coding and development hints are showing up. My ambition is to demonstrate students the power of the group work, the advantage of sharing and helping to each other. Crowd sourcing paradigm and social networks grew for the same assumption and are today the base of the most successful apps. Cooperation and communication are essencial.

I am looking forward to see the progress, therefore my next task is to check how the teams are reporting the development progress. I can not wait to see first apps "activities" on the tablet screen. Join us, look at presentations and ask questions if something is not clear. Help us improve!

Tuesday, October 25, 2011

New Samsung tablets at CTU

Samsung has donated 50 Galaxy 10.1 tablets to support mobile apps development at CTU. Samsung President and CTU Medialab representative have signed the contract in presence of the CTU president.

Fantastic, first of all, this is the best news for my students of the Internet Applications Development course (VIA). The tablets will be the main development and testing tool in this course.

Why tablets? It is clear that tablets will gaining bigger and bigger share. I believe, a tablet application saving the data in the cloud will dominate the future Internet. They will be used in many segments of the industry including universities. In general the mobile devices will generate large, probably the largest part of the Internet traffic. Students need to learn the art of these applications development.

What are the steps in our project? I’d like to walk students through the whole development cycle of Android apps storing the data on Google App Engine. We started with product specification and currently the we work on product valuation. At the end of the course each team has to demonstrate working app. In my view the key difference to other theoretical courses is the problem oriented approach and hands-on experience.

I am looking forward to see the first team showing the tablet with working application. Track the teams development steps on their web pages or you can read my regular reports, click the VIA tag.

Saturday, October 22, 2011

Mobile web applications development - VIA class 5

VIA is an Internet applications development course focusing on design of mobile web applications for students. VIA class number five took place last Thursday.

This time the class was about the native Android applications development. My PhD student Filip delivered the presentation. With his long experience in developing web client applications he is the best to introduce students to the art of designing web apps. He has started with creating the building environment. Our preferred IDE is Eclipse with some plug-ins. Filip has shown how to do installation and configuration of the guild system.  The first sample Android application can almost entirely generated by the Google Android plug-ins. We expect the students to install all the tools and plug-ins and show the first application running in the emulator next week. Tough job, the emulator is pretty slow, but alas, we have a surprise for all the students. Wait till Tuesday for the oficial announcement … Next, the teams will have to select github or source control system (SCS). All the projects will be open source and we will use the SCS for a sample code to quickly jumpstart the development.

Next Thursday we will continue with introduction to server side - Google App Engine. The goal is to have a simple sample code showing a web native application on Android with CRUD operations on GAE. In two weeks from today I expect students to demonstrate running sample apps saving and reading data from the web. These apps will be the basis for further development. We will do our best delivering the easy to understand presentations and consulting to help to all students overcome difficulties and make all working.

Using the computer science terminology: the teams concurrently work on validating proposed projects. One of the teams already pivoted, or more correctly, they have completely changed the application. Instead of building another social network they are planning to create a tool for remembering points required for getting credits and participation on seminars, very valuable for all students. It is the Foko team, the site is still not updated, wait ... They need to ask colleagues what exactly it is students need to record at school. In my view this is the right right attitude: something doesn't work let's switch to something different 

Keep the fingers crossed! The schedules are aggressive! The teams need to deliver working apps. Stay in touch, suggest …

Friday, October 21, 2011

Mini Seedcamp Prague

I have met lot of  interesting people yesterday at the Mini Seedcamp in Prague. Seedcamp is an early-stage micro seed investment fund and mentoring program. I was happy to be a mentor. In the morning we saw all twenty participating teams giving very short presentation. In the afternoon mentors created groups of three and had one to one discussion with selected teams. Discussions were limited to 45 min. I had a chance to talk to five teams. During the sessions mentors tried to analyze teams proposals, find weak points and suggest further steps. We have finished the day in the nearby Friends Coffee House.
Working with teams was lively experience for me, I always enjoy to think how to move the company ahead how to define the next steps in their journey to market. As usually many of the companies were very technologically and less business oriented.
I liked very systematic approach of the Indoors startup. They provide the indoor location capabilities. Subjects are localized using the wifi and installed application.  My second favorite is the Qminder from Estonia. Beside of wearing a lovely stocking cap they introduced a great app to line people to a queue with smart phones. Nice, simple, easy to understand. The only drawback, it is easy to copy.
It was a fantastic event. I had the opportunity to meet many important people from the local as well as international startup community. During the breaks we had time enough for discussions and networking. I am also hoping there will be more than two startups from the Czech Republic next time. Great event we need more of them in Prague!

Tuesday, October 18, 2011

Google developers day Prague

Great, my students are presenting on stage of the Google Developers Day in Prague. Vrata is showing the first version of a helpdesk application for Android phones. The application is designed for mobile users to ask company operator to help them in their job. They can attach a photo to a question as well as the location. The operator is answering using a web application. The complete list of questios is stored in Google App Engine. The operator can see the pictures and the location is displayed in the map. Great work. It still requires some tuning, but I am sure it will be very useful for many mobile users.

Monday, October 17, 2011

Brainstorming in eClub

We had a discussion about what to do in this run of the eClub about two weeks ago. One of three requests was to organize a brainstorming session. Let’s do it today. Brainstorming theme is: web applications. Jan Matejka will have short presentation about emotional and social intelligence and just after he will help us with brainstorming. We are relatively large group, which may generate a lot of ideas. To enable easy and quick idea entry I have prepared a simple entry form on our web. Each idea will be labeled with a name to allow add comments or further suggestion. The author can edit the original idea. All ideas, comments or suggestions will be collected in a read-only spreadsheet. I leave the idea entry form and the spreadsheet open even after today meeting to let you think about them. I hope, the preferable way of generating an interesting idea is to stand up and shout ... Remember we are not going to do any evaluation during the session. The main purpose of brainstorming is to generate weird ideas and then extract the best essence.

Last time I have also asked who is going to enter the competition for the best projects. I saw a decent number of hands. This is a signal to go ahead. What are we going to compete for? It will be a scholarship 5-15k CZK per month for 3-5 month in the summer semester. We will award the first three teams. The winning teams will be selected by an international jury after presentation just before Christmas. You will also win an experienced mentor, who will help you turning your idea to a viable product.  We will organize monthly meetings between you, your mentor and the representative of CTU Media Lab Foundation to evaluate the progress. The meeting may decide to stop the funding in case of a poor performance. The presentation tryout is next week. Get on stage, you’ll get a valuable feedback before presenting in front of the jury. All of you intending to enter the competition register in, please. The registration link is on our home page.

What are the rules? The entering team must have at least two members and one of them must be a university student (PhD students are OK too) in the Czech Republic in the academic year 2011/12. Members who are not students are not eligible for scholarship. We also have prepared a simple summary how to present on our web pages or you can have a look at a presentation by Lucie from last year to understand what is the trick.

I have created also the “Interesting links” page with some good startup know-how sites. At the button of the page is a comment window. Use it to suggest your favorite links, please. You can also send me a suggestion by email. Let’s try to select the best links.

Prepare for nest week presentations, join us for today brainstorming!

Saturday, October 15, 2011

Mobile web applications development - VIA class 4

VIA is an Internet applications development course focusing on design of mobile web applications for students. VIA class number four took place on Thursday.  

We have finished the presentation of all the fourteen projects. All teams have created home pages and short description. The links are at our VIA projects pages. We can roughly break the applications to three categories. 

Scheduling applications enhancing and simplifying access to our very complex university information system. 
  • The Manager Calendar group is betting on the idea of publicly informing about participating or skipping a class. 
  • The Via-Gra team offers a calendar/task application alerting users about school important deadlines. 
  • Eager programmers are offering combination of courses schedule with entering notes and links to study materials. 
  • The Day Team suggests almost the same idea.  
  • The Vychodniary project is designing aggregation of the study materials from slightly different point. 
  • Fellow Me team wants to improve searching for students and university stuff using all information on net. 
  • SocDev team is trying to design a students oriented project management application.

The second largest group of applications leverages the power of social applications. 
  • Party Pool and Foko Team have very similar idea helping to find events based on location and time. 
  • ShareTimeProject is trying to help friends sharing activities through their calendars. 
  • Car share is more or less a general application automating hitch hiking. 

These applications are much more ambitious than what can be achieved in a school project. To create the critical mass of users nmaking the application useful is very difficult and takes lot of time and money. My suggestion is to design these ideas as Facebook application with the mobile UI.

The last group contains all the other applications. 
  • Happy meal wants to provide a list and scoring system for the university canteens. 
  • A great idea is an online presentation evaluation proposed by Via Team. 
  • Jamata team is offering games to kill free time.

Great, we have fourteen teams with a plan for an application. Next Thursday we will show how to install Eclipse plus plug-ins and explain a sample code. It will be an Android native application with single widget and a Google App Engine backend to store the entered data on server. Basically, we will use the Google suggested code. All will be placed on github to let all students easily download the initial source and start to experiment. 

The next deadline for all teams is the October 27th. I expect the teams to present validation of their applications, explaining their experiments proving their apps ideas. This also will be the time to limit the feature set of all apps and set realistic targets for the MVP.

It is a lot of work in front of all of us, but I hope it also will be a lot of fun. 

Monday, October 10, 2011

We are meeting teachers.

My university is constantly looking for new, talented students. Thanks to Google for sponsorship the Open Informatics program is organizing a meeting with secondary school teachers today. We want to show what we do and also get a feedback. My part is to explain how we use Google tools in education. I must admit, I am little bit biased. I have worked for Google for more than two years and I was using all Google tools on everyday basis.

My presentation will show how I work with students in the Internet Application Development (VIA) course. Students will learn how to invent, validate and develop a simple Android tablet application in one semester. Hands-on experience is the only way to learn how to work and act while developing an application. I am encouraging students to use the Agile software techniques in projects. Team members, except at school, are not in one place they need to communicate, use the Internet. Consequently collaboration is the most important skill students need to learn.

To achieve our goals it is very important to choose the right software tools. They need to be simple and support daily project activities. Clearly, all the tools need to support cooperation. We have chosen the Google Apps education edition. In my opinion it offers superb tools for cooperation and group work.

What we use? The VIA home page is hosted on Google sites. The calendar for the class, map and other widgets are included. For project tracking we use Docs and Blogger. I also use quite a lot Forms to run surveys. Some students created their home pages on, some have also chosen Sites. For discussion we use Google groups. Some of the teams use Google Presentation Docs. In the initial part of the project students need to validate the app hypothesis and beside Forms, they used also Google Insight and Analytics. For the development we use all the Android and Google App Engine with lot of introductory staff on Google Code.

Almost all the students entering the course have their private gmail address. This is complicating some of the sharing, administration and access to apps, since they do not use the VIA account as primary. Moving email address is probably one of the most difficult problems.

The VIA course is completely open, all documents and projects are public. I am reporting about what is happening in each class periodically in this blog. We have thirteen projects. I’d like to attract other students and join us. I can imagine, we can use these tools for working with students before they get to the university, we definitely can introduce and motivate them to new technologies. Talk to us. We can also work with other universities and developers worldwide. These are the benefits of great software democratization process on the net. Join or follow!

Thursday, October 6, 2011

Mobile web applications development - VIA class 3

This is the report from the third VIA class. Internet applications development course focusing on development of mobile web applications for students.

It was an interesting class today. Student teams were presenting projects proposals. CoreOfPoodle presented an app to quickly find the neareast cultural events. Eager Programmers team and Dynamic Core team are suggesting social web based application to organize free time. AdusMaraGoust Team introduced Car Share project desiged to search for cheap student travel. DEV-TEAM came with an interesting idea to share class supporting material generated by students accessible through a classes schedule. Sometimes it becomes very difficult to find friends and teachers at the university and the Fellow Me team is trying to make this simpler.

All teams set their home pages and those who have presented provided links to their presentation. Some of the presentations are in Czech but I hope, we fix this soon. All teams delivered good work presenting clearly what is their idea. We will finish the presentations in the next class.

Ok, we have some idea what to develop. But we only have hypotheses for an application. We must validate the proposed apps, make sure someone really needs it. How to do it? Teams have to test the hypotheses on their colleagues.

One way of doing it, is to create a paper mock up of an applications and test the interest, for example, in the university cafeteria. Asking students what they like, would they download the application, is something missing or what they do not need. All answers should be recorded, presented and then decisions need to be made. Other method is to create a web page, which is just showing a wireframe with some links. Route friends to the web and collect clicks with google analytics. Most frequently clicked feature is important, but be careful, it also depends on the web page layout, this experiment needs to be repeated with different layouts. Other methodology is to create a questionary and ask colleagues about their opinion. Some of you may develop a pdf mockup, with clickable links and run it on Android device to collect users response. The closer we can get to the final experience the better we can estimate the customers needs. In all cases we want to estimate what is the minimum features set.

Almost all of the applications are very ambitious. Some of the applications are only vaguely related to students needs. We will probably need to fix this. Keep in mind that most of the Android market apps are very simply accomplishing one thing with a minimum UI complexity. This does not mean the implementation is also simple. To destile the most important features and create a simple UI is the trick. This is the teams job now! Teams need to focus on reduction of functionality, implementing only what is necessary. This is probably the most difficult task.

The minimum viable products should be available just before Christmas and this is an extremely agressive target. We have to work hard ...

Saturday, October 1, 2011

New eClub season kick off

Last Monday we have kicked off the next eClub season. HubertPalan a Czech entrepreneur from Silicon Valley was visiting Prague and this was the opportunity to invite him for a talk. It was an exiting evening. Hubert did not prepare any detailed presentation but he was sort of throwing around many interesting ideas, advices, observations about his involvement in startups. Quickly the crowd started asking questions and, as usual, the discussion continued in the nearby pub. Great kick off.  We will soon put the video on our pages, stay in touch I'll let you know.

Come and join us this Monday. Help us to form this eClub season. We want to hear you...