Skip to main content

Mobomo webinars-now on demand! | learn more.

We are pleased to be recognized for the 7th consecutive year as one of Inc 5000’s Fastest Growing Firms. “Our talented, growing and evolving team, driven by delivering elegant solutions to our customers complex problems, is directly attributed to receiving this honor,” said Mobomo CEO, Brian Lacey. “This award highlights the resiliency, leadership, and significant capabilities of our team, showcasing their hard work and dedication to our clients.”.

Mobomo is a premier mobile-first web and mobile application development company that has extensive experience working with federal agencies and commercial enterprises. Inc magazine revealed that we were recognized for one of the nation’s fastest-growing private companies.  The list represents a unique look at the most successful companies within the American economy’s most dynamic segment--its independent small businesses.

https://www.inc.com/profile/mobomo
Categories
Author

CFO ReStart, founded by Mobomo’s CFO Wendy Kessell, has been honored as the Asian American Chamber of Commerce (AACC)’s 2019 New Business of the Year, and Mobomo’s President, Ken Fang won AACC’s Member of the Year. The awards were bestowed at the “Jewels of Asia” Awards Gala held in Tysons Corner, Virginia on May 3, 2019. Dedicated to improving the economic development for Asian & Pacific American (APA) owned businesses in the Metropolitan Washington, D.C. area, the AACC hosts a gala each year in order to recognize businesses, community organizations, and APA business leaders who have made outstanding contributions to both the business community and economy.

The New Business of the Year awardee is recognized for demonstrating proactive and innovation leadership with their business or industry; demonstrating measurable success, growth, or promise as a business; and practicing good corporate citizenship and making exceptional contributions by promoting community betterment as an employer. CFO ReStart's CEO, Wendy Kessell, said "We are so honored to be recognized by the Asian American Chamber of Commerce. We feel fortunate to be able to help many Asian American run businesses with their 8(a) and government accounting needs. It is our great pleasure to work hand in hand with CEOs in many industries - government and commercial - to jumpstart their profits and position their companies at maximum shareholder value."

Categories
Author

Mobomo, LLC Appraised at CMMI Level 3

May 10, 2019, Vienna, VA - Mobomo, LLC today announced that it has been appraised at level 3 of the CMMI Institute’s Capability Maturity Model Integration (CMMI)®. The appraisal was performed by Nina Malyutina and Acme Process Group.

CMMI is a capability improvement framework that provides organizations with the essential elements of effective processes that ultimately improve their performance. An appraisal at maturity level 3 indicates the organization is performing at a “defined” level. At this level, processes are well characterized and understood, and are described in standards, procedures, tools, and methods. The organization’s set for standard processes, which is the basis for maturity level 3, is established and improved over time.

Brian Lacey, Mobomo’s CEO stated, “Mobomo is proud to have received a Level 3 appraisal from the CMMI Institute. It demonstrates our project teams’ dedication towards excellence, quality and rigor. Our repeatable processes not only ensure project success, but win our customers awards, including multiple Webby awards, Muse Creative awards, Acquia Engage awards, and Innovate IT awards, to name a few. We look forward to continually improving our process as part of our dedication to CMMI in order to consistently deliver better value and quality to our customers”

CMMI Institute is the global leader in the advancement of best practices in people process and technology. CMMI Institute’s promise is to inspire cultures of continuous improvement that elevate performance and create sustainable competitive advantage.

CMMI Institute offers market-driven solutions that provide insights for baselining and optimizing key organizational capabilities, cybermaturity, and data assets to elevate business performance. For over 25 years, thousands of high-performing organizations in a variety of industries, including aerospace, finance, healthcare, information technology, software, hardware, defense, transportation, and telecommunications, have achieved sustainable business success through adopting the CMMI and proved they are capable business partners and suppliers.

 


We are recognized as a Top Website Design Company on DesignRush.

Categories
Author

