Orestes Carracedo

Scrum Master, PHP Ninja, cat owner

8 posts tagged as video.

21 July 2013

It was 2010 when we got some projects at Focus On Emotions from Ikea. Among the challenging stuff we did for them there was a project for automating the process of the users registering for a credit card. The final product was a digital user stall/kiosk with an interactive touch screen a physical keyboard and mouse. This project needed a couple of tricky features: ID verification and bank authorization.

This was not our first rodeo and we had another public kiosk/stall project for the city hall, Ajuntament de Barcelona which allow citizens to do paperwork. They were challenging because we had to integrate lots of different providers, but we didn't manage any banking data so this was new to us. These projects had been running smoothly for years and we've got some recognition from them.

A couple of weeks after the project's launch we had gotten many reports of users being disoriented when following the process. One of the steps required the users to physically place their ID form on a small flatbed scanner for validation. Even though the physical space was an obvious empty box the users didn't realise that was where they were supposed to place their ID.

The client asked us to modify the kiosk structure, add a LED stripe around the empty box and have it blink when the users got to the ID validation step. We had to give it a little thought before coming up with a solution because we had a tricky problem: hardware access was impossible. The whole application was written in Java, HTML and JavaScript,and it ran as a served web app inside a secured environment using SiteKiosk. This was great for pushing software changes to the multiple kiosks installed for the project as well as for interacting with the bank's backoffice services in a secured environment (server-side). The manufacturer for the ID scanner had provided the dev team with an API that used ActiveX and JavaScript to control their hardware, so we followed that idea: we had to develop our own ActiveX control to activate the LED stripe whenever we needed to.

We bought a simple relay board with an USB interface and started working on it. This relay board was great because it had two different relays that you could control independently. Each relay had a tiny onboard LED indicating its state. You can find it on RobotShop, here.

I got a hold of the controller's specification [mirror] and wrote a simple program to control it over USB by sending the byte-encoded messages for each action (open/close relay 1/2). It consisted of a minimal Windows Forms interface with a few buttons to open/close the USB port and switching on/off the relays. When I was sure I could make it work, I wrote a small function library and compiled it as an ActiveX:
csc /t:library USBLEDControllerLib.cs
To make it available for Internet Explorer, the DLL had to be registered:
regasm /tlb /codebase USBLEDControllerLib.dll
Both regasm and csc are provided by .NET Framework 2. in my case, It was already installed on %WINDIR%\Microsoft.NET\Framework

To invoke the ActiveX control we use the full classname, including namespace.

var controller = new ActiveXObject("FOE.USBLEDControllerLib");
var version = controller.getFirmwareVersion();
console.log('Running FOE USB LED Controller version ' + version);

The simple ActiveX control would trigger a security warning on IE. We suppressed this warning by implementing a few visible COM methods flagged as [Serializable, ComVisible(true)] which come from the IObjectSafety interface. This told IE it could trust our library.

The controller for the board had a limited set of functions so we had to extend them for our project. I added a couple of threaded functions to start/stop blinking the LEDs synchronously, stopping/starting only one of them and have the other synchronize on start, etc... Even though we had very little time and a lot of pressure I think it was a fun project. You can see the PoC in the video below. You click a button on a webpage and a LED lights up. Neat! I love the clicking sound from the relays, so mechanical :D


Categories: programming project videos
Comments: --
10 April 2013
Categories: talks
Comments: --
10 December 2012

This was posted about a month after the launch of Ingress, an Augmented Reality game by Google. In the beginning you could only be invited by someone working on the game, so we had to post ingress stories, artwork, articles, whatever we could to get attention from them and receive an invitation to play. Today is much easier to get invited, you can just go to ingress.com and request an invitation. It's really fun!

Ok, I have to tell you about this. I was looking for information about "Ingress" which is some kind of game a few people are playing but nobody seems to know how to get access to. I was browsing around and found out about something called "Niantic Project". Apparently there's something big going on and only a handful of people and aware of it, the ones playing Ingress.

I found a few cool pictures while googling around and I wanted to save some for later, but I accidentally saved this one as a .html file and that's when things got weird.

Try and do it yourself. Save this image to your local disk, and rename it to from .jpg to .html. When you open it in your browser, it will look almost the same, but you'll notice that your browser's background is now black, and the image has a weird green border around it, something it didn't have before. If you move your mouse over the image, you're going to find a mysterious text that leads to a strange website. I don't know who exactly created that webpage, but there's a ton of info on there.

