Studio711.com – Ben Martens

Geek

Facebook SDK Changes

I have a little custom C# app on my Windows phone that posts photos to Facebook and my blog at the same time. Today it seemingly randomly stopped working. The login code ended in a page that said “SECURITY WARNING: Please treat the URL above as you would your password and do not share it with anyone.” The app stopped there because it couldn’t find an OAuthToken on the response. This was one of the few times that a search failed me so I thought I’d give back and hopefully help someone else stuck in the same spot. Here’s the fix I ended up with:

  1. Update to version 6.4.0.0 of the Facebook SDK (released today)
  2. Update login code to something like this:

private void LoginToFacebook()
{
    var parameters = new Dictionary<string, object>();
    parameters["client_id"] = _appId;
    parameters["redirect_uri"] = "https://www.facebook.com/connect/login_success.html";
    parameters["response_type"] = "token";
    parameters["display"] = "touch";
    parameters["scope"] = "publish_stream";

    var navigateUrl = _fbClient.GetLoginUrl(parameters);

    FacebookLoginBrowser.Navigate(navigateUrl);
}

private void FacebookLoginBrowser_Navigated(object sender, System.Windows.Navigation.NavigationEventArgs e)
{
    FacebookOAuthResult oauthResult;
    if (!_fbClient.TryParseOAuthCallbackUrl(e.Uri, out oauthResult))
    {
        return;
    }

    if (oauthResult.IsSuccess)
    {
        App.OAuthAccessToken = oauthResult.AccessToken;
        _fbClient = new FacebookClient(oauthResult.AccessToken);
        _loggedIn = true;
        loginSucceeded();
    }
}

GrillBuddy for Windows Phone

The combination of Tyla being pregnant and me being a geek means that when I’m grilling, I like to make sure I’m grilling meat to the appropriate temperatures. It should be safe but not charred beyond belief. There is a book in our kitchen that has a bunch of temperatures for various meats and another book that says how long it generally takes to cook each food. I’ve now combined all that information into an app for Windows Phone called GrillBuddy. It’s not very fancy or complicated, but that’s the beauty of it. Pick your meat, choose the size of the meat and you’re presented with information about safe temperatures, average cook time, and if any rest time is recommended. Bring on the summer grilling weather!

Facebook Privacy

Even though Facebook has a billion users, there are still new people joining and at least one of the people who joined recently is reading this blog post. So I thought it would be good to do a blog post about my thoughts on privacy and Facebook.

First of all, there are a ton of knobs for controlling your data in Facebook. Allow certain friends to see certain info, keep some things private from everyone, or approve any photo your tagged in. The list goes on and on and the list changes fairly silently in the background. Putting secret stuff on Facebook and trying to control it with their settings is a recipe for disaster. That’s how you get the crazy stories about somebody posting something about their boss and then getting fired because it leaked out.

Here’s an easy way to make sure nothing that you consider private ever leaks out: don’t put anything that you consider private into Facebook.

This starts from the minute you sign up and you are presented with a bunch of data fields. What’s your favorite book? Who are your relatives? What’s your birthday? What’s your hometown? Stop and ask yourself why you’re putting any of this data in there. I fill in some fields like my religious views and some favorite things I enjoy, but in general, if you wouldn’t stand on a stump in a park and yell it out, don’t type it in to those fields.

This guideline should continue to apply every day you’re on Facebook. If you wouldn’t show that picture to your boss, a hacker, or your family, don’t put it on Facebook (or anywhere on the Internet for that matter.)

So what is the bar for things that are ok to make public? That’s one that’s different for everyone. I live a fairly public life. I’ve been blogging daily for over 10 years so the thought of posting some photos on Facebook doesn’t bother me. But there are still things that I won’t put on the Internet like photos or text showing that I’m on vacation and won’t be in my home for x days. However, that’s something that lots of other people do and don’t feel weird about. I also don’t “like” very many things because it’s just more data that can be used to profile me. You need to figure out your own line. The nice thing about Facebook is that you can join, enter very little personal data and then kibitz. Nobody says you have to post anything, but if you’re friends with people, you can still see what they are up to.

