Posts Tagged ‘ software development’

SixthSense defies conventions (and no, this isn’t about ghosts)

By Jordana | Wednesday, December 23rd, 2009

I’m not sure what’s more intriguing about this video: the content itself, or the fact that my own father is tech-savvy enough to have found this for me!  Either way, it’s exciting.  In this video we meet Indian researcher Pranav Mistry and his mind-blowing demonstration of his latest project to make waves in the tech world – SixthSense.

SixthSense is a “wearable gestural interface that augments the physical world around us with digital information and lets us use natural hand gestures to interact with that information.” Basically, it allows users to ditch computers, walk away from their desks, and have ready, interactive access to all the information they’d normally get from a computer, anywhere.  SixthSense makes iPhones look antiquated and is the kind of innovation that gets my nerdy side all quivery.  When the full potential of SixthSense is realized, you could transform any surface, from a wall, to a tabletop, to even your hands, into a functioning computing device.  A large part of Mistry’s research focus is also on how to make computers more intuitive, something he claims is sorely lacking from current interface design.  SixthSense technology captures normal human gestures and conventions and uses it; for example, a pad of sticky notes becomes a SMS, or an online “to-do” list; and in another example, Mistry easily transfers information from paper documents to his desktop computer simply by “grabbing” it with his fingertips.  By utilizing the latest technology and merging it with an understanding of human interactions, Mistry and his team have managed to build technology that feels natural to use – a feat never achieved before, despite Apple’s best marketing claims of otherwise.   Best part of all, the technology for SixthSense will eventually be released as open source, freeing its knowledge to anyone who wishes to learn it.

Read more: TED India Conference | Pranav Mistry’s official site | The SixthSense project

In marketing it sometimes takes flexibility and a leap of faith to infringe on a brand without getting sued

By Wes | Thursday, December 17th, 2009

Marketing, Olympics, LululemonThere was this one time (at Blog camp) where I wrote a post and a guy in Indiana handed me a cyber-cease and desist order the next day for infringing on his intellectual property. Of course I was flabbergasted as was my employer (a fantastic software development and internet marketing company in Vancouver called Thirdi) and so we thought the best course of action was to cautiously approach this said gentleman with our reaffirming of his brand’s integrity. All ended well in this case as I am one charming guy (it’s my disarming eyes) but for many other people a simple word or phrase, color or graphic can get them in big trouble. Take for example the clash of Vancouver titans Lululemon and VANOC. A recent furor was stirred up by the world famous athletics-yoga clothing company when it launched the new “Cool Sporting Event That Takes Place in British Columbia Between 2009 & 2011 Edition” clothing line in stores across Canada this past Monday. Lululemon did their research and found the legal parameters in which they could launch this tongue in cheek clothing line just months before the main cool sporting event taking place in British Columbia in 2010, the Winter Olympics. VANOC naturally came out firing, with Bill Cooper, director of commercial rights stating  “We see the collection and the marketing activities around the collection as both disappointing and posing significant risk of inflicting harm on the Games” but the Olympic Committee is not pursuing legal action. Most likely because Lululemon did their legal homework and know that no matter how obvious the sardonic wit may be, they still played within the brand rules. It’s a great example of walking the fine line between infringement and association and some may argue that it’s dirty but I think the crowd that’s going to buy these hoodies and shirts will do so because of a kind of reserved protest or cheeky acceptance that now it’s time to support this behemoth event for better or worse. This line isn’t for the rabid Olympic sports fans that collect all things team Canada, this is for those who take the whole thing with a grain of salt I believe. Lululemon has stated openly that it supports team Canada and the Vancouver 2010 Olympics, though one ponders if having lost the opportunity to be an official Team Canada clothing sponsor in two Olympic games by being outbid by the Hudson’s Bay Company has something to do with this whole thing?

Lululemon is lucky, organization like VANOC are like corporate thunderstorms, maybe hurricanes are a better comparison. They start like a tropical depression in the bidding process and then once they have enough fuel they start whipping up support,capital, legal and political power in a frenzy until the games reach their peak; then dissipate from a staff of 30,000 to 0 shortly afterward. Lululemon is fortunate they flirted with the hurricane and got away with it. Just like me and the Sultan (I’m scared to say the whole name for fear of another cease and desist).

Hundreds of flights delayed today in the US as software gliches cause problems again

By Wes | Thursday, November 19th, 2009

computerized-autopilot-malfunctionThousands of air travelers were stranded today, waiting for computerized air traffic control systems to come back online after malfunctions hit some of America’s busiest airports. Vancouver YVR airport has not been listed as affected yet but it is expected that the problems caused by hundreds of flight cancellations and delays will reverberate throughout the airline industry.  A software glitch is the likely suspect at this point, the second time in 15 months that a glitch has caused widespread problems. The last time the source of the computer software malfunction was a “packet switch” that “failed due to a database mismatch” according to the FAA. The air traffic gliches today had been fixed as of 10 am eastern time but passengers are still encouraged to check their flight status before coming to the airport.

