Developing custom views for your iOS project and want to visualize your updates immediately? Just want to configure some properties directly in Interface Builder? Check out IBInspectable and IBDesignable.
Posture, defined as the position of one’s body while sitting or standing, is something most developers take for granted. The cliche of the programmer hunched over their desk typing away on their laptop is alive and well in many offices. What, exactly, is the problem with poor posture? Is the job necessarily tied to poor back and neck health? What are the long term effects of poor posture? Is there a way to avoid pain down the road?
Looking into a classroom today, things might not look much different than they did 10+ years ago. But if you take a closer look, amongst the books and desks, there are computers, smart boards, and iPads. Technology has always had an influence on education, and in the digital age of today, modern tech companies and education institutions are working together to build effective learning tools.
Over time, as technology has advanced and new inventions have emerged, schools have adapted their means of educating by incorporating the latest technologies. As early as the 1920’s, radios were used to broadcast lessons. Then, film and television made their way into classrooms, headphones allowed for language labs and whiteboards started replacing chalkboards. By the late 1980’s, computers were common in schools throughout the country. Currently, over 1.5 million iPads are being used in educational or school settings.
According to the National Center for Education Statistics, in 1995 there were less then 1/2 million computers with internet access in all public schools. By 2008, only 13 years later, that number had increased 30x, bringing the total number of computers to over 15 million. In today’s classrooms, technology has an even greater presence as teachers are utilizing websites and apps in their lesson plans. As of March 2015, 77% of teachers use internet for instruction. Available resources vary in subject, skill level and ease of use. Some examples of technology being used in public elementary schools today are:
Starfall is a free website for preschool age students to learn letters, sounds, colors, play games and listen to songs.
Activinspire is one product available through Promethean Planet that allows teachers to create interactive lessons plans or find existing ones.
ST Math (Jiji Math) uses games to teach kids different math concepts through games and puzzles.
Using such products help motivate students and keep them engaged. Of course, not all students respond the same to one teaching method. For students that have special needs, there programs that help with communication. In an extreme, but not uncommon case, apps such as Proloquo2go, can be used on an iPod and allows otherwise nonverbal students to communicate with their peers, teachers and other individuals they might interact with on a daily basis.
Not only is technology changing education, but the relationship has a reverse effect as well. Schools are a major consumer of ed-tech products. In 2014, K-12 schools invested about $642 million in ed-tech products and even more the following year. Ed-tech companies are also receiving increasing amounts of money from investors. According to Apple’s website, there are over 80,000 educational apps in the App Store. With so many to choose from, how do teachers narrow down their options? There are websites such as Common Sense Media that rate and provide reviews on educational tools, including websites and iPad apps, to help educators and parents select appropriate teaching material.
However, there is a disconnect between the developers and companies that build these applications, and the schools and individuals that use them. When building software that is to be used in public schools, by young children especially, there are additional factors to consider. The Office of Educational Technology has created a document that addresses these issues.
The Ed Tech Developer’s Guide gives advice to educators on how to select appropriate apps, and to developers on how to build a product that will coincide with school standards and meet specific requirements or expectations. Here are a few categories that are featured in the Ed Tech Developer’s Guide:
Multiple accounts. It’s common for iPad apps to require login and usually one user per device is logged in at a time, but when the device is being shared by multiple students, it’s necessary to be able to easily and quickly switch between more than one user.
Privacy. Developers need to be aware of privacy laws regarding their product’s data collection. Collecting personal information from children under 13 years old requires parental consent.
Accessibility. Technologies used in public schools need to be usable by all students, even those with disabilities.
As you can see, technology in education has come a long way and continues to evolve. With the the advancement of new technologies such as Virtual Reality (VR) and Augmented Reality (AR), things are sure to get more interesting in the classroom.
As a designer I’ve been influenced by many people and places. British designers Peter Saville and Vaughan Oliver immediately come to mind. As well, countries like Germany and Italy have affected me. Bauhaus, Futurism, Bruno Munari, the Memphis Group, and other forms of modernism and post-modernism have widened my vision and deepened my understanding. However, the country and culture that has influenced me most is Japan. I’ve always related to its customs, design, and philosophy, which are often diametrically opposed to Western ideals. After traveling there extensively over the past 15 years I consider myself somewhat of a Japanophile and want to share 5 essential Japanese design principles that have influenced me.
Great Design Pattern for Great Work
Most app development cannot avoid being composed of three parts: database/model, UI and the business logic associated with them. There are already many design patterns that allow for more structured communications between model and UI; for example, MVP and MVC.
After January’s Consumer Electronics Show in Las Vegas there was a great deal of talk about the future of the Internet of Things (IoT). On the whole it was a far cry from the good-natured hype that had characterized previous years’ reporting. There was a new note of caution in the optimism.
With the acquisition of Next in 1997, a new tool was initiated into the Apple family. Originally known as an enhancement of OpenStep, called NextStep, it caught the attention of the developer community under the name of Interface Builder, as part of the XCode suite. Now about to celebrate its 20th birthday, Interface Builder represents the most powerful IDE to design user interfaces in a development suite. It doesn’t matter if you are writing an app for iOS, Cocoa, tvOS or watchOS; when carefully used, it will save you hundreds of lines of code. For this and other innumerable reasons, many developers, like myself, love this tool.
In growing companies, as software systems become complex and extensively engineered, maintenance can be a challenging problem. Moreover, when high profile bugs arise and/or a lack of system availability arises, it can have disruptive consequences on a business. Hence there is little room for mistakes in these crucial systems.
At some companies, designers and developers have little to no interaction with clients or customers. It’s not uncommon for the people working on a project to be walled off from clients by account managers or customer service. At Grio, every designer and developer is client facing, and everyone ends up doing some of the work that is traditionally done by an account manager, such as managing day to day contacts, relationship management, and responding to problems & issues.
Howdy, lazy bum! Enjoying the ReactiveX magic? Want to take a look at polling?
I’ll be walking you through a solution I put together for one of our up and coming apps! It works rather well, I learned a lot, and so far no complaints…although there are no users yet either!
Feeling quite charitable, I’m going to let you in on some useful bits and pieces as we build up to polling: threading, late subscribing, replay, manual re-triggering and error handling (a must for preserving replays).