10 Tips to Help You Improve iPhone’s Battery Life with iOS 7+

How do You Improve iPhone's Battery Life with iOS 7+

Are you starting to enjoy the new iOS 7.1 update, yet? The changes it brought to the product experience were not the most high end, but there are already numerous reports of the new update being difficult on the battery’s life, and customers are looking for way to improve it, until an official update or statement is issued.

It’s not known for sure, whether this is just an issue that is bother a few people, or it’s something that everyone should be worried about, we’re going to be taking a look at ways to improve our iPhone’s battery life anyway, as I think it’s something that is on everyone’s mind, whenever a new version of the phone is announced.

We all realize that our iPhone, or any other smartphone for that matter, is most likely going to require a daily recharge, and the only way to stop this from happening is by taking action, and implementing some of the following steps, to avoid our battery life leaking for no apparent reason. It’s worth noting, this list has been compiled with iOS 7+ in mind, for the best possible battery life increase.

1. Device Restart

The first technique everyone should consider is restarting their device, and I mean like factory reset, to really understand better what could be causing the problem. This might not be a very appealing suggestion to many of you, but it certainly is the one that will help to understand the problem on a deeper level. Is it an app causing all the fuss, or is it really the new update? I recommend this guide from Digital Trends, you’ll have all your stuff backed up and secure in no time, as well as a fresh installation of the phone, which is always a good thing.

2. Adjust Brightness Manually

Electricity costs money, in terms of mobile phones, the brightness of your iPhone is going to cost you battery life, a lot of it, if you’re not being careful. By default, you’ll be in the ‘auto brightness’ mode, that’s set by the phone itself, automatically. It’s a setting that does consume a significant amount of your devices battery life, and so it’s suggest to adjust it manually, to whatever you feel you are comfortable with.

Settings > Wallpapers & Brightness

Try out the different settings, and settle for the one that’s the lowest, but most comfortable.

3. Unnecessary Notifications

Whenever you’re receiving a text, a missed call, an app updated notification, etc,. etc,. You’re allowing the phone to use your batteries life, to do all of these tasks. To avoid this from happening, go to the settings page and manually select which apps you want to receive notifications from.

Settings > Notification Center

You can also disable alert style, by setting it to none, scroll to the bottom of the settings page for the option to do it.

4. Do You Really Have to Listen to Music Watch a Movie?

It’s cool that iPhone supports movies, and the fact that you’re able to watch high definition movies itself is mind blowing, but did you know that it’s also the one thing that’s going to drain your batteries life, literally within the time frame of you finish watching the movie?

You’re tempted to do it on a long drive back home, or on a flight..but perhaps reading a book, or listening to some tunes might be a better idea, if you’re not sure when your next opportunity to charge the phone is going to arise.

5. iOS 7 Enabled Streaming

One of the most well received features of iOS 7 is that it enabled for people to stream content, whether it was trough iTunes, or from their cloud storage, the fact that you could stream something instead of downloading was a game changer for many, but even then - it’s still going to suck up a lot of the battery life, so whenever you need to download something in video format..think about streaming it, you never know if you get the chance to finish watching it in the first place.

6. Know Your Wi-Fi

Having Your iPhone constantly wonder whether it needs to connect to every network it encounters is never a good idea, and it surely is going to put a lot of pressure on the batteries life. It’s recommended that you disable Wi-Fi whenever you’re on the go, and only use it at home, or at the office - when you’re certain there is a solid connection available at all times.

7. Airplane Mode is Quite Handy

It’s almost like the feature should be called, simply ‘Switch Off Radio Signals’, but Airplane mode sounds cooler, right? It’s all it does, but it can - again - help you save battery life, by avoiding those nasty requests to new radio signals and Wi-Fi channels, use it whenever, especially when on a plane!

8. You Don’t Need 5 Minute Auto-Lock

Auto-lock is the feature that locks the phone down automatically (switches off the lights), whenever it hasn’t been used for a specified amount of time. This time can be specified at the settings panel.

Settings > General > Auto-Lock

You can set it to whatever you like, but consider each minute of increasing the time, as a way of reducing your batteries life by at least 5-10 minutes. It’s recommended to keep it at 1-2 minute mark, as a standard.

9. Keep an Eye on Those Apps

You’re constantly downloading, installing, changing, trying, removing and downloading again new apps and tools to help you have a better experience on your phone, who knew it’s gonna turn into that! You can see which apps are active by double tapping the ‘Home’ button on your iPhone, and from this screen you’re able to close whatever you’re currently not using.

It’s a time consuming process, many might say, but it’s also a crucial one, if you want to maintain a solid battery life, and not have apps just consume it all at once.

10. If All Fails; Visit an Apple Store

Still, one of the best ways to make sure your iPhone is performing at it’s optimal rate is by having experts examine it, and as far as I know, there is no cost involved in having an Apple expert take a look at your device, at determine whether there are issues with your setup, and what can you do about it.

On Your Way to Better iPhone’s Battery Life

Step by step, implement these techniques, and you might even start forgetting to charge your phone at nights, as you might notice a significant increase in the battery life you’ve got left at the end of each working day. It can also mean you’ll have more time to play Flappy Bird.

photo courtesy of Wikimedia

5 Changes in iOS 7.1 You Will Learn to Love

5 Changes in iOS 7.1 You Will Learn to Love

I think that a lot of people were disappointed with the iOS 7.0 update, especially those who possess an iPhone 4 - it was one of the most unhealthy, uncalled for updates in Apple history, and I can still remember my friends complaining about it, both online and offline.

iOS 7.1 has been in BETA for quite some time, and even before the public release - hackers and tech enthusiasts were getting their hands dirty, by releasing public jailbreak hacks that unfortunately for some, were taken care of rather quickly.

The iOS 7.0 brought many performance issues for those who are using the iPhone 4, and I’m happy to announce that in the newest iOS 7.1 update, these issues have been taken care of. I recommend reading the Ars Technica review of the new update, to learn more about the smaller details like improvements in battery life, which aren’t really that great.

Try a New Driving Experience With CarPlay

Apple wants to be everywhere, including your car. You might have heard of CarPlay already, and if not - it’s a new ‘experience’ from iOS that will help to integrate your car with your iPhone. The official statement says that CarPlay is going to work only with iPhone 5 and up devices.

Apple - CarPlay

It will come integrated into the newest cars, by a select list of manufacturers that is continuously growing, thanks to new agreements and partnerships. You can expect to manage your messages, music, photos and even contacts from within your cars dashboard. Is also connected with Siri, and so you can take action trough voice based commands.

Long Awaited Siri Improvements

How many times have you accidentally entered Siri, only to realize that it is listening and you’ve got to say something, or you’ve already said it - and it’s unable to find it. I know I have, quite a few times. The new updates brings a much needed change, allow you to control when Siri is listening by holding down the home button of your iPhone. You can then release it, instead of having Siri figuring out when you’ve stopped talking.

