• Skip to main content

David Crow

Connector of dots. Maker of lines. Rider of slopes.

  • About me
  • Contact

Development

Building the next Xobni

by davidcrow

  xobniXobni is pretty gosh darn cool, it makes Outlook better.

Most new programs you use, ask you to enter more information for tracking purposes.  Applications like Xobni are the way of the future my friends!  I can’t believe more people are not jumping all over ideas like this.  Instead of asking users to track more information, do more work, and try and convince them to enter more data up front in order to provide them with new features and reports, why not let them install an application, that analyzes the data, and then gives you a ton of cool features! – Miquel Carrasco

Adam Smith’s blog that summarizes a lot of the experience over the past 2+ years building and shipping Xobni. His post, “User Bases, Pricing, Revenue and the Value of Users”, is a really solid way to think about how to build a $100 millon company. The post demonstrates the need to deliver value to a group of users (at the posting: “Outlook has 500M users, Skype has 200M users, Thunderbird has 8M users”). Adam walks through some hypothetical numbers to build a $300M company, it is dependent on a freemium model with 1% conversion and a $10/month reoccuring subscription revenue. It’s an interesting model for entrepreneurs and clearly dependent on getting access to a significantly large user base.

Xobni, TinEye, Photosynth all extra extra information from existing data.

The real genius behind Xobni is that they realized that they can give users more information, and allow users to interact in whole new ways with their email, without asking them to track any more information at all! – Miquel Carrasco

Xobni extracts relationships about contacts, your email patterns and other data sources on the web to improve your mail expereience. TinEye uses pixel and region matching to improve image search. Photosynth analyzes collections of photographs and extracts a three-dimensional model and the relationships between light points in each image. The trick is in figuring out “Why do people want what you’re building?”.

How do you build an application like Xobni?

Xobni is an Office for Business Application (OBA). OBA is a way to build applications that use Office apps context for your application. Why use Office for context? There are over 400 million Office users worldwide. There are a large number of enterprise and corporate clients that access Exchange using Outlook. If you’re interested in building an application that improves email and has a significantly large user base to build the necessary revenue model, Outlook and other Office applications are a good starting point. It is a defined market with problems and opportunities for improvement. 

Xobni is an add-in for Microsoft Outlook. It uses a set of custom file system, email analytics, SQLite and custom windows elements. (It’s possible to get SQLite up and running on .NET in 3 minutes). Xobni UI is rendered in a custom task pane in the Outlook client. The application indexes your mail and links to web services (LinkedIn and Facebook). Adding a Custom Task Pane to Outlook is probably the easiest part of building an add-in like Xobni. But it is the starting point for the display and user interaction through Xobni. The starting point is to create a Custom Task Pane and then to access the Object Model to begin indexing and analysis.

But why rebuild Xobni?

Don’t! It’s a better plan to start investigating how to use a customized Office UX for a web application. Email Prioritizer is a Outlook 2007 add-in to help manage email overload. There are a lot of example applications on OBA Central that look like they use Office apps as a browser replacement, which is the wrong way to build a great application. The goal is to enrich the users access to information by integrating web services and additional interpreted data in the user experience, not replace a web form. Document management and  financial data apps that integrate with Word and Excel are probably easier to visualize. But I’d love to see an MS Project integration with Basecamp, Devshop, or Midori (not the other Midori). It’s a  great way to start building enterprise RIAs.

The Tools

 Visual Studio Tools for Office

Additional Reading

  • Creating an Outlook Add-in Project
  • Custom Task Panes
  • Create an Outlook 2007 Form Region using VSTO 2008
  • Building OBA using VSTO 3.0
  • Your First Outlook Add-in
  • Your Second Outlook Add-in
  • Developing Office Business Apps with Visual Studio 2008
  • Outlook 2007 Form Regions Using VSTO 3.0

 

Posted on August 20, 2008 Filed Under: Articles, Development, Innovation, User Experience

UHN – Web Developer/Digital Librarian

by davidcrow

Toronto, ON

Position: Technical Analyst I – Web Developer/Digital Librarian
Site: Toronto General Hospital
Department: Centre for Global eHealth Innovation
Reports to: Senior Scientist
Scale/Grade: H5
Salary Range: $26.87-$33.59/hour
Hours: 35 per week
Status: Permanent Full-Time

Summary

