SUBSCRIBE FOR DAILY UPDATES

Enter your email address:

Delivered by FeedBurner

Windows Live Essentials – the essential software for Windows

Tuesday, June 29, 2010 · 0 comments

Windows Live Essentials – the essential software for Windows

Windows Live Essentials includes Messenger, Mail, Photo Gallery, Movie Maker, Writer, Sync and Family Safety. Essentials is available for free and in many cases may already be installed on your PC with Windows. If not, you can download the current version, or try out the new Essentials beta.

Picture of  Windows Live Essentials icons

In the upcoming release, we focused on achieving two important goals with Essentials:

  1. Making everyday tasks simpler and enabling new possibilities on your PC
  2. Connecting Windows 7 to the cloud

Making everyday tasks simpler and enabling new possibilities

Windows 7 has set a new benchmark for PC simplicity and reliability. More than any previous version, Windows 7 saves you time and helps you get more done. With this release, we wanted Windows Live to help you save even more time with the top things you do on your PC. So we designed Essentials to help you communicate and stay in touch with the people you care about, and to help you easily organize, polish, and share your photos and movies.

Windows 7 also allows us to unleash a new set of possibilities that weren’t available before. We’re taking advantage of GPU-accelerated graphics and animations, using the new Windows 7 "ribbon" user interface, integrating jumplists into the Windows 7 taskbar, and much more to provide you with a great experience.

Connecting Windows 7 to the cloud

Today, most cloud services are accessed through a browser, which is easy and convenient, especially when you’re away from your PC. But there are advantages to connecting to the cloud directly through rich client applications on your PC. Namely, you have a powerful hub that connects to your devices in a way that maintains the privacy and security of your data. This affords a much richer experience while maintaining the convenience of the browser.

This belief informed our goal of connecting Windows 7 to the cloud with Windows Live Essentials. This means your Windows experience natively connects to the services you already use – not just the ones from Microsoft. The new Windows Live Photo Gallery, Movie Maker, Mail, and Messenger connect to photo and video sharing (SkyDrive, Flickr, YouTube, Facebook, SmugMug), social networking (Facebook, MySpace, LinkedIn), email (Hotmail, GMail, Yahoo! Mail), blogging (Spaces, WordPress, Blogger), and document productivity (Office Web Apps) services.

And with the new Windows Live Sync, Windows keeps your files synchronized on the web and across multiple PCs. You can also directly access your PC over the web with the new remote desktop feature.

There’s a lot coming with the new Windows Live Essentials. We’ll cover this over a series of posts. For now, let’s focus on the new Windows Live Photo Gallery.

IPHONE 4G TECHNICAL PROBLEMS-REVIEW

Sunday, June 27, 2010 · 0 comments

The main complaint is, that the phone drops the signal when a handful of phone use by the group metal antenna. Gizmodo has to show more than a dozen videos that users problem.

We have just returned from the read Apple [AAPL] iPhone with our 4 (4 items, the iPhone during the day) and agree that the operation of the telephone, it is customary for the service search message or not. After the phone signal strength bar jumps back to 3 or 4 (for the region I am).

Some users are suggesting that the release of iPhone in 4 cases, a good way to solve the problem, although we will get a solution soon hope some firmware, how to solve the problem.

We have run the same test on our telephone. When we held the phone in front of us in the left hand with fingers touching the metal strip, the bars for the signal strength 5-1 in less than a minute.

The phone is hardly in the hands of consumers, and there was widespread gripes early adopters. Some of them are not regular moaning – or is it more a case of a justified concern that affect each entity appears.

Some users are suggesting that the introduction of the iPhone in four cases, one good way to solve the problem, although we will soon be a patch available to resolve the problem to be expected anyway.

It is unfortunate that the new branches of the device, which are designed to give a stronger signal … But there is no real difference I saw in person, compare to the iPhone 3G from 4 to lose the signal in the same way for me.

Obviously, the technology has teething issues, and there will be some defective devices to be in circulation, but it will be interesting to know how they sold to the experience of the launch of the same (or worse) defects.

Another general question relates to lose the connection, the signal and drop calls when held sideways. Mashable reports that there are now dozens of videos on YouTube and tests that show gone thrive lost connections.

Some speculate that these areas are bright yellow, like the phone is held, are connected, but so far has not Apple, said nothing about it. Maybe it was just a bad batch of screens and the new version this problem will not. It certainly speaks to the quality of the Apple monitor, though. Gizmodo has documented 27 cases so far to this problem and it’s probably just a small selection.

APPLE ADMITTED ANTENNA ISSUE IN IPHONE 4

Thursday, June 24, 2010 · 0 comments

Apple has finally acknowledged that the way you hold the iPhone 4 can hinder the device's cellular reception.

Complaints about weakening or disappearing signals when the iPhone 4 is gripped in a particular way--usually by touching two seams of the antenna band on the exterior of the phone simultaneously--began popping up late Wednesday night, and continued to appear Thursday.

While Internet commenters and bloggers spent most of the day trying to figure out if the problem was related to the phone's hardware or software, Apple released a statement late in the day to PC Magazine.

"Gripping any phone will result in some attenuation of its antenna performance with certain places being worse than others depending on the placement of the antennas. This is a fact of life for every wireless phone. If you ever experience this on your Phone 4, avoid gripping it in the lower left corner in a way that covers both sides of the black strip in the metal band, or simply use one of many available cases."

