Date Archives July 2013

Startup Weekend: No Problems

So it seems that my problems weren’t my own. I moved the server to San Francisco and all is well, I left the NYC server running also and it appears to have righted itself. To think that I would have been done in a single weekend if I’d used on of my existing server. My confidence at identifying networking issues had obviously atrophied because I was certain I had done something stupid.

Now all I need to do is fix up the recommend page and I’m done… behind schedule, but done.

Startup Weekend: Problems – Part 2

So, I’ve let my server run for the day with the previously mentioned problem still unresolved: My server randomly disappears off the face of the internet for large chunks of time and sometimes magically reappears. No ping, no SSH, no HTTP, nothing. I haven’t managed to run a trace route or try to access the out-of-band console during one of the outages.

What have I done so far? 

  1. Booted to a different VPS and restored my image (same location so it could technically be on the same machine and same software!)
  2. Checked /var/log/syslog – nothing
  3. Checked /var/log/dmesg – nothing
  4. Checked /var/log/messages – nothing
  5. Checked the logs for varnish, nginx, uwsgi, postgres and everything else I can think of – nothing
  6. Installed nlog, it logged everything in 30 second intervals through several of the disappearances and recorded nothing out of the ordinary
  7. I’ve disabled everything that I installed over the base installation of Ubuntu 12.04 LTS except nlog and nginx with the default site running

Now what?

I play the waiting game. I’ll leave monitor.us and nlog run overnight and see if there have been any outages in the morning, if there hasn’t been, it could possibly mean that one of the other software components is the cause. If there was still an outage I’m going to spin up a new server instance and install nginx from scratch and see how that compares. 

If all else fails I’ll file a support ticket, which is what I should have done last week.

Startup Weekend: Problems

Obviously I had planned Startup Weekend to be one single actual weekend, but as you may have noticed, last weekend didn’t exactly result in a full product launch. Why? Take a look at this graph:

That’s the previous 24 hours of monitoring by http://monitor.us/. As you can see there’s quite a bit of downtime and sometimes the response times are nearly 4 seconds, up from a low of 40ms. During those times I can’t even SSH into the server. There are no log entries that indicate what is happening and some googling makes is seem like a problem with either the network card or the network. I’ve install sysstat to monitor everything and I’ve moved the app over to a new instance incase it was a hardware issue. 

If that doesn’t work, well, I’ve probably done something very stupid.

Half-Baked: Social Address Book

I still have a Facebook account. I don’t use it that often but I keep it around because it’s my only way of contacting certain people. They’re obviously not close friend but at the least they’re people that I don’t want to lose touch with.

I want a ‘Social’ Address Book. An address book which has the following features:

  • Everyone creates a Social Address Book account and adds their contact information.
  • I can add other people to my address book.
  • They can approve me and choose which information I get to see.
  • I can choose which information they get to see.

That’s it. No mechanism for communications, no trying to own your data, no trying to own your channel of communications. Just contact information.

Startup Weekend: Nearly There

After a weekend of sprinting I’ve nearly finished my product. I’m still working on the back end but I have a basic non-functional landing page setup and most importantly a name and a business plan.

You can check out the web app at BlankTracksApp.com

The .com for blanktracks was taken and I was going to get a fancy domain like .co or .io but that would have put me over budget. Domain names don’t seem to matter that much anymore these days anyway, just append ‘hq’, ‘app’, or prepend ‘get’ or ‘use’.

I’m probably going to add some affiliate/referral links to buy music from listed artists along with a flattr tip jar depending on what’s compatible with the various music metadata apis.

I’m thinking of using the Spotify metadata api to check that artists actually exist in the system before the user can add a recommendation.

I have a 512mb Digital Ocean droplet set up running Python with Flask, uWSGI and Nginx. So far so good. I had some teething problems working with uWSGI, the version in the Ubuntu repositories is fairly old but I didn’t realise that until I’d been bitten by it so I had to install it from pip. This was my first time using the above stack and it took me longer to get uWSGI and Nginx talking than I’d like to admit but overall things went fairly smoothly.

I was having intermittent SSH problems with my droplet but I’ve yet to diagnose the issue.

Startup Weekend: The User Interface

So after a few hours of creating user interfaces and scrapping them I’ve come up with what I think will be the first page for the site. I focused on eliminating any friction that a user may have to using the site. There’s no sign-up and no instructions, just an in-place form which allows the user to enter their recommendation and submit it. Take a look.