Why whould somedy hide something inside an image?
What are they hiding from us?
What is "Niantic Project"?


Categories: games videos
Comments: --
06 December 2012

Update july 2013: Jez's talk has been deleted :(

The playlist rom the recent GOTO Aarhus 2012 has been published on YouTube.

Jez Humble's "Implementing Continuous Delivery" where he talks about the organisational problems, mistakes and misconceptions that come up when trying to implement Continuous Delivery has been one of my favourites.

Link: GOTO Aarhus 2012 playlist on YouTube (79 videos, 53 hours)

Comments: --
21 November 2012

Ben Vinegar's talk Seamless iFrames: The Future, Today! was very interesting.

This was a WordPress blog until I switched to Jekyll and started using Disqus for the comments and I must say I love it.

Link: HTML5DevConf 2012 playlist on YouTube (60 videos, 30 hours).
Via: HTML5 Weekly

Comments: --
14 November 2012

Barcelona Smart City Expo World Congress 2012 NFC Bootcamp

The NFC Bootcamp Barcelona 2012 was held as part of the Smart City Expo World Congress 2012 at the Fira Gran Via Convention Center in Barcelona. We had some problems when trying to get our accreditations at the entrance but with a little help from the organisation we managed to finally get inside.

We met Robert Sabella from OTA Training and we chatted for a bit while we waited for others to arrive. Rob started the day by introducing NFC and the work the NFC Bootcamp has being doing for the past year.

Bastien Latge from INSIDE Secure followed up with a more in depth talk about the key players in an NFC Ecosystem and underlined some of the most common problems and situations companies deploying NFC solutions encounter the most. He talked about the NFC parts, specially the Secure Element and the different implementations and security measures implemented in them. He also talked briefly about the hardware which provides NFC capabilities for mobile phones without built-in NFC tech.

The accreditation Just before lunch, we met Stéphane Doutriaux from Poken. He made a brief introduction about Poken with a video. Afterwards we all got our own pokens and did a little tour of the reception area and the schedule wall poster, poking along the way and getting comfortable with the devices.

After lunch, Gloria Lozano from BCN Touch gave her talk, focusing on use cases and their projects from the last past years.

Then Stéphane came back to talk a bit more about the marketing and user experience side of NFC and how he thinks we should put the most of our efforts in providing some value rather than some technology, and use NFC as a means and not as a goal.

At the beginning of day 2, we got a USB NFC reader and different cards with different NFC chips in them and Bastien finished his talk about the players in the NFC environment.

Then we met Fernando Cejas, a mobile developer based in Barcelona, working for Flomio. He's also de organiser of the Google Developers Group Barcelona. His talk was going to be more focused on de technical/developer side of NFC but due to the majority of the assistants being not so technical that part was skipped. Bummer.

Before lunch, we went for a walk around the Smart City Expo and Fernando was captured by an evil robot. After we rescued him, Fernando gave a more technical explanation of the NFC components, the different NDEF well known formats and the read/writing permissions. He also talked about the idea of "cloud tags", flomio, the FloJack to provide NFC for iphone/ipad devices and other solution prototypes they had researched using other tech such as the Raspberry Pi and the GuruPlug

Then Stéphane came back and we participated in a workshop with Poken and their partner tools. We created a campaign and linked a Poken Tag using the NFC Reader/Writer. We also learned a bit more about the technology used in Poken. The Poken tags use the same technology as the regular Pokens. Poken Tag They use a Swatch licensed chip with added NFC capabilities and a full USB stack,powered by a 9 volt battery that lasts about two years. Everything is encased in silicon so its fairly resistant, and of course, it's sticky. Poken Tags have to be activated using an NFC writer and power themselves off when they are stacked or they detect too much inference to not drain the battery.

We all got an NFC Bootcamp completion certificate on behalf of OTA Training and the AENFC and we took some pictures. It was a great experience and I'm sure both speakers and attendees will keep in touch with each other.


Comments: --
06 June 2012

JavaScript development workflow of 2013 by Paul Irish was amazing!

Link: Fluent 2012 playlist on YouTube (58 videos, 5 hours).

Categories: conferences playlists
Comments: --
30 April 2012

I really liked Learning to love JavaScript by Alex Russell at Google IO 2011.

Link: Google I/O 2011: Learning to Love JavaScript on YouTube.

Categories: talks
Comments: --