SlideShare a Scribd company logo
1 of 29
Develop
Windows 8 &
Windows Phone
apps using crucial
Google APIs
Isham Mohamed Mohamed Iqbal.
Sabaragamuwa University of Sri Lanka.
http://about.me/isham_mohamed_iqbal
Feel free to disturb me in @isham_m_iqbal
Agenda
• Google Crucial APIs.
• Calculator API.
• Currency converter app.
• Keyless calculator.
• Text to speech in Windows Phone.
• Text to speech for Windows 8 and 8.1 apps.
Crucial APIs
• Google have documented and provide
access to many APIs
– Eg : Maps API, Calendar API, Drive API
• But there are some APIs used by
Google for some critical purposes and
those APIs are not provided with
official Google documentations.
Crucial APIs
• Hackers managed to hack those kind of APIs
to get backdoor access for them.
• Google gives no-problem notice to use them.
• Might be change in future.
• Very interesting and easiest APIs to use.
– Calculator API & Google TTS API.
Calculator API
• (1 / sin(30 deg)) - tan(30 radians) = ???
• For windows calculator we have to click “Sin”
and “Tan buttons.
• Even Bing app for Win 8 and Win 8.1 search
app doesn't have any idea to solve this.
• Using Bing or Google to solve this is quite
easier.
Calculator API
Calculator API
• Solution is accessing Google Calculator API
• http://www.google.com/ig/calculator?hl=en&
q=
– Eg : http://www.google.com/ig/calculator?hl=en&q=24-8
Calculator API
• Any one plz try
– http://www.google.com/ig/calculator?hl=en&q=24+8
• You need to encode the URL correctly since '+' is a
reserved character.
• So we need to use WebUtility.UrlEncode();
Win 8 app using Calculator API
WP 8 app using Calculator API
WebClient vs HttpClient
WebClient HttpClient
Available in older version of .NET .NET 4.5 only.
WinRT applications cannot use this HttpClient can be used with WinRT
Provides progress reporting for
downloads.
No progress reporting for downloads.
Supports FTP. No support for FTP.
You need to new up a WebClient to make
concurrent request.
Single HttpClient can make concurrent
requests.
• Portable HttpClient for .NET Framework and Windows Phone release on
Feb 2013.
• Can be downloaded from https://nuget.org/packages/Microsoft.Net.Http
Currency converter app
• Using same calculator api with small
modification
– http://www.google.com/ig/calculator?hl=en&q=1usd=?lkr
Get chart for currency converter app
• Google finance API gives the chart for
currency rates change
– https://www.google.com/finance/chart?q=CURRENCY:USD
LKR&tkr=1&p=5Y&chst=vkc&chs=1500x250&chsc=1
Get a simple app
• http://tiny.cc/MetroCurrencyConverter
Text to speech in Windows Phone
• You all know these basic things
– Use the Windows.Phone.Speech.Synthesis API to generate
synthesized speech.
– Enable ID_CAP_SPEECH_RECOGNITION capability in the app
manifest.
– Very simple example :
private async void ButtonSpeakMe_Click(object sender, RoutedEventArgs e)
{
SpeechSynthesizer synth = new SpeechSynthesizer();
await synth.SpeakTextAsync("This presentation is very boring!!");
}
Text to speech in Windows Phone
• And some advanced things
– Change language with InstalledVoices class.
– Change male / female voice with VoiceGender enum.
– Very simple example :
SpeechSynthesizer synth;
private async void SpeakFrench_Click(object sender, RoutedEventArgs e)
{
synth = new SpeechSynthesizer();
IEnumerable<VoiceInformation> frenchVoices = from voice in InstalledVoices.All
where voice.Language == "fr-FR"
select voice;
synth.SetVoice(frenchVoices.ElementAt(0));
await synth.SpeakTextAsync("Cette presentation est tres ennuyeux!");
}
Text to speech in Windows 8 apps
• How many of you have used native TTS
feature in Win 8 apps?
Text to speech in Windows 8 apps
• Sadly no native TTS feature in Windows 8 & Win RT 1.0.
• Bing translator API is provided but its really big process.
– Register you clientID, clientSecter in https://datamarket.azure.com
– Then you code must getting access token for login BingTranslator
API
– More detailed instructions are in http://msdn.microsoft.com/en-
us/library/dd576287.aspx
• Try Bing Translator API one day and you will know the pain.
Text to speech in Windows 8 apps
• Google have a solution for this problem
• Available in
– http://translate.google.com/translate_tts?tl=en&q=
Text to speech in Windows 8 apps
• How to get sound stream from web
response?
• MediaElement control will help us here.
• Declare Background Tesks - > Audio in app
Package.appxmanifest .
Text to speech in Windows 8 apps
• Set MediaElement control in .xaml page
<MediaElement x:Name="medEle"
AudioCategory="BackgroundCapableMedia"
Height="100" Width="100"/>
Text to speech in Windows 8 apps
• Add this method in .xaml.cs page
private void btnPlayClicked(object sender, RoutedEventArgs e)
{
string pathx =
"http://translate.google.com/translate_tts?tl=en&q="+tb1.Text;
medEle.Source = new Uri(pathx, UriKind.RelativeOrAbsolute);
medEle.Play();
}
Text to speech in Windows 8.1 apps
• With Visual Studio 2013 prev, Microsoft is
introducing
Windows.Media.SpeechSynthesis
namespace.
• This feature is only available for Windows
8.1 and Windows RT 2.0 machines.
Text to speech in Windows 8.1 apps
• Set MediaElement control in .xaml page
<MediaElement x:Name="medEle"/>
Text to speech in Windows 8.1 apps
• Add this method in .xaml.cs page
private async void btnSpeak_click(object sender, RoutedEventArgs e)
{
MediaElement medEle = this.medEle;
var synth = new
Windows.Media.SpeechSynthesis.SpeechSynthesizer();
SpeechSynthesisStream stream = await
synth.SynthesizeTextToStreamAsync(txtText.Text);
medEle.SetSource(stream, stream.ContentType);
medEle.Play();
}
That’s all.. 

