Bloggle with Harish

October 8, 2009

What cloud computing really means?

Filed under: Technology — harishblog @ 10:33 pm

The next big trend sounds nebulous, but it’s not so fuzzy when you view the value proposition from the perspective of IT professionals

Cloud computing is all the rage. “It’s become the phrase du jour,” says Gartner senior analyst Ben Pring, echoing many of his peers. The problem is that (as with Web 2.0) everyone seems to have a different definition.

As a metaphor for the Internet, “the cloud” is a familiar cliché, but when combined with “computing,” the meaning gets bigger and fuzzier. Some analysts and vendors define cloud computing narrowly as an updated version of utility computing: basically virtual servers available over the Internet. Others go very broad, arguing anything you consume outside the firewall is “in the cloud,” including conventional outsourcing.

Cloud computing comes into focus only when you think about what IT always needs: a way to increase capacity or add capabilities on the fly without investing in new infrastructure, training new personnel, or licensing new software. Cloud computing encompasses any subscription-based or pay-per-use service that, in real time over the Internet, extends IT’s existing capabilities.

Cloud computing is at an early stage, with a motley crew of providers large and small delivering a slew of cloud-based services, from full-blown applications to storage services to spam filtering. Yes, utility-style infrastructure providers are part of the mix, but so are SaaS (software as a service) providers such as Salesforce.com. Today, for the most part, IT must plug into cloud-based services individually, but cloud computing aggregators and integrators are already emerging.

InfoWorld talked to dozens of vendors, analysts, and IT customers to tease out the various components of cloud computing. Based on those discussions, here’s a rough breakdown of what cloud computing is all about:

1. SaaS
This type of cloud computing delivers a single application through the browser to thousands of customers using a multitenant architecture. On the customer side, it means no upfront investment in servers or software licensing; on the provider side, with just one app to maintain, costs are low compared to conventional hosting. Salesforce.com is by far the best-known example among enterprise applications, but SaaS is also common for HR apps and has even worked its way up the food chain to ERP, with players such as Workday. And who could have predicted the sudden rise of SaaS “desktop” applications, such as Google Apps and Zoho Office?

Cloud computing is a general term for anything that involves delivering hosted services over the Internet. These services are broadly divided into three categories: Infrastructure-as-a-Service (IaaS), Platform-as-a-Service (PaaS) and Software-as-a-Service (SaaS). The name cloud computing was inspired by the cloud symbol that’s often used to represent the Internet in flow charts and diagrams.

A cloud service has three distinct characteristics that differentiate it from traditional hosting. It is sold on demand, typically by the minute or the hour; it is elastic — a user can have as much or as little of a service as they want at any given time; and the service is fully managed by the provider (the consumer needs nothing but a personal computer and Internet access). Significant innovations in virtualization and distributed computing, as well as improved access to high-speed Internet and a weak economy, have accelerated interest in cloud computing.

A cloud can be private or public. A public cloud sells services to anyone on the Internet. (Currently, Amazon Web Services is the largest public cloud provider.) A private cloud is a proprietary network or a data center that supplies hosted services to a limited number of people. When a service provider uses public cloud resources to create their private cloud, the result is called a virtual private cloud. Private or public, the goal of cloud computing is to provide easy, scalable access to computing resources and IT services.

Infrastructure-as-a-Service like Amazon Web Services provides virtual server instances with unique IP addresses and blocks of storage on demand. Customers use the provider’s application program interface (API) to start, stop, access and configure their virtual servers and storage. In the enterprise, cloud computing allows a company to pay for only as much capacity as is needed, and bring more online as soon as required. Because this pay-for-what-you-use model resembles the way electricity, fuel and water are consumed, it’s sometimes referred to as utility computing.

Platform-as-a-service in the cloud is defined as a set of software and product development tools hosted on the provider’s infrastructure. Developers create applications on the provider’s platform over the Internet. PaaS providers may use APIs, website portals or gateway software installed on the customer’s computer. Force.com, (an outgrowth of Salesforce.com) and GoogleApps are examples of PaaS. Developers need to know that currently, there are not standards for interoperability or data portability in the cloud. Some providers will not allow software created by their customers to be moved off the provider’s platform.