There are two antennas on the iPhone, which are built into the steel band on the exterior of the phone. The one running on the left side of the phone is for Bluetooth and Wi-Fi, the one on the right is for cellular reception. That means how a left-handed person holds the phone will affect it differently than how most right-handed people would hold it.

Steve Jobs said at WWDC the exterior antenna was supposed to help reception--he didn't mention there was a particular way you had to avoid touching it. However, if you don't feel like spending more for a case for the phone, it sounds like that's the cheapest solution.

IMPORTANCE OFJAVA

Wednesday, June 23, 2010 · 0 comments

Java is a programming language distinct from the markup scheme for defining hypertext, the Hypertext Markup Language (HTML). Java doesn't compete with or replace HTML, nor does it negate the work done creating content using HTML for the Web.

When it was released in the spring of 1995 by Sun Microsystems, Java unleashed a level of interactivity on the Web that had never been possible before. Java makes the Web interactive.

Java connects with HTML and the Web through a special HTML element called APPLET, which allows developers to include Java programs called applets on Web pages. These applets are essentially software programs that the user's browser downloads (automatically, as part of Web page observation) and executes. With real-time graphical input and output possible through the applet on the page, Java thus opens windows to into richer levels of interactivity and visualization.

What is the Big Deal About Java?

Prior to 1995, people and organizations had been using webs of hypermedia on the World Wide Web to communicate globally and instantly. But something was missing. The often intriguing, informative, and useful Web content was devoid of much interactivity. Some users felt that the hyperlinks on the Web just kept leading them on, until ultimately, the Web seemed like a road to nowhere: with no there there. Java potentially changes this.

Java enables developers to create content that can be delivered to and run by users on their computers. This content is in the form of software that can support anything that programmers can dream up: spreadsheets, tutorials, animations, and interactive games. With the Web page as the delivery platform, this software can support a variety of information tasks with true interactivity: for example, users can get continuous, instantaneous feedback for applications in visualization, animation and computation. Users of the Web in Java age may indeed find a there on the Web: a place to play, work, or learn.

Who is Using Java?

Many companies have made a decision to use Java as the language for their software development. As the first interactive language for the Web content, Java got a good head-start, resulting in a good base of experience and skills among programmers. With Sun Microsystems' committment to Java, it looks like Java is a good choice for Internet content development.

My Opinion of Java

I was very excited about Java when it was released in the spring of 1995. I spent the summer of 1995 writing the first published Java book and, in it, I was enthusiastic with my first experience of Java. I saw so much potential.

Yet today, I see results with Java that are far, far less than what I had imagined. More than two years from its invention (two years is aeons in Internet time), Java really isn't used as extensively as I thought it would be. I think the reasons for this lie not in the language--it is actually a very good language. Instead, I think these issues have held Java back:

  1. Web developer's attention was scattered during the period 1995-1996 with many new technologies (Shockwave, JavaScript [JavaScript has nothing to do with Java], ActiveX) that all seemed to promise a richer and more interactive Web. The tragedy of the JavaScript name, for example, lulled (and still lulls) many Web developers to squander their skills on buggy, non-standard, JavaScript code on HTML pages.
  2. Many Web developer's lack the skills to create useful interactivity in Web pages. Java is a software language--it is not something that a person can pick up as easily as HTML. Java requires a solid understanding of object-oriented development methodologies and implementation practices, besides good software engineering skills. And since Java is used to create interactivity on Web pages, developers need to know about human-computer interface design. And since Java can be used to mediated human communication (in groupware, for example), developers should understanding computer-mediated communication issues. What this means is that someone who wants to do serious Java development should be a specialist. Amateur users can learn Java in 14 days and create "toy" applets, but the level of their work would be far below the power and potential of Java itself. My feeling is that it is a tragedy that few people realize this distinction and instead dink around with silly animations and toy applets on their pages and believe they are creating "interactive content."
  3. Java class libraries are just coming into existence. The raw Java Developer's Toolkit that Sun provides for free shouldn't be the basis for serious Java development--this is like starting to build a car using molten metal, plastic, and glass to create the screws, parts, and mechanisms that will make up the components. Instead, Java developers need to stand on the shoulders of giants and start building serious, complex applications using components and subsystems, not raw materials.

I think in the long run, Java is a good choice for development. I think the advances in Java compilation and run-time support in the latest versions of Web browsers should support a more pleasing experience for users of Java applets. I think that, in several years, developers may eventually grasp the importance of Java as a bridge of human communication online. I think then we'll begin to see the potential of Java.

PLUG-INS OVERVIEW

Tuesday, June 22, 2010 · 0 comments

In computing, a plug-in is a set of software components that adds specific capabilities to a larger software application. If supported, plug-ins enable customizing the functionality of an application. For example, plug-ins are commonly used in web browsers to play video, scan for viruses, and display new file types. The image on the right is a screenshot of common Firefox web browser plug-ins. The Adobe Acrobat, QuickTime, and Microsoft Office 2007 plug-ins add the capability to display new file types inside the Firefox web browser.

Add-on is often considered the general term comprising snap-ins, plug-ins, extensions, and themes

Purpose and examples

Applications support plug-ins for many reasons. Some of the main reasons include:

Specific examples of applications and why they use plug-ins:

Mechanism

Example Plug-In Framework

As shown in the figure, the host application provides services which the plug-in can use, including a way for plug-ins to register themselves with the host application and a protocol for the exchange of data with plug-ins. Plug-ins depend on the services provided by the host application and do not usually work by themselves. Conversely, the host application operates independently of the plug-ins, making it possible for end-users to add and update plug-ins dynamically without needing to make changes to the host application.[1][2]