The name of the project is still under wraps until I’m sure that I’ve secured the domain name.

I’m still working on a few minor UI problems:

  • How do I allow the user to freely enter data but keep the data clean (Bruce Springsteen vs bruce SPRINGSTEEN)
  • What do I do when a user asks for recommendations and there are none? Apologise and ask them to enter one?
  • Do multiple similar recommendations have an aggregate effect? Do they move to the top of the list? How do I show that?

The backend should be fairly straight forward as long as I’m happy with the interactions I’ve defined on the front end.

Startup Weekend: The Idea

So now that I’ve committed to doing this I need to come up with an idea that can be easily implemented. I’ve been disappointed with music discovery services or features so I’m going to build my own based on the premise that all of these recommendations are made by real people, not algorithms, not ‘people who bought this also bought that’. I’m not going to focus much on market research and I’m not going to search to see if my idea is already implemented, I’m just going to go for it.

My Startup Weekend Idea: Handcrafted Music Recommendations

Recommend your favourite music, receive recommendations based on your favourite music.

How could I monetize this idea? Adwords, Amazon Affilate and iTunes downloads all seem like viable options with enough traffic.

Now, to get to work.

Startup Weekend: My $15 ‘Startup’ Weekend

It’s a fabulously sunny weekend, I have the house to myself, what do I do? Challenge myself to launch a ‘startup’ in 48 hours. The $15 budget? A domain name and a $5 Digital Ocean Cloud Server. No more, no less. 

The definition of a startup is varied but for this weekend I’m going to define it as a website or service that could generate some income and could possibly get acquired. I’m not going to place any qualifiers on the amount of money it could generate, $6 a month to cover the hosting and domain and I’ll be happy.

Being that I only have 48 hours there’s going to be some obvious constraints on design, business plan, programming and everything else as I’m a one man band. If the idea gets traction then I can come back and add refinement.

To get up and running quickly I’m going to use Pyton with Flask and either MongoDB or PostgreSQL depending on my database needs.

Now all I need is an idea and I’m set.

The Second Screen Experience: The Current Situation

The Second Screen Experience is basically what the viewer is doing on their second screen while watching TV, be it a laptop, smartphone or tablet. According to NPD Group’s research, “87 percent of U.S. entertainment consumers reported to be using at least one second-screen device while watching television”, yet “consumers are not widely using applications designed by broadcasters on their laptops, smartphones, and other second-screen devices.”

I’m not sure if technology is assisting in creating a more immersive TV experience or it is being used to make up for a lacklustre single screen experience. In this series of posts I’m going to explore what I’ve seen so far from TV companies and in a future post I’ll detail what I’d like to see as a consumer.

Current State

As I’m based in Western Europe I’m sure that the 2SEs (Second Screen Experiences, couldn’t be typing that out each time!) that I’ve been exposed to are possibly quite different to those in other parts of the world, mainly the US, so take my views with a pinch of salt. But still, things have come a long way since the 90s, sending text messages to my friends while watching the X-Files on a Sunday night. The advent of social networks (or newsgroups depending on how you look at it, alt.tv.simpsons is still going 23 years on) allows people to do basically the same thing but with one or more participant and no requirement for anyone else to be on the other end of the message.

Live Sports

Based on my brief unscientific analysis of the Weekly Top 100 US TV Programs it seems like there are four broad categories of 2SE. The most popular category is Live Sports, which basically encompasses all live sports, as I write this the NBA and NHL finals are on top.

Several of these 2SEs simply make an attempt to aggregate the comments from their viewers into one place, if this is based on a live event there may be limited opportunity to interact with the hosts or contestants. Some shows try to make the experience more all-encompassing. After fully embracing Twitter last year the WWE invested in and formed a strategic partnership with Tout which allows fans and performers to shoot 15 second videos which are featured on live broadcasts of Monday Night RAW. The WWE Active App provides backstage content, match continuation, polls, trivia, performer biographies and extra content during the commercial break. The WWE offering seems to be the most comprehensive of live offerings, not being a ‘seasonal sport’.

Entertainment

The second most popular category Entertainment is based around talent shows, The Voice being in the lead, but I’d include live game shows such as the Million Pound Drop (UK). Gameshows like the Million Pound Drop offering the viewer the chance to play along at home online with their statistics and achievements often broadcast on air, a similar setup was used during runs of “Who Wants to be a Millionaire?” in the UK.

