<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Nino Ross Rodriguez</title>
    <description>The latest articles on DEV Community by Nino Ross Rodriguez (@oninross).</description>
    <link>https://dev.to/oninross</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F70197%2F912ac332-e316-4bbd-a242-bf7029a39089.jpeg</url>
      <title>DEV Community: Nino Ross Rodriguez</title>
      <link>https://dev.to/oninross</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/oninross"/>
    <language>en</language>
    <item>
      <title>Vibe Coding a Web Game from Scratch — Fast, Fun, and Occasionally on Fire</title>
      <dc:creator>Nino Ross Rodriguez</dc:creator>
      <pubDate>Tue, 14 Jul 2026 13:00:00 +0000</pubDate>
      <link>https://dev.to/oninross/vibe-coding-a-web-game-from-scratch-fast-fun-and-occasionally-on-fire-kmd</link>
      <guid>https://dev.to/oninross/vibe-coding-a-web-game-from-scratch-fast-fun-and-occasionally-on-fire-kmd</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;Vibe coding is the art of building software purely from instinct and creative flow. No wireframes. No JIRA tickets. Just “&lt;em&gt;trusting the Force&lt;/em&gt;” with an AI platform like ChatGPT or Copilot. Vibe coding is what happens when you stop asking and thinking “&lt;em&gt;how do I build this properly?&lt;/em&gt;” and start asking “&lt;em&gt;what feels right right now?&lt;/em&gt;”&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F3stmv7l67vuat7t4czcd.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F3stmv7l67vuat7t4czcd.webp" alt=" " width="720" height="480"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It’s fast, addictive, and when things click, it delivers instant dopamine. But it can get messy — really messy — &lt;em&gt;real quick&lt;/em&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why I Vibe Coded a Whole Game
&lt;/h2&gt;

&lt;p&gt;My son and I “invented” a new card game for us to play and we had a lightbulb moment. “&lt;em&gt;This could potentially be a game for everyone could enjoy.&lt;/em&gt;” I wanted to reach a large audience without shelling out money to get it tested and decided first to create a digital prototype. Since vibe coding is the trending topic in the industry today, it was a perfect opportunity for me to see what the fuss is all about.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F3ugmm0oiibf70dwzs4se.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F3ugmm0oiibf70dwzs4se.webp" alt=" " width="720" height="480"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;What followed was a streak of successful prompts — designing the UI, shaping the mechanics, fixing things on the fly. I was possessed, tweaking everything as I went, solving UX problems as they appeared in front of me.&lt;/p&gt;

&lt;p&gt;Most of it worked. Then disaster and frustration crept in. I did manage to get to a working prototype that I am happy with, and learned a lot about what vibe coding is, isn’t and where it can take you.&lt;/p&gt;

&lt;h2&gt;
  
  
  Elementara: Spirit of the Dice — The Web-based Project
&lt;/h2&gt;

&lt;p&gt;Elementara is a 1v1 dice-based creature battler. You control a squad of three elementals, fighting until the last creature stands. Combat is determined by dice rolls — misses, hits, criticals — and each elemental has unique strengths and resistances. I added a twist: the ‘Corrupted Dice’ mechanic, which buffs a player after they roll the same result twice in a row. It adds an element of surprise into what could’ve been a pure RNG (random number generator) slugfest.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fc2bwiek7xlbffexeo4uj.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fc2bwiek7xlbffexeo4uj.webp" alt=" " width="720" height="480"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This sounded like a complex game that would take up weeks, probably months to get a working prototype up and running. I felt that this is the perfect testing ground to see if I can build the entire project in half the time. I wanted to see if I could build it in a fraction of the time a typical dev team would, push generative AI to the limits and see what it can do and debunk the myth “will generative AI replace developers?”&lt;/p&gt;

&lt;h2&gt;
  
  
  The Vibe Coding Process
&lt;/h2&gt;

&lt;p&gt;I was hyped up, ready to start with the project. After all, it’s my first game that I would be developing and I would be vibe coding through the entire process. The vision was clear as well, “I want my game to be easy to use by many, intuitive and fun to play with for all ages.” The tools were simple: generative AI. ChatGPT for ideation, Copilot for illustrations, and a mix of v0 and Copilot for code generation.&lt;/p&gt;

&lt;h2&gt;
  
  
  ChatGPT — The Game Designer
&lt;/h2&gt;

&lt;p&gt;ChatGPT was my best friend from the start. I gave it specific instructions on how I could integrate a card-battle game with a dice and we managed to come up with the idea of using a 6-sided dice to be the decider of the damage, somewhat similar to Dungeons and Dragons. ChatGPT also helped me come up with the names of the elementals, their hit points, strengths and weaknesses. It also helped me polish the game mechanics and rules to make the game more balanced without sacrificing the “fun” aspect of the game.&lt;/p&gt;

&lt;h2&gt;
  
  
  Copilot (Image Gen) — The Art Department
&lt;/h2&gt;

&lt;p&gt;Amongst all the image generative AI platforms available in the market, Copilot was the only one that managed to please me with its output. I gave ChatGPT, Copilot and Gemini the equal opportunity to create images based on my prompts and very specific art style. Copilot was the only platform that gave me images that are as close as possible to the art style I wanted for the game. It was the only platform that has provided me with a lot of generated images before hitting its limits, unlike ChatGPT which maxes out at 3–4 images.&lt;/p&gt;

&lt;h2&gt;
  
  
  v0 &amp;amp; Copilot (Code) — The Engineers
&lt;/h2&gt;

&lt;p&gt;Vibe coding with AI code tools was tricky but effective — until it wasn’t.&lt;/p&gt;

&lt;p&gt;v0 was amazing at scaffolding the app based on prompts. But because of the free tier, I had to be precise with my requests. I started by feeding it the rulebook and watching the UI and game flow emerge. It worked — mostly.&lt;/p&gt;

&lt;p&gt;Copilot, integrated in VSCode, filled in the gaps. It helped tweak logic and connect components, especially once v0 started falling apart. v0 couldn’t determine which component I was pertaining to and ended up changing the entire UI of the game.&lt;/p&gt;

&lt;h2&gt;
  
  
  Key Findings &amp;amp; Lessons Learned
&lt;/h2&gt;

&lt;p&gt;Most of my coding decisions were based on instincts. I eyeballed bugs, adjusted UI issues immediately, and kept rolling. But I had to constantly remind myself: be very specific with prompts, or AI will interpret things however it wants.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F8qnyulwafiekl4zdnlhh.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F8qnyulwafiekl4zdnlhh.webp" alt=" " width="720" height="480"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In an accumulation of roughly 40–50 hours of development, I managed to wrap up Elementara in a nice red ribbon. I was surprised and very satisfied with the results where it was 90% accurate most of the time and provided to me in a few seconds.&lt;/p&gt;

&lt;p&gt;After a few hundred prompts and getting the game to 75% completion, I started to receive hallucinations from AI and frustrations build up quickly. The main issue that annoyed me was that v0 started to change more of the UI when I specifically told it not to. Another issue was that the platform started to “&lt;em&gt;stall&lt;/em&gt;” and wrote large parts of the codebase arbitrarily, no matter how detailed my prompt was. Lastly, v0 could not pinpoint the main issue that I wanted to get fixed. The last 25% of the project involved digging into the code myself and fine-tuning everything manually.&lt;/p&gt;

&lt;p&gt;As much as I enjoyed vibe coding through this side project, &lt;em&gt;&lt;strong&gt;it is not recommended&lt;/strong&gt;&lt;/em&gt; for any production work. It can help your team to get up to speed in prototyping a single component. But beyond that needs manual intervention and developer experience in fine tuning to the requirements. I have not yet explored how to extend the game or whether the code is structured properly. I am sure though that I will be opening a can of worms when I do.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;If you’re a solo dev, indie creator, or just trying to ship something fun — &lt;strong&gt;vibe coding is a legit weapon&lt;/strong&gt;. Generative AI can get you from idea to prototype faster than any team ever could.&lt;/p&gt;

&lt;p&gt;But if you’re in production? Managing a team? Building long-term?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;It’s a trap.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;AI can scaffold code fast — but it still needs human judgment. Left unchecked, it breeds technical debt, unstable logic, and brittle foundations. The deeper you go, the messier it gets.&lt;/p&gt;

&lt;p&gt;Use it. Abuse it. Just don’t trust it blindly.&lt;/p&gt;

&lt;p&gt;Vibe coding will leave you with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Unstable code&lt;/li&gt;
&lt;li&gt;Hidden tech debt&lt;/li&gt;
&lt;li&gt;A fragile house of cards&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;My take:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Use it for creative prototyping and fast MVPs&lt;/li&gt;
&lt;li&gt;Expect to rewrite large chunks of AI-generated code&lt;/li&gt;
&lt;li&gt;Don’t trust the vibes — &lt;strong&gt;review every line&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Before I go, here’s the game that I vibe coded. Let me know your thoughts in the comments.&lt;/p&gt;


&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;div class="c-embed__content"&gt;
      &lt;div class="c-embed__body flex items-center justify-between"&gt;
        &lt;a href="https://elementara.vercel.app/" rel="noopener noreferrer" class="c-link fw-bold flex items-center"&gt;
          &lt;span class="mr-2"&gt;elementara.vercel.app&lt;/span&gt;
          

        &lt;/a&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;
&lt;br&gt;
&lt;a href="https://elementara.vercel.app/" rel="noopener noreferrer"&gt;https://elementara.vercel.app/&lt;/a&gt;

</description>
      <category>webdev</category>
      <category>web</category>
      <category>vibecoding</category>
    </item>
    <item>
      <title>Vibe Coding: Fast, Loose, and Headed for Trouble</title>
      <dc:creator>Nino Ross Rodriguez</dc:creator>
      <pubDate>Tue, 07 Jul 2026 13:00:00 +0000</pubDate>
      <link>https://dev.to/oninross/vibe-coding-fast-loose-and-headed-for-trouble-1dnd</link>
      <guid>https://dev.to/oninross/vibe-coding-fast-loose-and-headed-for-trouble-1dnd</guid>
      <description>&lt;p&gt;In the age of generative AI and auto-complete-everything, a new pattern is emerging across the web industry: &lt;strong&gt;vibe coding&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;It’s like using the Force — you close your eyes, trust your instincts (or your AI), and just build. A few sentences to an AI model and a sense of direction.&lt;/p&gt;

&lt;p&gt;It sounds cool — even powerful. For many, it is. But behind the wizardry is a serious question: are we building smarter and faster, or just drifting closer to the dark side of technical debt?&lt;/p&gt;

&lt;h2&gt;
  
  
  What Is Vibe Coding?
&lt;/h2&gt;

&lt;p&gt;Vibe coding is the practice of writing or shipping code based more on instinct, AI suggestions, and or “what feels correct” than on understanding the entire code, or formal architecture. It’s the “trust the Force” approach to software development — you’re feeling your way through the flow, trusting that the tools (and your gut) will guide you to the right outcome.&lt;/p&gt;

&lt;p&gt;This coding style often thrives in high-speed environments: prototypes, hackathons, MVPs, startup scrambles, or AI-assisted workflows where code suggestions come faster than your brain can vet them.&lt;/p&gt;

&lt;p&gt;The term vibe coding draws from two key realities. First, developers are increasingly trusting AI-generated code without fully understanding how it works — or what it’s doing under the hood. Second, non-developers are now building with low-code tools and AI-generated components — often without any visibility into the underlying logic or architecture.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fkvnhqlb3k4962q536lyt.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fkvnhqlb3k4962q536lyt.webp" alt=" " width="720" height="480"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Why It’s Taking Off
&lt;/h2&gt;

&lt;p&gt;This shift toward vibe coding has real appeal. Teams appear more productive, products are shipped faster, and stakeholders get what they want — quickly. AI copilots are now “good enough” to scaffold working solutions in minutes — drastically reducing the effort needed to get something up and running. At the same time, time-to-market pressure often prioritises output over long-term maintainability. Even junior developers can move fast — often bypassing traditional engineering mentorship, best practices, or architectural guidance. But like most shortcuts, all this speed comes at a cost.&lt;/p&gt;

