Skip to main content

Mobomo webinars-now on demand! | learn more.

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

Earlier this month we brought our expertise in mobile development and design to MobileUXCamp in DC. This BarCamp event gave us the opportunity to interact with other motivated and creative mobile enthusiasts. We facilitated discussions around several topics including one on how mobile design standards have influenced web design; we also talked about our UX process, and even delved into consulting strategies.

We enjoyed listening to Matt Forr, of MindGrub, speak on the differences between the mobile and desktop experiences and how to display content to the user in his Responsive vs Redirect talk. He raised interesting questions such as, "should all content be available to the user"; this is something we're all thinking about right now as more companies are deciding between creating mobile versions of their websites or optimizing their existing sites for mobile.

Mobile development is new enough that best practices for design and development are constantly in flux and the future is being created now. MobileUXCamp provided an open forum to join mobile experts in dialogue on the topics that are relevant and pressing in the mobile space today.

You can view the slides from our presentation on Slideshare and pictures from the event on our Flickr page.

We're always interested in talking shop about mobile design and development practices so feel free to start a conversation with us in the comments below or hit us up on Twitter.

Categories
Author

Several of our designers and developers spent this past weekend attending sessions on art and technology and talking to people about Intridea's methods at Betascape. The event pulled together artists and technologists from various industries and demonstrated what is happening on the bleeding edge of that intersection - from robotics to personal fabrication to data visualization.

The most popular session among the Intridea contingent was Kyle Fritz's talk, "Computers Suck, The Internet Rules: How to make networked stuff that interacts with the real world." Kyle touched on ways to virtually control your home stereo, locks, lights, and other household objects that can be remotely manipulated with just a simple working knowledge of electronics and a bit of hacking. It was a great example to our designers of how advanced technology can be accessible and useful to them.

