Virtual Reality Viewers

The recent announcement of the Google Cardboard virtual reality viewer has caught my interest, as well as the interest of a bunch of other people. So, I’ve been doing a little reading up to try and figure out exactly what the best way for me to approach this would be.

First, I installed the >Cardboard Demo on my phone. Even without a proper viewer it is fairly interesting. Next, I started looking at getting a viewer. My brother had shared a link to a kit from DodoCase for $25 which comes with everything you need. Unfortunately, they say to allow four to six weeks for delivery. The Google documentation includes a pattern you can print to make a viewer yourself. I was figuring I’d try that out at work next week. The biggest issue is finding the right lenses.

The documentation suggests the Durovis OpenDive Lens Kit. It costs about $20. This led me to look at Dive. Dive appears to be an already manufactured VR viewer for cellphones. It costs 57 Euros and ships from Germany. They say their estimated delivery time is 10 to 15 business days, perhaps longer if there are issues with customs.

Their Open Dive How To includes STL files for printing with a 3D printer. Perhaps I will try that at work. They also mention a Snakebyte iDroid:con Rechargeable Bluetooth Game Controller for Android and iOS Devices. They recommend this for VR games that need a controller. It costs $23 and I don’t see a need for it, yet.

Dive uses the Dive Launcher It is also worth playing with and has an interesting interface, even without a proper viewer. It seems similar to the Google Cardboard app and I wonder how much things will interoperate.

I continued to look for other sources for lenses and ended up in the Cardboard & VR Developers community on Google Plus.

I believe it was there that I found out about Surplus Shed which supplies surplus, used, and unused optical and electronic bargains for fun, hobby, education or profit. They mention on their front page that they have lenses for Google's new DIY Cardboard Virtual Reality Smartphone Viewer. Just $4.50 each! (Get 10 or more for just $3.50 each).

This looks like the best deal so far and I’m thinking I should get a ten pack of lenses. This would allow for making five pairs of VR glasses. I suspect that if I make a pair of VR glasses, there will be people asking how to get them.

Google Cardboard uses magnets for controlling the glasses. It is possible to get by without the magnets, which may be a good thing, because the ones that Google suggested are out of stock at both Home Depot and Amazon. They are 3/4 in. Neodymium Rare-Earth Magnet Discs. At Home Depot, a 3 pack is $5 and on Amazon a six pack is $12. Applied Magnets has magnets like these for 89 cents each. You also need 3/4 in. x 3/16 in. Ceramic Disc Magnets. HomeDepot has them available online at eight for two bucks and Amazon has them at eight for seven bucks. Applied Magnets has these magnets for 29 cents each. I should probably get five of both types of magnets from Applied Magnets.

To hold the Google Cardboard together, Google recommends two strips of adhesive backed Velcro, approximate 3/4 of an inch by 1 1/4 inch. If I make five glasses, I’d need five times as much Velcro. My guess is that we have some Velcro somewhere in our sewing supplies, either stuff that Fiona has accumulated or that came from my mother, but I don’t know if any of that is adhesive backed, or if we can find it.

Google also recommends 3 1/2 inch rubber bands. Again, that should be something we have around the house or should be able to find easily. Some of the other, non-cardboard projects also call for rubber bands like these, so it would be good to have them on hand, and probably extras in case some break.

The final, optional item that Google recommends, but isn’t required is sticker NFC tags. The one in Amazon the recommend is unavailable. It looks like the best option for these are these NFC tags. They come in five to a pack, so one pack is probably sufficient, but it would be nice to have two packs to do other NFC experiments or to use tags on different devices.

As I read more on this, I stumbled across vrase. It looks like they hope to ship a device similar to Google Cardboard or Open Dive soon. They did provide a link to the
Secondsight - Virtual Reality Headset, VR HMD that I could print at work and which I believe would use the same lenses. The person writing about also used a RII Mini Wireless Bluetooth Keyboard. That is another interesting device I should look at some time. However, there seems to be a bunch of different options, and I should explore them before deciding what to get, or how useful they really are. VRASE lists several different Bluetooth game controllers.

