TUAW’s Daily App: Streets of Rage 2

Yes, the classic beat-em-up joined Sega’s iOS library a little while back, and you can get in on the fun for US$2.99. The second iteration in the very famous 2D fighting series features Skate, Axel, Blaze and Max going to war against Mr. X and his army through all eight levels of the original game.

Unfortunately, this version is short on extras. There’s no Game Center integration. There is local Bluetooth multiplayer, but that’s about it. The controls, as you can see above, aren’t much more than serviceable, either. In other words, this is more a straight port than anything else. You can actually play the original version in Japanese, but you have to switch your device’s language to Japanese, and even then, the differences aren’t that big a deal.

Still, Streets of Rage 2 is a solid beat-em-up title, and you might have fond memories of this one on your Sega Genesis or Sega Game Gear. If the price is too high, just hang on — Sega routinely puts its titles on sale, and this one is likely to drop in the future.

TUAW’s Daily App: Streets of Rage 2 originally appeared on TUAW on Wed, 20 Apr 2011 08:00:00 EST. Please see our terms for use of feeds.

Source | Permalink | Email this | Comments

Apple granted patent for space-saving touch display RFID tag reader

Apple was granted a whopping 18 patents on Tuesday states a PatentlyApple article. Included in the batch are iOS Maps and Compass app design patents, a patent for the iPhone 4’s stainless steel band and another one for reducing wait times in call centers. However, the most interesting patent from the group appears to allow a touch display to act as a space-saving RFID tag reader.

Apple states that its reason for embedding an RFID tag reader into a touch display is so that the display could also function as an RFID transponder, which would save space since no other RFID antennas would be necessary. Apple envisions many uses for this touch display-embedded responder, including allowing your iPhone to double as a badge reader. Such a reader would perhaps even allow for eventual replacement of employee security badges, such as those worn by Apple employees on the Cupertino campus. One could simply swipe their iPhone to enter a secured area. Other uses include the obvious credit and debit card payment systems and data sharing features, such as when you want to quickly swap contact information with others.

While it’s generally accepted that RFID and NFC functions are going to become part of a smartphone’s everyday use in coming years, it’s nice to see Apple is constantly finding ways to add new tech to iPhones while at the same time reducing the device’s physical size.

Apple granted patent for space-saving touch display RFID tag reader originally appeared on TUAW on Wed, 20 Apr 2011 07:30:00 EST. Please see our terms for use of feeds.

Source | Permalink | Email this | Comments

RockMelt adds iPhone app for social browsing

Rockmelt

RockMelt is launching an iOS version of its browser with built-in social networking functions, offering automatic syncing between desktop and portable versions.

This automation, company founder Eric Vishria says, is what differentiates their browser from other offerings. “We’re not going for the power users, the ones who already know how to customize a browser,” he says. Instead they’re aiming at the vast majority of users who just want to get on reading what interests them instead of tweaking settings.

Following the termination of Flock, RockMelt looks to be going from strength to strength, and the new mobile version can only help its progress, especially with the automatic syncing of bookmarks, contacts and settings.

The app hasn’t been approved by Apple yet, but it’s expected that it will be available by the end of this week.

RockMelt adds iPhone app for social browsing originally appeared on TUAW on Wed, 20 Apr 2011 07:00:00 EST. Please see our terms for use of feeds.

Source | Permalink | Email this | Comments

Reuters: iPhone 5 will ship in September

Hold onto your seats, it’s another “when will the iPhone 5 ship” rumor. This time the rumor originates from Reuters, which tweeted late last night: “FLASH: Apple suppliers to start production of next-gen iPhone in July, Aug; begin shipping in Sept – sources.” The associated article also states the iPhone 5 will have a faster processor but offers no additional details.

This September shipping date rumor contradicts earlier ones that the iPhone 5 wouldn’t begin production until September with an October or later ship date. This is just my two cents, but my money is on the Reuters rumor. With Apple apparently focusing WWDC solely on software this year, it makes sense that the company would hold off introducing an iPhone 5 until September when iOS 5 will likely launch. It also makes more sense launching the iPhone in September — and not later — as it would allow Apple to sync iPod touch and iPhone hardware launches. In the past when the iPhone has launched in June, everyone knew what new hardware features were most likely going to appear in the next iPod touch when its annual refresh came in September. With a synced launch date, the new iPod touch would have the same “wow” factor that the iPhone always gets.