Kyle's talk inspired Charles and Ted to help out on the screenhead project. So they partnered with Jonathan Julian of 410Labs, forked Kyle's project, integrated the Google Street View API and the Tropo API. These additions allowed users to send a text with instructions like "name + map" (to open the recipient's browser and bring up a Google street view of the person's geographical location) or "name + image" (to open the recipient's browser and display a Google image search of the given name).

Overall, the presentations focused on the interactivity of art and science and the advantages gained from fluid, collaborative relationships between artists and technologists. We enthusiastically supported this event because we understand the intrinsic value of the relationship between art and technology. This is why we employ agile methods in both design and development, ensuring that our UX and Development teams work together closely throughout the entire cycle of design and development. Our goal is to create applications that are both visually stunning, usable, and technologically sound. We achieve this goal project after project by joining our designers with our developers in every step of the process. Design and development don't happen asynchronously on our teams - they happen congruently, and the results are always incredible.

When the two teams work closely together to create working systems an interesting thing happens: the designer begins to understand the mind of the developer and can intuit their feedback. This helps the designer work more effectively. Additionally, the developer begins to understand the mind of the designer and begins to think of their code with visual form and clarity.

A French composer understood what could come of the innovator and the creator working together:

I dream of a collaboration that would finally be total, in which the librettist would often think as a composer and the composer as a librettist.

Jacques Ibert

We've learned a lot from working with each other and through cultivating a mutual appreciation for the idiosyncratic talents we all bring to the table. That is why we enthusiastically support events like Betascape and it's why we're always happy to talk about our process and strategy with others. We're interested in hearing how others are working collaboratively with art and technology, so please add your thoughts to the comments below!

Categories
Author

In a community where best practices are always being redefined, black magic practices aren't hard to come by. For our first discussion on controversial Rails practices we're focusing on default_scope.

Default Scopes (Briefly) Explained

default_scope is a Rails method provided by ActiveRecord which allows you to specify conditions for all the finders associated with a particular model. It is commonly used to specify ordering directly in your ActiveRecord model.

Sounds like a fairly good tool, but don't be fooled. Popular opinion dictates that default_scope is at the very least a chaotic good tool, bordering cunningly on the edge of the black magic stratosphere.

The Catalyst

Discussion about the behavior of default_scope ensued following this initial conversation:

Which led to several of our developers deciding that default_scope shouldn't be used carelessly:

The Council Convenes

Using default_scope, to my knowledge hasn't been overtly controversial, so I wanted to dig deeper and see what the big deal was. Four of our developers went into the topic more in-depth:

.dev_quote { clear:both; margin-left: 50px; margin-bottom: 20px; width: 90%; float: left; border-bottom: 1px solid #ddd; } .dev_quote p { padding-left: 90px; } .dev_quote .photo { float: left; padding-bottom: 20px; } .dev_quote .photo, img{ float: left; } .dev_quote .photo a { float: left; }

Pete: A scope is a selector. Selectors are used for searching for things. They are not meant to populate stuff. The fact that a default scope sets an attribute when a new object is created is an unwelcome side-effect.

Brent: Yes, and I prefer to be explicit when querying. Especially when it comes to maintaining an app. If I'm looking at code that was written months (or years) ago, I shouldn't have to remember a model's default query conditions. I've also run into situations where I needed to override a default order, but I couldn't do it, even with the "unscoped" scope. I'm not sure if that's normal, but it was annoying enough that I just removed the default scope.

Michael: I'm in favor of default scopes in certain cases but very against the default attribute setting. Take, for example, a collection of moderated posts. I would like to make sure that any time I'm showing users unmoderated content, I have had to explicitly turn OFF a default scope of where(approved: true) or similar. However, setting the attributes incorrectly assumes that my creation state and my default scope are meant to coincide. The moderation example plays through again here, where I want to create posts with approved set to false but that won't be the case if I use a default scope.

Ultimately I think setting attributes based on default scope is just plain confusing black magic. I'm not sure of the rules of when and how it would work, and if I can't predict it I certainly don't want it dictating the instantiation of my models. Plus it's called "default_scope" not "default_scope_and_initialization_attributes". The name implies nothing about attribute setting.

I actually believe, though, that the attribute setting is a side-effect of other scoping. For instance, if you have a has_many :users and do some_model.users.create the model_id would already be set. So basically it's all very confusing, needs clarification and clear rules, and is probably the wrong choice most of the time.

Ping: I agree with your arguments on default_scope should not be used most of the time, since it is out of sight and creates extra queries if it is not needed all the time (when you're thinking about using unscoped).

However, you can avoid the auto-populate by using where('approved = true'). So if you would like the default value to be set for your model, you can use hash in default_scope, otherwise string.

I guess it is black magic, but it is everywhere for Rails anyway.

Pete: I usually limit my use of default scopes to a default sort order. Of course, that's VIEW logic showing up in the model, eh?

Michael: The fact that you can "get around" the setters by using SQL just proves that they shouldn't be there. If Rails can't figure out with complete certainty what the default scope is implying about the model, it shouldn't half-ass it and initialize the things that it can figure out. It should leave that up to the developer.

In a lot of ways I think ActiveRecord would benefit from optional DataMapper-style property declarations. Then defaults could be set and other special properties like that without relying on bizarre hacks like default_scope.

When I brought the topic to the Twitterverse, @bphogan likened using default_scope to using a sword with a bladed handle and @samullen advised against using default_scope at all without knowing about unscoped.

Black Magic?

So does using default_scope you a practitioner of Rails Black Magic? Not necessarily. People seem to be aware of the undesired effects of the method (resulting in it not being too harmful) and it does still make sense to use it in certain situations like specifying the order to display data to the user. In summary, I'm giving default_scope a chaotic neutral alignment.

Do you have more insight on using default_scope? Share your thoughts with us below in the comments or on Twitter! We'll be tackling more Black Magic Rails topics in the coming weeks.

Categories
Author

UI Kits are commonly found in most designer's toolboxes. We use them to bootstrap visual elements of a product before diving into the harder work. They are not as common with developers though, and in the spirit of this weekend's Betascape event of joining Art *and* Technology, I'm here to advocate for UI kits as a simple bridge between the design world and the development world.

Typically, every project goes through three main phases: Discovery, Design and Development. Although each phase defines a distinct position in the process, they do intermix. Generally, development starts as early as the Discovery phase, design continues to happen throughout all phases, and new requirements from the client pop up long after the Discovery phase is complete. This three-phased process is natural and effective but could be kicked up a notch by integrating a UI kit to the discovery phase.

UI Kits are packed with features that enable stylized rapid development. Bootstrap, a UI kit that was recently released by Twitter, is an all-inclusive HTML and CSS style guide that includes forms, alerts, block messages, grid columns, and even flyout menus - many of the elements that are often put off during the initial design and development process of a web app.

Using a UI Kit will completely change and enhance your design and development experience. Here's how:

  • Product Aesthetics: During the initial phase the client usually receives a few rounds of prototypes before the final approach is decided upon. With the aid of a UI kit developers can work with styles before they've even begun to work with their models and controllers, leading to better looking iterations and proofs of concepts. Adding enhanced design elements to otherwise graphically sparse POCs gives the client a better feel for their product before it even becomes a product.
  • Survival: There's a half-serious theory that babies are cute so we won't eat them. Your application, even in its infancy should be something to behold. Applications that are visually pleasing will naturally inspire the creativity of those working on it. UI kits give you style guides that include typography, palette guides, and forms so you can quickly add visual organization and style even during the rapid prototyping stages. Pretty applications are just more fun to work on.
  • Cohesive Teams: Getting a base user interface in place at the beginning of a project opens up communication and collaboration channels between designers and developers. The development team will have an earlier idea of the UI approach and be able to align the engineering of the application more closely with the design vision. Disconnects between architecture and UI will be revealed earlier in the process, allowing greater flexibility for changes and tweaks.
  • Promotes Creativity: With a good UI kit designers can put layouts together with ease and then spend their time pushing the bounds of creativity rather than pushing pixels.

A UI kit is something that should be in every designer *and* developer's tool box; it should especially be a core part of your team's Discovery phase. It allows the product to take visual shape earlier in the process, aiding both designers, developers, and the client. Style guides take care of the heavy lifting on the front-end, enabling the artists and the scientists to collaborate more effectively.

Categories
Author

This weekend we'll be supporting the innovation that happens when artists and technologists collide, through our sponsorship of Betascape 2011.

Last weekend, we sponsored and presented at MobileUXCamp in DC to discuss the ways in which mobile devices are reshaping our interactions with the web. This weekend we'll be in Baltimore, supporting the incredible work that happens when artists and technologists focus their combined talents.

Betascape is an annual event in Baltimore, aimed at involving designers and developers in ground-breaking work though informative sessions and interactive workshops. Participants come together in groups on the final day to explore the new ideas that emerged over the course of the weekend and create small projects that will be judged and awarded based on their level of innovation.

Betascape's theme and purpose is analogous with our method of design and development at Intridea. Our design process isn't detached from our development process; our designers don't work independently from our programmers. Rather, they work together closely from initial discovery to prototype to the finished product (and beyond).

Designers and developers at Intridea explore our client's needs together, and when the final design is approved and sent to our development team, the designers stay involved throughout the process to ensure that the UI/UX adapts to any architectural changes that are made during the development process. This ensures that when a product is complete the application is both aesthetically and structurally optimal.

We understand the value of the relationship between artist and technologist and we're looking forward to talking about our process at this weekend's neoteric event. Join us in the Interactive Lounge to talk shop or even just to say hello and grab some fancy die cut stickers! If you won't be at the event, be sure to follow us on Twitter for live coverage of the happenings over the weekend.

Categories
Author

On Thursday, September 15th, the National Technical Information Service, U.S. Department of Commerce (www.ntis.gov) and Mobomo (https://www.mobomo.com) hosted a webinar discussing "Privacy and Security Management Considerations When Deploying Mobile Applications in the Federal Government"

Panelists included:

  • Katie Lewis is an Interactive Producer at NASA. Working out of Goddard Space Flight Center in Greenbelt, Maryland, she experiments with different interactive formats for disseminating space and earth science content—including videos, animations, and visualizations created by Goddard’s multimedia team—on the web and beyond. She currently plays a role in content delivery and interface design for the recently-released NASA Visualization Explorer iPad app. She holds a B.S. In Interactive Multimedia From James Madison University.
  • Jay A. Crossler received his BS in Information Decision Systems from Carnegie Mellon University and his MS in Information Security from George Mason University in Fairfax, Virginia. He is pursuing a Ph.D. of Information Technology at George Mason University, and has taught advanced XML and Web Service Masters classes at Johns Hopkins University in Baltimore, Maryland. Jay is now a researcher for the MITRE Corporation, a non-profit group that advises the government on systems integration and how best to use technology. He is the Senior Technical Adviser for the Software Solutions and Technologies Department.
  • LaShemma Simmons is a bureau spokesperson to other government agencies regarding all of NTIS Federal service and support offerings. She supports the development and implementation of NTIS sales plans, project plans, outreach activities, market research and business cases to increase awareness and participation by Federal Agencies in the NTIS Federal Service Lines of Business. LaShemma is in charge of NTIS’s mobile strategy, design, and development joint venture with Mobomo, LLC to offer mobile services to federal agencies.

You can download the presentation here.

Webinar Presentation

 

Categories
Tags
Author

Inspired by their recent trip to the Wolfram Data Summit, Marc Garrett and Jurgen Altziebler share their thoughts on big data and the missing component.

The Wolfram Data Summit is an invitation-only gathering in Washington, DC which brings together the leaders of the world's largest data repositories. Professors, Chief Privacy Officers, Research Scientists, Chief Technology Officers, Data Architects, and Directors from leading organizations like UCSD, the U.S. Census Bureau, Thomson Reuters, Cornell, and Orbitz (among many others) come to present on the challenges and opportunities they face in the data community and to discuss their work.

The Summit reaches a broad range of innovators from virtually every discipline. The format of the summit promotes collaboration among participants across multiple domains, including medical, scientific, financial, academic and government. Presenters integrate topics with discussion on open government data, data in the media, and linguistics.

Our Motivation

We frequently work with clients that own or manage large data repositories; through our work with them we build applications that allow their users to easily access and learn from the data. Through continued exposure to the world of big data, we've realized that although a few large firms utilize tools like data mining and data analyses to make better business decisions, the information is generally under-used and often not used at all by smaller firms.

Data is Gold

One the most strikingly apparent details that Marc and Jurgen gleaned from the Summit was that data and content owners truly care about the accuracy of their data. All of the presenters conveyed a sanctity toward cultivating quality data.

What results from the work of these scrupulous and discerning leaders is a vast collection of (high-quality and accurate) data that can be used by anyone to make more strategic decisions involving their health, finances, or education, by business owners to learn more about their niche markets and identify trends and potential solutions to common problems. Data repositories are used by groups to predict and release information about everything from natural disasters and disease outbreaks to commute patterns and high-crime neighborhoods. This begs the question, "If data can be so useful to us, why are large organizations cutting funding to data projects such as Census.gov and Data.gov?" (Read this article from WhiteHouse.gov for a look at some of the ways Data.gov has been used in the last three years.)

The Experience Layer of Big Data

Jurgen and Marc identified that one of the solutions to the diminishing use of these repositories lies in the user experience layer of the data. In most cases data repositories offer large data sets in Excel or CSV files and while this format is appropriate for their expert audience, average users don't know how to get valuable information and stories out of plain data sets. On the bright side, this is a problem that's easy enough to fix.

Tell the story, guide the user to discover insights with a user friendly web layer.

Jurgen Altziebler

Data must be easily and intuitively accessible; otherwise, it goes unutilized. There is no question that aggregation and maintenance of data is beneficial for everyone from the CEO of a mutual funds company to the admissions office of a University, to the entrepreneur of a tech startup, to the person choosing between treatment options for an ill loved one.

In the age of Web 2.0 there is no reason for big or little data to be silo'd behind unusable interfaces. Owners of data repositories can work alongside UX/UI experts to launch a new wave of data accessibility. At Intridea, we are obsessed with the user experience, but we also see the whole picture - we build applications to allow users to seamlessly access information they need. Jurgen notes, "A good user experience begins and ends with usable data."

As designers, our job is as much about the aesthetics as it is about the functionality and accessibility to the product or data in question. WolframAlpha.com is a good case study of what's possible when centralized data is made available to the average user through the power of a knowledge engine and intuitive interface. A simple query for "speed of light" or "heart disease risk" returns computational details on a macro and micro level.

What We've Learned

Data truly is gold. But it will waste away in mines if we do not create the appropriate tools for people to harvest and utilize it. If data owners can be encouraged to work with design experts, and if designers can be inspired to assist on these valuable data projects we can bridge the gap between the data and the user and unleash the inherent value in democratized data.

Categories
Author

If you follow us on Twitter you probably know by now that a significant group of Intrideans gathered together in Maryland over the weekend for an Intridea Retreat on the Chesapeake Bay. Despite being a distributed team of Rails developers and designers, most of us do see each other throughout the year as we travel to conferences, give trainings, and work onsite with clients. Even so, the retreat was the first time almost all of us were together in one place for a long weekend.

The retreat was held in a charming (yet modern) cabin on the Chesapeake, and while there was no shortage of outdoor activities (like kayaking, ziplines, swimming and rock climbing just to name a few), we also spent an extraordinary amount of time huddled inside the cabin. We organized a multitude of sessions to share tactics, talk about best practices, collaborate on development and design strategy, and share our agile project management methods including Forge and Scrum.

Individual commitment to a group effort -- that is what makes a team work, a company work, a society work, a civilization work.

Vince Lombardi

Many important things resulted from this weekend's sessions, but most notably:

  • Engineers learned more about the design team's process.
  • Designers and engineers formulated better strategies for communicating with our QA team.
  • Everyone gained a better understanding of how our technical leaders and project managers interact with clients to keep them informed and satisfied.
  • We learned some quick and easy tips on how to play a larger role in the Ruby community.

Most importantly, we came away enlightened and inspired to return to our offices and do more great work. Of course, we made time to kick back too; late-night karaoke with impressive David Bowie renditions, high-energy rounds of Werewolf, competitive Xbox gaming, and mid-day laps in the pool all made it on the schedule. There were homemade cupcakes courtesy of Amelia and exotic varieties of beer thanks to Patti and Jon's custom BeerConnect session.

Though we return to separate offices across the country (and the world), we bring with us a resonant solidarity and a humble feeling of gratitude for the talents of our fellow Intrideans, for the vision and dedication of our leadership, and for the freedom to work and live in all the different places we each call home. We're all looking forward to more good design, development, and of course, the next Intridea Retreat!

You can see additional photos of the weekend retreat on our Flickr page!

Categories
Author

Thursday night you'll find Intridea at the annual Social Matchbox Startup Launch Event. We're joining an impressive lineup of companies to support this grand event put on by DC-area Startup Founders, Investors and Leaders that helps startups gain exposure by providing access to prominent journalists and investors while providing a competitive launch platform.

Thursday evening at 6pm we'll be at the US Navy Memorial Heritage Center to observe the startup presentations and offer our expertise to fledgling entrepreneurs. Intridea's Senior Partner and Co-Founder, David Naffis, will be available to answer questions, give advice and talk about Intridea's own successful launch strategy. If you plan to attend the event, be sure to stop by our table to say hello! We look forward to talking with you about web development, design, entrepreneurship, startups, and Ruby on Rails.

Categories
Author
Subscribe to