In the software-as-a-service cloud model, the vendor supplies the hardware infrastructure, the software product and interacts with the user through a front-end portal. SaaS is a very broad market. Services can be anything from Web-based email to inventory control and database processing. Because the service provider hosts both the application and the data, the end user is free to use the service from anywhere.

The Top 10 Characteristics of a Successful Team

Filed under: Project Management — harishblog @ 10:28 pm

1. The Right Team Leader

  • A skillful leader helps the team maintain its focus on major issues.
  • He or she enhances communication in order to be sure that all the possible solutions are being heard.
  • A good leader is masterful with people and team-process skills.
  • He or she avoids giving advice, but rather, leads the team from problem identification to a plan of action.

2. The Right Team Goals

Team goals are derived from critical farm problems that influence whether the business will exist in ten or twenty years such as the following:

  • 30 percent increase in milk sales.
  • Change in management styles from stall barn to milking parlors.
  • Sale or transfer of the business.
  • Arranging a new partnership for the business.
  • Specialization in milk production only.
  • New ventures.
  • Managing non-family labor.
  • Addressing complex unresolved management problems.

Teams should avoid farm problems that don’t require the skills, experience, and judgment of off-farm advisers. This is a misuse of valuable resources and will eventually lead to dissatisfaction and dissolution of the advisory team.

3. The Right Team Members

Team members and team problems should be well matched. As the team sets new goals, the composition of the team should be re-evaluated. Having a crop consultant or veterinarian on an intergenerational farm transfer team is likely to underutilize the crop consultant or veterinarian’s abilities. An estate planner or attorney might be a better choice.

Outstanding team members should have unique skills, experiences, and judgment not resident on the farm staff. They should also be team players and believe in the team process. Team members that have cross-purposes or hidden agendas can destroy a team’s effectiveness and will have to be removed from the team.

4. The Right Meeting Location

A team meeting is not a committee meeting but a highly creative process that benefits from locations that foster thinking and orderly discussion. Teams should meet in an environment similar to a boardroom, comfortable and away from interruptions and distractions.

5. The Right Solution to Critical Problems and Measuring Outcomes of Actions

Complex problems rarely have simple solutions. Using processes for making decisions can clarify solutions, but solutions often need refinement over time. By frequently tracking progress toward goals and using measuring techniques, the team can monitor the degree of success and evaluate when to intercede. Also, the monitoring process helps advisers see progress and assess their time commitment. Without a measured benefit advisers cannot continue to justify their commitment as team members.

6. An effective monitoring system for Tracking progress

A well-designed monitoring method will help your team determine when its action plan needs to be improved.

For more information about monitoring and evaluation, see Team Tools.

7. The Right Plan of Action

Without a clear action plan the wishes of the team may never be completely implemented. Action plans can be simple but should be in writing so the staff implementing the plan can know what is expected, what is being measured, when results are expected, and refer back to it over time. The action plan becomes the beacon for the team.

8. Communication

Ongoing communication is important between meetings as well as during team meetings.

For more information about effective communication, see the coordinator section of Team Roles.

9. Regular Evalutation of the team’s Performance

Stepping back and asking, “Could we do our team work better?” is a good start toward evaluating your team’s performance.

For more information about this, see Reorganizing Your Team.

10. Celebration of Successes

It is important that you all step back from time to time and acknowledge your progress and celebrate your successes, both small and large.

Secrets of Successful Teams

Filed under: Project Management — harishblog @ 10:25 pm

To be a success is not always to be a success individually. In fact, most of the time we achieve our successes as part of a team. That is why I want to devote this issue to the secrets of successful team.

We are all part of teams. Our family is a team. Our place of work is a team. The community groups we belong to are teams. Sometimes we are the team leader or “coach,” while other times we fulfill the role of follower, or “player.” It is so important then for us to understand teams and how they work, especially those who achieve success – the achievement of their desired goal.

In my life I have been on some successful teams, and some not so successful teams. This includes both athletically as well as professionally. When I was growing up, I worked for seven years with the Seattle Supersonics, our local National Basketball Association team. They were at times unsuccessful, and, in 1979, my second year working there, the most successful team in the league, winning the World Championship. I have been able to see firsthand what makes the difference between the unsuccessful teams and the successful ones.

Here are some principles that I know, when implemented on a regular basis, can turn any lackluster team into an outstanding one! These principles can be applied to your family, your business, your organization, and yes, your sports team. Enjoy.

