Michael Clark is a professional software developer who creates high-quality products for startups in Cambridge, UK. Skills: C#, Java, PHP, XHTML, AS3, CSS, ML.
Businesses have technology consultancies but what do you do if you are a regular individual and want to use technology to improve your life. To find new software you have to search on the internet or using app stores. You then pick the package with the best reviews, most downloads and closest match to your requirements.
Software is sold on the high street in boxed packages that complement hardware and increase margins for the electronics stores. In the next decade, software will be sold without hardware and customised to solve individual needs with face-to-face feedback. Technology will be the foundation that supports increasing possibilities for our business and personal lives.
The Internet generation will enter the workforce with an intuitive grasp of technology and employees will use custom apps to gain an advantage over competitors. They will enter a physical app store and state their problem:
I want to know all the clients that I haven’t messaged in over 7 days. —Future consumer
Trained advisors will look at this need, generalise it and design an interface optimised for that customer:
Your profile indicates you are an auditory learner. We will create a mobile app that reads out the contacts you have not contacted recently. You can customise the time frame and use it as your alarm clock. —Future advisor
Tony Hoare predicts that industry will fund the development of software that can answer questions about how software runs and why errors occur — computers will gain an understanding of their own workings. With lower intellectual requirements for software developers, prices for custom software will fall within the reach of an average consumer.
The 2012 Grand Launch had three inspiring speakers.
Lord Mitchell
Labour Opposition Spokesperson for Business, Innovation and Skills 2012
His normal educational experience was cut short when he was thrown out with Charles Satchi at 16. Out of school he covered enough material to attend Columbia to complete a MBA, then avoided the draft (green card) by returning to the UK. The MBA gave perspective.
You need passion for the product. Entrepreneurs are born not made.
SMEs are really important to modern societies and the UK is best for SMEs in Europe. However, we have to encourage acceptance of failure in the UK, it is more culturally acceptable in the USA. “Failure is a life learning experience.” People say the UK automobile industry is being eroded but more cars are made in the UK than ever before.
Billy Boyle
CEO of Owlstone Tech
Owlstone Tech develops chemical sensors to detect explosives on board public transport and diseases through breathalysers. They formed the product by combining emergent technologies. The company is not yet profitable, but most companies take 5–10 years to get to this stage.
He was inspired into action by Seneca’s On The Shortness Of Life. Why act now? You have the least to lose in your early twenties and can afford to take a risk. He also recommended Founders at Work (stories of startups’ early days).
In Cambridge you can write sqrt(i) in a pub toilet and come back 15 minutes later to find the answer (Champion of the Thames). On Coldhams Lane Chimney: “If not now, when?”
“No” is the most common word he heard in the last 8 years. He joked with co-founders about going to Starbucks and asking for a coffee — “no”.
Remember knowledge of a subject is a poor substitute for experience of it
Respect the power of cumulative advantage
Qualify ideas with the outside world (not friends in Cambridge)
Dr Darrin Disley
Horizon Discovery
“How am I going to kick the shit out of the day?”
Kicked out of school at 15, released from professional football at West Ham at 19. He then started businesses, giving away half of first million to show money was not the driving factor. They included:
BodyShop — be able to survive until opportunities present themselves
Adapative — needed £20 million of investment, folded it
The first step is the hardest, turning £100 into £1000. Scaling that up is easier. Afford success and failure the same respect.
The UK has 11% of all citations in science. There push for science and an entrepreneurial society. The corporation tax is 10%, there is no point going offshore.
Decisions are made by those who show up. —Barack Obama
An attendee asked how he compared himself to Richard Branson. Mainly scale and that his characteristic is disrupting many different industries.
I raised my hand when he asked “are you an entrepreneur (at heart)?”
Networking
Before they started, I met a group of MBA students from the Judge Business School. One woman was in the formative stage of an entrepreneurial venture but the name and product were under wraps.
In the theatre, I sat down next to the usability expert John McMillan who started and sold many businesses, but kept hands-on and still took contract work from time to time. His book How to write software for sale has useful chapters on planning, marketing and efficient construction.
Tuenti Voice Control is a proof-of-concept that allows users to browse Tuenti with their voice instead of using a mouse or keyboard. It was created for HackMeUp 15, a 24 hour code competition held between Tuenti engineers every quarter, and uses the Experimental Speech API available in Google Chrome since 2011. Tuenti featured this article on their developer blog.
Ismael Gonzalez and I recorded a video that demonstrates browsing Tuenti tabs, going to specific profiles and starting chats:
After creating a Chrome plugin that communicates speech-to-text data to the website, we spent the remaining three hours adding commands related to Tuenti. By the deadline we could:
Access top-level pages on the site like “mensajes” and “salir”
Target specific friends with “chat” or “perfil” followed by their name — users can also go directly to Jose’s profile by speaking “perfil jose” or be more specific with “perfil jose manuel”
Write speech directly to the chat conversation and send the message — it is possible to begin chatting with Natalia with “chat natalia” and output any following text to the screen “hola natalia como estas”
Plugin architecture
Chrome’s Experimental Speech API implements a subset of the features detailed in the W3C Recommendation for Speech Grammer (March 2004) and allows extensions to start speech recognition and retrieve the captured text. To use experimental extension APIs, you must start Chrome with the command line option --enable-experimental-extension-apis.
Google Chrome extensions are composed of HTML pages with specific functions. We use a single content script to capture events from the browser and send requests to a background page:
This background page is able to access the experimental API and start speech recognition:
chrome.experimental.speechInput.start({
language: 'ES_es'
}, function () {
if (chrome.extension.lastError) {
console.debug("Couldn't start speech input: "
+ chrome.extension.lastError.message);
}
});
The background page then communicates the result to the content script via an asynchronous request.
// Target active tab
chrome.tabs.getSelected(null, function (tab) {
chrome.tabs.sendRequest(tab.id, {
success: true,
result: result
}, function (response) {
// Handle request callback
});
});
If recognition has been successful, the content script appends a JSON-serialized version of the speech data array to the DOM and fires a ‘speechresult’ event.
Serialization is required because the content script and underlying website have different Javascript contexts and objects cannot be shared between them.
Processing the speech result
The W3C recommendation includes a method for specifying a grammar. This is crucial for achieving high accuracy and precision in speech recognition system as error rates decrease as the vocabulary size shrinks: 0-9 can be recognized without error, but vocabulary sizes of 200, 5000 or 100000 can have error rates of 3%, 7% or 45%. After experimentation we found that custom grammars are not implemented in Chrome, as of December 2011, and that Google returns any set of words from its dictionary.
We solved this issue by converting recognized text to a bag-of-words and calculating the probability of a user wanting to perform an action on a friend based on the number of occurrences of words related to that action/user pair.
Words were normalized and used to access a hash map that maps words to friends who have that name or commands that are referenced by that word
Each friend or command is then increased by a value weighted by the confidence factor returned by Google and the index of the result
The action/word with the highest cumulative weight is performed
This approach worked flawlessly when words present in text returned by Google correspond to a valid action/friend pair. This is helped by speaking clearly and using a high quality noise-cancelling microphone (Apple MacBook Pro) to ensure that the speech recognizer can detect the beginning and end of the command.
Conclusions
Before starting the project we did not know if it would be possible, especially using a single key, to start speech recognition, let alone recognize commands. It was and we think that such techniques can provide a better web experience. For this to happen, both Google (and other browser makers) and the W3C must work together to provide a stable API that can be used by all websites without extensions.
The Dial is a creative writing magazine for students at Cambridge University. It initially ran from 1906-1953 and was reborn in 2008 when students at Queens' College gained funding to bring it back. It aims to "give space to the new, original and tough work which is the essence of student writing at Cambridge".
Back in early 2010 I contacted the editor Florence Privett with the promise of free technical labour (PHP, XHTML, the standard) and we had some great chats about design strategies. A poetry magazine has to be content-centric. The crux is providing enough highlight to individual poems, while retaining some form of navigation system. I contacted Robert Leadbetter, a contemporary of mine, to finish the concept. The final result can be seen at thedial.org.uk and the resource will improve over time as past issues are added.
The interface
My aim was to start with a typographic layout and then add flourishes of emphasis afterwards. This initial design was based on the styling provided in the Michaelmas 2008 edition of The Dial: Lizzie Robinson elegantly separates the different content types with unobtrusive line marks.
One criticism of my first approach was the amount of space given to navigation. With the poem Jessica, above, the navigation and poetry have the same total area. It is preferable that the text is the focal point. In addition, italics and size changes could be used to distinguish between body and header content, providing a subtle but clear separation.
This final design was cut up and placed online. Personally, I like the concise multiline navigation menu at the top.
Behind the scenes
Content is published by uploading text files using FTP and full metadata is provided with a fixed filename/directory format that contains IDs and indexes. A small page is then provided containing controls to regenerate the site with the latest content. The suffix "-draft" can be used to hide years, issues or individual articles from the navigation interface.
Many poems have precise formatting requirements, where the spacing between lines and characters is important. This issue is compounded as character widths vary between most fonts. The solution is to set the font for the body text in concrete (we went for Georgia) and transcribe poems from source PDFs into an text editor using that fixed font; the online content will then match the text editor of the less-technical transcriber.
And it would not be possible without…
The Student Run Computing Facility (SRCF) at Cambridge graciously provide hosting and administration for student societies. They also have the best customer service out of any organisation I have ever dealt with, providing incomprehensibly fast 2 minute email responses. A toast to them.