The Centre for Global eHealth Innovation, a joint effort of the University of Toronto and University Health Network, is searching for a Web Developer / Digital Librarian to join their rapidly growing multidisciplinary team who´s vision is to improve health for all through information and communication technologies. The ideal candidate will have education and experience in web programming with Ruby on Rails (preferably also PHP / LAMP) Web / Web 2.0, website design and development, systems and server administration.

This candidate will be primarily the technical lead for WebCite (www.webcitation.org), an archiving system for cited web-based material, and provide general development support for the Eysenbach Research Group.

Responsibilities

  • Designing and implementing a web archiving system (www.webcitation.org) with PHP/MySQL
  • Resolving any server/technical issues that arise with either webcitation.org
  • Providing technical guidance and support for new research projects
  • Liaise with publishers and long term digital preservation partners such as Internet Archive and others

Qualifications

  • Undergraduate Degree in Computer Science, information science, related field or recognized equivalent
  • Development of web 2.0 applications using Ruby on Rails or similar MVC framework (Django, Symfony, CakePHP)
  • Strong understanding and experience building applications with at least one web scripting language (PHP, Ruby or similar)
  • Ability to manage and deploy web applications on Linux using Apache, mod-proxy and Unix tools such as cron, rsync
  • Solid understanding of HTML and CSS, Javascript and use of Ajax libraries such as Prototype
  • Solid understanding of relational database design and administration of MySQL
  • Use of Rails features such as rake tasks and capistrano, mongrel is an asset
  • Experience working with data in XML, use of XPath queries and other tools is an asset
  • Experience with version control using Subversion is an asset
  • Excellent problem solving skills and a love for technical challenges
  • Capable of multi-tasking and prioritizing

Additional Assets

Interest in and knowledge about Web 2.0 approaches

  • Information science background, with technical knowledge about bibliographic and other metadata
  • Interest in webarchiving and digital preservation issues
  • Experience with content management systems, wikis etc.
  • A hand and eye for design, experience with tools like Flash
  • Experience with developing large/complex projects

Apply

In your cover letter, please describe how you address all the points above, and mention your salary expectations.

For further information on the digital preservation project WebCite, please check out the website at www.webcitation.org and look at related websites such as http://netpreserve.org

Only hospital employees, who have successfully completed their probationary period, have maintained satisfactory attendance in accordance with UHN’s attendance management program and possess all the required experience and qualifications should apply.

University Health Network thanks all applicants, however, only those selected for an interview will be contacted.

University Health Network has a diverse workforce and is an equal opportunity employer.

Improving the patient’s experience through patient centred care! For additional information on patient centred care please go to: www.pickerinstitute.org

Apply for this job

Posted on August 18, 2008 Filed Under: Development, Jobs, Toronto Tagged With: dev+jobs, django, ehealth+innovation, mvc, rails, RoR, Toronto

Hacking LanSchool

by davidcrow

From Greg Wilson. Hopefully, someone like Rob or Michael (or one of Michael’s students) will step in and provide these kids some pro bono legal advice for dealing with a company looking to manage their online profile. LanSchool has requested that the Tony Targonski and Dan Servos remove the details of an exploit to an old version of their software be removed from the CompSci.ca wiki.

I suspect that someone from LanSchool’s marketing and public relations team is tired of seeing the YouTube post showing up so high for a product that they no longer sell, and for an issue that has been fixed in the next version of their product. The YouTube video showing how to disable the monitoring program, is number 3 in my search for LanSchool. And the compsci.ca forums and wiki are in the top 5 when searching for “lanschool hacks”. (Funny how the compsci.ca don’t even show up in Live.com search).

lanschool-search

It is amazing how close the LanSchool software is to the classroom monitoring tools described in Little Brother. It should come as no surprise that I’m for the publication of these exploits, just read my call to action against Bill C-61 as a result of reading Little Brother. Dan has used his programming skills and his brain to learn about how not to program networked computers. By publishing his understanding and knowledge he has shared a bad software design with the intent that others can learn and not make the same mistake. Good work Dan!

I’m sure from a traditional PR perspective this is a challenging situation. You have a product that has been updated to fix this bug among others while adding new features. The “community”, and this is a really funny term, has published a negative review and an exploit that shows vulnerabilities in your software platform. Perhaps the LanSchool marketing folks think that their software is unlike the rest of the world and has no bugs. Perhaps, they think it might be harder for kids to subvert their system if the exploit isn’t in the wild. It is an interesting PR case study, and unlike the Dell Hell experience and changes including IdeaStorm, I think this will just be another example of a large company doing bad PR.