Communication Leader
The leader needs to communicate the vision. If they are setting the pace, they need to let people know where they are going so that the team can follow. The coach always does a pre-game talk, laying out the vision.

The leader communicates the vision frequently, so as to always be updating the team as to where they are at and what changes need to be made. The coach doesn’t relegate the direction he gives to the pre-game, he coaches and communicates all the way through the game.

Team
Watch a good basketball team. They are talking to each other all of the time. Helping one another out, encouraging one another, praising one another, and telling each other how they can make changes so the same mistakes aren’t made again. The same is true of successful teams in the professional world and in life in general.

Excellence
The truly great teams are teams that are committed to excellence. In everything they do, their goal is to achieve at the highest level. And this commitment is held throughout the team and at every level. A successful team cannot have members who are not committed to excellence because in the end they will become the weak link.

Followership
If you want a fascinating read, pick up The Power of Followership, by Robert Kelley. The author basically makes the point that the secret to getting things done lies not only in great leadership, but in how well the rest of the people, 99% of the team, follows the leadership. Good teams are filled with people who are committed to following and getting the job done.

Understanding Roles
Pardon the Chicago Bulls analogy, but it is so clear. When the game was on the line, with only one shot left, everyone, the coaches, the players, the 20,000 people watching in the stadium, and millions watching on TV, knew who would shoot the last shot. That was Michael Jordan’s role.

Every team works best when the members of the team have clearly defined and understood roles. Some do one thing, others do another. One isn’t better or more important than the other, just different. When teams operate out of their strengths and their roles, they win.

Strengths and Weaknesses
This brings me to strengths and weaknesses. Every team member has strengths and weaknesses. The successful teams are those who on a regular and consistent basis enable the members to operate out of their strengths and not out of their weaknesses. And what is one person’s strengths will cover another’s weakness. This is teamwork, enabling all of the bases to be covered.

Fun
The team that plays together stays together. Is your team all work and no play? If you’re smart, that will change. Get your team out of the office once a month and go have some fun. Enjoy one another. Enjoy life. It will bring a sense of bonding that can’t be made even in “winning.”

Common Goals and Vision
I have found that these need to have three aspects. Short, simple and clear.

Can you say it in less than 30 seconds? Is it simple? Can you and others understand it? Does the team all know what they are working together for?

Appreciation
All through the “game,” successful teams appreciate one another and show it in a variety of ways. The coach shows it to the players, the players show it to the coach, and the players show it to one another.

Here is a “Successful Teams” Checklist for you to evaluate with.

  • Is there communication between coach and players and from player to player?
  • Is your team committed to excellence?
  • Do those on the team know what it means to follow?
  • Does everyone on my team know their specific role?
  • Do the individuals on our team regularly operate out of their strengths as opposed to their weaknesses?
  • Does our team take a break from time to time to just have fun together?
  • Do we understand our common goals and vision? Can we all state it (them)?
  • Is there a sense of and communication of genuine appreciation among my team?

September 14, 2009

What makes for a successful Project Manager?

Filed under: Project Management — harishblog @ 11:43 pm

Here are some things I came up with off the top of my head, but I’m certain that there are many more.

Practicing Servant Leadership – If you’ve gotten into Project Management for the power and the glory, think again – being a Project Manager means being at the beck and call of everyone involved in the project, from the project sponsor to the lead developer to the QA tester. It’s being able to remove the obstacles that team members face on a daily basis so they can focus on getting the work done. It’s truly serving the team, and the project’s best interests, not focusing on your own needs.

Becoming a better Strategic Planner – No one can truly predict the future, but as Project Managers, we need to work on anticipating the unknown, mitigating risks, thinking about what could happen. It’s been my experience that the worst can and *will* happen so spending time dreaming up strategies on dealing with the unpleasant “what-ifs” is never time wasted, and can only work in your favor. If possible work on being proactive rather than reactive – two steps ahead, instead of one step behind.

Being a great Communicator- This means not only being able to disseminate information to upper Management, stakeholders, and externally, but being able to talk with the team one-on-one as well as in group settings. Also being able to have the frank, tough discussions when performance is lacking or the overall schedule has slipped; being the bearer of bad news. It’s being able to ask the right questions so you can have as much information as possible in order to make the hard decisions and tradeoffs.