More Related Content

What's hot

Cross-Platform Native Apps with JavaScript
Cross-Platform Native Apps with JavaScriptCross-Platform Native Apps with JavaScript
Cross-Platform Native Apps with JavaScriptFokke Zandbergen
 
Jenkins pipelines
Jenkins pipelinesJenkins pipelines
Jenkins pipelineskraqa
 
Angular Routing - Angular Hack Day Melbourne 2019
Angular Routing - Angular Hack Day Melbourne 2019Angular Routing - Angular Hack Day Melbourne 2019
Angular Routing - Angular Hack Day Melbourne 2019Jernej Kavka (JK)
 
android_android + app engine- a developer's dream combination
android_android + app engine- a developer's dream combinationandroid_android + app engine- a developer's dream combination
android_android + app engine- a developer's dream combinationbrada
 
Insights into Chatbot Development - Implementing Cross-Platform Chatbots
Insights into Chatbot Development - Implementing Cross-Platform ChatbotsInsights into Chatbot Development - Implementing Cross-Platform Chatbots
Insights into Chatbot Development - Implementing Cross-Platform ChatbotsBarbara Ondrisek
 
Developer cloud roadmap keynote
Developer cloud roadmap keynoteDeveloper cloud roadmap keynote
Developer cloud roadmap keynoteMoaid Hathot
 
YAGNI, YMMV and APIs: building a hybrid strategy for your API platform.
YAGNI, YMMV and APIs: building a hybrid strategy for your API platform.YAGNI, YMMV and APIs: building a hybrid strategy for your API platform.
YAGNI, YMMV and APIs: building a hybrid strategy for your API platform.Diogo Lucas
 
What Postman Did for a CEO Who Can’t Code by Craig Balkin
What Postman Did for a CEO Who Can’t Code by Craig BalkinWhat Postman Did for a CEO Who Can’t Code by Craig Balkin
What Postman Did for a CEO Who Can’t Code by Craig BalkinPostman
 