Less than five years ago, two young entrepreneurs named Ben Bixby and Greg O'Keeffe came to Intridea with an ambitious goal: launching a platform for helping homeowners track and reduce their energy consumption. It was a great idea, but we needed to work fast to have it done by their Earth Day launch target. Ben and Greg knew they were asking a lot, but their enthusiasm and desire to make a positive change in the world were contagious. It was an exciting and caffeine-fueled time.

After months of hard work and close collaboration between the Intridea and MyEnergy teams, we launched the beta version on Earth Day 2009. It was just the beginning of great things for Ben and Greg. That’s why we’re just as excited today to congratulate MyEnergy on their latest success: their acquisition by Nest Labs, home of the learning thermostat.

When I look back, I always think of that beta version of the MyEnergy platform as a perfect example of rapid prototyping and agile design and development done right. Under a time crunch, both our teams had to work closely to build out the minimum viable product while also creating a robust system that wouldn’t fail under load. I’m really proud of the work we all did.

After the successful beta launch and helping MyEnergy recruit and hire an internal engineering team, we've continued to stay close to them, offering engineering advice and the occasional extra hand when a big development push was needed. It’s been great following their growth and getting to partner with MyEnergy throughout the years.

Here’s what Ben Bixby, CEO of MyEnergy, had to say back in 2009 about working with our team:

"Intridea is a great partner for any startup looking to get off the ground quickly. The Intridea team worked closely with us to build our beta solution on a highly accelerated schedule and then helped us construct an internal development team to continue on from there."

Nest Labs, with their vision of changing the way people think about energy use, is the perfect home for MyEnergy. The simple design and usability of the Nest thermostat shows that Nest values good design and quality engineering. MyEnergy and Nest Labs: the perfect pairing.

Congratulations to both the MyEnergy and Nest teams -- we look forward to continued success!

Categories
Author

While building Surfiki, our real-time data intelligence engine, we realized that the logic contained in any number of natural language processing (NLP) and machine learning (ML) binaries is locked up on a server, with no access to the web. What if we could pass input parameters to a binary and express the output as JSON via a RESTful endpoint?

Say hello to REBIN.

REBIN was created to facilitate a simple method of exposing CLI applications–regardless of their language–to the web. Much of our current NLP and ML research is written in C and C++ because these languages offer the advantages of speed and scale.

But REBIN isn’t limited to compiled executables: as long as you can flag a script with +x you’re good to go! This means it’s easy to expose your R, Python, and Ruby libraries to an instant web service. With REBIN, we’ve included a visual dashboard where you can define your endpoints and executables. It’s trivial to create an endpoint:.think of REBIN as an instant web service for any binary or script.

REBIN is built on node.js and redis by Anthony Nyström and Jeff Baier. Hit us up on Twitter if you have questions or ideas, and grab the source on GitHub right now!

Strata Conference 2013

Categories
Author

Last weekend I participated in the first Hack the Midwest, a 24-hour hackathon in Kansas City. I was very impressed by the event: nearly 100 developers from the Kansas City area participated with tons of API sponsors and great prizes. I decided to go it alone and throw my hat into the ring with an idea that I had been thinking of for a while: what if there were email alerts for Netflix Instant? 24 hours later, the result was Qup.tv.

I was fortunate enough to be awarded top honors at the competition and since then the response to Qup has been phenomenal! It's been covered in GigaOM, SlashGear, and Silicon Prairie News (and even tweeted about by Roku) and has already grown to more than 600 users in under a week!Qup is a simple application that links your Netflix account to your email address. You receive periodic emails when Netflix adds new titles to their streaming catalog, and you can queue titles, watch them, or visit their Netflix page with one click. You don't even have to be signed into Netflix to queue up titles so you can add them from your phone or from a public computer without the hassle of signing in. Qup also pulls in Rotten Tomatoes scores for movies and gives you the power to filter the titles you receive based on Netflix rating, Rotten Tomatoes rating, and more coming soon.

The best part about the success of Qup for me has been demonstrating that something real, polished, and useful can be developed in just one day by just one person. It's one of the reasons I'm so passionate about web development: one person really can make a dent in the world.

