Tuesday, November 18, 2014

Expand your Desktop over multiple monitors

11:29 AM Posted by Ariana No comments

Users of a Windows operating system need not buy big monitors but they can instead enlarge their existing desktop onto a big screen through the expand desktop feature. With the addition of the related hardware, multiple monitor capability is dependent on the video/ graphics cards. The number of video ports that a system has is directly proportional to the number of monitors which are connected to it. Expanding your desktop maximizes productivity and makes cross program navigation simpler. The latest method is to drag the items option across multiple screens. The hardware requirements for this feature are monitor cables and video cards for each monitor, which are to be connected with a PCI, a PCI Express or an AGP. Expand your desktop over multiple monitors is a built in feature for Windows 98/98se/2000/ME, but not Windows NT. 

Expand your Desktop over multiple monitors


If you are using Windows and want to enlarge your current desktop without having to buy another huge screen, this is possible by using the expand desktop option. There are some hardware requirements to which you should stick. 

Hardware Requirements

1. Video card 
You should either have a PCI, a PCI Express or an AGP. However, you should bear in mind that you must have a video card for each of your monitors. 

2. Monitor cables 
To be able to connect your monitors to the CPU, you should have sufficient computer cables. Your desktop computer usually has two monitor ports, meaning you can connect only two monitors to the CPU. 

Software Requirements

Multiple monitor support has been built for Windows 98/98se/2000/ME so far. Windows NT users will not be able to set this option on their computers. 

How to proceed

  • Step 1: Ensure that the video cards and the monitors are properly set before starting the following procedures
  • Step 2: Restart your computer
  • Step 3: Install the drivers for the second video card that you have just added to the CPU
  • Step 4: When the installation is complete, go to the Device Manager option and, from the list, browse for the adapter's devices and ensure that they are detected
  • Step 5: Then go to the Display Properties option and open the Settings tab

  • Step 6: Click on the second monitor labeled as 2 next to the first monitor
  • Step 7: You can choose to change the resolution and color settings of the second monitor accordingly. Once done, check the box labeled Extend my Windows desktop onto this monitor
  • Step 8: Click OK to apply the changes. Your second monitor should have activated itself by now

iOS 8.1.1 is out with bug fixes and performance improvements for iPad 2 and iPhone 4s

11:25 AM Posted by Ariana , No comments
Apple on Monday started rolling out the latest iOS 8.1.1 software update for the iPhone, iPad and iPod touch devices. If you’re jailbroken, stay away from this update as it plugs the Pangu8 jailbreak.
iOS 8.1.1 build 12B435 contains a whole bunch of bug fixes and general performance enhancements aimed at improving the mobile operating system’s stability. You can apply the update over the air by going to Settings > General > Software Update.
Alternatively, connect your iPhone, iPod touch or iPad to your Mac or Windows desktop via a USB cable and open iTunes: a prompt should pop up asking you to upgrade.
“This release includes bug fixes, increased stability and performance improvements for iPad 2 and iPhone 4s,” notes the firm in a support document. For information on the security content of this update.
A watching update for the Apple TV is also available in the form of the Apple TV Software 7.0.2 update with a build number of 12B435.
iOS 8.1.1 prompt
Again, jailbreakers should stay away from this update if they want to keep their jailbreak.
iOS 8.0 has marked the end of the road for the iPhone 4, making the iPhone 4s the oldest iPhone supported by the latest software. iOS releases tend to run well on older hardware so it’s nice that Apple cares about supporting three-year-old hardware and continues to give love to its iPad 2 and iPhone 4s owners.

Apple is still signing iOS 8.1, if you’re interested in jailbreaking, you better restore now

11:24 AM Posted by Ariana No comments



iOS 8.1 Restore Bonjour
Apple just released iOS 8.1.1, which kills the Pangu jailbreak. The good news is that it is (as of the writing of this post) still signing iOS 8.1. This means that you can still install iOS 8.1 and jailbreak for the time being.
But you better act fast. Apple has been very unpredictable when it comes to closing its signing windows. Once the window for iOS 8.1 is closed, you will not be able to upgrade or downgrade to iOS 8.1. You’ll have to go directly to iOS 8.1.1, which renders your device unjailbreakable.
iOS 8.1 signing status
Apple’s signing window for iOS 8.1 is still open as of now
As I type this, I’m currently restoring both my iPhone 5s and my iPhone 6 Plus to iOS 8.1. I’ve always been a little OCD about keeping my device in tip-top shape, and this is my means of doing that. After the restores are completed, I”ll re-jailbreak for a fresh and clean jailbroken device.
If you’re already jailbroken, you may find doing a fresh install and jailbreak a bit unnecessary. But if you’re not jailbroken, or if you’re still running iOS 7.1.2, it’s time to take the jump over to iOS 8.1. You can download the 8.1 firmware directly from our downloads page right now.
Before you even begin this process, however, I advise you to bookmark this page to check up on the signing status of iOS 8.1. If Apple is still signing iOS 8.1 prior to your restore, you can proceed. But if it no longer signing iOS 8.1, it’s best that you stay planted where you currently are.
What will you do now that iOS 8.1.1 is now upon us?

