SlideShare a Scribd company logo
Funf
Who is Funf for?
• API-Level Developers
   – Funf의 내부단을 사용하지 않고 3rd-party 개발자 API만 사용하여서 개발
     할 수 있도록 해준다

• Study Managers/Researchers
   – 센서를 통해 얻는 여러 정보들을 모아서 분석하고 연구하는데 사용한다.

• Core-Level Developers
   – Funf 프레임웍중 원하는 feature를 이용한다. Funf에 없는 새로운 센서를
     추가하거나 기존에 있는 센서측정의 performance를 높인다.

• Self-Tracking
   – Funf Journal 이라는 앱을 통해서 원하는 센서 값만 받아 볼 수 있다. 개인
     적으로 자신의 데이터들을 분석하는데 사용한다.
Key feature
• 수집 데이터를 원격지에 주기적으로 보내도록 설정이 가능하
  다(원격지 서버가 죽으면 로컬로 데이터를 캐싱해두었다가 서
  버가 살아나면 업로드한다)

• 약 15개의 센서정보를 수집가능하다

• One-way hasing 암호화를 통해서 민감한 정보들을 숨긴다(폰
  번호, 이름 등)

• 로컬저장하는 database file은 암호화되어 저장된다

• 약 15개월동안 100명이상의 테스터를 통해 실험하여 프레임웍
  을 검증하였다