Open application programming interfaces (APIs) provide a standard interface, allowing third parties to create plug-ins that interact with the host application. A stable API allows third-party plug-ins to continue to function as the original version changes and to extend the life-cycle of obsolete applications. The Adobe Photoshop and After Effects plug-in APIs have become a standard[3] and competing applications such as Corel Paint Shop Pro have adopted them.

Plug-ins and extensions

Extensions differ slightly from plug-ins. Plug-ins usually have a narrow set of capability. For example, the original impetus behind the development of Mozilla Firefox was the pursuit of a small baseline application, leaving exotic or personalized functionality to be implemented by extensions to avoid feature creep. This is in contrast to the "kitchen sink" approach in its predecessors, the Mozilla Application Suite and Netscape 6 and 7. Therefore, after integration, extensions can be seen as part of the browser itself, tailored from a set of optional modules.

Firefox also supports plug-ins using NPAPI. When the browser encounters references to content a plug-in specializes in, the data is handed off to be processed by that plug-in. Since there is generally a clear separation between the browser and the plug-in, the results are discrete objects embedded within a webpage. The same distinction between plug-ins and extensions is in use by other web browsers, such as Microsoft Internet Explorer, where a typical extension might be a new toolbar, and a plug-in might embed a video player on the page. Since plug-ins and extensions both increase the utility of the original application, Mozilla uses the term "add-on" as an inclusive category of augmentation modules that consists of plug-ins, themes, and search engines.

History

Plug-ins appeared as early as the mid 1970s, when the EDT text editor running on the Unisys VS/9 operating system using the Univac 90/60 series mainframe computer provided the ability to run a program from the editor and to allow such program to access the editor buffer, thus allowing an external program to access an edit session in memory. The plug-in program could make calls to the editor to have it perform text-editing services upon the buffer that the editor shared with the plug-in. The Waterloo Fortran compiler used this feature to allow interactive compilation of Fortran programs edited by EDT.

Very early PC software applications to incorporate plug-in functionality included HyperCard and QuarkXPress on the Macintosh, both released in 1987. In 1988, Silicon Beach Software included plug-in functionality in Digital Darkroom and SuperPaint, and Ed Bomke coined the term plug-in.

Currently, programmers typically implement plug-in functionality using shared libraries compulsorily installed in a place prescribed by the host application. HyperCard supported a similar facility, but more commonly included the plug-in code in the HyperCard documents (called stacks) themselves. Thus the HyperCard stack became a self-contained application in its own right, distributable as a single entity that end-users could run without the need for additional installation-steps.

ONLINE MONEY MAKING BY WRITING ARTICLES

Monday, June 21, 2010 · 0 comments


There are couple of ways by which you can make money on the web by writing how-to tips, useful advice and even opinions.

For instance, you can setup your own website and add advertisements next to your content – that’s how most blogs (including this one) sustain themselves. The other option is freelancing – you can join an established site in your niche as a writer and they’ll pay you a monthly salary or sometimes a share in the advertising revenue itself.

Then you have a bunch of popular sites like eHow, Hubpages, Squidoo, Associated Content, Examiner and even Google Knol that work on a similar model – you can write content on almost any topic and get paid on a revenue share basis. A big advantage with writing on such sites is that you only need to focus on creating great content and rest everything – including the article’s layout, SEO, hosting, etc. – is taken care of by the service.

There’s one very interesting feature that I think is unique to the Videojug service – you can have multiple people contribute to your how-to article and split advertising revenue among them directly inside Videojug. Each article has 100 points, you can hand out some of these points to the various contributors based on the contributions and therefore their percentage revenue share becomes the same as the number of points they own.

The kind of money that you can make by writing articles on these sites may not be enough for you to even consider quitting your day job but if your writings invite decent number of eyeballs, you can probably pay some of your utility bills from the online earnings.


Videojug, one of the most popular how-to websites on the web known for high-quality , is also getting into the game of “user generated content” with the launch of Videojug Pages – it’s a place where anyone can write how-to articles on their favorite topics and get paid per impression.

The system works something like this. You write an how-to article on Videojug Pages using their Tumblr-style online editor and publish it to the web. Videojug will add ads on the page from Google (using your AdSense ID), eBay (using your affiliate ID) as well as their own display ads. You’ll get 100% of the revenue generated from AdSense and eBay while the revenue from display ads will be split 50:50. Not bad!

WEB HOSTING

Sunday, June 20, 2010 · 0 comments

A web hosting service is a type of Internet hosting service that allows individuals and organizations to make their own website accessible via the World Wide Web. Web hosts are companies that provide space on a server they own or lease for use by their clients as well as providing Internet connectivity, typically in a data center. Web hosts can also provide data center space and connectivity to the Internet for servers they do not own to be located in their data center, called colocation.

The scope of hosting services varies widely. The most basic is web page and small-scale file hosting, where files can be uploaded via File Transfer Protocol (FTP) or a Web interface. The files are usually delivered to the Web "as is" or with little processing. Many Internet service providers (ISPs) offer this service free to their subscribers. People can also obtain Web page hosting from other, alternative service providers. Personal web site hosting is typically free, advertisement-sponsored, or inexpensive. Business web site hosting often has a higher expense.

Single page hosting is generally sufficient only for personal web pages. A complex site calls for a more comprehensive package that provides database support and application development platforms (e.g. PHP, Java, Ruby on Rails, ColdFusion, and ASP.NET). These facilities allow the customers to write or install scripts for applications like forums and content management. For e-commerce, SSL is also highly recommended.