Includes updates of more natural sounding male and female voices for the following languages,

  • Mandarin Chinese
  • UK English
  • Australian English
  • Japanese

iTunes Radio Ad-free with iTunes Match

iTunes radio is also getting some love in this new iOS 7.1 update and brings forth some new additions like the Search field above Featured Stations to easily create stations based on your favorite artist or song. You can now directly buy albums from your favorite artists by a single tap of the button from the Now Playing screen.

Apple - iTunes - iTunes Match

The last improvement for the iTunes Radio is a subscription service to iTunes Match - Subscribe to iTunes Match on your iPhone, iPad, or iPod touch to enjoy iTunes Radio ad-free.

Calendar Gets Country Specific Holidays

Tiny update to the Calendar application will now automatically list other country holidays, and also display events in month view.

iOS 7.1 Calendar Changes

It’s not the largest update we’ve seen, but it certainly changes the way we’re going to interact with the calendar, and more people prefer the iOS 7.1 style than they do the version before.

iOS 7.1 Has More Accessibility

The last three major points in the new iOS update are for accessibility, making the phone more usable and appealing to the masses. Here are the three points,

  • Bold font option now includes the keyboard, calculator, and many icon glyphs
  • Reduce Motion option now includes Weather, Messages, and multitasking UI animations
  • New options to display button shapes, darken app colors, and reduce white point

This and many other small tweaks were made to improve the performance of your mobile phone, and more importantly - the performance of the operating system. Take a look at the full documentation at the official Apple page, and let us know what you think of these changes.

Are you pleased with the changes?

Images courtesy of Apple, Inc., Input Factory, Inc.

How to learn about security from Apple SSL Bug mistakes

Secure Sockets Layer, or otherwise known as SSL - was introduced to the world back when Netscape was still dominating the majority of browsers market share, it was back in 1995 when the version 2.0 was available to the public, in hopes to protect the unprotected, and of course prevent hackers from having easy access to eCommerce websites.

On February 21st, Apple released a security patch for their iOS software, a new version of 7.0.6 was released to patch a SSL implementation bug in the encryption of the software. SSL is known was the modern way of protecting peoples privacy and data that gets shared across their network.

The Apple SSL Bug in this case would let a hacker, cracker or anyone else who’s hacking consciouss - to access your mobile phones data without your consent. The hacker could listen to whatever someone is doing on their iPhone, iPad and you would never find out about it. It’s worth noting that it only worked on shared and public networks.

Here is the original piece of code that security experts were able to find and audit, which made the whole security flaw possible.

static OSStatus
SSLVerifySignedServerKeyExchange(SSLContext *ctx, bool isRsa, SSLBuffer signedParams,
uint8_t *signature, UInt16 signatureLen)
{
OSStatus err;

if ((err = SSLHashSHA1.update(&hashCtx, &serverRandom)) != 0)
goto fail;
if ((err = SSLHashSHA1.update(&hashCtx, &signedParams)) != 0)
goto fail;
goto fail;

if ((err = SSLHashSHA1.final(&hashCtx, &hashOut)) != 0)
goto fail;

fail:
SSLFreeBuffer(&signedHashes);
SSLFreeBuffer(&hashCtx);
return err;
}

The function you’re looking at is called whenever an iPhone is connecting to an encrypted website with a SSL secured connection, in short: it’s supposed to verify that the encryption key coming to is legitimately accepted by the websites operator. It’s like computers are playing ping-pong.

Take a look at the lines 11 & 12, and see whether you notice something strange there. It’s two duplicate ‘goto fail;’ statements that enables the program to bypass an important authentication security check. Whenever the program is requested to authenticate a digital signature, the program never reaches that point and so it’s easy to bypass.

goto fail; - Audit Yourself Online

goto fail;

Website was built, that enables you to check your own browser / software against the bug, and it will clearly display whether you’re safe or vulnerable to the security exploit. The website is called ‘goto fail;‘ and also includes a link to a tutorial that explains the whole audit in a little bit more in-depth manner.

What Can We Learn?

It’s clear that this was nothing more than a mistake on the developers side, an honest typo mistake that could have been avoided, but it wasn’t. It probably was for the best anyway, without the flaw - we’d never get to see a website like ‘goto fail;’ - which most likely has helped more than just those who were victims of the Apple SSL Bug. It enabled to make a bridge for other software makers, and helped people who weren’t aware their devices could be hijacked so easily.

Security is complex, and finding little bugs like these does not come easily, one has to learn to spot the typo (in this case) and then evaluate on how it can be used to maliciously attack the site. It’s not an easy task, but we can learn that things like that should be acceptable, and it can only improve the focus and attention when the next software update is being released. I feel bad for whoever let this error slide in the production release, but that’s life.

It was an honest, public failure. It doesn’t make SSL any less appealing or secure, if anything - SSL will stay where it is, doing what it always has done, all you have to do is make sure that the configuration is tuned in properly. This bug caught many peoples attention, showing how dangerous public code can be, and how easy it is to manipulate software company as big as Apple itself. We need to reasses, and look at our options thoroughly, to make sure we’re not making the same mistakes twice.

Real tests, with real humans doing them, that might brings us a step closer to secure and peaceful code environments.

Image courtesy of HuffPost

5 Tips to Move You Up the Ladder in Mobile App Business

Do you ever wonder who is going to be the next in line, to succeed like the creator of Flappy Bird did? It doesn’t matter that he had to withdraw his application from the app store, or that he had to figure out a way to deal with millions of emails waiting to be responded to. What he accomplished essentially helped hundreds of developers and entrepreneurs to make some good side money. When you’re unable to innovate, just take what’s there and renovate.

Mobile application industry is a fast-paced market, where change is a natural part of the process and new ideas are being shared, observed and put to the test every day. Competition is always going to be an issue, but the more attention we pay to our competitors, the less work we’re getting done on our own mobile apps.

The chart above clearly indicates that mobile apps are way ahead of mobile web, and so there is a real preference to use applications - which to a business persons means only one thing, more ways to make money. The report was created and put together by ExactTarget, and it goes to show that while both web and apps are accessible and adjustable, people have tendency to do most of their digital activities trough mobile apps.

In order to move up the ladder of this growing market, we can begin by implementing the following five steps that will help us achieve more, in less time. Keep in mind that the one who takes it the slowest, is usually the one who gets the furthest.

Design Crystal Clear Strategies

Anyone looking to grow their mobile app business needs to understand that the development process is the longest, and patience during this time must be maintained at all costs. Implement your work and development strategies, so that each step along the way has been indicated by the completion of a step before.

Create Mockups or Get Mocked!

The business success of an entrepreneur who’s working within the mobile app business is heavily going to depend on his ability to build new products, brainstorm new ideas and most of all - be able to create prototypes for these ideas. Build, and then build a demo for it. Watch this incredible talk from Guy Kawasaki - to understand common mistakes of entrepreneurs, and why a prototype is so important.

Actionable Steps Will Make it Easier