It’s a great tool, but it can cause you a lot of trouble if you start relying on anything in the privacy settings to keep certain info from certain people. As soon as you put anything in digital form anywhere on a computer, you are opening yourself up to the potential that the world will know about it.

Remote Control For Church

Somehow I’ve turned into the A/V geek at church. We have a modest setup cobbled together from various donations throughout the years. The problem was that our equipment is up in the balcony so I had to go up there at various points in the service to adjust speaker levels and start/stop the DVD recording. That technically worked fine but was annoying to those who sat around me as I would be coming and going from my seat throughout the service. Here’s the plan that I laid out and recently completed:

1) The first step was to rip out all of the connections and start over. The existing setup was a mishmash of tiny improvements from a half dozen people. Our mixer is a Mackie 1202-VLZ so I dug up the manual and read it cover to cover. The device was capable of a lot more than we were using it for. I rewired everything (removing two unneeded components in the process) and let it sit for a few services to make sure everything was working. That was a huge improvement in itself because now I can sit up there with headphones to individually check any microphone without affecting the output and see the output meter display lights bounce so I know that the proper levels are going to our DVD recorder.

2) The amp we were using was very old and had no remote control. I swapped this out for a newer (but still used) amp that was previously powering the theater room at our house. In addition to having a remote, it also has a display that shows the current volume level. Now I’ve figured out that “42” is the magic number for the volume with an average congregation size.

3) With those pieces in place, I purchased an RF (radio frequency) remote. Normal remotes are IR (infrared) and need to be pointed directly at the receiver. RF radiates in all directions from the remote and even goes through walls. The signals are captured by an RF receiver and translated into IR that the various A/V components can understand. I programmed the remote for five basic functions: volume up, volume down, mute, DVD record, and DVD stop. I can’t adjust individual levels on the various mics, but I can make sure that if there’s a particular noisy child, I can crank up the speakers a little more to compensate. If we’re ever doing a nicer recording like when the choir sings we’ll still need someone up in the balcony to check the levels, but for most services, the remote will work fine.

I tried the whole thing out for the first time last week. Tim kept laughing at me because every time I looked over I had a goofy grin on my face. I couldn’t get over the fact after months of off-and-on work, I was now sitting in a church pew with a remote control! I’ll give this a few weeks to make sure I’m happy with the setup and then I’ll start training the ushers how to do it so I can completely remove myself from the equation.

Amazon Instant Video

Tyla and I dropped Netflix streaming when they split the subscription from the discs. We’re among the minority that prefers discs though that won’t be the case forever. In the mean time, I’ve been enjoying the selection of streaming videos available for free on Amazon to anyone with a Prime membership. If you’re a Prime member, make sure you check this out! The quality is great, there’s an app on the Xbox360, and the selection is not too shabby. I’ve been using it to watch Top Gear (the UK version) and a couple other TV series.

I’ve kind of expected to pick Netflix back up when our son starts watching some shows, but Amazon is really making a strong push into kid shows too. Engadget ran a story recently about some exclusive children’s programming.

Discs will be around “forever” but it’s not hard to predict that this streaming thing is going to be the way we receive a lot of our content in the future. The big blockbuster shows and movies aren’t there in enough quantity yet to turn the tide, but we’re getting there.

Windows 8 Start Screen

Some of the buzz around Windows 8 is that Microsoft should let people go straight into the desktop mode without first landing on the new Windows 8 start screen. I can understand the desire to never ever change anything (while complaining that they’re not “innovating”), but this one is a bit silly. What’s the first thing you did in Windows 95 through Windows 7 when you started your computer? You either clicked one of your shortcut icons to start an app or you pressed the start button to find an app that way. It’s EXACTLY THE SAME with Windows 8. You can either click one of the shortcut icons (tiles) that are on your start screen, or you can find an app by typing and searching for it. If anything, you now have fewer clicks and you also get the added benefit of seeing a screen full of information that you’ve tailored to your interests.

