Mobile Computing (0) Guidance

ガイダンス

ンピュータは、日常生活に様々な変化をもたらしました。

歴史的なコンピュータの利用形態の変遷は、以下とも言われる。

  1. メインフレーム全盛期の集中処理
  2. 分散システム(オープンシステム)の抬頭によるクライアント・サーバなどの分散処理
  3. インターネットに代表されるネットワーク中心の、新しい集中処理
  4. 世界に分散したユーザーがサーバを意識せずサービスを受ける、クラウドコンピューティングの処理形態

モバイルコンピューティングとは、移動中、あるいは外出先でコンピュータを利用すること。ノートパソコンや携帯情報端末の高性能化・高機能化や、携帯電話やPHSによるデータ通信の高速化に伴い、外出中でも家や職場と同様の環境を再現できるようになりつつある。携帯電話などによるデータ通信を併用する場合のみを指してモバイルコンピューティングと呼ぶ場合もある。

ICTのトレンドは、クラウド、IoT、AIへ変換しています。変わらないものは、コンピューターサイエンスであります。

スマートフォンは、様々なセンサーを装備、クラウドと繋がる能力が持つIoTデバイスと見なすことができます。

ユビキタス情報システム論は、特定のコンピューター言語にこだわらない、コンピューターサイエンスの基層知識を用いで、

みなさん手持ちのスマートフォンを教材に、センサー情報の収集、そしてクラウドとの連携する技術を学び、

何時でも、どこでも利用できるユビキタス 情報システムの構築技法を学びます。

本コースの構成

(1-7基礎編)

8-10ネットワーク編)

(総合編11-13)

スマホ・アプリ開発

世界の携帯電話契約数は世界の人口を上回った。携帯電話中スマホの普及率は67.4%、スマホの販売数はパソコンを超えた、動画視聴ネットショッピングに使用する機器は、スマホがパソコンを超えた!! スマホ・アプリ開発人材不足のため、求人が増えた。

スマホOSのシェアは、主にAndroidとiOSであり。日本にはほぼ半々だが、全世界の場合Androidは78%。

ゲームが作りたい、でもアイディアがない、プログラミングがわからない!

「100万のタマゴ」を検索してみましょう — 「誰もやりたくないアプリ」を3日でつくったら、広告収益3,500万円超え。800万ダウンロードの無駄タップアプリ「100万のタマゴ」が世界各国でヒットするまで。

スマホ・アプリ開発は、従来のプログラミングとビジュアルプログラミングがある。従来のプログラミングは習得まで時間がかかるが、ビジュアルプログラミングは入門がすぐでもできる。

MIT App Inventorとは

  • Android用ビジュアル プログラミング
    • コーディングなし、プログラムの部品をドラッグ&ドロップで組み合わせるだけでできる。
  • 使ってみたいアプリを自分で作る
    • ひらめいたアイデアから簡単にアプリが作ることができる、プロトタイプにも適する
  • 実用のアプリ開発も可能
    • Java プログラマー向けの Android アプリ開発の解説書の例題10戦全勝

 

MIT App Inventorできること

Googleはコンピュータ科学専攻ではない大学生、看護学生、女子高生、小学生などを対象にApp Inventorのテストを行ってきた。サンフランシスコ大学の学生は車の運転中に送られてきたテキストメッセージに自動返信するアプリを作成。看護学生は加速度センサーを用いて患者が倒れたときに、患者の携帯電話から救急メッセージが送信されるようにした。レゴマインドストームというロボットもプログラムで動かす。

 

準備するもの

  • PC
  • Google アカウント
  • Androidマシン(スマホ or タブレット)
    • 「MIT Ai2 Companion」
    • QRコードスキャナー
  • 無線LAN(WiFi) あると便利

 

image

開発環境

下記何れの開発環境を用意

  1. Androidデバイス+WiFiがある
    => Androidデバイス+WiFiで実行
  2. Androidデバイスがない
    => エミュレータで実行
  3. AndroidデバイスはあるがWiFiがない
    => Androidデバイス+USBケーブルで実行

Swift2 (1) Hello world to iPhone

[Swift][超入門]初心者向けはじめてのHelloWorld!

まずはXcodeのDownloadからはじまる

MacのApp StoreからXcodeを検索して、ダウンロードする(無料)。

プロジェクトの作成

1. プロジェクトの新規作成 まずXCodeを開いたら

File>New>Project を選択。

2. テンプレートの選択

次に作りたいアプリに合わせてテンプレが選べます。
今回は iOS>Application>Single New Application を選択。

3. プロダクト名の決定

次にプロダクト名を設定します。Product Nameの中にHelloWorldと入力しましょう。

4. 保存先の設定
デフォルトでは~/Applications内に保存されるそうです。
Desktopに変更してください。

HelloWorldを出力

上記を全て終えるとプロジェクトが立ち上がります。

1.  ラベルを配置

2. ボタンを配置

3. ボタンのイベント処理を追加

ラベルに”HelloWorld”文字列を代入。