I also stumbled across REFUGIO3D. It is a kit which appears very similar to Google Cardboard, but only seems to be available in Germany. However, from reading through that website, I came across 3D Side By Side movies. Searching on Youtube for 3D SBS provided a lot of material.

So, lots of work to do on Virtual Reality viewers, and when I get some running, I can then think about developing code for them.

Independence and Interdependence

We hold these truths to be self-evident, that all men are created equal, that they are endowed by their Creator with certain unalienable Rights, that among these are Life, Liberty and the pursuit of Happiness.--That to secure these rights, Governments are instituted among Men, deriving their just powers from the consent of the governed, --That whenever any Form of Government becomes destructive of these ends, it is the Right of the People to alter or to abolish it, and to institute new Government

Happy Independence Day. The past few weeks have been fairly trying and I slept late this morning. When I awoke, I glanced at a couple discussions on Facebook. My eldest daughter was asking if believed there could be such a thing as a just war. Friends were discussing the implications of the Hobby Lobby decision. There is probably enough material in the Hobby Lobby decision for several blog posts, so I’ll save that for a later day.

Tomorrow, Mairead will be a facilitator in a discussion, “America and Japan: Talking About Peace” in Kobe Japan. She says that “probably the reinterpretation of the Japanese constitution to allow for collective self-defense will be a big topic”.

As we celebrate the signing of the Declaration of Independence today, I suspect many would suggest that was a just war. To the victors go the spoils of war, and after the fact, I suspect most Americans believe the revolution was a just war and a good thing. However, this does not seem to have been the thinking in colonial times.

The most common piece of evidence cited in numerous books about the Revolution is a letter of John Adams indicating that one third of the Americans were for the Revolution, another third were against it, and a final third were neutral or indifferent to the whole affair.

See more at: http://hnn.us/article/5641.

I’m interested in genealogy and know that I have ancestors that fought on both sides of the war. So, how do we determine if this, or other wars are just? Perhaps a useful, but maybe slanted viewpoint can be found in the section of the Declaration of Independence quoted above.

While we call this the Declaration of Independence, it is really talking about our interdependence. Governments derive their power from the consent of the governed, to protect our life, liberty, and pursuit of happiness. The problem is that one person’s pursuit of happiness may threaten the life, liberty of pursuit of happiness of others, so we need to seek ways to find balance between different peoples pursuit of happiness.

Those supporting the revolution felt that King George’s pursuit of happiness, for himself and his friends, was done at the expense of the colonists, that the form of the British Government had become destructive to the rights of the colonists.

A just war, would then be considered a war that seeks to protect the rights of the oppressed. Those arguing for war are bound to frame their arguments in this context, even if the war is about land or access to natural resources, and both sides will try to wrap themselves in the mantel of protecting the oppressed.

In all of this, it seems like the underlying issue is not individual independence, but corporate independence, the independence of one group of people from another group to find ways to work together to protect the interdependent rights of all the individuals in the group.

Unfortunately, too much of the American dialog these days is about individual independence at the expense of the individual independence of our family, friends and neighbors. I hope that as people in Japan think about collective self-defense, they focus on what they are defending and whether or not such a defense is truly justifiable.

Diversity of Stories

Rabbit, Rabbit, Rabbit. Another busy, rocky month comes to an end and we roll full force into summer mode. Last night, I stopped at the town pool to swim laps. So far this summer, I’ve swum over five miles in the town pool. On the way home, I stopped at the library and picked up a collection of short stories by Chimamanda Adichie. I mentioned her in my previous post.

She gave a TED Talk, The danger of a single story about misconceptions that can arise from hearing a single story, or single type of story. While she focused on literature, it just as easily apply to any medium. Perhaps the simplest example is the warped view people get from a diet of one cable talk news show or another. To some, this is old news as people promote studies showing that viewers of specific cable news channels are more misinformed than others.

Other’s criticize older institutions of journalism that tell us telling us “That’s the way it is” and that they print “all the news that’s fit to print”. That’s the way it is, from a particular cultural framework, it’s all the news that a certain set of editors embedded in their cultural constructs found was fit to print.

