Jolla Code Camp - Winter 2014

Code Camp Week: Monday 24.2. - Friday 28.2.2013 Room no: 6218

CT30A9301 Code Camp on Platform Based Application Development (4 cr)

Learn to develop on the new Sailfish operating system and use your development skills to harness open web data from around the world! Challenge yourself and provide useful services to the users: Bus schedules, traffic information, weather.. Can you figure out new, innovative ways to combine the freely accessible data to make new services?
Get more information and get started with developing by downloading the Sailfish OS development tools at https://sailfishos.org/develop.html and read the tutorial at https://sailfishos.org/develop-overview-article.html . You can use JavaScript, QT or Android Java to develop for the platform. We have Jolla personnel arriving to the event, with phones, lectures and tutorials!

News & Notes

Course signup is open! Sign up for the course HERE

Consider bringing in your own laptop.

PERCOM program students - Please also register at the link above! We need student details in order to give ECTS credits at the end of the course.

Code Camp Week

Location 6218 basement computer lab

Course starts on Monday 24th of February at 10:00AM.

First idea presentations are at 5PM on Monday at the LUT beach sauna

There will be a sauna and social event on Monday at the LUT beach sauna, after the project presentations

Project returns at 9AM on Friday (in the Code Camp week)

Group project final returns on the following week (end of week 10)

Monday	Tuesday	Wednesday	Thursday	Friday
08:15	-	Finishing presentations / testing demos
09:15	-	Coding	Coding	Coding	Presentations
10:15	Welcoming presentation: What are Code Camps? Theme Lecture: Open Data	Jolla Public Presentations	Phone Device Deployment Tutorials	Coding	Presentations complete: Winner announced
12:00	Lunch	Lunch	Lunch	Lunch	Closing
13:00	Tech briefing: Sailfish OS ( Slides + Code Example )	Jolla Public Presentations ( 10:00 - 11:00 @ 6218 )	Coding	Coding
14:15	Idea brainstorming and group formation / Coding	Coding	Coding	Coding
17:00	Progress reports at the LUT beach sauna and then sauna!	Coding	Coding	Coding
02:00	Coding	Coding	Deadline style Coding and Code complete

Groups

Group	Application	Name 1	Name 2	Name 3	Name 4
Group 1	Kinnostive	Otto Laitinen	Tatu Virta	Teemu Huovinen	Tatu Huttunen
Group 2	Group 1	Ramya Narayanan	Zainab Ifeoluwa Matemilola	Vitalii Poliakov
Group 3	SunPower	Baptiste LOUIS	Stefanos GEORGIOU	Alexandre DE MASI
Group 5	K.A.R.F	Sangoboye Fisayo Caleb	Ahmed Iqbal	Rohan Nanda	NGO Manh Khoi
Group 6	Easy Tourist	Victoria Palacin	Maike Schmidt	Vlad Cristea
Group 7	Group 1	Chandra Satriana	Md. Mohaimenul Hossain	Alifia Fithritama
Group 8	Glow Weather	Kalle Kareinen	Rasmus Halsas	Lassi Riihelä
Group 9	StarEvents	Caterine Ocampo	Dorine Petit	Petro Vizhevskyi
Group 10	BusRoute	Behdad Soleimani	Fitsum Kiros Tsegay	Alireza Adli
Group 11	Fütböll Gibestive	Esko Naski	Lassi Lääti	Valtteri Mehtonen

Return requirements for groups and the return schedule

On Friday, at the end of the course, you need to have

Five minute presentation about your program (idea, motivation, goals, technology used, what was actually implemented etc.)

Proposed talk topics

Design plan

How you used open data, and which sources

Experiences about the platform

One or two things in the source code that you are most proud of and think that might be useful to others

Five minute demonstration of your working program

Proposed talk topics

The application flow and features

The user experience with the application

Showcase your best features and explain how they are cool or useful

= Total presentation time of 10 minutes

Done your wiki page and linked it to this one. Use this or this as an example

Group members

Idea

Motivation

Features (with screen captures!)

Which kind of technology, platforms, access methods you have used

Some explanatory charts (optionally)

Your project folder compressed and uploaded to the wiki OR a public link to your Git or Mercurial repository

In a week (before 23:59 7.3.2014) send an email to Antti Knutas ( firstname.lastname@lut.fi ), with:

Five page project report on the same themes as your wiki pages. Write more on these themes and also put the content back on your wiki page.

One page poster about your project (see examples from previous years, also upload to wiki)

