Maemo.org Coding Competition 2012

(Participants)
(Participants)
Line 167: Line 167:
| KhtNotes (A note taking application with ownCloud sync and markdown preview)
| KhtNotes (A note taking application with ownCloud sync and markdown preview)
| Desktop, System & Utilities  
| Desktop, System & Utilities  
-
| 100%
+
| 98%
| N
| N
|-
|-

Revision as of 14:44, 24 July 2012

Contents

Introduction

Welcome to the maemo.org Coding Competition 2012 wiki page! Beginning Monday 11th June, and running for 3 months, new applications for Maemo and MeeGo Harmattan devices (and significant updates to existing ones) will be eligible to enter in this years competition. Whether you are an experienced developer or a beginner on your very first application, we have a category that suits you and your application!

Nokia has generously donated 14 N950s and 11 N9s that we will assign to the winners and runner ups across the various categories. There will also be a community bounty made up of individual donations which will also be shared out amongst the best placed entries.

Entry is free. If there are any questions we have a discussion thread for the competition at http://talk.maemo.org/showthread.php?t=83761

If you are new to the Maemo community, please feel free to check out our introduction page to learn more about us.

Thanks for your interest in taking part, we can't wait to see what you'll develop for us! :)

(NB: The final details are still being ironed out, so the below is subject to change. Keep watching this space!)

Categories

The 5 main categories are for new application submissions:

  • Desktop, System & Utilities
  • Games, Graphics & Multimedia
  • Network & Communications
  • Location & Navigation
  • Other

There is also a category for updated code and functionality on already released applications (inc porting applications from other platforms):

  • Updates and development on existing apps

And finally, there is an extra category specifically for those new to Maemo/MeeGo Harmattan development:

  • Beginners (made up of entries from the above 5 main categories)

Therefore, in total there are 7 categories in the coding competition.

Competition Timeline

The competition is currently scheduled to run for 3 months, starting on Monday 11 June 2012 and ending on Monday 10th September 2012. Competition entries must be submitted by 12 midnight on Sunday 9th September (UTC time).

How to Submit an Application

(NB: The submission site will become live later in the contest, in the meantime please register your participation http://wiki.maemo.org/Maemo.org_coding_competition_2012#Participants)


To enter, you'll submit your application via the competition submission page. This site is currently being prepared and will become available later, however you can view the old 2011 competition site at http://competition.meetmeego.org/. You will also align your entry to one of the judging categories[1] at that time. in addition, you will also need to provide some details for the judging thread, including at least 2 screenshots, a brief description of your application, and an outline of what work you personally completed on it.

Authors who mark their entry as 'beginner' will also have their application automatically entered into the beginner category.

Only applications entered through the submission page will be counted as valid entries in the competition. New participants are welcome to join at any time up until the closing date.

Prizes

Nokia have generously donated 14 Nokia N950 handsets and 11 Nokia N9 handsets and these will be shipped free to the winners and runners up in each category. The devices assigned for each category is outlined below - the winner of each category will have first choice, followed by the second placed runner up, and so on until all devices have been assigned.

  • Desktop, System & Utilities (2 N950, 2 N9)
  • Games, Graphics & Multimedia (2 N950, 2 N9)
  • Network & Communications (2 N950, 2 N9)
  • Location & Navigation (2 N950, 2 N9)
  • Other (2 N950, 2 N9)
  • Updates and development on existing apps (2 N950, 1 N9)
  • Beginners (made up of entries from the 5 main categories) (2 N950)

In addition, there will be share of the community prize fund made up of donations from community members. The split for the community donation collection is still to be confirmed at this time (this section will be updated later).

Donations for the Community Prize Fund

The following list shows all of the donations and pledges made to the community prize fund so far. There is no fixed amount - all donations are very welcome - and will be accepted from now until the closing date of the competition.


To donate via PayPal, just click on the following link and specify the amount you want to donate. https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=FTU62WATF94BW

Please don't forget to include your maemo.org username in the PayPal message to be mentioned in the following list. If no maemo.org username is included, the donation will be marked as anonymous. You can find more information on the donation paypal process (with screenshots) on this post


Our special thanks to the following people for their generous contributions:

Date Nickname Amount (gross) in € PayPal fee in € Amount (net) in € Paid
24/5/2012kojacker50,001,30 48,70yes, 15/6/2012
25/5/2012Wonko40,001,1138,89yes
25/5/2012Anonymous15,000,6414,36yes
25/5/2012Anonymous50,002,8047,20yes
26/5/2012helex50,00 50,00yes, 27/6/2012
26/5/2012ljo60,001,4958,51yes
03/6/2012mrsellout50,001,3048,70yes, 18/6/2012
03/6/2012Anonymous5,000,454,55yes
12/6/2012zwevert5,000,454,55yes
12/6/2012qgil30,001,5228,48yes
17/6/2012bingomion10,000,879,13yes
18/6/2012almamo20,001,3318,67yes
22/6/2012P@t10,000,549,46yes
23/6/2012kojacker, in memory of Gary Birkett (lcuk)50,001,30 48,70yes
28/6/2012ljo60,001,4958,51yes
04/7/2012ZogG20,001,3918,61yes
18/7/2012marxian25,000,8324,17yes
18/7/2012javispedro15,000,6414,36yes
18/7/2012pigling10,000,879,13yes
Totals575,00 (Pledged)20,32554,68 (Paid)

Participants

To help us track entries, please fill in the following table with your application details and progress. If you are unsure how to edit the wiki then please leave a message on the discussion thread and someone will be happy to do it for you :) The details you enter here are not binding and can be updated at any time until the closing date. If you are unsure about a column simply leave as 'TBD' (shorthand for 'To Be Determined') or blank if you prefer. New participants can add their details to the table below any time up until the closing date.

