The Artima Developer Community
Sponsored Link

.NET Buzz Forum
Two really different types of API

0 replies on 1 page.

Welcome Guest
  Sign In

Go back to the topic listing  Back to Topic List Click to reply to this topic  Reply to this Topic Click to search messages in this forum  Search Forum Click for a threaded view of the topic  Threaded View   
Previous Topic   Next Topic
Flat View: This topic has 0 replies on 1 page
Gareth Jones

Posts: 18
Nickname: garethj
Registered: Dec, 2005

Gareth Jones is a developer on Domain Specific Modelling Tools for Microsoft
Two really different types of API Posted: Dec 21, 2005 4:19 PM
Reply to this message Reply

This post originated from an RSS feed registered with .NET Buzz by Gareth Jones.
Original Post: Two really different types of API
Feed Title: GarethJ's WebLog
Feed URL: /error.htm?aspxerrorpath=/blogs/rss.ashx
Feed Description: Modeling User Experiences for DSL Tools in Visual Studio
Latest .NET Buzz Posts
Latest .NET Buzz Posts by Gareth Jones
Latest Posts From GarethJ's WebLog

Advertisement
Steven makes a really interesting reply to my question about API extension in his company's tool.
 
Firstly he makes the very realistic point that user expectations of a mature tool are that it will have a much wider scope of features than a version one tool - he's quite right there - there's only so much you can or should try to put into any version one product.  There's some interesting commentary on version one products over in the early posts on Chris Pratley's excellent blog.
 
Steven then notes that their users haven't shown a lot of interest in their API and suggests that this might be because the tool's scope is sufficient for most customers productivity-meeting needs.  He notes that technically, their APIs are web services.
 
I was momentarily staggered by this - how can you extend a graphical modelling tool that is essentially in-process Windows or Java client code with web services APIs? After all, today's drawing surfaces need to repaint at a frequency that's not conducive to Xml processing - until I suddenly had a moment of clarity.
 
I'm betting that Steven is talking about what I'm going to call external APIs.
This type of API lets you talk to some piece of software in the terms of the primitives it deals with (obviously for meta-software such as any kind of DSL Tool that is a bit of a loose term).
 
Let's then talk about a different set of APIs - I'm going to call them internal APIs.
This type of API lets you talk to some piece of software in terms of both the primitives it deals with and the underlying platform primitives it is built on.
 
If you're building shrink-wrap software, typically you need control down to the level of those internal APIs for a small amount of the time in order to craft the exact feature that's going to give the last ounce of polish to your product.
 
One aspect of our DSL platform is that we are supporting folks whose sole goal is productivity and also folks who need the last ounce of control to ship killer shrink-wrap.
 
This certainly gives us a more fine-grained API bias - serving diverse constituencies is always challenging.
 
 
 
 
 

Read: Two really different types of API

Topic: A developer's frame of thought Previous Topic   Next Topic Topic: Commerce Server 2006 Beta 1 download

Sponsored Links



Google
  Web Artima.com   

Copyright © 1996-2019 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use