&lt;h2&gt;
  
  
  How Vibe Coding Impacts Teams (and Products)
&lt;/h2&gt;

&lt;p&gt;For developers, vibe coding can feel like a superpower. It enables fast feedback loops and rapid shipping, making it ideal for quick iteration and exploration. But that speed often comes at the cost of structure. AI-generated or improvised code is frequently unoptimised, difficult to read, and even harder to scale or maintain — making it a breeding ground for technical debt. Developers may also become overly reliant on their tools, deploying code they don’t fully understand. Debugging turns into a painful guessing game when things break.&lt;/p&gt;

&lt;p&gt;For non-developers, vibe coding lowers the barrier to entry. It empowers anyone to “build” a product, regardless of technical background. But that accessibility hides a dangerous tradeoff — what appears simple on the surface may be fragile and complex underneath. Without proper guardrails like documentation or architecture, these systems quickly fall into pieces into dependency hell — where one small change risks breaking the entire project.&lt;/p&gt;

&lt;h2&gt;
  
  
  How Vibe Coding Creates Technical Debt
&lt;/h2&gt;

&lt;p&gt;Technical debt isn’t just about messy code — it’s about turning today’s shortcuts into tomorrow’s roadblocks. With vibe coding, this debt tends to accumulate quietly — fast. Teams often skip writing tests, neglect documentation, ignore naming conventions, and overlook scalability. Worst of all, they may not fully understand the code they’re deploying. Integrations may work initially — but are fragile and prone to breaking as the product evolves. By the time someone decides it’s time to “clean it up,” the damage is usually baked in. Rewriting or refactoring ends up being far more expensive than doing it right in the first place.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ffu39dscb8ka6kzcow14h.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ffu39dscb8ka6kzcow14h.webp" alt=" " width="720" height="480"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Cheap Vibe Coder or Expensive Experienced Developer?
&lt;/h2&gt;

&lt;p&gt;At some point, every decision maker hits this crossroads — do you hire a cheap vibe coder who can move fast and make something “work” now, or invest in an experienced developer who’ll build it right from the start?&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F1qx3f5nlt7k4wr2ciodg.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F1qx3f5nlt7k4wr2ciodg.webp" alt=" " width="720" height="480"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It’s a tempting tradeoff. The vibe coder promises speed, lower cost, and a working MVP by the end of the week. They’ll probably deliver something that looks functional — on the surface.&lt;/p&gt;

&lt;p&gt;But under the hood, the risks stack up: no real architecture, no scalability plan, and no thought given to long-term maintenance. As the product grows, so does the pain — slower iterations, unexpected bugs, rework, and in many cases, a complete rewrite.&lt;/p&gt;

&lt;p&gt;On the other hand, experienced developers don’t just write code — they &lt;strong&gt;think through edge cases, plan for growth, and build with the future in mind&lt;/strong&gt;. It might take a little longer and cost a bit more up front, but it pays off in reduced risk, smoother scaling, and less firefighting down the road.&lt;/p&gt;

&lt;p&gt;It’s not just a talent choice — it’s a &lt;strong&gt;strategy call&lt;/strong&gt;. Do you want to move fast today and pay the price later, or build a foundation that won’t crack under pressure?&lt;/p&gt;

&lt;h2&gt;
  
  
  Recommendations for Decision Makers
&lt;/h2&gt;

&lt;p&gt;You don’t need to kill the vibe — but you absolutely need to manage it.&lt;/p&gt;

&lt;p&gt;Vibe coding has its place. It’s excellent for prototyping, quick iterations, and getting ideas off the ground fast. But it’s not suited for scaling mission-critical systems — where stability, clarity, and long-term maintainability matter.&lt;/p&gt;

&lt;p&gt;To keep things sustainable, teams need to invest in cleanup. That means allocating time for regular refactoring and code audits — treating them not as afterthoughts, but as part of the product’s hygiene.&lt;/p&gt;

&lt;p&gt;It’s also essential to establish guardrails. Linting, testing, and code reviews shouldn’t be optional — even when working with AI-generated snippets or low-code tools. These practices create structure and catch problems early.&lt;/p&gt;

&lt;p&gt;Finally, balance is key. Pair your fast-moving builders with experienced system thinkers, architects — who can see the long-term implications and ensure the foundation remains solid as the product evolves.&lt;/p&gt;

&lt;h2&gt;
  
  
  Final Thought
&lt;/h2&gt;

&lt;p&gt;Vibe coding is here — and it’s not going away. The tools are getting better. The pressure to ship is only increasing. The opportunity lies in treating vibe coding as a tool — not a development philosophy.&lt;/p&gt;

&lt;p&gt;Left unchecked, it can rot your codebase from the inside out. But with the right oversight, vibe coding can be your team’s creative engine — with the brakes, seatbelts, and map included.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
      <category>vibecoding</category>
    </item>
    <item>
      <title>An Open Letter to Everyone Who Thinks “Vibe Coding” Will Replace Developers</title>
      <dc:creator>Nino Ross Rodriguez</dc:creator>
      <pubDate>Tue, 30 Jun 2026 13:00:00 +0000</pubDate>
      <link>https://dev.to/oninross/an-open-letter-to-everyone-who-thinks-vibe-coding-will-replace-developers-el6</link>
      <guid>https://dev.to/oninross/an-open-letter-to-everyone-who-thinks-vibe-coding-will-replace-developers-el6</guid>
      <description>&lt;p&gt;&lt;strong&gt;Dear Prompt Warriors,&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;So you typed, “Create me a bold and minimalist UI,” and BOOM! A flashy interface appears. You just spun up a page without writing a single line of code. No VSCode, no React boilerplate, no debates about BEM naming or accessibility. Just pure, effortless generation.&lt;/p&gt;

&lt;p&gt;Now you’re thinking: Why would we ever need developers again?&lt;br&gt;
I get it. You feel empowered. It feels like magic. I’ve been there. But let me break something to you gently, or maybe bluntly:&lt;br&gt;
Vibe coding isn’t coding. It’s cosplay.&lt;/p&gt;

&lt;p&gt;Sure, AI can generate a UI that looks great at a glance, in a fraction of the time it would take a dev. It might even pass as an MVP on a pitch deck. But underneath that shiny surface? It’s duct tape. No scalability. No reusable components. No accessibility. No fallbacks. No security.&lt;br&gt;
You’re not building a product, you’re building an illusion.&lt;/p&gt;

&lt;p&gt;And the moment it needs to be maintained, extended, debugged, or deployed? You’re going to need someone who knows what every single line of code actually does, not someone who just says, “Make it snappy with a Gen Z feel.”&lt;/p&gt;

&lt;p&gt;Let me paint you a picture of what that duct-tape codebase really looks like:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Phase 1: Empowerment&lt;/strong&gt;&lt;br&gt;
I created a web-based game entirely through vibe coding. Hit after hit of dopamine. It felt like I was building something amazing. I powered through. UI? Done. All that was left were the game mechanics. Easy, right?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Phase 2: Frustration&lt;/strong&gt;&lt;br&gt;
At the tail end of the project, I was ready to deploy and share it with testers. But after 200+ prompts and reverts, it still wasn’t usable. I faced regression issues, random “features” I never asked for, and the best part? The AI rewrote the entire codebase, nuking all the UI and functionality. Amazing.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Phase 3: Intervention&lt;/strong&gt;&lt;br&gt;
Let’s say I somehow made it to the finish line, a working game, ready to ship, just needing layout and copy tweaks. I cloned the codebase locally for faster iteration. Yes, the folders were neatly stacked, just as I instructed. But then I opened the file that contained the core game logic.&lt;/p&gt;

&lt;p&gt;Thousands of lines. All in one file.&lt;/p&gt;

&lt;p&gt;No separation of logic, no type safety, no modular flow. Digging deeper, I found repeating blocks, hardcoded logic, and zero components. I was trying to change a one-liner but had to sift through a dumpster fire of code.&lt;br&gt;
A fresh grad would’ve done a cleaner job. How am I supposed to scale or refactor this?&lt;/p&gt;

&lt;p&gt;If you believe vibe coding will replace developers, you’re not a developer. You’ve never read the code it generated. You’ve never tried to fix a bug, or maintain the thing it built. You’ve never stared down a thousand-line JS file while trying to debug a div.&lt;/p&gt;

&lt;p&gt;Vibe coding is great for mockups, prototypes, and play. It’s perfect when you need fast visuals for a pitch. But when it’s time to ship a real product? You’ll need more than vibes and prompts.&lt;/p&gt;

&lt;p&gt;You’ll need us.&lt;/p&gt;

&lt;p&gt;Developers&lt;/p&gt;

&lt;p&gt;P.S.&lt;/p&gt;

&lt;p&gt;DM me when you’re ready to build something real, together.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>webdev</category>
      <category>vibecoding</category>
      <category>programming</category>
    </item>
    <item>
      <title>If AI Replaces Juniors, Who Replaces Seniors? The Hidden Cost of Misusing AI in Tech</title>
      <dc:creator>Nino Ross Rodriguez</dc:creator>
      <pubDate>Tue, 23 Jun 2026 13:00:00 +0000</pubDate>
      <link>https://dev.to/oninross/if-ai-replaces-juniors-who-replaces-seniors-the-hidden-cost-of-misusing-ai-in-tech-13ag</link>
      <guid>https://dev.to/oninross/if-ai-replaces-juniors-who-replaces-seniors-the-hidden-cost-of-misusing-ai-in-tech-13ag</guid>
      <description>&lt;p&gt;The hype of AI is at its peak. Scroll through LinkedIn and Medium and you will see “vibe coders” claiming that programming is dead. Startups pitch to investors on products that were “built entirely with AI.” Companies whisper in boardrooms that developers are replaceable, cutting cost and time. The hype has twisted the industry’s perception on AI. It is seen less as a tool and more as a replacement.&lt;/p&gt;

&lt;p&gt;That’s not just wrong, it’s dangerous.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Illusion of AI as a Replacement
&lt;/h2&gt;

&lt;p&gt;Hollywood might be the first one to plant the seed in our heads that AI will one day take over us. We are not there yet, but AI can spit out code, debug snippets, or scaffold an app faster than a junior and even a senior developer. On the surface, it looks like a replacement. But here’s the catch: generating code is not the same as building, maintaining a product and making critical decisions.&lt;/p&gt;

&lt;p&gt;Real software development is more than writing lines of neat code. It’s:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Understanding business logic&lt;/li&gt;
&lt;li&gt;Architecting systems that scale&lt;/li&gt;
&lt;li&gt;Navigating security, compliance, and integrations&lt;/li&gt;
&lt;li&gt;Maintaining legacy code and evolving it over time&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;AI is a pattern machine. It references from existing sources found in the internet and learns from human input. But, it doesn’t understand if the suggestion is relevant and accurate. It doesn’t make trade-offs. It doesn’t negotiate with stakeholders or know why one solution is better than another.&lt;/p&gt;

&lt;p&gt;Treating AI like a self-sufficient developer is like thinking a scientific calculator can replace a mathematician.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Productivity Multiplier We’re Ignoring
&lt;/h2&gt;

&lt;p&gt;The real promise of AI isn’t replacement, it’s augmentation. Developers can leverage AI by automating boilerplate and repetitive work; speed up debugging and testing; and focus on more important problems rather than bogging down on syntax.&lt;/p&gt;

&lt;p&gt;It’s the same story as every technological leap. Spreadsheets didn’t eliminate accountants. CAD didn’t eliminate architects. They amplified what humans could do. AI should be the same for developers, if we use it right.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The “No Juniors” Trap
It’s in the headlines everywhere.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;“AI threatens entry-level jobs as university grads struggle to get hired”&lt;/p&gt;

&lt;p&gt;“AI-driven layoffs are shrinking the job market for recent grads”&lt;/p&gt;

&lt;p&gt;“‘A black hole’: New graduates discover a dismal job market”&lt;/p&gt;