Developer Application Category Current Progress (%) Beginner Entry (Y/N)
nos4A2 (Rohan) google drive client (grive-n900) Desktop 60% Y
M0zilla (Howard) Fennec Add-on Desktop/Network/Communications 10% N
marrat (Marcel D. Juhnke) MeeDocs (Google Docs/GDrive client for N9) Update? 30% Y
Khertan (Benoît HERVIER) KhtBMA (Unofficial Battle.net Mobile Authenticator) Desktop, System & Utilities 100% N
Khertan (Benoît HERVIER) KhtNotes (A note taking application with ownCloud sync and markdown preview) Desktop, System & Utilities 98% N
Tofe (Christophe Chapuis) QSyncDAV (Owncloud/WebDAV sync client) Network & Communications 30% Y
4ndreaSt4gi (Andrea Stagi) Turpial (Twitter/Identica client) Network & Communications 60% N
titilambert (Thibault Cohen) HeySms (Send/Receiver SMS from/to your computer) Network & Communications 70%  ? (First real working app)
hiemanshu (Hiemanshu Sharma) Komedia (Comic Reader for a few WebComics) Other 50% N
chrm (Christoph Maciejewski) DingMee (German-English offline translator) Desktop, System & Utilities 30% Y
bibek (Anand Bibek) 2Do (ToDo list and task manager utility) Desktop, System & Utilities 99% N
microe (Erik Hovland) TimeSaver (Puzzle solver set in a train switch yard) Games, Graphics & Multimedia 0% N
karmaflux (Kurt H Maier) Vault (password & sensitive data manager) Desktop, System & Utilities 5% Y
Shin2_D (Shintu Dhang) Tap 2 Win (Maximum clicks within a limited time wins) Games, Graphics & Multimedia 15% Y
bibek (Anand Bibek) Blob (Integrating WordPress into the existing Blogger client for dual ability) Updates and development on existing apps 95% N
taixzo Saera (Voice command and AI) Desktop, System & Utilities 3% N
ayushkedia (Ayush Kedia) MarbleMaze (ball to reach the goal) Games, Graphics & Multimedia 10% Y
Taziff (Tomasz Toczydłowski) RecZoom (enable zoom during recording) Games, Graphics & Multimedia 100% Y
artohyv (Arto Hyvättinen) & helihyv (Heli Hyvättinen) Suova (Meta Tracker search frontend) Desktop, System & Utilities 10% N
piggz (Adam Pigg) Square-It (Old fashioned game) Games 20% N
rcolistete (Roberto Colistete Jr.) Calculus (calculates limits, derivatives and integrals) for MeeGo Harmattan Other 70% N
sakya (Paolo Iommarini) Lone Wolf for Maemo Games 70% N
ivanph (Ivan Pintado) iMusic Downloader (an app to download music) multimedia/network Y
kunal_the_one (Kunal Parmar) Crazy Chickens game Updates and development on existing apps 50% N
kunal_the_one (Kunal Parmar) Audiobook Reader Updates and development on existing apps 100% N
brahim98 (Brahim CHAOUCHI) FMyLife client Network & Communications 10% Y
swinkels (Slawomir Musial) Nyan Cat. The Game Games, Graphics & Multimedia 50% N
marmistrz (Marcin Mielniczuk) MeeCoLay (MeeGo Compatibility Layer) Other 20% Y
marmistrz (Marcin Mielniczuk) MaeLyrica (Lyrics downloader) Games, Graphics & Multimedia 3% Y
rfeese (Roger Feese) Math Bingo Games, Graphics & Multimedia 5% Y
rainisto (Jonni Rainisto ) Presence VNC with full VKB support for N9 Updates and development on existing apps 100% N
rainisto (Jonni Rainisto ) Easy Firewall for iptables Network & Communications 10% N
rainisto (Jonni Rainisto ) TBD TBD 50% N
jackburton (Brandon Saxe) Tasks Desktop, System & Utilities 8% N
ajalkane (Arto Jalkanen) ProfileMatic Update 90% N
hiemanshu (Hiemanshu Sharma) ZenedMap (NMap GUI Client) Network & Communications 20% N
adityamhatre (Aditya Mhatre) 3d-inator (Make an image 3d using wobble 3d technique. Does not require any special glasses..!!!) Games, Graphics & Multimedia 75% Y
adityamhatre (Aditya Mhatre) Sync yourself (This is for you if you think you can count one minute precisely and exactly in your mind without watching clock.) Desktop, System & Utilities 99.5% Y
adityamhatre (Aditya Mhatre) Thunder Distance (Calculate the distance of lightning from your place) Desktop, System & Utilities 100% Y
Iktwo sh Meemory, puzzle game to test your memory Games, Graphics & Multimedia 100% N
Iktwo sh Sim shorcut remover Other 100% N
draxcp6 Crossword game (working title) Games, Graphics & Multimedia TBD Y
adityamhatre (Aditya Mhatre) Reaction Challenge (First one to tap wins) Games, Graphics & Multimedia 60% Y
adityamhatre (Aditya Mhatre) Whack-A-Mole (U know it..!!) Games, Graphics & Multimedia 60% Y
adityamhatre (Aditya Mhatre) Piano (The name says it) Desktop, System & Utilities 50% Y
fcrochik (Felipe Crochik) GeePS2 (Google Maps native front-end) Location & Navigation 100% N
trx (Svetozar Belic) qmlrdesktop (rdesktop with QML frontend) Network & Communications 30% N
trx (Svetozar Belic) TxPad QML (Total rewrite of Maemo5 TxPad for Harmattan) Updates and development on existing apps 75% N
qwazix (Michael Demetriou) ρcam (raw image capture sοftware) Games, Graphics & Multimedia 30% Ν
adityamhatre (Aditya Mhatre) Rock Star(Guitar App) Games, Graphics & Multimedia 24% Y
adityamhatre (Aditya Mhatre) Tap The Button (Tap the button that moves on the screen) Games, Graphics & Multimedia 90% Y
shwstppr (Abhishek Kumar) Intersect(Communication App) Network & Communications 0% N
cckwes (Wesley Chong) ThrowIn Games, Graphics & Multimedia 100% N
cckwes (Wesley Chong) QtWatermark Games, Graphics & Multimedia 80% N
rash.m2k (Rashad Mughal) TDB Unsure 10% N
Tomx95 (Tomasz Pastusiak) BlockMaster ( or something like that ) Games 35% Y
adityamhatre (Aditya Mhatre) Traffic Signs (All about traffic signs) Location & Navigation 74% N
Halftux (Christian Weniger) Genwall (Iptables firewall gui) Network & Communications 60% Y
MaroonMoon(Muktabh) World Alarm (A simple application to set an alarm in a different timezone than local. It will convert this alarm to local time. Can be extended to TO-DO's etc. No more excuses to miss your foreign girlfriend's b'day!) Desktop, System & Utilities 0% Y
e8johan (Johan Thelin) Contraction Counter (An application to track and predict contractions during labor) Other 90% N
cckwes (Wesley Chong) WifiTrans Network & Communications 80% N
everall (Eddy Alleman) NumboTime (Store 3 variables on a daily basis and watch the evolution of those until today in a graph. Eg.

weight control, blood pressure, morning rest heartrate, body temperature.)

Other 95% Y
IT Expert (Noel Anonas) Trivia game to test about your knowledge in Information Technology) Games, Graphics and Multimedia 40% Y
avis (Alek Terekhov) TriQuick (Game to train attentiveness and abstract thinking). Games, Graphics and Multimedia 90% N