What’s a REST API and why should I care?
What’s a REST API and why should I care?What’s a REST API and why should I care?
What’s a REST API and why should I care?topher1kenobe
 
Amazon Alexa Auto Software Development Kit (SDK)
Amazon Alexa Auto Software Development Kit (SDK)Amazon Alexa Auto Software Development Kit (SDK)
Amazon Alexa Auto Software Development Kit (SDK)Ketan Raval
 
Android Clean Architecture for Dummies
Android Clean Architecture for DummiesAndroid Clean Architecture for Dummies
Android Clean Architecture for DummiesKengo Suzuki
 
apidays LIVE Hong Kong 2021 - Less Data is More by Damir Svrtan, Netflix
apidays LIVE Hong Kong 2021 - Less Data is More by Damir Svrtan, Netflixapidays LIVE Hong Kong 2021 - Less Data is More by Damir Svrtan, Netflix
apidays LIVE Hong Kong 2021 - Less Data is More by Damir Svrtan, Netflixapidays
 
Postman covid-webinar
Postman covid-webinarPostman covid-webinar
Postman covid-webinarPostman
 
Why You Need a Developer Relations Team for Your API
Why You Need a Developer Relations Team for Your APIWhy You Need a Developer Relations Team for Your API
Why You Need a Developer Relations Team for Your APIPostman
 
apidays LIVE Hong Kong 2021 - Better API DX with a CLI by Phil Nash, Twilio
apidays LIVE Hong Kong 2021 - Better API DX with a CLI by Phil Nash, Twilioapidays LIVE Hong Kong 2021 - Better API DX with a CLI by Phil Nash, Twilio
apidays LIVE Hong Kong 2021 - Better API DX with a CLI by Phil Nash, Twilioapidays
 
Automating PhoneGap Build
Automating PhoneGap BuildAutomating PhoneGap Build
Automating PhoneGap BuildMatt Gifford
 

What's hot (20)

Universal Windows Platform
Universal Windows PlatformUniversal Windows Platform
Universal Windows Platform
 
Cross-Platform Native Apps with JavaScript
Cross-Platform Native Apps with JavaScriptCross-Platform Native Apps with JavaScript
Cross-Platform Native Apps with JavaScript
 
Jenkins pipelines
Jenkins pipelinesJenkins pipelines
Jenkins pipelines
 
Angular Routing - Angular Hack Day Melbourne 2019
Angular Routing - Angular Hack Day Melbourne 2019Angular Routing - Angular Hack Day Melbourne 2019
Angular Routing - Angular Hack Day Melbourne 2019
 
android_android + app engine- a developer's dream combination
android_android + app engine- a developer's dream combinationandroid_android + app engine- a developer's dream combination
android_android + app engine- a developer's dream combination
 
Insights into Chatbot Development - Implementing Cross-Platform Chatbots
Insights into Chatbot Development - Implementing Cross-Platform ChatbotsInsights into Chatbot Development - Implementing Cross-Platform Chatbots
Insights into Chatbot Development - Implementing Cross-Platform Chatbots
 
Ionic framework
Ionic frameworkIonic framework
Ionic framework
 
Developer cloud roadmap keynote
Developer cloud roadmap keynoteDeveloper cloud roadmap keynote
Developer cloud roadmap keynote
 
YAGNI, YMMV and APIs: building a hybrid strategy for your API platform.
YAGNI, YMMV and APIs: building a hybrid strategy for your API platform.YAGNI, YMMV and APIs: building a hybrid strategy for your API platform.
YAGNI, YMMV and APIs: building a hybrid strategy for your API platform.
 
What Postman Did for a CEO Who Can’t Code by Craig Balkin
What Postman Did for a CEO Who Can’t Code by Craig BalkinWhat Postman Did for a CEO Who Can’t Code by Craig Balkin
What Postman Did for a CEO Who Can’t Code by Craig Balkin
 
What’s a REST API and why should I care?
What’s a REST API and why should I care?What’s a REST API and why should I care?
What’s a REST API and why should I care?
 
