SlideShare ist ein Scribd-Unternehmen logo
1 von 15
Nigel	
  Grange	
  
¡  Streaming	
  radio	
  alarm	
  clock	
  app	
  
¡  Simple	
  app	
  but	
  with	
  technical	
  challenges	
  for	
  
iOS	
  
¡  High	
  level	
  of	
  design	
  
¡  Layout	
  and	
  animations	
  designed	
  in	
  Adobe	
  
Edge	
  Animate	
  
¡  HTML5	
  +	
  CSS3	
  animation	
  tool	
  (Free!)	
  
	
  
¡  Triggering	
  alarm	
  in	
  background	
  
¡  Recreating	
  CSS3	
  animations	
  using	
  Core	
  
Animation	
  
§  Movements,	
  shadows,	
  opacity	
  
¡  Easy	
  to	
  play	
  radio	
  stream	
  in	
  background	
  –	
  as	
  
long	
  as	
  it	
  has	
  been	
  started	
  while	
  the	
  
application	
  is	
  in	
  foreground	
  
§  Background	
  processing	
  thread	
  
§  GPS	
  location	
  
§  Voice	
  over	
  IP	
  
¡  Use	
  info.plist	
  to	
  set	
  ‘Required	
  background	
  
modes’	
  
¡  Can	
  be	
  used	
  to	
  run	
  for	
  up	
  to	
  10	
  minutes	
  when	
  app	
  
goes	
  into	
  background	
  
¡  Expiration	
  handler	
  gets	
  called	
  if	
  task	
  does	
  not	
  end	
  
itself	
  within	
  allowed	
  time	
  
	
  
¡  If	
  expiration	
  handler	
  doesn’t	
  end	
  task,	
  process	
  is	
  
killed!	
  
	
  bgTask	
  =	
  [application	
  beginBackgroundTaskWithExpirationHandler:^{	
  
	
  	
  	
  	
  	
  	
  	
  	
  [application	
  endBackgroundTask:bgTask];	
  
	
  	
  	
  	
  	
  	
  	
  	
  bgTask	
  =	
  UIBackgroundTaskInvalid;	
  
	
  	
  	
  	
  }];	
  
¡  Can	
  register	
  app	
  for	
  ‘significant	
  changes	
  in	
  distance’.	
  
¡  In	
  practice	
  updates	
  usually	
  come	
  every	
  5	
  minutes	
  
¡  App	
  will	
  be	
  notified	
  when	
  location	
  changes	
  by	
  
significant	
  amount	
  
¡  App	
  will	
  also	
  be	
  started	
  if	
  it	
  has	
  been	
  killed	
  
	
  
self.locationManager	
  =	
  [[CLLocationManager	
  alloc]	
  init];	
  
[self.locationManager	
  startMonitoringSignificantLocationChanges];	
  
	
  
¡  Apps	
  registered	
  as	
  providing	
  VOIP	
  services	
  
have	
  the	
  following	
  abilities	
  
§  Get	
  automatically	
  restarted	
  if	
  killed	
  
§  Get	
  woken	
  up	
  if	
  data	
  arrives	
  on	
  VOIP	
  control	
  
socket	
  
§  Can	
  register	
  for	
  ‘keep	
  alive’	
  updates	
  
▪  Intended	
  to	
  refresh	
  socket	
  connections	
  if	
  needed	
  
▪  Minimum	
  10	
  minutes	
  between	
  updates	
  
[application	
  setKeepAliveTimeout:600	
  handler:^(void)	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  NSLog(@"Keep	
  alive	
  timeout	
  triggered");	
  
	
  }];	
  
	
  
	
  
	
  CFReadStreamRef	
  readStream;	
  
	
  CFWriteStreamRef	
  writeStream;	
  
	
  	
  	
  	
  	
  
CFStreamCreatePairWithSocketToHost(NULL,	
  (CFStringRef)@"192.168.1.8",1343,	
  
&readStream,	
  &writeStream);	
  
	
  	
  	
  	
  	
  	
  	
  	
  
CFReadStreamSetProperty(readStream,kCFStreamNetworkServiceType,kCFStream
NetworkServiceTypeVoIP);	
  
	
  	
  	
  	
  CFWriteStreamSetProperty(writeStream,	
  kCFStreamNetworkServiceType,	
  
kCFStreamNetworkServiceTypeVoIP);	
  
	
  
¡  All	
  animations	
  defined	
  in	
  Edge	
  Animate	
  as	
  