Becoming a better Listener – This is something all Project Managers should aspire to. Encourage an active dialogue with your team, and make sure that everyone is given a chance to be heard. Good listening requires the suspension of our own egos, opinions, and thoughts to make room for someone else’s.

Being Authentic – This means practice what you preach; keeping your word so people know they can count on you; and perhaps, most significantly, not hiding behind that mask of “Super Project Manager.” Be yourself! Own up to your mistakes; say you’re sorry if necessary and mean it. Your team and everyone involved will respond favorably if you’re being genuine.

Being Ethical – This is so intrinsic to good leadership – Setting a credible and ethical example to follow and having integrity is everything. Enough said.

Being tolerant and able to see other perspectives – This means being open to considering a wide range of possible ideas and respectful of divergent points of view, even if they differ from yours. Some of the most valuable contributions I’ve ever had to tackle solving project issues came from the most unlikely sources (difficult and annoying personalities but brilliant minds.) So staying open to others’ ideas can only benefit all concerned – you, the team, and the overall project.

Creating a compelling and collaborative Work Environment – Projects are hard endeavors and there are times when you just want to throw up your hands and be done. Having a good work environment where people feel empowered to be themselves and open up about what’s really going on; where team members aren’t afraid to ask for help; where everyone is treated with respect – all of these are paramount to project success. It’s been my experience that an open forum keeps folks engaged and less likely to jump ship when encountering rough waters. And build team morale by recognizing work-related achievements; everyone will appreciate the heartfelt “thank you.”

Having and keeping the vision alive - This means being the keeper of the flame for projects; the cheerleader and evangelist for the project, particularly important when it’s a long haul and your team members are feeling overwhelmed from a huge workload and multiple competing priorities. It’s the PM’s job to rouse up the troops and get things moving, inching forward ever so slowly if you have to.

Thanks for reading! And always, many happy trails to project success.

What is a Project Manager?

Filed under: Project Management — harishblog @ 11:41 pm

If you ask 10 project managers to give a definition of their role, you most likely will end up with 10 different descriptions ranging from project admin and task master to program manager. In marketing terms, our profession has an image problem: there is no standard job description and most people have no clue what we do. If I am at a party and the unavoidable question comes up “what do you do?” I cannot just say “I’m a project manager” since in general the other party will have the deer-in-the-headlights look on their face, so I always end up mumbling something vague like “I organize and manage all kind of stuff to help companies get a project from the start to finish”. My friends who are accountants, question-199x208lawyers, engineers or yoga teachers never seem to have this problem.

I have to admit: this problem was way worse 10 years ago, but we are still far from where we need to be. The definition you find in the PMBOK is also not very clarifying: “a project manager is the person assigned by the performing organization to achieve the project objectives”. I wonder how well that will go over next time I am asked what I do for a living.

What is it that we do? We plan, organize and manage resources to successfully achieve the specific project goals that were identified at the beginning of the project. Depending on the situation we act like traffic cops, parents, sergeants, and managers. In today’s world, I personally believe our role is more and more that of a coach. Coaches are part teacher, part counselor and part conscience. Think about it:

  • We help our customers clarify their goals and requirements in specific and measurable language
  • We teach our executives to set priorities and to understand the dynamics of the triple constraint
    - If budget gets reduced, either scope needs to be reduced or time added for delivery
    - If requirements get added, other requirements need to be removed or budget and/or time needs to be increased
    - Etc.
  • We highlight risk and issues of the direction taken and decisions to be made
  • We continuously build relationships and manage expectations to ensure project success
  • We empower our team to perform at their best and are there for them to remove roadblocks

We achieve most through active listening: we need to figure out how a team member “works” so we know how to motivate them, how to critique them and how far they can be “pushed”. Our objective is to build trust so people will listen to us and they feel comfortable confiding in us any concerns they might have since these concerns are most likely risk and issues our project is facing.

As coaches, we take pride in the success of the team. We should leave our ego at the door: it is not about us, it is about the team and the project result.

I would love to hear your feedback on what you think a project manager is.

August 31, 2009

iPhone 4g June 2009

Filed under: iPhone — harishblog @ 10:59 pm

iPhone 4G features. What do you want?

Filed under: iPhone — harishblog @ 10:52 pm