Having clear understanding of your product, market, and your development team is going to help you make much more clear decisions, and most importantly, it will enable you to know where you are standing and what is the next best step to make. Coordinate your team departments, and make them get together to plan, discuss and put things to the test. Make sure that you’re requesting reports.

Innovative Marketing Trough Offline and Online Channels

App store optimization is a term that was introduced not so long ago, by those mobile business owners who were creating apps since the day one. Like with any market, it started to become saturated and new techniques had to be found, in order to promote and maximize the potential of a successful launch.

Your part of the bargain is to make sure that whatever you’re building, is not going to be an exact copy of that what’s already out there. Trying to compete for the same thing, with two different perspectives - does not guarantee better results, or any results at all.

Launch, Review and Continue Developing

A successful launch will teach you many things, an unsuccessful launch will do the same thing. The only difference will be in the next launch - instead of publishing an update, you will have to come up with an entirely new idea for an app to build. You’ll have some experience, but for many entrepreneurs, failing is not an option and equals in money being left on the table.

The moment you’ve launched your app to the market, you should be focusing on closely monitoring the statistics, performance and most importantly - the reviews that people are going to be publishing about it. You want to make sure you’re getting positive reviews, and you will want to promote them, somewhere where everyone can see them.

You could have years of experience, or perhaps it is your fist app launch. The rules are hardly changing, and we’re all following the same pattern to help ourselves build a product that people will love, and will want to share with their friends. Remember, the moment you decide to stop following the industry - is the very moment it stops following you.

3 Profitable Apps And How They Got Successful

This is a Guest Post by Steve Chopper. Steve is a marketing grad who reviews business apps for a number of small biz blogs.

Success-driven entrepreneurs are led to believe that developing a mobile app will generate high profits and new streams of revenue. In actuality, apps lose 76 percent of users within the first three months, reports Entrepreneur. Gartner also predicts that only 0.01 percent of all mobile apps will be financially successful by 2018.

Mobile applications aren’t necessarily profit generators as much as branding and product awareness tools, explains Ken Dulaney, Gartner VP and distinguished analyst. Of course, there are a boatload of measurement and tracking tools for budding and established brands as well. For example, Chargify offers online recurring revenue management for businesses, as well as a free iPhone app that provides the user with a metrics overview. The app complements the company’s product and brands the mobile recurring revenue management experience.

Free apps and monetization challenges also block opportunities for profit gains, yet the the app market is certainly not in despair. In 2013, mobile app usage grew by 115 percent, and social apps for messaging grew by 203 percent, according to a report by Flurry Analytics.

Here’s a glance at three app success stories that have managed to surpass the test and launch into app victory:

CheckPoints: Lessons Learned

Free shopping and retail discounts app CheckPoints, created by inMarket, was launched in 2010. It also has a sequel app, List Bliss, following in its footsteps, as Entrepreneur points out. List Bliss simplifies grocery shopping by creating lists, tracking ingredients in pantries, offering sharing options, and reviewing coupons and products. For the second time around in app development, inMarket learned lessons, such as the value of attention to detail, which helped them earn more than 20 million users. Steer clear of a buggy, dead product with these inMarket tips:

  • Make registration simple and fast; impatient users will have no problem ditching your app’s sign up process
  • Make it minimally functional and purposeful; eliminate unnecessary items
  • Offer exclusive features to acquire devotion; focus on flexibility and an intuitive design
  • Pay attention to every detail and test every minor function
  • Continue to make tweaks, anticipate problems and implement customer service responses

Summly: Mobile App Millionaire

Nick D’Aloisio, a 17-year-old from London, created an app called Summly that turned him into an Internet millionaire after selling it to Yahoo. The app simplifies information and provides quick content summaries from thousands of sources.

The Guardian spotlights the ‘app-preneur’ and offers the following tips on how to make a fortune with your next big idea:

  • Ask yourself whether your app is appealing or if it solves a problem. Does it already exist, who will use it, and is it useful?
  • Find mentorship from an experienced app builder
  • Start a crowdfunding campaign to raise money for your app vision
  • Check out General Assembly, Steer or Code Academy to learn how to build the app independently
  • Promote the app with media attention, teaser videos and sign-up incentives

QuizUp: Surpassing Expectations

QuizUp went live in early November of 2013, and about a month after its launch, the app had more than three million users and 130,000 new downloads every day. QuizUp is a trivia app that connects users to friends or strangers. Users play against one another in a match of seven rounds and questions spanning a wide range of topics. In only seven days, QuizUp had one million users registered.

Forbes staff writer Prerna Shinha spoke with QuizUp founder and CEO Thor Fridriksson about how the app achieved outstanding immediate success. He shared that his app does the following:

  • Serves as an interactive platform; users can even create their own content for new and existing topics
  • Offers social features and micro communities; players can chat and participate in discussion boards
  • Provides educational opportunities, along with competitive and fun gaming
  • Appeals to passionate fanatics by creating topics that are niche and specific

Crash Course Part 2 : Creating a Newsstand App

Welcome to the second instalment of the crash course. In the last one, I gave you access to the free version of our Newsstand template.

Now, I want to show you how you can customize the template and add your own issues. We allow you to publish your magazines in either PDF or HTML. Hopefully, by now you already have an idea of what kind of magazine you want to publish and have some of the content in either format.

The next step is to watch the vide above and see how you can configure the app as your own and be able to download your issues in the iOS simulator.

Sample Magazine Issues

If you don’t have your content ready, I have got you covered. Included in your download are two sample magazines. The first one is in an HTML format and the second one is in the PDF format. If you don’t have it handy, you can download them here again.

These issues are from one of our magazine apps live in the App store, called Appville.

 

Live apps using the Newsstand HQ Template

You are also probably wondering if there are apps live in the App store using our template. The answer is yes. Here are links to a couple of them

Road Belly

Revista Santarem Digital

 

Video Course : How to Make an iPad Magazine App







Yay!. Thanks for signing up to get the sample Newsstand template and video course.

We have published the course as a YouTube playlist. 14 Videos in total!.. Take your time to watch them, no rush 🙂

Some other services out there will charge you an arm and a leg to get your magazine up and running. We here at App Design Vault HQ have decided to change the status quo.

You will find our option really affordable and easy to get up and running because we will be by you all the way.

Step 1: Go through the course

First off, watch this video to understand what this is all about and how to get started.

Then you can view the whole course here

Step 2: Download the Free Version

Here is the sample magazine templatethat goes along with the course. This app will let you see what is possible in the premium version of the Newsstand template. You can upload your issues, publish in both PDF and HTML, download and read your magazine issues in the iOS Simulator etc.

newsstand-3-1-1-1

Step 3: Run the App in Xcode

You will need to be registered as an Apple Developer to publish apps to the Newsstand App Store. If you haven’t done so already go here to register.

When you are done, download Xcode from the Mac App store and run the project file in your download. Look for the file called ADVNewsstand.xcodeproj.

