w.h.i.t.e의 모든 글

Developer

LG가 HP로부터 webOS를 인수, 스마트TV에만 사용하기로

webOS
Cards

애플에서 iMac, iPod 등의 하드웨어를 담당했던 존 루빈스타인이 Palm의 CEO로 돌아와 출시하였고, 한 때 Card 같은 멀티태스킹 기능과 UI로 혁신적이라는 호평을 받기도 했던 webOS.

HP_TouchPad
HP TouchPad

HP가 인수하여 TouchPad로 태블릿 시장에 도전장을 내밀었다가 별로 빛을 보지 못하다가 결국 LG에게 팔렸습니다.

Remember webOS? LG Acquires webOS From HP, But Only Plans To Use It In Smart TVs | TechCrunch

LG buys webOS from HP for use in smart TVs

삼성이 webOS를 인수할 거란 루머가 꽤 오래전부터 무성했었는데 결국 LG가 인수하네요. 그런데 스마트폰은 계획이 없고 스마트TV에만 사용할 것이라고 합니다.

팜 프리터치패드의 실패 이후로 지원하는 HW가 없고, HP에서 존 루빈스타인과 webOS 주요 개발자들이 떠나서 오픈소스로는 남아있지만 죽은 것이나 다름 없었던 webOS인데 LG가 스마트TV에만 쓰지 말고 삼성의 타이젠처럼 독립적인 OS로 키워나가면 좋을 것 같습니다.

한편 HP는 이제 안드로이드 태블릿을 출시하고 안드로이드로 돌아선 듯한 분위기네요.

 

-업데이트-

LG가 웹OS 전부를 인수한 것이 아니라 소스코드, 개발인력, 관련 문서를 인수하고 특허에 대해서는 라이선스 계약을 맺은 것이라고.

LG는 왜 웹OS를 손에 넣었을까

‘Modern.IE’ MS가 제공하는 인터넷 익스플로어 테스팅 사이트

Modern.IE

마이크로소프트에서 Internet Expolorer에서의 웹페이지 테스팅을 쉽게할 수 있는 Modern.IE라는 사이트를 만들었습니다.

문제가 많은 구 버전 IE들의 호환성 제공과 웹 표준을 권정하면서 WebKit 브라우저만 호환하는 실수도 방지하려는 목적을 가지고 있습니다.

URL을 넣으면 발생 가능한 문제점들을 파악해주는 site scannercross-browser tool, 그리고 웹 표준에 맞는 사이트를 만들기 위한 가이드라인들을 제공하고 있습니다.

이전의 ‘IE6에서만 동작’하는 웹사이트들에 대해서는 방관하다가 요즘 웹킷에 밀리면서 웹표준을 지원해야 된다고 하는 그런 느낌도 있긴 하지만 웹 개발자들에겐 유용한 툴이 될 수 있을 것 같네요.

아 그리고 site scanner를 돌려보면 IE-specific한 몇몇 코드를 넣으라고 하는 것을 보면 역시나 MS?

Modern.IE

시각장애인 아이폰 사용자들을 위협하는 삼성

Samsung goes after blind iPhone users

A Mannheim Regional Court on Friday ordered a stay of a Samsung suit against Apple that alleges the iPhone maker’s VoiceOver screen-access technology violated its patent on display into speech data. […]

Samsung has now identified itself as a company willing to accept the loss of accessibility for the vision-impaired as collateral damage in its battle with Apple. It has made a big public move to make it more difficult for the blind to use computers.

삼성은 언제나 돈만 밝히는 기업이었지

안드로이드 장치에서 이메일 주소 읽어오기

안드로이드 앱에서 사용자의 이메일 주소를 읽어오는 방법입니다.

회원가입시에 미리 입력 시켜둬서 사용자 편의성을 높이는데 사용할 수 있으며 악용하진 말아야할 것 입니다.

 

1. AccountManager 사용하기 (API 5 이상)

AccountManager를 이용하면  기기에 등록된 모든 계정이름을 불러올 수 있고 계정이름이 이메일인 경우가 많기 때문에 활용할 수 있습니다.

Pattern emailPattern = Patterns.EMAIL_ADDRESS; // API level 8+
Account[] accounts = AccountManager.get(context).getAccounts();
for (Account account : accounts) {
    if (emailPattern.matcher(account.name).matches()) {
        String possibleEmail = account.name;
        ...
    }
}

AccountManager를 사용하려면 GET_ACCOUNTS 권한이 필요하니 AndroidManifest.xml에 권한을 추가해둬야 합니다.

<uses-permission android:name="android.permission.GET_ACCOUNTS" />

 

2. ContactsContract.Profile 이용하기 (API 14 이상)

ICS부터는 사용자의 프로필에 접근하여 이메일을 가져올 수 있습니다.