CSS3	
  property	
  animations	
  
¡  Timeline	
  with	
  each	
  property	
  having	
  start	
  /	
  
end	
  values	
  on	
  timeline	
  
§  Position	
  
§  Scale	
  
§  Opacity	
  
§  Shadow	
  
¡  Different	
  easing	
  functions	
  available	
  
	
  
¡  CABasicAnimation	
  for	
  animating	
  layer	
  
properties	
  
¡  CAAnimationGroup	
  for	
  animating	
  properties	
  
at	
  the	
  same	
  time	
  
¡  CAKeyframeAnimation	
  for	
  custom	
  easing	
  
functions	
  
¡  Tools	
  to	
  take	
  the	
  CSS3	
  animations	
  and	
  
convert	
  them	
  into	
  Core	
  Animation	
  keyframe	
  
animations	
  
¡  Currently	
  a	
  manual	
  operation,	
  but	
  could	
  be	
  
automated	
  considerably	
  
¡  Simple	
  app	
  but	
  quite	
  a	
  lot	
  of	
  engineering	
  
required	
  to	
  get	
  the	
  required	
  result	
  
¡  App	
  delivered	
  within	
  3	
  weeks	
  
¡  Working	
  with	
  client	
  on	
  v2.0	
  which	
  will	
  get	
  a	
  
public	
  release	
  

Weitere ähnliche Inhalte

Was ist angesagt?

How scalable application in node.js
How scalable application in node.jsHow scalable application in node.js
How scalable application in node.jsTomasz Duziak
 
Leo Burnett: Augmented Reality — версия для Adobe Flash и AIR on Mobiles
 Leo Burnett: Augmented Reality — версия для Adobe Flash и AIR on Mobiles Leo Burnett: Augmented Reality — версия для Adobe Flash и AIR on Mobiles
Leo Burnett: Augmented Reality — версия для Adobe Flash и AIR on MobilesDevGAMM Conference
 
Alieaters#8 アリババクラウドで
サーバレス頑張って
モバイルアプリを作った
Alieaters#8 アリババクラウドで
サーバレス頑張って
モバイルアプリを作ったAlieaters#8 アリババクラウドで
サーバレス頑張って
モバイルアプリを作った
Alieaters#8 アリババクラウドで
サーバレス頑張って
モバイルアプリを作ったRyota Suenaga
 
Graphs: Fabric of DevOps
Graphs: Fabric of DevOpsGraphs: Fabric of DevOps
Graphs: Fabric of DevOpsNeo4j
 
Build scripting with psake
Build scripting with psakeBuild scripting with psake
Build scripting with psakeAdam Crane
 
State in stateless serverless functions
State in stateless serverless functionsState in stateless serverless functions
State in stateless serverless functionsAlex Pshul
 
Technology | Serverless
Technology | ServerlessTechnology | Serverless
Technology | ServerlessAni Sinanaj
 
From airflow to google cloud composer
From airflow to google cloud composerFrom airflow to google cloud composer
From airflow to google cloud composerBruce Kuo
 
Serverless Cron Jobs with Ruby on Jets
Serverless Cron Jobs with Ruby on JetsServerless Cron Jobs with Ruby on Jets
Serverless Cron Jobs with Ruby on JetsTung Nguyen
 
When Less is More - Save Brain Cycles with GKE Autopilot and Cloud Run
When Less is More - Save Brain Cycles with GKE Autopilot and Cloud RunWhen Less is More - Save Brain Cycles with GKE Autopilot and Cloud Run
When Less is More - Save Brain Cycles with GKE Autopilot and Cloud RunZaar Hai
 
Pref Presentation (2)
Pref Presentation (2)Pref Presentation (2)
Pref Presentation (2)Prachi Patil
 
Traefik on google kubernetes engine
Traefik on google kubernetes engineTraefik on google kubernetes engine
Traefik on google kubernetes engineManuel Zapf
 
The State of the Developer Ecosystem - .NET Conf Barcelona 2018
The State of the Developer Ecosystem - .NET Conf Barcelona 2018The State of the Developer Ecosystem - .NET Conf Barcelona 2018
The State of the Developer Ecosystem - .NET Conf Barcelona 2018Carlos Mendible
 

Was ist angesagt? (20)

Proposed bench test for gis servers
Proposed bench test for gis serversProposed bench test for gis servers
Proposed bench test for gis servers
 