Saturday, November 15, 2014

IntelliScreenX for iOS 8 is live now, here’s our full video walkthrough

1:58 PM Posted by Ariana , , No comments


IntelliscreenX iOS 8
Get ready for IntelliScreenX for iOS 8 to touch down any minute now! The update, which is being released as an open beta, is scheduled to appear on Cydia’s ModMyi repo sometime tonight. If you’re somehow unfamiliar with IntelliScreenX, it’s a tweak that allows you to supercharge your Notification Center. It brings the ability to add Twitter, RSS, Mail, Facebook, and more to the Notification Center, and features Lock screen access as well.
IntelliScreenX is by far one of the deepest jailbreak tweaks of all time, and it’s the reason why a lot of people jailbreak. We’ve been able to go hands-on with a copy of the IntelliScreenX for iOS 8, and have tested it on a jailbroken iPhone 6 Plus.
Intelliborn has been working hard to prepare ISX for iOS 8 and for the new iPhones, and their hard work has paid off. Have a look at our full 12+ minute video walkthrough inside for the details on why this tweak remains such a staple for jailbreakers everywhere.
The release is a free upgrade for existing users, and it works on all iOS 8 jailbroken devices. It even comes with a free 3-day trial for new users. New users pay $9.99.
IntelliScreenX for iOS 8 is still in open beta, so it’s not 100% finished yet, but Intelliborn has deemed it to be worthy of release.
Here is the change log, which notes some of the tweak’s known issues that still need to be addressed:
Known Issues:
Email Previews on the NC are not complete
Messages+ some delays/crashing (should be resolved earlynext week)
Messages+ selecting a contact with the add button
Messages+ sending voice text
As you can see, the majority of the known issues related to the Messages+ add-on for the Messages app. Messages+ allows you to have quick compose and enhanced quick reply features. It’s included for free with IntelliScreen X.
What do you think about IntelliScreenX for iOS 8? Will you use it? Sound off down below in the comments.

Xcode Git: Creating Apps in iOS 7 and OS X

1:56 PM Posted by Ariana No comments


xcode-gitGit is a popular software configuration management (SCM) system that offers many different lines of development, including frictionless context switching and disposable experimentation. Their branching model also allows unprecedented ease of app management, as they are independent of each other. Xcode can keep up with Git more than most people think, and they actually perform well together.
Here we are going to examine using these two in conjunction with each other, and what kind of performance you can expect to get from them. For a quick primer, check out our 1 Hour Xcode introductory course.

Git

If you are not familiar with Git, here is a basic overview: Git is a software configuration management system, an SCM, which is used to manage apps that have been developed or are in stages of development. What makes Git different from other SCM systems is its ability to use different branches that are separate from each other and can be independently created, deleted, or merged.
This means that, as a developer, you can switch between different ideas easily, create new pathways from existing ones, and switch between them all seamlessly. You can expand your ideas and be creative with what you do, and at the same time only put into production the ones that work and delete the ones that don’t. With the branch system of Git you can modify, exchange, produce, and merge incredibly simply. You can also learn some of the Git Basics here to get you started.

Xcode

Xcode is the app development system for Apple, the newest edition being Xcode 5. Xcode allows you to create apps for Apple, and can help you with layouts, configuration, and debugging. It will automatically configure your app for other Apple applications like iCloud, and if you put in your Apple ID it will upload your data, manage certificates, and more to help you and your team with your app development. The navigator can help you edit, and the auto layout will let you create your app interface with a free-form canvas. All of this can look pretty difficult, especially if you are new to programming. For a comprehensive beginner’s guide to using Xcode check out Xcode Fundamentals.

Starting Your New Project

To create a new project using Git all you need to do is check the option to create a local git repository when you create the project in Xcode. Xcode will then create the repository for your project through a Git service site and will allow you to create a remote copy. You will need to continue on to your organizer to add a remote to your project. You may need to provide authentication for the repository that you are using, but once done you will need to push your master branch. You can also use pre-existing projects, however you will need to go through your Git repository website to grab the ssh or https URL.

Creating and Editing

Now that you have gotten you project up and running, you can get started on creating and editing its elements. You should have a working copy of your project at this point, and you should also have a copy that you are editing. Xcode will show you which ones you are using and if they have been edited or not. You edit your project by committing changes you have made.
Xcode will allow you to choose which edits you want to commit and which ones you don’t. In this way you, as a developer, can play with different ideas and see which works best before you commit the changes. This way you don’t have to be stuck with changes that you see don’t work as well as you first thought.
There is a versions editor in Xcode that will allow you to see the git history for a file in three different ways: comparison, blame, and log. These three different views allow you to see your work with different edits on it, and from here you can pick and choose which edits or commits you want to keep or discard.
Seeing the history of your project can help you see which edits have been made and who made them. The blame tool is great to use when you are creating an app with a team of developers, so you can see which person made each edit.

Branches 