The host may also provide an interface or control panel for managing the Web server and installing scripts as well as other services like e-mail. Some hosts specialize in certain software or services (e.g. e-commerce). They are commonly used by larger companies to outsource network infrastructure to a hosting company.

Types of hosting

A typical server "rack," commonly seen in colocation centres.

Internet hosting services can run Web servers; see Internet hosting services.

Hosting services limited to the Web:

Many large companies who are not internet service providers also need a computer permanently connected to the web so they can send email, files, etc. to other sites. They may also use the computer as a website host so they can provide details of their goods and services to anyone interested. Additionally these people may decide to place online orders.

  • Free web hosting service: offered by different companies with limited services, sometimes supported by advertisements, and often limited when compared to paid hosting.
  • Shared web hosting service: one's website is placed on the same server as many other sites, ranging from a few to hundreds or thousands. Typically, all domains may share a common pool of server resources, such as RAM and the CPU. The features available with this type of service can be quite extensive. A shared website may be hosted with a reseller.
  • Reseller web hosting: allows clients to become web hosts themselves. Resellers could function, for individual domains, under any combination of these listed types of hosting, depending on who they are affiliated with as a provider. Resellers' accounts may vary tremendously in size: they may have their own virtual dedicated server to a collocated server. Many resellers provide a nearly identical service to their provider's shared hosting plan and provide the technical support themselves.
  • Virtual Dedicated Server: also known as a Virtual Private Server (VPS), divides server resources into virtual servers, where resources can be allocated in a way that does not directly reflect the underlying hardware. VPS will often be allocated resources based on a one server to many VPSs relationship, however virtualisation may be done for a number of reasons, including the ability to move a VPS container between servers. The users may have root access to their own virtual space. Customers are sometimes responsible for patching and maintaining the server.
  • Dedicated hosting service: the user gets his or her own Web server and gains full control over it (root access for Linux/administrator access for Windows); however, the user typically does not own the server. Another type of Dedicated hosting is Self-Managed or Unmanaged. This is usually the least expensive for Dedicated plans. The user has full administrative access to the box, which means the client is responsible for the security and maintenance of his own dedicated box.
  • Managed hosting service: the user gets his or her own Web server but is not allowed full control over it (root access for Linux/administrator access for Windows); however, they are allowed to manage their data via FTP or other remote management tools. The user is disallowed full control so that the provider can guarantee quality of service by not allowing the user to modify the server or potentially create configuration problems. The user typically does not own the server. The server is leased to the client.
  • Colocation web hosting service: similar to the dedicated web hosting service, but the user owns the colo server; the hosting company provides physical space that the server takes up and takes care of the server. This is the most powerful and expensive type of web hosting service. In most cases, the colocation provider may provide little to no support directly for their client's machine, providing only the electrical, Internet access, and storage facilities for the server. In most cases for colo, the client would have his own administrator visit the data center on site to do any hardware upgrades or changes.
  • Cloud Hosting: is a new type of hosting platform that allows customers powerful, scalable and reliable hosting based on clustered load-balanced servers and utility billing. Removing single-point of failures and allowing customers to pay for only what they use versus what they could use.
  • Clustered hosting: having multiple servers hosting the same content for better resource utilization. Clustered Servers are a perfect solution for high-availability dedicated hosting, or creating a scalable web hosting solution. A cluster may separate web serving from database hosting capability.
  • Grid hosting: this form of distributed hosting is when a server cluster acts like a grid and is composed of multiple nodes.
  • Home server: usually a single machine placed in a private residence can be used to host one or more web sites from a usually consumer-grade broadband connection. These can be purpose-built machines or more commonly old PCs. Some ISPs actively attempt to block home servers by disallowing incoming requests to TCP port 80 of the user's connection and by refusing to provide static IP addresses. A common way to attain a reliable DNS hostname is by creating an account with a dynamic DNS service. A dynamic DNS service will automatically change the IP address that a URL points to when the IP address changes.

Some specific types of hosting provided by web host service providers:

  • File hosting service: hosts files, not web pages
  • Image hosting service
  • Video hosting service
  • Blog hosting service
  • One-click hosting
  • Pastebin Hosts text snippets
  • Shopping cart software
  • E-mail hosting service

Windows Problems with Free Tools

Saturday, June 19, 2010 · 0 comments

Learn about some free software utilities that will help you fix the most common Windows problems. They are all compatible with Windows XP, Vista and Windows 7.

Fix Windows Problems with Free Tools

Q1. I am trying to delete a file from my desktop but the computer won’t let me do that. Instead, it throws me an error message saying that the file /folder is in use by another program or user.

A: You can either reboot your computer in Safe mode to delete that file or, if you want something more simple, get Unlocker. It’s a free utility that will let you close all the processes that have possibly locked the file and once they are closed, you can then safely delete the file.

Q2. I am trying to play a video file on my computer but the media player says that I am missing certain codecs.

A: You can use a tool like Video Inspector to determine which audio and video codecs are required to play the video file on your computer. Alternatively, you can download a codec package like the K-Lite Pack that will let you play virtually any audio and video format on your computer.

Q3. I am running out of disk space on my Windows computer. How can I remove all the unnecessary files from the computer and recover some disk space?

