Okta and Oktana: Working Together

At Oktana, we’re proud of the work we’ve done and the companies we’ve had the opportunity to work with. Our goal with this blog is to share some of the work we’ve been doing and in turn highlight the things that make us good partners for those that may need help in the Salesforce space. One of our most recent partners -Okta- is one we’d like to highlight. Okta fast-growing technology company with a strong emphasis on enterprise security. Its focus is on the development of single sign-on systems for enterprise clients that allow users to log in to a number of services, including Gmail, Salesforce, and Slack all with one username and password. The success Okta has been experiencing has led to our partners so that we can assist them in their growth and capture key processes needed for such growth to be as smooth as possible.

Okta needed a partner to supplement its internal development team to achieve greater bandwidth, higher quality, and faster development cycles. In the process, we’ve become a part of Okta’s team and integrated ourselves into their workflow acting almost as an extension of the existing engineering team. Working together on projects with a goal of acting like one team even in an environment where everyone is collocated is something we’ve been doing for a long time. We can do it and we can do it really well. One of the key factors in the decision-making process that gravitated Okta to Oktana was the appreciation for transparency, honesty, and integrity when critically examining the work to be done and recognizing as a team the challenges we may face along the way as well as their solutions.

With that goal in mind, we have been working closely on a number of different projects. The biggest being an important refactoring exercise of their entire codebase. As mentioned earlier, growth is occurring so fast that they need to improve logic and code across the board is imperative to their ability scale. Oktana has become the face of this effort by spearheading improvements and encouraging the adoption of best practice principles that will lower maintenance costs and leverage Salesforce release improvements better.

This type of customer engagement is one that fits perfectly into our wheelhouse. The key elements of this project that we want to highlight are:

  • Apex/Visualforce
  • Salesforce Lightning and Lightning Components
  • Salesforce CPQ
  • Agile
  • Velocity
  • Quality
  • Transparency
  • Integrity
  • Honesty

Beyond our specific project described in this blog post, we’re also supporting Okta by helping improve its internal development processes. With the refactoring exercise, we’ve been slowly and subtly making the development process smoother and more streamlined for their team and helping them improve their scrum process as well. We are honored to get the chance to help an amazing organization such as Okta and hope we continue helping others in this same capacity.

If you are a Salesforce partner looking to partner with experts to help you provide the best custom app development solutions to your clients Contact us. Our team will give you more information about these services. 

Building Demos and Prototypes at Oktana

Everyone at Oktana is the best of the best at what they do and the incredible people that make up the Demos and Proof of Concepts team lead by Gonzalo is the perfect example of that. Whether it’s a Salesforce, mobile, or web project the team works hard to make our client’s dreams and ideas and make them a reality. The needs of our clients always come first and as such the team has developed into an extremely agile machine that is capable of producing and iterating on projects quickly while responding to new and changing requests.

The Demos and Proof of Concepts team’s role are to help our clients work through the entire prototyping process. First, we bring on all stakeholders and map out what the client’s goals and vision for the project are. The team is extremely adaptable and capable of discussing tasks at a very high level regardless of how fleshed out the idea is. Once all these ideas are captured the design team here at Oktana gets to work on designing the prototype. The design process here is highly iterative as we want to make sure our work is aligning with all of our client needs.

Once the design has been completed, the assets are then passed on to the engineering team. The engineering team then takes pre-built templates and reworks them into a working prototype for the project at hand. They continue to iterate on the concept with the client to ensure that it meets their needs. Once this process is completed the client will either decide to move forward on the development of the full product or not. If they opt not to move forward all code is then scrapped and the team moves on to its next project.

The Demos and Proof of Concepts team does incredible work for our clients with very little notice. They’ve built demos and prototypes that have been used for presentations in front of thousands of people at major conferences. If you’re ever in need of a demo or prototype then our team is here for you.

If you are a Salesforce partner looking to partner with experts to help you provide the best custom app development solutions to your clients Contact us. Our team will give you more information about these services. 

Salesforce Einstein and the Applications of Machine Learning API’s in Brand Growth

If you’re like me, you have about a billion photos in your photo album that you peruse after you’ve had a drink or are feeling sentimental. These photos could be of a dinner full of unvoiced farewells at a well-known restaurant with a childhood friend that is getting married or a photo of the first car that you bought. But, behind all these life events, there’s usually a brand or business associated with the experience.

Salesforce launched Einstein (AI) built into its Customer Relationship Management (CRM) platform in 2016 and Einstein is now delivering more than a billion AI-powered predictions each day. Einstein is capable of delivering advanced AI capabilities to Salesforce Service Cloud, App Cloud, Platform Cloud, Marketing Cloud, Sales Cloud and enables nearly anyone to build artificial intelligence powered apps through clicks or code.  