Amazon Alexa Auto Software Development Kit (SDK)
Amazon Alexa Auto Software Development Kit (SDK)Amazon Alexa Auto Software Development Kit (SDK)
Amazon Alexa Auto Software Development Kit (SDK)
 
Android Clean Architecture for Dummies
Android Clean Architecture for DummiesAndroid Clean Architecture for Dummies
Android Clean Architecture for Dummies
 
apidays LIVE Hong Kong 2021 - Less Data is More by Damir Svrtan, Netflix
apidays LIVE Hong Kong 2021 - Less Data is More by Damir Svrtan, Netflixapidays LIVE Hong Kong 2021 - Less Data is More by Damir Svrtan, Netflix
apidays LIVE Hong Kong 2021 - Less Data is More by Damir Svrtan, Netflix
 
Intro to ionic 2
Intro to ionic 2Intro to ionic 2
Intro to ionic 2
 
Postman covid-webinar
Postman covid-webinarPostman covid-webinar
Postman covid-webinar
 
Why You Need a Developer Relations Team for Your API
Why You Need a Developer Relations Team for Your APIWhy You Need a Developer Relations Team for Your API
Why You Need a Developer Relations Team for Your API
 
apidays LIVE Hong Kong 2021 - Better API DX with a CLI by Phil Nash, Twilio
apidays LIVE Hong Kong 2021 - Better API DX with a CLI by Phil Nash, Twilioapidays LIVE Hong Kong 2021 - Better API DX with a CLI by Phil Nash, Twilio
apidays LIVE Hong Kong 2021 - Better API DX with a CLI by Phil Nash, Twilio
 
Automating PhoneGap Build
Automating PhoneGap BuildAutomating PhoneGap Build
Automating PhoneGap Build
 
Mule raml
Mule ramlMule raml
Mule raml
 

Viewers also liked

Juang jaya breeding marketing center english
Juang jaya breeding marketing center   englishJuang jaya breeding marketing center   english
Juang jaya breeding marketing center englishJohannes Silaban
 
Shepherd j presentation
Shepherd j presentationShepherd j presentation
Shepherd j presentationjshepherd5107
 
Novena vocations-2016-english(1)
Novena vocations-2016-english(1)Novena vocations-2016-english(1)
Novena vocations-2016-english(1)Edwin Clemenz
 
Marketing project
Marketing projectMarketing project
Marketing projectSonu Ninan
 
MS Champs meetup may 2014 on Cortana.
MS Champs meetup may 2014 on Cortana.MS Champs meetup may 2014 on Cortana.
MS Champs meetup may 2014 on Cortana.Isham Mohamed Iqbal
 
Shepherd j presentation
Shepherd j presentationShepherd j presentation
Shepherd j presentationjshepherd5107
 
Personalized outdoor audio tour guide with augmented reality
Personalized outdoor audio tour guide with augmented realityPersonalized outdoor audio tour guide with augmented reality
Personalized outdoor audio tour guide with augmented realityIsham Mohamed Iqbal
 
Step by step giude [Comic Strip]
Step by step giude [Comic Strip]Step by step giude [Comic Strip]
Step by step giude [Comic Strip]Ramolelo
 
Aurora, location based blogging platform
Aurora, location based blogging platformAurora, location based blogging platform
Aurora, location based blogging platformIsham Mohamed Iqbal
 
Communications program 2011 jjaa [compatibility mode]
Communications program 2011 jjaa [compatibility mode]Communications program 2011 jjaa [compatibility mode]
Communications program 2011 jjaa [compatibility mode]Johannes Silaban
 
Revista Bimby Agosto 2015
Revista Bimby Agosto 2015Revista Bimby Agosto 2015
Revista Bimby Agosto 2015Vanda Maio
 
Transition management
Transition managementTransition management
Transition managementAditi Sharma
 
Copyright & Plagiarism
Copyright & PlagiarismCopyright & Plagiarism
Copyright & Plagiarismlauholland
 
Nonfiction Features Gr 4-5
Nonfiction Features Gr 4-5Nonfiction Features Gr 4-5
Nonfiction Features Gr 4-5lauholland
 