Svelte as a Reactive Web Framework
Svelte as a Reactive Web FrameworkSvelte as a Reactive Web Framework
Svelte as a Reactive Web Framework
 
How scalable application in node.js
How scalable application in node.jsHow scalable application in node.js
How scalable application in node.js
 
Trash Robotic Router Platform
Trash Robotic Router PlatformTrash Robotic Router Platform
Trash Robotic Router Platform
 
Leo Burnett: Augmented Reality — версия для Adobe Flash и AIR on Mobiles
 Leo Burnett: Augmented Reality — версия для Adobe Flash и AIR on Mobiles Leo Burnett: Augmented Reality — версия для Adobe Flash и AIR on Mobiles
Leo Burnett: Augmented Reality — версия для Adobe Flash и AIR on Mobiles
 
Alieaters#8 アリババクラウドで
サーバレス頑張って
モバイルアプリを作った
Alieaters#8 アリババクラウドで
サーバレス頑張って
モバイルアプリを作ったAlieaters#8 アリババクラウドで
サーバレス頑張って
モバイルアプリを作った
Alieaters#8 アリババクラウドで
サーバレス頑張って
モバイルアプリを作った
 
Graphs: Fabric of DevOps
Graphs: Fabric of DevOpsGraphs: Fabric of DevOps
Graphs: Fabric of DevOps
 
P.I.Z.Z.A.: Status Update
P.I.Z.Z.A.: Status UpdateP.I.Z.Z.A.: Status Update
P.I.Z.Z.A.: Status Update
 
Build scripting with psake
Build scripting with psakeBuild scripting with psake
Build scripting with psake
 
State in stateless serverless functions
State in stateless serverless functionsState in stateless serverless functions
State in stateless serverless functions
 
Technology | Serverless
Technology | ServerlessTechnology | Serverless
Technology | Serverless
 
Go With The Flow
Go With The FlowGo With The Flow
Go With The Flow
 
From airflow to google cloud composer
From airflow to google cloud composerFrom airflow to google cloud composer
From airflow to google cloud composer
 
Serverless Cron Jobs with Ruby on Jets
Serverless Cron Jobs with Ruby on JetsServerless Cron Jobs with Ruby on Jets
Serverless Cron Jobs with Ruby on Jets
 
Svelte
SvelteSvelte
Svelte
 
When Less is More - Save Brain Cycles with GKE Autopilot and Cloud Run
When Less is More - Save Brain Cycles with GKE Autopilot and Cloud RunWhen Less is More - Save Brain Cycles with GKE Autopilot and Cloud Run
When Less is More - Save Brain Cycles with GKE Autopilot and Cloud Run
 
Pref Presentation (2)
Pref Presentation (2)Pref Presentation (2)
Pref Presentation (2)
 
SCIO : Apache Beam API
SCIO : Apache Beam APISCIO : Apache Beam API
SCIO : Apache Beam API
 
Traefik on google kubernetes engine
Traefik on google kubernetes engineTraefik on google kubernetes engine
Traefik on google kubernetes engine
 
The State of the Developer Ecosystem - .NET Conf Barcelona 2018
The State of the Developer Ecosystem - .NET Conf Barcelona 2018The State of the Developer Ecosystem - .NET Conf Barcelona 2018
The State of the Developer Ecosystem - .NET Conf Barcelona 2018
 

Andere mochten auch

Medical Mobile Apps by Joachim Neumann (NSBarcelona)
Medical Mobile Apps by Joachim Neumann (NSBarcelona)Medical Mobile Apps by Joachim Neumann (NSBarcelona)
Medical Mobile Apps by Joachim Neumann (NSBarcelona)barcelonaio
 
Bluetooth LE & iBeacons by Javier Chávarri (NSBarcelona)
Bluetooth LE & iBeacons by Javier Chávarri (NSBarcelona)Bluetooth LE & iBeacons by Javier Chávarri (NSBarcelona)
Bluetooth LE & iBeacons by Javier Chávarri (NSBarcelona)barcelonaio
 
What's new in iOS 7
What's new in iOS 7What's new in iOS 7
What's new in iOS 7barcelonaio
 
Study: The Future of VR, AR and Self-Driving Cars
Study: The Future of VR, AR and Self-Driving CarsStudy: The Future of VR, AR and Self-Driving Cars
Study: The Future of VR, AR and Self-Driving CarsLinkedIn
 