Branches are the different aspects, or layers, of your app. You will have a master branch, which is basically the ground floor, that is the basis of your entire app. From there you can create different branches that go in different directions, and can take your app to different levels. Using Git and Xcode you can create different edits and commit codes for different branches, meaning that these edits will only affect the branches that you want to edit, not your entire app. You can do this through Xcode by using the “commit to branch” tool. To move through your different branches you will need to use your organizer.

Now You Can Create Your Own Apps

All of this might seem pretty technical, and that’s okay. There are many different courses that you can take to help guide you through creating your apps using Xcode and Git. The Xcode platform is very thorough and will allow you to write code for a myriad of different apps and ideas. Git is a user-friendly software management system that makes it simple to edit and mange your project.
These two being used together actually works pretty well, and the Xcode supports the Git systems wonderfully. It is worth it for you to look into using them together for your next app design. Once you have used these tools to create an app, you should also try these ideas for Evaluating Your Software.
All of this may seem a little confusing, and that’s okay. There is a lot for you to work through as you begin to use this system. You can find more information on creating apps with a project-based approach in iOS App Development with Xcode for more clarification.

iOS vs Android vs Windows: The Battle of the Mobile OS

1:56 PM Posted by Ariana No comments
iosvsandroidvswindowsSociety has transitioned into a post-PC era. More people are choosing mobile platforms to perform a variety of tasks than ever before. This year, there are an estimated 1.5 billion smartphones on the planet. These phones are capable of mobile banking, social media and of course, the inevitable game of Candy Crush Saga…among other things.
In addition to a host of productivity apps, all of these platforms have become excellent gaming solutions. Almost everyday, average people with little to no programming experience are creating best-selling mobile games. You can learn more about creating your own profitable games in Introduction to Mobile Game Development.
There is a lot of hype when it comes to which mobile OS is the best. It’s no secret that Apple started the mobile smartphone movement and truly opened the gates for a full migration away from the PC. In recent years, however, Apple has been forced to step aside as the popularity of the Android OS has really come into its own and taken the world by storm.
In fact, current estimates report that the Android OS commands approximately a 73% market share in the mobile OS arena. Despite the increasing popularity of Android, is it the right choice for you?
In this article, each of the three major mobile operating systems is evaluated from both a user and a development standpoint. As important as the user experience has become, any mobile OS is only as good as the developers that work to create new and innovative capabilities for a particular platform.

iOS

Apple created the first truly innovative mobile OS when it introduced the first iPhone in 2007. Since that time, the world has been literally transformed into a post-PC era society expecting to live at the speed of information.
iOS was the first smartphone to offer downloadable applications (or apps) and the platform continues to foster the best application development environment of any mobile OS. Apps have allowed users to customize the user experience in ways never imagined prior to the release of this groundbreaking mobile OS.
In 2010, Apple once again turned the tables with the introduction of the iPad – a device that has experienced increased popularity each successive year since its release. iPads can be found in use as learning tools in classrooms around the world, but the tablet is just as comfortable in the corporate environment.

New Features

The recent release of iOS 7 has brought a new level of usability to this mobile platform. Many new features are reminiscent of many Android features that were noticeably lacking in previous iOS releases.
For example, the notification bar has been improved and offers new levels of customization. Another useful utility bar known as the Control Center was also added – allowing users to quickly toggle important features by simply sliding from the bottom of the screen in an upward direction.
On Apple’s newest release, the iPhone 5S, a fingerprint scanner has been added for extra security. Although many users still prefer the traditional passcode lock screen, this feature is well beyond any security features available in other platforms in terms of ease-of-use and overall security.
Another new feature that has been met with warm regard is the layering effect Apple was able to achieve with the latest iOS release. The multi-tasking capabilities of iOS 7 far exceed anything available in previous iOS releases and rival the effectiveness of similar techniques used by Android. Specifically, the task list accessed by double-tapping the Home button allows users to quickly switch between open applications while offering an easy way to close applications no longer being used in an effort to conserve memory and battery life.
Speaking of battery life…the battery life displayed by iOS 7 devices represents a marked improvement over iOS 6. Apple devices have always been known for exceptional battery life (especially when compared to early generation Android devices), but iOS 6 offered users subpar battery life. Fortunately, Apple has addressed this issue in its newest release and brings the iPhone/iPad back to center stage in the battery life arena.

User Experience

The iPhone is famous for offering a unified user experience that is easy to navigate for most users. The design is so simple that it has become common to see toddlers successfully navigating through menus. Although this degree of simplicity may seem counterproductive, it is for this reason that iOS has become the operating system of choice for many users worldwide.
iOS is compatible with many devices including the iPad and OS X products. Users with experience using any of these platforms should have no problem transitioning to the iPhone operating system.
Another strength of iOS is seamless integration with iTunes. This free software product is available for both Windows and Mac and allows iPhone users to manage practically every aspect of the phone quickly and easily.
Everything from software updates to automated data backups can be managed effectively using the iTunes interface. Content can be purchased via iTunes and consumed on the iPhone at a later time thanks to iCloud technology. All iOS users are given 5GB of iCloud storage for free and additional storage is available for a nominal annual fee.
The Apple App Store currently has over 750,000 applications available for download. The average app cost for the iPhone is $3.18 ($4.44 for iPad). iOS continues to have the highest number of compatible apps available despite losing market share to Android.
This is due to compatibility issues experienced across various Android devices. This topic is discussed in more detail in the Android sub-section of this article.
Either way, the absence of compatibility issues and a strong development community give Apple a distinct advantage in terms of application development and availability. As a general rule, popular new apps debut in the Apple App Store and move to Android after successfully proving marketability in the iOS arena.