A: There are three things you can do here:

  • Open the Run box and type “cleanmgr” to open the built-in Disk Cleanup utility. It will remove all the temp files and the unnecessary system files that you no longer need.
  • Use WinDirStat to determine where all your disk space has gone. Sometimes files are hidden in sub-directories that you can safely move to other drives or even delete them permanently (more options).
  • Use Duplicate Cleaner to identify and delete all the duplicate files on your hard drives. You can move the duplicates to the recycle bin or, if you want to play safe, to any another folder from where they can be easily recovered.

Q4. My computer takes lot of time to boot-up. I checked the “start-up” folder in the Windows start menu and there aren’t any applications out there.

A: Type “msconfig” in the Run box to open the “System Configuration” tool and then switch to the “Start-up” tab. Disable all the programs that you don’t need to run during start-up. If you are a power user, you may also switch to the “Services” tab and disable all the unnecessary services.

Autoruns is another excellent utility that shows you what programs are configured to run during system bootup or login.

Q5. I am trying to uninstall a program from my computer but the standard add-remove programs is not letting me through.

A: You can use the free Revo Uninstaller utility to remove every single trace of any program from your computer. Revo can also remove entries from the Windows Registry that may have been left by previous un-installation routines.

Q6. My Windows crashed with a “Blue Screen.” Why?

A: You really need to get in touch with a geek to debug the cryptic Blue Screen errors (aka “Blue Screen of Death”) but if you are lucky, a free utility called BlueScreenView can provide vital clues. Blue Screen View will scan the Windows dump files to determine the device drivers that possibly caused the crash.

Q7. It takes ages to copy files in Windows from one folder to another. The situation is marginally better in Windows 7 (over Vista) but still, is there a way to copy files faster?

A: You can use an external file copying utility like TeraCopy or even RichCopy – they’ll not only copy /move files across drives faster but you can also resume broken file transfers (similiar to FTP operations).

Q8. I think I deleted a file by mistake. Can I recover it?

A: Recuva is a free software that will scan your hard drives, USB stick and other external drives for any deleted files that it can possibly recover. It may not work in all cases especially when you securely deleted a file.

Q9. Every time I copy something new to the Windows clipboard, the previous content gets erased. Can I make it permanent?

A: You can use Ditto, a free utility that sort-of adds memory to your Windows Clipboard. You can copy anything to the clipboard and it will stay there as long as you want.

Q10. How do I protect files and folders on my computer?

A: While there are free tools like Hide Folder that let you easily protect files and folders with a password, use TrueCrypt if you want a more secure solution. The obvious downside with a program like TrueCrypt is that if you forget the password, it is nearly impossible to retrieve the protected files.

IPhone Technology

Friday, June 18, 2010 · 0 comments

The iPhone (pronounced /aɪ.faʊn/ EYE-fown) is a line of Internet and multimedia-enabled smartphones designed and marketed by Apple Inc., and originally released in 2007. An iPhone functions as a camera phone (also including text messaging and visual voicemail), a portable media player (equivalent to a video iPod), and an Internet client (with e-mail, web browsing, and Wi-Fi connectivity). The user interface is built around the device's multi-touch screen, including a virtual keyboard rather than a physical one. Third-party applications are available from the App Store, which launched in mid-2008 and now has well over 200,000 "apps" approved by Apple. These apps have diverse functionalities, including games, reference, GPS navigation, social networking, and advertising for television shows, films, and celebrities.

There have been four generations, or generations, of iPhone hardware, and they have been accompanied by four major releases of iOS (formerly iPhone OS).

Apple CEO Steve Jobs announced the iPhone on January 9, 2007 after months of rumors and speculation. Retroactively labeled, the "original" iPhone was introduced in the United States on June 29, 2007 before being marketed in Europe. It featured quad-band GSM with EDGE. Time magazine named it the Invention of the Year in 2007. The iPod Touch, with the media and internet capabilities of an iPhone, but no phone, released in September 2007. Apple released an SDK on March 6, 2008, allowing developers to create the apps that would be available starting in iPhone OS version 2.0.


On June 9, 2008, the iPhone 3G was announced and released July 11, replacing the original model. It supported faster 3G data speeds via UMTS with 3.6 Mbps HSDPA, included assisted GPS, and ran the 2.0 software.

Apple announced iPhone OS 3.0 on June 17, 2009, and it included cut, copy, and paste and more search capabilities. The Phone 3GS was also announced at the event. Features include the iOS 3.0 software, improved performance, a camera with higher resolution and video capability, voice control, and support for 7.2 Mbps HSDPA downloading (but remains limited to 384 kbps uploading as Apple had not implemented the HSUPA protocol). It was released in the U.S., Canada and six European countries on June 19, 2009, in Australia and Japan on June 26, and internationally in July and August 2009. The iPhone 3G remained available at a reduced price.

On June 7, 2010 the iPhone 4 was introduced at WWDC by Steve Jobs, and will be delivered on June 24; pre-orders began on June 15. The iPhone 3GS replaces the iPhone 3G as the low-end model. The iPhone 4 features Apple's A4 microprocessor, a 5 megapixel camera featuring HD video-recording, a front facing camera for FaceTime video conferencing over Wi-Fi, and the renamed iOS 4 mobile operating system, which will be released for previous 3G models on June 21.

Worldwide iPhone sales by quarter. Sales volume is in millions. Q1 is the holiday season. Original iPhone iPhone 3G iPhone 3G and 3Gs (Apple does not differentiate)
Worldwide iPhone availability: Original iPhone was available; now 3GS iPhone 3G and 3GS Coming soon
Rear view of the original iPhone (left) made of aluminum and plastic, and the iPhone 3G, made completely from a hard plastic material.[29]
The reverse of the iPhone 3G (left) is almost identical to that of the 3GS, differentiated only by the latter's reflective silver text which now matches the silver Apple logo, replacing the 3G's grey text.