Hype vs. Reality: The AI Explainer
Hype vs. Reality: The AI ExplainerHype vs. Reality: The AI Explainer
Hype vs. Reality: The AI ExplainerLuminary Labs
 

Andere mochten auch (7)

Capitulo I ezzio
Capitulo I ezzioCapitulo I ezzio
Capitulo I ezzio
 
Medical Mobile Apps by Joachim Neumann (NSBarcelona)
Medical Mobile Apps by Joachim Neumann (NSBarcelona)Medical Mobile Apps by Joachim Neumann (NSBarcelona)
Medical Mobile Apps by Joachim Neumann (NSBarcelona)
 
Bluetooth LE & iBeacons by Javier Chávarri (NSBarcelona)
Bluetooth LE & iBeacons by Javier Chávarri (NSBarcelona)Bluetooth LE & iBeacons by Javier Chávarri (NSBarcelona)
Bluetooth LE & iBeacons by Javier Chávarri (NSBarcelona)
 
FoodLinker
FoodLinkerFoodLinker
FoodLinker
 
What's new in iOS 7
What's new in iOS 7What's new in iOS 7
What's new in iOS 7
 
Study: The Future of VR, AR and Self-Driving Cars
Study: The Future of VR, AR and Self-Driving CarsStudy: The Future of VR, AR and Self-Driving Cars
Study: The Future of VR, AR and Self-Driving Cars
 
Hype vs. Reality: The AI Explainer
Hype vs. Reality: The AI ExplainerHype vs. Reality: The AI Explainer
Hype vs. Reality: The AI Explainer
 

Ähnlich wie Streaming Radio Alarm App Technical Challenges

Flash for Mobile Devices
Flash for Mobile DevicesFlash for Mobile Devices
Flash for Mobile Devicespaultrani
 
Creating Flash Content for Multiple Screens
Creating Flash Content for Multiple ScreensCreating Flash Content for Multiple Screens
Creating Flash Content for Multiple Screenspaultrani
 
Building mobile apps with the ArcGIS api for Javascript, Esri, Andy Gup and A...
Building mobile apps with the ArcGIS api for Javascript, Esri, Andy Gup and A...Building mobile apps with the ArcGIS api for Javascript, Esri, Andy Gup and A...
Building mobile apps with the ArcGIS api for Javascript, Esri, Andy Gup and A...Esri Nederland
 
Mobile webapplication development
Mobile webapplication developmentMobile webapplication development
Mobile webapplication developmentGanesh Gembali
 
soft-shake.ch - Windows Phone 7 „Mango“ – what’s new for Developers?
soft-shake.ch - Windows Phone 7 „Mango“ – what’s new for Developers?soft-shake.ch - Windows Phone 7 „Mango“ – what’s new for Developers?
soft-shake.ch - Windows Phone 7 „Mango“ – what’s new for Developers?soft-shake.ch
 
Adhearsion and Telegraph Framework Presentation
Adhearsion and Telegraph Framework PresentationAdhearsion and Telegraph Framework Presentation
Adhearsion and Telegraph Framework PresentationJustin Grammens
 
Øredev2013 - FirefoxOS - the platform HTML5 deserves
Øredev2013 - FirefoxOS - the platform HTML5 deservesØredev2013 - FirefoxOS - the platform HTML5 deserves
Øredev2013 - FirefoxOS - the platform HTML5 deservesChristian Heilmann
 
Pandora FMS: Windows Phone 7 Agent
Pandora FMS: Windows Phone 7 AgentPandora FMS: Windows Phone 7 Agent
Pandora FMS: Windows Phone 7 AgentPandora FMS
 
Advanced kapacitor
Advanced kapacitorAdvanced kapacitor
Advanced kapacitorInfluxData
 
APIs for the Internet of Things
APIs for the Internet of ThingsAPIs for the Internet of Things
APIs for the Internet of ThingsKinoma
 
Tamir Dresher - What’s new in ASP.NET Core 6
Tamir Dresher - What’s new in ASP.NET Core 6Tamir Dresher - What’s new in ASP.NET Core 6
Tamir Dresher - What’s new in ASP.NET Core 6Tamir Dresher
 
Google Back To Front: From Gears to App Engine and Beyond
Google Back To Front: From Gears to App Engine and BeyondGoogle Back To Front: From Gears to App Engine and Beyond
Google Back To Front: From Gears to App Engine and Beyonddion
 