&lt;p&gt;If companies cut junior developer roles because “AI can do it cheaper and faster,” they destroy the pipeline of future talent.&lt;/p&gt;

&lt;p&gt;Picture this:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;In 2025, a product company replaces its junior devs with AI copilots&lt;/li&gt;
&lt;li&gt;By 2030, their seniors start leaving, retiring, or burning out&lt;/li&gt;
&lt;li&gt;Who will maintain the legacy systems? Who will inherit the institutional knowledge?&lt;/li&gt;
&lt;li&gt;AI keeps patching code, but without understanding the why, and the technical debt piles up&lt;/li&gt;
&lt;li&gt;Hiring becomes a nightmare because there’s no generation of mid-level devs to replace the seniors&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The chain has been broken, the company will be left dangling.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Robot Fallacy
&lt;/h2&gt;

&lt;p&gt;The industry keeps projecting sci-fi fantasies onto AI. We think of it as a self-aware robot that can “just do things” autonomously. Deploy it, press the red button and away it goes 24/7. But AI today is context-blind. It can autocomplete based on what you are typing, but it can’t architect on an optimal solution. It can generate lines of code within seconds, but it can’t govern what is happening under the hood.&lt;/p&gt;

&lt;p&gt;Until that changes, and we’re not even close to it, replacing humans outright is reckless.&lt;/p&gt;

&lt;h2&gt;
  
  
  We’ve Been Using AI Wrong
&lt;/h2&gt;

&lt;p&gt;The hype has blinded us. It may even brainwashed us all. The conversation keeps circling around “AI replacing developers” when it should be “AI helping developers.” AI is not here to replace the people who build, maintain, and evolve systems. It’s here to make those people more productive, just like every tool before it.&lt;/p&gt;

&lt;p&gt;The companies that understand this will thrive. The ones that don’t will eventually collapse under the weight of their own short-sightedness.&lt;/p&gt;

&lt;p&gt;AI is your fast thinking and working assistant, not an self-aware architect. A tool, not a team. If we keep misusing it as a replacement instead of a force multiplier, we won’t just harm developers. We’ll cripple the very industry we’re trying to “revolutionise.”&lt;/p&gt;

&lt;p&gt;AI won’t replace developers. But companies that misuse AI will replace themselves, out of existence.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>discuss</category>
      <category>softwaredevelopment</category>
    </item>
    <item>
      <title>Laws of UX in AR</title>
      <dc:creator>Nino Ross Rodriguez</dc:creator>
      <pubDate>Tue, 12 Nov 2019 23:15:01 +0000</pubDate>
      <link>https://dev.to/oninross/laws-of-ux-in-ar-34e6</link>
      <guid>https://dev.to/oninross/laws-of-ux-in-ar-34e6</guid>
      <description>&lt;p&gt;[originally posted at &lt;a href="https://www.infiniteimaginations.co/#/article/laws-of-ux-in-ar" rel="noopener noreferrer"&gt;&lt;strong&gt;&lt;em&gt;infinite imaginations&lt;/em&gt;&lt;/strong&gt;&lt;/a&gt;]&lt;/p&gt;

&lt;p&gt;As technology is improving and getting more affordable, Augmented Reality (AR) has been constantly gaining popularity. From enterprise products like Google Glass Enterprise Edition 2, Microsoft HoloLens 2 and Magic Leap, to consumer available devices like AR-ready mobile phones and browsers, it has provided users with an immersive experience through the use of AR. But at what cost? Does having an Ironman-esque interface really provide a better experience? Is AR the solution for everything since it's trending?&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fah2esok1q342m2xiivoo.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fah2esok1q342m2xiivoo.gif" alt="Animated gif of Tony Stark and his advanced H.U.D." width="500" height="204"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The State of AR Today
&lt;/h2&gt;

&lt;p&gt;From the word 'augmented,' a device will project or embed a digital object or information on the screen, simulating as if it was in the real world. AR comes in different forms and sizes but most of them have a few things in common:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuvve22qxqp7iqv2s0lny.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuvve22qxqp7iqv2s0lny.jpg" alt="Common denominators of augmented reality" width="676" height="173"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; Devices must be AR ready in order to 'project' the digital object on a real environment or object.&lt;/li&gt;
&lt;li&gt; May need markers or trigger spots in order for the digital items to be embedded into reality.&lt;/li&gt;
&lt;li&gt; Apps may need to be downloaded for the digital items to be embedded into reality without the use of markers.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Regardless of which form AR takes, developers have already explored and played around with the technology. Most of which are extremely brilliant ideas and were executed excellently but somehow has forgotten about the user experience side of things. At this point in time, AR is more of a tool and or a gimmick for most users. You will get users to use AR at most 5 minutes, 10 might be a stretch if they are playing an AR game like Pokemon Go. Players even have disabled the AR feature of the game to save battery.&lt;/p&gt;

&lt;h3&gt;
  
  
  London Underground Map Concept
&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;How &lt;a href="https://twitter.com/hashtag/AR?src=hash&amp;amp;ref_src=twsrc%5Etfw" rel="noopener noreferrer"&gt;#AR&lt;/a&gt; transforms a simple train ticket into a transportation guide &lt;a href="https://t.co/SEEBKXt4Ig" rel="noopener noreferrer"&gt;pic.twitter.com/SEEBKXt4Ig&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;— Alexandre Dip Hannemann (@DipAlexandre) &lt;a href="https://twitter.com/DipAlexandre/status/1134031928515092482?ref_src=twsrc%5Etfw" rel="noopener noreferrer"&gt;May 30, 2019&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;At first glance, it is a brilliant concept displaying information about the local subway lines and the stops of different tracks. The developer can even extend it to display where the passenger is currently and how to get to their destination. However, one has to consider the barrier of entry on how passengers would get to use this AR feature. The passenger must first and foremost have the app to display AR. Another requirement would be an internet connection, most underground subways lack a good internet connection. These could be factors on hindering passengers to use the AR feature.&lt;/p&gt;

&lt;h3&gt;
  
  
  Philips Hue Concept
&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;a href="https://twitter.com/hashtag/AR?src=hash&amp;amp;ref_src=twsrc%5Etfw" rel="noopener noreferrer"&gt;#AR&lt;/a&gt; s true potential is in blending interactions with physical and virtual things. Here is an &lt;a href="https://twitter.com/hashtag/ARKit?src=hash&amp;amp;ref_src=twsrc%5Etfw" rel="noopener noreferrer"&gt;#ARKit&lt;/a&gt; experiment to control &lt;a href="https://twitter.com/hashtag/PhilipsHue?src=hash&amp;amp;ref_src=twsrc%5Etfw" rel="noopener noreferrer"&gt;#PhilipsHue&lt;/a&gt; made with &lt;a href="https://twitter.com/hashtag/Swift?src=hash&amp;amp;ref_src=twsrc%5Etfw" rel="noopener noreferrer"&gt;#Swift&lt;/a&gt; on &lt;a href="https://twitter.com/hashtag/iOS?src=hash&amp;amp;ref_src=twsrc%5Etfw" rel="noopener noreferrer"&gt;#iOS&lt;/a&gt;. Excited to see what &lt;a href="https://twitter.com/hashtag/WWDC19?src=hash&amp;amp;ref_src=twsrc%5Etfw" rel="noopener noreferrer"&gt;#WWDC19&lt;/a&gt; has to offer in ARKit &lt;a href="https://t.co/4vHkvdqdIG" rel="noopener noreferrer"&gt;pic.twitter.com/4vHkvdqdIG&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;— Sarang Borude (@doomdave) &lt;a href="https://twitter.com/doomdave/status/1135256401389867009?ref_src=twsrc%5Etfw" rel="noopener noreferrer"&gt;June 2, 2019&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Another brilliant concept on connecting the physical and virtual world by creating swatches in the digital world, to control and change the color of smart lights such as a Philips Hue lightbulb. It is a nice idea to play around with mobile devices and see physical objects change to your liking. However, the idea and the need of pointing a mobile device on a smart light just to change the colour and intensity of the light is quite silly. The user just needs to change the settings with minimal swipes and or taps.&lt;/p&gt;

&lt;h3&gt;
  
  
  Restaurant Menu Concept
&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;📱🍷AR Restaurant Menu Concept  &lt;/p&gt;

&lt;p&gt;Finally discover what the dishes really look like and check out their reviews!&lt;br&gt;&lt;br&gt;
I created this with ARKit 2.0.&lt;a href="https://twitter.com/hashtag/ARKit?src=hash&amp;amp;ref_src=twsrc%5Etfw" rel="noopener noreferrer"&gt;#ARKit&lt;/a&gt; &lt;a href="https://twitter.com/hashtag/AugmentedReality?src=hash&amp;amp;ref_src=twsrc%5Etfw" rel="noopener noreferrer"&gt;#AugmentedReality&lt;/a&gt; &lt;a href="https://twitter.com/hashtag/iOS12?src=hash&amp;amp;ref_src=twsrc%5Etfw" rel="noopener noreferrer"&gt;#iOS12&lt;/a&gt; &lt;a href="https://t.co/A1HfTmH1EF" rel="noopener noreferrer"&gt;pic.twitter.com/A1HfTmH1EF&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;— Oscar Falmer #AR (@OsFalmer) &lt;a href="https://twitter.com/OsFalmer/status/1026532909279313921?ref_src=twsrc%5Etfw" rel="noopener noreferrer"&gt;August 6, 2018&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The idea is good and well executed. People do want to know what they are paying for in restaurants. Why not visualise the food first before buying it and look at the reviews? However, the user still needs to download the app and must be connected to the internet to view the virtual menu. This could be a barrier of entry, especially for those who are just hungry and would like to order food. It’s quite silly to hold the menu and your mobile device to see the virtual menu.&lt;/p&gt;

&lt;h2&gt;
  
  
  AR Done Right
&lt;/h2&gt;

&lt;p&gt;Not all AR projects are and will be successful despite the trending technology. There are a few critical items to consider to have an effective AR project.&lt;/p&gt;

&lt;h3&gt;
  
  
  Solving a critical issue/problem
&lt;/h3&gt;

&lt;p&gt;Trying to be the Swiss Army Knife of AR could be the downfall of the project. The idea of creating an AR project should be trying to solve a problem, making a task easier, or have a simple goal for the users.&lt;/p&gt;

&lt;h3&gt;
  
  
  Barrier of entry
&lt;/h3&gt;

&lt;p&gt;Because most AR projects require apps to functionally run perfectly, think of how to get the users to download the app or get to the AR project. There are a lot of ways to onboard users but not all of it would be the right solution. The most simplest and most common barrier of entry is the use of QR codes.&lt;/p&gt;

&lt;h3&gt;
  
  
  Ease of use
&lt;/h3&gt;

&lt;p&gt;If a user has passed the initial barrier of entry, the AR project must be easy to use and easy to understand. Not only that the project must intuitively guide the users how to use AR, but must be able to use it with minimal instructions due to the screen real estates are quite limited. Bombarding a mobile device screen with icons and instructions on how to use the feature can discourage the user from using the app.&lt;/p&gt;

&lt;h3&gt;
  
  
  Information overload
&lt;/h3&gt;

&lt;p&gt;This is the common pitfall for any AR project. Designers and developers may at times have gone overkill and just have dumped everything on the screen. Screen real estate is quite limited and trying to bombard the users with information could be another hindrance of the project. Only show the needed elements and or information needed on the screen.&lt;/p&gt;

&lt;h2&gt;
  
  
  UX and AR Working Together
&lt;/h2&gt;

&lt;p&gt;There is a collection of principles that designers and developers can refer to when designing and developing user interfaces for AR called the Laws of UX. I have chosen a few of them that can be applicable for AR.&lt;/p&gt;

&lt;h3&gt;
  
  
  Aesthetic Usability Effect