Rules

To ensure that the event runs properly, there are a few essential rules:

  • Only individuals may participate. Companies are excluded from the competition because of equity reasons.
  • If you have coded your app in a team and you win one of the prizes, your team has to designate one person as the winner.
  • Any number of apps can be submitted and elected as winner.
  • Apps must be uploaded as executable including at least two screen shots and a brief description on the submissions website to take part in the election. The applications have to run on default hardware running on an official version of Maemo or Harmattan.

THE SUBMISSIONS WEBSITE HAS STILL TO BE UPDATED. PLEASE DON'T SUBMIT APPS JUST YET!

  • All applications, which are created and uploaded during the duration of the competition and do not violate any laws or copyright will take part in the election.
  • A new application, in the context of the competition, is one which has not been previously developed for the Maemo or MeeGo Harmattan platform.
  • Ported applications are welcome, however only the work of porting will be considered (unless the original program is from the same developer and was developed or extended within the competition timeframe). These entries should include a description of work done during the porting process to enable the application to run on the Maemo/MeeGo Harmattan platform.
  • Already released software must have a substantial upgrade from previous releases to qualify for entry to the 'Updates to existing applications' category. These entries should also include a list of changes the author has made to the previous version.
  • Coding competition entries marked as beginner will also automatically be entered into the beginners contest if they meet the following criteria: entries to the beginners competition must be the authors first released coding project(s) for the Maemo and MeeGo Harmattan platforms, and must have been first released between the competition start and end dates.
  • Entries that are not stand alone software will have to include any libraries or files required to run, or they should be easily available via the normal Maemo.org and Nokia repositories. Clear instructions will have to be provided. In the case of interpreters and emulators copyrighted files should not be included.
  • There will be a feature freeze on entries during the voting stage of the competition. Please limit your code changes to bug fix only for any competition entry release during this period, and this restriction should remain until the end of the vote.
  • Only users of maemo.org who are registered at the time of voting and have at least 10 karma are entitled to vote.
  • There is no legal right to win.