By now you probably are tired of hearing that the iPhone 4th generation would be launched in June or July of 2009. Is there a 4G network? Lets just say upgraded 3G for now. The iPhone firmware 2.2.1, Apple Product roadmap and predictions of many analysts all indicate that iPhone upgrade indeed is due in mid of 2009. Someone also blurted out in UAE iPhone launch that the next iPhone upgrade is coming in June, though the credibility of the commenter is questionable. The talk about the iPhone nano has recently died down, seems people are more eager to see the upgraded 3G.

iphone_4gIt’s time to count the features that we would love to have in the upgraded iPhone 3G. This means change on both the hardware and the software front. Few days back, Gizmodo has even posted the likely design of the 4G iPhone. To be frank many people do not like it, I am out too. Well, these are the features that I would love to see on the iPhone 4G if it really come.

32 GB: For many reasons the storage capacity of the to be launched iPhone should be only 16GB and 32GB. One silly reason for this is we have waited for the 32GB for too long. Another sane reason for wanting more storage is to store as many games, songs and movies to show off to friends who don’t use the iPhone. Well, the need for more storage is required for multi tasking purposes too.

Multi tasking capability and push technology: This is one feature that I missed on the iPhone after chucking my old Nokia 6300. I often used to record live calls from friends just for fun. It is very disheartening to live with the iPhone without a feature which even a very low cost phones have. It was really good to hear the rumor that Apple is planning to support multi tasking on the iPhone. I can see people running a VoiP application fulltime on the iPhone along with other applications in the future provided the battery life also gets upgraded.

Built in Video recording app: Steve Jobs does not want the iPhone to be used for recording crappy video? No one knows why there is no video recording feature on the iPhone. Jailbroken iPhone users have more than one video recording application. It is simply illogical to leave out legitimate iPhone owners from the fun of having this feature. Apple should provide this as a built in feature in the coming upgrade.

Removable Battery: Apple has cracked the secret of making effective battery that last longer than normal ones with the launch of the 17″ Macbook. It’s likely that the iPhone too would get that kind of durable battery in the coming upgrade. Over and above that the battery should be removable; when the battery is gone users  should simply go get an extra battery without sending the whole phone to Apple. It is all illogical.

Cut and Paste: Cut and paste feature should be there, or I am not going to shelf my present iPhone 3G. Apple has broken promises regarding this.

MMS: Well, for people who have issues using mailing option to send/share photos and images, Apple could think of providing MMS feature. I prefer mailing though.

iChat: Is this a joke? How about having iChat on the iPhone? Figure out for yourself how it might work. Yes, iChatting with friends on the iPhone could be real fun. The image posted by Gizmodo has a front camera meant to be video conferencing camera. I have seen this before the launch of the present iPhone 3G. With the coming upgrade, video conferencing can be expected.

Flash: Adobe is working to bring flash on the iPhone, so for the coming upgrade, flash would come pre-loaded or we add it as an add on. If the storage capacity and the ARM chips are upgraded, flash would not make the iPhone crawl.

Better Camera: The present 2 Megapixel camera is no good that too without flash though the iPhone camera is the most popular camera in Twitter. Apple should roll out the upgrade with at least a 3.2 megapixel camera with a flash preferably.

That’s quite a lot. If you have any wish list, add up for Apple to see. And yes AT&T should also do whatever is needful before the upgrade to avoidf being sued continously for patchy connectivity.

August 6, 2009

iPhone 3.0 SDK features

Filed under: iPhone — harishblog @ 11:21 pm

iPhone SDK for iPhone OS 3.0

With a rich set of over 1,000 new APIs, the iPhone SDK for iPhone OS 3.0 provides you with an amazing range of technologies to enhance the functionality of your iPhone and iPod touch applications. New APIs also provide support for applications to communicate with hardware accessories attached to iPhone or iPod touch.

I. In App Purchase (Users can purchase subscriptions and extra content from within your applications.)

Users can purchase subscriptions and extra content from within your applications.

Flexible payments.

In app purchase gives you the flexibility to support a variety of business models. You can offer your customers additional services and content within your paid app.

For example, you can create a subscription magazine app where you ask for payment on a monthly, yearly or periodic basis of your choice. Sell extra levels to extend the experience of your game. Build a general-purpose city travel guide app and let your customers pick the city guides they want to purchase. This new capability opens up many new business opportunities.