Do convento para a Bimby
Do convento para a BimbyDo convento para a Bimby
Do convento para a BimbyVanda Maio
 
Introduction to Xamarin Development
Introduction to Xamarin DevelopmentIntroduction to Xamarin Development
Introduction to Xamarin DevelopmentIsham Mohamed Iqbal
 
Nonfiction Features Gr 1-3
Nonfiction Features Gr 1-3Nonfiction Features Gr 1-3
Nonfiction Features Gr 1-3lauholland
 

Viewers also liked (20)

Cartel feliz cumple
Cartel feliz cumpleCartel feliz cumple
Cartel feliz cumple
 
Juang jaya breeding marketing center english
Juang jaya breeding marketing center   englishJuang jaya breeding marketing center   english
Juang jaya breeding marketing center english
 
Shepherd j presentation
Shepherd j presentationShepherd j presentation
Shepherd j presentation
 
Novena vocations-2016-english(1)
Novena vocations-2016-english(1)Novena vocations-2016-english(1)
Novena vocations-2016-english(1)
 
Marketing project
Marketing projectMarketing project
Marketing project
 
MS Champs meetup may 2014 on Cortana.
MS Champs meetup may 2014 on Cortana.MS Champs meetup may 2014 on Cortana.
MS Champs meetup may 2014 on Cortana.
 
Shepherd j presentation
Shepherd j presentationShepherd j presentation
Shepherd j presentation
 
Personalized outdoor audio tour guide with augmented reality
Personalized outdoor audio tour guide with augmented realityPersonalized outdoor audio tour guide with augmented reality
Personalized outdoor audio tour guide with augmented reality
 
Step by step giude [Comic Strip]
Step by step giude [Comic Strip]Step by step giude [Comic Strip]
Step by step giude [Comic Strip]
 
Utpl
UtplUtpl
Utpl
 
Aurora, location based blogging platform
Aurora, location based blogging platformAurora, location based blogging platform
Aurora, location based blogging platform
 
Communications program 2011 jjaa [compatibility mode]
Communications program 2011 jjaa [compatibility mode]Communications program 2011 jjaa [compatibility mode]
Communications program 2011 jjaa [compatibility mode]
 
Revista Bimby Agosto 2015
Revista Bimby Agosto 2015Revista Bimby Agosto 2015
Revista Bimby Agosto 2015
 
Atomic physics
Atomic physicsAtomic physics
Atomic physics
 
Transition management
Transition managementTransition management
Transition management
 
Copyright & Plagiarism
Copyright & PlagiarismCopyright & Plagiarism
Copyright & Plagiarism
 
Nonfiction Features Gr 4-5
Nonfiction Features Gr 4-5Nonfiction Features Gr 4-5
Nonfiction Features Gr 4-5
 
Do convento para a Bimby
Do convento para a BimbyDo convento para a Bimby
Do convento para a Bimby
 
Introduction to Xamarin Development
Introduction to Xamarin DevelopmentIntroduction to Xamarin Development
Introduction to Xamarin Development
 
Nonfiction Features Gr 1-3
Nonfiction Features Gr 1-3Nonfiction Features Gr 1-3
Nonfiction Features Gr 1-3
 

Similar to Develop Windows 8 & Windows Phone apps using crucial Google APIs

Google App Engine Overview and Update
Google App Engine Overview and UpdateGoogle App Engine Overview and Update
Google App Engine Overview and UpdateChris Schalk
 
#MBLTdev: Разработка backend для мобильного приложения с использованием Googl...
#MBLTdev: Разработка backend для мобильного приложения с использованием Googl...#MBLTdev: Разработка backend для мобильного приложения с использованием Googl...
#MBLTdev: Разработка backend для мобильного приложения с использованием Googl...e-Legion
 