Within these clouds, App Cloud uses Einstein to integrate AI into its apps for enterprises and consumers. External developers utilize APIs to bring deep learning to their apps with Prediction Vision Services. Prediction Vision Services classifies unstructured images by comparing them to a vast library of pre-trained classifiers.

What this means, essentially, is that a massive range of images is categorized and fed into a neural network in order to “learn” how to classify them in an autonomous way.  

What are the implications of such image learning software?

The implications are actually widespread and exciting. Using such software would allow images that are not specifically tagged with names of brands, but are still online, to be found. The data is then used to deliver solutions and offers to people. For instance, the photos that you have online of your new car can be found by the people who manufactured it to offer personalized advertisements or messages.

KIA and SEEDPOST Collaboration

SEEDPOST, a digital communication agency in South Korea, partnered with KIA Motors to use an API developed by Immaga, a Bulgarian-based company that focuses on image analysis, recognition, and understanding to do just that. KIA Motors wanted to advertise its new KIA K5 Optima model so SEEDPOST used Immaga’s own Auto-Tagging API to match thirty-six different types of the KIA K5 Optima model. People testing the process could log into a website using their social media accounts, pick three images that they thought best represented their lifestyle, the API would sort through keywords that best represent the image contents and then generate a page with custom offerings from a profile pool of thirty-six different customizations (colors, engines, seats etc.) of the KIA K5 Optima.

We built a demo that can demonstrate the potential of the newly developed AI from Salesforce that can demonstrate the potential of their newly developed AI just like KIA did with its new model. We developed a puzzle-solving application to demonstrate the API’s capabilities and to offer a glimpse of the services to come.

In our demo with Einstein Puzzle at TrailheaDX (Salesforce Developer Conference), we decided to engage TrailheadDX attendees with the Einstein platform by providing the attendees with iPad Pro’s that can be used to piece together a puzzle. People took their iPad’s camera, showed it a piece of the puzzle and the Salesforce Prediction Vision Services API matched the piece with its place in the puzzle.  

The success of brands in the future would potentially be by leveraging data like those within untagged photos of brands, products, and experiences in social media posts to build digital solutions for client’s audiences that improve their lives in an organic way.

At Oktana, we help clients leverage data and build such solutions. We approach all our projects with a focus on the quality of the design and development that we do. We also provide dedicated support long after we implement solutions for our clients. These commitments to our craft have always been a driving force behind the business decisions we make, the culture we cultivate and how we move.

So, we’ve decided to take our products to the next level in this age of emerging automation and deep technology. We’re ready to continue to keep on top of digital trends and use machine learning, like Einstein’s APIs. And we’re committed to building and delivering the future of Salesforce technology and cutting-edge digital products– today.

5 Reasons to Use Scala

Java has been on the leading edge of the developing curve for a bevy of reasons. It’s one of the three core technologies that are responsible for the development of world wide web content and it’s reigned supreme in agility, functionality, and simplicity, however, there may be a possible contender that leverages a little more flexibility when it comes to ease of programming. Scala, designed over fifteen years ago by Martin Odersky at the Polytechnic School of Lausanne in Switzerland, runs on the Java Virtual Machine (JVM) and is actively continuing to be developed.

Scala is a source code that is intended to be compiled to Java bytecode so that the resulting executable code runs on a Java virtual machine. Scala provides language interoperability with Java, so that libraries written in both languages may be referenced directly in Scala or Java code.

That being said, let’s dive a little deeper into the Scala world and explore the five reasons why it’s blazing a trail for developers:

  1. Safe Parallel Computation: Parallel computing consists of dividing a problem into subproblems, then carrying out the solution of those problems simultaneously (“separate thread”), offering a solution to the initial problem. Java SE offers the reference frame “fork / join framework”, which makes it easier to implement parallel computing in its applications.
  2. Agility: This is the particular area where Scala is incontestably better than other languages, such as Java. In Scala, the limitations of OO patterns for implementing code does not apply and this pattern, the developers are also allowed to bring functional paradigms. So you have the best of both worlds when it comes to functional coding paradigms and the OO patterns.
  3. Third-party APIs: It’s safe to say every developer needs functionalities for the apps they are creating. Having said that, these days you count with two different options when choosing the functions you want for your app: either you start from scratch or you accept the help of a third party app.  However, Scala comes loaded with built-in functions, so, thanks to this, you now have far better controls with simple code that will surely improve your loading speed.
  4. Asynchronous Processing: Scala is built to deliver for asynchronous behavior so, just like other web development frameworks, it offers extreme ease with regard to standout natural codes.
  5. Lazy Evaluation: This is an evaluation that delays the calculation of an expression until its value becomes necessary. It also avoids repetition of the evaluation in case you may need it on other occasions. This characteristic may decrease the execution time of certain functions exponentially compared to other ways of evaluation.