Reuters: iPhone 5 will ship in September originally appeared on TUAW on Wed, 20 Apr 2011 06:30:00 EST. Please see our terms for use of feeds.

Source | Permalink | Email this | Comments

In the Apple/Samsung lawsuit, the picture doesn’t tell the story

There are some Android cheerleaders out there passing around the error-ridden image above, minus the big red stamp, of course. The Android advocates’ assertions are that Apple is accusing Samsung of ripping off the iPhone (which was first shown in January 2007) when, in actuality, the iPhone looks remarkably similar to the Samsung F700, which was announced at CeBIT in 2006. Oh, smack! Right? Wrong.

While the F700 was indeed announced at CeBIT in 2006, the actual phone wasn’t shown until February 2007 — a month after Apple showed off the iPhone. “The F700 was rushed out to show after the iPhone’s debut, and was regarded as an ‘answer to the iPhone’ by reports of the day, one of which observed that it ‘looks awfully familiar’,” according to AppleInsider, which has put together an excellent post debunking the above image.

“LOL @ Apple?” More like “LOL @ Android Photoshoppers.”

In the Apple/Samsung lawsuit, the picture doesn’t tell the story originally appeared on TUAW on Wed, 20 Apr 2011 02:00:00 EST. Please see our terms for use of feeds.

Source | Permalink | Email this | Comments

iPhone 5 in September, Design Similar to iPhone 4?

Reuters reports that Apple plans to begin iPhone 5 production in July and this next-generation of iPhone will be ready for shipping in September.

Apple Inc suppliers will begin production of its next-generation iPhone in July this year, with the finished product likely to begin shipping in September, three people familiar with the matter said on Wednesday.

The upcoming iPhone 5 is said to look similar to the current iPhone 4. The iPhone 5 is also rumored to have bigger screen, thinner bezel, 64GB model, dual-core A5 processor and graphics enhancements found in the iPad 2, and new cloud-based functionality through Apple’s upcoming iOS 5.

The new smartphone will have a faster processor but will look largely similar to the current iPhone 4, one of the people said. They declined to be identified because the plans were not yet public.

Analyst Ming-Chi Kuo with Concord Securities has heard that “the iPhone 5 will include the faster A5 processor already found in the iPad 2, as well as a higher resolution 8 megapixel rear camera. He has also been told that Apple will switch to a Qualcomm baseband for both GSM and CDMA models, along with an improved antenna design.”

If true, the iPhones are going to be grouped with iPods from now on. Apple typically holds a fall media event at the beginning of September for iPods. Apple promises to unveil iOS 5 at WWDC 2011, kicks off June 6th. [9to5mac]

You can follow us on Twitter, Join us at Facebook, and Subscribed to RSS Feed to receive latest updates.

Digg Twitter StumbleUpon Facebook Reddit del.icio.us

Real Racing 2 HD for iPad 2 Gets 1080p TV-out

Real Racing 2 HD gets full 1080p Video-out and dual screen gaming support for the iPad 2. With this update, just plug your AV cable into your iPad 2, and play Real Racing 2 on full 1080p (1920×1080) resolution.

Are you ready for the ultimate racing experience for iOS? Optimized specifically for iPad and iPad 2, Real Racing 2 HD is a heart-pounding, visually astounding 3D racer that puts the steering wheel directly in your hands. The expansive, 10-plus hour career mode and extensive, one-of-a-kind multiplayer means the fight for first place is never over.

What’s New In This Version:

  • Full HD 1080p TV-out and dual screen gaming support on iPad 2. Experience Real Racing 2 HD like never before in stunning, true 1080p while real-time racing telemetry is displayed on iPad 2
  • Enhanced visuals for Alkeisha Island and San Arcana tracks on iPad 2
  • Memory optimizations to minimize crashes
  • Various minor improvements and fixes