Software problems have increasingly affected flights themselves too and some believe that the complex machines pilots are flying have become largely unfamiliar to them; the most common comment heard in the cockpit being “What’s it doing now?”. A recent article in the Times UK looks closely at the crash of Air France flight 447 and examines how the increasingly complex human-machine interface can suffer from disconnects between the extremely advanced computer systems and pilots themselves, many who have been at the controls for 20 years or more as the technology has rapidly changed around them.

The most common cause of plane crashes before computerized systems with protective redundancies was human error.  Now some worry that the increasing divide between computerized autopilot systems and the knowledge of their software and hardware that pilots posses should be of concern. And if human-machine interface issues aren’t enough now we have to worry about cosmic rays too apparently.  A recent Quantas flight that plunged twice just off the coast of Australia  may have been affected by cosmic rays (in particular neutrons in the rays) that interfered with the avionics boxes that feed information to the flight computers. A hundred people were injured in that accident but the plane landed safely and the problems it experienced were not associated with the same gliches related to the Air France tragedy, namely faulty air speed sensors.

I’m of the firm belief that as jet airliners become more and more complex that pilots need to be trained and retrained to catch up to the pace of software development and hardware upgrades that create disconnects between human and machine. All that being said, air flight is still considered the safest mode of transportation and several sites give extensive overviews of all safety advancements in aviation, debunking popular myths and reassuring the nervous flyer.

After all the money that has gone into hardware and software upgrades that bewilder pilots you’d think they’d have the budget to do something about that airline food.

Google wave. Cowabunga dude.

By Wes | Thursday, July 9th, 2009

google-wave-open-source-softwareIf you haven’t heard by now Google released a developer preview of their social networking tool and open source web playground Google Wave.  Currently there are scores of developers collaborating on new apps and features before the official launch of the product. It’s a very user friendly HTML 5 app that’s been designed with convenience and efficiency in mind, and the demonstration that was given earlier this year in San Francisco was very well received.

The collaborative design potential of this product as well as well as the management potential of Google Chrome and other oncomming cloud-based systems in my opinion truly reaffirm googles innovative and dominant role online today, and as the other towering giant beside Microsoft. I’ve always liked the way Google approaches their product development. Some may say it’s reckless and wastes a lot of time and money but Google likes to come up with all kinds of platforms or apps and then brainstorm uses for the technology afterwards or simply let them loose to sink or swim, sometimes pulling the plug halfway through the software development phase because they realize it’s just not economically feasible. Google is also famous for encouraging their engineers to work on pet projects outside of work. And with the new focus on open source products, nimble cost effective cloud-based management IT and high powered browsers like Chrome it looks like google is positioning itself to lead at least big business out of this recession, or to becoming a game changer once our global economy starts revving up once again. A simple money making approach; What will save companies time and money, the two most valuable things they have when trying to benefit from their human capital? Google appears to have this in mind when dropping several developments in favor of Wave, Chrome and their other Enterprise-class analytics tools. So is this a repositioning, right sizing, or just being quick on their feet? Some would even argue that it’s just getting back to basics and what you do best in these turbulent economic times.

Non-Functional Constraints

By isim | Friday, February 22nd, 2008

As a software developer, I always find it challenging to account for non-functional requirements while developing software. All software clients and project managers will tell us they want their software to be efficient, effective, fast, secure, scalable, maintainable (not restricted to codes), usable, and resilient. A lot of times (though not always), these constraints are vague, unquantifiable, and contradictory (for example, the most effective way of doing things may not necessarily be the fastest).

It is not uncommon for software developers (myself included), who have been programmed to think and work with logical, tangible, and quantifiable entities, to sweep these constraints under the rug until, one day they come back to haunt us. Yet I religiously believe these constraints, to some extent, can be implemented in the software. A lot of them can be accounted for during the design phase of development.

For example, we are 2 weeks into the Gamboozle Fantasy Sports project, and here are 3 non-functional constraints that stood out during the design phase.

1.      Potential Performance Deterioration As A result Of Data Growth. The way we decided to deal with this constraint was to implement an archive module, which is scheduled to migrate old data from some of the “bigger” tables to new tables. Ideally, a simple SQL INSERT.. SELECT statement will do the job. Since this archived data will still be accessed, we need a mechanism to identify which tables (current vs. archive, and if archive, which archive) the end-users are trying to access. A naming convention for these archive tables is needed too.

2.      Efficient Computation. As part of the business requirement, a number of aggregate values have to be displayed regularly to the end-users. Instead of computing these values on-the-fly, we decided to devise a calculate-once-display-often mechanism to help lighten the frequency of number crunching.

3.      Code Maintainability. Since this project involves PHP and JAVA components sharing the same database, there will definitely be some redundant code in the object-relation mapping (ORM) layer. We have decided to use Propel and Torque as the PHP and JAVA ORM layers respectively. Since Propel is ported from Torque, their XML database schema files are very similar. So we will be able to generate 1 common XML database schema file for both components. In this way, any modification to the database schema, for example, adding new columns, dropping existing columns, type change etc., can be easily propagated to both the PHP and JAVA ORM classes.