Voting

The voting frontend, the webinterface via which you enter your vote, is the same as for the Maemo Council elections. So you can establish an order among the participating applications indicating your preferences. Thereby, the first choice has the most impact. With following choices the impact gets less and less. The last choice has the least impact.

Counting Votes

After the voting period has finished the votes are counted. The ranking order of participants is determined based on all valid votes.

The tool used for counting the votes is OpenSTV. We use OpenSTV version 1.6.1-1 which can be publicly downloaded from http://packages.debian.org/squeeze/openstv . The openstv executable used is extracted from the *.deb package.

For each category, the ranking of candiates is determined individually.

As general "vote counting system" Fractional Transfer Single Transferable Vote (FTSTV) is used. FTSTV, however, does not provide a way for determining the order of participants out of the box.

For determining the ranking among the participating applications the following approach is used:

  • The winner is determined by running OpenSTV for one seat.
  • Subsequently, the second place is determined by running OpenSTV for two seats. Thereby, the winner from step 1 plus another participant will be elected. The newly added/elected participant is placed second.
  • For determining the third place, OpenSTV is run for three seats. The newly added/elected participant takes the third place.
  • This process is repeated until the number of seats reaches n-1 with n being the number of participants. The remaining participant not being added or elected yet takes the last place.

For automating this counting process the following script is used

