Twitter
Even
if you have never used Twitter, you will have heard of it. Twitter is
an app (and a website) that allows users to micro-blog (to send small
pieces of text information, no longer than 140 characters, to anyone who
wants to listen). After signing-up and selecting some people to
“follow,” you can receive “tweets” from these people and you can see
what they have to say.
To sign in to the Twitter client app,
you have to enter in your username (or email address) and password. This
information is sent to the web service that checks your credentials and
either signs you into Twitter. As with many utility apps, Twitter has a
backend server that deals with the interactions between the user with
the app and the information stored on the Twitter databases. Sites, like
Twitter, that want to allow you (as a developer) to use their web
services, often provide Application Program Interfaces (APIs). The
precise details of how to implement the API depend upon the specifics of
that API. For example, Twitter has different APIs available in
different computer programming languages. Twitter provides methods in
it’s APIs for almost everything that you can do with Twitter, making it
easy for developers to add Twitter functionality into mobile apps.
For
an Android app, the Java API Twitter4J might be the best API choice.
While in iOS5, Apple has provided a Twitter framework within the
operating system. This makes accessing Twitter functionality from within
apps on iOS very easy. Twitter also provides APIs for anyone who wants
to connect to their web services.
However, if you want to create an app with your own dynamic content, you might have to create your own
web
service to use with a custom API that you code by hand. This often
involves web programming – using a different computer programming
language than the one used to create your app. In order to create an app
that provides the user with customized dynamic content from the
internet, this backend programming is done to set-up your database. It
will then be accessed through the web services on your server.
Now let’s take a look at a photo app.
Instagram
Instagram
is an app that allows users to share photos. You take a photo using the
camera in your iOS or Android device, then you apply vaious filters to
the image to create the illusion of a vintage photo. Lastly,
you can
upload the photo to Instagram and optionally to Twitter, Facebook,
Foursquare and Tumblr. Once you’ve knocked yourself out with all the
sharing you’re doing, you can browse through other people’s photos and
leave sarcastic comments.
Instagram’s core purpose is to take a photo and share it.
Let’s deal with the photography process first:
To
use the camera feature of a phone, the app has to have the user’s
permission to use the camera. There are methods in mobile operating
systems that control the camera function. These are native features and
vary between platforms and, in the case of Android, specific hardware
setups. A camera instance is created programmatically, then the when a
picture is taken, the photo is stored on the device.
After
the photo is stored, Instagram gives the user options to change the
appearance of the photo. This is done through preset filters. The
programmers of Instagram created a number of preset filters that change
the way the photo looks by altering different combinations of the
technical specifications of the photo e.g. hue, lightness, saturation,
chroma, etc. By changing these technical specifications of the graphic
in specific areas of the photo, many different looks can be achieved.
After
the photo is saved with the desired filter applied, the photo is
uploaded to Instagram’s database, on their servers, using their API.
Instagram also allows users to upload their photos to other social
network sites using their respective APIs. The user is given the choice
of where to upload their photos.
Giving users enough choices,
without creating clutter or confusion, is one of the things that
Instagram does brilliantly. First, the user is presented with a range of
attractive filters to change the look of their photos; then they are
given access to a selection of social networking sites where they can
upload their photos. But don’t be fooled into thinking that more choice
equals happier users. Often, eliminating choice is the bravest and most
rewarding design decision – as well as the most profitable. Choice can
be bewildering, so make sure that most of the minor decisions are
already made for the user. An app with an array of options rarely sells.
It’s too confusing for a mass audience. Top designers don’t offer much
choice: They’ve already made all the right decisions on the user’s
behalf, leaving them to enjoy a few fun tweaks.
Read back - Android and iOS Utility Apps - Part 1
No comments:
Post a Comment