PLUG-INS USAGE

Sunday, June 13, 2010 · 0 comments

In computing, a plug-in is a set of software that adds specific capabilities to a larger software application. If supported, plug-ins enable customizing the functionality of an application. For example, plug-ins are commonly used in web browsers to play video, scan for viruses, and display new file types. The image on the right is a screenshot of common Firefox web browser plug-ins. The Adobe Acrobat, QuickTime, and Microsoft Office 2007 plug-ins add the capability to display new file types inside the Firefox web browser.

Add-on is often considered the general term comprising snap-ins, plug-ins, extensions, and themes

Purpose and examples

Applications support plug-ins for many reasons. Some of the main reasons include:

  • to enable third-party developers to create capabilities to extend an application
  • to support easily adding new features
  • to reduce the size of an application
  • to separate source code from an application because of incompatible software licenses.

Specific examples of applications and why they use plug-ins:

  • Email clients use plug-ins to decrypt and encrypt email (Pretty Good Privacy)
  • Graphics software use plug-ins to support file formats and process images (Adobe Photoshop)
  • Media players use plug-ins to support file formats and apply filters (foobar2000, GStreamer, Quintessential, VST, Winamp, XMMS)
  • Microsoft Office uses plug-ins (better known as add-ins) to extend the capabilities of its application by adding custom commands and specialized features
  • Packet sniffers use plug-ins to decode packet formats (OmniPeek)
  • Remote sensing applications use plug-ins to process data from different sensor types (Opticks)
  • Software development environments use plug-ins to support programming languages (Eclipse, jEdit, MonoDevelop)
  • Web browsers use plug-ins to play video and presentation formats (Flash, QuickTime, Microsoft Silverlight, 3DMLW)
  • Mechanism

Example Plug-In Framework

As shown in the figure, the host application provides services which the plug-in can use, including a way for plug-ins to register themselves with the host application and a protocol for the exchange of data with plug-ins. Plug-ins depend on the services provided by the host application and do not usually work by themselves. Conversely, the host application operates independently of the plug-ins, making it possible for end-users to add and update plug-ins dynamically without needing to make changes to the host application.[1][2]

Open application programming interfaces (APIs) provide a standard interface, allowing third parties to create plug-ins that interact with the host application. A stable API allows third-party plug-ins to continue to function as the original version changes and to extend the life-cycle of obsolete applications. The Adobe Photoshop and After Effects plug-in APIs have become a standard[3] and competing applications such as Corel Paint Shop Pro have adopted them.

Plug-ins and extensions

Extensions differ slightly from plug-ins. Plug-ins usually have a narrow set of capability. For example, the original impetus behind the development of Mozilla Firefox was the pursuit of a small baseline application, leaving exotic or personalized functionality to be implemented by extensions to avoid feature creep. This is in contrast to the "kitchen sink" approach in its predecessors, the Mozilla Application Suite and Netscape 6 and 7. Therefore, after integration, extensions can be seen as part of the browser itself, tailored from a set of optional modules.

Firefox also supports plug-ins using NPAPI. When the browser encounters references to content a plug-in specializes in, the data is handed off to be processed by that plug-in. Since there is generally a clear separation between the browser and the plug-in, the results are discrete objects embedded within a webpage. The same distinction between plug-ins and extensions is in use by other web browsers, such as Microsoft Internet Explorer, where a typical extension might be a new toolbar, and a plug-in might embed a video player on the page. Since plug-ins and extensions both increase the utility of the original application, Mozilla uses the term "add-on" as an inclusive category of augmentation modules that consists of plug-ins, themes, and search engines.

History

Plug-ins appeared as early as the mid 1970s, when the EDT text editor running on the Unisys VS/9 operating system using the Univac 90/60 series mainframe computer provided the ability to run a program from the editor and to allow such program to access the editor buffer, thus allowing an external program to access an edit session in memory. The plug-in program could make calls to the editor to have it perform text-editing services upon the buffer that the editor shared with the plug-in. The Waterloo Fortran compiler used this feature to allow interactive compilation of Fortran programs edited by EDT.

Very early PC software applications to incorporate plug-in functionality included HyperCard and QuarkXPress on the Macintosh, both released in 1987. In 1988, Silicon Beach Software included plug-in functionality in Digital Darkroom and SuperPaint, and Ed Bomke coined the term plug-in.

Currently, programmers typically implement plug-in functionality using shared libraries compulsorily installed in a place prescribed by the host application. HyperCard supported a similar facility, but more commonly included the plug-in code in the HyperCard documents (called stacks) themselves. Thus the HyperCard stack became a self-contained application in its own right, distributable as a single entity that end-users could run without the need for additional installation-steps.

Plug-in frameworks

Software developers can use the following plug-in frameworks (organized here by programming language) to add plug-in capability to their applications:

[edit] C++

  • Boost Extension- Boost C++ plug-in framework, available from boost sandbox
  • FxEngine Framework—Open C++ dataflow processing framework for audio, video, signal, etc.
  • Qt Plug-Ins—part of Nokia's Qt Framework
  • OmniPeek Plug-in Wizard—creates plug-ins for WildPackets' OmniPeek Network Analyzer
  • Pugg open Source C++ framework for plug-in management
  • OFX an open standard for visual effects plug-ins.

Delphi

  • TMS Plug-in Framework