//
//  ViewController.swift
//  MyFirstApp
//
//  Created by Hong Chen on 2017/02/22.
//  Copyright © 2017年 DIT. All rights reserved.
//

import UIKit

class ViewController: UIViewController {

    @IBOutlet weak var label: UILabel!
    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }


    @IBAction func tappedButton(_ sender: Any) {
        label.text = "Hello!!"
    }
}

 

 

4. 実行してみる

左上の実行ボタンをクリック!!エミュレータが起動。

エミュレータのボタンをクリックすると、ラベル文字はHelloWorldに変わればOK!!

これでSwiftエンジニアデビュー!!

使用する参考書:

Mobile Computing with App Inventor – CS Principles

edXオンライン授業プラットフォーム

大規模公開オンライン講座(MOOC:Massive Open Online Course) の提供機関であるedX(米国ハーバード大学とMITが創設)。

https://www.edx.org/

アメリカには大学レベルの授業を無償で提供するedXというオンライン授業プラットフォームがあり、ハーバード大学やマサチューセッツ工科大学(MIT)、日本の京都大学、早稲田大学などが参加しています。

Mobile Computing with App Inventor – CS Principles

モバイルコンピューティング(App Inventor利用)のコースは2月再開(Starts on February 7, 2017)。ちょうと春休み期間中、英語得意の学生はユビキタス・クラブで一緒に楽しく勉強して、Certificationを取りませんか?

  • Length: 6 weeks (February 7, 2017 – March 20, 2017?)
  • Effort: 8 hours per week
  • Price: FREE
    Add a Verified Certificate for $49
  • Institution: TrinityX
  • Subject: Computer Science
  • Level: Introductory
  • Languages: English
  • Video Transcripts: English

This course introduces basic principles of computer science by designing and building mobile apps in App Inventor for Android.

https://www.edx.org/course/mobile-computing-app-inventor-cs-trinityx-t007x

About this course

Learn to use the open development tool, App Inventor, to program on Android devices. You will learn how to design and build mobile apps — apps that are aware of their location, send and receive text messages, and give advice and directions. The only limit on the types of apps you will learn to build is your own imagination!

However, computer science is not just about coding and building apps. We will also learn some of  the fundamental principles of computer science. We’ll learn about the potential and the limitations of computing and coding. We’ll learn how the Internet works and about the positive and negative aspects of computing in today’s society, and much more!

For these broader computing concepts we will work within an emerging curricular framework — the Computer Science Principles (CSP). The CSP framework is being developed by leading computer science educators from around the country under the auspices of the College Board and with funding support of the National Science Foundation.

In addition to programming and CSP the course is project-based and emphasizes writing, communication, and creativity. Multiple-choice questions, in the style that students can expect to encounter on the AP exam, will also be a key component of this course.

MITが無料オンライン講座で修士学位を取得可能

edxは大学レベルの授業を受けられるだけで単位は付与されないことになっているのですが、MITがedxの無料オンライン講座を受講した学生に単位を付与するパイロットプログラムを発表し話題を呼んでいます。

http://professional.mit.edu/programs/short-programs/educational-mobile-computing/

Prerequisites:

  • Six-week App Inventor MOOC Mobile Computing with App Inventor – CS Principles (ID Verified Certificate of Achievement: $50) offered by edX starting February 1, 2017. Registration for this MOOC will open soon.
  • Master Trainer applicants who already have experience teaching App Inventor can submit proof of coursework taught in lieu of taking Mobile Computing with App Inventor – CS Principles.
  • Ten weeks of online independent coursework beginning May 8, 2017 (included in the $3,500 course fee).

About Thunkable

ドラッグ&ドロップで直感的にアプリが作れる「Thunkable」

プログラミング知識ほぼ不要!?ドラッグ&ドロップで直感的にアプリが作れる「Thunkable」 | Techable(テッカブル)

商用フォークのプロジェクトThankableが日本語でも紹介されてます。

「Thunkable」はドラッグ&ドロップでスマホアプリを作れるサービスだ。”ボタン”や”テキストボックス”など必要な素材を選択するだけで、アプリができあがっていく仕様で、Googleフォームでアンケートなどを作る感覚に近い。

Source: プログラミング知識ほぼ不要!?ドラッグ&ドロップで直感的にアプリが作れる「Thunkable」 | Techable(テッカブル)

WP REST API をWebサービス、スマートフォンのプロトタイプ開発に

WordBench東京 3月勉強会 「WP REST API をハンズオンで学ぼう」参加。

LT会でPhotoBlog を紹介。

MIT App Inventor から、WP REST APIを通して、WordPressにPublishingする。

 

WordPressのWP REST API をWebサービスの基盤として利用し、様々なセンサー情報に対応するWebサービスのシステム構築に、スマートフォンのプロトタイプ開発に利用可能とアピール。

Enhanced photoblog

Project Title. Enhanced Photo Blog publisher

Elevator Pitch. “Easy Photo Blog publisher” is easy way to make a photo blog to own WordPress site, this cloud app enhanced with addtional post viewer, custom Auth UI with base64 encode implement.

