iOS 8: 13 important features by Nikhil Pradhan

iOS 8: 13 important features

As expected, Apple unveiled iOS 8, the latest version of its mobile operating system at the WWDC (World Wide Developers Conference) last night in Cupertino. At the conference, Apple execs such as CEO Tim Cook and Senior VP Software Engineering, Craig Federighi, revealed new features such as actionable notifications, improvements to messaging and the keyboard and a greater focus on developers. While there was no word on an exact date when iOS 8 would come to iPhones and iPads, it is expected to go live in August or September of this year. Apple has also revealed that iOS 8 will come to the iPhone 4S and all iPhones that were launched thereafter, the iPad 2 and all iPads launched thereafter (including the iPad Mini) and the iPod Touch 5th generation.

Let’s take a look at the most important features of iOS 8 that were talked about at WWDC:

Interactive Notifications or Widgets

Widgets have finally come to iOS. In iOS 8, you can now perform actions on notifications directly without exiting the app you’re currently in. For example, if you’re using the Facebook app and you get a notification about a message, you will be able to reply to the message from the notification pop-up itself. Currently, actionable notifications will be available for messages, calendar, reminders, mail and certain third party apps like Facebook. Other third-party developers will also be able to add actionable notifications for their apps.

Shortcut to Contacts

You will now see photos of your recent and favourite contacts on the multi-tasking screen (accessed by pressing the home button twice). You can tap on each contact to make a call or send a message.

New features in Mail

Apple has taken pointers from popular third-party email apps like Mailbox and Triage, and introduced a new set of features in its default mail app. These include the introduction of swipe gestures to mark an email as read or flag it for later action. The app will also automatically recognise dates, addresses, phone numbers and flight reservation details in emails so that you can add them to your calendar/phone book with a single tap.

New features in Messages

iOS 8 will enable you to add voice and video messages and location details from within the Messages app itself. You can also create groups within the Messages app and add or remove contacts from the groups.

New keyboard

The iOS 8 keyboard will predict your next word as you type based on your previous usage, and offers suggestions. You will also be able to install and use third-party keyboards, a feature that is very popular among Android users.

iCloud Drive

iCloud Drive is similar to existing services like Dropbox and Google Drive and can be installed on Windows 8 PCs and OS X machines. Doing so will let you access all files saved on iCloud on any device and work on them with the apps of your choice.

Focus on Health

Apple introduced a new Health app for iOS 8 that can collate information collected on you by other apps and put them in one place for easy reference. Apple also introduced Healthkit, a new tool that developers can use to access your health data for use in their own apps or to communicate with the other health apps you have installed on your iDevice.

Photos

iOS 8 will get a new iCloud Photo Library that will save all your full resolution photos on the cloud and leave ‘light’ versions of them on your phone to save space. You’ll also be able to search through your photos now based on date, time, location and album name of the photos. iOS 8 will also bring a number of photo editing tools and introduce time-lapse video recording that lets you capture a subject over a duration and watch an accelerated version of events.


Spotlight Search

Apple claims that it has improved the search tool inside iOS 8 and that now it considers context and location when delivering results. Instead of opening your browser, you’ll be able to search for news, wikipedia pages, music and apps directly from the spotlight search tool.

Greater integration with Mac OS

Apple made it clear that it was focused on improving the integration between iOS devices and Mac machines. With iOS 8 installed on your iPad/iPhone and OS X Yosemite installed on your Mac (and provided you’re signed into the same iCloud account on all the devices), you’ll be able to start working on an email, browse a website or work on a file in Pages/Keynote/Numbers on either device and continue doing the same when you move to the other device. Your iPad and Mac will also be able to answer calls and receive messages if your iPhone is on the same Wi-Fi network.

Family Sharing

In iOS 8, you will be able to share stuff that you bought from iTunes and the App Store with six other people without needing to share your account details. Parents will also be able to approve a purchase made by a child on another device and the entire group (or ‘family’ as Apple calls it) will also be able to contribute to a single Family photo album. The ‘Find my iPhone/iPad’ feature has also been extended to the ‘family’ and family members will be able to help each other find their misplaced devices.

Developers, developers, developers!

Apart from the focus on integration between iOS and OS X, the big message of the WWDC conference was developer outreach. Apple stated that it has opened up 4,000 APIs in iOS 8 to enable developers to add more functionality to their apps. This includes the ability for developers of social networking apps to add their app as the default sharing destination, for developers of photo editing apps to add their tools and filters to the default camera app, among others. Apple also revealed Swift, a new programming language that, it claimed, made it easier to code apps and software for iOS and OS X.

Gaming

Apple also paid special attention to game developers by introducing three new game developement tools: SpriteKit, for light 2D games; SceneKit, for casual 3D games and; Metal, for high-performance ‘console’-level games.

Google Chrome extensions

Extensions are small software programs that can modify and enhance the functionality of the Chrome browser. You write them using web technologies such as HTML, JavaScript, and CSS.

Extensions allow you to add functionality to Chrome without diving deeply into native code. You can create new extensions for Chrome with those core technologies that you’re already familiar with from web development: HTML, CSS, and JavaScript. If you’ve ever built a web page, you should feel right at home with extensions pretty quickly.

 

Getting Started

The very first thing we’ll need to create is a manifest file named manifest.json. The manifest is nothing more than a JSON-formatted table of contents, containing properties like your extension’s name and description, its version number, and so on. At a high level, we’ll use it to declare to Chrome what the extension is going to do, and what permissions it requires in order to do those things.

Manifest

 

{
  "manifest_version": 1,

  "name": "Name of Your Extension",
  "description": "About your Extension",
  "version": "1.0",

  "permissions": [
    "https://google.com/"
  ],
  "browser_action": {
    "default_icon": "icon.png",
    "default_popup": "popup.html"
  }
}

 