Event-driven IO server-side JavaScript environment based on V8 Engine
Event-driven IO server-side JavaScript environment based on V8 EngineEvent-driven IO server-side JavaScript environment based on V8 Engine
Event-driven IO server-side JavaScript environment based on V8 EngineRicardo Silva
 
Complex Made Simple: Sleep Better with TorqueBox
Complex Made Simple: Sleep Better with TorqueBoxComplex Made Simple: Sleep Better with TorqueBox
Complex Made Simple: Sleep Better with TorqueBoxbobmcwhirter
 
Xamarin: The Future of App Development
Xamarin: The Future of App DevelopmentXamarin: The Future of App Development
Xamarin: The Future of App DevelopmentJames Montemagno
 
Advantages and limitations of PhoneGap for sensor processing
Advantages and limitations of PhoneGap for sensor processingAdvantages and limitations of PhoneGap for sensor processing
Advantages and limitations of PhoneGap for sensor processingGabor Paller
 
HTML5: huh, what is it good for?
HTML5: huh, what is it good for?HTML5: huh, what is it good for?
HTML5: huh, what is it good for?Remy Sharp
 

Ähnlich wie Streaming Radio Alarm App Technical Challenges (20)

Flash for Mobile Devices
Flash for Mobile DevicesFlash for Mobile Devices
Flash for Mobile Devices
 
Creating Flash Content for Multiple Screens
Creating Flash Content for Multiple ScreensCreating Flash Content for Multiple Screens
Creating Flash Content for Multiple Screens
 
Building mobile apps with the ArcGIS api for Javascript, Esri, Andy Gup and A...
Building mobile apps with the ArcGIS api for Javascript, Esri, Andy Gup and A...Building mobile apps with the ArcGIS api for Javascript, Esri, Andy Gup and A...
Building mobile apps with the ArcGIS api for Javascript, Esri, Andy Gup and A...
 
Mobile webapplication development
Mobile webapplication developmentMobile webapplication development
Mobile webapplication development
 
soft-shake.ch - Windows Phone 7 „Mango“ – what’s new for Developers?
soft-shake.ch - Windows Phone 7 „Mango“ – what’s new for Developers?soft-shake.ch - Windows Phone 7 „Mango“ – what’s new for Developers?
soft-shake.ch - Windows Phone 7 „Mango“ – what’s new for Developers?
 
Adhearsion and Telegraph Framework Presentation
Adhearsion and Telegraph Framework PresentationAdhearsion and Telegraph Framework Presentation
Adhearsion and Telegraph Framework Presentation
 
Øredev2013 - FirefoxOS - the platform HTML5 deserves
Øredev2013 - FirefoxOS - the platform HTML5 deservesØredev2013 - FirefoxOS - the platform HTML5 deserves
Øredev2013 - FirefoxOS - the platform HTML5 deserves
 
Location Based Services Without the Cocoa
Location Based Services Without the CocoaLocation Based Services Without the Cocoa
Location Based Services Without the Cocoa
 
Pandora FMS: Windows Phone 7 Agent
Pandora FMS: Windows Phone 7 AgentPandora FMS: Windows Phone 7 Agent
Pandora FMS: Windows Phone 7 Agent
 
Ruby voip
Ruby voipRuby voip
Ruby voip
 
Advanced kapacitor
Advanced kapacitorAdvanced kapacitor
Advanced kapacitor
 
APIs for the Internet of Things
APIs for the Internet of ThingsAPIs for the Internet of Things
APIs for the Internet of Things
 
Phone Gap
Phone GapPhone Gap
Phone Gap
 
Tamir Dresher - What’s new in ASP.NET Core 6
Tamir Dresher - What’s new in ASP.NET Core 6Tamir Dresher - What’s new in ASP.NET Core 6
Tamir Dresher - What’s new in ASP.NET Core 6
 
Google Back To Front: From Gears to App Engine and Beyond
Google Back To Front: From Gears to App Engine and BeyondGoogle Back To Front: From Gears to App Engine and Beyond
Google Back To Front: From Gears to App Engine and Beyond
 
Event-driven IO server-side JavaScript environment based on V8 Engine
Event-driven IO server-side JavaScript environment based on V8 EngineEvent-driven IO server-side JavaScript environment based on V8 Engine
Event-driven IO server-side JavaScript environment based on V8 Engine
 
Complex Made Simple: Sleep Better with TorqueBox
Complex Made Simple: Sleep Better with TorqueBoxComplex Made Simple: Sleep Better with TorqueBox
Complex Made Simple: Sleep Better with TorqueBox
 