Scripted and Reality Entertainment

The third category appears to be Scripted and Reality Entertainment which covers anything that comes in series or movie format and doesn’t fit into the other categories, this includes Mexican telenovelas which appear to have a huge portion of the market and The Simpsons, Criminal Minds, etc. The AMC provides StorySync (which I’ll cover in my next post) for their major franchises, but other than that there appears to be very little tailor-made 2SEs for this category of program, apart from the quintessential IMDB. I’ll come back to this category in my next post.

News and Current Affairs

The final category which I can identify is News and Current Affairs which includes the NBC nightly news and any of the 24 hour news networks. There doesn’t appear to be any apps specifically aimed at the 2SE from a News Channel or Show point of view, they are aimed at News in general, which is probably the best way to go about it. The 2SE for breaking news is probably twitter or reddit.

General Solutions

I feel that all categories are served fairly well by existing solutions with the exception of Scripted and Reality Entertainment which I think needs to be stepped up, more about that in my next post. Zeebox is a general solution for the 2SE. It offers a guide, casting, synopsis, show specific forums, twitter feeds, related facts and trivia and of course all kinds of friendly social interaction. It works for every program that is on the TV Guide. Zeebox can be hit and miss, popular live events such as Wimbledon generate enough content to be interesting but there’s still little to no activity on most of the shows. It appears that most major US TV networks have invested in Zeebox.

Thoughts

I think a good 2SE needs to tap into conversations that are already happening outside of a 2SE only ecosystem and needs to prompt people to take part, to voice an opinion, to vote in a poll or to at least state an agreement with another opinion. It needs to be low friction, allowing some interaction without registration. It needs to accommodate 2SE lurkers or ‘viewers’ who won’t engage.

There is a land grab at the moment to see who can take the lions share of the 2SE market, valuable for its advertising dollars and commercial break integration. One thing is obvious to me, content producers need to be 100% onboard in order to create an engaging second screen experience. Investing in Zeebox looks to me like a weak attempt to have their problems solved by a 3rd party and their viewers. It may work for some of the categories above, but unless the networks and content producers provide more content for Scripted and Reality Entertainment which isn’t dependant on ‘live’ interaction, they’re not going to get a significant traction.

Of course I can’t back any of this up with anything other than a gut feeling and knowing what I like. Stay tuned.

Jawbone UP: First Impressions

The Jawbone UP is a wristband and app combination that tracks your movement, sleep and calorific intake. I recently purchased one from Amazon and have been wearing it for the last two days. These are my initial impressions, hopefully they will be useful to others considering the UP as there were some questions that I couldn’t find the answer to before buying. I will follow up in a few weeks once I’ve build up a track record of usage. 

The Wristband

The wristband itself is a hard rubber with a more plastic texture, it’s reasonably flexible, something which the images I had seen before purchase didn’t convey. If you’re worried about the band fitting, there’s some flexibility in it. My wrist was slightly larger than the large model but it still fits. The wristband has a matte finish and a zigzag pattern on the outside which catches the light nicely. The widest, chunkiest part of the wristband is where the batteries, vibrating motors and sensors reside, the ends of the band are where you will find the sync connector, indicator lights and a single button.

The end that contains the sync connector, which is basically the same 3.5mm headphone connector that you will find on your iPhone headphones, is covered by a snap on cap which must be removed for syncing and charging. Syncing is achieved by plugging the headphone connector into the headphone socket on your iPhone while the UP app is running.

The other end of the bracelet is capped with a button. There are two indicator lights on the edge of the wristband which are used to give you feedback about the mode that the device is in. A short press of the button will flash either a green ‘sun’ or a blue ‘moon’ to let you know if you are in daytime mode or nighttime mode. To change modes a long press of the button is required, the wristband will vibrate and the new mode light will show briefly. You need to manually change modes, change to night mode when you get into bed, change to day mode when you get out of bed.

There is also stopwatch functionality included, a short press followed by a long press of the button will start the internal stopwatch. A long press will cancel the stopwatch. There is no feedback given on the wristband itself about the timing of the activity, when you sync with the app, the timed event will be noted and you can add more information about it. There is no time display or any other feedback on the UP other than the mode light and the vibrating motor.

