среда, 24 октября 2012 г.

Your app status is In Review

"Your app status in review"(54 minutes ago)
I'm going to bed after reading new e-mail from Apple company with that subject. I hope it will pass review and tomorrow about 4000 users will get an update.

If everything goes ok, we'll have an update for lugat sozluk. Now it's called cep lugat and has redesigned icon(thanks a lot to our designer)!
What's new:

  • iPad support - some users will be really excited with this!
  • better detailed view - it's much better than previous one
  • automatic paste from copy/paste buffer - i heard this feature was implemented in Lingvo and is one of the most favourite users feature, so why not use that?
  • some bug fixes that will prevent from crash, slow working, etc...

What will be in next release?
  • more words - now it has just only osman words. I have some arabian-osman words, they will be added soon. And I would like to add turkish words to dictionary, but I can't find turkish-turkish offline dictionary. If someone has it(not a paper :) ), please tell me.
  • the most searched words - it's awesome thing when you try to memorize words.
  • [maybe] ANDROID version! I have just wrote some sketches and app seems to be working on android simulator, but i don't have any device to test, so it's delayed until I buy an android device.

пятница, 3 августа 2012 г.

Еще раз о дизайне

К сожалению, прописная истина:  Главная задача дизайна — удержать пользователя в те первые секунды, когда он про продукт(сайт, приложение, девайс) еще ничего не знает.


Никогда не забывайте об этом.

суббота, 30 июня 2012 г.

U do not need scrum

Well, I tried scrum. Honestly. It's a pretty good development method and very effective. If everything goes right, it may rapidly increase yr and teammates development speed. Everyone knows his tasks and may predict time to complete them. If something changes, there will be time to easily change direction of development and fix everything up.
Unfortunately, scrum has its own boundary of applications. In imaginary ideal world, where everything is predicted and anything u want to do u do from first attempt it is an ideal solution. But we live in other reality where above mean sea level may be positive and negative values, where sin or cosine values can be any value and there's no prohibition of taking square roots from negative numbers. And there's no place for creativity.

So, it's just words. Why do u need scrum? U need scrum:

  • when u have detailed, self-explanatory concept document
  • when u know exactly yr tasks
  • when u can estimate yr tasks
  • when u have an image of app in yr head  and may guess how it would work
  • when u need to quickly get results
  • when u need to see changelog of the app
But u do not scrum:
  • if there's no agreement with teammates about design and functionality
  • if u can not estimate yr tasks, because it's a creativity process depending on inspiration
  • and u can make over one task again and again
  • if u need to create something new, conceptional
Now I have six tasks on my board and can estimate three of them. Others are connected with design and may be overdone many times. So, if u ask me when I'm gonna finish my work and release next version, I won't give u any estimates or predictions. Even if I do, that will be not truth.

воскресенье, 24 июня 2012 г.

U do something wrong, man!

Sometimes I'm writing code and my inner voice tells me: "Stop! U do something wrong, man!" There are some signs of writing "code smell" I wanted to share with u. Of course, they aren't true in last  instance, but they are reasons to stop coding and think a little about what u're doing.

So, u do something wrong, man:

  • if u don't recognize ur code after two days u wrote.
  • if u have more than three level deep class inheritance
  • if ur unit-tests change the state(db, ini, etc...)
  • if ur unit-tests runs hours
  • if u have such class names as "AnotherClass, SuperSingleton, ButtonX", or variables like "a, b, buy_1, buy_2"
  • if u have 4-5 connected to each other singletons.
  • if yr task takes 4-5 days to complete.
  • if u have MVVMC instead of MVC
  • if u agree with everything with designer, yr investor and has no idea to change it.
I'm sure, to be continued...


When programmer needs to be designer

In any type of work or hobby inevitably comes such a moment, when u don't like to do. For example, I don't like drawing. I don't know anything about beauty, proportions, I hated every single minute holding brush in my hand in school. I'm negligent about clothes I'm wearing, I really do not care about beauty, about interfaces. It simplifies life.
Unfortunately, it had bad consequences. In past days every program I had written I used just myself. Now I'm writing code for others. And I know they don't care about how program works inside, what design patterns are used, how genius it is and what it really can do. They use program and if it doesn't satisfy their requirements, they will delete it or even write in review something like: "You're such a bastard, return my time, money, ex-wife back!". Their requirements are various, starting with program functionality, ending with design. 

Stop! Here's a big mistake. Firstly design and then functionality, not vice virsa! Program may be super-functional, but the first thing user sees is design. 
Are u knight of brush or not, u need to know how to design good-looking, user-friendly interfaces.
As a example, let me show some screenshots: both of them are ugly. The difference of them is in second line: in first pic, not all text are visible, but in second it's small. What of them is better and what changes can be made to make this screen attractive?




воскресенье, 17 июня 2012 г.

Dropbox & deleted files

Today I suddenly realised that I permanently deleted my project folder, hoping that it had been saved in remote repository. But it hadn't. That was epic fail.

I found program that scans deleted and formatted volumes. No results. Despair, absolutely no ideas.  I have been working on that project 3 months and now all files are gone.

But fortunately I stored it on Dropbox. Dropbox saved me. You may not know about it, dropbox can restore deleted files. Thank you, dropbox!

Two important lessons I've learnt:

  1. do not forget to make backups.
  2. do not be too self-confident, it won't give good results.


Now I'm working on Lugat Sozluk - osman turkish dictionary. If everything goes ok, new version will be available on next week.

English please!

For about three months I wanted to start writing all my posts in english, but couldn't find courage to do it.
From this day on I will write posts in english.