Developer Experience

Apps written for iOS are developed using Objective-C; a proprietary language originally created in the 1980s for developing the OS X operating system. You can learn more about using Objective-C to create your own iOS apps in How to Make iPhone Apps.
iOS has been the go-to platform for developers despite fierce competition from Google in recent years. The Apple platform is ideal for developers for a few reasons:
  • iOS apps are compatible with all devices. Although some apps are marketed specifically for iPads, any iOS app is compatible with any current iOS product. This means you can create an application once and expect a uniform user experience across all compatible devices.
  • iOS users are typically more willing to spend money purchasing new applications and content. Although Android has significantly streamlined its payment process in recent years, iOS remains the most lucrative platform for most mobile app developers.
  • Solid security protocols inherent to the Apple App Store make it extremely unlikely that your application will be corrupted or copied by malicious developers.
Traditionally, a Mac computer was required to develop commercially-available applications for iOS. More recently, however, this requirement has been lifted and there are a variety of software programs available that are perfectly at home on a Windows machine. For example, iPhone Game Design with No Coding Required teaches you how to create functional applications using the popular GameSalad IDE.

Who iOS is Ideal For

iOS attracts a large audience from many backgrounds. Tech-oriented people enjoy the wide variety of applications available for the platform. Many first time smartphone users are also attracted to iOS devices due to its simplistic design and exceptional user experience.
That said, many users find iOS rather limiting when compared to Android (a platform known for providing an extremely customizable user experience). Jailbreaking iOS devices is a popular technique that allows iOS users much more control over device functionality at the cost of a voided warranty and a sometimes erratic experience.
Additionally, Apple vehemently opposes the jailbreaking process and intentionally blocks known exploits in software updates. It truly becomes a cat-and-mouse game between jailbroken developers and the uniform user experience Apple strives to maintain. Although jailbroken users remain a significant minority in the mobile phone marketplace, it remains an issue that sparks much debate among many advanced smartphone users.

Android

A product of the Open Handset Alliance, Android was first introduced to the public in 2007. You may recall that this was the same year Apple unveiled the first iPhone for commercial production. Android, Inc. was a Google-backed company that was ultimately acquired by the search giant in 2005.
The Open Handset Alliance is a large group consisting of many mobile service providers around the world, handset manufacturers and of course, Google, Inc.
Unlike iOS or Windows, Android is a completely open-source mobile operating system based on a Linux kernel and released under the Apache license. The code is freely available and can be modified by wireless handset manufacturers as needed to create custom mobile solutions.
Some of the largest distributors of Android-powered handsets include Samsung, HTC and LG. There are many other companies also relying on Android to create mobile phone and tablet solutions under a variety of brand names (many created and manufactured in China).
Although Android started as an alternative mobile OS targeting the smartphone market specifically, the lineup has expanded to include a full assortment of tablets and laptop-type devices. Android has certainly grown to show its versatility across various hardware configurations thanks to significant advancements in both the Android framework and mobile processors including the QualComm SnapDragon series and the Samsung Exynos chipset.
One of the features that has always set Android apart from fierce competitor Apple is the use of interactive widgets on the Android homescreen. Users can install widgets for their favorite applications allowing them to interact directly from the homescreen of the device. This is a feature that is still not available in even the newest iterations of iOS.
In more recent versions of Android, widgets are even available on the lockscreen of the device – a feature that has yet to be matched by any other mobile platform including Windows Phone and iOS.
At the time of this writing, the Google Play Store has approximately 700,000 applications available. The average price per application comes in slightly lower than Apple at $3.06. Although these numbers seem relatively close, it’s worth noting that many of the apps that cost money to download in the Apple App Store are free via Google Play.
In Apple’s defense, Google developers rely very heavily on advertising revenue generated during app use. This compensation model is just starting to gain momentum in the iOS development world.
Another useful new feature is the improved Email application. Although Gmail has taken off as one of the best mobile email clients available, the default Android Email client has left much to be desired in recent years. Fortunately, these deficiencies are a thing of the past in Android 4.4. The new interface borrows many excellent features from the popular Gmail client and vastly improves the functionality of the Email client overall.
One of the biggest complaints among Android users is compatibility issues among various devices. It is not uncommon for a user to have some favorite apps that are simply not compatible with a new device they may purchase. This is due to the relatively non-uniform standards that make up the Android world. Since Android is free to use, handset manufacturers are able to use the powerful mobile platform with less-than-ideal hardware combinations.
In Google’s defense, a certification process has been instituted that tests all Android-powered devices prior to public release. This prevents manufacturers from cutting corners and helps to cultivate a more uniform experience for users.
Unfortunately, there are still numerous compatibility issues. As Google adds new features to the OS, developers try to maximize the power of these new APIs. This often means that devices quickly become outdated and are incapable of processing many new applications.
Although this can lead to a frustrating user experience, Google’s new Android version seeks to eliminate some of these inconsistencies. Of course, the “spin” put on Android by each manufacturer still plays an integral role in this process, but Kit Kat shows real promise as a truly unifying operating system for Google and the Open Handset Alliance.