Email has to have topic [JCC2014] Group X (for example: [JCC2014] Group 2)

Include project source code and the project report document in the email

Also upload these to the wiki, only the report, poster and binaries

Considering uploading your app to the store for extra points and include a link to your app

Include link to your wiki page in the email

Discussion and the Q&A

Q&A

Q: How to pass parameters to new pages in the stack?
A: http://qt-project.org/forums/viewthread/8769

Q: How to call JavaScript from QML files?
A: http://qt-project.org/doc/qt-5.0/qtqml/qtqml-javascript-expressions.html

Q: How to call C++ code from QML?
A: http://qt-project.org/doc/qt-5.0/qtqml/qtqml-cppintegration-interactqmlfromcpp.html

Q: How can I access WebViews from QML and how can I send data back from WebViews? A: Check out these links:

https://qt-project.org/doc/qt-5/qwebview.html

http://stackoverflow.com/questions/2726609/qt-4-6-adding-objects-and-sub-objects-to-qwebview-window-object-c-javascrip

https://qt-project.org/doc/qt-5/qtwebkit-bridge.html

http://stackoverflow.com/questions/4975658/qt-qwebview-javascript-callback

http://stackoverflow.com/questions/18212799/how-to-add-a-html-element-to-a-qt-webview

Q: How can we manage the alignements?
A: Start from these links:

http://qt-project.org/doc/qt-4.8/qml-positioners.html

https://sailfishos.org/develop-firstapp-code.html (start reading at contentHeight: childrenRect.height )

http://qt-project.org/doc/qt-4.8/qml-righttoleft.html#text-alignment

Q: How we can access map view?
A: Check out the webview documentation here: http://qt-project.org/doc/qt-4.8/qml-webview.html . With that you can embed online maps.

Q: How to deploy on a Windows machine?
A: First follow the instructions at http://youtu.be/fH9aAn5rGA8 If you are using your own laptop, or a Windows machine, you need to manually configure your USB ethernet adapter IP to 192.168.2.15 and subnet mask to 255.255.255.0 before you can connect successfully.

Q: Google maps on Qt platform?
A: http://code.google.com/p/qml-google-maps/
After logging in with your Google account, click “Source” and then click “Browse” to get the source code

Q: How can I access WebView content in the QT 5.1 platform?
A: Check out these links:

http://rschroll.github.io/beru/2013/08/21/qtwebview.experimental.html

http://qt-project.org/forums/viewthread/23788

Also, here's a SailfishOS project example that implements the example from the previous forum: qtwebkit-test.tar.gz

FAQ

What are recommended skills/requirements for code camp ?

Programming experience(I hope you all have some…if not..then you'll have one during this code camp) and of course learning INTEREST is the most.

Can I prepare to Code Camp ?

Yes. During code camp week we will brainstorm a software idea, design it and code it. Getting good ideas might sometimes be hard and thinking about different ideas before code camp makes it faster to get into coding part.

I have an exam in Code Camp week ?

You are free to go exam, but code camp in intensive course and idea is to focus coding during the well, so it is recommended you prepare to exam before the code camp week.

Grading ?

Grading 1-5 from

Idea and presentation of the Idea in wiki: 25%

Coding of the implementation: 25%

Presentation: 10%

Code Camp Spirit: 20%

Code camp report 20%

More ?

If you have questions about code camp send email to Antti Knutas (firstname.lastname@lut.fi).

Helpful Links

https://sailfishos.org/

https://sailfishos.org/develop.html

https://sailfishos.org/develop-firstapp-article.html

https://sailfishos.org/develop-firstapp-navigation.html

https://sailfishos.org/develop-firstapp-code.html

https://sailfishos.org/sailfish-silica/index.html

Open Data Sources

Public transport timetables and real-time data for Helsinki region

http://developer.reittiopas.fi

Public transport timetables and real-time data for Tampere

http://developer.publictransport.tampere.fi

ITS Factory: Innovation, test and development environment for Intelligent Transport Systems

http://wiki.itsfactory.fi/index.php/ITS_Factory_Developer_Wiki

Helsinki region data portal

http://www.hri.fi

UK government data portal

http://data.gov.uk/

US government data portal

http://www.data.gov/

What is Code Camp ?

Code Camp is a learning and hacking experience. The code camp approach can be defined as a collaborative learning setting that aims to promote profession-oriented skills. In code camp, the term camp refers to a situation where students assemble and stay a while together. The term code refers to coding, i.e. writing computer programs.

Registration

Registration link is on the front page.