You can purchase an download Real Racing 2 HD from the App Store for $9.99. [Download Link]

You can follow us on Twitter, Join us at Facebook, and Subscribed to RSS Feed to receive latest updates.

Also checkout:

Digg Twitter StumbleUpon Facebook Reddit del.icio.us

Android App Development: Android Content Providers

In the last post we created a sqlite database android application. We saw that the database file is stored in the file system directories of that application meaning that the database cannot be accessed from another application. You can apply the same thing on any resources within your application (Files, images, videos, …).

But there is a method to expose your data across multiple applications: Content Providers.
Content Providers expose an application’s data across all other applications, you can use content providers to store or retrieve data of one application from any other application.

Android default content providers:

There are many built-in content providers supplied by OS. They are defined in the android.provider package, they include:

  • Browser.
  • Calllog.
  • Live Folders.
  • Contacts Contract.
  • Media Store.
  • Settings.

content providers basics:

The concept of content providers is pretty similar to the concept of ASP.NET Web Services they provide data encapsulation through exposing data by URis. Any content provider is invoked by a URi in the form of content://provider_name . for example the URi of the Contacts content provider that retrieves all contacts is in the following form content://contacts/people. If you want to retrieve a particular contact (by its ID) then it would be in this form: content://contacts/people/5.

You do not need to write the URis of the content providers manually as they are stored as constant values in their respective content provider classes.

The Uri of the Contacts phones content provider is defined in:

ContactsContract.CommonDataKinds.Phone.CONTENT_URI