Funf 에서 감지가능한 데이터
Funf 에서 감지가능한 데이터
• 각 데이터는 JSON 형태로 수집된다(구글코드위키에 각 센서별 데이
  터 형식 예시와 필요 퍼미션 등을 확인할 수 있다
Funf Journal
• Funf framework를 이용하여 만든 애플리케이션으로 간단하게 원하는
  센서들의 데이터를 수집할 수 있다.
• 수집을 원하는 센서들을 체크하고 주기 등을 설정해 놓으면 된다
• 설정에서 주기적으로 서버나 메일로 데이터를 전송 할 수 있다
Funf Journal
• 수집된 데이터는 *.db 파일이며, 암호화 되어있다.




                         Value 값(JSON형태로 저장)
Funf in a box
• APP 이름과 데이터를 받을 e-mail을 적고 수집하고 싶은 센서와 수집
  주기등을 세팅한 후 생성하면 .apk 파일을 얻을 수 있다
• .apk 파일을 이용해 폰에 설치하면 주기적으로 세팅해 두었던 센서정
  보를 메일로 전송받을 수 있다.
Funf License = LGPL
• LGPL




  – 수정코드 배포시
    •   저작권 표시
    •   No Warranty
    •   LGPL로 배포
    •   소스코드 제공
    •   수정 사실 및 일자
Funf Data Analysis
• 모은 센서데이터를 visualize 하는 예시 프로그램을 제공한다
  (Location, Activity, Battery, Screen on/off, temperature 센서들만)
• 가이드에 있는데로 따라해선 돌아가지 않는다. (센서데이터가 있는
  db파일에서 따로 추출해내서 데이터를 넣어줘야하는것같다)
• 내부코드를 보니 visualization 하는 부분은 google visualization을 사
  용하고 있었다.
Funf 구조
•   .funf.configured : 설정 관리
•   .funf.opp : Object Push Profile 블루투스 통신 프로파일
•   .funf.storage : database 관련 코드
•   .funf.probe : Sensor 정보 가져오기-service
•   .funf : utils 정보
Tutorial
• Assets/default_config.json
   – 센서들의 configuration 정의
   – MainPipeLine이란 class가 여기서 읽어서 세팅한다




• 사용할 서비스와 퍼미션 등록
Tutorial
• 서비스 실행




• Asset 에 정의하지 않고 코드로 정의할 경우
Example
• MainPipeLine.class
   – ConfiguredPipeline을 extends함
   – Configuration file을 읽고 각 센서들이 적절한 데이터 요청을 하게 만드는
     서비스
   – 센서들이 데이터를 반환할 때, 데이터들을 받아서 json으로 serialize하고
     DB에 암호화하여 저장한다.


• LauncherReceiver.class
   – MainPipeLine 서비스가 계속 켜져있도록 유지시켜준다

• JsonUtils.class
   – Gson을 사용하여 serialize된 데이터를 Json으로 변환
   – Gson : Java object  JSON 변환 라이브러리

More Related Content

Featured

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
Marius Sescu
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
Expeed Software
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
Pixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
ThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
marketingartwork
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
Skeleton Technologies
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
SpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Lily Ray
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
Rajiv Jayarajah, MAppComm, ACC
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
Christy Abraham Joy
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
Vit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
MindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
RachelPearson36
 

Featured (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

Funf정리

  • 2. Who is Funf for? • API-Level Developers – Funf의 내부단을 사용하지 않고 3rd-party 개발자 API만 사용하여서 개발 할 수 있도록 해준다 • Study Managers/Researchers – 센서를 통해 얻는 여러 정보들을 모아서 분석하고 연구하는데 사용한다. • Core-Level Developers – Funf 프레임웍중 원하는 feature를 이용한다. Funf에 없는 새로운 센서를 추가하거나 기존에 있는 센서측정의 performance를 높인다. • Self-Tracking – Funf Journal 이라는 앱을 통해서 원하는 센서 값만 받아 볼 수 있다. 개인 적으로 자신의 데이터들을 분석하는데 사용한다.
  • 3. Key feature • 수집 데이터를 원격지에 주기적으로 보내도록 설정이 가능하 다(원격지 서버가 죽으면 로컬로 데이터를 캐싱해두었다가 서 버가 살아나면 업로드한다) • 약 15개의 센서정보를 수집가능하다 • One-way hasing 암호화를 통해서 민감한 정보들을 숨긴다(폰 번호, 이름 등) • 로컬저장하는 database file은 암호화되어 저장된다 • 약 15개월동안 100명이상의 테스터를 통해 실험하여 프레임웍 을 검증하였다
  • 5. Funf 에서 감지가능한 데이터 • 각 데이터는 JSON 형태로 수집된다(구글코드위키에 각 센서별 데이 터 형식 예시와 필요 퍼미션 등을 확인할 수 있다
  • 6. Funf Journal • Funf framework를 이용하여 만든 애플리케이션으로 간단하게 원하는 센서들의 데이터를 수집할 수 있다. • 수집을 원하는 센서들을 체크하고 주기 등을 설정해 놓으면 된다 • 설정에서 주기적으로 서버나 메일로 데이터를 전송 할 수 있다
  • 7. Funf Journal • 수집된 데이터는 *.db 파일이며, 암호화 되어있다. Value 값(JSON형태로 저장)
  • 8. Funf in a box • APP 이름과 데이터를 받을 e-mail을 적고 수집하고 싶은 센서와 수집 주기등을 세팅한 후 생성하면 .apk 파일을 얻을 수 있다 • .apk 파일을 이용해 폰에 설치하면 주기적으로 세팅해 두었던 센서정 보를 메일로 전송받을 수 있다.
  • 9. Funf License = LGPL • LGPL – 수정코드 배포시 • 저작권 표시 • No Warranty • LGPL로 배포 • 소스코드 제공 • 수정 사실 및 일자
  • 10. Funf Data Analysis • 모은 센서데이터를 visualize 하는 예시 프로그램을 제공한다 (Location, Activity, Battery, Screen on/off, temperature 센서들만) • 가이드에 있는데로 따라해선 돌아가지 않는다. (센서데이터가 있는 db파일에서 따로 추출해내서 데이터를 넣어줘야하는것같다) • 내부코드를 보니 visualization 하는 부분은 google visualization을 사 용하고 있었다.
  • 11. Funf 구조 • .funf.configured : 설정 관리 • .funf.opp : Object Push Profile 블루투스 통신 프로파일 • .funf.storage : database 관련 코드 • .funf.probe : Sensor 정보 가져오기-service • .funf : utils 정보
  • 12. Tutorial • Assets/default_config.json – 센서들의 configuration 정의 – MainPipeLine이란 class가 여기서 읽어서 세팅한다 • 사용할 서비스와 퍼미션 등록
  • 13. Tutorial • 서비스 실행 • Asset 에 정의하지 않고 코드로 정의할 경우
  • 14. Example • MainPipeLine.class – ConfiguredPipeline을 extends함 – Configuration file을 읽고 각 센서들이 적절한 데이터 요청을 하게 만드는 서비스 – 센서들이 데이터를 반환할 때, 데이터들을 받아서 json으로 serialize하고 DB에 암호화하여 저장한다. • LauncherReceiver.class – MainPipeLine 서비스가 계속 켜져있도록 유지시켜준다 • JsonUtils.class – Gson을 사용하여 serialize된 데이터를 Json으로 변환 – Gson : Java object  JSON 변환 라이브러리