If you're a Netflix user, I hope you'll give Qup a spin and if you're a developer I hope you'll take a look around and find a local hackathon to participate in. It's a lot of fun, you will learn a lot, and you might just get something you want to keep building out of it!

Categories
Author

I've been following the progress of Mozilla's BrowserID for some time now, and I'm a big fan. Having dove much deeper than most into the quagmire of fragmented authentication I've reached the same conclusion that Mozilla has: ultimately, authentication is a function that should belong to the user agent.

What is BrowserID?

BrowserID is a Single Sign-on service for the web, much like you can implement using OpenID or even Facebook or Twitter. However, BrowserID is fantastic for its simplicity: as an implementation of a simple "verified email" protocol, it is simply a way to be able to obtain the email of a user (and know that it's verified).

For now, this works via a Javascript authentication flow on a website that Mozilla is maintaining. However, the future of this technology is that you would verify your email directly within your browser and would then be able to sign in to supported websites using your browser itself.

But, you ask, why do we want authentication in the browser? Browsers are called User Agents for a reason: they are simply tools that help connect you to the content of the internet that interests you. And a lot of that content right now requires you to manage dozens of different passwords and store sensitive login information with a third party. BrowserID doesn't entirely solve this problem in its nascent web-based form, but once it is integrated into the browser itself BrowserID becomes a single, secure way to access content on the internet.

BrowserID + OmniAuth

I want BrowserID to succeed, and it will only succeed if people start using it. To that end, I've created OmniAuth BrowserID, a simple OmniAuth strategy that works with the BrowserID protocol. You can use it in your application like this:

# in Gemfile gem 'omniauth-browserid'  # in application use OmniAuth::Builder do   provider :browser_id end 

That's it! Now send your users to /auth/browser_id and they will be able to sign in using the BrowserID service. Of course you may prefer to implement your own Javascript flow. That's fine, too, just take a look at the project README for more information about customizing the flow.

BrowserID is an important idea and whether Mozilla's implementation is ultimately the one that gets adopted it's high time we started moving authentication to where it belongs: in the user agent.

Categories
Author

Last week Homezada officially released their home management software, a complete solution to the dispersed files, incomplete records, and scattered maintenance reports that plague homeowners everywhere.

Homezada's formula is "Everything about your home in one place" and they're serious about that; their software allows you to easily document all the possessions in your home, track the value of all of those items, track household improvements (making it easier to remember what you've done to improve your house when you decide to sell it), access an ongoing library of to-do maintenance items, and maintain checklists of seasonal cleaning, yardwork and maintenance projects. The system can remind you when it's time to update air filters, schedule furnace maintenance, and so on.

Below is screenshot of the to-do list functionality of the application:

Homezada approached Intridea to draft the wireframes, help design the user flow, and refine the user experience. Our design team, led by Jurgen and Ted, worked with their internal Rails development team to deliver an engaging and intuitive user experience and to help stylize it within the Rails app.

We were excited to work with Homezada on such an interesting and revolutionary project. We encourage you to watch some of the short videos on their site to learn more about the software.

If you need design or development expertise on your project contact us today to learn what we can do for you; at Intridea we are helping hundreds of people bring their ideas to life!

Categories
Author

Today I'm happy to announce that OmniAuth version 1.0.0 has been released into the wild. The result of more than a month of heavy development, the newest version of OmniAuth brings along with it a slate of new features, a whole new structure, and the tools to let OmniAuth be your only authentication library. The one thing that hasn't changed is OmniAuth's mission: to assume nothing about how your app works and what you want to do with authentication.

Breaking up the Band

OmniAuth was first written to abstract the common parts of authentication to external service providers like Twitter and Facebook. It launched as a small collection of gems that each contained many strategies (for instance, the oa-oauth gem contained Twitter and LinkedIn strategies). As OmniAuth's popularity grew five strategies became fifty-five. Releases became fewer and further between because of the overhead of managing pull requests and issues for dozens of strategies.

No more. Starting with OmniAuth 1.0, each and every OmniAuth strategy will live in its own gem. The downside of this for end users is that you will have a few more lines to declare in your Gemfiles. The upsides, however, are numerous:

  1. There is no longer a gatekeeper to releasing an OmniAuth strategy. Just build a gem, release it, and link it from the new strategy list wiki page.
  2. Individual strategies are free to make releases as often as they'd like. Users don't have to wait for a massive OmniAuth patch or minor release to pick up fixes for changing APIs or other improvements.
  3. With a lean, focused core OmniAuth itself will be able to release more frequently and adapt itself to the needs of strategy authors.

As a final note about structural gem changes, OmniAuth 1.0 marks the beginning of strict semantic versioning for the project. For end users, this doesn't mean much. For strategy authors, that means that you can safely declare your dependency on ~> 1.0.

Identity for OmniAuth

As I began using OmniAuth in my day-to-day coding, I began to crave the flexibility of OmniAuth in even traditional authentication scenarios. I wanted a way to leverage the same unassuming, simple authentication structure even when my users logged in via username and password. Today, I'm happy to announce the first official release of omniauth-identity, an OmniAuth strategy that bridges the gap between traditional auth and OmniAuth.

With omniauth-identity you can quickly and easily set up internal identity management for your app that behaves exactly like other OmniAuth strategies. The library is simple but its implications are powerful: you can now treat internal and external authentication exactly the same in your application.

OmniAuth now ships with a Developer strategy that is essentially "fake authentication" you can use as a placeholder until you determine your app's real authentication strategies. Combined with the potential of Identity, authentication no longer has to be that annoying "first thing" you have to do before you can get down to the real business of building your app. Just drop in OmniAuth, use the Developer strategy, and implement other strategies down the road when it works for the timeline of your app. This is how I'll be building all my apps from now on, and since OmniAuth is just Rack middleware even Sinatra and other non-Rails apps can use the same techniques.

For more information on how to use omniauth-identity, see the README on GitHub.

Strategy Builders: Better Docs, Better Tools

For the 1.0 release in addition to all of the new features and structure I also tried to significantly improve the documentation for the project, especially for those who are interested in building a strategy. You can see the results of those efforts on the OmniAuth wiki which is the official repository of all documentation for OmniAuth.

Along with better documentation for developers OmniAuth 1.0 also brings along a more declarative DSL for building strategies. The new strategy API gives developers clear ways to implement consistent functionality and makes everything cleaner across the board. For more information on the tools available for strategy developers, take a look at the Strategy Contribution Guide.

App Developers: Consistency, Dynamic Strategies

While many of the improvements in OmniAuth are structural and made for strategy developers, there's also some great stuff available for everyday users of OmniAuth! Here's some highlights of new features that work across all strategies:

Auth Hash. Some small tweaks have been made to the omniauth.auth hash that is returned after authentication completes. For one, you can now access keys using method accessors (e.g. env['omniauth.auth'].info.name. The user_info key has also been renamed simply to info. The schema can be considered a stable part of the public API and any breaking changes will trigger a major version release (you can rely on OmniAuth 1.9 to support the same schema as 1.0).

Options Everywhere. As of OmniAuth 1.0, strategy authors are encouraged to make all strategy configuration happen through the options hash that is passed in on initialization. You will still have strategies that have additional arguments (such as consumer keys and secrets) for convenience, but even those can be configured instead by passing in a single options hash. This means that every configurable aspect of the strategy is handled at runtime, which brings us to the next improvement.

Better Dynamic Strategies. OmniAuth 1.0 makes it easy to dynamically alter strategies for each request using the new, universally available setup phase. Simply set the :setup option to a Rack endpoint and you can modify the strategy or anything else about the environment before passing it along to OmniAuth for normal operation.

Skip Info. Some strategies will be able to determine the UID without making additional API calls. You can pass true, false, or a lambda that takes a UID and returns true or false as to whether additional info is required. This gives you the ability to make fewer API calls for cases where you already have a user in your system, for instance.

Custom Forms. If you are utilizing an OmniAuth strategy that displays the standard OmniAuth form, you can now pass in :form => (true || false || lambda) to the strategy to instead render a custom form that conforms better to your application. This replaces the previous poorly conceived method of requiring /auth/:provider to return a 404 in order for OmniAuth to trigger.

Calling All Companies

Now that each strategy for OmniAuth is its own gem, I'm putting a public call out to any and all companies with APIs, but especially companies that are already on a Ruby stack. I would like to get companies on board for maintaining their own "official" OmniAuth strategies. This gives developers using your API the simplest possible means of authenticating to your service and will only help you get more developer traction and experimentation.

I'm also happy to announce that our first "official" strategy maintainers are none other than GitHub! You can say hello to the official GitHub OmniAuth strategy and be sure that any changes to the GitHub API will be safely transitioned into the gem immediately. My hope is that going forward many more companies will join the official strategy ranks. If you're interested in maintaining an official strategy.

Where's That Strategy?

Because of the structural changes to OmniAuth not all existing strategies are available at launch. I fully expect that in the coming weeks the strategy count will regain lost ground and even surpass the count as of the last 0.x release, but if your favorite strategy is missing from the official list here's what you can do about it:

  1. Find the source code for your strategy in the 0-3-stable branch
  2. Clone omniauth-contrib and add the strategy there
  3. Follow the strategy adaption guide to update the strategy for 1.0
  4. Submit a pull request!

The omniauth-contrib repository is a temporary repository for strategies that have been written but aren't robust and supported enough to have their own gem yet. This repository is not going to be maintained as an actual RubyGem and the strategies contained inside are meant to eventually be adopted by developers to become their own gems.

One More Thing

One last thing that I wanted to do for 1.0 is create a kind of living example that the community could update to have a simple example of as many strategies as possible. You can now visit omniauth.org and try out a number of authentication strategies that OmniAuth has to offer. The code is all open so you can see how simple it is to add and use OmniAuth in your applications today!

Welcome to 1.0

OmniAuth 1.0 marks an important milestone for the project and I'm looking forward to a new, leaner trajectory that lets us make changes more nimbly (and keeps the outstanding issue count low to zero). While the changes for 1.0 were mostly written by me, OmniAuth has been an outstanding community effort and it couldn't have gotten to where it is today without the efforts of @sferik and countless other contributors. I hope you enjoy the new release and look forward to hearing your feedback!

Categories
Author

Demosphere, a leading provider of web-based administrative tools for youth sports organizations approached our mobile development team to help give their users mobile accessibility. For some time, they have provided an IVR interface to youth sports organizations to phone in results of soccer matches via cell phone voice commands. Demosphere wanted to break into the mobile app space because they knew that's where their users were; so, they asked us to assist with creating custom mobile applications for Android and iOS devices.

One of the primary directives was to give the mobile apps functionality and aesthetics similar to the system Demosphere users were already accustomed to. Our team worked closely with Demosphere to define a look and feel that would mimic the experience offered by the already popular voice system. We were able to utilize the structured interactions of that system to quickly and elegantly develop an Android and iOS solution that provided the same login and interaction system as the voice interface, coupled with a familiar and stylized input system.

The UX team worked directly with the client to create blueprint documents that covered the use cases and interactions that would be most straightforward for their users. Following that phase, they worked with their marketing department to define a UI that was on target with their brand.

In working with our vision for the user experience, German and Yincan engineered the development of the Android and iOS applications.

We employed a Kanban agile process for design and development; this lean development practice allowed us to consistently deliver in-process working versions of the applications and adjust to Demosphere's feedback as we developed. Following a few short weeks of development, Demosphere recently announced PhoneItIn for Android and iPhone.

PhoneItIn™ is Demosphere's revolutionary score reporting system. Rather than reporting scores in front of a computer, you can now report scores on the go from your mobile device. For those with iPhone or Android devices, a free app allows easy score reporting with no phone call required!

Ashley Ralph, Demosphere Blog

The whole process went smoothly thanks to utilizing web-born development practices and a tight feedback loop. Congratulations to the Demosphere team on penetrating the mobile app market!

Categories
Author
Subscribe to Announcements