&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;'Users often perceive aesthetically pleasing design as design that’s more usable.'&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;With a small screen real estate on mobile devices, designers have to consider how the AR project is going to work easily and intuitively for the user. One has to consider the design of the user interface and how the elements can easily portray instructions to the user without a lot of external interventions. There is a mentality that if the design is poorly done, the quality of work is directly proportional to the quality of usability and content of the product. In addition to this, AR has been interconnected with future technology. It is somewhat expected that users will be 'awed' with the AR projections.&lt;/p&gt;

&lt;h3&gt;
  
  
  Doherty Threshold
&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;'Productivity soars when a computer and its users interact at a pace (&amp;lt;400ms) that ensures that neither has to wait on the other.'&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;In this day of technology, users have a shorter attention span and patience. Now that 5G connection is being rolled out, connection speed will be faster as users’ expectations will increase also. It is critical once the project has attracted a user’s attention, the project must be able to deliver information as soon as possible. A possible barrier here would be the ability of the user to interact with the AR, downloading, installing and or opening AR as quick as possible.&lt;/p&gt;

&lt;h3&gt;
  
  
  Hick’s Law
&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;'The time it takes to make a decision increases with the number and complexity of choices.'&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;We all have seen futuristic interfaces in science fiction movies like Oblivion, Iron Man and Robocop. We all admit that it does look impressive and sleek to see a lot of elements flying around the screen. But take note: your users does not have a high processing brain to accommodate all the information on the screen. Leave the fancy user interfaces to the special effects team in movies. Instead, provide a simple and clean interface for the user to easily digest. The lesser choices the user has to make, the easier it will be for them to get on board and start using your project.&lt;/p&gt;

&lt;h3&gt;
  
  
  Miller’s Law
&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;'The average person can only keep 7 (plus or minus 2) items in their working memory.'&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;In conjunction with the other laws of UX, Miller’s Law summarises how an interface and or user journey should be kept simple. By freeing the users’ mind from complex tasks and user journeys, this will enable them to achieve and do more with the project. Having a very long on-boarding process for example could discourage any user from continuing forward. Specially with AR, where the time from downloading the app to the time where the user can finally use it is much longer than the time of actually using it.&lt;/p&gt;

&lt;h2&gt;
  
  
  ARe you ready for the Future?
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhorbpncatst707tv4n1a.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhorbpncatst707tv4n1a.gif" alt="Animated gif of Tony Stark while playing around with holograms" width="500" height="215"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Though the technology may have arrived at the comfort of our mobile devices, there is still a niche market for AR. Not every AR project will satisfy the consumers’ wants and needs and we are still far from the reality of achieving the full potential of AR due to technological restrictions. While AR has landed a special place in education, retail and training, it is slowly making its way through the web with the help of developers. Experimental projects has been circulating around the internet to showcase the possibilities of Web AR. Where there is web, there is the mobile web. And where there is the mobile web, there is the potential of tapping millions of users.&lt;/p&gt;

&lt;p&gt;As a food for thought in conclusion, there has been some technological advancements (&lt;a href="https://www.infiniteimaginations.co/#/article/vr-and-ar-in-the-mobile-web" rel="noopener noreferrer"&gt;VR and AR in the Mobile Web&lt;/a&gt;) and some are even coming back (&lt;a href="https://www.infiniteimaginations.co/#/article/are-qr-codes-making-a-comeback" rel="noopener noreferrer"&gt;Are QR Codes Making A Comeback?&lt;/a&gt;). I believe that AR can have a wider audience reach by leveraging these technological advancements in which can help decrease the barrier of entry for users. By keeping in mind the Laws of UX, that are not only applicable for design, it can help also help your AR project provide a smoother and immersive experience.&lt;/p&gt;

</description>
      <category>ar</category>
      <category>augmentedreality</category>
    </item>
    <item>
      <title>Using Artificial Intelligence to Generate Alt Text on Images</title>
      <dc:creator>Nino Ross Rodriguez</dc:creator>
      <pubDate>Sun, 03 Feb 2019 19:51:25 +0000</pubDate>
      <link>https://dev.to/oninross/using-artificial-intelligence-to-generate-alt-text-on-images-3n88</link>
      <guid>https://dev.to/oninross/using-artificial-intelligence-to-generate-alt-text-on-images-3n88</guid>
      <description>&lt;p&gt;Web developers and content editors alike often forget or ignore one of the most important parts of making a website accessible and SEO performant: image alt text. You know, that seemingly small image attribute that describes an image:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;&amp;lt;img src='/cute/sloth/image.jpg' alt='A brown baby sloth staring straight into the camera with a tongue sticking out.' &amp;gt;&lt;/code&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm9g7lqi69ab37jnjjtbi.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm9g7lqi69ab37jnjjtbi.jpeg" alt="A brown baby sloth staring straight into the camera with a tongue sticking out."&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;📷 Credit: &lt;a href="https://www.huffingtonpost.com/2014/04/17/baby-sloth-compilation_n_5160060.html" rel="noopener noreferrer"&gt;Huffington Post&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you regularly publish content on the web, then you know it can be tedious trying to come up with descriptive text. Sure, 5-10 images is doable. But what if we are talking about hundreds or thousands of images? Do you have the resources for that?&lt;/p&gt;

&lt;p&gt;Let’s look at some possibilities for automatically generating alt text for images with the use of computer vision and image recognition services from the likes Google, IBM, and Microsoft. They have the resources!&lt;/p&gt;

&lt;h2&gt;
  
  
  Reminder: What is alt text good for?
&lt;/h2&gt;

&lt;p&gt;Often overlooked during web development and content entry, the alt attribute is a small bit of HTML code that describes an image that appears on a page. It’s so inconspicuous that it may not appear to have any impact on the average user, but it has very important uses indeed:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;Web Accessibility for Screen Readers:&lt;/strong&gt; Imagine a page with lots of images and not a single one contains &lt;code&gt;alt&lt;/code&gt; text. A user surfing in using a screen reader would only hear the word “image” blurted out and that’s not very helpful. Great, there’s an image, but what is it? Including &lt;code&gt;alt&lt;/code&gt; enables screen readers to help the visually impaired “see” what’s there and have a better understanding of the content of the page. They say a picture is worth a thousand words — that’s a thousand words of context a user could be missing.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Display text if an image does not load:&lt;/strong&gt; The World Wide Web seems infallible and, like New York City, that it never sleeps, but flaky and faulty connections are a real thing and, if that happens, well, images tend not to load properly and “break.” Alt text is a safeguard in that it displays on the page in place of where the “broken” image is, providing users with content as a fallback.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;SEO performance:&lt;/strong&gt; Alt text on images contributes to SEO performance as well. Though it doesn’t exactly help a site or page skyrocket to the top of the search results, it is one factor to keep in mind for SEO performance.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Knowing how important these things are, hopefully you’ll be able to include proper &lt;code&gt;alt&lt;/code&gt; text during development and content entry. But are your archives in good shape? Trying to come up with a detailed description for a large backlog of images can be a daunting task, especially if you’re working on tight deadlines or have to squeeze it in between other projects.&lt;/p&gt;

&lt;p&gt;What if there was a way to apply alt text as an image is uploaded? And! What if there was a way to check the page for missing alt tags and automagically fill them in for us?&lt;/p&gt;

&lt;h2&gt;
  
  
  There are available solutions!
&lt;/h2&gt;

&lt;p&gt;Computer vision (or image recognition) has actually been offered for quite some time now. Companies like Google, IBM and Microsoft have their own APIs publicly available so that developers can tap into those capabilities and use them to identify images as well as the content in them.&lt;/p&gt;

&lt;p&gt;There are developers who have already utilized these services and created their own plugins to generate alt text. Take &lt;a href="https://codepen.io/sdras/details/jawPGa" rel="noopener noreferrer"&gt;Sarah Drasner’s generator&lt;/a&gt;, for example, which demonstrates how Azure’s Computer Vision API can be used to create alt text for any image via upload or URL. Pretty awesome!&lt;/p&gt;

&lt;p&gt;&lt;span&gt;See the Pen &lt;a href="https://codepen.io/sdras/pen/jawPGa/" rel="noopener noreferrer"&gt;Dynamically Generated Alt Text with Azure's Computer Vision API&lt;/a&gt; by Sarah Drasner (&lt;a href="https://codepen.io/sdras" rel="noopener noreferrer"&gt;@sdras&lt;/a&gt;)on &lt;a href="https://codepen.io" rel="noopener noreferrer"&gt;CodePen&lt;/a&gt;.&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;There’s also &lt;a href="https://wordpress.org/plugins/automatic-alternative-text/" rel="noopener noreferrer"&gt;Automatic Alternative Text&lt;/a&gt; by Jacob Peattie, which is a WordPress plugin that uses the same Computer Vision API. It’s basically an addition to the workflow that allows the user to upload an image and generated &lt;code&gt;alt&lt;/code&gt; text automatically.&lt;/p&gt;

&lt;p&gt;Tools like these generally help speed-up the process of content management, editing and maintenance. Even the effort of thinking of a descriptive text has been minimized and passed to the machine!&lt;/p&gt;

&lt;h2&gt;
  
  
  Getting Your Hands Dirty With AI
&lt;/h2&gt;

&lt;p&gt;I have managed to have played around with a few AI services and am confident in saying that Microsoft Azure’s Computer Vision produces the best results. The services offered by Google and IBM certainly have their perks and can still identify images and proper results, but Microsoft’s is so good and so accurate that it’s not worth settling for something else, at least in my opinion.&lt;/p&gt;

&lt;p&gt;Creating your own image recognition plugin is pretty straightforward. First, head down to &lt;a href="https://azure.microsoft.com/en-au/services/cognitive-services/computer-vision/" rel="noopener noreferrer"&gt;Microsoft Azure Computer Vision&lt;/a&gt;. You’ll need to login or create an account in order to grab an API key for the plugin.&lt;/p&gt;

&lt;p&gt;Once you’re on the dashboard, search and select Computer Vision and fill in the necessary details.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl95m84cediwmpecqly1c.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl95m84cediwmpecqly1c.png" alt="Screenshot of Microsoft Azure dashboard"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Wait for the platform to finish spinning up an instance of your computer vision. The API keys for development will be available once it’s done.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8da4m8ecu8mdjoungu2h.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8da4m8ecu8mdjoungu2h.png" alt="Screenshot of API keys"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Let the interesting and tricky parts begin! I will be using vanilla JavaScript for the sake of demonstration. For other languages, you can check out the &lt;a href="https://westus.dev.cognitive.microsoft.com/docs/services/56f91f2d778daf23d8ec6739/operations/56f91f2e778daf14a499e1fe" rel="noopener noreferrer"&gt;documentation&lt;/a&gt;. Below is a straight-up copy and paste of the code and you can use to replace the placeholders.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;var request = new XMLHttpRequest();  
 request.open('POST', 'https://[LOCATION]/vision/v1.0/describe?maxCandidates=1&amp;amp;language=en', true);  
 request.setRequestHeader('Content-Type', 'application/json');  
 request.setRequestHeader('Ocp-Apim-Subscription-Key', '[SUBSCRIPTION_KEY]');  
 request.send(JSON.stringify({ 'url': '[IMAGE_URL]' }));  
 request.onload = function () {  
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var resp = request.responseText;  
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (request.status &amp;gt;= 200 &amp;amp;&amp;amp; request.status &amp;lt; 400) {  
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Success!  
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;console.log('Success!');  
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} else {  
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// We reached our target server, but it returned an error  
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;console.error('Error!');  
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}  
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;console.log(JSON.parse(resp));  
 };  

 request.onerror = function (e) {  
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;console.log(e);  
 };
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Alright, let’s run through some key terminology of the AI service.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;Location:&lt;/strong&gt; This is the subscription location of the service that was selected prior to getting the subscription keys. If you can’t remember the location for some reason, you can go to the Overview screen and find it under Endpoint. &lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5o1vl3jo74u4y42frp61.png" alt="Screenshot of Endpoint"&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Subscription Key:&lt;/strong&gt; This is the key that unlocks the service for our plugin use and can be obtained under Keys. There’s two of them, but it doesn’t really matter which one is used.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Image URL:&lt;/strong&gt; This is the path for the image that’s getting the alt text. Take note that the images that are sent to the API must meet specific requirements:

&lt;ul&gt;
&lt;li&gt;  Accepted formats: JPEG, PNG, GIF, BMP&lt;/li&gt;
&lt;li&gt;  File size must be less than 4MB&lt;/li&gt;
&lt;li&gt;  Dimensions should be greater than 50px by 50px&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;h2&gt;
  
  
  Easy Peasy
&lt;/h2&gt;

&lt;p&gt;Thanks to big companies opening their services and API to developers, it’s now relatively easy for anyone to utilize computer vision. As a simple demonstration, I uploaded the image below to Microsoft Azure’s Computer Vision API.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fid4tqckjzld8ei83eozj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fid4tqckjzld8ei83eozj.png" alt="a hand holding a cellphone"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The service returned the following details:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{  
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'description': {  
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'tags': [  
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'person',  
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'holding',  
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'cellphone',  
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'phone',  
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'hand',  
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'screen',  
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'looking',  
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'camera',  
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'small',  
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'held',  
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'someone',  
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'man',  
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'using',  
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'orange',  
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'display',  
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'blue'  
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;],  
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'captions': [  
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{  
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'text': 'a hand holding a cellphone',  
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'confidence': 0.9583763512737793  
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}  
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;]  
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;},  
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'requestId': '31084ce4-94fe-4776-bb31-448d9b83c730',  
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'metadata': {  
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'width': 920,  
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'height': 613,  
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'format': 'Jpeg'  
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}  
 }
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;From there, you could pick out the &lt;code&gt;alt&lt;/code&gt; text that could be potentially used for an image. How you build upon this capability is your business:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  You could create a CMS plugin and add it to the content workflow, where the &lt;code&gt;alt&lt;/code&gt; text is generated when an image is uploaded and saved in the CMS.&lt;/li&gt;
&lt;li&gt;  You could write a JavaScript plugin that adds &lt;code&gt;alt&lt;/code&gt; text on-the-fly, after an image has been loaded with notably missing &lt;code&gt;alt&lt;/code&gt; text.&lt;/li&gt;
&lt;li&gt;  You could author a browser extension that adds &lt;code&gt;alt&lt;/code&gt; text to images on any website when it finds images with it missing.&lt;/li&gt;
&lt;li&gt;  You could write code that scours your existing database or repo of content for any missing &lt;code&gt;alt&lt;/code&gt; text and updates them or opens pull requests for suggested changes.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Take note that these services are not 100% accurate. They do sometimes return a low confidence rating and a description that is not at all aligned with the subject matter. But, these platforms are constantly learning and improving. After all, Rome wasn’t built in a day.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>ai</category>
      <category>computervision</category>
      <category>javascript</category>
    </item>
    <item>
      <title>2018: The Year of Artificial Intelligence</title>
      <dc:creator>Nino Ross Rodriguez</dc:creator>
      <pubDate>Tue, 01 Jan 2019 19:47:15 +0000</pubDate>
      <link>https://dev.to/oninross/2018-the-year-of-artificial-intelligence-1onm</link>
      <guid>https://dev.to/oninross/2018-the-year-of-artificial-intelligence-1onm</guid>
      <description>&lt;p&gt;[originally posted at &lt;a href="https://www.infiniteimaginations.co/#/article/2018-the-year-of-artificial-intelligence" rel="noopener noreferrer"&gt;&lt;strong&gt;&lt;em&gt;infinite imaginations&lt;/em&gt;&lt;/strong&gt;&lt;/a&gt;]&lt;/p&gt;

&lt;p&gt;Another year has passed by quickly — this year however, has been consistent. Artificial intelligence (AI) has been constantly making tech headlines and I have been fortunate enough to be able to play around with some of it. As technology grows and evolves at an exponential rate, what does AI have to offer for us in the future?&lt;/p&gt;

&lt;h2&gt;
  
  
  Artificial Intelligence - AI will continue to improve, for better or worst
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F940lomdopw0xslzj8iex.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F940lomdopw0xslzj8iex.gif" alt="Neural Network" width="500" height="249"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;JARVIS, Skynet and Hal are a few of the well-known self-aware and sentient computer programs in science fiction. While these characters may not be far away from the distant future, companies like Google and IBM are continuously developing systems to either help us to do a particular task faster or just be better than us humans, hoping that one day robots or androids will be there for us to do the dirty work. AI has at one point has alarmed people of losing their jobs. Just relax because at this point in time, AI is only capable in excelling at very specific areas.&lt;/p&gt;

&lt;p&gt;With the aid machine learning, we will see companies utilise AI to automate tasks such as fast and accurate data learning, autonomous mobile robots, digital assistants and conversational platforms to name just a few. We first saw AI been implemented in smartphones such as Apple’s Siri and Google’s Assistant and in the recent months, we have seen a sudden surge of smart speakers being released to the consumers. AI will continue to spread like wildfire across the industry in the years to come. In 2019, we will definitely see more of AI being integrated into other devices, helping us accomplish more tasks quickly without us humans getting our hands dirty.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conversational Platforms - “Hello, how can I help you today?”
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F08e5vb6khzkzvavf514j.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F08e5vb6khzkzvavf514j.gif" alt="Google Assistant animation" width="550" height="303"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;“Ok Google, Hey Siri, Alexa,” the initialising commands of Google’s, Apple’s and Amazon’s personal assistants. The platforms developed by their respective tech companies have paved way and developed speech recognition algorithms with the use of artificial intelligence and machine learning. Chatbots hit the industry and initially posed as a threat for call centres helping to take the load off the people by answering most frequently asked questions or help consumers purchase items through a conversation without the need of a human behind the wheel.&lt;/p&gt;

&lt;p&gt;During the peak of its hype cycle, I have experimented with the technology and &lt;strong&gt;&lt;em&gt;&lt;a href="https://dev.to/#/article/what-i-have-learned-from-building-a-chatbot"&gt;learned a few things about building a chatbot&lt;/a&gt;&lt;/em&gt;&lt;/strong&gt;. One of the most important lessons that I have learned is that “one should never build a chatbot just because of the hype” because this will be the failure of the project. In 2019, consumers are more likely accept these conversational platforms as tech companies continue to develop and improve these platforms. Because it is really easy to create a chatbot, we will see more of these chatbots popping out everywhere We might even be &lt;strong&gt;&lt;em&gt;&lt;a href="http://nat-ai.herokuapp.com/" rel="noopener noreferrer"&gt;conversing with one&lt;/a&gt;&lt;/em&gt;&lt;/strong&gt; without knowing it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Being online, all the time - Smartphones usage will steadily increase
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhcohwpdd6y3v7s2f6ece.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhcohwpdd6y3v7s2f6ece.gif" alt="Timelapse of people passing by" width="720" height="480"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We all know that our smartphone is our “digital Swiss army knife” and we could not leave home without it. Browsers has been the platform to get users to the internet and tech companies are continuously improving their products to meet the demands of their loyal consumers. Besides improving the battery life, screen size, and camera quality, Google and Apple have integrated AI into their software providing an improved and smoother user experience. Not only that you have a virtual assistant with you in your phone all the time, it also learns and “predicts” the apps that you might be mostly using next at that specific time of the day.&lt;/p&gt;

&lt;p&gt;There is no stopping of browsers to improve in 2019 and the years to come. Browsers are gaining features and capabilities that are becoming more “native” and “app-like.” Machine learning has even landed on browsers and I have managed to play around with such technologies that enabled me to &lt;strong&gt;&lt;em&gt;&lt;a href="https://dev.to/#/article/identifying-objects-using-your-browser-with-tensorflowjs"&gt;detect objects using a camera and a web browser&lt;/a&gt;&lt;/em&gt;&lt;/strong&gt;. Developers are even planning to get virtual and augmented reality as a standard to web browsers in able to get more users to have an immersive experience without the need to download an app.&lt;/p&gt;

&lt;h2&gt;
  
  
  Super Duper Hyper-personalisation - Better customer experience means more loyal customers
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fauajz9bej1sc5i7yzp29.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fauajz9bej1sc5i7yzp29.gif" alt="Ross doing a weird dance" width="500" height="240"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I open up my browser and start browsing at Facebook or Amazon and at first I didn’t notice it, but I saw a familiar pattern: I see ads or posts that were related to my past searches. I listen to Spotify, watch videos on YouTube or movies on Netflix and I noticed the music or movies being presented were of my interest. I didn’t tell anyone nor did save any preferences. It just happened. What is this sorcery?&lt;/p&gt;

&lt;p&gt;With the advent of personalisation, it wasn’t enough for people to just read their names in emails from sites and services that they have subscribed to. That was already standard in digital marketing. Hyper-personalisation took it a step further by customising the person’s customer experience or journey by providing the things that they want or more interested in. In the years to come, hyper-personalisation with the help of AI will enable companies to provide the things their consumers want or interested at as quick as possible, providing better customer experience and making them loyal to the brand. Better customer experience means more loyal customers. More loyal customers means more money to the company. And I’m a sucker at that.&lt;/p&gt;

&lt;h2&gt;
  
  
  Autonomous Mobile Robots - Robots running and opening doors, sh*t is getting real
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7f3lr0qagn559xjvcvrk.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7f3lr0qagn559xjvcvrk.gif" alt="Boston Dynamics Atlas Robot Does Parkour" width="600" height="338"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I always thought that drones would only be a rich-man’s toy, flying around in open spaces and take photos or videos that were impossible to be taken by anyone. With drones becoming more cheaper, they are now being utilised to transport packages, food or other goods to places. These unmanned aerial vehicles (UAV) can help deliver medical supplies to inaccessible places. Backed up with AI, these UAVs are not aided anymore by humans. They are programmed in such a way that they know what to do in case something goes wrong. They know where to go and how to come back to headquarters without human intervention.&lt;/p&gt;

&lt;p&gt;After watching Black Mirror’s episode titled Metalhead and a short video of Boston Dynamics’ robots, the future got a little bit exciting (or scarier depending on how you look at it). With drones now capable to deliver goods, a robot that can do parkour, and a dog that can open doors, it is certainly clear that the dream of having a robot or android as a helper will be coming to help us in the near future. Maybe one day, we might just have our own Threepio helping us.&lt;/p&gt;

&lt;h2&gt;
  
  
  Bonus Round: Immersive Experience (AR, &amp;amp; VR) - Merging digital world with physical world
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl2muqbngnnc5agzy053i.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl2muqbngnnc5agzy053i.gif" alt="Lego Brickheadz AR demo" width="480" height="240"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Augmented reality and virtual reality has been going on for some time now. However it only has gain most of its traction in the gaming sector. The most notable AR game is Pokemon Go, where players get to “exercise” by walking around the physical world in search for Pokemons in the digital world. VR games too are attracting popularity by immersing players into another world. They can see, hear and interact in the virtual world that they are thrown into. Tech companies such as Zero Latency and VR Zone Shinjuku offer VR experiences to the public. I was lucky enough to have enjoyed and experienced VR games in Japan and I would say that it is not only fun, but a memorable experience for any gamers.&lt;/p&gt;