public class ExampleActivity extends Activity implements LoaderManager.LoaderCallbacks<Cursor> {
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        getLoaderManager().initLoader(0, null, this);
    }
 
    @Override
    public Loader<Cursor> onCreateLoader(int id, Bundle arguments) {
        return new CursorLoader(this,
                // Retrieve data rows for the device user's 'profile' contact.
                Uri.withAppendedPath(
                        ContactsContract.Profile.CONTENT_URI,
                        ContactsContract.Contacts.Data.CONTENT_DIRECTORY),
                ProfileQuery.PROJECTION,
 
                // Select only email addresses.
                ContactsContract.Contacts.Data.MIMETYPE + " = ?",
                new String[]{ContactsContract.CommonDataKinds.Email.CONTENT_ITEM_TYPE},
 
                // Show primary email addresses first. Note that there won't be
                // a primary email address if the user hasn't specified one.
                ContactsContract.Contacts.Data.IS_PRIMARY + " DESC");
    }
 
    @Override
    public void onLoadFinished(Loader<Cursor> cursorLoader, Cursor cursor) {
        List<String> emails = new ArrayList<String>();
        cursor.moveToFirst();
        while (!cursor.isAfterLast()) {
            emails.add(cursor.getString(ProfileQuery.ADDRESS));
            // Potentially filter on ProfileQuery.IS_PRIMARY
            cursor.moveToNext();
        }
 
        ...
    }
 
    @Override
    public void onLoaderReset(Loader<Cursor> cursorLoader) {
    }
 
    private interface ProfileQuery {
        String[] PROJECTION = {
                ContactsContract.CommonDataKinds.Email.ADDRESS,
                ContactsContract.CommonDataKinds.Email.IS_PRIMARY,
        };
 
        int ADDRESS = 0;
        int IS_PRIMARY = 1;
    }
}

READ_PROFILEREAD_CONTACTS의 두 가지 권한이 필요합니다.

<uses-permission android:name="android.permission.READ_PROFILE" />
<uses-permission android:name="android.permission.READ_CONTACTS" />

참조 : How to get the Android device’s primary e-mail address

플레이스테이션4는 없었던 플레이스테이션4 발표 이벤트

 

소니가 21일 플레이스테이션(PlayStation) 4의 발표 이벤트를 개최했는데 하드웨어 자체는 공개하지 않아서 말이 많습니다.

 

새로 출시될 게임들과 새로운 듀얼쇼크4 컨트롤러와 같이 동작하는 카메라에 대한 이야기가 주를 이루었습니다. 그리고 출시일정은 2013년 홀리데이 시즌이 될 것이며 예상 가격에 대해서는 밝히지 않았습니다.

플레이스테이션3의 게임은 호환되지 않을 것이며 대신에 플스1,2,3의 게임들이 클라우드를 통해서 추후에 제공될 예정이라고 합니다.

 

스펙

플스4는 기존의 셀 프로레서를 버리고 8코어 AMD ‘Jaguar’ x86 프로세서를 사용하며 18 “compute units”을 가진 1.84 TFLOPS처리 성능을 가진 라데온 GPU(HD7850 보다 좀 더 나음)와 8GB GDDR5 RAM을 제공한다고 합니다.(링크) 플스3이 512MB의 RAM을 제공했었는데 무려 16배 커지면서 새로운 ‘suspend/resume’ 기술로 기기 시작과 동시에 바로 진행하던 게임을 재개할 수 있을 것이라고 하네요. 플레이스테이션4는 작년에 인수한 Gaikai의 기술을 이용하여 꺼져있을 때도 게임과 영상의 업로드/다운로드가 가능하고 다운로드 받는 중에도 게임을 플레이할 수 있다고 합니다. 그리고 6배속 블루레이 드라이브를 가지게 됩니다.

 

플스 Vita도 세컨드 스크린으로 활용하려는 노력이 보이는데 플스4의 게임을 Vita에서 원격 플레이가 가능하다고 합니다. Wii U와 비슷한 개념으로 보이는 데 어떻게 구현될 지는 아직 정확히는 모릅니다.

 

듀얼쇼크4 컨트롤러

터치패드와 헤드폰 잭이 포함되었고 ‘공유(Share)’ 버튼과 게임중 색을 표시하는 라이트바 영역이 생겼습니다.

플레이스테이션4는 게임 영상을 계속 녹화하고 있기 때문에 언제든지 공유 버튼을 통해서 게임 플레이 영상을 즉시 친구들에게 공유할 수 있다고 합니다. 영상 업로드는 백그라운드중에 이루어져서 게임 플레이에는 영향이 없습니다.

라이트바는 3가지 색을 표시 가능하고 플레이어를 구분하거나 체력 표시 같은 게임에서의 피드백으로 이용됩니다. 또 같이 사용하게 되는 3D 카메라(PlayStation 4 Eye)는 라이트바를 통해 컨트롤러의 모션을 인식한다고 합니다. 이제 동작 인식은 게임 콘솔의 필수 기능으로 보여지네요.

 

게임

‘Killzone: Shadow Fall,’ ‘Deep Down,’ ‘Watch Dogs,’ 같은 게임들이 선보였고 디아블로3와 새로운 파이널 판타지도 출시될 것이라고 합니다.(링크)

 

Killzone: Shadow Fall 영상

 

Capcom의 Deep down

 

DriveClub

 

아 그리고 중고 게임도 플레이 가능할 것이라고 합니다. 🙂

 

단순히 스펙만 높이는 것이 아니라 소셜 기능을 강화하고, 클라우드와 하드웨어 기술들로 끊김없고 편리한 경험을 제공하려는 노력이 보여지네요.

iOS와 안드로이드용 앱도 출시하여 세컨드 스크린으로 활용할 계획이라고 합니다.

 

Sony fails to show PlayStation 4 console at PlayStation 4 event

Sony unveils its next game console, the PlayStation 4, arriving in holiday 2013