You will then see a sample Magazine app where you can download issues, read them etc.

newsstand-2-1-1-1

What’s next?

In the next instalment, I will show you how you can get your own content in this sample magazine app. It won’t even take you more than 10 minutes to get all set up. Look out for the emails in your inbox.

If you have any questions, don’t hesitate to leave a comment below. I will be there to answer your questions.

Tutorial - How To Design An iOS 7 App

Introduction

iOS, the most popular operating system for mobile devices, has grown up and made it in version 7, while great new features and important improvements acclaim it as the most advanced mobile OS once again. From the totally redesigned user interface, until the last minor improvement, iOS 7 makes developers able to create applications more evolved and more sophisticated than ever. On the other hand, single, end users enjoy new, richer experience too, as, beyond the brand new UI, they are now more focused on their content and they access features quicker and easier.

This tutorial aims to approach the iOS 7 designing principles and give you a nice taste of it. A quick theoretical presentation is important so as some new design guidelines to be highlighted, but the most interesting part will come by upgrading visually a totally un-styled sample application. So, get on board and keep reading to explore some new great features!

The Sample Application and Our Mission

In order to follow the next steps of the tutorial and get the most out of it, we will use a pre-made, starter sample application, which you are advised to download now. In this section I’m going to present it and discuss a little about it, so if you want run and test it, but make sure to stick here and see what’s all about it.

This sample is just a demo of a mobile application regarding a store, which sells clothing, shoes and accessories products. It incorporates view controllers for displaying product data, product details, contact info and a map view with locations representing where products can be found. The next figure shows the initial screen of the app once it gets run:

As you see, the interface is totally un-styled and unpolished. No design at all has been applied, and all subviews have just been positioned to the appropriate places, maintaining their initial properties. If you would see an app with such an interface on the App Store, it’s certain that you would never have it downloaded. Before going deeper regarding all the interface negatives and how everything could become much better, it would be a good idea to do at this point a little more detailed reference on the app’s contents. So, first of all it’s obvious that this is a tabbed application, with three tabs in total. The controller of the first tab with the Collection title, is a navigation controller, which in turn contains a collection view (UICollectionView). In the collection view they have been populated all of the (demo) products along with some of their details. The previous figure shows the contents of the first tab.

Each product has detailed info, which is displayed on a secondary view controller that appears once a product gets tapped. The navigation controller is responsible for performing the back and forth transitions. Here is a sample of the product details view controller:

The app also contains a Contact tab. Behind this tab exists a map of the hypothetic store and some contact information. Here it is:

Finally, there is the Maps tab, which displays just a map with pins of stores that sell the demo products:

Our goal is to fix every bad-looking visual element, so as to transform the application to a great-looking, attractive and eye-catching one. The way we are going to move from here on is to visit every view controller separately, and for each subview that needs improvements we’ll firstly make a small discussion about what’s wrong and then we’ll add code that applies some design. Everything will be presented step by step, so every action we take will be clear. What you need to do, is to open the starter project and keep up with the steps described next.

Before we begin, you may go and run the starter project if you haven’t done so already. Navigate your self through all those four view controllers and get to know its functionality. Then get back here to discuss how the interface can be fixed.

The Collections View Controller

Step 1

Let’s begin working with the product collections view controller and let’s focus on the navigation bar for a while. Currently, it contains a bar button item at the left side of it and the title. One more item could be added at the right side, showing the total number of products one has shopped using the app using a badge icon. Actually, that would be great from programming view as well, as Apple doesn’t provide a built-in option for adding bar button items with badges on the navigation bar (even though this is done in the tab bar), so it would be interesting to see how this can be manually done. The navigation bar is shown right next before and after adding an extra bar button item with a badge on it:

Programmatically speaking now, go to the Xcode project and open the CollectionsViewController.m file. Head to the implementation of the setupNavigationBarItems method, and look at how the left bar button item is created in code. As you see, it’s pretty straighforward to way the button is created and how an image is used to represent it on the navigation bar. However, for the right bar button item we want to add, things are not that simple. The problem lies in the fact that we cannot use a simple image just like we did for the left button, because we want a badge to be displayed at the top-right, and its content must be able to be changed dynamically.

To better understand what’s possible to be done and what’s not, it’s necessary to say that the badge is going to be a UILabel object actually, which, and that’s the most important, needs to be added as a subview to the right bar button item. However, a plain UIBarButtonItem object doesn’t allow any subviews to be added to it, so we cannot use such an object in this case. To counter this, we’ll use a UIButton object, which firstly will be added as a custom view to the right bar button item (not as a subview), and secondarily, the badge label will be added as a subview to it.

The icon that will be used for the button is the next one and it’s named collections_right.

So, first of all, let’s create the UIButton button. Let’s see the code first and then we’ll discuss it.

-(void)setupNavigationBarItems{
    ...
    ...
    ...
 
    // Get the image.
    UIImage *collectionsRightImage = [UIImage imageNamed:@"collections_right"];
    // Create a custom UIButton with size equal to the image's size.
    UIButton *rightButton = [UIButton buttonWithType:UIButtonTypeCustom];
    [rightButton setFrame:CGRectMake(0.0, 0.0, collectionsRightImage.size.width, collectionsRightImage.size.height)];
    // Set the image to its image property.
    [rightButton setImage:collectionsRightImage forState:UIControlStateNormal];
 
}

Initially, we get the image as a UIImage object. After that, we create a custom UIButton, named rightButton. It’s quite important to make its size equal to the image’s size, and that’s what is being done next. Finally, we set the image that appears in the normal state of the button. Note that we set no title for it, just the image. Even though the button is now ready, if you run the app you won’t see it appearing on the navigation bar. That’s because we haven’t added it yet to the navigation bar. This is going to be done in a while.

According to the image of the outcome, the badge label must be rounded, and that can be achieved by utilizing the setCornerRadius method of the layer label’s property. In order to access the layer, it requires the QuartzCore framework, which is already imported to the project. Let’s write the code that creates the badge label first, and then we’ll say a few things about it, even though there are comments describing each line.

-(void)setupNavigationBarItems{
    ...
    ...
    ...
 
    // Create a custom UILabel object with the following frame, so as to make it appear at the upper-right side of
    // the custom UIButton.
    UILabel *badge = [[UILabel alloc] initWithFrame:CGRectMake(rightButton.frame.size.width - 6.0, rightButton.frame.origin.y - 4.0, 15.0, 15.0)];
    // Set the background color.
    [badge setBackgroundColor:[UIColor colorWithRed:1.0 green:91.0/255.0 blue:84.0/255.0 alpha:1.0]];
    // Set the corner radius value to make the label appear rounded.
    [[badge layer] setCornerRadius:8.0];
    // Set its value, alignment, color and font.
    [badge setText:@"5"];
    [badge setTextAlignment:NSTextAlignmentCenter];
    [badge setTextColor:[UIColor whiteColor]];
    [badge setFont:[UIFont fontWithName:@"Helvetica-Bold" size:12.0]];
    // Add the image as a subview to the custom button.
    [rightButton addSubview:badge];
}