New Features

Android’s latest release, 4.4 Kit Kat, offers a noticeably more uniform experience across devices with different hardware/screen size combinations and a host of new features designed to implement outside services more smoothly.
The newest Android version provides many new features aimed to improve the user experience. Although this version is only available on select devices (until early 2014), the initial impression from users has been entirely positive.
The lock screen has been improved to accommodate even more customization. The new lock screen even allows users to use widgets from corporate email accounts – important for Enterprise-level security concerns and previously lacking from other enterprise security-related patches.
The status bar, Google Search integration and Google Now have all been improved in 4.4. The default photo editor has also been improved and guarantees user photos will not degrade using this new release. Even though the Google photo editor has always been decent, it is not competitive with many of the third party editors readily available in the Google Play Store…until now.

User Experience

The unique user experience that can be achieved using Android has not been duplicated on any other mobile OS. From its early days, Android offered users the option of adding widgets to the home screen. Most popular applications include a widget as part of the installation package. Users can drag-and-drop these widgets anywhere on the home screen for a quick and seamless app interaction without any complicated procedures.
Part of the uphill battle Android has faced comes as a result of the platform’s desire to bridge the gap between a mobile OS (like iOS) and a traditional Windows PC. While Google developers have a done a pretty good job achieving this goal, the cost is a user interface that isn’t quite as polished. The result can sometimes feel like a “techies playground” that is not suitable for the novice user.
In response to this common complaint, many Android handset manufacturers have created a simplified version of the UI that hides many of complex settings from inexperienced users. Samsung calls this feature “Easy Mode;” other manufacturers have similar names for this feature. This definitely represents a step in the right direction for Android; however, it is simply not as easy to use as iOS or even Windows devices.
Even experienced users have become frustrated with many of the new flagship devices as carriers have modified the Android code in ways that prevent many power-users from obtaining “root access.” Root access is very similar to the idea of jailbreaking mentioned in the previous section – it is a way for users to create completely custom devices using modified software and applications.
Like jailbreaking, rooting makes up a very small percentage of the Android user base; however, a mobile OS designed for the tech-oriented crowd should really take a stance on this carrier practice to appease those who first adopted the product.
Recent versions of Android have successfully bridged the gap between smartphone and tablet. A few years ago, Android introduced the 3.0 Honeycomb release designed specifically for tablets. Unfortunately, having two different interfaces was difficult for users to understand and certainly represented a far cry from the uniform experience of iOS devices of all sizes.
When Android 4.0 was released, the goal was to create a single mobile platform that worked just as well on tablets and smartphones. With the introduction of 4.4, it appears that Google and Android have finally found an ideal cross-hardware platform that can transition easily between various screen sizes and hardware configurations.

Developer Experience

Android has always attempted to foster a strong development environment. After all, good developers who are confident in the platform are the key to innovation. Becoming a Google developer is simple and requires a one-time setup fee of $25 (good for an unlimited number of app submissions). One of the most attractive aspects of creating Android apps is how quickly they are available for sale after submission.
Typically, apps are available for purchase and download within hours of submission. A submission to the Apple App Store, on the other hand, can take 4-6 weeks (or longer) for approval before becoming available to consumers. In such a highly-competitive app marketplace, this time-to-market differential is significant.
Android applications can be created using any modern OS including Windows, Mac and Linux. A free Software Development Kit (SDK) is available for download from the Google repository that can be installed and setup within an hour.
The Android programming language is actually a set of Java APIs. Potential developers need to have a correctly installed version of the latest Java Runtime Environment (JRE) to create Android applications. Obviously, a basic understanding of Java principles also helps. Java Fundamentals I & II is a great place to start.
Although Android is Java-based, there are a few differences that even experienced Java developers may not be familiar with. Android programming is broken up into four components that work together to create every functional application. They are:
  • Activities – An Activity represents any single screen with a user interface on an Android device. For instance, an email application would have an activity that displays new emails, another designed to compose new emails and another activity for reading mail. This is an important component of Android because although these activities all work together, they are separate processes. This means that another application can start an activity (with permission). A good example of this idea in action is a camera application that can open the email app to attach a photo to a new email automatically.
  • Services – A Service does not have a user interface and is specifically designed to handle long-running operations. Typical Services include a service that plays music in the background and background data synchronization. This component allows the OS to perform these functions while the user is performing other tasks on the device.
  • Content Provider – A Content Provider manages a shared set of data across applications. Data can be stored directly in the file system of the device, in a separate SQLite database, on the Web or in any other persistent data location. The default Contacts application built into Android has a Content Provider that can share contact information with other applications. This is how social media apps like Facebook can sync with existing contact information (and how contacts are automatically backed up to Google servers).
  • Broadcast Receiver – Broadcast Receivers respond to system-wide announcements. Although many of these announcements are generated by Android (such as screen off or battery low), Broadcast Receivers can also be generated by user-installed applications. Although Broadcast Receivers usually don’t do much work, they are responsible for starting services or activities as needed to provide a smooth user experience. Broadcast Receivers are also commonly used to implement many app widgets placed on the homescreen.