Yesterday, Google News and Facebook, using their algorithms to find things I’d be most interested in, showed me stories about the Hobby Lobby Supreme Court decision. Being interested in media, I’ve often looked at how different outlets select what stories get covered and none of this is new.

Thirty two years ago, I went to the big anti-nuclear rally in Central Park. Afterwards, I walked home to my apartment in Little Italy. In my mind, the rally was the top news story of the day. Then, I walked past a hearse outside of an East Village funeral home, with the hearse outside and the family mourning. For them, there was much bigger news.

With this in mind, I read one of Chimamanda Adichie’s short stories last night. It was about a young woman whose brother was arrested. This morning, I glanced at the headlines in Global Voices.

One of the stories that repeatedly showed up on my computer yesterday was about Facebook manipulating news feeds to study the effects on users’ emotions. It appears to have been completely legal, within the terms of service, but people question the ethics. Most of this has been around the ideas of tests on human subjects, something that is done more and more online. Yet it ties back to the larger story of how information is selected for us to view.

Recently, on Facebook, a friend posted a card which said something like, “Being creative is like having 2847 tabs open in your browser 24/7”. I had just written about closing tabs in my browser, and strongly related to this. A friend shared a link he had written a few years ago about this, The Great Media Garbage Patch.

Content is King—for a day. But eventually it takes its place among the flotsam and jetsam. Today’s treasure is tomorrow’s trash.

Kind of like Life…and Death. And new birth. The circle of life. Every new campaign (or book or poem or blog) is a challenge and a dare—to make a mark, however brief, in the face of unplanned obsolescence.

And so, another month begins. The big stories of last month are rapidly becoming the flotsam and jetsam of this month. Perhaps I’ll view this month from the vantage point of the town pool, mingled with thoughts of Nigerian short stories and see who Facebook shows this story to.

Random Stuff

Life has been too busy for me to write much recently. There are a lot of ideas in the works that I hope will see the light of day soon, Turtle Redux, CoPolicy, more on programming the watch and teaching kids to code. Perhaps even something on SocialMediaSunday and Ramadan. Thoughts about undoing racism, various political campaigns, like Zephyr Teachout’s in New York. Then, there is the Facebook experiment.

Without having the time I would like to delve into any of these with as much depth as I would like, I’m doing a quick summary of thoughts. Currently, I have twenty tabs open in browsers. Many of them are articles about something else I want to explore.

From those silly quizzes, I’ve found that I’m like Walt Whitman, the musical Les Mis, and the Norse God Njord. Besides the Facebook issue, there is an article on gender and education, Average IQ of students by college major and gender ratio. At some point, I should spend some time responding to that.

Another post which caught my eye, which I should go back and read more closely is Your Lifestyle Has Already Been Designed (The Real Reason For The Forty-Hour Workweek). It seems like combining this with the gender article, the Facebook research and THX 1138 could yield some interesting writing.

I also have a page open to Viewster’s online film festival. The voting has closed, the winners will be announced on the 7th, but I should spend some time checking out some of the films.

Also worth noting is that the 2014 Emerging Artists Showcase Performers for Falcon Ridge have been selected. I need to review them.

Fiona is interviewing SuperMonkey on her radio show tonight.

In geek space, a couple links that caught my attention are Biltzortung. This shows realtime lightning information and you can set up your own detector with information from the page. There is an article about what is claimed to be The most efficent wind turbine, so sale soon for about $5,500 and generating “an average of 1,500 kilowatt-hours of energy” per year.

I’m also looking at Basis, another smartwatch/fitness tracker. I’m curious about how it compares to Gears 2 and other devices. How programmable will it be? Next to that tab, I have the Samsung Gear Application - Getting started guide. I also have a tab open about Extensible Metadata Platform (XMP). I’ve been thinking about better ways to organize photos.

Also, there is the news that the Chrome OS will Run Android Apps Natively, Sync with Android Devices. This sounds really interesting, when it is ready. I’m also waiting for the next update to Glass which is expected to include a viewfinder for the camera.

In the area of health equity, I recently came across People’s Institute for Survival and Beyond’s Undoing Racism. I’ve also added Chimamanda Adichie’s TED Talk, The danger of a single story to my viewing list.

