Explore a pirates cove, ancient temple, and structures of past tree dwelling inhabitants. Discover hidden passageways, clues and puzzles along the way!
Uncle Henry has been hunting lost treasures for as long as you can remember. His legendary stories of adventure excited your imagination as you were a child growing up. Now with your newly acquired archeology skills, he has been reaching out from time to time for your help in tracking down some of these difficult to find treasures.
In his latest quest, he has used the map you discovered in the lost ship and tracked down the location of the pirates cove. You must explore the island, find clues, and solve puzzles left behind by the pirates to discover the location of the lost treasure!
This captivating adventure game has: - Custom designed beautiful HD graphics! - Custom composed soundtrack and sound effects! - A built-in hint system for when you get stumped - A dynamic map to show the screens you have visited and current location - A camera that takes photos of clues and symbols as you discover them - Dozens of puzzles, clues, and items - Auto saves your progress - Available for phones and tablets!
Whats new: Added immersive full-screen layout for Android
This app has no advertisements
Download APK: click here Download DATA: click here Google Play Store: click here
Last two days were very exciting for HTC community, especially for HTC One X users (Android 4.2.2 with HTC Sense 5.0 update described here). However, there is always one problem when it comes to HTC updates - no RUUs (ROM Update Utility) officially available do download for regular users (HTC One Developer Edition and Google Edition seems to be the only exceptions). Why RUU is that important to us?
These executable (.exe) files for MS Windows are installers of complete firmware, including for example system or data partitions. Not having latest RUU means:
users using custom ROMs cant download latest OTA from HTC,
developers have no system dumps they can work with.
Ad. 1) If you want to download and flash latest OTA, your device must have completely stock system partition and recovery. Every OTA update is checking MD5 of each file on system partition to ensure .apk patch can be applied. If even one of 1000 files wont match, OTA update installation will fail. In this case you need to flash the latest official update you can find (even one year old) and later download official OTA updates.
Ad. 2) There are few workarounds, however none of them is as good as having a RUU:
adb pull /system in custom recovery mode*
cp /system /data/media/dump in custom recovery mode*
nandroid backup
boot partition can be taken from inside firmware.zip inside OTA .zip package or it can be dumped using dd if=</path/to/boot/partition> of=/data/media/boot.img
* adb pull,cp or dd commands must be executed from custom recovery mode, otherwise system dump will be missing few important files or these files will have 0kb size. Also, keep in mind that adb features are heavily limited on stock un-rooted device. In case of dd command, root access (su) is needed to make such operation.
Thats why I created my own stock system dumps (as a custom recovery .zip packages) for both HTC One and HTC One X. I believe this can save a lot of time for many XDA users and developers.
HTC One thread - HTC One *STOCK* ROM | 2.24.401.8 | Jelly Bean | HTC Sense 5
HTC One X thread - HTC One X *STOCK* ROM | 4.18.401.2 | Jelly Bean | HTC Sense 5.0
Download links can be found on this blog, under Downloads section - Downloads
Have any questions or comments? Feel free to share! Also, if you like this article, please use media sharing buttons (Twitter, G+, Facebook) down this post!
Posted by Robin Züger, Product Manager, Google Calendar
Since the ancient Sumerian calendar that recorded a new month by the sighting of a new moon, calendars both physical and digital have helped us keep track of important moments. Today, were bringing the new Google Calendar app to the iPhone, so you can spend less time managing your day and more time getting stuff done.
The new Google Calendar app for iPhone comes with Assists, which make suggestions that save you time when creating events. For example, if you regularly meet with your teammate Rena for coffee and a catchup, Calendar can quickly suggest that entire event when you type c-o-f-. With Schedule View, a quick glance gives you a snapshot of how your day is shaping up with images and maps that make your calendar easy to scan.
To get started simply login with your Google account, and with one click, the new app works with all the other calendars youve already set up on your iPhone.
With Google Apps for Work, you can update your team about how that client meeting just went from Gmail, chat with your manager in Hangouts about specific questions the client had, add those questions to a Google document so the team can start researching back at the office, and now, schedule the follow-up meeting in Calendar, all from your iPhone.
And if you end up leaving your phone in the taxi on the way back to the office, Google Apps Mobile Management has you covered. Apps Mobile Management allows admins to set up mobile security policies, like requiring passwords and remotely wiping data when necessary. And its included with Google Apps and Google Drive for Work, so you can keep your work data safe.
10 minutes and counting until your next meeting . . . download the new Google Calendar app for iPhone before it starts.
Thorsten Schaeff has been studying Computer Science and Media at the Media University in Stuttgart and the Institute of Art, Design and Technology in Dublin. For the past six months hes been interning with the Maps for Work Team in London, researching best practice architectures for working with big geo data in the cloud.
Googles Cloud Platform offers a great set of tools for creating easily scalable applications in the cloud. In this post, Ill explore some of the special challenges of working with geospatial data in a cloud environment, and how Googles Cloud can help. Ive found that there arent many options to do this, especially when dealing with complicated operations like geofencing with multiple complex polygons. You can find the complete code for my approach on GitHub.
Geofencing is the procedure of identifying if a location lies within a certain fence, e.g. neighborhood boundaries, school attendance zones or even the outline of a shop in a mall. Its particularly useful in mobile applications that need to apply this extra context to someones exact location. This process isnt actually as straight forward as youd hope and, depending on the complexity of your fences, can include some intense calculations and if your app gets a lot of use, you need to make sure this doesnt impact performance.
In order to simplify this problem this blogpost outlines the process of creating a scalable but affordable geofencing API on Googles App Engine.
And the best part? Its completely free to start playing around. Geofencing a route through NYC against 342 different polygons that resulted from converting the NYC neighbourhood tabulation areas into single-part polygons.
Getting started
To kick things off you can work through the Java Backend API Tutorial. This uses Apache Maven to manage and build the project.
If you want to dive right in you can download the finished geofencing API from my GitHub account.
The Architecture
The requirements are:
Storing complex fences (represented as polygons) and some metadata like a name and a description. For this I use Cloud Datastore, a scalable, fully managed, schemaless database for storing non-relational data. You can even use this to store and serve GeoJSON to your frontend.
Indexing these polygons for fast querying in a spatial index. I use an STR-Tree (part of JTS) which I store as a Java Object in memcache for fast access.
Serving results to multiple platforms through HTTP requests. To achieve this I use Google Cloud Endpoints, a set of tools and libraries that allow you to generate APIs and client libraries.
Thats all you need to get started - so lets start cooking!
Creating the Project
To set up the project simply use Apache Maven and follow the instructions here. This creates the correct folder structure, sets up the routing in the web.xml file for use with Googles API Explorer and creates a Java file with a sample endpoint.
Adding additional Libraries
Im using the Java Topology Suite to find out which polygon a certain latitude-longitude-pair is in. JTS is an open source library that offers a nice set of geometric functions.
To include this library into your build path you simply add the JTS Maven dependency to the pom.xml file in your projects root directory.
In addition Im using the GSON library to handle JSON within the Java backend. You can basically use any JSON library you want to. If you want to use GSON import this dependency.
Writing your Endpoints
Adding Fences to Cloud Datastore
For the sake of convenience youre only storing the fences vertices and some metadata. To send and receive data through the endpoints you need an object model which you need to create in a little Java Bean called MyFence.java.
Now you need to create an endpoint called add. This endpoint expects a string for the group name, a boolean indicating whether to rebuild the spatial index, and a JSON object representing the fences object model. From this App Engine creates a new fence and writes it to Cloud Datastore.
Retrieving a List of our Fences
For some use cases it makes sense to fetch all the fences at once in the beginning, therefore you want to have an endpoint to list all fences from a certain group.
Cloud Datastore uses internal indexes to speed up queries. If you deploy the API directly to App Engine youre probably going to get an error message, saying that the Datastore query youre using needs an index. The App Engine Development server can auto-generate the indexes, therefore Id recommend testing all your endpoints on the development server before pushing it to App Engine.
Getting a Fences Metadata by its ID
When querying the fences you only return the ids of the fences in the result, therefore you need an endpoint to retrieve the metadata that corresponds to a fences id.
Building the Spatial Index
To speed up the geofencing queries you put the fences in an STR tree. The JTS library does most of the heavy lifting here, so you only need to fetch all your fences from the Datastore, create a polygon object for each one and add the polygons bounding box to the index.
You then build the index and write it to memcache for fast read access.
Testing a point
You want to have an endpoint to test any latitude-longitude-pair against all your fences. This is the actual geofencing part. Thats so you will be able to know, if the point falls into any of your fences and if so, it should return the ids of the fences the point is in.
For this you first need to retrieve the index from memcache. Then query the index with the bounding box of the point which returns a list of polygons. Since the index only tests against the bounding boxes of the polygons, you need to iterate through the list and test if the point actually lies within the polygon.
Querying for a Polylines or Polygons
The process of testing for a point can easily be adapted to test the fences against polylines and polygons. In the case of polylines you query the index with the polylines bounding box and then test if the polyline actually crosses the returned fences.
When testing for a polygon you want to get back all fences that are either completely or partly contained in the polygon. Therefore you test if the returned fences are within the polygon or are not disjoint. For some use cases you only want to return fences that are completely contained within the polygon. In that case you want to delete the not disjoint test in the if clause.
Testing & Deploying to App Engine
To test or deploy your API simply follow the steps in the Using Apache Maven tutorial.
Scalability & Pricing
The beauty of this is, since its running on App Engine, Googles platform as a service offering, it scales automatically and you only pay for what you use.
If you want to insure best performance and great scalability you should consider to switch from the free and shared memcache to a dedicated memcache for your application. This guarantees enough capacity for your spatial index and therefore ensures enough space even for a large amount of complex fences.
Thats it - thats all you need to create a fast and scalable geofencing API. Preview: Processing Big Spatial Data in the Cloud with Dataflow In my next post I will show you how I geofenced more than 340 million NYC Taxi locations in the cloud using Googles new Big Data tool called Cloud Dataflow.
Highlights:- Smart RAM Booster: Small widget to adaptive boost RAM from anywhere Fast cache cleaner: One click to clean cache Quick SD card cleaner: Effectively scan and clean junk created by million apps Advanced application manager: Optimize your devices by hibernate, disable, auto start apps
Posted by Leon Nicholls, Developer Programs Engineer
Today we launched the Google Cast Remote Display plugin for Unity to make it easy to take your Unity games to TVs. The Google Cast Remote Display APIs use the powerful GPUs, CPUs and sensors of your Android or iOS mobile device to render a local display on your mobile device and a remote display on your TV.
Unity is a very popular cross-platform game development platform that supports mobile devices. By combining the Google Cast Remote Display technology with the amazing rendering engine of Unity, you can now develop high-end gaming experiences that users can play on an inexpensive Chromecast and other Google Cast devices.
Games Using the Plugin
We have exciting gaming apps from our partners that already use the Remote Display plugin for Unity, with many more coming shortly.
Monopoly Here & Now is the latest twist on the classic Monopoly game. Travel the world visiting some of the worlds most iconic cities and landmarks and race to be the first player to fill your passport with stamps to win! Its a fun new way to play for the whole family.
Risk brings the original game of strategic conquest to the big screen. Challenge your friends, build your army, and conquer the world! The game includes the classic world map as well as two additional themed maps.
These games show that you can create games that look beautiful, using the power of a phone or tablet and send that amazing world to the TV.
Add the Remote Display Plugin to Your Game
You can download the Remote Display plugin for Unity from either GitHub or the Unity Asset Store. If you have an existing Unity game, simply import the Remote Display package and add the CastRemoteDisplayManager prefab to your scene. Next, set up cameras for the local and remote displays and configure them with the CastRemoteDisplayManager.
To display a Cast button in the UI so the user can select a Google Cast device, add the CastDefaultUI prefab to your scene.
Now you are ready to build and run the app. Once you connect to a Cast device you will see the remote camera view on the TV.
You have to consider how you will adapt your game interactions to support a multi-screen user experience. You can use the mobile device sensors to create abstract controls which interact with actions on the screen via motion or touch. Or you can create virtual controls where the player touches something on the device to control something else on the screen.
For visual design it is important not to fatigue the player by making them constantly look up and down. The Google Cast UX team has developed the Google Cast Games UX Guidelines to explain how to make the user experience of cast-enabled games consistent and predictable.
Developer Resources
Learn more about Googles official Unity plugins here. To see a more detailed description on how to use the Remote Display plugin for Unity, read our developer documentation and try our codelab. We have also published a sample Unity game on the Unity Asset Store and GitHub that is UX compliant. Join our G+ community to share your Google Cast developer experience.
With over 20 million Chromecast devices sold, the opportunity for developers is huge, and its simple to add Remote Display to an existing Unity game. Now you can take your game to the biggest screen in millions of users homes.
Here at Google, we always put the user first, and for the Developer Platform team, our developers are our users. We want to create the best development platform and provide the support you need to build world-changing apps, but we need to hear from you, our users, on a regular basis so we can see whats working and what needs to change.
Thats why were launching our developer survey -- we want to hear about how you are using our APIs and platforms, and what your experience is using our developer products and services. Well use your responses to identify how we can support you better in your development efforts.
Photo Credit: Google I/O 2014
The survey should only take 10 to 15 minutes of your time, and in addition to helping us improve our products, you can also help raise money to educate children around the globe. For every developer who completes the survey, we will donate $10 USD (up to a maximum amount of $20,000USD total) to your choice of one of these six education-focused organizations: Khan Academy, World Fund, Donors Choose, Girl Rising, Raspberry Pi, and Agastya.
The survey is live now and will be live until 11:59PM Pacific Time on October 15, 2014. We are excited to hear what you have to tell us!
Posted by Neel Kshetramade, Program Manager, Developer Platform