Remember that one of the most powerful parts of Android from a development standpoint is that you can reuse existing code to create functional applications quickly. For instance, if your app needs GPS data, you don’t need to write the code for implementing GPS. Rather, you simply need to call the existing GPS framework inherent to Android for use in your application. Using the camera, SQLite databases and 3D graphics rendering are all just as easy. Even novice developers can start creating useful application without extensive training or experience.
You can learn more about creating your own Android applications in Android App Development Fundamentals I.
Although many developers choose to program Android from scratch, there are quite a few powerful app creation engines available that make Android app programming even easier. As previously mentioned, GameSalad is an excellent choice that allows you to create apps for Android as well as other popular platforms including iOS and Flash. You can learn more about using GameSalad inGame Development using GameSalad.

Who Android is Ideal For

Android is a versatile platform that can appeal to novice users and experienced power users alike. The introduction of “Easy Mode” and similar interface options has certainly made Android more accessible to first-time smartphone users while still providing the level of customization expected by advanced users.
Android also appeals to many corporate customers. This is especially true in recent releases that have made enterprise-level security easy to administer. Probably the biggest drawback to using Android over another platform (such as iOS) is that applications are usually available on the competing platform prior to release for Android. Although this isn’t always the case, competitive business models often can’t wait for the release of business essential functionality and may choose iOS products as a result.
If you have experience using any popular mobile OS, making the transition to Android is not difficult. In fact, you will probably appreciate the extra customization options available and wonder how you used another (more limiting) platform.
New smartphone users often become frustrated quickly with the number of options available for practically every task in the Android OS. In these cases, iOS or even Windows are probably a better choice because the user experience is more closely monitored.
Despite the significant improvements made by Android developers with the release of 4.4 Kit Kat, some degree of hardware incompatibility will always be present. Users purchasing the latest hardware do not usually have this issue as it appears to mostly affect budget devices with questionable hardware configurations. In either case, these compatibility issues are certainly not debilitating and should have a very minor role in your decision about whether or not to use the Android platform.

Windows

Microsoft has been a PC powerhouse for years, but the success of the company has never truly expanded into the mobile OS market (not for lack of trying however). Even before iOS and Android stormed onto the scene, Windows was unsuccessfully competing against the likes of BlackBerry and Palm OS.
Despite the spotted history of the mobile Windows OS, the company reinvented the idea of cross-platform compatibility with the release of Windows Phone 8 late last year. Coming on the heels of the official Windows 8 PC release, the new mobile platform is designed to offer users a seamless transition from the desktop environment.
In addition to releasing many solid phone models manufactured by HTC and Nokia (primarily), Microsoft also introduced a new line of tablets featuring the updated software. In theory, a user can access their important files anywhere thanks to the cross-platform capabilities of Windows 8.
Thanks to cloud computing, most mobile users have options for accessing important files on the go. That said, Windows has an advantage. It’s no secret that most corporate environments rely on Microsoft Office products for daily operations and the Microsoft marketing team has certainly capitalized on this fact since its release.
If you want an excellent overview of using this unique platform, check out theWindows 8 for Dummies Training Video. Although this course focuses primarily on the desktop version of Windows 8, the mobile version is very similar and the interoperability between mobile and desktop versions is one of Windows 8’s strong points.

New Features

Whether its courtesy of a cloud solution such as Office 365 or standard remote access policies, users with a Windows OS device have instant access to important documents. If Microsoft did anything right in Windows Phone 8 it was the smooth integration with existing Microsoft products.
Other new features include quad core processor support, Data Sense (data usage monitoring), an improved keyboard and a powerful camera app. Out of the box the platform boasts as many features as either iOS or Android. As always, however, the success is in the implementation.
There are a few problems with the Windows OS including the lack of a dedicated developer community and lackluster social media integration. Microsoft has simply failed to create any real confidence in these products from a development standpoint. With less than a 5% market share worldwide, it becomes difficult to convince a development team to step away from iOS or Android; even for a moment.
Social media integration fails to meet the expectations that have been set by competitive platforms; although Microsoft did do a good job of improving the overall social experience with improvements to its proprietary products. One such improvement is called “Rooms” – an app thats allows you to share calendars, photo albums and group message chats with other users included in that Room.
Unfortunately, users are not usually quick to adopt proprietary solutions such as Rooms quickly. The preference seems to be for cross-platform compatible solutions; ones that quickly adapt to users that change phones with regularity (a group that is increasingly significant in numbers).
You can learn about many other new features in Microsoft Windows 8.