On the political side, there is Policies to Address Poverty in America. It looks like there is a lot of content there, but the question becomes, how to digest it into policy statements for a campaign. This reflects an interesting way to look at policies. On the one hand, you have the talking heads on cable news, spouting simplistic black and white talking points. On the other hand, you have policy briefs from think tanks that are so dense that they do get read as often as they should. Then, you have the problem of how to take all of this and weave it towards specific, attainable legislative action.

Staying on the more theoretical side, I’ve been thinking a lot about social contracts, and recently, how they relate to biblical covenants. This has led me to the Norwegian Peacebuilding Resource Center’s Social covenants and social contracts in transitions.

Then, there is the recent news about health issues in Connecticut, Access Health CT Looking Into North Haven Woman’s Policy Cancellation

Wrapping things, up, the latest thing on Facebook, that I’ve been finding annoyingly inane are the “If you think you’re so smart, in ten seconds think of a word that begins with T and ends with T, or starts with A and ends with E or starts with S and ends with P or a city that doesn’t have an A in it, etc.” It fits with all those things that no one will ever believe or will blow your minds.

(Categories: )

Programming in Tizen for the Samsung Gears 2 Smartwatch

A month or so ago, I got a Samsung Gears 2 watch. I was very excited to start programming for it, but have been too busy to really explore it, so I’ve been doing a little bit, here and there and finally have time to write a little bit about.

Background

First, a little background. I was pretty excited to see a watch running Tizen. One of previous cellphones was the Nokia N900, which ran a version of Linux called Maemo. I liked programming for Maemo and the Nokia N900. But Maemo was merged into MeeGo and my old N900 started falling apart so my Linux on mobile devices programming subsided as I became more involved in my current job.

Part of the reason I like open source development for mobile devices is that, in theory, it should lower the bar to entry making such programming more accessible. I’m not sure how well this has really worked out in practice, however, the community of Maemo developers was pretty good at it.

Unfortunately, Tizen on the Samsung Gears 2 Smartwatch really hasn’t developed a good open source community yet, as far as I can tell, and the documentation seems to me to be a bit obtuse. So, with that, let me share some of my experiences getting going programming the Gears 2 Smartwatch.

Installing the SDK

The first big caveat, I’m running on a Windows 8 based laptop. This presents plenty of additional challenges, but if I can get it running on this box, it should be possible to get it running a lot of places.

First step was to install Java. In theory, this should be nice and easy. However, these days, there are more and more different choices for flavors of Java. I installed Java SE Development Kit 8u5 - Windows x64.

I also downloaded the Tizen SDK. I wasn’t sure if I needed the Tizen SDK, the Tizen SDK for Wearable 1.0.0b1, and/or other parts. It now looks like all I really needed was the SDK for Wearable, but it doesn’t hurt to have both.

The next issue I ran into was that the install failed. Apparently, this is not a unique problem. There is a blog post about Installing Tizen SDK 2.0 on Windows 8 64 bit. After the install fails, the install manager is left in the f AppData\Local\Temp\tizensdk directory. In that directory, run javaw -jar InstallManager.jar, and you should be good to go.

At least, that worked for the Tizen SDK. However, when trying to run the Tizen SDK for Wearable, even that presented problems. I kept getting the error, “Cannot find repository http://”

I read through the Tizen forum Can't install Tizen Sdk for Wearable because of "Cannot find repository." There was a lot of discussion about HAXM, which I’ll get to later.

The comment at the bottom gave the working answer. How to install Tizen SDK for Wearable (Samsung Gear). You need to download the SDK image from the same place you downloaded the install manager, and then enter the location of the SDK image in the advanced options of the SDK Install Manager.

Installing HAXM

The installation of the Intel Hardware Accelerated Execution Manager went amazingly simply, especially given the problems installing the SDK.

However, I ran into one problem. The virtualization technology needed to be turned on in BIOS. To make things more complicated, my hard disk is encrypted so I don’t have a standard bootup process. The bootup also was set to boot without waiting for people to change BIOS settings, so it was a challenge to get the BIOS changed. I’m running an HP ENVY 15, and activating vt-x from bios gave me the information I needed, when I managed to hit the F10 quickly enough on Startup.