election=$1

tail -n 1 $election | sed 's/"//g'

>/tmp/result
for i in $(seq $(expr $(head -c 2 $election) - 1))
do
  openstv-run-election -r CsvReport -s $i FTSTV $election \
    | awk -F, '/Elected/ { print $1 }' \
    | while read w
        do if ! grep -q "$w" /tmp/result
          then
            echo $w >> /tmp/result
            break
          fi
        done
done
awk 'BEGIN { i = 1; } { print i, $0; i++; }' /tmp/result | sed 's/"//g'

This script should be saved to a file named "results" and can be called as follows:

for i in *.blt; do sh results $i; done

Assuming the script + openstv-run-election are in the same directory as the result files (the *.blt files) for all categories and the current directory is this directory, this way of calling the script will perform the counting for all categories. The only thing that may be changed in the above script is the passage "openstv-run-election" for adding a proper path to the actual location of the OpenSTV executable, e.g., to point to "/usr/bin/openstv-run-election". Aside from this exception the script must not be changed at all.

However it is still possible to also do the vote counting manually using the described process. Vote counting process, OpenSTV version used, and counting script are all publicly available so everyone can perform the voting and verify the final official results.

App Developer Resources

Getting started with Maemo application development

The Nokia Qt SDK is the official set of tools with everything needed to design and create applications for the N900. The development wiki is a great place to start, it contains lots of code examples and development guides. The "Windows Python and Qt in 30 mins" thread is a great PyQt tutorial for beginners and will have you coding your first app in minutes, and here's a tutorial from Linuxuser.co.uk.

The 'Developer' forum on maemo.org is an excellent resource to find answers and ask questions of your own.

FAQ

Spreading the word

Q: Which Twitter Hashtag to use for this Competition?

A: Please use #mccXII

Application requirements

Q: It is obligatory to code in Qt?

A: No, it isn't, but it would make your life probably a lot easier because you will be able to reach more platforms. We encourage everyone to use Qt.

App/Application submission process

Q: Where to submit my application?

A: There will be an application submission page available and this will be the only valid way to participate in the competition. The submission page for the 2012 competition is still being completed, but you may view the 2011 site here. The 2012 site will be similar.

Q: Updates allowed during the competition?

I have a new app in the repository, I am considering to apply for the contest.. If i submit it now, will that prevent me to upload further versions to the repos or Ovi/Nokia Store? (As it's a work in progress)

A: No. you can upload updates anytime.

Q: Who selects the category of the application?

Will the developers select the category when they join the competition or will someone sort it into the correct category before the voting begins?

A: They will choose the category for their app, but everyone should keep an eye on that. Before the voting process starts we'll check if every app is in a reasonable category, so that it is not possible to cheat by choosing the category with the lowest competition.

Application proposal

http://www.developer.nokia.com/Community/Wiki/Apps_Missing Desirable apps missing from Nokia platforms

If you would like to have an App but you can't code yourself, write it down here! Many devs are happy to get a new idea input. (Rom Manager was a proposal from last year).

application name short description features link to similar app or screenshots
Rom Manager A rom manager for emulators. Choose folders for roms of different systems.

Rom audition and fixing using Romcenter databases

Rom downloading.

Integration with most popular emulators (DrNokSnes, PicoDrive, ...)

Rom Gripper for Android.
Tumblr client Tumblr client for n900 and n9/50 login, post, read, follow, unfollow, etc. http://tumblita.com/ for example

Discussion

Please participate in the discussion at talk.maemo.org

Contact

You still have questions? Contact us!

Previous competitions

Events