As a Unix geek-turned-iOS developer, Damian Esteban can trace his fascination with technology all the way back to the IBM PC Jr. As Damian watched his father set up the family’s first home computer, he was entranced by the way the whole machine seemed to come to life– and now Damian develops apps to bring life to new, innovative ideas.
There’s a good chance that, even if you don’t work in a tech-oriented industry, you’ve heard of the Internet of Things.
Even if you haven’t, you’ve certainly felt its impact. The rise of integrated devices, from smart thermostats such as Nest to a wide assortment of voice-enabled home assistants, has become widely embraced by a variety of companies. In addition to domestic applications, the usefulness of IoT tech has been examined in a variety of contexts and industries.
In this regard, it’s hard to write anything about IoT when its uses are so diverse. A smart electricity system is far different than, say, sensors that help optimize traffic. However, the one thing that all of these have in common is their use of data to improve some facet of life. The difficulty with IoT devices is, in fact, figuring out a way to standardize their security and implementation.
This is a next to impossible task, considering how the technology has exploded. With companies, often startups, rushing to capitalize on the IoT craze, many fail due to the technical requirements necessary to create a truly effective device. The lack of integration is problematic, especially when the foundation can even vary across devices. This generates more cost to the consumer in addition to contributing to the lack of security that concerns many critics of IoT.
Conversely, there are some that believe that the lack of security among IoT devices is a pain point, but not in the way many think. While it’s true that many connected devices lack security measures, security experts such as Charlie Miller and Chris Valasek argue that critics of IoT’s insecurity are too focused on the smaller devices that would not be disastrous if hacked. They cited internet-enabled light bulbs as an example of a device that would be pointless to secure, as the time and money spent doing so would have too little of an impact.
However, they admitted that systems such as automated cars would need failsafes and security if they were to become mainstream. Hacking a car would certainly present a much more dangerous scenario than hacking a light bulb.
The trouble then becomes prioritizing which devices to properly secure. However, one poorly-secured device in a network can undermine the others. Some companies, such as Cisco, have tried to actively prevent such a scenario by creating a foundation on which all IoT devices can be integrated. They hope that their efforts now will ensure that future projects are successful and efficient.
In many ways, IoT is emblematic of many other technologies. This surge of early adopters has given companies the funding and support necessary to continue to refine their products, and it’s likely that demand will only rise in the coming years. Where this technology differs is in the fail cases; if a company releases an expensive and/or poorly secured device, consumers will move on to one that has taken the effort to prepare for the next generation of IoT.
The Internet of Things has created a mounting pile of failures, oftentimes from companies unprepared to effectively harness the technology. However, this is not necessarily a bad thing, as these early examples of “what not to do” are useful for other companies to build on, and eventually reach the level of integration that many are envisioning.
In September, Apple released Swift 4.0, the latest iteration of its Swift programming language promising improved robustness and stability. While 4 is not as revolutionary as previous versions, lacking the massive selection of new features that came with Swift 2 or any major changes to the syntax, there’s still a lot to love here.
Swift Package Manager
One of the largest upgrades in 4 is improvements to the Swift Package Manager. This tool is a way for developers to easily share and distribute code, automating functions such as downloading and code compilation. 4 improves the Package Manager’s API, giving developers the ability to establish new settings and better organize sources. It has also made it easier for multiple packages to be developed simultaneously.
Another significant change made in Swift 4 is the codable protocol, which allows for values to be automatically written to and from JSON without any of the extensive code previously required. Instead, any required code is automatically generated by the protocol. Additionally, developers are given the ability to only encode or decode as needed.
The protocol is customizable, and if you’re already using NSCoding, there’s no need to completely convert your code; it can be paired with the codable protocol to whatever extent you want. There’s a lot of leeway for developers to add in exceptions based on whatever behavior that they need.
Previously, writing out multi-line strings in Swift required either a bit of awkward code or including everything on one line, which hurt readability. In Swift 4, this problem is rectified with a simple fix: all that’s necessary is adding three quotation marks before and after the string in question. Note that all lines must be indented at least as much as the closing quotation marks, and that using this new syntax on a single line will not work.
This new string implementation also simplifies the process for adding and managing substrings. Python had previously done something similar, but with a few differences, so be sure to check your code to ensure that you’ve correctly written these new strings.
One of the main draws of Swift 4 is its backwards compatibility. Apple has stated that the number of source changes are “quite modest” when it comes to adapting from older versions of Swift, and compatibility modes enable developers to migrate at whatever pace they need.
Formerly confined to cheesy 4-D movies and ill-fated projects such as Smell-O-Vision, new attention is being given to scent technology, now being explored as a peripheral for certain types of consumer products.
In a way, it seems like a natural progression of technology. I’ve written in the past about virtual reality and augmented reality and the ways that both look to deliver an immersive experience. As far as sensory stimuli go, smell has the potential to combine with visuals and audio to take VR a step further. After all, the sense of smell is most closely tied to memories and emotions.
Still, my first instinct is that we’re looking at a technology that will probably not prove especially useful or practical, but who am I to say? Let’s take a look at some of the possible applications for scents.
The British Science Festival, held recently in Brighton, England, hosted researchers demonstrating the ways in which this technology might soon impact lives. As previously mentioned, at the forefront of these demonstrations was VR technology, where worlds are defined by scent as well as sight and sound. In a demonstration, users were transported into a virtual rainforest, complete with the earthy smells one would expect from such a locale.
Outside of the potential to create immersive media experiences, scientists posited that smell technology can have practical applications as well. Another demonstration involved a scent module in a car programmed to release a spray of calming lavender every time its driver sped past the speed limit. And beyond the British Science Festival, Vapor Communications have devised another car-based aromatic device called the Cyrano, intended to create “playlists” of different smells.
However, even David Edwards, founder of Vapor Communications, noted that the Cyrano was essentially a “next-generation air freshener.” Indeed, Edwards’ expectations have been tempered by the failure of the oPhone, a device that allows users to tag photos with a selection of smells for consumption.
This technology carries inherent difficulties in both engineering and marketing. Unlike audio and video, creating a scent requires the projection of physical molecules, which must be distributed properly and with the right intensity to register for users. Additionally, selling these products can be difficult, with most users unconvinced that these devices have value to them. Part of this lies in the fact that smell, as a result of being tied to memory, is highly subjective. Though the scented candle business has thrived on tried-and-true smells such as sandalwood and fluffy towel, not everybody associates the same smells with the same things.
Others still have examined smell technology as a possible way for retailers to stimulate buying among consumers. University of Sussex researcher Emanuela Maggioni, a firm believer in the potential of this new tech, gave the example of the scent of coffee to push library patrons into purchasing coffee.
But is the current interest in smell technology enough of a catalyst for it to become mainstream later on. Edwards is convinced that olfactory illiteracy is what’s holding the public back from embracing this technology and that entrepreneurs like himself are the key to breaking the currently significant barriers to success. His research found that scents were frequently used in the same way as emojis when transmitted—metaphorical representations of common cultural concepts, such as using the scent of smoke when referring to a sultry individual. It remains to be seen what impact this technology will make—and whether something like the Smell-O-Vision will prove a harbinger of future trends.
About Damian Esteban
Damian was most recently the lead developer at Spare Change, Inc. where he focused on FinTech in mobile and web applications. He is a strong leader who believes that tight-knit teams can accomplish truly amazing things. Damian graduated from SUNY Geneseo in 2000 with a Bachelor of Arts in International Relations and McGill University in 2003 with a Master’s Degree in Islamic Studies. He attended the New York Code and Design Academy in 2013.
- Unix Server Administration
- RESTful API Design
- Reactive Programming