You create the app, we’ll bring the cash register.

The new Store Kit framework provides the functionality to process payments via the iTunes Store. You submit items to the store and set their price. When a customer chooses to purchase an item, your app creates a payment request and sends it to the iTunes Store for processing. After the iTunes Store verifies and approves the payment, your app is notified so that it can provide features or additional content.

Familiar business terms.

In app purchase uses the same business terms used for apps sold on the App Store. You receive 70% of the purchase price of each item you sell within your app, paid to you on a monthly basis—no credit card fees apply.

II. Apple Push Notification Service (Keep your users informed with instant alerts.)

Unified notification for all.

Use the Apple Push Notification service to keep your users up-to-date. This service will benefit a wide variety of apps. For example, a sports app can now give key game updates even when the app isn’t running. A chat application can display the latest response in a conversation. Task management applications can track how many tasks you have yet to approve.

Get their attention.

There are a number of ways to send a push notification. Send a message with text that lets the user launch your app. Trigger audible alerts with your own custom sounds. Add a numbered badge to your app icon when it’s important to let the user know how many things are waiting for them.

Optimized for mobility.

The Apple Push Notification service is designed with the mobility needs of iPhone and iPod touch users in mind. Most of the heavy lifting is handled between your servers and ours, so there’s less impact on battery life and performance than there would be if you ran the app in the background. The service maintains a persistent IP connection so that it can notify users even when your app isn’t running. We’ve optimized the service to adapt to all different configurations of mobile networks that the iPhone runs on so you don’t have to.

III. Peer to Peer Connectivity (Connect your users with nearby friends.)

One-on-one games.

Some games are just not the same when you’re playing against the computer—word games, chess and other strategy games are so much better when you’re playing against another person. You can now create games that are easy to set up and play between two devices, whether it’s an iPhone or an iPod touch.

Easily connect.

The new Game Kit framework opens new opportunities for developers to easily create peer-to-peer apps.

Game Kit provides the user interface for initiating a multi-player game, and a data transfer API to share game state. When incorporated into a game, it will automatically discover if the same game is running on other nearby iPhones or iPod touches, allow the user to connect to one of them through Bluetooth, and start sharing game state over a standard IP-based communication channel. The automatic discovery is handled by Bonjour. And making the connection doesn’t require pairing, so it works seamlessly for everyone involved.

Not just for games.

While Game Kit has been designed for games, it can used for any kind of app to share information between iPhones and iPod touches. Use it to exchange business contacts. Share a photo with a friend. Or send a short note to someone nearby.

In game voice.

Game Kit also provides a real-time voice chat API. You provide the network connection, the in game voice capability provides the underlying services to capture your voice through the microphone, transmit it to another player and then playback their responses.

IV. Accessories (Applications can now communicate with accessories)

A way to connect.

Apps for iPhone and iPod touch can now communicate with accessories via the dock connector or wirelessly over Bluetooth.

Enhance your accessory by developing an iPhone app to extend its functionality, or create entirely new integrated solutions that combine an iPhone app with dedicated hardware. For example, you can display a fully interactive Multi-Touch equalizer for your speaker system. Create an inventory app for your barcode reader. Or, build an app that logs and tracks the readings from an attached heart-rate monitor. The potential solutions are limitless.

Create your own protocol.

As with current Made for iPod accessories, your accessory can use Apple-provided protocols to control music and video playback in the iPod app. With iPhone SDK 3.0, you can also create your own custom protocols to exchange data and commands with your app. Use the new Accessory APIs to allow your app to communicate with and control your accessory.

To learn how to add support for iPhone apps in your dock connector or Bluetooth accessory, join the Made for iPod and Works with iPhone Licensing Program and the iPhone Developer Program.

V. Maps (Embed maps within your applications.)

Location, location, location.

You can now add a map view to your apps to help users find what they’re looking for in the real world.

For example, your app could find the closest stores in the area and show where they are nearby. Display interactive tours in a travel guide. Teach geography with an interactive learning app. Or show the the next destination in a scavenger hunt game. Maps can improve any app that takes advantage of the user’s location.

Maps your way.