User Experience

The new Windows OS design is based on “Tiles.” These Tiles are customizable and contain information about everything from local weather to social media alerts to text messaging. Although not quite as advanced as the widget system used in Android, these tiles do update in real time and provide helpful, at-a-glance information.
For novice smartphone users, the interface is very easy to use (especially due to the Tiles); albeit not very intuitive. For instance, an average smartphone user might understand the concept of swiping from side to side to access the Settings option, but a novice may not. Granted, every smartphone has a learning curve, but iOS definitely beats out Windows in terms of ease-of-use across all skill levels.
Setting up an email account can be difficult as well. While integration with Outlook and other Microsoft solutions is seamless, users might have difficulty doing something as simple as setting up a POP3 email account. Where Apple has successfully “trapped” users in their world, Microsoft has much to learn as far as creating a complete mobile user experience within its own Microsoft-inspired world.
Overall, Windows does a good job of offering an alternative solution to Android or iOS. The interface is relatively simple to use and the learning curve is rather shallow when compared to Android. Unfortunately, the platform simply hasn’t had enough time to attract a strong development community or even a refined interface (after all, it took Android almost four years to really nail it).

Developer Experience

Developing for Windows 8 requires a couple of software tools from Microsoft. Fortunately, these tools are free for individual use by downloading the Express version. If you are developing for Windows Phone 8, you should download Visual Studio Express 2012 for Windows Phone. Likewise, Visual Studio Express 2012 for Windows 8 should be used for creating conventional desktop apps for Windows 8 x86-based machines.
Development tools are freely available, so what’s the catch? There just aren’t enough users to create a demand for innovative development. For the most part, Windows Phone is an afterthought for most developers because with only 5% market share worldwide, there isn’t a very strong profit potential in the Windows Store.
That shouldn’t prevent anyone from developing Windows 8 apps; however, because there is still room for Microsoft to take a larger slice of the mobile device pie if they continue to improve the OS. It wasn’t until about two years ago that Android really became a strong competitor for Apple. Prior to that, Android was a good idea with lots of bug and inconsistencies. Could Windows Phone 8 have a similar fate in years to come?
Windows does provide an extremely secure solution for corporate individuals using company assets on-the-go. Bring Your Own Device (BYOD) policies are popping up all over corporate America and Microsoft has tried to capitalize on the increased need for security with Windows Phone 8. As a developer, it’s perfectly reasonable to assume that this mobile OS will become more important in the coming years as security threats continue to increase.
Positioning yourself as a Windows app security guru now could prove to be a profitable position in the near future. This is an important consideration when competition between Apple and Android developers has never been fiercer.

Who Windows is Ideal For

Windows is an ideal solution for many people. Although these devices are less likely to attract the tech-oriented crowd, this wasn’t always the case. As the mobile platform continues to grow, expect more tech-savvy users to embrace the OS in addition to the millions of average users that already have.
The Windows platform works well for corporate employees that rely heavily on Office 365 to complete work assignments away from the office. It is also a good choice for anyone who recently migrated successfully to the Windows 8 PC solution. Even novice smartphone users with experience using Windows 8 will feel right at home with the Metro UI (Tile) interface.
Finally, the Windows OS is perfect for consumers that don’t require the latest and greatest gadget but do require consistent performance, solid battery life and perfect integration with existing Microsoft products.

So Which One’s on Top?

The point of laying out all of these platforms is to demonstrate that each OS offers a slightly different take on the smartphone experience. Does any single mobile OS meet the requirements of every potential user? Absolutely not…that’s why choosing the correct operating system for your requirements is a personal decision.
If you are looking for the best all-encompassing experience, get an iPhone or iPad. Apple has fallen off as an innovative contender in recent years but remains a marketing master and the manufacturer of a solid mobile product that meets the needs of most (if not all) users on some level.
Windows 8 is another solid choice when you want a phone that “just works.” The platform is solid and the devices sufficiently perform most important aspects inherent to all mobile platforms such as phone calls, SMS, email and social media updates. The level of customization available on either Android or Apple is not available and many users will become frustrated with the lack of integration with other popular platforms.
Android is probably the most well-rounded candidate for top mobile OS honors. It is a versatile platform that meets the needs of practically every user. The drawbacks to Android include hardware compatibility issues and an interface that could leave many novices in a state of buyer’s remorse.
Despite these drawbacks, new Android-powered handsets are being activated in record-breaking numbers and the platform is holding its top position with ease. The mass-release of Kit Kat (4.4) should represent another significant step forward for the Open Handset Alliance, Google and the Android OS.
Regardless of which platform you choose for your next smartphone (or development project), remember that each platform is good – but a true solution comes from understanding your needs as they relate to the functionality offered by your selection.

XCode on Windows: How to Develop for Mac or iOS on a PC

1:52 PM Posted by Ariana , No comments

XCode on Windows: How to Develop for Mac or iOS on a PC