Java

  • Java Plug-in Framework (JPF), a plug-in mechanism adapted from Eclipse's plug-in mechanism from its pre-OSGi era.
  • OSGi, a standardized dynamic component system suited for plug-in programming, used in Eclipse, many commercial Java EE application servers, Spring Framework, and embedded applications.
  • Rich Client Platform (RCP), platform for applications adapted from Eclipse, applications are written as plug-ins and may themselves have further plug-ins

Python

  • Envisage
  • Colony Framework, a plug-in framework that takes inspiration from OSGi and Eclipse RCP simplifying the concepts of both and adapting them to the Pythonic philosophy
  • PyUtilib, a plug-in system that is based on Trac. Trac component architecture is simplified Zope Component Architecture
  • Setuptools
  • Sprinkles
  • The Twisted Plug-in System
  • Yapsy
  • Zope Component Architecture

.NET

  • .NET Add-In Team Blog
  • AL Platform
  • Code Project .NET Based Plug-in Framework
  • Mono Add-ins—an add-in framework for .NET and Mono
  • Plux.NET—A Platform for Building Plug-in Systems Under .NET
  • Managed Extensibility Framework—Managed Extensibility Framework
  • Compact Plugs— Compact Plugs

SOFTWARE PROCESS

Saturday, June 12, 2010 · 0 comments

A software development process is a structure imposed on the development of a software product. Similar terms include software life cycle and software process. There are several models for such processes, each describing approaches to a variety of tasks or activities that take place during the process. Some people consider a lifecycle model a more general term and a software development process a more specific term. For example, there are many specific software development processes that 'fit' the spiral lifecycle model.

Planning

The important task in creating a software product is extracting the requirements or requirements analysis. Customers typically have an abstract idea of what they want as an end result, but not what software should do. Incomplete,ambiguous, or even contradictory requirements are recognized by skilled and experienced software engineers at this point. Frequently demonstrating live code may help reduce the risk that the requirements are incorrect.

Once the general requirements are gathered from the client, an analysis of the scope of the development should be determined and clearly stated. This is often called a scope document.

Certain functionality may be out of scope of the project as a function of cost or as a result of unclear requirements at the start of development. If the development is done externally, this document can be considered a legal document so that if there are ever disputes, any ambiguity of what was promised to the client can be clarified.

Implementation, testing and documenting

Implementation is the part of the process where software engineers actually program the code for the project.

Software testing is an integral and important part of the software development process. This part of the process ensures that defects are recognized as early as possible.

Documenting the internal design of software for the purpose of future maintenance and enhancement is done throughout development. This may also include the writing of an API, be it external or internal. It is very important to document everything in the project.

Deployment and maintenance

Deployment starts after the code is appropriately tested, is approved for release and sold or otherwise distributed into a production environment.

Software Training and Support is important and a lot of developers fail to realize that. It would not matter how much time and planning a development team puts into creating software if nobody in an organization ends up using it. People are often resistant to change and avoid venturing into an unfamiliar area, so as a part of the deployment phase, it is very important to have training classes for new clients of your software.

Maintaining and enhancing software to cope with newly discovered problems or new requirements can take far more time than the initial development of the software. It may be necessary to add code that does not fit the original design to correct an unforeseen problem or it may be that a customer is requesting more functionality and code can be added to accommodate their requests. If the labor cost of the maintenance phase exceeds 25% of the prior-phases' labor cost, then it is likely that the overall quality of at least one prior phase is poor.[citation needed] In that case, management should consider the option of rebuilding the system (or portions) before maintenance cost is out of control.

Bug Tracking System tools are often deployed at this stage of the process to allow development teams to interface with customer/field teams testing the software to identify any real or perceived issues. These software tools, both open source and commercially licensed, provide a customizable process to acquire, review, acknowledge, and respond to reported issues.

Software Development Models

Several models exist to streamline the development process. Each one has its pros and cons, and it's up to the development team to adopt the most appropriate one for the project. Sometimes a combination of the models may be more suitable.

Waterfall Model

The waterfall model shows a process, where developers are to follow these phases in order:

  1. Requirements specification (Requirements Analysis)?
  2. Software Design
  3. Implementation (or Coding)
  4. Integration
  5. Testing (or Validation)
  6. Deployment (or Installation)
  7. Maintenance

In a strict Waterfall model, after each phase is finished, it proceeds to the next one. Reviews may occur before moving to the next phase which allows for the possibility of changes (which may involve a formal change control process). Reviews may also be employed to ensure that the phase is indeed complete; the phase completion criteria are often referred to as a "gate" that the project must pass through to move to the next phase. Waterfall discourages revisiting and revising any prior phase once it's complete. This "inflexibility" in a pure Waterfall model has been a source of criticism by other more "flexible" models.

Spiral Model

The key characteristic of a Spiral model is risk management at regular stages in the development cycle. In 1988, Barry Boehm published a formal software system development "spiral model", which combines some key aspect of waterfall and rapid prototyping methodologies, but provided emphasis in a key area many felt had been neglected by other methodologies: deliberate iterative risk analysis, particularly suited to large-scale complex systems.

The Spiral is visualized as a process passing through some number of iterations, with the four quadrant diagram representative of the following activities:

(1) formulate plans to: identify software targets, selected to implement the program, clarify the project development restrictions;

(2) Risk analysis: an analytical assessment of selected programs, to consider how to identify and eliminate risk;

(3) the implementation of the project: the implementation of software development and verification;