Hopefully our courts will find similar to Dutch courts:

“But the court ruled that the university’s right to publish was part of freedom of speech and that the publication of scientific research on the chip’s faults could help to take appropriate countermeasures.” – InformationWeek July 18, 2008

The publishing of software exploits is a question of freedom of speech.

"Damage to NXP is not the result of the publication of the article but of the production and sale of a chip that appears to have shortcomings" – InformationWeek July 18, 2008

Hopefully we can keep kids like Dan and Tony doing intellectually stimulating things with technology. 

Posted on August 6, 2008 Filed Under: Articles, Canada, Development, Evangelism

Canwest – Front-End Web Developer

by davidcrow

Toronto, ON

Canwest is Canada’s leading multi-media company. Representing a portfolio of world-class brands, the company creates and distributes some of the most compelling and dynamic content across multiple media platforms. Canwest Broadcasting is looking for an experienced, hands-on Front-end Web Developer, located in Toronto. Reporting to the Director, Creative & Production, the Front-end Web Developer will be responsible for building out the front-end experience of various web/interactive projects.  The successful candidate will work with a team of web production experts in the creation of compelling web and multi-platform experiences.

Responsibilities

  • work collaboratively with the Web Production Team to conceptualize, develop and execute engaging interactive experiences
  • work collaboratively with project teams to meet business goals
  • contribute to concept development, brainstorming and site documentation
  • development of standards compliant code – html, xhtml, css, javascript, etc.
  • function as front-end development lead on medium and large-scale projects
  • evaluate and debug code to ensure cross browser compatibility and accessibility
  • production for ongoing site maintenance and content updates
  • develop, maintain and adhere to site standards and content templates
  • deliver creative development solutions within existing constraints and limitations
  • accountable for accuracy, project deadlines, and contributing to project completion
  • convey expert knowledge of current web trends, user experience and the project process
  • support and exhibit departmental core values; positive, flexible, enthusiastic and professional
  • demonstrate effective time management, initiation and follow through skills
  • willingness to learn and seek out opportunities
  • other duties as assigned

Qualifications

  • related post secondary education or commensurate experience
  • 5+ years of relevant experience in a busy, demanding studio environment
  • 5+ years professional HTML development, including advanced XHTML, CSS, Javascript, etc.
  • 2+ yrs of experience working in and around backend scripting languages – .ASP, .NET, SQL
  • experience with Enterprise level content management systems an asset
  • proficiency using industry standard tools including; Visual Studio, Photoshop, Illustrator, ImageReady and Adobe Acrobat
  • experience with streaming media technologies – Flash, Windows Media, QuickTime
  • intermediate level Flash experience including Actionscript
  • proven ability to identify, evaluate and develop new ideas with supportable results
  • ability to articulate creative ideas and proven aptitude for quick creative thinking
  • solid analytical thinking – a disciplined and knowledge based approach to decision making
  • ability to anticipate consumer needs and leverage this through all initiatives
  • highly organized and accountable self starter who is able to juggle multiple priorities
  • very strong attention to detail
  • exceptional communication and interpersonal skills – experience communicating technical details to non-technical team members
  • outstanding time management, initiation and follow through skills
  • willingness to learn and seek out opportunities

Please note this is not a web designer position. It is a technical role that involves extensive custom web development and coding.

Apply at www.getacooljob.com

Posted on August 5, 2008 Filed Under: Development, Jobs, Toronto Tagged With: .net, dev+jobs, front-end

From Sketch to Prototype

by davidcrow

sketchinguserexperiences“If sketching is about asking questions, prototyping is about suggesting answers. Sketching takes place at the beginning of the development process, prototyping only later.” – Jessie Scanlon reviewing Buxton’s Sketching User Experiences in Business Week

As a designer I find that the most productive parts of a project are the exploration phase, the very early part where your are researching, sketching, exploring ideas and concepts trying to formulate an approach. It has always been really easy to grab my notebook and pen and begin drawing sketches of user experiences or find a whiteboard where you can sketch and erase and snap a picture when you’re done. Showing the initial designs to people, gathering feedback and making annotations. It has always been much more difficult and time consuming to build wireframes, screen flows, conceptual models, etc. There is a certain envy to being able to do low fidelity prototypes with a level of basic interactivity (if only because a number of past clients were not co-located and scanning sketches and providing written context was never enough, however, it might be a lot easier to share and annotate these days using ConceptShare, Octopz, Cozimo or DimDim).