Learning the architecture

Being the old command line Linux programmer, I figured I should be able to connect into the Linux box (in this case the watch), bring up a shell prompt, and start developing. I’m also used to working with Google Glass which connects to the Internet via Wifi or Bluetooth tethering. With my Nokia N900, it would connect to the Internet, and then I could connect to the phone over the internet using Secure Shell, or even set up a web server on my phone. I was hoping to do something similar with the Samsung Gears 2 watch.

However, it appears as if the Gears 2 Watch is set up a bit differently. It communications with a Samsung Smartphone over Bluetooth, but does not use TCP/IP. The advantage of this is that you don’t need a special plan from your cellphone provider that permits Bluetooth tethering. However, it does significantly limit what you can do. I suspect someone will find a work around for this soon enough.

To deal with this the Gears 2 architecture is set up to run in a bunch of different modes, with applications running standalone on the watch, or communicating with an app on the phone. I have not dug deep enough to find if there is a decent generic proxy app for Gears 2, but I’m dubious. You can read more about the architecture here.

Starting the Emulator

The development environment is Eclipse. I started Eclipse from the \tizen-wearable-sdk\ide directory and started poking around. However, I couldn’t get the Gears 2 to show up and I had problems with the emulator.

While it should seem obvious how to set up the emulator, I scratched my head about it for a bit. So, the quick cheat sheet. In Eclipse, in the connection explorer in the lower left, click on the first icon entitled Emulation Manager. When the manager starts, click on Add New to create a new emulator. In the details on the right, enter the name of the emulator. I’ve created Test1 and Test2 using the defaults for all the other values. Click on Confirm at the bottom of that box.

Also, be sure you are doing this from the wearable-sdk. Otherwise, you’ll be setting up emulators for Tizen based smartphones.

Once you have your emulator created, click on the play button at the bottom of the emulator. This gets to wear I’ve run into different issues. I’ve tried launching the emulator manager multiple times and Eclipse complains that it is already running. Yet nothing show up in the list of available connections.

When I’ve clicked on the play button, nothing seems to happen, so I go on and try other things, which usually screw up everything. Be patient. On my machine, it takes about thirty seconds for the emulator to show up, and another thirty seconds before Eclipse discovers the emulator is running.

Once the emulator is running, you are ready to start testing.

Connecting the Watch

Again, this seems nice and straight forward. Connect the USB cable from the PC to the connector that snaps on the back of the Gears 2 watch. However, when I did that, I got nothing. It turns out that Windows needs driver updates to be able to recognize the USB device.

GUIDE: First Time with your new Tizen SDP - Drivers and certificate talks a bit about this and provides a link to SAMSUNG_USB_Driver_for_Mobile_Phones.zip I downloaded the zip file, ran the executable in it and the next time I connected my watch to my laptop, it showed up in the connection explorer.

Shell Access At Last!

With the watch connected, I could browse the files on my watch using Eclipse. I could also go into shell mode, using the command ‘sdb shell’ in the \tizen-wearable-sdk\tools directory. Looking at other sdb commands, there is ‘sdb root’ command. However, trying to enable root gives a Permission denied.

There is an article, [Hack] The Tizen Samsung Gear 2 and Gear 2 Neo get Root access I haven’t tried that yet since I haven’t gotten a need for root access yet.

And the development

I’ve been having problems with my machine crashing a bit recently, since I’ve started trying to develop for Gears 2. I’m not sure if the problem is with the IDE, the emulator, or completely unrelated, but it has been slowing down my testing. I did manage to side load a package on my watch using the commands in How to Install (sideload) .wgt app files on the Samsung Gear 2 smartwatch using SDB. This is also useful in finding out about certificates, which is an area I haven’t mastered yet. Once an application is slide loaded, removing it can be a challenge. How to uninstall an app in Tizen emulator? gives a good idea how to do it, except that the package id is in the config.xml file.

I’ve also run applications from Eclipse, which I’ll talk about more later.

I apologize for such a long detailed post about getting started with development for Gears 2. Hopefully, this will provide a good starting for others wanting to get going.

Syndicate content