The wristband can also be used as an alarm clock which will gently vibrate you awake when your sleep is at its lightest phase within a specified time range of your desired alarm time. The alarm clock is set via the iPhone app. There is also an idle monitor which will cause the UP to vibrate if you have been inactive for a certain configurable period of time.

The Power Nap feature is a short alarm which wakes you up after an optimal ‘Power Nap’. This is turned on by pressing the button twice and then pressing and holding until the moon flashes.

The UP is charged via USB, it comes with a small three inch cable/adapter which you plug the UP into and then plug that into a USB port. The UP charges in less than 2 hours. The documentation says that there is no need to remove the UP from your wrist other than to charge it, but it’s important to remember that it’s not waterproof and I’m not sure if shower proof means rain shower or bathroom shower.

The App

You can download the UP app from the iPhone App Store and recently an Android version has been released which you can get from the Play Store. The overall instructions received with the band are fairly minimal but they basically amount to download the App and plug the wristband into your phone. I’m using the iPhone app so this review does not reflect the Android version, if I can sync to more than one device I’ll set it up with my Nexus 7 and see how that goes.

When you run the App and connect your UP it will ask you for your Name and to give your UP a name. You will then be asked to create an account. Your vital statistics are recorded and used in calculations for calories burned etc. The UP App appears to be very comprehensive. 

I won’t cover too many of the App’s features as they are a little more complicated than the UP hardware is. I’ll give a general overview here and I’ll come back to it if needs be in a future update.

Syncing with the App is simple; Open the App, remove the cap from the UP and insert it into the headphone jack on the phone. The App will detect that the UP has been connected and initiate a sync. The sync will tell you how many steps you have added, how much sleep you got, and it will give you the option to categorise any timed activities such as a walk or a run.

One of my main reasons for purchasing the UP was to monitor how much sleep I was getting, I’ve only used it one night so far, but it seems to be reasonably accurate overall. You set a goal for how many hours sleep that you want to get each night. I set it to the default 8 hours, last night I achieved only 82% of my goal with just 6 hours and 34 minutes of sleep. The App breaks that down for me even further. I fell asleep at 01:15, I woke up at 07:44, I had 2 hours and 21 minutes of ‘Light sleep’, 4 hours and 13 minutes of ‘Deep sleep’, It took me 37 minutes to fall asleep, I was awake in bed for a total of 42 minutes and I woke up 1 time during the night. Take a look at the image below to see how it is presented, along with a nice graph.

I can’t really take issue with any of those statistics due to not having any other way of measuring these but I definitely remember waking up several times during the night, however briefly, but the UP only registered one. I’m hoping to have a sleep study done soon, I’ll see if they’ll allow me to wear the UP and compare the results. They probably hate patients like me!

Your Daily activity is presented in a similar manner, you set a daily goal for the number of steps you wish to take. It recommends 10,000 steps but the average is around 6,000 so I chose 8,000 to not be too ambitious. I walked the equivalent of 4.48 miles, took 8,900 steps, and burned a load of calories! It’s important to calibrate your band by starting the stopwatch and walking a route for which you know the distance. This will help you get more accurate readings, my band was out by about 20% in its estimates before I calibrated it.

You can see how the information overview is presented in the picture below. You can also add other workouts to your day as well as keep track of your mood.

There are several features of the UP App that only become active after you’ve built up some data, Trends, Lifeline, etc. I’ll come back to these at a later date. The other main part of the App is logging your food and drink. It gives you a similar breakdown to other areas, but I’m not sure if I’ll use this part yet, there is the possibility that I can integrate it with MyFitnessPal which would be nice to stick with.

Smart Sleep Alarms are a handy feature which wake you up when you’re in a lighter state of sleep, within 30 minutes of the time you set. You are awoken by the gentle vibration of the UP. I have to say that it was a very nice way to wake up, when my alarm goes off I usually feel as though I’m being stabbed in the brain by demons, but not so with the UP. Again, I have no way to know if I was actually at my lightest sleep phase when I was woken up but it was very easy to get out of bed.

Idle alert can be configured to give you a buzz when you’ve been inactive for a configurable period of time, from 15 minutes to 2 hours. Just a reminder to get up and move about.

Next UP

Overall I’m very happy with both the UP wristband and the App, they are both solidly constructed and beautifully designed. I’ll keep using it and I’ll write up a more in-depth review in a few weeks.