Now there’s also a complaint that Windows 8 doesn’t have a start button. That one I can sympathize with a little more. It bugged me for about a week and then I forgot about it since I always use the keyboard to press the start button anyway. If you want to use the mouse, you just drag down to the lower left of the screen and click like you did before and it brings up the start menu. And here’s a pro tip for you remote desktop users: Alt-Home presses the start button in a remote desktop window.

So yes, there are some changes. People screamed about Program Manager disappearing in Windows 95 but then they fell in love with the Start button. Now things are moving forward again. Like most other things in life, you should try it with an open mind for a couple weeks before you decide if it’s good or bad.

Microsoft “Data Explorer” Preview

Aside from a brief online service offered a while back and some betas for previous semi-related projects, most of the work I’ve been doing on the job has been held close to the vest. We’ve been cranking away at a new iteration of our product and it’s now public!

So what is this Microsoft “Data Explorer” Preview for Excel? If you’re a journalist who stumbled on my site and/or you’re looking for the official answer, please visit the Data Explorer blog. But here’s my quick, unofficial summary: it’s targeted at those of you who pull in data from a variety of sources, combine the datasets together, clean it up, reshape it, and push it into Excel. Here’s a quick video that explains a little more:

One key thing that the video doesn’t cover directly is that this can be a great way to work with large data sets. Even if your dataset is millions and millions of rows, we can show you a preview very quickly. That preview gives you enough information to filter it down to just the rows you need, hide some columns that might not be important, and THEN load it into Excel. Depending on how much you’ve filtered out, it could take just a few minutes for your data to show up in Excel.

We heard from lots of customers who have to pull together data from various data sources every single week to generate a report for their teams. With Data Explorer, as you collect all your various data sets and transform them, you’re actually building a little script in the background. Once it’s on the sheet and you click Refresh, we actually go back out to all those data sources and grab the latest data, run it through your script, and present it to you again. So now that lengthy weekly report is just a single click away.

Sometimes finding the data is half the battle. Data Explorer aims to make that easier with the Online Search button. Search for data and drop it right onto your sheet.

Here are some links to get you going:

It’s worth noting that this is a “Preview.” As the test lead for the UX team, I could quickly point to bugs and design issues in our product. We’ve been working hard to improve the quality and stability of Data Explorer, but there’s more work to be done before we officially release it. To make sure we’re focusing our efforts in the right place, we need to hear from you! After you’ve tried the product, head over to the forums and start a conversation or add to an existing one.

This is a very exciting time for our team and we hope this preview sparks ideas about how this can speed up some of the tasks in your life. We haven’t played all of our cards with this preview. There are some very exciting features in the pipeline!

CascadeSkier Architecture

A lot has changed since the last article about the architecture of the CascadeSkier apps. So let’s get geeky and peek behind the scenes.

The ecosystem includes a Windows 7 gadget, Windows Phone app, and a Windows 8 app. With all of these various applications (and more floating around in my head), it made sense to keep the clients as simple as possible. The complicate part is pulling in raw weather data from 11 different mountain sensors, 11 weather forecasts, and various web cams and links for each resort. That all happens on a centralized server. When the clients start up, they pull in a text file that has all the polished data and they display it. It makes it fairly easy to crank out new clients, and there’s a centralized location to make any changes to the data.

A configuration file sits on the server. It has a section for each resort and instructs the data cache how to pull the weather data from the raw mountain sensor feed and how to find the three day forecast from NOAA. It has contains a list of web cams for each resort and a bunch of related links like trail maps.

Every 15 minutes, the data cache refreshes by reading the config file, making about a couple dozen requests to various websites to pull in the data, and parses the data into a format that the clients can easily consume. At roughly the same interval, a tile cache generates live tiles for each resort so that the tiles don’t have to be generated on the phone or in the Windows 8 app. Depending on what parameters you pass in the URL to the live tile cache, you can get the tile with any combination of Farenheit or Celsius and metric or imperial.