Xamarin: The Future of App Development
Xamarin: The Future of App DevelopmentXamarin: The Future of App Development
Xamarin: The Future of App Development
 
Advantages and limitations of PhoneGap for sensor processing
Advantages and limitations of PhoneGap for sensor processingAdvantages and limitations of PhoneGap for sensor processing
Advantages and limitations of PhoneGap for sensor processing
 
HTML5: huh, what is it good for?
HTML5: huh, what is it good for?HTML5: huh, what is it good for?
HTML5: huh, what is it good for?
 

Kürzlich hochgeladen

Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
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
 
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
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 

Kürzlich hochgeladen (20)

Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
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
 
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
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 

Streaming Radio Alarm App Technical Challenges

  • 2. ¡  Streaming  radio  alarm  clock  app   ¡  Simple  app  but  with  technical  challenges  for   iOS   ¡  High  level  of  design  
  • 3.
  • 4.
  • 5. ¡  Layout  and  animations  designed  in  Adobe   Edge  Animate   ¡  HTML5  +  CSS3  animation  tool  (Free!)    
  • 6. ¡  Triggering  alarm  in  background   ¡  Recreating  CSS3  animations  using  Core   Animation   §  Movements,  shadows,  opacity  
  • 7. ¡  Easy  to  play  radio  stream  in  background  –  as   long  as  it  has  been  started  while  the   application  is  in  foreground   §  Background  processing  thread   §  GPS  location   §  Voice  over  IP   ¡  Use  info.plist  to  set  ‘Required  background   modes’  
  • 8. ¡  Can  be  used  to  run  for  up  to  10  minutes  when  app   goes  into  background   ¡  Expiration  handler  gets  called  if  task  does  not  end   itself  within  allowed  time     ¡  If  expiration  handler  doesn’t  end  task,  process  is   killed!    bgTask  =  [application  beginBackgroundTaskWithExpirationHandler:^{                  [application  endBackgroundTask:bgTask];                  bgTask  =  UIBackgroundTaskInvalid;          }];  
  • 9. ¡  Can  register  app  for  ‘significant  changes  in  distance’.   ¡  In  practice  updates  usually  come  every  5  minutes   ¡  App  will  be  notified  when  location  changes  by   significant  amount   ¡  App  will  also  be  started  if  it  has  been  killed     self.locationManager  =  [[CLLocationManager  alloc]  init];   [self.locationManager  startMonitoringSignificantLocationChanges];    
  • 10. ¡  Apps  registered  as  providing  VOIP  services   have  the  following  abilities   §  Get  automatically  restarted  if  killed   §  Get  woken  up  if  data  arrives  on  VOIP  control   socket   §  Can  register  for  ‘keep  alive’  updates   ▪  Intended  to  refresh  socket  connections  if  needed   ▪  Minimum  10  minutes  between  updates  
  • 11. [application  setKeepAliveTimeout:600  handler:^(void)  {                  NSLog(@"Keep  alive  timeout  triggered");    }];        CFReadStreamRef  readStream;    CFWriteStreamRef  writeStream;             CFStreamCreatePairWithSocketToHost(NULL,  (CFStringRef)@"192.168.1.8",1343,   &readStream,  &writeStream);                   CFReadStreamSetProperty(readStream,kCFStreamNetworkServiceType,kCFStream NetworkServiceTypeVoIP);          CFWriteStreamSetProperty(writeStream,  kCFStreamNetworkServiceType,   kCFStreamNetworkServiceTypeVoIP);    
  • 12. ¡  All  animations  defined  in  Edge  Animate  as   CSS3  property  animations   ¡  Timeline  with  each  property  having  start  /   end  values  on  timeline   §  Position   §  Scale   §  Opacity   §  Shadow   ¡  Different  easing  functions  available    
  • 13. ¡  CABasicAnimation  for  animating  layer   properties   ¡  CAAnimationGroup  for  animating  properties   at  the  same  time   ¡  CAKeyframeAnimation  for  custom  easing   functions  
  • 14. ¡  Tools  to  take  the  CSS3  animations  and   convert  them  into  Core  Animation  keyframe   animations   ¡  Currently  a  manual  operation,  but  could  be   automated  considerably  
  • 15. ¡  Simple  app  but  quite  a  lot  of  engineering   required  to  get  the  required  result   ¡  App  delivered  within  3  weeks   ¡  Working  with  client  on  v2.0  which  will  get  a   public  release