====== 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 ====== * 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. * Course is finished! Thanks to all participants. Check out our Facebook community at https://www.facebook.com/groups/lut.tech/ with further news about Code Camps and published team apps! Feel free to put up your own app publication announcements, cool photos and other stuff in there as well. * **NEW** Please give feedback about your developer experience! [[https://www.webropolsurveys.com/S/2ABDA8541FE3E785.par|Click HERE]] to access the Jolla developer feedback survey. * **NEW** Get extra points for the course by publishing your application at https://openrepos.net/ . ====== 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 | [[http://1drv.ms/1dkcSoW|Welcoming presentation: What are Code Camps?]] \\ {{:jolla2014:open_data_code_camp.pdf|Theme Lecture: Open Data}} | Jolla Public Presentations | [[http://www.youtube.com/watch?v=fH9aAn5rGA8 | Phone Device Deployment Tutorials]] | Coding | Presentations complete: Winner announced | ^ 12:00 | Lunch | Lunch | Lunch | Lunch | Closing | ^ 13:00 | Tech briefing: Sailfish OS \\ ( {{:jolla2014:lut_sailfish_codecamp.pdf|Slides}} + {{:jolla2014:lpr-weather.tar.gz|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 ^ | [[jolla2014:group1:start|Group 1]] | Kinnostive | Otto Laitinen | Tatu Virta | Teemu Huovinen | Tatu Huttunen | | [[jolla2014:group2:start|Group 2]] | Nottingham Traffic & Parking | Ramya Narayanan | Zainab Ifeoluwa Matemilola | Vitalii Poliakov | | [[jolla2014:group3:start|Group 3]] | SunPower | Baptiste LOUIS | Stefanos GEORGIOU| Alexandre DE MASI | | [[jolla2014:group5:start|Group 5]] | Automated Tutor | Sangoboye Fisayo Caleb | Ahmed Iqbal | Rohan Nanda | NGO Manh Khoi | | [[jolla2014:group6:start|Group 6]] | Easy Tourist | Victoria Palacin | Maike Schmidt | Vlad Cristea | | [[jolla2014:group7:start|Group 7]] | Rate My Place | Chandra Satriana | Md. Mohaimenul Hossain | Alifia Fithritama | | [[jolla2014:group8:start|Group 8]] | Glow Weather | Kalle Kareinen | Rasmus Halsas | Lassi Riihelä | | [[jolla2014:group9:start|Group 9]] | StarEvents | Caterine Ocampo | Dorine Petit | Petro Vizhevskyi | | [[jolla2014:group10:start|Group 10]] | BusRoute | Behdad Soleimani | Fitsum Kiros Tsegay | Alireza Adli | | [[jolla2014:group11:start|Group 11]] | Fütböll Gibestive | Esko Naski | Lassi Lääti | Valtteri Mehtonen | | [[jolla2014:group12:start|Group 12]] | Coastaldefence | Jussi Laakkonen | | | | \\ ==== 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** * Finished your wiki page and linked it to this one. Use [[dotnet2010:grp3:start|this]] or [[android2010:grp16:start|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 this poster to the wiki) * Email has to have topic [JCC2014] Group X (for example: [JCC2014] Group 2) * Include just links to the files in the email. Upload the actual files to your wiki page. * Each member in your group **IS REQUIRED** to give feedback about the course as part of the course requirements. [[https://www.webropolsurveys.com/S/2ABDA8541FE3E785.par|Click HERE]] to access the developer feedback survey form. * Get extra points for grading by publishing your application at https://openrepos.net/ . ====== 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: {{:jolla2014: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.