xcode on windowsWould you like to develop software for Mac OS X or iOS? While it’s easy to develop apps for Linux and Windows on any platform, developing software for Mac requires a toolset called XCode, designed and built by Apple specifically for Mac OS X.
XCode is an incredibly powerful piece of software. Not only is it a complete toolset for developing Mac apps; it’s also an interface builder, testing application, and asset management toolkit.
In this simple guide, you’ll learn how to use XCode on Windows – something that’s normally impossible. All you’ll need is a Windows PC, a copy of Mac OS X, an Apple account, and an Internet connection.
Is this your first time using XCode? Learn how to program software for Mac and iOS with our 1 Hour XCode Introduction.

Installing a virtual PC application with Mac OS X

Since XCode only runs on Mac OS X, you’ll need to be able to simulate an installation of Mac OS X on Windows. This is surprisingly easy to do with virtualization software like VMWare or open source alternative VirtualBox.
For the purpose of this guide, we’ll be using VirtualBox. If you use a different virtual computer application, the process is much the same. Since VirtualBox is open source and free to use, it’s worth downloading it if you don’t already have a copy installed.
Have you never used VirtualBox before? Learn how to use this powerful virtual PC application by enrolling in our course, QuickStart! – Virtual Box. In addition to Mac OS X, VirtualBox can also be used to run Linux and other operating systems.
Running a virtual computer is quite a demanding process, and you’ll need to have a fairly powerful PC for it to operate successfully. You’ll also need a PC with hardware similar to that of a standard, Apple-constructed iMac, MacBook, or Mac Pro.
To successfully emulate a Mac using a Windows PC, you’ll need the following:
  • A Dual Core Intel processor
  • At least 2GB of RAM (4GB+ recommended)
  • Hardware Virtualization
Is your PC too weak to emulate a Mac properly? Learn how to build a powerful PC for gaming, app development, and more with our Learn How to Build a Computercourse.
You’ll also need an installation disc for Mac OS X. You can purchase this online from the Apple Store or, if you already own a MacBook, iMac, or Mac Pro, you can use the install disc you received with your computer.
Once you’ve installed VirtualBox, open the application and choose to install Mac OS X Server 64 Bit. Provide the virtual computer with at least 2GB of RAM (if you have more than 8GB of RAM, choose 4GB+) and more than 30GB of hard disk space.
VirtualBox will automatically configure the operating system, but you’ll still need to make a few changes manually. Open the Settings menu and carry out the following changes:
  • On the System tab, uncheck Enable EFI
  • On the Processor tab, select at least two CPUs
  • On the Display tab, increase the video memory to at least 128MB

Installing Mac OS X and booting your virtual machine

Finally, you’ll need to download a Hackboot boot loader to install OS X. You can find a Hackboot install file by searching Google – in this case, you’ll needHackboot 1 and Hackboot 2, as well as your OS X disc, to complete the installation.
Select your Hackboot 1 disc image, and then start the virtual machine. Your virtual machine will boot, and you’ll see an OS X screen. Using the menu at the bottom of the screen, launch the disc drive that contains your OS X installation disc.
From here, you’ll need to follow the installation instructions for Mac OS X. It takes several minutes to install the operating system. Once the process is finished, you’ll need to switch off your virtual machine and change your boot disc.
Reopen VirtualBox and, leaving all of your other settings the same, switch your boot disc from Hackboot 1 to Hackboot 2. You’ll boot into a screen with two icons. Select Mac OS X and press Enter to initiate the Mac OS X boot sequence.
During the Mac OS X configuration sequence, you’ll need to enter your Apple ID. This is necessary for downloading the XCode toolset later, so make sure you enter a valid Apple account when you configure your operating system.

Installing XCode on your Mac OS X virtual machine

Once you’ve configured your Mac OS X virtual machine, installing XCode is relatively easy. Before you install XCode, you’ll want to configure your virtual machine to your preferred resolution and settings using the System Preferencesmenu.
Is this your first time using Mac OS X? If you’re a PC user, finding your way around in the new interface can be a challenge. Enroll in Using Mac OS X for Windows Users to learn the basics of the OS X interface, from the Dock to features like Spotlight.
From here, installing XCode is simple. Open the App Store application from the dock and type XCode into the search bar. You might need to reenter your account details, or enter them for the first time if you didn’t do so during Mac OS X configuration.
Navigate to the XCode app and click Install Now to download it. If you don’t have an Apple account, you’ll need to create one in order to download the XCode toolset for your virtual machine.
XCode is quite a large application, and downloading it could take anywhere from a minute to several hours, depending on your Internet connection speed. Once your download is finished, open Applications and click XCode to launch the installer.
Once the installation process is complete, you’ll be able to use XCode within your virtual machine to program apps for Mac OS or iOS. You can also download other Mac apps to use on your virtual machine, although they may not run smoothly.

Developing iOS Apps and more using XCode

XCode is an incredibly powerful toolkit for app development. It’s also refreshingly easy to use, especially for developers accustomed to cumbersome and complicated programming software for PC.
Learn more about how to use XCode by reading our iOS programming tutorial. It’s a great overview of the XCode interface, the programming characteristics of iOS, and much more.