Blog Channels

Community Introduction to Open Badges


Introduction to Open Badges

Open Badges are digital images that symbolize particular achievements, benchmarks, or experience. Unlike many of the digital badge systems that have sprung up in videogames and online, Open Badges are a shared language for data about these achievements. They are designed to break down the barriers between different systems that understand only their own sets of familiar credentials.



An AJAX Primer for the Faint of Heart

For the longest time, I was frightened by the idea of AJAX; the examples that I had seen were all intimidatingly complex, and my feeble grasp of HTTP requests didn't help much. However, jQuery's simple API and Django's clean structure facilitated the process immensely for me, and I would like to present a concise explanation along with a simple yet complete example of making an asynchronous HTTP request with Javascript.

AJAX is a workflow involving communication between a cli...



Use the 5 W’s to Create an Excellent User Experience

The 5 W's—the fundamental writing mnemonic we learned in grade school—can help us clearly communicate a story to our audience. They remind us to tell the key points of a story: Who, What, When, Where, and Why. This mnemonic method can also be used as a tool to guide successful user experience design.

Development Implement iAd and Let Layout Constraints Do The Lifting


Implement iAd and Let Layout Constraints Do The Lifting

Apple promotes iAd as an easy way for developers to monetize their apps.  Looking at the official iAd Programming guide, Apple makes it evident that little is required from the developer in the code-writing department to implement this framework.  Examining the example code, however, you may be surprised to find code that is written to support iOS versions as low as 5.0.

90% of devices have at least iOS 7.0 installed, so it would be nice to take advantage of Auto Layout.  If yo...

Development Back-End List Filtering with Django


Back-End List Filtering with Django

Django comes with a powerful and well-documented API for interacting with database objects. If you want to display a specific set of objects in a ListView, for example, you need only construct a queryset with the appropriate filters. However, this starts to get complicated if you want to be able to adjust the filters from the front end, and if there are many of them. In this example, I will demonstrate how to simultaneously implement multiple types of back-end filters on a large group of objects...



Creating a Multipage PDF Document from UIViews in iOS

We work on a wide variety of mobile projects here at Concentric Sky, and one requirement we occasionally encounter is for an iOS app to output data in PDF format. We've done this with UIWebViews in an EMR (electronic medical records) app for printing medication prescriptions and information leaflets, and in an industrial app for printing MSDS (material safety data sheet) documents for the client's products. We recently added this feature to an educational app, for outputting a multipage scrapbook, and in this blog post we'll detail the process.

Development Error-Free Python, Except Everywhere


Error-Free Python, Except Everywhere

I’ve worked with many software developers who would rate themselves high on the scale of conscientiousness. And that’s a good thing, as codifying best practices and gaining order from chaos is what keeps us from driving ourselves or our co-workers mad. Some developers even consider themselves ‘engineers', minus the certifications or legal liability. I’d guess that is because it implies a sense of professionalism and discipline.

This mindset extends beyond writing organized, error-free code. We often seek predictability in our development environments and automated deployments. We know how to clean a dataset or properly encoded media files. But as orderly as we might be, our software is used in the real-world by people who may not be as analytical or thorough.

Community iBeacon Use Cases


iBeacon Use Cases

Apple’s iBeacon micro-location technology is brimming with potential, but most people have yet to realize its value. I’ve enjoyed talking with our clients about how they can put iBeacon technology to work. I thought sharing a few use cases would help make more clear the potential power and benefit of iBeacons.

Development Client Admin for Django


Client Admin for Django

Concentric Sky recently open sourced version 1.0 of Client Admin, the Django admin interface we use as a basis for most of the Django projects we're involved in. I'm going to review a bit of background on the built-in Django admin interface, then talk about what we've done with Client Admin and where we'd like to take it in the future.

Design Smile Global V2 @ UNESCO MLW


Smile Global V2 @ UNESCO MLW

In January of 2014, we completed work for SMILE Consortium. SMILE, dedicated to bringing the best in pedagogical theory and implementation to classrooms around the world, was referred to Concentric Sky by Gooru Learning, another partner of Concentric Sky. SMILE focuses on improving education in developing countries through the synthesis of hardware and software. The SMILE Plug, a last-mile hardware solution, allows remote classrooms to project a local WiFi network. This network connects devices in a classroom to the knowledge archive stored on the Plug, opening up troves of information learners can use to craft and tinker with home-spun curriculums. Furthermore, the network serves as the transport vehicle for Smile Global.

Loading More