Category Archives: Technology
This post is by Peter Feltham, Solutions Architect at the white agency.
I went to a talk titled ‘Is Code Poetry?’ during the Sydney Writer’s Festival last month. My immediate answer to the titular question was ‘no, of course not’ – in fact it brought back the embarrassment I’d feel when my Dad would suggest filling in ‘Java, C++…’ on forms asking for ‘Languages spoken’. Seriously, programming doesn’t even begin to approach natural language – for a start most programming languages have less than fifty words in their vocabularies and besides, who ‘speaks’ in code anyway?
Well, the talk soon answered that question: there actually is a small movement of writers producing ‘code poems’ and ‘electronic literature’. More interesting to me though was a story told by the second speaker, the Australian futurist and co-inventor of VRML Mark Pesce.
Mark told the story of a time he was hired to do a kind of forensic analysis on the source code of dozens of well-known videogames. The unnamed company that hired him wanted to find instances of graphics algorithms that might infringe patents it had cheaply acquired, so it could prosecute them. Although I’m appalled by the ethics of such a mission, what programmer wouldn’t love to read that code? I’ve read the source code to Quake (its maker, Id software, open-sources its code after five years), and it’s like watching a master at work.
Ghosts of coders past.
So Mark spent weeks in isolation reading videogame source code, and in so doing he was absorbing the stories of the programmers who worked on those games. He told us about the three broad types of coders he met through their code.
The first were the kids straight out of school, landed miraculously in their dream job and being ground half to death by its relentless demands. Don’t like it? Well there’s a long line of hopefuls dying to take your place. You don’t have to look hard to find horror stories of young coders who’ve been chewed up and spat out by the big videogame studios.
The next contained those Mark called the ‘Journeymen’. They’d made it through to the other side of the gruelling first years and had developed a workmanlike style, turning out practical, effective if uninspiring code. You could see their battle scars in their practical constructs and their tried-and-true bags of tricks.
The last and rarest were the masters. Reading the source of one game had Mark scratching his head over a seemingly disconnected set of data-like modules, each similar but subtly different, and which seemed meant to fit together in some way but whose overarching purpose eluded him. It wasn’t until he read the final piece that the whole was revealed, a revelation that Mark says gave him the same sensation of beauty and elegance as when a poem’s closing word reveals the meaning of the rest with irreducible succinctness.
The game was Miyamoto’s Mario Kart.
What does your code look like?
Something that has long fascinated me is what makes for good code. There’s an unlimited variety of ways to tackle any programming problem, so what makes some pieces of code better than others? And for that matter what makes some coders better than others?
As I matured as a programmer I learnt a series of lessons that made me a better coder. I learnt that a bit of planning before coding isn’t a waste of time; that writing ‘clever’ code usually isn’t smart; that reusing existing code is almost always better than writing your own; that bugs are inevitable but you can minimise the damage by coding defensively. As I reflected on Mark’s story, I found a common thread that led me to my new coding motto: know your audience.
Programming is communication, but with whom are we communicating when we code? I have a feeling that many programmers instinctively write for the compiler, and I think I started out that way too. But the compiler doesn’t care. Your audience is other programmers.
As Mark’s story shows, code is more than just instructions for a machine; it’s written by people and read by people, it’s subtle and carries implicit information that the compiler doesn’t comprehend. When people read code it’s because they need to understand its meaning, perhaps because they need to fix a bug or add a new feature, integrate it with something else or even incorporate it into something new. If code is well written, it’s easy to understand and work on; if not then it can be a nightmare.
Writing this kind of good code means writing with your audience in mind. It means trying first and foremost to be understood by other people, not just by the compiler.
Coding for humans
Now I can see that the lessons I’ve learnt so far about writing better code all contribute to making code easy to read and understand. I’ve learnt to use patterns and conventions, even if I need to research whether one exists, because they’re easily recognised and they convey my intention implicitly; to choose common code libraries, because my audience probably already knows them; to think hard about what to name my objects; even to never cut corners, because the way I code influences others.
I need to talk about code comments because educators always stress their importance. Good code can explain itself so comments shouldn’t just paraphrase it. I think comments should be used to add context. Code itself can’t tell you when and how it is used, or why it was written that way, or what bug it fixes but comments can. Good comments can even guard against well-meaning attempts by others to ‘improve’ code that was put there for a good reason.
So code may not often be poetry, but it is a form of communication, and therefore (although it’s not the stereotype) good coders are great communicators. My message to my fellow coders is: you might be being crunched by a tight deadline right now, but spare a thought for the next person to read the code you’re writing. It might even end up being you.
Peter Feltham is Solutions Architect at the white agency. He finds beauty in the abstract and theoretical; loves to make and to take apart, to explore the complexity behind the façade. He is fascinated by minimalism, recursion, street art and Four Tet. This post first appeared on white’s wonderful blog. HT @mike_barry.
Newness is a strong currency in any creative industry. What determines the value of one new thing over another is its attractiveness on scale; a.k.a. is it trending?And so, this is a short post on three big trends we think everyone in a creative business should have an opinion on, not just technical folk.
1. The future is 3D printed
There are some great TED talks about it, thousands of blog posts written on it, and a lot of people starting to capitalise on it. Rapid prototyping, or better known as 3D printing, using special plastics and metals, forming layer upon layer to produce something tangible, something real from a software file.
It’s been around for the last 30 years in the industrial design and medical fields, but only now is it starting to be cheap enough to creep into ground level hands. From a consumer level, 3D printing will fundamentally change the way we interact with products we use and want everyday. From a business level, never has it been easier to conceptualise, prototype and manufacture something as quickly and cheaply as it is now with these 3D printers.
What this means in a nutshell is that it’s easy to create something physical from an idea and basic CAD skills. However with this new tech comes a slew of copyright issues surrounding the IP of product design. The Pirate Bay has wasted no time in creating a category where you can download such files. But what if you own the copyright, like most brands do for their products. Imagine what you could do with it as a medium to connect with people with personalised products.
Quick thinking businesses have popped up giving people a chance to design and 3D print anything. Check out Ponoko, Shapeways, and Cubify to see first hand the beginning of building organic, super-personalised products with software.
There is enormous potential for people in our business to personalise and create something for consumers that is fun and efficient. This will be the next level of product personalisation from brands.
2. Code is the new arithmetic
Let me start off this section with a bold question: What if Germany won the Second World War? It’s probable that we would be speaking German day-to-day, or at least learnt German in school.
Germany didn’t take over the world. But something else has. It’s software. It’s crept into our everyday lives via our phones, computers and TVs, making our lives easier, all the while disrupting traditional business models in the process. If software has become entrenched in our everyday lives (“taken over the world”), why don’t more people speak or understand the language?
There is a big movement in getting non-coders to begin to understand the basics of code. From a business POV it’s empowering, you’ll have a better understanding of all things digital, and you can start to hold your own with the techies in your team.
Most likely the kids you have – or hope to have – will know how to code (one man describes it as the arithmetic of tomorrow!). Even New York Mayor Bloomberg recently announced one of his 2012 New Year resolutions was to learn programming. That’s right, the Mayor! In my eyes, if it’s good for the goose, it’s good for the gander!
Some resources to get you started:
- The easiest way to get started: Codecademy
- An email a day to get you to learn code: Code Year
- Earn badges and work your way through design code too: Team Treehouse
3. Offline rules
Having an online store is no longer a strategic differentiator; it is no longer the reason why your business will succeed. It just buys you a seat at the table. Yet there are a lot of large Australian businesses that continue to believe in the ‘build it and they will come’ approach. While traditional businesses are trying to figure it out, the other online-based businesses are making their way offline and trying to cut their lunch.
This movement is based on one very simple nugget – people do more offline than they do online. While online has its own problems, there are real-world frictions that people need help fixing. Innovative online businesses are heading offline to alleviate these frictions, and making them loyal customers in the process.
With the friction of cash and the infrastructure needed to accept credit cards, both Square and PayPal Here have made enormous steps into mass uptake of a cash-less marketplace.
Eventbright didn’t want their business customers, those selling tickets to events, to have to try and keep tabs of their ticket inventory manually from online to offline (at the door sales). So they created a real world solution to consolidate and remove the friction so their customers can work more efficiently.
And then there’s Uber. After a few bad experiences in a taxi, some people actually want to pay a premium for a nicer and more reliable service. So they created a platform that empowered individuals who wanted to participate and earn money, while alleviating the friction created through years of complacent attitudes in the taxi industry.
These smart online-focused businesses are going to take over the world because they know how real people are moving, they aim to reduce the real world friction, and create real world experiences around them.
People in creative industries need to attach themselves to the new and upcoming and find the common ground for their brands. You need to be part of the trend; immerse yourself, put it in your back pocket, use it when necessary. Because if newness is the currency we need in this industry, you’ve gotta make sure you’re always dealing in cash.
DTDigital/Ogilvy strategist Athan Didaskalou last appeared on Nextness when he curated a visual diary. Follow him on Twitter @ATH. Thank you to DT Digital for this blog post, which first appeared on the DT Digital blog.
Image: Back to the Future screenshot by Baller House.
What do you feel at the thought of making a game? Fear?
People tend to get scared because games typically take a long time to build. But there are ways to make games simple, cost-effective and fun.
First, take a look at the common traits of the most popular games.
- There has to be some fun physics to play with. Whether it is Fruit Ninja or Angry Birds, physics makes the game feel intuitive. It also gives the player a great sense of reward when things happen just the way they expect.
- The game needs a sharing function, or a leaderboard for the player to compare their scores with their friends’ scores.
- The game needs to be absurd – something whacky and wonderful or unexpected.
Enter Zombie Ninjas.
Based on these traits, my friend and I set out to build Zombie Ninjas. The storyline and the gameplay became an obsession for us. We went crazy creating the world, the setting and the backstory of the game. We also created this sprawling interrelationship with multiple characters, and characters’ histories.
This code sample from Zombie Ninjas was written completely by accident:
It’s telling the program ‘if there are zombies loaded, run.’ But we realised, it also has a humorous double meaning outside the game context: ‘if there are zombies, run!’ I felt like Homer Simpson, reading prophetic words formed in a bowl of cereal.
It took two guys a couple of weeks to create this game in Flash and make it available for the Android Marketplace. Of course, we had to cut back on a lot of our more adventurous ideas so that we could feasibly do it without interfering with our main jobs.
But it’s not game over yet!
I mentioned how we can make games cost effectively. Part of this is what we call sprite sheets. These are large image files containing the animation frames for a game.
Our senior designer edited the above sprites and created an entirely new game called Bonkers the Clown where you play as a psychedelic clown on a jumping castle.
And we built it without the need for additional programming time.
A sound artist then finished the project by creating an entirely original soundtrack for the game. This was all done in less than two weeks. Flash (not dead!) is fast. As was the case for the last decade, Flash is still the fastest way to build or prototype a video game. With so many devices already running Flash, it also has a huge audience reach. And with Flash Professional 5 and 5.5, Flash developers can even export directly onto an iOS or Android device, thanks to the Adobe AIR platform.
Now that we have a pinball game engine from Zombie Ninjas, we can theoretically build any pinball-style game with less development time than creating it from scratch. We can give the sprite sheets to each artist in the studio and create a whole genre of games with fresh artwork.
Imagine if we had more game engines ready, like a puzzle engine, a racing-game engine and a platform game engine. Every time a client wanted a game, we could simply re-skin and rebrand an engine, making games a fun design job, rather than a drawn-out development job.
Games are fun to build, and they’re fun to be involved with.
You will find that when designing a game it’s easy to come up with many ideas, but it’s hard to fit all your ideas into the final product.
And when having discussions with your game development team, you may find that the topics revolve around the most bizarre arguments, like what the proper sound a ninja sword should make, or the right way a zombie is supposed to explode…
Finally, a personal tip.
Senior developer at the white agency, Garry Law specialises in RIA (Rich Internet Application) and game design. In the last 2 years, he has created solutions for some of Australia’s most well-known brands like Commonwealth Bank and Lexus. He is currently a level 26 Trooper in the new Star Wars: The Old Republic video game. Follow him on Twitter @garry_law.
Recent headlines may have you convinced that the Adobe Flash Platform is in its death throes.
Internet Explorer 10 is dumping all major plugins: When Windows 8 is released, there will be two versions of IE10, one using the new ‘Metro’ style touch interface, and the other a traditional desktop setup. Microsoft has said that it will dump Flash support in the Metro version of IE10.
Flash plugin development canned for mobile browsers: The news from Flash’s own creators that they were no longer developing features for the mobile plugin seemed to confirm that Flash is definitely dying, if not already dead for mobiles.
Mac OS X is no longer being shipped with Flash: Old news for some, but we are always reminded of the fact that Flash is not being shipped with Macs anymore whenever we set-up a new Macbook, and of course, all iOS devices block Flash.
The headlines appear to depict a very bleak outlook for Adobe Flash. But in fact the essential details paint a very different picture of the Flash landscape.
IE10 will still allow plugins for the desktop version of the browser, and the reasoning is obvious: why take something away from people if they need it, and you’re already giving it to them? With Flash desktop penetration at 95% to 98% (depending on who you ask), that’s a lot of users who potentially depend on Flash for their video content and day-to-day work. Imagine the panic if this was taken away from people!
It is true that Adobe has stopped further development on the mobile version of Flash, but it is still supporting it. There is some very important language in here, because Flash is already packed with features and frameworks that HTML5 alternatives are only just starting to gather, so even the current Flash build would suit the needs of most applications.
What often gets ignored (and what I am really excited about) is the flexibility and power of the Adobe AIR framework, which is based on Flash. Since the release of Creative Suite 5 and 5.5, existing Flash developers have been able to easily create apps with Flash, making them available through the App Store or Android Market, bypassing the need for a Flash browser plug-in altogether.
Flash also has a large and devout community that has been growing for the last 16-17 years. Today, there are over three million developers who use the Flash platform for their solutions. Whether it be adding a physics game, 3D game, webcam support or video streaming – all these solutions are no longer experimental, and only require a little effort to dig up.
As the platform war between Apple and Adobe continues to play out, it is nice to know that the huge pool of Flash developers and knowledge can still be harnessed to create applications on both mobile and desktop devices.
Working in the world of technology, I am a firm believer in constant change and progress.
I enjoy delivering solutions in Flash, but do not feel the need to make it exclusive the way some may feel. I admire the fact that Adobe is still taking efforts to leverage the strengths of Flash, whilst still paying close attention to HTML5 developments, as opposed to the stubborn rejection of Flash by Apple.
Adobe Flash, in either its plugin form or Adobe AIR, is not going to die off any time soon. I’m not saying it will last forever. But in its current state, and with Adobe AIR as backup – we’re going to see a lot more applications developed with Flash before it disappears.
Senior developer at the white agency, Garry Law specialises in RIA (Rich Internet Application) and game design. In the last 2 years, he has created solutions for some of Australia’s most well-known brands like Commonwealth Bank and Lexus. He is currently a level 26 Trooper in the new Star Wars: The Old Republic video game. Follow him on Twitter @garry_law. Tomorrow, he’ll guest post for us on game-making.
“The best camera is the one you have with you,” photographer Chase Jarvis once said.
A top of the line DSLR with all the bells and whistles might produce great images, but not if it is in your cupboard at home. Of course, this theory isn’t new, and can be applied beyond photography. Take David Hayes for example, who caught a record breaking catfish with his granddaughter’s pink Barbie fishing rod.
Jarvis’ statement was a celebration of the iPhone, the little camera that is always in your pocket. At the time he made it, in 2009, the iPhone surpassed Canon’s entry level DSLR to become the most popular camera on photo-sharing site, Flickr. Now, an average of 10,000 iPhone photos are uploaded every day.
Among those uploaders are Photographers such as Melbourne’s Mischo Baranovic and KikoTheGnou from Paris who take, and process, amazing photos with their phones. In July of last year, Lee Morris shot a fashion shoot with his iPhone 3GS.
Of course, Apple did not invent the camera phone. And indeed many competitors in the market have had, and still have, much better onboard cameras. Among others, Android handsets are fast nipping at the heels of the iPhone, with 8 megapixel cameras on board their HTC Desire and Desire HD handsets.
But what really sets the iPhone apart is the wide range of apps available that allow a user to breathe life into their photos. With literally thousands of apps in the photography category of the app store, it can be a little confusing knowing where to start. Here are a couple of my personal favourites.
Make it look nice.
Hipstamatic (iPhone $2.49)
Hipstamatic is still the king of the lo-fi look, so popular in iPhoneography. Just pick a lens, a film type and a flash, and away you go.
Hipstamatic has a massive following (check out the 133k+ photos in the Flickr group) even among the pros. Damon Winters was recently the centre of a controversy after his Hipstamatic photography from the frontlines of Afghanistan was featured on the front of the New York Times, and won the third prize from Pictures of the Year International. Critics questioned how appropriate the usage of the app was in photojournalism, to which Winters replied:
At the heart of all of these photos is a moment or a detail or an expression that tells the story of these soldiers’ day-to-day lives while on a combat mission. Nothing can change that. No content has been added, taken away, obscured or altered. These are remarkably straightforward and simple images.
SwankoLab (iPhone $2.49)
This less well-known cousin of Hipstamatic simulates the processing of your images in a dark room. With Swankolab you can choose from a range of chemicals, developers etc. then drop your paper into the tray. Slowly your image appears right in front of your eyes. Plus there’s all with all sorts of crazy effects that you can get, based on your chemical selection. The only thing missing is that distinct darkroom smell.
Photo fx (iPhone $3.99)
My photo editor of choice, Photo FX is packed with editing tools to help you get the most out of your photo. Black and white conversion, levels adjustment, blurring, cropping, colour correction, contrast, lighting effects, special effects… phew! I’ve had this one for a while and I’m still discovering new things.
FxCamera (Android. Free)
This free app will surely bring out the inner hipster in any Android user, the best lo-fi app on the platform. A swag of filters, including fish eye, toy camera and Polandroid make this the must have lomo-esque app.
Camera+ (iPhone $1.19)
Camera+ (not Camera Plus), is an all-in-one photo taking and editing app that improves on many of the features in the standard Apple camera.
While the wide range of included filters (like Lomo, “So Emo” and Cross Process) are handy, the real benefit comes from the additional photo taking features, such as the stabiliser, self timer and the ability to turn on the LED as a continuous light, rather than a flash. Most impressive however is the exposure/focus control. Camera+ enables you to set the focus at one point, and the exposure at another, giving you much finer control over the final image.
The team at Camera+ have just added a new feature- clarity -which brightens up detail lost in shadow. More exciting than the feature is the promo video they released to show it off.
Interestingly, Camera+ was pulled from the app store mid last year, after they included a hidden feature that enabled the user to reprogram the volume buttons to act as a shutter button, violating Apple’s Developer Program License Agreement. The app was reapproved after four months, with the offending feature was removed.
Camera Zoom FX (Android $4.86)
If the default camera app feels under-featured, this may just be the app you are looking for. Adding digital zoom, night mode, and even sound activation (like a clapper lamp, without the lamp), and a bevy of filters and effects, this app opens up new creative doors for photography on Android.
PerfectlyClr (iPhone $3.99)
Your pictures not sharp enough for you? This app will have them sharper than a samurai sword, while also fixing some other basics, such as exposure and contrast. A recently added in-store purchase also enables some top notch noise reduction for your low light pics.
Instagram (iPhone. Free)
Quite simply Instagram is the photosharing app of the moment. It not only allows you to easily share photos with your Facebook and Twitter friends, but also has an integrated social network all of its own. Instagram has a set of built in vintage filters for fancy looking photos on the fly, but also allows you to import photos from your camera roll that you have edited with other apps. It already has over a million users.
Path (iPhone. Free)
An iPhone based Social Network created by former Facebook Platform Manager, Dave Morin.
It shares features with other social networking apps such as tagging friends, adding locations and so on. Its key differentiator is that unlike other social networks, this one is truly built to share with your friends only. In fact, Path only allows you to have 50 friends in your network at any one time. This gets rid of the chaff and keeps your lifestreaming photography much more personal.
Color (iPhone. Free | Android. Coming soon)
In Color, you don’t choose who you share your photos with… the app does that for you.
Color is proximity based, meaning that your content is shared with any other Color user within a 150-foot radius. It is an “elastic network”, which means that people are constantly joining and leaving your network, depending on your location. Every photo you take with the app is instantly shared with those physically close to you.
While this might not be too exciting sitting in your country estate, it really comes to life at a party, concert or festival. You are no longer looking at the event from just your own eyes, but also through the eyes of everyone around you.
Beware though, it is notoriously instruction free… and it can be hard to figure out exactly what you are supposed to be doing. Notably, it inspired a great app store review.
Everyday (iPhone $2.49)
Noah Kalina became an internet celebrity in 2006 after he took a photo of himself every day for 6 years.
Noah himself, along with a few friends, has created Everyday to help you do the same. You can set daily reminders in your phone so you never forget, and the app has a ghost of the last photo you took, so you can get your alignment spot on.
They have a great little launch video on their site too.
360 Panorama (iPhone $2.50)
Sometimes you just can’t fit everything in your photo, but you don’t have the patience to take multiple shots and match them up.
Enter 360 Panorama. Just start with a first photo, then pan your camera around the rest of the scene. Using the accelorometer in the phone, the app will figure out where your camera is pointing and fill in the rest of the detail in the scene.
You can save your image as a flattened picture to share in the traditional manner, or send the 3D version to a friend with the app, in which people can look around as if they were standing in your shoes.
Lab (iPhone $1.19)
For the real photo nerds out there, Lab lets you access some hidden information about the photos on your device. Basics, such as time and date, site alongside a map of the location, the aperture, shutter speed and ISO, and even a histogram, if you are trying to nail that perfect exposure. As a bonus, it also has a beautiful interface.
Andrew Braithwaite is Digital Strategy Director for STW Group’s Lawrence Creative Strategy. Follow him on Twitter @AndyBraithwaite. Photography-wise, Andrew’s digital work can be found on Flickr, and analog here. He is a co-founder of the Hard Workers Club. The introductory image is one Andrew made himself: read how.
Google’s raison d’être is helping you find exactly what you need online, fast. Today they’ve launched a new weapon in their arsenal -- and like most online innovations these days, it’s social.
If you like a website, soon you’ll be able to hit “+1″ -- just as you Facebook Like, Twitter Favourite or hit the heart in Tumblr to like a post. The next time your friend is using Google to look for something similar, they’ll see your +1 on a search result as an endorsement.
The beauty of +1’s, says the Google Blog, is their relevance—you get the right recommendations (because they come from people who matter to you), at the right time (when you are actually looking for information about that topic) and in the right format (your search results).
So how do we know which +1’s to show you? Like social search, we use many signals to identify the most useful recommendations, including things like the people you are already connected to through Google (your chat buddies and contacts, for example). Soon we may also incorporate other signals, such as your connections on sites like Twitter, to ensure your recommendations are as relevant as possible.
It’s not live yet -- but if you can’t wait to play, go here to activate it early.
How will this impact what we do, and how people find out about our clients, products and campaigns? We’ll keep you posted.
As a postscript, a special shout out to an STW Group sage in Melbourne, DT Digital‘s Andy Taylor. He predicted on his blog that Google would be rolling out a feature precisely like this 10 days ago. Spooky!