denim_storyboard It was tools like DENIM that first showed the power of sketching for web design. It provided a set of tools for creating sketches and adding interactivity to initial designs. DENIM allows users to create site maps, page flows, interaction scenarios and page designs using sketches. It works best with a tablet PC or a Wacom tablet. It works very similar to a paper notebook and can export the pages and links to HTML upon completion. The biggest challenge was that the integration with other tools was not significantly better than paper and pencil.

Today I found Balsamiq Mockups, a tool for creating mockups and designs using predefined sketched controls. No need to move to your tablet machine. No need to connect the Wacom. Just fire up Balsamiq and start laying out user interfaces. While sketched design templates are available for Graffle and Visio (check out Garrett Dimon’s Templates & Stencils; or Graffletopia; or YUI Stencil Kit). Balsamiq Mockups also makes it easy to integrate into a development workflow by allowing designers to export and integrate their designs into Confluence, Jira and TWiki.

pencilproject

I also discovered the Pencil Project. The Pencil Project is an open source tool aimed at diagramming and UI prototyping. It’s less of a tool for sketching and more of a replacement for Photoshop, Illustrator, Visio and Graffle that we’ve all become accustomed to using for creating higher fidelity interface mockups. The Pencil Project is available as a Firefox addon or as a standalone application using XULRunner. Pencil Project includes stencils for GTK controls, XP controls. It’s a great alternative to the existing tools.

Designers are starting to see fantastic new tools like Blend and Thermo and Axure. And there continues to be an evolution of mashup tools like DreamFactory, and javascript frameworks like SproutCore, that make it easier for designers and developers to build next generation web applications. I am curious to see the next generation of design tools for cloud based services (Apatar, Popfly, Pipes, Sprout, etc.). 

Sketching User Experiences: Getting the Design Right and the Right Design (Interactive Technologies)
by Bill Buxton

Read more about this book…

Posted on July 24, 2008 Filed Under: Articles, Design, Development Tagged With: balsamiq, denim, pencil+project, sketching, ux+design

Uptime Software – Software Developer

by davidcrow

Toronto, ON

Job Description and Duties

As part of the development team, you will be responsible for the development
and maintenance of our software products, which are written in Java and PHP and
integrate with many operating systems and databases. The position involves
close interaction with other developers and the QA team. A strong development
background is required.

Main Duties

  • Development and maintenance of our software products.
  • Write and maintain automated JUnit tests using Test Driven Development.
  • Participate in daily team meetings and weekly delivery schedules.
  • Support other team members in their work, including pair programming.
  • Test the performance of code against large data sets.
  • Reproduce and fix bugs escalated from the Support department.

Required Skills

  • Expert in Java (5+), PHP (5.2+) and Oracle (10g+).
  • Fluency in Unix command line (Linux or Solaris).
  • Familiarity with mysql 5.
  • Excellent verbal communication skills in English.
  • Desirable Skills
  • Strong Windows programming experience (C# or Visual C++).
  • SQL Server experience.
  • Javascript / AJAX experience.
  • Agile development experience

Background Requirements

  • Bachelor’s degree or above.
  • 5+ years in a development role.
  • 3+ years with PHP, Java and Oracle as a primary focus.
  • Knowledge of the systems management industry is an advantage.

Apply

Apply for this job online at http://www.uptimesoftware.com/careers.php?jobId=11

About Us

uptime software inc. is headquartered in Toronto, Ontario, has corporate clients
around the globe in more than 30 countries and is a leading innovator in performance
management technology. Our flagship product up.time provides organizations
with continuous server performance, availability monitoring, historical analysis,
reporting capabilities, help with problem isolation, capacity planning and
server consolidation. Uptime software helps organizations reduce system management
costs by having the organization take control of its IT infrastructure and
make more efficient use of server and personnel resources. To learn more about
uptime software and our successes please visit: www.uptimesoftware.com .

Posted on July 23, 2008 Filed Under: Development, Jobs, Toronto

  • « Go to Previous Page
  • Go to page 1
  • Interim pages omitted …
  • Go to page 7
  • Go to page 8
  • Go to page 9
  • Go to page 10
  • Go to page 11
  • Go to Next Page »

Copyright © 2023 · WordPress · Log in