Mobile backends with Google Cloud Platform (MBLTDev'14)
Mobile backends with Google Cloud Platform (MBLTDev'14)Mobile backends with Google Cloud Platform (MBLTDev'14)
Mobile backends with Google Cloud Platform (MBLTDev'14)Natalia Efimtseva
 
Jose l ugia 6 wunderkinder, momenta
Jose l ugia  6 wunderkinder, momentaJose l ugia  6 wunderkinder, momenta
Jose l ugia 6 wunderkinder, momentaapps4allru
 
Build your cross-platform service in a week with App Engine
Build your cross-platform service in a week with App EngineBuild your cross-platform service in a week with App Engine
Build your cross-platform service in a week with App EngineJl_Ugia
 
Google App Engine's Latest Features
Google App Engine's Latest FeaturesGoogle App Engine's Latest Features
Google App Engine's Latest FeaturesChris Schalk
 
Google Cloud Platform Update
Google Cloud Platform UpdateGoogle Cloud Platform Update
Google Cloud Platform UpdateIdo Green
 
Sinergija 12 WP8 is around the corner
Sinergija 12 WP8 is around the cornerSinergija 12 WP8 is around the corner
Sinergija 12 WP8 is around the cornerCatalin Gheorghiu
 
Building a scalable app factory with Appcelerator Platform
Building a scalable app factory with Appcelerator PlatformBuilding a scalable app factory with Appcelerator Platform
Building a scalable app factory with Appcelerator PlatformAngus Fox
 
Google App Engine's Latest Features
Google App Engine's Latest FeaturesGoogle App Engine's Latest Features
Google App Engine's Latest FeaturesChris Schalk
 
Google App Engine Overview - BarCamp Phnom Penh 2011
Google App Engine Overview - BarCamp Phnom Penh 2011Google App Engine Overview - BarCamp Phnom Penh 2011
Google App Engine Overview - BarCamp Phnom Penh 2011traactivity
 
EPPC22_Hands On with the Latest Power Platform Features.pdf
EPPC22_Hands On with the Latest Power Platform Features.pdfEPPC22_Hands On with the Latest Power Platform Features.pdf
EPPC22_Hands On with the Latest Power Platform Features.pdfApril Dunnam
 
App Engine/GWT overview (STLIC 02-10)
App Engine/GWT overview (STLIC 02-10)App Engine/GWT overview (STLIC 02-10)
App Engine/GWT overview (STLIC 02-10)jasonacooper
 
Javaedge 2010-cschalk
Javaedge 2010-cschalkJavaedge 2010-cschalk
Javaedge 2010-cschalkChris Schalk
 

Similar to Develop Windows 8 & Windows Phone apps using crucial Google APIs (20)

Google App Engine Overview and Update
Google App Engine Overview and UpdateGoogle App Engine Overview and Update
Google App Engine Overview and Update
 
Windows8.1overviewnetponto
Windows8.1overviewnetpontoWindows8.1overviewnetponto
Windows8.1overviewnetponto
 
#MBLTdev: Разработка backend для мобильного приложения с использованием Googl...
#MBLTdev: Разработка backend для мобильного приложения с использованием Googl...#MBLTdev: Разработка backend для мобильного приложения с использованием Googl...
#MBLTdev: Разработка backend для мобильного приложения с использованием Googl...
 
Mobile backends with Google Cloud Platform (MBLTDev'14)
Mobile backends with Google Cloud Platform (MBLTDev'14)Mobile backends with Google Cloud Platform (MBLTDev'14)
Mobile backends with Google Cloud Platform (MBLTDev'14)
 
Jose l ugia 6 wunderkinder, momenta
Jose l ugia  6 wunderkinder, momentaJose l ugia  6 wunderkinder, momenta
Jose l ugia 6 wunderkinder, momenta
 
Build your cross-platform service in a week with App Engine
Build your cross-platform service in a week with App EngineBuild your cross-platform service in a week with App Engine
Build your cross-platform service in a week with App Engine
 
Windows Phone Introduction
Windows Phone IntroductionWindows Phone Introduction
Windows Phone Introduction
 
Google App Engine's Latest Features
Google App Engine's Latest FeaturesGoogle App Engine's Latest Features
Google App Engine's Latest Features
 
Google Cloud Platform Update
Google Cloud Platform UpdateGoogle Cloud Platform Update
Google Cloud Platform Update
 
SamSegalResume
SamSegalResumeSamSegalResume
SamSegalResume
 
Sinergija 12 WP8 is around the corner
Sinergija 12 WP8 is around the cornerSinergija 12 WP8 is around the corner
Sinergija 12 WP8 is around the corner
 
Building a scalable app factory with Appcelerator Platform
Building a scalable app factory with Appcelerator PlatformBuilding a scalable app factory with Appcelerator Platform
Building a scalable app factory with Appcelerator Platform
 
Google App Engine's Latest Features
Google App Engine's Latest FeaturesGoogle App Engine's Latest Features
Google App Engine's Latest Features
 
presentaion.pptx
presentaion.pptxpresentaion.pptx
presentaion.pptx
 
Google App Engine Overview - BarCamp Phnom Penh 2011
Google App Engine Overview - BarCamp Phnom Penh 2011Google App Engine Overview - BarCamp Phnom Penh 2011
Google App Engine Overview - BarCamp Phnom Penh 2011
 
EPPC22_Hands On with the Latest Power Platform Features.pdf
EPPC22_Hands On with the Latest Power Platform Features.pdfEPPC22_Hands On with the Latest Power Platform Features.pdf
EPPC22_Hands On with the Latest Power Platform Features.pdf
 
App Engine/GWT overview (STLIC 02-10)
App Engine/GWT overview (STLIC 02-10)App Engine/GWT overview (STLIC 02-10)
App Engine/GWT overview (STLIC 02-10)
 
Michael Apolonio Ugale CV_Mobile
Michael Apolonio Ugale CV_MobileMichael Apolonio Ugale CV_Mobile
Michael Apolonio Ugale CV_Mobile
 
Introduction to Google App Engine
Introduction to Google App EngineIntroduction to Google App Engine
Introduction to Google App Engine
 
Javaedge 2010-cschalk
Javaedge 2010-cschalkJavaedge 2010-cschalk
Javaedge 2010-cschalk
 

Recently uploaded

"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 

Recently uploaded (20)

"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 

Develop Windows 8 & Windows Phone apps using crucial Google APIs

  • 1.
  • 2.
  • 3. Develop Windows 8 & Windows Phone apps using crucial Google APIs
  • 4. Isham Mohamed Mohamed Iqbal. Sabaragamuwa University of Sri Lanka. http://about.me/isham_mohamed_iqbal Feel free to disturb me in @isham_m_iqbal
  • 5. Agenda • Google Crucial APIs. • Calculator API. • Currency converter app. • Keyless calculator. • Text to speech in Windows Phone. • Text to speech for Windows 8 and 8.1 apps.
  • 6. Crucial APIs • Google have documented and provide access to many APIs – Eg : Maps API, Calendar API, Drive API • But there are some APIs used by Google for some critical purposes and those APIs are not provided with official Google documentations.
  • 7. Crucial APIs • Hackers managed to hack those kind of APIs to get backdoor access for them. • Google gives no-problem notice to use them. • Might be change in future. • Very interesting and easiest APIs to use. – Calculator API & Google TTS API.
  • 8. Calculator API • (1 / sin(30 deg)) - tan(30 radians) = ??? • For windows calculator we have to click “Sin” and “Tan buttons. • Even Bing app for Win 8 and Win 8.1 search app doesn't have any idea to solve this. • Using Bing or Google to solve this is quite easier.
  • 10. Calculator API • Solution is accessing Google Calculator API • http://www.google.com/ig/calculator?hl=en& q= – Eg : http://www.google.com/ig/calculator?hl=en&q=24-8
  • 11. Calculator API • Any one plz try – http://www.google.com/ig/calculator?hl=en&q=24+8 • You need to encode the URL correctly since '+' is a reserved character. • So we need to use WebUtility.UrlEncode();
  • 12. Win 8 app using Calculator API
  • 13. WP 8 app using Calculator API
  • 14. WebClient vs HttpClient WebClient HttpClient Available in older version of .NET .NET 4.5 only. WinRT applications cannot use this HttpClient can be used with WinRT Provides progress reporting for downloads. No progress reporting for downloads. Supports FTP. No support for FTP. You need to new up a WebClient to make concurrent request. Single HttpClient can make concurrent requests. • Portable HttpClient for .NET Framework and Windows Phone release on Feb 2013. • Can be downloaded from https://nuget.org/packages/Microsoft.Net.Http
  • 15. Currency converter app • Using same calculator api with small modification – http://www.google.com/ig/calculator?hl=en&q=1usd=?lkr
  • 16. Get chart for currency converter app • Google finance API gives the chart for currency rates change – https://www.google.com/finance/chart?q=CURRENCY:USD LKR&tkr=1&p=5Y&chst=vkc&chs=1500x250&chsc=1
  • 17. Get a simple app • http://tiny.cc/MetroCurrencyConverter
  • 18. Text to speech in Windows Phone • You all know these basic things – Use the Windows.Phone.Speech.Synthesis API to generate synthesized speech. – Enable ID_CAP_SPEECH_RECOGNITION capability in the app manifest. – Very simple example : private async void ButtonSpeakMe_Click(object sender, RoutedEventArgs e) { SpeechSynthesizer synth = new SpeechSynthesizer(); await synth.SpeakTextAsync("This presentation is very boring!!"); }
  • 19. Text to speech in Windows Phone • And some advanced things – Change language with InstalledVoices class. – Change male / female voice with VoiceGender enum. – Very simple example : SpeechSynthesizer synth; private async void SpeakFrench_Click(object sender, RoutedEventArgs e) { synth = new SpeechSynthesizer(); IEnumerable<VoiceInformation> frenchVoices = from voice in InstalledVoices.All where voice.Language == "fr-FR" select voice; synth.SetVoice(frenchVoices.ElementAt(0)); await synth.SpeakTextAsync("Cette presentation est tres ennuyeux!"); }
  • 20. Text to speech in Windows 8 apps • How many of you have used native TTS feature in Win 8 apps?
  • 21. Text to speech in Windows 8 apps • Sadly no native TTS feature in Windows 8 & Win RT 1.0. • Bing translator API is provided but its really big process. – Register you clientID, clientSecter in https://datamarket.azure.com – Then you code must getting access token for login BingTranslator API – More detailed instructions are in http://msdn.microsoft.com/en- us/library/dd576287.aspx • Try Bing Translator API one day and you will know the pain.
  • 22. Text to speech in Windows 8 apps • Google have a solution for this problem • Available in – http://translate.google.com/translate_tts?tl=en&q=
  • 23. Text to speech in Windows 8 apps • How to get sound stream from web response? • MediaElement control will help us here. • Declare Background Tesks - > Audio in app Package.appxmanifest .
  • 24. Text to speech in Windows 8 apps • Set MediaElement control in .xaml page <MediaElement x:Name="medEle" AudioCategory="BackgroundCapableMedia" Height="100" Width="100"/>
  • 25. Text to speech in Windows 8 apps • Add this method in .xaml.cs page private void btnPlayClicked(object sender, RoutedEventArgs e) { string pathx = "http://translate.google.com/translate_tts?tl=en&q="+tb1.Text; medEle.Source = new Uri(pathx, UriKind.RelativeOrAbsolute); medEle.Play(); }
  • 26. Text to speech in Windows 8.1 apps • With Visual Studio 2013 prev, Microsoft is introducing Windows.Media.SpeechSynthesis namespace. • This feature is only available for Windows 8.1 and Windows RT 2.0 machines.
  • 27. Text to speech in Windows 8.1 apps • Set MediaElement control in .xaml page <MediaElement x:Name="medEle"/>
  • 28. Text to speech in Windows 8.1 apps • Add this method in .xaml.cs page private async void btnSpeak_click(object sender, RoutedEventArgs e) { MediaElement medEle = this.medEle; var synth = new Windows.Media.SpeechSynthesis.SpeechSynthesizer(); SpeechSynthesisStream stream = await synth.SynthesizeTextToStreamAsync(txtText.Text); medEle.SetSource(stream, stream.ContentType); medEle.Play(); }