Let’s see the code line by line. At first, we allocate a UILabel object named badge, using the initWithFrame: method in order to set the frame we want. It’s obvious that the calculations been made regarding the X and Y origin points of the label define its position. After that, we set its background color. These color values compose the color shown in the sample image. The next line is the one that the QuartzCore framework has been linked for. Through the layer property of the label, we set the corner radius to 8.0 points to achieve the round shape. You can change it if you want, but I guess it’s the best value that gives us an almost perfect circle. All lines that follow are quite simple, as they set the label’s text, alignment, color and font values. Finally, the label is added as a subview to the button. Not really hard after all, right?

One thing has been left to be done, and that is to add our custom button to the navigation bar. That’s simple:

-(void)setupNavigationBarItems{
    ...
    ...
    ...
 
    UIBarButtonItem *rightBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:rightButton];
    self.navigationItem.rightBarButtonItem = rightBarButtonItem;
}

Notice that in this case we use the initWithCustomView: to initialize the bar button item and to provide our custom button. If you run the app now you will see that the navigation bar is ready, even though the bar button items trigger no action. So, a part of the app has been prepared and we are ready to move forward to the next one.

Step 2

Let’s focus now on the collection view and the way the data existing on its cells is displayed. It is apparent that visual improvements are urgently needed, but let’s do everything in order.

First of all, we can avoid the white tediousness simply by altering a bit the background color of the collection view, and making it more grayish. That’s quite easy to accomplish. In the CollectionsViewController.m file go in the viewDidLoad method, and locate this line:

_cvCollections.backgroundColor = [UIColor whiteColor];

Then, change it to this one:

_cvCollections.backgroundColor = [UIColor colorWithWhite:0.95f alpha:1.0f];

If you give the app a try, then you’ll see the difference.

Let’s deal with the collection view cells now. Each product brand title needs to be fixed, in order to properly fit on the cell and clearly display its content. Further than that, the views, likes and purchases stat values are pretty big and not in accordance to the respective icons. Therefore, we need to decrease the font size for both the brand title and the stat values, and to make it even better we could change the stats’ text color, so it perfectly matches to the icons. All these modifications will take place on the CollectionsCell.m file, as the collection view cells have been subclassed in order to be easily customized. Once you open this file, navigate yourself in the awakeFromNib method, and add the next code fragment in it:

-(void)awakeFromNib{
    ...
    ...
 
    [_lblBrand setFont:[UIFont boldSystemFontOfSize:13]];
 
    UIFont* smallFont = [UIFont systemFontOfSize:12];
    [_lblLikes setFont:smallFont];
    [_lblPurchases setFont:smallFont];
    [_lblViews setFont:smallFont];
 
    [_lblLikes setTextColor:[UIColor colorWithRed:1.0 green:91.0/255.0 blue:84.0/255.0 alpha:1.0]];
    [_lblViews setTextColor:[UIColor colorWithRed:1.0 green:91.0/255.0 blue:84.0/255.0 alpha:1.0]];
    [_lblPurchases setTextColor:[UIColor colorWithRed:1.0 green:91.0/255.0 blue:84.0/255.0 alpha:1.0]];
 
    self.contentView.backgroundColor = [UIColor whiteColor];
}

Firstly, the brand label title gets changed to a smaller font size. Doing so we manage to avoid the clipping that occurs when the brand name is too large. Next, we specify a smaller font size for all stat values as well, and we assign it to them. Finally, we set the appropriate text color to all stat labels, so as they fit to their respective icons. Besides that, the cell’s content view background color is set to white, so it gets emphasized even more over the gray collection view background.

Here is a sample after our changes:

The Collection Detail View Controller

If you have tested the sample application, then you know that when tapping on a product in the collections view controller, a new one containing just the selected product shows on-screen. Even though the displayed information is clear enough, looking at it from the design aspect becomes obvious the imperative need to visually upgrade it.

There are various changes that can be done here. One cool modification would be to place the brand title above the image, and in order to make it an eye-catching label we could add a semi-transparent background view behind it. Also the title’s text size can be increased and its color turn to white. Regarding the stat titles and values, we could re-arrange them in way similar to an Instagram profile page and even more, to slightly change their color to a more grayish one.

Here is a sample of the outcome after applying our changes:

Step 1

Let’s begin by adding the brand title’s background view, as shown at the image above. lick on the Main.storyboard file to let it appear on Interface Builder. Next, go and locate the Collection Detail Controller scene:

From the Object Library in the Utilities Pane, drag and drop a UIView object in front of the existing image view on the scene. Perform the next two actions on the view object:

  1. Set its frame. On the Size Inspector of the Utilities Pane, set the next values: X=0, Y=272, Width=320, Height=54.
  2. Connect the overlayView IBOutlet property with it.

Once you do so, send the new UIView object to back, using the menu Editor > Arrange > Send to back. After that, send the image view to the back using the same method. This will make sure that the view will be above the image view but underneath the brand title label.

This view object is now ready, so we can move on to the re-positioning of the brand title and all stat labels. Below are listed the new frames for all labels, which are noted using their respective IBOutlet property name.

  • titleLabel: X=20, Y=279, Width=280, Height=36
  • likesCountLabel: X=20, Y=340, Width=91, Height=43
  • viewsCountLabel: X=115, Y=340, Width=91, Height=43
  • purchasesCountLabel: X=214, Y=340, Width=91, Height=43
  • likesLabel: X=20, Y=383, Width=91, Height=21
  • viewsLabel: X=115, Y=383, Width=91, Height=21
  • purchasesLabel: X=214, Y=383, Width=91, Height=21

After having applied the above values to all labels, there is one just thing that needs to be done. Select all labels except for the brand title label, and center the text alignment though the Attributes Inspector, so they are all vertically aligned. Your scene now should look like this:

Step 2

Let’s do some coding now, starting from the brand title label. Our work will take place in the CollectionDetailController.m file, inside the viewDidLoad method.

For starters, add the next two lines which change the brand title label’s text size and color.

- (void)viewDidLoad
{
    ...
    ...
 
    _titleLabel.font = [UIFont boldSystemFontOfSize:22.0f];
    _titleLabel.textColor = [UIColor whiteColor];
}

Next, instantiate a font and a color object to be used on all stat value labels. After doing that, set the font and color values to those labels:

- (void)viewDidLoad
{
    ...
    ...
 
    UIFont* countFont = [UIFont boldSystemFontOfSize:25.0f];
    UIColor* countColor = [UIColor colorWithWhite:0.6f alpha:1.0f];
 
    _likesCountLabel.font = countFont;
    _likesCountLabel.textColor = countColor;
 
    _viewsCountLabel.font = countFont;
    _viewsCountLabel.textColor = countColor;
 
    _purchasesCountLabel.font = countFont;
    _purchasesCountLabel.textColor = countColor;
}