So as you can see, Scala possesses the capability to surpass the reach of its predecessors and really supply developers with the tools necessary to build out amazing enterprise solutions. Oktana is a huge fan of utilizing Scala to develop user-profiles, implement permission management strategies as well as other high order functions.

4 Reasons Git is One Tool to Rule Them All

Here at Oktana, we focus on quality to ensure the applications we develop are secure, functional and scalable.

What is Git, you may ask? Git is an open source version control system used to manage pertinent files and company tracking history, all while coding in a secure environment.

Need further clarity? Let’s provide a little more context. In the early years of software development, engineers feared the possibility of losing their data and progress so they would record paper copies of source code throughout stages of development. Yep, that happened.

Over time, programs were eventually stored in computer hard drives, however, engineers were still cautious and thought further security measures needed to be instated. To address this issue, a lock system was created to protect data which came to be called Source Code Control System (SCCS). To put it simply, if one developer is editing a file, no other personnel can access the file.

As with anything involved with computer software, the next evolution of version control systems elevated to the cloud. There were many contenders but the most widely known was Subversion (SVN). SVN was centralized in one place and was the only source of all truth. The idea here was that if engineers still had to manage a locking file system, at least they could develop multiple versions of those files and create branches to track new versions of files without changing or rewriting the previous versions.

Everyone that had worked with SVN loves Git. It was the evolution of version control giving us the same power of the first paper copies, where you can add side notes in a file, have totally different stories, and backups but now we’re saving trees! Also, it’s in the cloud so it can be accessed from everywhere.

And thus, history was changed, or at least, a version of it.

Now that we have more of a background on Git, let’s explore the features a bit more:

1. Spread and conquer

Remember those single source of truth days? Well those are over now! Anyone who has a copy of the Git repository has access to the history log with all file versions and updates. So, if a meteorite were to crash the server, nothing would be lost because several engineers still have repositories that reflect the same information.

2. Web dependency isn’t independence

In the past, all the tracking was done in the remote repository, you needed to have an internet connection and, of course, to the repository itself. Now you can track everything locally where changes and commits are securely saved on your computer while you enjoy the hills until you return to civilization to deploy

3. Undo mistakes, look like a pro

Let’s face it, we all make mistakes. But don’t worry, in any situation, Git counts with an appropriate command. It doesn’t matter if you need to revert a commit or fix it because you forgot to add a file, you won’t need a new change in your application history.

4. Work in your own style

Git counts with a flexibility other version control systems do not possess, so, obviously, there are plenty of books that provide us with information on the right way to work with Git. However, there are as many books as teams. Every project and every developer have their own developing needs, and this is why Git is popular; it’s very flexible, adaptable, and really fosters team collaboration.

Key Advantages of React Native

Our first Oktana workshop of the year gave us some amazing tools on how to begin our journey through React Native. We’re always looking for new and innovative ways to develop top-notch functionalities and React Native is the next best thing. Similar to our React Native workshop, we will walk you through the four key advantages of this outstanding framework and how it is an awesome tool to develop optimal solutions with JavaScript. 

But, first things first, what exactly is React Native? React Native is the next generation of React – a JavaScript code library developed by Facebook and Instagram, released in 2013. It enables users to natively develop rendering applications for both Android and iOS operating systems.

Now that we know a little more about the framework, let’s jump into the 4 key advantages of React Native:

  1. JavaScript: According to Stack Overflow, more than 55% of developers use this language, so being JavaScript one of the fastest and most -used programming languages, combined with the community usage, and the incredible amount of documentation available, make React Native one of the most developer-friendly frameworks out there.
  2. Dynamics: One of the most amazing things about React native is the way it makes you think of the moments where you want to go from wireframes to something real, something tangible. As you gain experience, you will easily start to notice the “general minimal state” which makes your app work, and quickly notice the way it needs to change, dividing them into components, in order to form a more complex functionality. This way, something that seemed like a huge endeavor, you can resolve in no time.
  3. It’s all native: One thing we must definitely highlight is that React Native’s building blocks are reusable “native components” that enable developers to build more native-like UI/UX apps as opposed to typical hybrid frameworks which can’t be archived. This way, the app will have the speed, look, and functionality of a native mobile app
  4. Longevity: React is fairly new but it is certainly on an incline for demand. It was first released at the Hackathon to address technical issues for the developers’ community. It eventually transitioned into React Native, a framework created specifically for this initiative. Furthermore, React is heavily supported by the social media giant, Facebook, who have made a solid investment in the development of their technology.

In conclusion, React Native definitely provides great functionality both for developers and users. It enables developers to easily and quickly build a fast and intuitive mobile app working for both Android and iOS. Functioning on several different operating systems, it pays homage to their motto, “learn once, write anywhere.”