Google is changing the way it’s handling Android updates (it’s high time it did, we might add) byintroducing Maintenance Releases (MR).
These patches will include bug fixes and tweaks, and we can speculate that Google could use the opportunity to add certain new features or change the behavior of existing ones. The first MR for Android 7.0 Nougat is expected this fall, and more will follow on a quarterly basis.
We don’t know yet whether MR will bump up the version number. In other words, will MR1 be called Android 7.0.1, Android 7.1, or something else entirely?
We have some flimsy evidence that points to Android 7.1. One clue is a section in the Android Developer Console (first spotted by Android Police) that includes a mention of Android 7.1.
The Windows Central Podcast — this week: Gamescom, Redstone, and Mobile
This week, Derek Kessler, Daniel Rubino, and Zac Bowden sidle up to the microphones to discuss the week’s biggest Windows news. And what might that be? Oh, only stuff like the world’s biggest gaming convention, a big update for Windows phones, and what’s in store for future versions of Windows 10.
Oh, and this absolutely bonkers gaming PC cube… thing… from HP. It’s so crazy you can’t not talk about it, which was probably HP’s idea behind it in the first place. Well played.
Help us make this show the best Microsoft podcast in the world. Tell your friends, share it on social media using the hashtag #wcpodcast, and give us a five-star rating wherever you download your podcasts! Thank you so much for listening!
We had only two real complaints about WD’s original My Passport Wireless media-streaming Wi-Fi hard drive: short-ish battery life, and an inability to charge other devices. WD has remedied both shortcomings with the all-new My Passport Wireless Pro. This is a thoroughly improved and much more capable product.
If you’re new to wireless media-streaming hard drives, they’re basically a marriage of Wi-Fi hot spot and battery-powered USB storage. In this case, you get a dual-band 802.11ac hot spot and either 2TB ($230) or 3TB ($250) of storage. Log onto the hot spot the My Passport Pro creates and you can stream music, video, or photographs from it to your laptop, tablet, or smartphone. You can also use it for like a NAS box or even a direct-attached USB 3.0 portable hard drive.
Unlike its very thick predecessor, the My Passport Wireless Pro could easily be mistaken for a portable optical drive (you remember those, right?). Except that this enclosure sports a micro-USB 3.0 connector, a USB 2.0 Type A port (for charging other devices from the drive’s battery), and an SD memory-card slot (for transferring files—automatically on insert, if you so choose. You can push a button if you don’t.) The new model weighs in at nearly a pound–that’s four ounces heavier than the original–and we’re pretty sure it’s attributable to the 6400 mAh battery.
The new Passport Wireless Pro is even easier to set up that its predecessor. With my iPad, all I had to do was select the My Passport network, join using the password prominently displayed on a sticker on the front of the unit, and then open Safari. The browser headed directly for the setup routine without my having to type in the URL for its configuration page. It also walked me through the process of connecting the parent network to pass through the Internet connection. Smooth. Easy. Good job WD.
Additionally, you’re asked if you want to download the Plex media server in order to stream media files from the My Passport Wireless Pro. Plex is optional, as the Twonky DLNA server is already included. But Plex has a slicker interface, offers a choice of proprietary or DLNA serving, and it provides clients for nearly every operating system (but not the 32-bit Windows 7 on my older Acer laptop. Go figure.)
Note that Plex requires signing up for a free account. Twonky does not, and it does a pretty decent job streaming movies and audio to client devices.
Battery life and performance
As to those extra four ounces of battery. Wow. The My Passport Wireless Pro more than doubles its predecessor’s four-hour run time, delivering 9 hours and 10 minutes in our test. And that was with the drive in performance mode; there’s also a battery-save mode that squeezes out about an extra half hour to forty-five minutes. If you don’t need to stream on battery power, that kind of juice can go a long way to charging other USB devices.
Used as a direct-attached USB hard drive, performance was a slightly below average. AS SSD rated the drive as reading 10GB sequentially at 120MBps, and writing it at 113MBps. Our 20GB large-file copy tests came up with almost exactly the same rates; however, speeds dropped significantly with our 20GB batch of smaller files and folders: to 75MBps reading and 55MBps writing.
Small-file write performance improved significantly after I re-formatted the drive from exFAT to the NTFS files system that the other drives in the chart used. That said, exFAT formatting can’t explain the slow reading of the 20GB batch of files and folders, where exFAT and NTFS generally perform the same. If you’re planning to use the drive with a Mac, on the other hand, you’ll want to leave the drive formatted as exFAT: Macs can read NTFS-formatted drives, but they can’t write to them.
Streaming was a mixed bag of easy and not so easy. This wasn’t the Wireless Pro’s fault, but the uneven implementation of streaming protocols across platforms. In all cases (Android, iOS, OS X, Windows 10, Windows 7, and Windows Phone) I was eventually able to stream 1080p video, though in some cases it required switching apps on the client devices and/or switching between Plex and Twonky. Streaming 2160p files (4K UHD) didn’t work, but that’s no surprise: Streaming those files over most ethernet connections can be iffy; besides, there’s not a lot of 2160p content out there.
The issues I did encounter were with the Windows Media Player (LAV filters) and Twonky server streaming to 32-bit Windows 7, which stuttered continually even when I lowered the resolution to 720p. I’ve never had problems with that laptop and other implementations of Twonky so that’s a bit of a puzzler. Additionally I continually received connection errors when I tried to stream from Plex to a Windows Phone. Although it did display thumbnails of the movies, I was never able to stream to that device.
I also encountered issues with oddball codecs, but you’ll do fine if you stick with the common ones–MPEG-1, MPEG-2, h.264, WMV, and the like–and your clients use modern 64-bit operating systems.
The My Passport Wireless Pro ameliorates every complaint we had about its predecessor. It has a lot more juice, it can stream one way or another to every portable device out there, it’s easy to use, and it has the ability to charge other devices. That’s as good as it gets in portable Wi-Fi drives.
The SQL Server 2016 Community Technology Preview (CTP) 3.2 is now available for download! In SQL Server 2016 CTP 3.2, part of our new rapid preview model, we made enhancements to several features which you can try in your development and test environments. Additionally, a number of Mobile BI additions and enhancements will be available in CTP 3.2 and by the end of December.
In SQL Server 2016 CTP 3.2, available for download or in an Azure VM today, you will see enhancements in several areas, including:
SQL Server Reporting Services – End-to-end mobile BI on any device
The SQL Server 2016 CTP 3.2 release marks a significant milestone for SQL Server Reporting Services (SSRS) as we continue to deliver on ourMicrosoft BI reporting roadmap and the promise to enable users to get business insights, anyway, anywhere and from any device.
In this preview release, we are adding support for mobile reports to SQL Server Reporting Services for on-premises implementations. This means that Reporting Services will be able to support two report types, paginated reports, which are the existing Reporting Services reports and mobile reports, which are based on Datazen technology that was acquired in April of 2015.
Mobile reports are optimized for mobile devices and form factors and provide an optimal experience for users accessing BI reports on mobile devices. With SQL Server 2016 CTP 3.2, you can author and manage mobile reports for easy consumption by users across your organization online and on mobile devices.
Author interactive mobile reports
Microsoft SQL Server Mobile Report Publisher is the single point for creation of mobile reports. You can simply connect to SQL Server Reporting Services to access data sources and easily create stunning reports, then publish them to SQL Server Reporting Services for access by others in the organization via a unified web experience or on mobile devices.
Microsoft SQL Server Mobile Report Publisher preview is available for download from the Microsoft Download Center.
Consume mobile reports using a unified Mobile BI experience
Whether you are using SQL Server Reporting Services on-premises, Power BI in the cloud, or both as your report delivery solution you will only need one mobile app (for each of Windows, iOS and Android) to access dashboards and mobile reports on mobile devices.
Starting with the Power BI app for iOS all of your BI content will be available at your fingertips from within one single, unified mobile app. The Power BI app for iOS that includes a preview of the SSRS mobile reporting capabilities is available from theApp Store.
New Web portal experience
The addition of the mobile report type in SQL Server Reporting Services is accompanied with an entirely new web portal experience allowing users to access KPIs, paginated and mobile reports in one centralized location.
Ready to learn more about these exciting new capabilities and explore the opportunities and scenarios it can enable for you and your organization? Download the CTP 3.2 release today and check out this SSRS blog post to find out how your organization can get business insights, any way, anywhere and from any device.
SQL Server Management Studio (SSMS) features improvements to the XEvents wizard to allow the use of templates when connected to an Azure v12 server, user interface improvements to AlwaysEncrypted wizards and dialogs, an improvement to the Results pane to enable switching to the results tab after query execution, and updates to the Showplan comparison feature to enable comparison of the current execution plan with one saved in a file. Please visit the SSMS blog post to learn more.
SQL Server Analysis Services (SSAS) updates allow scripting in SSMS, creation of calculated tables, and DirectQuery for models with the 1200 compatibility level. Please visit the SSAS team blog post to learn more.
SQL Server Data Tools (SSDT) now includes enhancements for the new connection experience for Microsoft SQL Server and Azure SQL Database which was introduced in the CTP 3.1, as well as programmability support for SQL Server 2016 CTP3.2 features and enhancements in SQL Server Analysis Services. Please visit the SSDT team blog post to learn more.
SQL Server Integration Services (SSIS) enhancements include HDFS-to-HDFS copy support, as well as Hadoop connectivity improvements, including ARVO file format support and Kerberos authentication support.
Download SQL Server 2016 CTP 3.2 today!
As the foundation of our end-to-end data platform, SQL Server 2016 is the biggest leap forward in Microsoft’s data platform history with real-time operational analytics, rich visualizations on mobile devices, built-in advanced analytics, new advanced security technology, and both on-premises and in the cloud.
To learn more about SQL Server 2016, visit the SQL Server 2016 preview page. To experience the new, exciting features in SQL Server 2016 and the new rapid release model, download the preview or try the preview by using a virtual machine in Microsoft Azure and start evaluating the impact these new innovations can have for your business.
Have questions? Join the discussion on the new SQL Server 2016 capabilities at MSDN and StackOverflow. If you run into an issue or would like to make a suggestion, you can let us know through Connect. We look forward to hearing from you!
The first generation of API management tools has been focused on helping developers publish APIs for other developers. Developers are highly successful at publishing APIs, so much so that now there are millions of public APIs available. However, we’ve been less successful at getting downstream developers to actually use our APIs. External adoption of most APIs has lagged greatly behind expectations.
API publishers have learned that there are many facets to driving adoption and usage of their APIs. The next great challenge in API management revolves around one question: How can we make our APIs more compelling to other developers?
Integration is the leading use case for most APIs, and some of the best APIs have common traits that support integration use cases. Four that are proven to boost your API’s adoption are accommodating custom data, providing machine-readable docs, applying rich metadata, and exposing webhooks. These features will increasingly become more critical in driving adoption of your APIs as developers select not only the easiest but the most functional APIs to accomplish integration tasks. Ultimately, these are the traits that increase your API’s rate of adoption because they make life easier for your customers.
1. Accommodate custom data
SaaS apps make extensive use of custom data objects and custom data fields. Many SaaS apps provide powerful capabilities for users to create, update, and delete custom data, but most of these apps do not provide similar custom data management facilities through APIs. There is a series of steps to take to better accommodate custom data through your APIs, from discovery to field-level CRUD to reaching full CRUD operations for custom objects.
The first step to better accommodate custom data is adding a discovery API that provides the capacity to find all custom fields and objects at an endpoint electronically. Extending your API to provide a robust data discovery capability will make it far easier for developers to accomplish integrations tasks, while making it easy for them to programmatically find the unique data objects and fields in each instance of your application.
The next step in accommodating custom data to provide a complete set of RESTful methods is to enable CRUD operations for the data in each custom object. Enabling your developers to programmatically manage the custom objects like your standard objects will allow true dynamic integration experiences. Integrations are “dynamic” when they allow each integration to be uniquely designed based on the data discovered at the endpoint. Static integrations, on the other hand, are suitable for services with fixed payloads such as cloud storage, payment, and messaging services.
The most advanced means of supporting custom data is to provide APIs that actually create new custom objects and new custom data fields within standard objects. Integration scenarios often require developers to create a new field or object in the application to accommodate custom data from other applications that are being integrated with the app. Developers can create more powerful self-service integration experiences when they can create custom objects without requiring manual intervention through the user interface. Salesforce already has a great set of custom object APIs that demonstrate a best practice case of the ability to do full CRUD through APIs, including the creation of custom data.
2. Generate machine-readable API docs
Machine-readable documentation — the province of Swagger 2.0 and RAML — allows you to define your API in a manner that is easily discovered and understood by both humans and computers with minimal effort. By supporting an electronic and interactive definition, your API can be programmatically parsed and understood, including the full model schema, allowing your API to be integrated more efficiently.
The Swagger and RAML API documentation creators enable applications to ingest a model of an API (like a JSON model schema), then integrate and maintain the APIs — all while minimizing coding. Other benefits include reduced maintenance cost, as updates to your API can be obtained programmatically, streamlining the effort required to stay up-to-date. The implementation of these description languages is still in the early stages of adoption, but Swagger 2.0 is rapidly taking off in the SaaS and API management community. Its adoption is further fueled by the Linux Foundation’s Open API Initiative, which has adopted Swagger 2.0 as its standard API description language.
In fact, the Swagger 2.0 model can automatically generate SDKs for your API and keep them current, which can further accelerate adoption. Of course, many believe that SDKs are a pain to deal with; traditionally, they can’t be maintained and kept updated, as they’re always behind the API definition while they wait to be manually generated and maintained. Machine-readable docs eliminate this annoyance by making it possible to ingest the model schema of an object or resource electronically, and they generate SDKs that are always up-to-the-minute because they’re being generated from your API documentation.
3. Apply rich metadata around objects
Enriching APIs with metadata makes them more easily discoverable by the application developer and enables applications to understand the structure of your API with a richer context, such as the acceptable values for a field. You want the consumer of your API to know everything about your resources and the fields associated with those resources. Comprehensive metadata not only provides information about the structure and context of an object, but also information about consumption limits, which events are available, and other valuable data to guide the integrator.
The richer the metadata, the more easily your API can be integrated from the edition you’re on and insight into the macro (service) level, as well as being privy to each individual object and resource within that level. Metadata describes how to implement APIs per that data, how to call it in detail, and what it supports.
4. Expose webhooks
The majority of integrations requires events to trigger when an action should take place. Unfortunately, few endpoints support webhooks today, and among those that do, too many expose only a small subset of their available resources. Embracing webhooks is a terrific means for accomplishing integration use cases; rather than forcing users to pull your site, you can give them an event that grants access across all of your resources (versus a mere subset).
There are three stages to exposing webhooks: setting them up, addressing their structure, and addressing their coverage. But first, you need to embrace webhooks. Webhooks enable publishers to implement APIs more effectively and synchronize data among multiple APIs. The best APIs give you the ability to create a webhook programmatically, then instantiate.
After your webhook is set up programmatically, you can address its structure. Your webhook structure should be designed to provide as much information as possible. When configuring a webhook, you can choose the events for which you would like to receive payloads. You’ll find an excellent example of an effective webhook structure in the Delighted API.
You can count on developers to seek the most functional and easiest API to accomplish their integrations. If your API can accommodate custom data, provide machine-readable docs, apply rich metadata, and expose webhooks, then it has a much better chance of being adopted externally. That’s because it is a superior API.
Remember that NFC Ring Kickstarter from three years ago? Well the payment ring is now finally ready for prime time, as pre-orders have kicked off today with support for mobile payments.
The new NFC payment ring is primarily designed to work with wireless payment systems, without the need to whip out our credit card or smartphone. Once it’s all set-up, you wont even need your phone close by to use the ring, as it uses anonymous tokens to makepayments.The ring meets EMVCo’s contactless performance requirements, ensuring support for a range of VISA cards from a selection of banks.
There are a few others cool uses for the NFC Ring too. It can unlock your smartphone or tablet with a quick tap to the back of your phone. If you have an NFC enabled door lock, you can get in and out of your house without fumbling with keys. You can also use the ring to share WiFi information, link to websites, pictures, and contact information with other NFC devices.
If you’re interested, two NFC Ring models are available pre-order in three different colors and a huge selections of ring sizes. Prices are set at $53 (£40) for the latest model, and the company is offering 50 percent of all titanium rings this summer.
Microsoft is ready to take on Apple’s own online clipping service with OneClip integration in Windows 10 and Office.
Windows 10 Redstone in 2017 is going to be interesting for businesses and consumers alike, as Microsoft is focusing much more on the productivity side of Windows. Microsoft is already looking into bringing an “Office Hub” to the taskbar with Windows 10 in 2017, alongside a new feature called Working Sets that would make Office contextual and organized.
Productivity plans do not end there, however. We mentioned last week that OneClip is still in the works, and there’s a high chance we’ll see it show up in 2017 as an integrated feature in Windows and Office alongside being available on a wide variety of platforms. Microsoft has reshuffled and refocused plans for OneClip many times internally, and now it looks like they finally have an area in which it fits nicely.
What was OneClip?
For those who were living under a rock in May of 2015, you likely missed out on the original hype for OneClip. In short, it was a Microsoft Garage project that leaked to the public, available on a plethora of platforms including Windows, Android, and iOS. Shortly after it had leaked, Microsoft pulled the service from the public, denying access to anyone outside of Microsoft.
OneClip was a unique garage project as it was the first of its kind, allowing users to copy text and images on one device and paste that content on another device that was logged in to the same OneClip account. This worked across PCs, tablets and phones of all kinds, making it the first universal app to do this.
It’s been over a year now since OneClip was taken from the public, but that doesn’t mean the project is dead. In fact, Microsoft has plans to introduce it down the line as a first-party feature, meaning it’ll have tight integration with Microsoft products such as Windows 10, Windows 10 Mobile and Office.
OneClip in 2017
For the most part, the OneClip the public got access to last year will very much be similar to the OneClip we get in 2017. Apart from obvious UI changes and improvements, the main goal of the service is still “copy once, paste everywhere”. What has changed however is the fact that it’s no longer a Microsoft Garage project and is now being developed under the Office and Windows teams.
Microsoft is looking at ways it can make OneClip a productive piece of software that compliments Windows and Office in 2017, including integration with Working Sets, and positioning OneClip as a service that can not only copy your information, but back it up, store it, and collect information too.
For example, users creating a report or PowerPoint presentation for school or work can be doing research online, either on their phone, or on a computer that isn’t their own. In this case, you find some information that will be great for your project, however you don’t have your project on you at the time to add to. With OneClip, you can simply copy what you’ve found, whether it be a link, image, text or document, and store it within OneClip. When you get home, that piece of information you found earlier will be readily available to you from the OneClip stream.
OneClip and Working Sets integration will allow the user to simply pull up the OneClip stream whilst within a document, and pull content directly from OneClip with no fuss. With OneClip, you’ll also be able to sort your clips into specific types of clips, being able to filter them easily for finding later. This is especially helpful for those who are constantly copy and pasting information between devices. Here’s an example of some of the types of things you can copy with OneClip:
OneClip is expected to be available on Windows 10, Windows 10 Mobile, Android, iOS and Mac OS.
I’ve heard from sources that Microsoft may rebrand OneClip as “Bundle” when it launches to the public, as the feature has expanded to more than just an online clipping service. Now that OneClip is under Windows and Office, the company can do more with it and expand it to more apps and services. It’s still early days to lock in a name change for definite, but it’s definitely possible, and “Bundle” is what I’ve heard.
As with all in-development plans, anything and everything could change between now and whenever Microsoft feels ready to launch OneClip to the public. The concepts you see in this article are from internal sources, meaning UI’s are not final.
For many Mac owners, the built-in Disk Utility is all they’ll ever need. After all, Apple’s software handles the basic task of formatting HFS+, FAT32, and exFAT volumes and partitions, along with the occasional need for one-click verification and repair of native OS X disks. (And with macOS Sierra, the RAID tools make a return.)
However, there are plenty of valid reasons for wanting to do more with your drives, and not all are exclusive to technically inclined users. A few examples would be optimizing OS X, Windows, and Linux file systems, performing a secure wipe, or backing up data in a more effective manner than Time Machine.
If there’s anyone who knows what makes these file systems tick, it’s Paragon Software. Founded over two decades ago, the company makes it easy to format, read, and write NTFS or ExtFS volumes on a Mac with the simplicity and performance of native media. Now they’ve gone one step beyond those drivers with an all-in-one storage utility that makes Apple’s Disk Utility look positively feeble by comparison.
At your service
Making its debut on the Mac after years of services as a suite of Windows tools,Paragon Hard Disk Manager is an impressively solid OS X debut for a first version. Functionality is divided across two tabs: Disks and Partitions, where the majority of storage management tools reside, or Backup and Restore, used to create snapshot-based archives.
Hard Disk Manager is compatible with OS X Mavericks 10.9 and later, including support for the latest macOS Sierra courtesy of a free update. At first launch, HDM installs a few required under-the-hood “auxiliary components,” then displays a warning if System Integrity Protection (SIP) is enabled.
Introduced with OS X El Capitan 10.11, SIP prevents Mac software from gaining root privileges—great for combating potential malware, but a hindrance in the case of a utility like HDM. Senior contributor Glenn Fleishman explained how to manually disable SIP in a post last year, but HDM provides a one-click, Terminal-free method using bootable media that doubles as an OS X Recovery disk.
As a safeguard, HDM doesn’t immediately run most tasks, instead queuing them up awaiting further confirmation from the Apply Operations button before proceeding; there’s also an option to undo tasks from the queue. It’s great for preventing potential mistakes, but the extra clicks do tend to slow things down a bit.
Disks and partitions
Like Disk Utility, Hard Disk Manager’s Disks and Partitions tab displays a list of all mounted volumes. But unlike Apple’s dumbed-down approach, HDM provides more detailed disk maps, which represent partitions and logical disks as color-coded bars based on the file system in use: Purple for HFS+, light/dark blue for FAT16/32, aqua blue for NTFS, teal for exFAT, green for ExtFS, or orange for free space.
Needless to say, this approach is vastly superior to Disk Utility, which displays information by content type, like an iOS device. There are two ways to use the utility—you can wipe or copy an entire disk and edit sectors by clicking the gear in the upper right corner, or act upon individual partitions from their respective settings below.
Hard Disk Manager also displays partition information as a list at the bottom of the window, with available options only a contextual menu away. Oddly, this method doesn’t work from the graphical drive map, one of my few quibbles with an otherwise excellent utility.
Although HDM can format, partition, and otherwise work with non-native NTFS or ExFS volumes, you’ll still need Paragon’s replacement drivers installed to access files. Also, despite the name, HDM works equally well with solid-state storage (SSD), USB flash drives, and Apple’s hybrid Fusion Drives as it does with traditional platter-based disks.
Backup and restore
One of Paragon’s pride and joys is its Snapshot technology, which allows users to create an exact sector-level copy of the operating system and all user data. Compared to Time Machine and other Mac-native backup solutions, Snapshot offers improved performance, with system recovery times in minutes rather than hours.
The Backup and Restore options are laid out in a straightforward manner, and the Create New Archive wizard detects mounted OS X or Windows operating systems automatically, or you can manually select one or more partitions from the disk map. There’s currently no way to schedule backups as part of a regular routine, but Paragon plans to introduce this functionality in a future update.
HDM saves archives as Paragon Virtual Hard Drive (PVHD) images by default, which supports incremental imaging. This approach minimizes the time and storage space required for subsequent backups of the same volume(s). The installation also includes a VMDK mounter utility for those who prefer this format.
Paragon maintains a nice balance between ease of use and more advanced features, although novices will want to spend a little time getting accustomed to the unique UI before they start tinkering with existing volumes.
If you’re longing for the more robust features of earlier Disk Utility versions or want complete command over connected storage devices, Paragon Hard Disk Manager is the way to go.
As the end-of-support deadline for SQL Server 2005 draws near (April 12, 2016), you are probably starting to think about your upgrade strategy. Upgrading SQL Server is a multistage effort that takes time. Planning your SQL Server upgrade early will help you save money and prevent unnecessary business interruptions.
In our previous two posts, we discussed the importance of discovering what you’re running in your IT environment and then finding ways to customize your upgrade by choosing target destinations for each of your applications and workloads — on-premises servers, virtual machines or the cloud.
Now, we’ll walk you through some common upgrade strategies and offer ways that you can approach the upgrade process. By planning thoughtfully, your upgrade will be smoother, less complicated and more cost-effective.
Common upgrade strategies
Consider the following three approaches for your SQL Server upgrade:
In-place. An in-place upgrade replaces an existing instance of SQL Server 2005 by installing SQL Server 2014 over it and using the same hardware and platform. This strategy is great for when you aren’t worried about a little downtime and would prefer not to have to re-create the database configuration. While this might be the most straightforward way to upgrade, it is the least common, because most organizations prefer to take the opportunity to consolidate servers, perform hardware refreshes, or target some servers for virtualization rather than remaining physical.
Side-by-side. A side-by-side upgrade involves installing SQL Server 2014 as a secondary instance on the same hardware and platform as SQL Server 2005. In this scenario, you can keep your old system running right up until you switch to the new version of the database. This minimizes downtime and allows for parallel testing. While this option might be used in dev-test scenarios, it is uncommon in production server upgrades.
New instance installation. The most common and recommended upgrade strategy for SQL Server 2005 is to install SQL Server 2014 as a new instance using different hardware and new OS platform. Many organizations can benefit from acquiring new hardware or virtualizing their infrastructure as part of a SQL Server upgrade. This strategy, like side-by-side upgrade, allows for parallel side-by-side testing, and also renders your organization especially immune to any kind of downtime during the upgrade process. In addition, installing a new instance allows organizations to upgrade from 32-bit to 64-bit platforms and provides the most flexibility for taking advantage of the new features in SQL Server 2014.
The upgrade process
Regardless of which strategy you choose, it’s a good idea to tackle any database upgrade methodically so you can respond along the way as aspects of the project unfold — especially if your database systems are large and complex. Plan thoughtfully to avoid unnecessary time and resource costs.
You can choose any process framework for running your upgrade — Microsoft Operations Framework (MOF), Prince2, ITIL, SixSigma, etc. What’s important is that you identify one that works for your individual environment and stick with it. Know that most likely you will have to revisit earlier stages in the process and potentially need to reshape your plan as the migration and upgrade progresses. You may even need to revise your initial scope if you discover additional downstream systems.
Larger upgrade projects can take six to 12 months to execute, so the time to begin planning is now. Mitigate any concerns about business interruptions and achieve a faster, highly available system at the end of the upgrade process.
For a few years now it’s been clear that Android dominates the mobile OS landscape. This Java-based technology has sparked a new gold rush, with programmers competing to make money from their mobile apps. Android jobs are also plentiful, as shown by a quick job search using Indeed.com.
To be successful, Android developers need a good grasp of the Java language,Android APIs, and Android app architecture. It’s also essential to use an appropriate and effective development environment. For many years, Eclipse IDE with the ADT plugin was the preferred platform for Android development. Today it’s Android Studio.
If you’re new to Android Studio, this tutorial series will get you started. I’ll briefly introduce the Android development platform, then show you how to download, install, and run the software. After that, we’ll spend most of our time actually using Android Studio to develop an animated mobile app. In Part 1 you’ll start up your first Android project and get to know the project workspace in Android Studio. In Part 2you’ll code the app, learning how to use Android Studio to enter source code and resources into the project. Finally, in Part 3 we’ll build and run the app using both an emulated hardware device and an Amazon Kindle Fire HD 7″ tablet.
After you’re comfortable with developing a basic mobile app in Android Studio, we’ll explore more advanced topics like debugging, performance monitoring, and profiling with Android Studio. We’ll also look at extending Android Studio with three useful plugins.
Get started with Android Studio
Android Studio is Google’s officially supported IDE for developing Android apps. Based on IntelliJ IDEA, Android Studio is freely available under Apache License 2.0. The most recent stable version, 2.1.1, includes the following features:
A unified environment where you can develop for all Android devices.
Support for building Android TV apps and Android Wear apps.
Template-based wizards to create common Android designs and components.
A rich layout editor that lets users drag-and-drop user interface components, and that offers an option to preview layouts on multiple screen configurations.
Android-specific refactoring and quick fixes.
Gradle-based build support.
Lint tools to catch performance, usability, version compatibility, and other problems.
ProGuard integration and app-signing capabilities.
A fast and feature-rich emulator.
Instant Run to push changes to your running app without building a new APK (Application PacKage Zip file).
Built-in support for Google Cloud Platform, enabling integration with Google Cloud Messaging and App Engine.
C++ and NDK support.
Plugin architecture for extending Android Studio via plugins.
Download Android Studio
Google provides Android Studio for the Windows, Mac OS X, and Linux platforms. You can download this software from the Android Studio homepage. (You’ll also find the traditional SDKs, with Android Studio’s command-line tools, available from the Downloads page.) Before downloading Android Studio, make sure your platform meets one of the following requirements:
Microsoft Windows 7/8/10 (32-bit or 64-bit)
2 GB RAM minimum, 8 GB RAM recommended
2 GB of available disk space minimum, 4 GB Recommended (500 MB for IDE + 1.5 GB for Android SDK and emulator system image)
1280 x 800 minimum screen resolution
For accelerated emulator: 64-bit operating system and Intel processor with support for Intel VT-x, Intel EM64T (Intel 64), and Execute Disable (XD) Bit functionality
Mac OS X 10.8.5 or higher, up to 10.11.4 (El Capitan)
2 GB RAM minimum, 8 GB RAM recommended
2 GB of available disk space minimum, 4 GB Recommended (500 MB for IDE + 1.5 GB for Android SDK and emulator system image)
1280 x 800 minimum screen resolution
GNOME or KDE desktop: Tested on Ubuntu 12.04, Precise Pangolin (64-bit distribution capable of running 32-bit applications)
64-bit distribution capable of running 32-bit applications
GNU C Library (glibc) 2.11 or later
2 GB RAM minimum, 8 GB RAM recommended
2 GB of available disk space minimum, 4 GB Recommended (500 MB for IDE + 1.5 GB for Android SDK and emulator system image)
1280 x 800 minimum screen resolution
For accelerated emulator: Intel processor with support for Intel VT-x, Intel EM64T (Intel 64), and Execute Disable (XD) Bit functionality, or AMD processor with support for AMD Virtualization (AMD-V)
Once you’ve ensured your operating system is compatible with Android Studio 2.1.1, download the appropriate Android Studio distribution file. The Android Studio download page auto-detected that I’m running 64-bit Windows 8.1 and selectedandroid-studio-bundle-143.2821654-windows.exe for me to download.
Installing Android Studio on 64-bit Windows 8.1
I launched android-studio-bundle-143.2821654-windows.exe to start the installation process. The installer responded by presenting the Android Studio Setup dialog box shown in Figure 1.
Clicking Next took me to the following dialog box, which gives you the option to decline installing the Android SDK (included with the installer) and an Android Virtual Device (AVD).
I chose to keep the default settings. After clicking Next, you’ll be taken to the license agreement dialog box. Accept the license to continue the installation.
The next dialog box invites you to change the installation locations for Android Studio and the Android SDK.
Change the location or accept the default locations and click Next.
The installer defaults to creating a shortcut for launching this program, or you can choose to decline. I recommend that you create the shortcut, then click the Install button to begin installation.
The resulting dialog box shows the progress of installing Android Studio and the Android SDK. Clicking the Show Details button will let you view detailed information about the installation progress.
The dialog box will inform you when installation has finished. When you click Next, you should see the following:
To complete your installation, leave the Start Android Studio box checked and click Finish.
Running Android Studio
Android Studio presents a splash screen when it starts running:
On your first run, you’ll be asked to respond to several configuration-oriented dialog boxes. The first dialog box focuses on importing settings from any previously installed version of Android Studio.
If you’re like me, and don’t have a previously installed version, you can just keep the default setting and click OK. Android Studio will respond with a slightly enhanced version of the splash screen, followed by the Android Studio Setup Wizard dialog box:
When you click Next, the setup wizard invites you to select an installation type for your SDK components. For now I recommend you keep the default standard setting.
Click Next and verify your settings, then click Finish to continue.
The wizard will download and unzip various components. Click Show Details if you want to see more information about the archives being downloaded and their contents.
If your computer isn’t Intel based, you might get an unpleasant surprise after the components have completely downloaded and unzipped:
Your options are to either put up with the slow emulator or use an Android device to speed up development. I’ll discuss the latter option later in the tutorial.
Finally, click Finish to complete the wizard. You should see the Welcome to Android Studio dialog box:
You’ll use this dialog to start up a new Android Studio project, work with an existing project, and more. You can access it anytime by double-clicking the Android Studio shortcut on your desktop.
Your first Android Studio mobile app
The quickest way to get to know Android Studio is to use it to develop an app. We’ll start with a variation on the “Hello, World” application: a little mobile app that displays a “Welcome to Android” message.
In the steps that follow, you’ll start a new Android Studio project and get to know the project workspace, including the project editor that you’ll use to code the app in Part 2.
Starting a new project
From our setup so far, you should still have Android Studio running with the Welcome to Android Studio dialog box. From here, click Start a new Android Studio project. Android Studio will respond with the Create New Project dialog box shown in Figure 15.
Enter W2A (Welcome to Android) as the application name and javajeff.ca as the company domain name. You should then see C:\Users\jeffrey\AndroidStudioProjects\W2A as the project location. Click Next to select your target devices.
Android Studio lets you select form factors, or categories of target devices, for every app you create. I would have preferred to keep the default API 15: Android 4.0.3 (IceCreamSandwich) minimum SDK setting (under Phone and Tablet), which is supported by my Amazon Kindle Fire HD tablet. Because Android Studio doesn’t currently support this API level (even when you add the 4.0.3 system image via the SDK Manager), I changed this setting to API 14: Android 4.0 (IceCreamSandwich), which is also supported by my tablet.
Click Next, and you will be given the opportunity to choose a template for your app’s main activity. For now we’ll stick with Empty Activity. Select this template and click Next.
Next you’ll customize the activity:
Enter W2A as the activity name and main as the layout name, and click Finish to complete this step. Android Studio will respond that it is creating the project, then take you to the project workspace.
The project workspace is organized around a menu bar, a tool bar, a work area, additional components that lead to more windows (such as a Gradle Console window), and a status bar. Also note the Tip of the Day dialog box, which you can disable if you like.
The project and editor windows
When you enter the project workspace, W2A is identified as the current project, but you won’t immediately see the project details. After a few moments, these details will appear in two new windows.
The project window is organized into a tree whose main branches are App and Gradle Scripts. The App branch is further organized into manifests, java, and res subbranches:
manifests stores AndroidManifest.xml, which is an XML file that describes the structure of an Android app. This file also records permission settings (where applicable) and other details about the app.
java stores an app’s Java source files according to a package hierarchy, which isca.javajeff.w2a in this example.
res stores an app’s resource files, which are organized into drawable, layout, mipmap, and values subbranches:
drawable: an initially empty location in which to store an app’s artwork
layout: a location containing an app’s layout files; initially, main.xml (the main activity’s layout file) is stored here
mipmap: a location containing various ic_launcher.png files that store launcher screen icons of different resolutions
values: a location containing colors.xml, dimens.xml, strings.xml, andstyles.xml
The Gradle Scripts branch identifies various .gradle (such as build.gradle) and.properties (such as local.properties) files that are used by the Gradle-based build system.
Conclusion to Part 1
You’ve installed and configured Android Studio and created a project for your first Android Studio mobile app; now you’re ready to build your Android application. In Android Studio, this means populating your new project with Java source code and resource files for a mobile app. Turn to Part 2 when you’re ready to get started with your first Android animated mobile app.