Who is Chromebook Pixel for?

The rumored Chromebook Pixel is announced with a pricey $1299 price tag.

Chromebook with a 12.85 Retina-quality Touchscreen?

Why would someone buy the Web-only machine when he could buy the Macbook Air or Macbook Pro at a lesser price?

 

The Chromebook Pixel is not for you

Google just announced its first premium Chromebook, the Chromebook Pixel. It’s gorgeous. Unfortunately, it’s so expensive that I can’t think of a single person who should get one.

 

Google Launches $1,299 Chromebook Pixel With 2560×1700 3:2 12.85″ Touchscreen, Core i5 CPU, 1TB Of Google Drive Storage & Optional LTE | TechCrunch

iPhone 5 and 4S are globally the best-selling smartphones in Q4

iphone5

Research by Strategy Analytics shows that Apple iPhone 5 is the best selling smartphone globally in Q4 and iPhone 4S follows the 2nd. Galaxy S3 dropped to the third place.

sales

It’s kind of weird to see iPhone outperforms Android in the Android dominated world.

However, iPhone 5 was already the best-selling smartphone in the US.

 

iPhone Brand Outshines Samsung’s Galaxy As iPhone 5 Becomes Best-Selling Smartphone Globally In Q4, iPhone 4S 2nd — Analyst

Strategy Analytics: Apple’s iPhone 5 tops world smartphone sales for Q4 2012

How to add geofencing Reminders to iOS programically

Reference : Calendar and Reminders Programming Guide from iOS Developer Library

Apple provides a way to add a Reminder through EventKit from iOS 6.

1. Before start coding, you should add the EventKit Framework to the target first.

eventkit

2. Check whether iOS is over 6. (Reminder API is available above iOS6)

 

1
2
3
4
// Check API (above iOS6)
if ([[EKEventStore class] instancesRespondToSelector:@selector(requestAccessToEntityType:completion:)] == NO) {
    return nil;
}

3. Init EKEventStore and request access.

5
6
7
8
9
10
11
12
13
EKEventStore *store = [[EKEventStore alloc] init];
 
[store requestAccessToEntityType:EKEntityTypeReminder completion:^(BOOL granted, NSError *error) {
    // handle access here
    if (granted) {
        // Create Reminder... [1]
    }
    [store release];
}];

4. If access is granted, Create reminder and add location alarm. (Code should be inside [1])

15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
EKReminder *reminder = [EKReminder reminderWithEventStore:store];
reminder.title = @"Geofence Reminder";
reminder.calendar = [store defaultCalendarForNewReminders]; // Use default calendar for new reminders
 
EKAlarm *alarm = [[EKAlarm alloc] init];
 
EKStructuredLocation *location = [EKStructuredLocation locationWithTitle:@"Location title"];
CLLocation *clLocation = [[CLLocation alloc] initWithLatitude:latitude longitude:longitude];
location.geoLocation = clLocation;
[clLocation release];
 
[alarm setStructuredLocation:location];
alarm.proximity = EKAlarmProximityEnter; // Remind when enter or leave
[reminder addAlarm:alarm];
[alarm release];
 
// Save reminder
NSError *error;
[store saveReminder:reminder commit:YES error:&error];
if (error != nil) {
    NSLog(@"reminder error:%@",[error description]);
}

Done!

BeenTogether