iOS8 application now available!

6-hours ago, I received an email from Apple Developer Center that iOS8 Apps can now be submitted. Good news is Swift is now final! Quote from their email:

Make sure your apps take advantage of all the great new features in iOS 8, which will soon be available to hundreds of millions of customers around the world.

To prepare your apps for the App Store, download and build with the iOS 8 and Xcode 6 GM seeds from the iOS Dev Center. With these latest seeds, Swift is now final and you can submit your iOS apps written with Swift to the App Store.

In addition, you can now invite your internal team members to test pre-release versions of your iOS 8 apps with TestFlight Beta Testing. You can also submit App Bundles to the App Store to provide up to 10 of your apps in a single purchase at a reduced price. And be sure to learn about creating compelling App Previews to help customers better understand your app and encourage more downloads.

Adaptive applications for different sizes of iOS devices is the key to make development of apps easy. Need to take advantage on this one.

Advertisements

A review on bit shift operations…

It’s been a while since I used bit shift operations, and it made me think this time!

The task requirement is to store an object’s status on a one container… this container is type of integer or byte.

Now the conditions are:

1) There will always be a 2 object.

2) Each object can have a status between 1 – 15. Zero means it has no status.

Now visualizing it in memory bits… this will have the following representation:

tumblr_inline_mhq8jt6aoM1qz4rgp

 

The LOWER NIBBLE, represents the first object. While the HIGHER NIBBLE, represents the second object.

The bits from left to right are represented as 8, 4, 2, 1. Summing it up will represent a combination of 15 values. These 15 values will be our key storage for following status:

STATUS

——————————-

8421

——————————-

01 = 0001 (Status 01)

02 = 0010 (Status 02)

03 = 0011 (Status 03)

04 = 0100 (Status 04)

.

.

15 = 1111 (Status 15)

To  accomplish the task, I would need BIT SHIFT operations.

For the first object, LN (lower nibble) this can be done with no shifting at all:

LN = STATUS …. easy huh?

Now for the second object, HN (higher nibble) I would need the left-shift operator to accomplish this task:

HN = STATUS « 4

The line above translates to, shift the STATUS value 4 bits to the left…

So if we have a STATUS of 15 (which is the maximum)… the memory representation would be:

 

tumblr_inline_mhq8kfCF821qz4rgp

 

Let us say, LN’s status is equal to 10 and HN’s status is equal to 15. Combining these values and while keeping their original status would translate to:

LN = STATUS (1010)

HN = STATUS « 4  (1111)

CONTAINER = (LN + HN)  (1111 1010)

 

tumblr_inline_mhq8m6HnxH1qz4rgp

 

When these values are saved to an integer/byte container… 1111 1010 would translate to 250 (decimal representation). And then I can revert it back to its original values by again using bit shift operation.

Conclusion, bit shifting can be quite complicated but it gives us flexibility to combine objects into a single container while keeping its original state.

This task was become useful  to me when I was assigned to use only a “single” data field on a Database and still be able to store multiple objects with flags on it.

Yeah it feels good!

Adobe InDesign

Today I was assigned to create a quickstart manual for our new software. Now I’m using Adobe InDesign to do the job. It’s nice and easy to use. I had experiences using Aldus Pagemaker before, which was adopted by Adobe and became Adobe Pagemaker and now known as Adobe InDesign… hmmm those were the days I was the layout artist of our school organ =)

This post is made “AS IS” without warranties, and confers no rights.