Description.
The Easy Photo Blog publisher is a mobile app that make easy to publish a post with photo to self hosted WordPress site.  Enhanced Photo Blog publisher was enhanced with following funtions:

  1. A post viewer for you browse recent posts.
  2. A custom Auth UI let you manage a WordPress REST API service lists.

The app’s social benefit comes from its ability to make a quick post, and improve later, give a motivation to help user more publish. Also this a good example to use WordPress REST API.

2015-12-11 13.51.55

Download and Test. Because this is a app using WordPress REST API, the only way to fully test its functionality would require using the WordPress REST API powered Blog site. You can feel free to use my test site. To download the app, scan the QR code to the left with the MIT AI2 Companion app or some other Scanner or click on this download link.

PhotoBlog2_V2-download

a screen shot show a post on WordPress REST API powered Blog site.

2015-12-11 13.54.22
Technical Description. As shown in this screenshot, the app exceeds the project’s minimum technical requirements. It contains 2 global variables, 4 list data, 2 procedures or functions, and 2 if/else structure.

PhotoBlog2-blocks2

Appendix.

WP REST API web service

The WP REST API is a WordPress plugin that intends to be eventually integrated into WordPress’ core as another (big) step towards transforming WordPress from a blogging platform/CMS into a fully fledged application framework.

To start a service, you have own a own WordPress site, and use 2 plugins:

  1. WP REST API plugin, install and active (schedule uptake to core WP 4.4 and WP 4.5)
  2. BASIC Auth plugin, git clone https://github.com/WP-API/Basic-Auth basicAuth,  and active.

 

tinywebdb-base64 web service

WP REST API provide OAuth 1.0a and Basic Auth algorithm. Currently it is no way to use OAuth 1.0a on App Inventor, so I use Basic Auth on this app. Because , I create a tinywebdb-base64 program, which use App Inventor Tinywebdb feature to get value = base64_encode(tag) . You need install tinywebdb-base64 program on your server and set URL to program. You can feel free to use my tinywebdb-base64 web service.

Photoblog

Project Title. Easy Photo Blog publisher

Elevator Pitch. This cloud app pickup a photo from device’s image gallay, save the photo on self hosted WordPress site as a media file,and create a post with the media file attachement.

Description.
The Easy Photo Blog publisher is a mobile app that make easy to publish a post with photo to self hosted WordPress site. To make a post, user could follow steps:

  1. Type the post title
  2. Pickup a photo from device’s image gallay.
  3. Press “Post to madia” button to save the photo on WordPress site as a media file
  4. Type the post main content
  5. Press “Post Blog” to create a post with the media file attachement.

the app is easy way to make a photo blog to own WordPress site.

The app’s social benefit comes from its ability to make a quick post, and improve later, give a motivation to help user more publish. Also this a good example to use WordPress REST API.

screen1

Download and Test. Because this is a app using WordPress REST API, the only way to fully test its functionality would require using the WordPress REST API powered Blog site. You can feel free to use my test site. To download the app, scan the QR code to the left with the MIT AI2 Companion app or some other Scanner or click on this download link.

apk-download

a screen shot show a post on WordPress REST API powered Blog site.

2015-12-10 07.51.15
Technical Description. As shown in this screenshot, the app exceeds the project’s minimum technical requirements. It contains 2 global variables, 4 list data, 2 procedures or functions, and 2 if/else structure.

blocks2

Appendix.

The WP REST API is a WordPress plugin that intends to be eventually integrated into WordPress’ core as another (big) step towards transforming WordPress from a blogging platform/CMS into a fully fledged application framework.

WP REST API provide OAuth 1.0a and Basic Auth algorithm. it is no way to use OAuth 1.0a on App Inventor, so I use Basic Auth on this app. Basic Auth use base64 encode and not way to do on App Inventor, so on this app, just use a global variable to store a text which already encoded auth text.

DAAPサーバ、DLNA/UPnPサーバで、家中から動画、音楽、画像をストリーミング再生/参照 | Viva! Ubuntu

ツイート Ubuntu 10.04, 12.04 LTSで動かしてきた自宅と事務所のサーバを、Linux Mint Mate 17.1に置き換える事に。 ファイル・サーバは、Windows, Mac, Linuxさらには […]

Source: DAAPサーバ、DLNA/UPnPサーバで、家中から動画、音楽、画像をストリーミング再生/参照 | Viva! Ubuntu

The 50 Best Education Apps For Android

50-best-educational-apps-for-android

Mobile learning. Tablets in the classroom. Apps replacing textbooks.Apple may have started the craze, but the trend is now platform and device-agnostic. While iOS remains the system of choice for most developers (if for no other reason than the wild-west of the Google Play Marketplace versus Apple’s more streamlined iTunes store), learning-with-apps is as accessible on Android devices as it is on the venerable iPad.The following 50 educational apps–a mix of learning simulations, games, organization tools, and traditional learning apps–is a great place to get started.

Source: The 50 Best Education Apps For Android