Friday, July 30, 2010
360 Panorama
Shooting panoramic photos with a mobile phone can be difficult. Often times it requires doing all the work in a software app when you get back from wherever you are, as well as trying to make sure that the phone's camera does not change its white balance or exposure between shots.
Occipital, the creators of the popular RedLaser scanning app (which wassold to eBay last month) have a new iPhone app debuting on Friday called 360 Panorama, which is attempting to change that. For $2.99, users can simply move their phone from left to right to capture a photo panorama. The end result is a single, panoramic photo that requires zero post-processing.
Behind the scenes the app is actually using the iPhone's video camera, which means that users will need a 3GS or the newer iPhone 4 to use it. The app also takes advantage of the iPhone 4's gyroscope hardware to help judge how quickly you're rotating, so it can figure out what needs to be captured and where you've already been. As it records imagery, it stitches together an image based on your movement, which you can see and track to make any angle corrections. Some modern day point and shoot cameras like Sony's Cyber-shot DSC-W370 are able to do the same thing, though with a larger end result.
Size and distortions are ultimately the two things that limit this app from being as useful as proper photo stitching software. The images it spits out are quite small when compared with the still shots your camera takes. You can see this in the two sample photos.
The larger problem is the distortion, which Occipital co-founder Vikas Reddy told me is made worse in indoor situations. His team is working on ways to make it better in a future release, but in the meantime shooting outdoors provides for a much smoother and less jaggy experience. Being in the urban jungle of downtown San Francisco, I wasn't able to fully test how well it would work on something like rolling hills or a forest, but as you can see from the shots above it does a fine job until you hit perfectly straight lines where the software is forced to make a stitch by guesswork.
These issues aside, 360 Panorama is an incredibly neat, and genuinely useful app. It may have no business taking over the job of a good crisp, and low distortion still image, but if you want to quickly capture an incredible amount of detail of the world around you, it's tough to beat.
Cloud Computing
Cloud computing is Internet-based computing, whereby shared resources, software, and information are provided to computers and other devices on demand, like the electricity grid. However, the analogy to utility computing is not entirely correct, as discussed here. Cloud computing is a paradigm shift following the shift from mainframe to client–server in the early 1980s. Details are abstracted from the users, who no longer have need for expertise in, or control over, the technology infrastructure "in the cloud" that supports them.[1] Cloud computing describes a new supplement, consumption, and delivery model for IT services based on the Internet, and it typically involves over-the-Internet provision of dynamically scalable and often virtualized resources.[2][3] It is a byproduct and consequence of the ease-of-access to remote computing sites provided by the Internet.[4] This frequently takes the form of web-based tools or applications that users can access and use through a web browser as if it were a program installed locally on their own computer.[5]. NIST provides a somewhat more objective and specific definition here. The term "cloud" is used as a metaphor for the Internet, based on the cloud drawing used in the past to represent the telephone network,[6] and later to depict the Internet in computer network diagrams as an abstraction of the underlying infrastructure it represents.[7] Typical cloud computing providers deliver common business applications online that are accessed from another Web service or software like a Web browser, while the software and data are stored on servers.
Most cloud computing infrastructures consist of services delivered through common centers and built on servers. Clouds often appear as single points of access for all consumers' computing needs. Commercial offerings are generally expected to meet quality of service (QoS) requirements of customers, and typically include SLAs. The major cloud service providers include Microsoft,[9] Salesforce, Skytap, HP, IBM, Amazon and Google.
Features
- Agility improves with users' ability to rapidly and inexpensively re-provision technological infrastructure resources.[29]
- Cost is claimed to be greatly reduced and capital expenditure is converted to operational expenditure[30]. This ostensibly lowers barriers to entry, as infrastructure is typically provided by a third-party and does not need to be purchased for one-time or infrequent intensive computing tasks. Pricing on a utility computing basis is fine-grained with usage-based options and fewer IT skills are required for implementation (in-house).[31]
- Device and location independence[32] enable users to access systems using a web browser regardless of their location or what device they are using (e.g., PC, mobile). As infrastructure is off-site (typically provided by a third-party) and accessed via the Internet, users can connect from anywhere.[31]
- Multi-tenancy enables sharing of resources and costs across a large pool of users thus allowing for:
- Centralization of infrastructure in locations with lower costs (such as real estate, electricity, etc.)
- Peak-load capacity increases (users need not engineer for highest possible load-levels)
- Utilization and efficiency improvements for systems that are often only 10–20% utilized.[25]
- Reliability is improved if multiple redundant sites are used, which makes well designed cloud computing suitable for business continuity and disaster recovery.[33] Nonetheless, many major cloud computing services have suffered outages, and IT and business managers can at times do little when they are affected.[34][35]
- Scalability via dynamic ("on-demand") provisioning of resources on a fine-grained, self-service basis near real-time, without users having to engineer for peak loads. Performance is monitored, and consistent and loosely coupled architectures are constructed using web services as the system interface.[31] One of the most important new methods for overcoming performance bottlenecks for a large class of applications is data parallel programming on a distributed data grid.[36]
- Security could improve due to centralization of data[37], increased security-focused resources, etc., but concerns can persist about loss of control over certain sensitive data, and the lack of security for stored kernels[38]. Security is often as good as or better than under traditional systems, in part because providers are able to devote resources to solving security issues that many customers cannot afford.[39] Providers typically log accesses, but accessing the audit logs themselves can be difficult or impossible. Furthermore, the complexity of security is greatly increased when data is distributed over a wider area and / or number of devices.
- Maintenance cloud computing applications are easier to maintain, since they don't have to be installed on each user's computer. They are easier to support and to improve since the changes reach the clients instantly.
- Metering cloud computing resources usage should be measurable and should be metered per client and application on daily, weekly, monthly, and annual basis. This will enable clients on choosing the vendor cloud on cost and reliability.