So far, so good! We need now to do the exact same thing for the stat title labels:

- (void)viewDidLoad
{
    ...
    ...
 
    UIFont* labelFont = [UIFont boldSystemFontOfSize:14.0f];
    UIColor* labelColor = [UIColor colorWithWhite:0.6f alpha:1.0f];
 
    _likesLabel.font = labelFont;
    _likesLabel.textColor = labelColor;
 
    _viewsLabel.font = labelFont;
    _viewsLabel.textColor = labelColor;
 
    _purchasesLabel.font = labelFont;
    _purchasesLabel.textColor = labelColor;
}

One more thing before our job is finished. We have to make the brand title’s background view transparent (the overlayView object), by modifying its background alpha value:

- (void)viewDidLoad
{
    ...
    ...
 
    _overlayView.backgroundColor = [UIColor colorWithWhite:0.0f alpha:0.4f];
}

We are ready. Run the application to see what a great visual impact have been caused by all changes we’ve done.

Step 3

While being in the collection detail view controller, you may notice one more visual element that can be touched and match the general design we are trying to apply on the application. This is the Back button on the navigation bar. Currently, its color is set to the default blue one specified by the operating system. However, if we would change it to red, then it surely would seem much cooler. So, let’s do it!

A navigation bar’s item color can easily be changed, using a single line of code. Open the AppDelegate.m file, and go to the application:didFinishLaunchingWithOptions: method. Add the next one:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    [[UINavigationBar appearance] setTintColor:[UIColor colorWithRed:1.0 green:91.0/255.0 blue:84.0/255.0 alpha:1.0]];
}

Through the tint color property we can change the color of the bar button items. Note that this property in iOS versions prior to 7 would change the background color of the bar, and not the buttons’ text color. Also, the [UINavigationBar appearance] works globally for all navigation bars that may be added to an application as parts of navigation controllers.

Here is the back button now:

The Map View Controller

Our mission to set a new great design to the sample application keeps going perfect, and simply by running it and watching the results it becomes obvious that great improvements have been made up to here. But we don’t stop here, as there are a couple of view controllers that need to be fixed as well. So, let’s continue and this time let’s visit the Map View Controller, the content behind the third tab of the tab bar.

Sincerely speaking, there is nothing particular in this view controller that needs to be changed, as a full-screen map covers the entire view. However, while being in this view controller the tab bar’s deficiency is highlighted. Let’s discuss it for a while. The problem with it is that its neutral, white appearance makes no impression at all. More over, the tab titles are quite close to the icons, and in the last tab especially, the title overlaps the icon, and this is a mistake that not even amateur designers should make. What can make these tabs really unique, is just a couple of simple things. First of all, we can make the tab bar catching the eye by setting another tint color on it and leaving the white color back to history. The title-icons problems can be overcome, if we simply omit the titles and allow only icons to exist on the tabs. By doing so, our tabs will acquire more space, and they’ll look far better than now. As a last touch, we can make the selected tab to greatly distinguish from the others, simply by using a different background. All those modifications, even small, will greatly improve the app’s appearance. The next two figures demonstrate the tab bar looking, before and after the changes we will apply later.

Start off by removing the tab titles. To do that, open the Main.storyboard file. Here is what we should do next for each one navigation controller:

  • Click on the tab item.
  • On the Attributes Inspector inside the Utilities Pane, locate the Title field under the Bar Item section, and delete its contents, as shown to the next image.

The first step is ready. Let’s go now to change the tint color of the tab bar, to set a selection background image and do some more setup in code. Open the AppDelegate.m file and go to the application:didFinishLaunchingWithOptions: method. Add the next line to set a new tint color:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    ...
    ...
 
    [[UITabBar appearance] setBarTintColor:[UIColor colorWithRed:1.0 green:91.0/255.0 blue:84.0/255.0 alpha:1.0]];
 
    return YES;
}

Next, we will set the tab bar icons in code, even though they have been already added through the Interface Builder, because we need to specifically set their position and the way they will appear. Inside the same delegate method, add the next code fragment and we’ll talk about it later:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    ...
    ...
 
    UITabBarController *tabBarController = (UITabBarController *)self.window.rootViewController;
 
    NSInteger index = 1;
 
    for (UIViewController* controller in tabBarController.viewControllers) {
 
        // Set the image of the tab bar items.
        NSString* tabImageName = [NSString stringWithFormat:@"tab%d", index++];
         [controller.tabBarItem setImage:[[UIImage imageNamed:tabImageName] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]];
 
        // Apply the following insets so all tab images look vertically centered.
        UIEdgeInsets insets = UIEdgeInsetsMake(5.0, 0.0, -5.0, 0.0);
        [controller.tabBarItem setImageInsets:insets];
    }
 
    return YES;
}

Notice that we use the imageWithRenderingMode: method of the UIImage class, after we get the image itself using the imageNamed method. The imageWithRenderingMode: is new in iOS 7, and its aim is to create a new UIImage object based on the provided rendering option. We provide the UIImageRenderingModeAlwaysOriginal as a parameter, because we simply want to tell iOS that we desire to render the specific image as it originally is.

By modifying the insets of each icon, we simply push all icons from the top towards the bottom (metaphorically speaking) and set the icons to the appropriate position. If you’d like, just comment out the last command of the loop and test the app. You’ll find out that the icons are not well-positioned in this case.

All the above do perfectly our job, but the different background image for the selected tab is yet missing. Let’s add this too, and the tab bar is ready. So, add the next line to the method:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    ...
    ...
 
    [[tabBarController tabBar] setSelectionIndicatorImage:[[UIImage imageNamed:@"tab_sel"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]];    
 
    return YES;
}

The selectionIndicatorImage property defines the background image that will be used for the selected tab, and that’s why is being used here. The tab bar has now been fixed, so feel free to go and test the app. Here is an image with the outcome of our effort:

The Contact View Controller

The last task that’s left to be done, is to do any required design changes on the Contact View Controller. In this one, a map view along with contact info are presented to the user, but the way everything is currently displayed is both unattractive and not that easy to read.

Consider now of the following couple modifications, that when they’ll be done this view will seem much cooler and professional. First of all, the map is currently occupying just a portion of the view controller, but if its width would change so it lays out from edge to edge, it surely would look a lot better. Further than that, the contact info the way it’s presented now, it’s hard to be read and even more, a clipping occurs to the e-mail address as it’s too big to fit on the view. It would be easier for users to focus on this info, if the font size could become a little smaller, and the text color would change to a gray one. So, let’s go and do all these.

Starting from the map view, let’s change its size using the Interface Builder. Open the Main.storyboard file and go to the Contact View Controller scene. Select the map view and set the following frame values through the Size Inspector: X=0, Y=0, Width=320, Height=229.

Let’s add some new style to the information text now. Click to open the ContactViewController.m file, and go to the viewDidLoad method. In here, we’ll add code for changing the font size and color of all labels. Add the next fragment and you’re done:

- (void)viewDidLoad
{
    ...
    ...
 
    _contactLabel.font = [UIFont boldSystemFontOfSize:18.0f];
    _contactLabel.textColor = [UIColor colorWithWhite:0.6f alpha:1.0f];
 
    _addressLabel.font = [UIFont systemFontOfSize:16.0f];
    _addressLabel.textColor = [UIColor colorWithWhite:0.6f alpha:1.0f];
 
    _telephoneLabel.font = [UIFont systemFontOfSize:16.0f];
    _telephoneLabel.textColor = [UIColor colorWithWhite:0.6f alpha:1.0f];
 
    _emailLabel.font = [UIFont systemFontOfSize:16.0f];
    _emailLabel.textColor = [UIColor colorWithWhite:0.6f alpha:1.0f];
}

Here is the outcome:

Designing an App in iOS 7

The features that iOS 7 incorporates are numerous. However, the most apparent one, immediately noticeable once you look at iOS 7, is the all-brand new user interface (UI). Redesigned from the ground-up, a clean, flat and uncluttered look and feel now dominates and nothing has been left to remind us of previous iOS versions. Translucency is characteristic for many UI controls (such as bars), while all buttons have become borderless. One could say that Apple’s primary target regarding the UI was to make it as minimal and simple as possible, trying the same time to provide users with plenty of open and white space. Indeed, the whole design generally, and the flatten look in particular, lead users to focus to content without too many distractions from the interface elements. That fact becomes more apparent, if we consider that skeuomorphism belongs to the past as well (see for example the redesigned Game Center app).

iOS 7 brings new air, and all of its controls have been totally redesigned too. Not even one control has been left the same, or almost the same, with previous versions of iOS. And if you haven’t seen them yet, now it’s a good time to do it. Get the latest Xcode (version 5), which has also been refreshed so as to fit to the new ecosystem, and take a look to all new iOS 7 visual elements.

However, even though visual changes are too many, it isn’t hard to work with the new operating system. Controls keep working as they did, gestures are the same as previously and generally, it’s pretty easy for everyone to work with the new system as everything behaves as it used to behave. Imagine how hard it would be for developers, if behavior of controls would change too. Apart from a face lift, a radical core modification would be required for every application. Therefore, programmers appreciate that beyond the look and feel, the way the iOS interacts with the user is still the same.

iOS 7 gives developers a great opportunity to update their applications and adopt all those new features that introduces, but most importantly to adopt the new user interface. For those who have developed applications using the built-in controls, that would be a relatively easy job. However, more effort is required from all those who have built custom controls and graphical elements. There is also another important difference in iOS 7, which is not directly visible. In this version of iOS, Apple considers that users are now familiar enough with the iOS, and that’s also a reason that some controls may not point out their purpose as clear as they did in previous versions of the operating system. For example, in previous iOS versions a button was clearly indicating its purpose, with border, shadow, etc. while in iOS 7, a button is just a borderless area with a string value or an icon inside it.

Everyone who begins developing applications for iOS 7 should walk through the Apple’s Human Interface Guidelines (HIG) before writing even a line of code. I will highlight in here what one should always have in mind when designing new or updating existing apps.

First of all, great attention should be given to the content and not in the interface itself. Actually, the UI should only support the content, not compete with it and of course, it should never distract users from content. Everything in iOS 7 work for content’s benefit, even view controllers, which now occupy the entire screen instead of the available space that was left between navigation and tab bars. Also, translucency should be used from views and controls to denote any extra content existing underneath them, and even more, to provide hints on how this content can be accessed. All this is what Apple calls deference.

Besides all that, not only content should be easily noticeable and understandable, but commands and controls that cause interaction should be distinguishable too. An approach to that is to use different color schemes for controls and the content, as well as to pick fonts that highlight the content. This logic is what Apple says clarity.

When there are too many views on-screen that users have to deal with, then it’s necessary to be organized in a way that makes it easy to access the appropriate content according to their needs. A nice method to do that is to use visual hierarchy and appropriate positioning on all views that appear on screen, and that way give the feeling of the depth. This also can be achieved if views get separated in layers so everything is easy to be distinguished by the user.

Auto-layout, which was first introduced in iOS 5 and it was an optional feature for programmers, has now become almost a mandatory rule. Apple not just recommends, but actually dictates to use the auto-layout feature, so the iOS can arrange all views and subviews the way it wants. I don’t think that there are many developers out there who still don’t use this feature. In case you are one of them, then it’s surely time to start using it. The great with auto-layout is that programmers don’t have to worry about the view positioning when the device changes orientation, or how to lay views in multiple screen sizes. iOS is the boss and decides about everything.

Taking the auto-layout a step further, it’s well known that, until iOS 6, when developers had the auto-layout enabled, they also had to mess with constraints that should have been properly set, so everything was correctly arranged on-screen. Even more, if views were manually created in code, then it was a little bit hard to set constraints manually. Generally, constraints many times were proved to be a really nuisance. Now, with iOS 7 (and the new Xcode version), this limitation has gone. By default, no constraints are set in views in Interface Builder, but developers can set them optionally. There is now much more freedom on both the kind of the constraints, and the way they can be applied, a fact that gives more power to programmers.

Generally speaking now, when talking about iOS designing, views, controls, etc, the discussion cannot stop here. However, through this theoretical approach, they have been presented all those necessary, basic guidelines that one should have in mind when building apps for the new version of the operating system. So, keep all these and let’s go to make this tutorial even more interesting, by seeing some action in a sample application.

Summary

You can download the initial and final projects here. Through this tutorial an effort was made to demonstrate how a totally un-styled app, with no design applied at all, can be transformed to a really cool, professional-looking and attractive one, simply by using a short and easy code. Indeed, neither extremely hard work took place, nor too many code lines were written. Having in mind the new interface guidelines, one can style an application quite fast and with little effort.

7 important tips for migrating to IOS 7

Over the weekend, iOS 7 was officially released to the public, after months of being in the hands of Apple’s entrusted community of developers, coinciding with the release of Apple’s latest iPhones, the iPhone 5S and 5C. Regardless of how revolutionary the hardware iteration is, no one can doubt that the operating system itself has gone one of the most radical changes, since it’s inception, something Apple dubs, “pure representation of simplicity”.

The flattening of the interface design, absent of skeumorphism and depth instead focus on a cleaner streamlined interface, powered by the animation dubbed the parallax. Sure there are indeed quite a few new API changes, as far as development goes, but designers will certainly feel overwhelmed with where to start. So to get things started, we will outline the 7 important tips for migrating to IOS 7.

 

1 SUPPORTING iOS 6 AND iOS 7

The first thing you need to worry about, as a developer and designer before moving to iOS 7, is whether you are carrying baggage with you. That is, will you need to still maintain support for iOS 6? Will you be designing this app from scratch for iOS 7? Are you migrating an existing project?

pic1

 

