Archive for October, 2010

27 OctPosted on Basecamp Customers Page

37Signals has created a page with their basecamp customers. To participate you need a photo, city name, company name and description. Like such a fun stuff.

Guys made a good job, wish them luck and insipartion.

PS. Yeah, that’s me wearing in a national colors.

19 OctConceptual clone of iPhone or its innovation – Tap, baby, tap!

Originally I’ve found the link on the beautifulpixels.com. Thanks, guys. You post interesting content.

Tapas OS

It’s obviously worth to see - http://www.rigodesign.com/work/design.php?id=47

I’d like to say a few words:
  • it’s pretty LIKE an iPhone (iOS), but don’t think of it as about next step or like that. It’s just the way one good designer think of it to be improved. Just one vision, even if it’s a fresh one.
  • it’s JUST a nice and somewhere very nice design. There is no usability proof since no experimental evidence. That’s the problem of concepts.
  • it’s NOT really innovative. Innovation is not about to simply combine/transform old things. It’s not a modern design also. Innovation is a change in the thought process for doing something, or the useful application of new inventions or discoveries.
  • So it’s late to clone innovation. If it’s commonly possible. Who next? Let’s try to make useful software instead. Solve real and actual problems.
Even despite the fact that you, guys, are always second, I’d like to touch and try it. And maybe with a few of hundreds of your next tries also.
Will see.

13 OctAssign to Contact from Address Book

It’s left quite a negative impression from last time I faced with plain C/C++ like code. That was a necessity to use huge Boost library with all related problems. As they say – “Nothing personal”, it works pretty fast and code event elegantly somewhere, but an instrument is effective only when you know it well enough. Or at least you have time and wish to learn it. That’s not my case. I’d not say the Boost is easy to adapt for objective-c users, rather it isn’t.

Since then I try to avoid plain C/C++, especially when it based on huge template hierarchies. But sometimes somewhere the numerous iOS API we should have to write C like code.

This time I had to assign an url (or any other information) to existing contact from AddressBook. I was surprised to see such a non–objectivec API. Hope that’s simply a necessary, but I’m sure it’s a “thing from the past”. Since it has taken more than 5 mins as it shouldn’t to be, I want share that piece of code:


Show dialog to select an existing person (contact):

- (void) showAddressBook{     ABPeoplePickerNavigationController *picker =
[[ABPeoplePickerNavigationController alloc] init];    picker.peoplePickerDelegate = self;
[self presentModalViewController:picker animated:YES];    [picker release];}

Some delegate’s methods:

- (void)peoplePickerNavigationControllerDidCancel: (ABPeoplePickerNavigationController *) 
peoplePicker
 {    [self dismissModalViewControllerAnimated:YES];} -
(BOOL)peoplePickerNavigationController:(ABPeoplePickerNavigationController*) peoplePicker
shouldContinueAfterSelectingPerson:(ABRecordRef)person property:(ABPropertyID)
property
identifier:(ABMultiValueIdentifier)identifier{ return NO;} 

and the main part – add new field with string to selected person profile:

- (BOOL)peoplePickerNavigationController :(ABPeoplePickerNavigationController *)
peoplePicker    shouldContinueAfter
SelectingPerson:(ABRecordRef)person { CFErrorRef anError =
NULL;  ABMutableMultiValueRef urls = ABRecordCopyValue
(person, kABPersonURLProperty); urls = ABMultiValueCreateMutableCopy(urls);
ABMultiValueAddValueAndLabel(urls, @"Marked programmatically",
CFSTR("Info"), NULL); ABRecordSetValue(person, kABPersonURLProperty,
urls, &anError);if (anError) { return NO; }  CFRelease(urls;
ABAddr essBookSave (peoplePicker.
addressBook, NULL);
[self dismissModalViewControllerAnimated:YES];    return NO;} 

10 OctNews and fall of the leaf

Sorry for the delay, but we were really busy the whole September. Fall came and people went back to normal operation after a sunny Summer. There are so much cool projects and new partners here, you won’t believe. All over the world.

Several experimental Alterplay projects are being run. Two of them are for local Ukrainian market. Yes, really! Who else will develop the market than us, developers. We believe that. Тhink to create a Russian blog for that. Don’t worry, anyway briefs will be posted here.

The team is growing also. We’ve just absorbed a very pleasant and responsible guy. Kostia is just an intern, but takes a part in commercials and maintains own inner project already. Will post about that soon.

We’re also looking for Russian speaking fulltime iOS developer to our distributed team. Please email us if you’re the one.
And don’t forget to rest. It’s a integral part of effective everyday work. Tested.
Metta!