Introduction
To begin with, I live in a rather large city, which according to various estimates is inhabited by several hundred thousand people with strongly tangible Jewish roots. This city changed several names, now it is called St. Petersburg.
I don’t know exactly how many Jewish organizations in St. Petersburg, I can only say that there are several synagogues, a couple of community centers, more than 10 kindergartens, several teen clubs, student organizations, camps, family camps and trips, youth leadership programs, trips, courses , internships, organizations for pensioners, and there are still active and enterprising people who are constantly organizing something.
All this leads to the fact that several dozen Jewish events take place in the city every month. For example, on September 13, 11 completely not small events took place in different parts of the city (50-200 people each).
')
What problem did I notice and how did I want to solve it?
It seemed to me and it seems so far that each organization has its own mini-community. There are people who are interested in the events of this organization, while they know little about the events of other organizations.
Here partly the principle has been working for centuries that a Jew needs at least two synagogues. He will walk to one, but to the other, neither with his foot! This may seem ridiculous, but it is - most of my friends can definitely name two Jewish organizations in the city: one they like, the second they definitely would not have gone.
I found it necessary to gather all the events together and make a
poster of the Jewish events in St. Petersburg .
I should point out that this idea did not occur only to me. Several people took it, but there were no posters in the city. It is important to note that I understood that I could not only organize the creation of this poster, finding a grant and hiring someone to carry out parts of this project. I could do it with my own hands and at my own expense!
Technical part
I have experience creating sites. I know PHP, MySQL, HTML, JS and CSS to a sufficient degree to make a back-end for a poster from scratch, well, or you could take something ready and finish it, so I didn’t think much about the server part - here I had more answers than questions.
The questions were on the client side - it was easy to make the site, but for effective interaction with the audience, I seriously thought about creating the application. And I decided to write the first application for iOS.
During the first attempt to try to write an application for iOS, I first encountered Objective-C. Simple things on it looked, in my opinion, extremely cumbersome. I was very happy when Swift appeared. The main drawback that I now see in it besides his youth is that there is no possibility to write iOS applications below version 7.
I started writing an application on Swift. It was and remains quite simple - there are 4 screens: events, news, the wisdom of the day and the humor of the day. The first two screens are simple TableView with a list of events and news - clicking on the list item opens a detailed description. The data for the application is taken using a request to the server, which sends XML or JSON. Oh, and there are Push notifications in the app, and a couple of minor features that appeared later. It’s hard to describe your feelings from the first launch of your application in the emulator, it was only brighter than this: launching the application on your iPhone, seeing the Push notification sent by yourself on the screen of your phone, well, and then the appearance of your application in the App Store - the place where I used to come only as a consumer of content.
I wrote the server part quickly. Application development has been going on for a long time. Now the tasks described in the previous paragraph seem to me to be easy to solve, but then I looked at XCode and its seemingly just Interface Builder as a dense forest. The server gave XML with a list and description of news and events. It was necessary to read this XML, decompose it on the shelves and output to the necessary UI elements. After I learned how to parse XML on Swift, I ran into three new things that took a few more days.
1) The location of the elements on the screen of the iPhone / iPadMaking the cells of the TableView and ViewController cells with a full description of events normally displayed not only on a specific iPhone screen, but on all possible screens was not easy. After watching a series of educational videos on YouTube, I (as it seemed to me then) learned the truth about the arrangement of elements. I understood far from everything then, but through trial and error I was able to “universally” place elements on the screen.
2) Certificates for applicationsTo go beyond the emulator, namely to run applications on your devices and distribute applications through the App Store - you need certificates. I did not find a clear explanation and algorithm for obtaining and using certificates in Russian at that time. Now the procedure for obtaining certificates seems to me not so wild, but I still do not understand why you need such a large number of steps. Well, separate certificates for push notifications - just a song.
3) Push notifications and ParseI haven’t come up to this point with push notifications as their sender. It turned out that this is also not easy. After reading materials on this topic, I opted for Parse. Why? For my size, it is free, but it also looks quite understandable in work and is pretty. Notifications are now sent to all users, they are as an analog SMS-mailing.
Application Announcement
The first stage was a request for PR in social networks from the Jewish organizations of the city. I was supported to varying degrees by almost everyone I turned to. Send the first installation. I suddenly realized that the application only works on iOS older than version 8. And all because for iOS 7 you need to add a couple of little things. Added by. A week of waiting for moderation and now iOS 7 users also see a poster!
Requests to release a version for Android were not unexpected, this application is a topic for a separate article.
Where is the project now?
The application came out after the New Year holidays in 2015. The application is free, without ads. There are three volunteers in the team: volunteer event editor, volunteer news editor and volunteer techie (s). Now the application has an iOS and Android client, plus events and news are available on the site. The number of installations exceeded 1100, growing a little every day.
"What is cymes?"
(Tsimes (Yiddish צימעס) is a dessert dish of Jewish cuisine. The closest meaning can be translated into Russian as “What is salt?”)
1) I did a useful thing for the community - people learn about new events, news and vacancies through the application. At each event, you can meet people who would not have come to it, if it were not events in the application. The point is not that events and programs are boring or of poor quality. As a rule, everything is just the opposite. The point is simply that the organizers cannot convey information to all.
2) Experience. My labor and time costs for hosting / domain and $ 99 / year for the right to publish in the App Store, and then another $ 25 for Google Play paid off in full. I tried what I didn’t know how to do before! This is so cool.
PS
And one more thing: I had been cooking this idea in my head for a long time, but I didn’t take it because I thought I wouldn’t do the best application (of course, that’s what happened). “I'm not a professional programmer, not a designer. The product created entirely by my hands will not be a work of art. So what should I do? ”Was the course of my thoughts.
At that moment I received very good advice, simple, but he really made some kind of relay in my head click. The advice was this - do it, show it to people, collect feedback and keep working on your application.
So I did. It has been 8 months and I can say with confidence that the experience I have gained is invaluable to me. The application is not the most beautiful and not the most functional, but as a good hammer it continues to hammer nails. And I continue to work on it.
If you suffer from perfectionism and therefore do not do something that you would like, think again, what do you lose if you try? And what's stopping you, besides the fear of doing bad or lazy? After 100 years, you will no longer be wasting, if not all, then at least part of your time to implement your ideas, and not just be a tool for realizing other people's ideas.
In the end, I want to quote a quote from the Jewish sage Hillel, who lived more than 2,000 years ago: “If not me for myself, then who is for me? And if I'm only for myself - who am I? And if not now, when? ”
If the public was interested in my article - I will write again - not only about the poster of the Jewish events in St. Petersburg, but also about my other projects.