&lt;p&gt;AR and VR has now expanded their reach beyond the world of gaming. In the next few years, it would reach training, education and tourism sectors just to name a few. Some already has embraced the technology and provided immersive experiences to their customers. Retail companies have invested in AR booths, where their customers can try on clothes without even removing their own in a virtual world. As tech companies like Google and Mozilla developing to make AR and VR to be a standard in browsers, I believe that one day, we will one day see more &lt;strong&gt;&lt;em&gt;[immersive experiences in the mobile web&lt;/em&gt;](/#/article/vr-and-ar-in-the-mobile-web)&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Wrapping it up: The future is bright
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4fefx9dhivplhqvk7k5t.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4fefx9dhivplhqvk7k5t.gif" alt="Maverick putting on shades" width="500" height="375"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It will be an exciting year for 2019 as AI, AR and VR continue to gain traction and technology gets better and cheaper. I see the next year will be the integration of these technological trends into more smart devices and wearables. We could potentially see the rise (or the comeback) of smart glasses. Google Glass wasn’t ready for the consumer market years ago probably because of the price tag, battery life or privacy concerns, but changing the approach and purpose of the smart glass might change the perception of the device.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>vr</category>
      <category>ar</category>
      <category>future</category>
    </item>
    <item>
      <title>VR and AR in the Mobile Web</title>
      <dc:creator>Nino Ross Rodriguez</dc:creator>
      <pubDate>Mon, 26 Nov 2018 20:03:32 +0000</pubDate>
      <link>https://dev.to/oninross/vr-and-ar-in-the-mobile-web-2iab</link>
      <guid>https://dev.to/oninross/vr-and-ar-in-the-mobile-web-2iab</guid>
      <description>&lt;p&gt;We have seen people peered into headsets to be immersed into a virtual world, seen people point their devices in all directions trying to look for something interesting around them.  VR and AR apps are already available in app stores, and this can be a hindrance to get audiences on board.  What if it was easily available in the mobile web?&lt;/p&gt;

&lt;h2&gt;
  
  
  Virtual Reality
&lt;/h2&gt;

&lt;p&gt;VR is an interactive computer simulation taking the user into a virtual world.  The computer generates a simulation and tricks the mind to believe whatever the user is seeing is real.  It is usually associated with weird looking goggles, having long wires and mostly for entertainment.  It was clunky, had low definition objects and just didn’t know what you need to do in the new virtual world.  It was expensive to create, maintain and distribute to the consumer market.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2F5ndjwzlzxysyfrfu2m4w.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2F5ndjwzlzxysyfrfu2m4w.png" alt="The Sensorama machine"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;The Sensorama machine (scriptanime.wordpress.com)&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;With VR catching up with technology at an exponential rate, goggles and headsets are getting smaller and lighter now where people can now wear it with ease. The quality has greatly improved also, projecting more realistic and smoother experiences.  Price has also become more cheaper for the consumers.  Companies have created their own VR equipment that consumers can buy without hurting their wallets.&lt;/p&gt;

&lt;h2&gt;
  
  
  Augmented Reality
&lt;/h2&gt;

&lt;p&gt;AR is somewhat similar to VR.  Instead of the computer generating the entire environment as a simulation, it creates virtual elements and embeds it in the real world.  Just like VR, it required weird looking goggles, wires and were still connected to a computer.  A common usage of AR for example is in heads up displays (HUD), where data or information is being displayed in transparent displays without making the users look away from the usual viewpoints.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fw5co9monjbz9qjikoiqs.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fw5co9monjbz9qjikoiqs.png" alt="Virtual Fixtures – first A.R. system"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;Virtual Fixtures – first A.R. system (1992, U.S. Air Force, WPAFB)&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;AR once had a niche market but has now expanded into more broader industries such as gaming, education and businesses.  AR is has become more popular with the success of Pokemen Go.  As technology gets better and better, tech companies like Google and Apple has invested in incorporating AR in their devices for developers to explore the different possibilities. &lt;/p&gt;

&lt;h2&gt;
  
  
  Technological Advancement
&lt;/h2&gt;

&lt;p&gt;Though it still requires a computer and other tracking devices, consumers are now able to purchase their own gear to jump into the virtual world.  Developers too have been given the opportunity to create their own content and distribute it easily in the market.  The most notable names that resonate in the market are Oculus and HTC Vive.  Sony soon joined the bandwagon, creating their own VR peripherals which was cheaper than the PC versions.  &lt;/p&gt;

&lt;p&gt;With these technological advancements, it is not impossible to see that one day VR and AR would be fully supported on our smart devices.  Tech giants have already started integrating the technology in smartphones.  Companies already have taken the advantage of this by creating rich experiences for their users.  While the developers at Mozilla and Google proposing the standardisation of WebXR API, web developers have started to create plugins to make VR and AR work for the web.&lt;/p&gt;

&lt;h2&gt;
  
  
  VR and AR in the Web
&lt;/h2&gt;

&lt;p&gt;As all developers wait for the WebXR API to be standardised and released to the public, there are a lot of other alternatives where developers can utilise to showcare VR and AR for the web.  The most popular one out there is Three.js by Ricardo Cabello (Mr.doob).  But it can be daunting for developers who have little or no experience in the WebGL.  An easier alternative would be A-Frame, a framework specifically designed to create rich VR experiences without having to know WebGL.  &lt;/p&gt;

&lt;p&gt;See the Pen &lt;a href="https://codepen.io/oninross/pen/Mvmdzg/" rel="noopener noreferrer"&gt;Hello World — A-Frame&lt;/a&gt; by Nino Ross Rodriguez (&lt;a href="https://codepen.io/oninross" rel="noopener noreferrer"&gt;@oninross&lt;/a&gt;) on &lt;a href="https://codepen.io" rel="noopener noreferrer"&gt;CodePen&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;A simple VR world like the example above was created only using 17 lines of HTML code.  It works well on both desktop and mobile devices and users can dive in immediately without downloading or installing any additional software or hardware.  There is an additional icon that is present on the screen where users can choose to be in full screen on desktop and stereoscopic VR on mobile devices.  It gets more interesting on mobile devices because the device acts like the camera in the VR world which means wherever the user looks, it's the actual representation in VR.  &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fsk4znfer1ubjx2r1frox.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fsk4znfer1ubjx2r1frox.jpeg" alt="AR.js demo displaying AR objects"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;AR.js demo displaying AR objects using Hiro markers on mobile phones&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;AR.js was created by Jerome Etienne, focusing on making AR for the web a reality.  Though it still relies and requires for markers to display elements on the screen, it's still a relatively big step on bringing AR to the web.  The sample above was created only using 30 lines of HTML code (a little bit larger to show 2 markers displaying 2 different objects).  Just like it's A-Frame sister, it works well on both desktop and mobile devices.  &lt;/p&gt;

&lt;h2&gt;
  
  
  The Future of VR and AR
&lt;/h2&gt;

&lt;p&gt;Google showcased WebARonARCore at their IO event this year.  I managed to play around with the experimental technology in Chrome Canary and I must say that it looks really promising and it's paving a brighter future for VR and AR in the web.  Markerless AR on the web would make it more easier for users to get onboard and immersive without the need of downloading an app.  The floodgates will surely be wide open when once this feature has been enabled by default and is standardised.  &lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=Zu6MXyfi-Ts" rel="noopener noreferrer"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/http%3A%2F%2Fimg.youtube.com%2Fvi%2FZu6MXyfi-Ts%2F0.jpg" alt="Google Demo of WebXR Device API"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;Google Demo of WebXR Device API&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Imagine a collaborative virtual world where you only need a smartphone and you don't need to download an app, where you don’t need to buy expensive equipment to experience VR, where you can visualise the information you need anywhere, anytime.  It is truly an exciting time for the mobile web.&lt;/p&gt;

</description>
      <category>virtualreality</category>
      <category>augmentedreality</category>
      <category>webdev</category>
      <category>mobilewebdevelopment</category>
    </item>
    <item>
      <title>Are QR Codes Making A Comeback?</title>
      <dc:creator>Nino Ross Rodriguez</dc:creator>
      <pubDate>Mon, 30 Jul 2018 11:21:56 +0000</pubDate>
      <link>https://dev.to/oninross/are-qr-codes-making-a-comeback-3e4k</link>
      <guid>https://dev.to/oninross/are-qr-codes-making-a-comeback-3e4k</guid>
      <description>&lt;p&gt;At some point in time, we have seen QR codes plastered all over the place, products, boxes and or posters.  It was meant to serve as a bridge from the physical world to the internet, taking users to a webpage, a YouTube video or even make your smart device perform a specific task.  The user experience imagined was to help users get to the information quickly. However, it was not the case.  Though QR codes are thought to be extinct, these squared dots refuse to die and are rising once again in different forms and use cases.&lt;/p&gt;

&lt;h1&gt;
  
  
  What ever happened to them?
&lt;/h1&gt;

&lt;p&gt;QR code system was invented to track vehicles during manufacturing and allowing high-speed component scanning.  Taking that simple idea and applying it to the web industry, it was supposed to provide users with quick and specific information.  If the QR code was on a poster about a concert, the user can simple scan the QR code and take the users to a webpage containing more information about the concert.  That is just one of the possible applications.  &lt;/p&gt;

&lt;p&gt;Though the abbreviation means “Quick Response,” there were pitfalls in the user experience of the technology.  At the time of the QR code boom, responsive web design was not yet common and viewing a website on your smartphone was literally viewing the desktop version in a tiny screen.  It was a terrible experience.  It might be one of the main reasons why users have chosen to abandon and even ignore QR codes when they are in sight.  &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fm8vcksdya45o063rkx6d.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fm8vcksdya45o063rkx6d.png" title="R.I.P. QR Code" alt="alt text" width="218" height="310"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We barely see QR codes anymore.  Even if we did, we wouldn’t be bothered to pick up our smartphones to scan the codes.  However, it has risen from the ashes and is being used differently and others have evolved to something else.  &lt;/p&gt;

&lt;h1&gt;
  
  
  “I shall return…” - QR Code
&lt;/h1&gt;

&lt;p&gt;Typing on a small touch screen has always been a problem for most users.  Tech companies has always continued to improve keyboard typing on mobile devices ranging from auto-complete to swipe-typing.  That partially solves typing for sentences that we normally to in our day to day lives.  There are cases that a user will still need to type something out of the ordinary like a very long URL mixed with numbers and characters (need I mention both in small and big letters).  &lt;/p&gt;

&lt;p&gt;Cue in the QR Code.&lt;/p&gt;

&lt;h2&gt;
  
  
  WeChat
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Feoaaj5puap70t50cjkdt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Feoaaj5puap70t50cjkdt.png" title="WeChat Pay" alt="alt text" width="449" height="302"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It is probably one of the mobile apps that has successfully utilised the QR code and there is no sign of stopping.  It's the one-stop-app for the Chinese audience where users can use the app to pay bills, order goods and services, transfer money to other users, and pay in stores.  Stores would have a QR code on their counters, where the user would then scan these codes.  The user would then have to key in how much they will have to pay and that’s it.  It has simplified the user journey for the customers and made the experience a seamless one.&lt;/p&gt;

&lt;h2&gt;
  
  
  Twitter / LinkedIn
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2F5hv2lx0ujxsde6tcz0da.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2F5hv2lx0ujxsde6tcz0da.png" title="LinkedIn" alt="alt text" width="449" height="337"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Sharing contacts with people on a mobile phone can be tricky most of the time.  Especially if you heard the name differently or got a number wrong.  Twitter and LinkedIn have made it possible to easily share contacts with each other.  Both apps have their own QR code generator and reader, so users would be able to generate and scan these codes in 2 taps.  This way the person wouldn’t need to jot down the details and fumble trying to open their smartphones anymore.&lt;/p&gt;

&lt;h2&gt;
  
  
  Snapcodes / Spotify Codes
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2F3nm56190qy7hmp7i1ged.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2F3nm56190qy7hmp7i1ged.png" title="Spotify Codes" alt="alt text" width="572" height="300"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;One of the factors that confuses users about QR codes is that most of the time, users don’t know what to do with QR codes.  The blunt irony was that the QR code reader app was never installed on your device when you needed to scan, or there are no QR codes in sight when you finally have installed it.  Snapchat and Spotify have evolved QR code generating into a different level that would reflect more of their brand.  With Snapcodes having their “ghostly” logo and Spotify codes with their soundwaves, users would immediately know what app they should be using to scan these codes.&lt;/p&gt;

&lt;h1&gt;
  
  
  Hidden little gems
&lt;/h1&gt;

&lt;p&gt;With apps like Snapchat, WeChat and LinkedIn paving the way, I believe that QR codes are making a subtle come-back in the industry.  The term quick response is now living up to it's name, where both tech giants have finally included the feature in their respective devices.  Apple made it seamless by just pointing the camera on the QR code and a preview link to tell the user what it has decoded.  Google too included it in their software.  Though it required a little bit more steps than that of Apple’s, it still gets the job done. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fqbf8zj19fcmiqqb7odkn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fqbf8zj19fcmiqqb7odkn.png" title="Scanning QR Codes" alt="alt text" width="750" height="420"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;These little gems have helped improve the user experience for everyone.  When cameras from Apple or Android scan these QR codes, it gives a preview link that has been decoded.  This way it gives a sense of security to the user that what they are about to enter is something safe.  The best part of all, it’s not a third-party app anymore.  It would be simply taking out your phone and scanning the QR code to get to the endpoint quickly. &lt;/p&gt;

&lt;p&gt;The humble QR code has come a long way from being a disjointed user experience to quietly being reintroduced back into the industry.  These black and white in one form or another will aim to help us get from the physical world to the internet.  Look out for these things, it may be your window to a virtual world.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fkdc1x5leo9cz23byk34u.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fkdc1x5leo9cz23byk34u.png" title="infinite imaginations" alt="alt text" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ux</category>
      <category>qrcodes</category>
      <category>tech</category>
      <category>trends</category>
    </item>
    <item>
      <title>Identifying Objects Using Your Browser using TensorFlowJS</title>
      <dc:creator>Nino Ross Rodriguez</dc:creator>
      <pubDate>Tue, 12 Jun 2018 08:35:59 +0000</pubDate>
      <link>https://dev.to/oninross/identifying-objects-using-yourbrowser-1i3d</link>
      <guid>https://dev.to/oninross/identifying-objects-using-yourbrowser-1i3d</guid>
      <description>

&lt;p&gt;You might be familiar with the TV show &lt;a href="https://en.wikipedia.org/wiki/Silicon_Valley_(TV_series)"&gt;Silicon Valley&lt;/a&gt; and the &lt;a href="https://www.youtube.com/watch?v=ACmydtFDTGs"&gt;“Hot Dog” episode&lt;/a&gt; where the cast created an app to simply (and yet hilariously) determine the object as a hot dog or not a hot dog. And it’s not science fiction anymore with applications, like Google Lens, rolled out to most modern smartphones. These days anyone can simply point their camera and get the information they need, quickly.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--CCXGy8i5--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/g474ilocbdst7mofjyv0.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--CCXGy8i5--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/g474ilocbdst7mofjyv0.gif" alt="Silicon Valley: Hot Dog episode"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;There are services like &lt;a href="https://cloud.google.com/vision/"&gt;Google Cloud Vision API&lt;/a&gt;, &lt;a href="https://aws.amazon.com/rekognition/"&gt;AWS Rekognition&lt;/a&gt; and &lt;a href="https://clarifai.com/"&gt;Clarifai&lt;/a&gt; - to name a few - that are available in the market for anyone to implement and use. Though these services let you do to more with less code, it does come with a pay-as-you-go price tag. Also, it's a generic image identifier and may have a different use case.&lt;/p&gt;

&lt;p&gt;Enter: &lt;strong&gt;&lt;em&gt;TensorFlowJS&lt;/em&gt;&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--zh5I0Pqp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/eq6fpdrg0jqthcufidur.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--zh5I0Pqp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/eq6fpdrg0jqthcufidur.jpg" alt="TensorFlow JS"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It's a JavaScript library released by the Google Brain Team that brings machine learning for everyone. It was originally written in Python, C++ and CUDA. Thanks to the team, they have ported it to JavaScript, where it is commonly used in the browser. Though TensorFlowJS is not exactly the same as his big brother Python version, the library is already equipped with the necessary APIs to build and train models from scratch, run TensorFlow models and retrain pre-existing models, all the convenience of your browser.&lt;/p&gt;

&lt;p&gt;TensorFlow has been circulating around my reading feeds and with Google’s recent IO event, it inspired and pushed me to get my hands dirty in machine learning.&lt;/p&gt;

&lt;h2&gt;
  
  
  Road To Discovery
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--o8nJtyj_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/3ycvbc8x6j8w9c0h237l.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--o8nJtyj_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/3ycvbc8x6j8w9c0h237l.jpg" alt="Road to discovery"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Warnings from different sources suggest that, TensorFlow wouldn’t be helpful if you didn’t have any machine learning background. Python keeps popping up as the language of choice for developing in machine learning and it seemed that I needed to learn the basics in order to create to proceed. This was one of many hurdles that I encountered. But I was still determined to create my own image identifier.&lt;/p&gt;

&lt;h3&gt;
  
  
  Warning: If you don’t have any Machine Learning background, TensorFlow is not for you
&lt;/h3&gt;

&lt;p&gt;The first step is always going back to basics and read the documentations at &lt;a href="https://js.tensorflow.org/"&gt;TensorFlowJS’s website&lt;/a&gt;. It seemed to be pretty straightforward at first, but I was wrong. More questions surfaced and I was beginning to believe the warning signs earlier. Maybe I do need to learn about machine learning before I dive into TensorFlowJS. Even scouring YouTube for tutorials and references didn’t help much. I did manage to “create” an image classifier locally in my machine but it was running in Python. I needed it to be client-side just like the &lt;a href="https://emojiscavengerhunt.withgoogle.com/"&gt;Emoji Scavenger Hunt&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Having found the &lt;a href="https://github.com/google/emoji-scavenger-hunt"&gt;repository&lt;/a&gt; to the Emoji Scavenger Hunt and hours of reverse engineering the codes to suit to my needs, I was able to finally create my own image classifier that works smoothly in the client-side.&lt;/p&gt;

&lt;h3&gt;
  
  
  Teach it as if it was like a 2-year-old
&lt;/h3&gt;

&lt;p&gt;I thought that my biggest hurdle would be developing in Python. I was developing in a Windows environment initially and it was confusing and a pain to set up. But the moment I switched to a Mac environment, everything was smooth sailing. The biggest lesson that I learned was providing the system with good data. My colleagues told me in order to have results with high accuracy, you must provide good initial data.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--WMq48E7Z--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/gtg68zr81gchr1912dvw.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--WMq48E7Z--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/gtg68zr81gchr1912dvw.jpg" alt="Teach it as if it was like a 2-year-old"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;An analogy to simply understand how machine learning works is, teaching it by showing images as if it was like a 2-year-old, where data is the set of images and the 2-year-old is the machine learning system. For example, if you want the child to learn what an apple is, you would show the child different pictures of apples only. Nothing else should be in the picture. No other fruits, no other elements. After a certain number of pictures that the child has seen, they will be able to know when they see an apple in real-life. On the other hand, if you give the child pictures with apples and oranges, apples and bananas, apples and grapes. The child will get confused when they see those fruits together.&lt;/p&gt;

&lt;p&gt;The moral of the analogy is that the images that will be initially fed to the system for machine learning should be easy to comprehend for someone or something who doesn’t know what the subject is.&lt;/p&gt;

&lt;h2&gt;
  
  
  Riddle Me This PWA
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--KDdo9NZQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/mzs2802qaetkpnsmtbkk.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--KDdo9NZQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/mzs2802qaetkpnsmtbkk.jpg" alt="Riddle me this"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Riddle me this riddle me that&lt;br&gt;Random riddles taken out from the hat&lt;br&gt;When you know the answer take a snap&lt;br&gt;If you are correct I will give you a clap&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The goal was to come up with my own image identifier and put it into some good use. The Riddle Me This is a PWA that will show you random riddles of common items that can be found around your home. Your challenge is to find the answer and take a picture of it. If you are correct, you proceed with the other riddles. If you are wrong, well...keep guessing.&lt;/p&gt;

&lt;p&gt;Have a go at the link below! Happy hunting!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://goo.gl/oaVLDu"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--q_-lLVLU--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/ihzedef1w5h7cxxangnc.png" alt="Nat's Eye"&gt; https://goo.gl/oaVLDu&lt;/a&gt;&lt;/p&gt;


</description>
      <category>machinelearning</category>
      <category>tensorflowjs</category>
      <category>pwa</category>
      <category>javascript</category>
    </item>
    <item>
      <title>Through The Looking Glass: An Overview of Visual Recognition</title>
      <dc:creator>Nino Ross Rodriguez</dc:creator>
      <pubDate>Mon, 14 May 2018 07:58:05 +0000</pubDate>
      <link>https://dev.to/oninross/through-the-looking-glass-an-overview-of-visual-recognition-5e0l</link>
      <guid>https://dev.to/oninross/through-the-looking-glass-an-overview-of-visual-recognition-5e0l</guid>
      <description>&lt;h1&gt;
  
  
  Through The Looking Glass: An Overview of Visual Recognition
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/http%3A%2F%2Fadelphi.digital%2Farticles%2Fthrough-the-looking-glass%2Fmission-impossible-face-finding.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/http%3A%2F%2Fadelphi.digital%2Farticles%2Fthrough-the-looking-glass%2Fmission-impossible-face-finding.jpg" alt="Face finding from the movie Mission Impossible: Ghost Protocol" width="" height=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It’s like something straight out of a Sci-Fi movie — machines, robots and androids being able to identify objects and faces with ease. But these days, early adaptations of visual recognition or image recognition technology have been made available today through services provided by the likes of Google and IBM.&lt;/p&gt;

&lt;p&gt;Let’s take a journey of how computers and devices took the first steps looking into our world.&lt;/p&gt;

&lt;h2&gt;
  
  
  Google Images&lt;a href="https://en.wikipedia.org/wiki/Google_Images#Beginnings_and_expansion_.282001.E2.80.932011.29" rel="noopener noreferrer"&gt;[1]&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Do you remember the days when Google was just a search engine and all you could search for was simple text? Google developers then expanded their search product and gave users results with images. The search engine indexed millions of images and the Image Search was born.&lt;/p&gt;

&lt;p&gt;A few years later Google introduced the Search by Image feature, which allowed users to reverse image search directly into Google Search without any third-party add-ons.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/http%3A%2F%2Fadelphi.digital%2Farticles%2Fthrough-the-looking-glass%2Fgoogle-images.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/http%3A%2F%2Fadelphi.digital%2Farticles%2Fthrough-the-looking-glass%2Fgoogle-images.jpg" alt="Google Images" width="" height=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  “There’s An App For That™”&lt;a href="http://edition.cnn.com/2010/TECH/mobile/10/12/app.for.that/index.html" rel="noopener noreferrer"&gt;[2]&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Technologies were still young and limited back then. IBM Watson was still Deep Blue playing chess. The cloud was still a dodgy place to keep your files. You pretty much relied on Google to search for anything. Image recognition apps or programs were written either by companies with their own algorithm but were too expensive to produce, or piggybacked on Google’s Image Search which was the easier and cheaper solution.&lt;/p&gt;

&lt;p&gt;Likely developed at the same time as Google Images, Google went on to release an app version of their image search feature. It was called Google Goggles[3] and it allowed users to search by taking a picture. The app also featured the ability to recognise labels or landmarks without using a text-based search.&lt;/p&gt;

&lt;p&gt;This meant people could search for virtually anything, immediately, by using their smartphones and not have the argues wait of getting back to a desktop.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/http%3A%2F%2Fadelphi.digital%2Farticles%2Fthrough-the-looking-glass%2Fgoogle-goggles.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/http%3A%2F%2Fadelphi.digital%2Farticles%2Fthrough-the-looking-glass%2Fgoogle-goggles.jpg" alt="Google Goggles" width="" height=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Visual Recognition and Web Apps
&lt;/h2&gt;

&lt;p&gt;Let’s fast forward today’s date, where technology had a sudden growth spurt and gave us, users and developers, endless possibilities to play with.&lt;/p&gt;

&lt;p&gt;We now have the ability to tinker with artificial intelligence, machine learning, deep learning, natural language processing and visual recognition to name just a few. Of course, we can always hire developers with specialties in artificial intelligence and machine learning, but it would cost us an arm and a leg. There are services from IBM Watson&lt;a href="https://www.ibm.com/cloud/watson-visual-recognition" rel="noopener noreferrer"&gt;[4]&lt;/a&gt; and Google Cloud Platform&lt;a href="https://cloud.google.com/vision/" rel="noopener noreferrer"&gt;[5]&lt;/a&gt; that provide developers ease of use, all with an affordable price tag.&lt;/p&gt;

&lt;h2&gt;
  
  
  More Than Meets The Eye
&lt;/h2&gt;

&lt;p&gt;With the possibilities being endless, here are a few examples on how we can use these technologies at our disposal:&lt;/p&gt;

&lt;h3&gt;
  
  
  “Eye See It” App
&lt;/h3&gt;

&lt;p&gt;There may be a time our visually challenged friends may need assistance in identifying an object or reading small text. With an app installed on their smartphones, it would be as easy as taking a picture and the app, replying to the user with voice, telling the users what it has seen. A user could take a picture of an unknown object to them and could reply, “I am most definitely looking at a sports car”.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/http%3A%2F%2Fadelphi.digital%2Farticles%2Fthrough-the-looking-glass%2Fcentenario.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/http%3A%2F%2Fadelphi.digital%2Farticles%2Fthrough-the-looking-glass%2Fcentenario.jpg" alt="Centenario Lamborghini" width="" height=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  “Plant-Eye-tion” App
&lt;/h3&gt;

&lt;p&gt;A possible idea for the plant lovers out there who may not be as well versed as our gardener friends. Gardeners would be a walking encyclopedia of knowledge of plants, carrying information about the plants they take care of. What if we had an app that by taking a picture of the flower or plant, it would give you the name of the picture taken? Not only that, would it give you the full details of the flower/plant, it could help you keep the thing alive sharing how many times per day it needs to be waters and weather it prefers sun or shade… it can turn the hobbyist into an expert sharing the information relevant to your surroundings.&lt;/p&gt;

&lt;h3&gt;
  
  
  “Eye Keeper”
&lt;/h3&gt;

&lt;p&gt;Another possibility is curating relevant and safe content to your social media wall in real time. Think about it, you’re at an event and there is a big digital wall that aggregates the pictures taken by the people and its uploaded in social media or in the servers. Currently, you have two choices, you have dedicated team members monitoring and curating the content or you give up full control and allow every post with the relevant tagging to be posted to the wall. One costs a lot of time and money, the other is a huge risk.&lt;/p&gt;

&lt;p&gt;The visual recognition service can act as a gatekeeper, analysing the images before it actually reaches the live screen, automatically preventing any inappropriate images being displayed in the big screen.&lt;/p&gt;

&lt;h2&gt;
  
  
  I Can Show You The World...
&lt;/h2&gt;

&lt;p&gt;Artificial intelligence has taken its first few steps to further see into our world. In the near future, we might not need machine learning and deep learning anymore to “see” and “learn.” Google Lens&lt;a href="https://en.wikipedia.org/wiki/Google_Lens#App" rel="noopener noreferrer"&gt;[6]&lt;/a&gt; already took the first step in maximising the potential of the combination of visual recognition, deep learning and augmented reality.&lt;/p&gt;

&lt;p&gt;I too, took a step in trying to see what this technology can do. Have a play at our little demo below. I highly suggest that you use your mobile phone for scanning images. Bear in mind though, that this is only a proof of concept. You might still get weird replies from the web app. Happy clicking!&lt;/p&gt;

&lt;p&gt;&lt;a href="http://adel.ph/eye" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/http%3A%2F%2Fadelphi.digital%2Farticles%2Fthrough-the-looking-glass%2Fqrcode.png" alt="Nat's Eye" width="" height=""&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>imagerecognition</category>
      <category>visualrecognition</category>
      <category>machinelearning</category>
      <category>ai</category>
    </item>
    <item>
      <title>What I Have Learned From Building A Chatbot</title>
      <dc:creator>Nino Ross Rodriguez</dc:creator>
      <pubDate>Sun, 06 May 2018 21:37:29 +0000</pubDate>
      <link>https://dev.to/oninross/what-i-have-learned-from-building-a-chatbot-2hl5</link>
      <guid>https://dev.to/oninross/what-i-have-learned-from-building-a-chatbot-2hl5</guid>
      <description>&lt;h1&gt;
  
  
  What I Have Learned From Building A Chatbot
&lt;/h1&gt;

&lt;h2&gt;
  
  
  What’s with the hype?
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/http%3A%2F%2Fadelphi.digital%2Fassets%2Fadelphi%2Fimages%2Farticles%2Fconversational-ui.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/http%3A%2F%2Fadelphi.digital%2Fassets%2Fadelphi%2Fimages%2Farticles%2Fconversational-ui.gif" alt="Chat bubbles" width="" height=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Technology nerds and enthusiasts have always dreamed of having a conversation with an artificial intelligence or AI. The living embodiment of the perfect AI would be JARVIS from the Iron Man movies. No keyboards, no mouse, no stylus. Just your voice, to have a conversation with your virtual personal assistant to do work for you.&lt;/p&gt;

&lt;p&gt;But that is science fiction. AI is still in its infancy and it has a long way to go to reach maturity to beat the Turing test.&lt;/p&gt;

&lt;p&gt;When Siri came out in the iPhone, it was the first digital personal assistant made for users. I was amazed how it instantly recognizes your requests using voice and comes back with a reply. A few years later, Google Assistant came out not only on smart devices, but in smart speakers as well. It was the first virtual personal assistant that has a two-way conversation. Then there was a sudden boom of chatbots.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is a chatbot?
&lt;/h2&gt;

&lt;p&gt;A chatbot or a conversational UI is any interface that imitates chatting with a real human. It can be as simple as a chat window in a website or as complex interacting with an AI in a smart device. Whatever the medium may be if there is a two-way conversation, you are interacting with a chatbot.&lt;/p&gt;

&lt;p&gt;There are a few types of conversational UIs in the industry, flow type, AI type, and hybrid type.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/http%3A%2F%2Fadelphi.digital%2Fassets%2Fadelphi%2Fimages%2Farticles%2Fflow-type.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/http%3A%2F%2Fadelphi.digital%2Fassets%2Fadelphi%2Fimages%2Farticles%2Fflow-type.jpg" alt="Flow type" width="" height=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Flow type&lt;/strong&gt; is a tree-based kind of interaction, where the user is presented with choices and driven through a specific path. This path is pre-defined by the developer and can only “go” where the interface tells the user to go. An example here would be like the Choose Your Own Adventure books.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/http%3A%2F%2Fadelphi.digital%2Fassets%2Fadelphi%2Fimages%2Farticles%2Fai-type.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/http%3A%2F%2Fadelphi.digital%2Fassets%2Fadelphi%2Fimages%2Farticles%2Fai-type.gif" alt="AI type" width="" height=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AI type&lt;/strong&gt; relies on artificial intelligence where the user can freely engage and have a real conversation. Something like Google Assistant, Siri and Cortana, there is an AI driving behind all the conversation.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/http%3A%2F%2Fadelphi.digital%2Fassets%2Fadelphi%2Fimages%2Farticles%2Fhybrid-type.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/http%3A%2F%2Fadelphi.digital%2Fassets%2Fadelphi%2Fimages%2Farticles%2Fhybrid-type.jpg" alt="Hybrid type" width="" height=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Hybrid type&lt;/strong&gt; is the most common type of conversational UI and this is where chatbots come in. It’s a combination of flow type and AI where the users are driven through a specific path while they can engage with the chatbot in a conversation.&lt;/p&gt;

&lt;h2&gt;
  
  
  Do you want to build a chatbot?
&lt;/h2&gt;

&lt;p&gt;As a developer, you would only think that it would be as easy as getting code from the internet and deploy to a server. There was more to it than lines of code and pixels of art.&lt;/p&gt;

&lt;h3&gt;
  
  
  Lesson 1: “Don’t build one because of the hype”
&lt;/h3&gt;

&lt;p&gt;It was my first mistake and I believe that it’s the golden rule in creating chatbots. Just because its trending now means that one should get into the band wagon and hoping for it to do its job. What I did was basically got Nathan Mk I off the shelf and got my friends to test it. Because it didn’t have a sole purpose, the users who tested it assumed that they were “talking” to JARVIS.&lt;/p&gt;

&lt;p&gt;In short, the chatbot should have a purpose. Introduce the chatbot to your audience. Tell them what is his purpose and what can he do. This way you are setting your audiences’ expectations to the level of your chatbot’s capabilities.&lt;/p&gt;

&lt;h3&gt;
  
  
  Lesson 2: Map the user journey
&lt;/h3&gt;

&lt;p&gt;After concluding that the chatbot’s purpose should be my digital portfolio tour guide, I thought to myself: “how hard can it be? I have an online portfolio, there is my user journey.” I “programmed” Nathan Mk II to capture certain keywords and reply to them accordingly. However, I faced the problem of the possibility of users going to a different section of the site if they wanted to. Connecting them all together was troublesome. I got lost in my mind of how many different permutations can a user go from point A to wherever they wanted to. On top of that, there were a lot of holes that I didn’t foresee. It felt like it never ended.&lt;/p&gt;

&lt;p&gt;Lesson learned, mapping the user journey will make a developer’s life easier when it’s time to program the chatbot. You will also foresee any holes that needed plugging.&lt;/p&gt;

&lt;h3&gt;
  
  
  Lesson 3: Build the script
&lt;/h3&gt;

&lt;p&gt;Since I didn’t map out the user journey properly, I thought I could write the script on the fly. Again, “how hard can it be? I have my website, there’s my script.” Copy and paste should do it. As I progressed building my chatbot, I found it hard to come up with good replies and answers. It was either to broad, boring or had open-ended questions. This strayed the users from telling the chatbot the right keyword. ‘&lt;/p&gt;

&lt;p&gt;You need to lead your users. Guide them on what actions can be used to progress further. If you can’t come up with a meaning script, hire a copy writer. Solving logic is one thing and having a meaning conversation is another.&lt;/p&gt;

&lt;h3&gt;
  
  
  Lesson 4: Add some flavor to it
&lt;/h3&gt;

&lt;p&gt;Chatbots are still an inanimate object and text conversation can get boring quickly. However, it will say to whatever you program it to say. You can always mix it up with animated GIFs, photos, emojis, etc. (if applicable) just to keep the conversation interesting and fun. Give it a little personality as well. Giving the chatbot a little personality will make the users remember it.&lt;/p&gt;

&lt;h3&gt;
  
  
  Lesson 5: “I need a human”
&lt;/h3&gt;

&lt;p&gt;After endless hours of using and testing, I got used to navigating around the site using Nathan. I deployed it and let my friends try it. In the end, users got stuck in an infinite loop of “I don’t know” replies. That could mean bad experience for the user. Instead of trapping your users in limbo, make sure that if your user is stuck at most 3 “I don’t know,” give the option to talk to a human. We need to make our users happy by reaching their objective.&lt;/p&gt;

&lt;h2&gt;
  
  
  Nathan Mk III
&lt;/h2&gt;

&lt;p&gt;It was a good learning experience in creating Nathan and I had a lot of fun exploring this emerging technology. I learned that planning is essential because this is the backbone of the entire chatbot project. Just like any project that you may encounter, we need plan for the project, foresee the issues that may arise, and ask the questions needed. If planning is done properly, it would be smooth sailing from there onwards.&lt;/p&gt;

&lt;p&gt;Chatbots are popping everywhere and uses natural language to communicate with their users. We can further enhance the user experience by utilizing voice to communicate. Voice interactions and voice user interface will be the next big thing in the industry. Here is a demo of what came out of my learning experience. Have a play!&lt;/p&gt;

&lt;p&gt;&lt;a href="http://adel.ph/nat" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/http%3A%2F%2Fadelphi.digital%2Fassets%2Fadelphi%2Fimages%2Farticles%2Fnathan-ai-qr-code.png" alt="Nathan AI Mk III" width="" height=""&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>chatbot</category>
      <category>development</category>
      <category>ai</category>
      <category>technology</category>
    </item>
  </channel>
</rss>
