Featured Image -- 1157

Tencent Backs Mobile Gaming Company Pocket Gems

Originally posted on TechCrunch:

Pocket Gems announced today that it has taken an investment from Chinese Internet company Tencent. The funding will allow the mobile gaming company to expand globally, including into China.

The companies did not disclose the size of the deal, but The Wall Street Journal reported that Tencent invested $60 million for a 20 percent stake in Pocket Gems.

Pocket Gems recently launched its War Dragons title aimed at hardcore gamers. It says its games have seen more than 200 million downloads total.

“We’re thrilled to be partnering with Tencent, whose unparalleled strength in games publishing and operations in China will help us create great mobile games and entertainment for players globally,” said Pocket Gems CEO Ben Liu in the funding release.

View original

Featured Image -- 1159

WaitChatter Helps You Learn A New Language While You Wait For IM Replies

Originally posted on TechCrunch:

Despite the pace of online communications, we still spend a lot of time waiting: staring at an IM window is a common occurrence for anyone who spends a better part of their day at a computer. WaitChatter wants to make use of that standby time to promote a vital skill, letting users brush up on their vocabulary for a second language while they wait for their colleague or friend to respond to their Google Chat message.

The app comes out of research from MIT’s Computer Science and Artificial Intelligence Lab, which found that the average person racks up 10 to 15 minutes per day of essentially wasted waiting time while conversing over IM. That realization led to the development of WaitChatter, which uses a Google Chat (you have to revert from Hangouts to use it right now, but that’s fairly easy) extension to offer up quick vocabulary learning lessons right…

View original 175 more words

android

Android 6.0 to be named Milkshake, Muffin or Marshmallow?

Almost everybody expected Android 4.4 to be called ‘Key Lime Pie’ to be in mouth watering alphabetical sequence of world’s most popular smartphone OS. There were also rumours that next release of Android will be named ‘Kaju Katli’, which is most sought after Indian sweet, but Google named it Kitkat. Next and latest was ‘Lollipop’. Here’s mouth watering alphabetical sequence that Google followed-

Cupcake (1.5)
Donut (1.6)
Eclair (2.0-2.1)
Froyo (2.2-2.3)
Gingerbread (2.3-2.3.7)
Honeycomb (3.0-3.2)
Ice Cream Sandwich (4.0-4.0.2)
Jelly Bean (4.1-4.2.2)
Kitkat (4.4)
Lollipop (5.0+)
Milkshake? (Next release)

What will Android M be called? ‘Milkshake’, ‘Muffin’ or ‘Marshmallow’? Comment your point of view.

Featured Image -- 1143

Home Automation System Seed Labs Launches Silvair Control To Make Your Lightbulbs Smart

Originally posted on TechCrunch:

As our homes becoming increasingly wired (or unwired) it’s important for our teakettles to talk to our fridges and, potentially, for both to gang up on our vacuums. But how? They can now use something called the Silvair Control from Seed Labs.

We last met up with Seed Labs last November when they showed me a working system to control electronics in the home using an open and very usable chip interface. That interface is now commercially ready and we can expect to see the product inside of appliances before too long. The Control, however, is something else entirely. Shaped like the Nest thermostat, the Control is actually a removable button/dial that you can carry from room to room to control lighting and appliances.

“Silvair Control is the world’s first fully configurable, gesture­-driven, wireless controller that lets customers manage their everyday appliances whether that be lamps, shades, and garage doors…

View original 241 more words

Apple releases iOS 8.3, including new emojis with diversity, new Siri languages, more

Originally posted on 9to5Mac:

iOS 8.3

Following the release of OS X 10.10.3 to the public, Apple has also released iOS 8.3 for iPhone, iPad and iPod touch. The update, which has been in beta for several months, brings over 300 new emojis (including diversity options) as well as a new keyboard for inputting the symbols. The new keyboard features a scrolling UI, rather than the old page metaphor, to better accommodate the wider range of emojis available in the update.

iOS 8.3 also includes a whole host of new Siri languages, so more international users can benefit from Apple’s virtual personal assistant. The update adds Siri in Russian, Danish, Dutch, Thai, Swedish, Turkish and Portuguese. Siri’s voice has also been tweaked in this update.