Using the two caches also relieves pressure on all the various data sources. I don’t know how they’d feel about thousands of clients pinging their servers multiple times every hour. They probably wouldn’t notice, but this is better overall because the clients only have to make a single call to get the data from the cache and it’s instantly available.

This is the sixth ski season for the Cascade skier family of apps and it’s still going strong. The phone and Windows 8 apps are some of the highest rated and most downloaded apps in their categories. There’s even a line of clothing if you’re a superfan (or if you’re my mom.) In the grand scheme of things, this app is just a blip on the radar, but I’ve had a blast with it and it’s fun to hear from people who use and love the apps!

Movie Theater Technology

The Hobbit is out and is one of the first movies to offer a higher framerate than standard movies. There was a bunch of other relatively new tech in the theater. Here’s my review of each piece:

  • Higher framerate: Almost every movie you’ve ever seen is in 24 frames per second. That means that 24 individual pictures go by every second and your brain sees it as a moving image. Home video cameras generally shoot video in 30 frames per second which is one reason why your home movies look a little different than movies in the theater. But generally, the more frames you have, the smoother and more realistic the video is going to look. Have you ever noticed how images on a screen get blurry when the camera pans quickly? There are a few reasons, but the low framerate is a big reason. With 48 frames per second, I was consistently impressed with how crisp the image was even when the camera was panning or things were moving quickly on the screen. It did look dramatically different and there is already outrage from some people who claim it “doesn’t look like a movie is supposed to look.” If someone had never seen a movie and you showed them 24fps and 48fps, I’m sure they’d pick 48fps. We’re just used to seeing video that has a little stutter to it and blurry fast action scenes. In 10 years, we’ll all be watching 48fps and wondering why we used to like those old movies. This one will take a while to become mainstream because of the additional production and display costs, but I’m giving it a thumbs up.
  • 3D: This was only the second movie I’ve seen in 3D. The first was Avatar. I figured I’d give it another shot with this movie, but I still didn’t like it. When you see a 3D image, your brain assumes it can focus in on any part of the screen. But only part of a 3D movie is in focus and trying to focus on something else will just give you eye strain. Green screen computer graphics effects also look exceedingly fake in a 3D environment to me. I want to see this movie again without 3D as the 3D nature of the movie kept taking me out of the experience. Thumbs down. I won’t write off the technology completely though until I’ve seen sports in 3D. That’s supposed to be the scenario that works very well. But I’m done going to see 3D movies.
  • Dolby Atmos: I thought I had blogged about Atmos before, but I can’t find the post so I’ll give you a quick overview. In a normal movie, the sound engineer and the director mix the sound into 5 or 7 separate channels. The sound is fixed to come out of the front right speaker, the rear left speaker, etc. They will also make a stereo 2-channel mix for people at home who don’t have 5.1 or 7.1 speaker setups. The problem is that you’re trying to make it sound good on someone’s TV speakers and in a huge theater. Dolby Atmos changes the way sound engineers work. Instead of saying what speaker a sound should come from, the sound engineer picks a point in a big virtual sphere around the listener and says that’s where a specific sound comes from. When the sound is played back, the playback system takes that point and figures out which of the installed speakers should play it. That means you can use 1 speaker or 1000 and the exact same soundtrack will work. Obviously, the more speakers you have, the more accurate the location where the sound originates will be. This movie was the first time I’d been in a theater with Dolby Atmos and it was my favorite part of the whole experience. The level of sound immersion was incredible. You really have to hear it to believe it. If I could pick just one of the three technologies I’ve mentioned in this post, Dolby Atmos is the one I’d pay extra to experience. The only downside is that this is at least a few years from coming to the home because you’ll need a new A/V receiver and you’ll need content that is mixed in this format. Neither one exist yet and there’s a chicken/egg problem.

Oh and how was the movie? It was good, but not great and that’s how I felt about the book too. If you like Lord of the Rings, you should see it. As with the Lord of the Rings trilogy, the movie is about 20 minutes too long, but that’s Jackson’s style and he sticks with it. I’ll see the next two as well, but I might see them at home unless I can find a theater that will do 2D 48fps Dolby Atmos.