Place a map anywhere in your app using Map Kit, the new framework that works with the Google Mobile Maps Service. Display the map with a street view, a satellite view or put them together in a hybrid view. Position the map to anywhere in the world or center it where the user currently is. Users can use their finger to pan to a nearby place, and pinch to zoom in for a closer look. Place pins wherever you like, or identify points of interest with your own annotations. You can also use geocoding services to turn a latitude and longitude into a real address.

VI. iPod Library Access (Bring a user’s music into your application.)

Audio content on tap.

With iPhone SDK 3.0, you can access a user’s music, podcasts and audio books from within your app. You can even leverage a user’s custom, On-The-Go, Genius and Smart playlists.

For example, you could create a trivia game that uses the metadata of the user’s songs. Improve on an arcade game by using a playlist as its soundtrack, or add the ability to listen to podcast lectures in a note taking app. You can make almost any app more enjoyable by bringing a user’s personal music and audio choices into your app.

Take control.

Once you have access to the music and playlists, you have full control of the playback. You can play, pause, shuffle and repeat. While the user is listening to an audio track, you can follow where they are and even move to a specific part.

Playlists on-the-fly.

You can also build playlists using custom searches. Leveraging all of the metadata in the audio files, you can create custom playlists that match particular criteria. For example, if you want your app to play all of the podcasts from yesterday—you can build that from a search on Date Created and Content Type.

July 21, 2009

iPhone SDK comparison chart

Filed under: iPhone — harishblog @ 11:35 pm

So with hardware accelerated 3D graphics, an integrated database API, tightly integrated performance monitoring tools, and a highly specialized version of the Cocoa framework tweaked just for the iPhone and rechristened as Cocoa Touch, the iPhone’s just-announced SDK sounds like a winner. But how does it compare to its well-entrenched competitors from Microsoft, Nokia, and the iPhone community itself? Let’s have a look.

  Apple iPhone SDK Toolchain Windows Mobile S60 Android
Cost Free Free Free; could be more depending on tools used Free; could be more depending on tools used Free
Wide-scale app availability June Now Now Now Depends on device availability
Native development Yes Yes Yes Yes Yes
Languages suppoted for native development Objective-C Objective-C C++, C#, VB.NET C++ Java
Digital certificates Required for distribution No Available, required for some phones Available, required for some phones No
Retail support Full; 30 percent Apple revenue share; free apps allowable No Limited Limited No, but Android Developer Challenge offers money and publicity
Platform maturity Immature Immature Mature Mature Immature
First-party support Yes No Yes Yes Yes
Community support Just getting started! Excellent Excellent Excellent Excellent
App installation method Direct (App Store), iTunes Installer.app, custom Direct, ActiveSync Direct, PC Suite Unknown; installation on emulator is not reflective of production devices
Emulator available Yes No Yes Yes Yes
Remote debugging Yes No Yes Yes Yes
Target device variety Poor Poor Excellent Good Poor (that will change, though)
Touchscreen support Multi-touch Multi-touch Single touch Umm… soon? Single touch
App availability and variety Poor (that will change, though) Good Excellent Excellent Poor (that will change, though)
Underlying architecture Cocoa Touch / Mac OS X Mac OS X Windows Symbian Linux
Flash availability No No Yes Yes No
Java availability No In development Yes Yes Yes

What’s new in iPhone OS 3.1 beta?

Filed under: iPhone — harishblog @ 11:30 pm

Apple recently released iPhone OS 3.1 beta firmware and SDK to developers. Unless you’re a developer I recommend you to not download this firmware and wait for the final 3.1 firmware to be released. Apple hasn’t announced when iPhone OS 3.1 will be released, but I will make a post here notifying you once it’s out!

Here are some new features that have been discovered in iPhone OS 3.1 beta so far:

The baseband has been updated to 5.08.01 – ultrasn0w users should not use the iPhone OS 3.1 beta, otherwise their iPhones could be permanently locked!
iPhone 3GS – When you’re trimming your videos you now have the option of saving the original video by tapping the “Save as copy” button.
Voice Control is finally working over bluetooth now!
When you move your icons around the iPhone vibrates
MMS is enabled by default but does not work for AT&T users
The AT&T profile is updated to 4.2
Improvements to OpenGL and Quartz
There’s now a VideoEditorController API – Allows third party apps to call up video editing UI
Video picker API
I’ll update this post as more features are discovered!

Next Page »

Blog at WordPress.com.