Resources

You probably noticed that manifest.json pointed at two resource files when defining the browser action: icon.png and popup.html. Both resources must exist inside the extension package.

  • icon.png will be displayed next to the Omnibox, waiting for user interaction.
  • popup.html will be rendered inside the popup window that’s created in response to a user’s click on the browser action. It’s a standard HTML file, just like you’re used to from web development, giving you more or less free reign over what the popup displays.
  • popup.js – popup.html requires an additional JavaScript file in order to do the work.

You should now have four files in your working directory: icon.png, manifest.json, popup.html, popup.js. The next step is to load those files into Chrome.

 

Load the extension

Extensions that you download from the Chrome Web Store are packaged up as .crx files, which is great for distribution, but not so great for development. Recognizing this, Chrome gives you a quick way of loading up your working directory for testing. Let’s do that now.

  1. Visit chrome://extensions in your browser (or open up the Chrome menu by clicking the icon to the far right of the Omnibox: The menu’s icon is three horizontal bars.. and select Extensions under the Tools menu to get to the same place).
  2. Ensure that the Developer mode checkbox in the top right-hand corner is checked.
  3. Click Load unpacked extension… to pop up a file-selection dialog.
  4. Navigate to the directory in which your extension files live, and select it.

If the extension is valid, it’ll be loaded up and active right away! If it’s invalid, an error message will be displayed at the top of the page. Correct the error, and try again.

 

Samples

 

Unity 4.3 with new 2D toolsets

After capturing 3D game development market, Unity is now all set to capture 2D game development with release of Unit 4.3

Detailed release notes can be found here

Here is list of items related to 2D

Added a new asset type: Sprite

  • Sprite is defined by a Texture2D, rectangle and a pivot point.
  • Sprite has an internal mesh generated based on pixel alpha values, PRO only feature.
  • Sprite supports vertex snapping (V)
  • Added Sprite under the “GameObject/Create Other/” menu.

Sprite Mode added to TextureImporter

  • Single Sprite option will generate one Sprite using the entire texture.
  • Pixels to Units defines the mesh size of the Sprite to 1 / value.
  • Pivot property defines sprites center point.
  • Manual option allows custom Sprite definitions.
  • Sprite Editor button opens new window for editing sprites: Add / Delete sprites manually; Automatic and Grid based slicing; Change sprite names.
  • Extrude Edges property added to Advanced mode. It can be used to extrude the internal sprite mesh edges if needed for custom texture-space effects.
  • Mesh Type property added to Advanced mode. It can be used to change the type of mesh generated: Full Rect or Tight (PRO only feature)

Added a new renderer component: SpriteRenderer

  • Renders one Sprite.
  • Does not requires a material to have _MainTex texture set.
  • Uses Material Property Blocks to patch _MainTex with the correct (original or atlased) texture for the active Sprite.
  • Supports dynamic batching with non-uniform scaling.
  • Color property sets the vertex color.
  • If no material is specified, Sprites/Default material (alpha-blended) is used.

Added 2D mode button to scene view

  • Scene view axis widget is hidden on 2D mode
  • Scene view locks to the XY plane.
  • Move tool changes to a dedicated 2D tool with familiar functionality.
  • Move tool have special Keyboard modifiers
  • Picking is now alpha-based.
  • Dragging a sprite to the scene will create a new GameObject with a SpriteRenderer.
  • Dragging multiple sprites to scene will create a new GameObject with a SpriteRenderer and sprite animation.

Sprite Packing (Atlasing), PRO only feature

  • Atlas is defined by changing the PackingTag property in texture importer.
  • Packing is based on the generated mesh.
  • Packing will respect texture import settings and will only pack textures together if format, usage mode, color mode, compression quality, filter mode and mip-map settings match.
  • Window/Sprite Packer menu option opens a new window for inspecting the automatically generated sprite atlases.
  • Decision of which sprites to place into which atlases can be fully customized by implementing a custom sprite packer policy (UnityEditor.Sprites.IPackerPolicy).
  • Packing is completely transparent to the user, works in Play mode and is compatible with asset bundles.

Integrated Box2D physics engine and a set of 2D physics components

  • Rigid-body component (RigidBody2D) supporting static/kinematic/dynamic body, mass, linear/angular velocities, drag and auto-sleeping, and fixed-angle constraint.
  • Circle collider (CircleCollider2D) supporting a centroid and radius.
  • Box collider (BoxCollider2D) supporting a centroid and a size.
  • Polygon collider (PolygonCollider2D) supporting an arbitrary set of polygons. It can be initialized to the shape of a sprite by dragging the sprite onto the component.
  • Distance joint (DistanceJoint2D) supporting a hard maximum distance between rigid-bodies.
  • Hinge joint (HingeJoint2D) supporting linear and angular limits and motor drive.
  • Slider joint (SliderJoint2D) supporting an axis constraint, linear limits and motor drive.
  • Spring joint (SpringJoint2D) supporting a soft (spring) distance between rigid-bodies.
  • Added a new physics material PhysicsMaterial2D to share friction and bounciness including default material support.
  • Added a 2D physics manager to contain scene settings such as gravity etc.
  • Added spatial queries in Physics2D scripting class for line and ray-casting and geometry overlap checks.
  • Added both trigger and collision callbacks for 2D colliders including collision points and normal.
  • Added 2D physics profiling information to the profiler.
  • Editor: Hold down shift to quickly modify 2D colliders.

Image Hover Effect to display Captions

Image hover effect is fun way to interact with any image.

Here I found number of wonderful tutorials to implement Image Hover using various method.