Apple still recommend that you design for iOS 7, adapting the visual principles and philosophy, which would still be valid in both iOS 6 and iOS 7. As for the translucent objects, such as navigation bars, or navigation buttons, re-introduce them back into iOS 6 using appropriate judgement. XCode provides a great tool to assist in the migration, by allowing you to preview through Storyboards, how your changes would look on both iOS 6 and iOS 7.

2 CLARITY

Clarity is the philosophy of ensuring your primary content or message for the screen is clear, free from distortion, interruption and visual decoys. This is more typographically-focused, and Apple recommend you follow the following clarity guidance:

- Negative spacing between elements to provide the sense of focus and noticeability, whilst ensuring you don’t overlap, you optimise boundaries between objects on your screen.

- Colour or rather a good pure system colour to annunciate important states subtly gives the app a similar theme.

- Font adjustability or rather Dynamic Typing should be employed to ensure that the app looks great at every font size, with the interface responding when the user selects a custom or system font and size.

3 DEFERENCE

Deference is the art of ensuring once’s art doesn’t get in the way of content, no matter how crisp and fluid the animation and highlights are in your app, and rather focus on the functionality of the app.

With the design guide of negative spacing and borderless buttons, you are encouraged to maximise your screen usage and dimensions, whilst avoiding inserts and thick borders and frames, as well as bezels, gradients, drop shadows and other visual indicators that compete with content for space.

Finally, using translucent UI elements, like those found in UINavigationBar allows you to slide content behind them, providing a transient hint whilst allowing your content extra height.

 

4 DEPTH

Depth affords a perceptive distinction through layers between on-screen objects, providing a sense of hierarchy and intuitiveness when interacting with the objects. Apple’s own calendar is a perfect example of hierarchy, providing a logical transition and depth from year-view, selecting a day displays a month-view, going all the way down to day-view. At all times you sense through animation the depth or level you are at, and how to get back.

5 LAYOUTS & CONTROLS

The use of Dynamic Fonts, means you need to anticipate variability in font typography and size, which means your UI element positioning and sizes need to adjusted adapt accordingly. So how do you do that?

Last year Apple introduced Auto-Layout in Interface Builder, a quite helpful visual and pro grammatical tool to anticipate changes in screen layout, and adjust each object relatively. This fluidity in positioning and sizing not only allows you to maintain a robust interface in iOS 7, but also makes life easier if you need to support both iOS 6 and iOS 7. So now you have a compelling reason to either adopt this tool, or go through the programmatic hassles of adjusting layout according to different text sizes.

Even thought it may seen that the borderless buttons Apple are emphasising look more condensed, button hit points still remains at 44×44, a long-standing standard Apple has advocated in their Human User Interface Guidelines. This is something you need to maintain when creating your own custom buttons.

Apple make use of Perspective, a visual weight and balance to create the perception of prominence of certain elements and buttons over others, as a more visually prominent button tends to be a more functionally prominent button.

6 ANIMATION

IOS 7 saw the birth of Parallax animation at a system level, a visual trickery in perception of size and depth, allowing certain objects nearer to appear larger, and Apple have simulated the effect when the phone is tilted or rotated around, thanks to gyroscope and accelerometers. For instance, you could see that the home icons appear subtly above the background. Going back to your app design, you should adhere to subtly, fluid gorgeous animation where you can, and where appropriate.

The general design principle for choosing animation is to communicate feedback and status/state of a task/app, whether they are touching an object, or awaiting a result from a touch or action, drawing attention to the outcome. The animation of pressing a button, switching a view needs to be subtly and not gratuitous, perverting the user from their intended primary task, or break the flow of the app. Apple have done a good job of providing animation in their standard UI controls, allowing iPhone users to anticipate consistency and familiarity, so it’s best you try and follow their philosophy and mimic similar animations for similar types of controls, and make them consistent throughout your app, as well as realistic, adhering to the laws of physics.

7 ICONS

Along with the borderless buttons, Apple’s new default styles for icons in bars are now constructed with a lighter stroke weight, which is perceptively more condensed even though the icon sizes remain the same. If you don’t use custom icons for your toolbar, then you will get the new icon designs for free.

System icons that you would find normally when you choose a standard icon for your bar button icon, look flattened, borderless and small. These are standard icons that will become more synonymous with iPhone users, and will be used by many apps to represent common app functions, such as bookmarks, camera, create/author and location, and so forth.

If you decide to design your own custom icons, you should aim to create an icon that is simplified, rather than something that is graphically complex. All of Apple’s system default icons are simple representation objects. You should also ensure your icons are recognisable and non-ambiguous, something that visually makes sense, following a consistent stroke weight and perspective, across your app.

If you are unable to visually represent a function graphically, you don’t have to create a graphical icon. Apple’s Calendar app makes use of text instead of icons, in it’s toolbar. This is especially effective if you only require one, two or three buttons in your tool bars.

Want to learn more?

  • iOS 7 Transition Guide by Apple
  • iOS 7 Human Interface Guide by Apple

 

 

 

The Newsstand Template is now updated for iOS 7

We have been hard at work trying to get the Newsstand template updated for iOS 7. Finally, it is ready.

If you have access to the template, you can now login to your account and download the new version.

NOTE: the documentation has changed slightly so make sure to read it through to understand how to use the new version. Towards the end of this post, I will let you know the main points to look out for.

Here are the release notes and the changes you can expect to see.

- Added In-app receipt validation
- Now Connecting to Apple servers to validate purchase receipts
- Fixed issue with restoring purchases made from another device
- Added iOS 7 compatible resources for current design themes (red, blue and Magrack)
- Added a new Flat design theme, Looks great on iOS 7.

Here are some other changes we added.

New: Video Tutorial

Some of us don’t like reading, eh? I feel your pain. So I decided to make a video tutorial as part of the documentation to show you how to setup the template.

Here is the playlist on YouTube. Currently clocking at 14 videos!

videos-1-1

New Magazine Kiosk Design

Below you will see that we added a new design that will look right at home on the iOS 7 device. It sports a new Kiosk design with a header that you can use to showcase more details about your magazine.

magazine-app-design-6

New Changes to the Documentation

First off, for iOS 7 Apple decided to disable testing in-app purchases in the iOS simulator. So note, that you will need to test your in-app purchases on an actual device.

To avoid you not being able to test on the simulator, we decided to add a flag in the Configuration.plist called ImplementPurchases. This is set to “NO” by default.

When you have a device plugged in and want to test your in-app purchases, please set this to “YES”.

Also make sure to submit your app to Apple with it set to “YES”.

config

New Magazines Live On The App Store

We have already had two customers with their magazines live on the App Store.

The first one is Road Belly by Mark from Michigan Software Labs. Check it out here.
santerem-1

The second one is Revista Santarem Digital by Osvaldo. See it here.
roadbelly-1

Well done to you guys for taking action and getting your magazine out there!.

Go Get Your Update

If you have bought this template, you have free updates for a year. Login to your account and get rocking!.