Risk-driven spiral model, emphasizing the conditions of options and constraints in order to support software reuse, software quality can help as a special goal of integration into the product development. However, the spiral model has some restrictive conditions, as follows:

(1) spiral model emphasize risk analysis, but require customers to accept and believe that much of this analysis, and make the relevant response is not easy, therefore, this model is often adapted to large-scale internal software development.

(2) If the implementation of risk analysis will greatly affect the profits of the project, then risk analysis is meaningless, therefore, spiral model is only suitable for large-scale software projects.

(3) Good software developers should look for possible risks, an accurate analysis of risk, otherwise it will lead to greater risk.

First stage is to determine the stage of the goal of accomplishing these objectives, options and constraints, and then from the perspective of risk analysis program, development strategy, and strive to remove all potential risks, and sometimes necessary to achieve through the construction of the prototype. If some risk can not be ruled out, the program to end immediately, or else start the development of the next steps. Finally, evaluation results of the stage, and the design of the next phase.

Iterative and Incremental Development

Iterative development[1] prescribes the construction of initially small but ever larger portions of a software project to help all those involved to uncover important issues early before problems or faulty assumptions can lead to disaster. Iterative processes are preferred[citation needed] by commercial developers because it allows a potential of reaching the design goals of a customer who does not know how to define what they way

Agile Development

Agile software development uses iterative development as a basis but advocates a lighter and more people-centric viewpoint than traditional approaches. Agile processes use feedback, rather than planning, as their primary control mechanism. The feedback is driven by regular tests and releases of the evolving software.

There are many variations of agile processes.

XP (Extreme Programming)
In XP, the phases are carried out in extremely small (or "continuous") steps compared to the older, "batch" processes. The (intentionally incomplete) first pass through the steps might take a day or a week, rather than the months or years of each complete step in the Waterfall model. First, one writes automated tests, to provide concrete goals for development. Next is coding (by a pair of programmers), which is complete when all the tests pass, and the programmers can't think of any more tests that are needed. Design and architecture emerge out of refactoring, and come after coding. Design is done by the same people who do the coding. (Only the last feature — merging design and code — is common to all the other agile processes.) The incomplete but functional system is deployed or demonstrated for (some subset of) the users (at least one of which is on the development team). At this point, the practitioners start again on writing tests for the next most important part of the system.
Rational Unified Process
Scrum
Process Improvement Models
Capability Maturity Model Integration
The Capability Maturity Model Integration (CMMI) is one of the leading models and based on best practice. Independent assessments grade organizations on how well they follow their defined processes, not on the quality of those processes or the software produced. CMMI has replaced CMM.
ISO 9000
ISO 9000 describes standards for a formally organized process to manufacture a product and the methods of managing and monitoring progress. Although the standard was originally created for the manufacturing sector, ISO 9000 standards have been applied to software development as well. Like CMMI, certification with ISO 9000 does not guarantee the quality of the end result, only that formalized business processes have been followed.
ISO 15504
ISO 15504, also known as Software Process Improvement Capability Determination (SPICE), is a "framework for the assessment of software processes". This standard is aimed at setting out a clear model for process comparison. SPICE is used much like CMMI. It models processes to manage, control, guide and monitor software development. This model is then used to measure what a development organization or project team actually does during software development. This information is analyzed to identify weaknesses and drive improvement. It also identifies strengths that can be continued or integrated into common practice for that organization or team.

Formal methods

Formal methods are mathematical approaches to solving software (and hardware) problems at the requirements, specification and design levels. Examples of formal methods include the B-Method, Petri nets, Automated theorem proving, RAISE and VDM. Various formal specification notations are available, such as the Z notation. More generally, automata theory can be used to build up and validate application behavior by designing a system of finite state machines.

Finite state machine (FSM) based methodologies allow executable software specification and by-passing of conventional coding (see virtual finite state machine or event driven finite state machine).

Formal methods are most likely to be applied in avionics software, particularly where the software is safety critical. Software safety assurance standards, such as DO178B demand formal methods at the highest level of categorization (Level A).

Formalization of software development is creeping in, in other places, with the application of Object Constraint Language (and specializations such as Java Modeling Language) and especially with Model-driven architecture allowing execution of designs, if not specifications.

Another emerging trend in software development is to write a specification in some form of logic (usually a variation of FOL), and then to directly execute the logic as though it were a program. The OWL language, based on Description Logic, is an example. There is also work on mapping some version of English (or another natural language) automatically to and from logic, and executing the logic directly. Examples are Attempto Controlled English, and Internet Business Logic, which does not seek to control the vocabulary or syntax. A feature of systems that support bidirectional English-logic mapping and direct execution of the logic is that they can be made to explain their results, in English, at the business or scientific level.

The Government Accountability Office, in a 2003 report on one of the Federal Aviation Administration’s air traffic control modernization programs, recommends following the agency’s guidance for managing major acquisition systems by

  • establishing, maintaining, and controlling an accurate, valid, and current performance measurement baseline, which would include negotiating all authorized, unpriced work within 3 months;
  • conducting an integrated baseline review of any major contract modifications within 6 months; and
  • preparing a rigorous life-cycle cost estimate, including a risk assessment, in accordance with the Acquisition System Toolset’s guidance and identifying the level of uncertainty inherent in the estimate.

Pages

About this blog

This is the Blog for the all people who are interested in the technology and wants to test their IQ with respect to the technical knowledge.

Juicy Checks


WWF Wild Kids Checks
Spring Garden Checks


Frogs Checks
Destination ChecksRydell Forever ChecksMotley Crue ChecksGarden of Faith