Lunar Logic Polska

iOS development day – notes from the Cracow.mobi conference

Jakub Suder by Jakub Suder 19 December 2011

A week ago Polish mobile developers gathered in Krakow to take part in the Cracow.mobi conference organized by the team behind MobileDeveloper.pl and students of Cracow University of Technology, sponsored by Lunar Logic Polska.

The presentations were chosen to cover a wide range of topics, so that every developer interested in mobile technologies could find something for themselves. The first day was divided into Android presentations in one room (including a great talk about RoboGuice by Konrad Malawski from LLP), and those concerning iOS development in another. The second day included mostly talks related to mobile web development and Windows Phone 7 OS.

As a Cocoa developer, I was mostly interested in the iOS talks. The first one was done by Karol Kozimor and explained how to use threads to make your application's interface more responsive, or "snappy". Karol introduced us to Grand Central Dispatch, a technology included in MacOSX Snow Leopard and latest iOS, which uses blocks to define units of work which can be executed asynchronously in the background. Then he showed some examples of how we can use an older NSThread class together with ObjC run loops to correctly process incoming events from an I/O source. He also mentioned a recent discussion on social networks about differences in UI implementation and performance between iOS and Android.

The next talk was presented by Michał Tuszyński and was about ways to persist various kinds of data between sessions of an iOS application. The technologies he mentioned included:

  • NSUserDefaults, which can be used to store user's preferences, application state and other simple data
  • NSCache, a key-value store similar to memcache, which automatically manages memory to make sure it doesn't run out
  • archivers, which can be used to save any objects to binary files
  • Core Data, a complex data persistence framework which can be used like a database
  • and iCloud, a technology recently introduced by Apple for automatically syncing data between user's devices and storing it in the cloud

The talk that gathered the biggest audience was a non-technical one, by Tomasz Kolinko, who shared his experiences from making his own apps and showed some tips and tricks for independent iPhone developers to maximize the profits from the AppStore. First of all, he advised us against concentrating on the Polish market – it's simply too small to earn enough; you should instead plan to go global from the beginning, and target mainly American users at first. He gave us some SEO tips for making your app appear in the AppStore search results, and stressed the importance of choosing a right name and appropriate keywords (and monitoring them regularly after the app is released). He also gave us some advise on how to do marketing for your app, what works well and what you should not waste your time on.

Overall, going to the conference has turned out to be a great idea, not only because of the talks, but even more importantly because for me it was the first chance to meet some iOS developers from other companies in person. The organizers did a good job (apart from the last minute changes in the agenda), and I hope there will be a second edition next year. I'd also love to see more iOS- and Cocoa-related events and meetups in Krakow and in Poland in general.

Krakow Global Day of CodeRetreat

Mirek Woźniak by Mirek Woźniak 14 December 2011

THE BACKGROUND

Programmers savour the challenges coding brings. Endless strings of letters interlaced with numbers surely made a young computer wonk feel like the Matrix’s Morpheus more than once. This may lead to exponential ego overgrowth and grass starting to grow where one’s trodden.

Or, how it happens in most cases, the individual starts the never-ending quest for knowledge, usually crowned with ‘guru’ status among developers. Such was the case with Corey Haines, who came up with the idea of CodeRetreat workshops in 2009. As he put it:

"The idea was to develop a repeatable, day-long event that was focused on practicing the fundamentals of software development:"

coderetreat

Over the course of the events, a plan emerged: Corey (or other facilitator, as the organisers came to be known) heralded a CodeRetreat event, programmers gathered, the coordinators put them in a room and asked to code in random pairs on a given subject within a fixed set of rules and short time limit. After the last code lines had been written, programmers’ work was immediately wiped clean and they discussed what they have just created. The course of mingling-writing-deleting-discussing was dubbed a session.

The method proved to be so effective that other coders took heed and coderetreats mushroomed all over the world. Lunar Logic Polska decided to step in and sponsored Corey Haines’s flight and stay in April 2011 in Kraków to facilitate the first CodeRetreat here. People from Software Craftmanship Kraków took care of everything and the gallery from the Spring CR is available on their webpage.

After the event it was obvious that there is a need for such a gathering to take place more often, thus once more LLP funded and organised CodeRetreat, this time as a part of it's global dimension, dispatching Lunar’s own Andrzej, Konrad and Adam to prepare the workshops on 3rd December 2011. The CR event was so anticipated that the available "tickets” were given out in a matter of hours and about 40 people showed up.

THE EVENT

The 3rd fell on a Saturday and the first coders started flocking in at around 8 AM, snatching rockpool-blue CodeRetreat t-shirts sponsored by LLP and designed by our own Olga. The organisers greeted the participants at around 9 AM, briefly described the rules of CR and the problem they were to deal with - the Game of Life and wished them good luck.

coderetreat

Adam and Andrzej, along with Sebastian Bełczyk, the third facilitator, were hovering between the programmers always ready to give helpful advice, point out an overlooked problem or simply cheer up coders who came to a halt. Three 45-minute sessions passed, each focusing on different approach to the Game of Life: the 1st was just an introduction to the problem, during the second one facilitators suggested throwing the mouse away and at the third session programmers were urged to concentrate on the 4 rules of simple design. Each session ended with a coffee break, pair swap and a short discussion afterwards; the CodeRetreat morning concluded with a lunch from an Indian restaurant.

After the meal coders cooperated in another three sessions. The fourth was about testing - Adam, Andrzej and Sebastian encouraged people to "step up the testing ladder”, i.e. no tests - tests after - tests before - true tdd. After the fourth attempt to write the Game of Life there were two calls from other CodeRetreats: Łódź and New York. As for the fifth and five session, Adam described them shortly:

coderetreat

"In the fifth session we asked people to try programming either without loops or without conditionals. We also proposed the silent pairing exercise, which only a couple of people tried. In the last session we suggested "write the worst code you can" exercise."

After obliterating the last bits of code, the facilitators thanked the participants for a whole day of fun and invited them for a celebration which lasted up until midnight.

CONCLUSION

coderetreat

Global Day of CodeRetreat 2011 took place in more than 90 cities all over the globe. Hundreds of programmers met, churning out thousands lines of code and exchanging ideas, experience and different views on how programming should be done. LLP is proud to be a part of the GDCR 2011 success and hopes the event will be organised again next year. See you then!


Kanbanery - The Missing Manual

by Mirek Woźniak, John Cieslik-Bridgen 8 December 2011

Kanbanery, Lunar Logic Polska’s brainchild, has at last obtained a tool to tame its vast features - a long-awaited manual. Our Scrum Master, John Cieślik-Bridgen (possibly one of the most experienced users of Kanbanery there is - he uses it on almost all of our projects) devoted some of his time to elaborate on the subject and encapsulated in an easy way all the attributes of our kanban application.

Kanbanery is a perfect tool designed to, as its motto says: “Supercharge your productivity”.
Our application facilitates information exchange among the team members of a project or allows one to organise one’s life better by ‘Getting Things Done’. It’s lightweight, simple and very effective and whilst it requires no additional training in order to make the best out of it, the new manual may well help you use Kanbanery even better.

‘Kanbanery - the missing manual’ is available for download now from our support forum.

Before taking on John’s masterpiece, you might consider taking a look at LLP CEO Paul Klipp’s introduction to kanban - “Getting Started With Kanban