Full change list included after the break:

View original 1,039 more words

cordova_256

Cordova calendar plugin for Windows Phone 8

If you worked with Cordova/Phonegap and came across calendar plugin for Windows Phone 8 you must be knowing that Windows Phone 8 does not support calendar plugin officially and there is no plugin in Cordova plugin registry. As a workaround I wrote native plugin to add appointments to device calendar and thought to share it with my readers in quickie blog. :)

Create a new cs file in plugins directory named AddCalendarEvents.cs and add following code-

using Microsoft.Phone.Tasks;
using Microsoft.Phone.UserData;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using WPCordovaClassLib.Cordova;
using WPCordovaClassLib.Cordova.Commands;
using WPCordovaClassLib.Cordova.JSON;

namespace Cordova.Extension.Commands {
	public class AddCalendarEvents: BaseCommand {
		public void addCalendarEvents(String str) {
			string[] calendarValues = str.Split('|');

			SaveAppointmentTask saveAppointmentTask = new SaveAppointmentTask();

			int appointmentYear = Int32.Parse(calendarValues[3]);
			int appointmentMonth = Int32.Parse(calendarValues[4]);
			int appointmentDate = Int32.Parse(calendarValues[5]);
			float appointmentTime = float.Parse(calendarValues[6]);

			DateTime scheduleApptDateStart = (new DateTime(appointmentYear, appointmentMonth, appointmentDate, 7, 0, 0)).AddHours(appointmentTime);
			DateTime scheduleApptDateEnd = (new DateTime(appointmentYear, appointmentMonth, appointmentDate, 7, 30, 0)).AddHours(appointmentTime);
			saveAppointmentTask.StartTime = scheduleApptDateStart;
			saveAppointmentTask.EndTime = scheduleApptDateEnd;
			saveAppointmentTask.Subject = calendarValues[1];
			saveAppointmentTask.Location = calendarValues[2];
			saveAppointmentTask.Details = "";
			saveAppointmentTask.IsAllDayEvent = false;
			saveAppointmentTask.Reminder = Reminder.FifteenMinutes;
			saveAppointmentTask.AppointmentStatus = Microsoft.Phone.UserData.AppointmentStatus.Busy;
			saveAppointmentTask.Show();
		}

		public void getCalendarEventData(String str) {
			ButtonAppointments_Click();
		}

		private void ButtonAppointments_Click() {
			Appointments appts = new Appointments();

			//Identify the method that runs after the asynchronous search completes.
			appts.SearchCompleted += new EventHandler < AppointmentsSearchEventArgs > (Appointments_SearchCompleted);

			DateTime start = DateTime.Now;
			DateTime end = start.AddDays(7);
			int max = 20;

			//Start the asynchronous search.
			appts.SearchAsync(start, end, max, "Appointments Test #1");
		}

		void Appointments_SearchCompleted(object sender, AppointmentsSearchEventArgs e) {
			//Do something with the results.
			//MessageBox.Show(e.Results.Count().ToString());
			try {
				e.Results.ToList();
				MessageBox.Show("Success");
			} catch (System.Exception) {}

		}
	}
}

Refer plugin in config.xml-

<feature name="AddCalendarEvents">
        <param name="wp-package" value="AddCalendarEvents" />
        <param name="onload" value="true" />
    </feature>

 

If you have basic knowledge of Cordova it should not be tough.

You can call it using

var inputCalendarString = notes + '|' + title + '|' + location + '|' + appointmentDate.getFullYear() + '|' + (appointmentDate.getMonth() + 1) + '|' + appointmentDate.getDate() + '|' + '1.0' + '|' + ' ';
cordova.exec(null, null, "AddCalendarEvents", "addCalendarEvents", inputCalendarString);

It works for one event but if you have loop of events it will not work. To support multiple events, you can maintain Localstorage flag & data with current index of events data. Use resume callback to add rest of the events using custom appointment plugin that you wrote. Each time your app resumes you increment index and add events data from next index.

document.addEventListener('resume', this.resumeApp, false)
resumeApp: function () {
if (localStorage.getItem('updatecalendar') == 'false') {
syncUpdatedCalendarWP8();
      }
}

Happy Coding!