(content://com.android.contacts/data/phones)

The Uri of the browser Bookmarks content provider is defined in

Browser.BOOKMARKS_URI

(content://browser/bookmarks)

The Media store (Video) stored in external device (SD Card) is defined in

MediaStore.Video.Media.EXTERNAL_CONTENT_URI

(content://media/external/video/media) and so on.

Content providers allow you to perform basic CRUD operations: Create,Read, Update and Delete on data.

Making Queries:

To retrieve data from a content provider we run a sql-like query using ManagedQuery object. The ManagedQuery object returns a cursor holding the result set.

To retrieve a list of all contacts and display them in a ListView
We first define our activity xml layout:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
    <TextView
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:id="@+id/txt"
  />
<ListView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/list"
/>
</LinearLayout>

And define the layout of each row in the ListView:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:orientation="horizontal"
  >
  <TextView
  android:layout_width="100px"
  android:layout_height="wrap_content"
  android:id="@+id/txtName"
  android:layout_weight="1"
  />
  <TextView
  android:layout_width="100px"
  android:layout_height="wrap_content"
  android:id="@+id/txtNumber"
  android:layout_weight="1"
  />
</LinearLayout>

Remember to add the following permission to the manifest.xml file

<uses-permission android:name="android.permission.READ_CONTACTS"></uses-permission>

To retrieve the contacts and bind them to the listView:

String [] projection=new String[]{ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME
,ContactsContract.CommonDataKinds.Phone.NUMBER,ContactsContract.CommonDataKinds.Phone._ID};
        txt.setText(ContactsContract.PhoneLookup.CONTENT_FILTER_URI.toString());
       Uri contacts =  ContactsContract.CommonDataKinds.Phone.CONTENT_URI;

        Cursor managedCursor = managedQuery(contacts,projection,null,null,null);
        //Cursor managedCursor =cr.query(contacts, projection, null, null, null);
        ListAdapter sca=new SimpleCursorAdapter(this,R.layout.listrow,managedCursor,projection,to);
        list.setAdapter(sca);

The above code retrieves all the contacts in the following steps:

  1. We first define the projection of our query, we define the columns we want to retrieve in the result set.We define a String array containing the names of the columns we want to retreieve.The contacts column names are defined in ContactsContract.CommonDataKinds.Phone class.Note that we need to retrieve the _ID column as the cursor that retrieves the data expects such a column to be there.
  2. We specify the Uri of the content provider ContactsContract.CommonDataKinds.Phone.CONTENT_URI
  3. We retrieve the data by a cursor
    Cursor managedCursor = managedQuery(contacts,projection,null,null,null);The cursor is retrieved by executing a managedQuery which has the following parameters: 

    1. The Uri of the content provider.
    2. A String Array of the columns to be retrieved (projection)
    3. Where clause.
    4. String array containing selection arguments values.
    5. String representing the order by clause, we can use it but here it will be null. If we want to sort the contacts by name it would be ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME +“ asc”
  4. Then we create a list adapeter using the cursor and bind the ListView to it.

The previous example retrieves all the contacts but what if we want to retrieve a certain contact by name:
There are two ways:

  1. Using the same code above but adding a where clause and selection arguments to the managed wuery so it becomes like this:
    Cursor managedCursor = managedQuery(contacts,projection,ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME+"=?"
  2. ,new String[]{"Jack"},null);

    This retrieves contact info of a person named Jack.

  3. The other method is to inject the query in the Uri, instead of using Uri
    contacts =  ContactsContract.CommonDataKinds.Phone.CONTENT_URI;

    we use:

    Uri contacts=Uri.withAppendedPath(ContactsContract.CommonDataKinds.Phone.CONTENT_FILTER_URI,
  4. Uri.encode("Jack"));

    This is equivalent to the following Uri content://com.android.contacts/data/phones/Jack.

Inserting,updating and deleting:

To insert data using a content provider there are two methods

First:
Using the Insert() method of your activity’s content resolver object. Like this example t insert a new bookmark to the browser:

ContentValues cv=new ContentValues();
      cv.put(Browser.BookmarkColumns.TITLE, "End Gadget");
      cv.put(Browser.BookmarkColumns.URL, "http://www.engadget.com/");
      cv.put(Browser.BookmarkColumns.BOOKMARK,1);
      Uri u= getContentResolver().insert(Browser.BOOKMARKS_URI, cv);

We create a ContentValues object and add to it all the required fields, then we call getContentResolver().insert method which returns the Uri of the newly inserted item.
It would be in this example content://browser/bookmarks/17
We can use the generated Uri to update or delete the item later.

Second:
We can replace the getcontentresolver().insert() method with bulkInsert method if we want to insert multiple items at a time.
The bulkInsert(Uri url,ContentValues[] values) method returns the number of new items created.

Updating info using Content Providers:

To update data using content providers, we use getContnetResolver.Update() method:
This code updates the title of an existing browser bookmark:

ContentValues cv=new ContentValues();
cv.put(Browser.BookmarkColumns.TITLE, "End Gadget mod");
      //uriBook= getContentResolver().insert(Browser.BOOKMARKS_URI, cv);
      getContentResolver().update(Browser.BOOKMARKS_URI, cv, BookmarkColumns.TITLE+"=?", new String[]{"End Gadget"});

the Update method has the following parameters:

  • Content Providers Uri
  • ContentValues object having the new values
  • Where clause
  • String array of the where clause arguments values

Deleting info using Content Providers:

To delete info we use getContentResolver.Delete() method
To delete a bookmark:

getContentResolver().delete(Browser.BOOKMARKS_URI,BookmarkColumns.TITLE+"=?", new String[]{"Mobile Orchard"});

The delete function has the following parameters:

  • Content Providers Uri
  • Where clause
  • String array of the where clause arguments values

Remember to add the following permissions to the manifest.xml to add and read browser bookmarks:

<uses-permission android:name="android.permission.WRITE_CONTACTS"></uses-permission>
<uses-permission android:name="com.android.browser.permission.WRITE_HISTORY_BOOKMARKS"></uses-permission>

That is it for todays tutorial, check back next week for my next Android App Development Tutorial.

Tight Typography Tips #6 – “Stay Consistent”

This entry is part 6 of 6 in the series Ten Tight Typography Tips

Personally, this is probably the most difficult tip for me to follow. I always start the project and begin formulating a style and theme, then as creativity takes over and I continue to experiment with what else I could include or “Oh, what would that look like…”, I find myself going down a creative rabbit trail. Next thing you know the project is done, but it looks like four different artists played “Tag, You’re up now!” with my comp. By this I mean that my last five seconds look nothing like my first five seconds.

Now, there isn’t a consistency police force who will take you away for this offense, in fact… the vast majority of viewers won’t even clue in to this. But this is something to watch for in order to grown as an artist and to raise the bar on what you’re putting out. Once you get started on a project, stop periodically and go back to the beginning. Look at the pacing, colors, layout, elements… try to keep at least one of those factors consistent throughout the entirety of the piece all the way till the very end. When you are intentional about maintaining a similar ending to the beginning, you’ll be surprised how much more impact the project will have in the viewers’ memory. Again, they might know it, but they’ll know it…


Tutorial

Download Tutorial .mp4

File size: 42.1 MB


Read More

Tight Typography Tips #5 – “I Like The Way You Move”

This entry is part 5 of 6 in the series Ten Tight Typography Tips

One of the biggest elements that will bump your animation from amateur to amazing is the movement. This is the ultimate yet simplest test of your abilities in the field of animation… how well you animate. We always know when we see a polished, professional piece. The goal is for your animations to feel natural and not be overly noticeable or distracting. I often refer to our Premium Tutorial about the “12 Basic Principles of Animation” as it has been quiet influential in my growth as an artist. I actually went out and bought the book this originated from just so I’d have my own copy.


Tutorial

Download Tutorial .mp4

File size: 70.9 MB

Additional Aetuts+ Resources


Read More

Clarifying Our Discount Membership Promotion

Hi everyone,

I’m sure you would have noticed the $0.99 membership promotion we ran yesterday.

Tuts+ has never tried Promotion of a membership in this way before. Ever. We are not internet marketers so we are still learning and still make mistakes. We didn’t know what would be received poorly and what would be taken positively.

In proofing the post I wasn’t as thorough as I should have been. I wasn’t clear that it would default to a regular $9 membership after the first month. Naturally, this caused anger. To make sure nobody is adversely impacted from this I will be individually emailing those who were fortunate enough to get the offer. If they don’t get the email then we’ll happily refund them.

There was some confusion around the discount code. There was only the one code for all of the sites, but it had many uses. It ran out very quickly, in 3.5 hours. Again, this was the first time we’ve ever done something like this, and there was no way to tell how popular it would or wouldn’t be. There’s a high likelihood that we’ll do this or something similar to it again, but we can be confident in saying the same mistakes wont be made again.

I’m sorry for any confusion or disappointment that was caused by this, we’ll know how to better handle it next time.


Read More

Outstanding Vector Art from Creattica


High-quality vector work always blows me away. Creattica, Envato’s gallery website of great design and inspirational imagery, is always a great source to find a little vector inspiration. Here’s a quick rundown of some of the awesome work that has been recently submitted to Creattica under the vector graphics category.
Continue reading “Outstanding Vector Art from Creattica”

Workshop #169: Mourning Raven by Excellion

At Audiotuts+ we regularly put up a reader track for workshopping and critique (find out how to submit a track). This is how it works: you upload your song, and every week or so we’ll publish one here and step away from the podium. The floor is yours to talk about the track and how the artist can fix problems in and improve upon the mix and the song.

This track has been submitted for your friendly, constructive criticism. They have put their track (and their heart and soul) in your hands to learn and get useful feedback.

  • Do you enjoy the song or track itself? Does it have potential?
  • Can the arrangement be improved?
  • How did you find the mix? What would you do differently?
  • What do you enjoy about the rhythm track? What can be done to improve it?
  • Is the choice of instruments relevant and effective for the style/song?
  • Are the lyrics (if any) effective? Does the style, arrangement and genre of the song suit them?
  • Can you suggest any specific techniques that might improve the track?
  • Do you have any other constructive feedback?

Mourning Raven by Excellion

Artist’s website: facebook.com/excellionband

Description of the track:

First track of Excellion’s new album “Welcome Home…My Son”.

Download audio file (MourningRaven.mp3)

Terms of Use: Users can stream the track for the purposes of giving feedback but cannot download or redistribute it.

Have a listen to the track and offer your constructive criticism for this Workshop in the comments section.


Submit Your Tracks for Workshopping

Need constructive criticism on your own tracks? Submit them using this form.


Read More