Easy Web Design ::
Easy Web Design
We will put your business online and teach you how to succeed. Easily. Click to get a quick
Quote. or HERE to read more.
More info MMK Web Design
Easy Marketing/Hosting ::
Easy Marketing and Hosting Packages
We combine your hosting and marketing costs to make it easy and affordable for you to get listed on the search engines.
Click to get your easy account.
Jump to MMK Host Website
Easy Media Security ::
Jump To MMK Secure Stream Web site
We can effortlessly help you protect your media or secure meetings and conversations online.
Jump To MMK Secure Stream Web site
Instant Assistance<% session("instantasst") = "YES" %>
Name area Pre Number
Your Name 800 555 3358
Internet Presence :: Words that mean much more then 'web site'. A presence on line is about being found. It's about being noticed, and it is about interactivity with your client.


Top Bad Designs
Web - Design: Top Bad Designs . Web - Design By Holly from Middle of Nowhere USA 2 comments. What is the worst thing you can put or do to your site that will turn people away Some of the things that turn me off are: Blank boring pages Overstimulating pages Dark fonts with dark backgrounds Small irregular fonts Feel free to list your ...
---Last comment Sun Nov 26 18:12:10 2006 by jennifer from Detroit:
The number 1 turnoff for me is poor navigation.[1] It's particularly bad when it's an ecommerce site and you can't figure out how to add items to your cart or to log out.[2] If a site is easily navigable then you'll want to come back and to recommend it to others. ...
read more:

It's Amazingly Easy to take your Designs and Make Them Artistic Hand Renders > Vespa Beta 3 Now Released
It's Amazingly Easy to take your Designs and Make Them Artistic Hand Renders > Vespa Beta 3 Now Released
read more:

Hot* Brand New: ErrorKiller.com.
From AdwareAlert Team - Highet Converting/Paying Designs on Cb! Easy Ppc Sales!
read more:

Comprehensive Design List
Dave has released the archives of all 569 (to date) of the CSS Zen Garden designs. I really had no idea, although I'm not surprised, that there were that many of them out there. I'm kinda partial to "bugs" myself. Go get inspired.
read more:

Over 1,250 Capiz Shell and Mango-Wood Houseware Items (Blaine, WA (95 miles from Seattle)) $1500
These are unique and exclusive items and are not found anywhere else in the U.S. Business is liquidating inventory. This is a perfect opportunity for an online retailer or any arts & crafts / housewares business. Most of these items can be sold for several times over the wholesale prices.

Lot #1- 750 assorted, hand-crafted housewares, mango-wood w/ capiz shell in various colors and designs. All items for sale can be viewed at DineOnArt.com. Offered at $2,900 which is less than $4 per item.........

Lot #2- 500 assorted, hand-crafted 100% capiz shell housewares in various colors and designs. Offered at $1500 ($3.00 per piece). Visit DineOnArt.com to view the items........

Each lot may be purchased separately or both together for $3,900.

Each lot must be purchased as a whole (no partial sales). Buyer is responsible for pick-up. E-mail or contact Chris at (360)305-6850.
read more:

CSS Zen Garden
For lingering skeptics, a visit to the Zen Garden should convince you of the power of stylesheets: See numerous beautiful designs (CSS) applied to the same document structure and content (HTML).
read more:

Layout Gala
A collection of 40 layouts based on the same markup, each with valid CSS and HTML. The stylesheets are free of hacks and workarounds, and support multiple browsers. Includes percentage, fixed and liquid designs in various combinations and column counts.
read more:

PuckWear- The Net Generation of Hockey Apparel
PuckWear offers innovative and unique designs for hockey enthusiasts. (PRWEB Jun 22, 2006)
read more:

The Weekly Standards
There are plenty of Web design and development sites out there, both personal and professional, with clean, structured markup and standards-based designs. But how often do you see corporate sites doing this? This site showcases a few each month.
read more:

NewYorkWebsiteDesigner
New York Website Designers is a professional web site design company offering Professional website designs & application development, Website Design and Maintenance, Ecommerce Shopping Cart Solution at affordable prices.
read more:

Kicking Designs Archived News
Archived News
read more:

BCI Corporation Launches Elegant Line of Woven Clothing Labels
BCI Corporation debuts its Florentine Collection of custom labels. The clothing labels, reminiscent of traditional Italian designs, are woven with fine yarns in warm, rich colors. [PRWEB Nov 8, 2005]
read more:

Hand made wooden furniture (Kyle)
Hand crafted original designs in wood. All treated material, will last a very long time. Picnic benches, Octogon picnic benches, kid sizes available, Adirandack chairs, bench seats, play houses, tree houses, gazeebos, decks, patios, etc. You name it, we can build it. Very affordable, quality workmanship. Call 512-351-0560 or 512-268-2453
read more:

Saving the Spark: Developing Creative Ideas
Ideas are at the heart of every creative process. However, coming up with them can be hard work. Mark Boulton arms us with tools to meet this challenge.

 

Hide Your Shame: The A List Apart Store and T-Shirt Emporium is back. Hot new designs! Old favorites remixed! S, M, L, XL. Come shop with us!


read more:

Hand knitted Accessories
Visit my shop at Cabo Designs for hand knitted Hats, Scarves, Socks, Slippers
and more. Also see my Original Watercolor paintings.
click here = http://www.etsy.com/shop.php?user_id=5180140
read more:

Switchy McLayout: An Adaptive Layout Technique
The introduction of new mobile and computing devices challenges us to look beyond the liquid layout. Marc van den Dobbelsteen offers a way to bring appropriate layouts to a wider range of screens and devices.

 

Hide Your Shame: The A List Apart Store and T-Shirt Emporium is back. Hot new designs! Old favorites remixed! S, M, L, XL. Come shop with us!


read more:

Making Compact Forms More Accessible
Space constraints can put the squeeze on accessibility and usability. Mike Brittain shares his method for making itty-bitty forms more accessible and easier to use.

 

Hide Your Shame: The A List Apart Store and T-Shirt Emporium is back. Hot new designs! Old favorites remixed! S, M, L, XL. Come shop with us!


read more:

Give Holiday Parties A Unique and Memorable Twist with Do-It-Yourself Murder Mystery Games by Haley Productions
Party planners looking for a way to spice up their holiday party are calling on Haley Productions, the company that designs do-it-yourself murder mystery dinner party games for large groups (of 15 or more) and offers immediate online delivery of their complete murder mystery game kits. [PRWEB Nov 10, 2005]
read more:

Writing an Interface Style Guide
Ever designed or developed a beautiful interface only to find your hard work ruined months later by gaudy graphics or invalid markup? With proper documentation you'll have a better chance at seeing your interface stay beautiful. Jina Bolton guides us through the process of developing an interface style guide.

 

Hide Your Shame: The A List Apart Store and T-Shirt Emporium is back. Hot new designs! Old favorites remixed! S, M, L, XL. Come shop with us!


read more:

Packaging Design for Web-based Products
Digital Web magazine has published a new article by me about applying the principles and lessons of packaging design to Web applications and services:

Packaging Design for Web-based Products
'Though hundreds of years of packaging design history and best practices may have influenced your offline shopping behaviors and decisions, the lessons learned in this enduring discipline didn’t have much of an influence on early web designs. After all, early web sites were primarily tasked with promoting or explaining offline services, companies, and products.

Following on the heels of these brochure-ware sites came a wave of e-commerce applications: buying, selling, or trading physical goods or services. It wasn’t until web applications became services, products, or content destinations unto themselves that concepts long known in the packaging design world—such as central and peripheral messages, shelf-space differentiation, and self-retailing—came to be significant considerations online.

As a product designer, I’m responsible for ensuring that web applications not only resonate with their target audiences but also embody appropriate brand propositions. As such, I’ve taken it upon myself to dive deeper into the principles and lessons of packaging design in order to learn what lessons can be applied to the world of web applications. Here’s some of what I’ve found so far.'

Thanks to the Digital Web team for asking me to contribute to their great magazine.

Tags: , , , ,
read more:

495-2: Turns of Phrase: Passive survivability

This term has come to the fore in the USA and elsewhere in recent months largely as a result of hurricane Katrina, which devastated New Orleans and the Gulf coast last August. The concept is that buildings should be designed so that they can survive the loss of essential services—electricity, piped water, sewerage—in the event of a natural disaster.

It grew out of a post-hurricane reconstruction conference held in Atlanta in November 2005. This led to a set of proposals with the title The New Orleans Principles. One of these states, “Provide for passive survivability: Homes, schools, public buildings, and neighborhoods should be designed and built or rebuilt to serve as livable refuges in the event of crisis or breakdown of energy, water, and sewer systems”. Techniques include many that are also advocated by green campaigners: use natural ventilation, heavily insulate buildings against heat loss, use natural daylight, collect and store rainwater, install solar electricity generation, and so on.

Advocates point to the risk of terrorism that might lead to similar losses of public services. They also argue that possible shortages of fuel in decades to come will require buildings to use much less energy than they do now.

* Guardian, 20 Jun. 2006: There is now talk among some enlightened architects of incorporating “passive survivability” into their designs—the ability of a building to operate on its own should systems such as water and electricity ever fail by, for example, using better “thermal envelopes”, natural daylighting and rainwater storage.

* HPAC Engineering, Jan. 2006: Passive-survivability measures are so important that it may make sense to incorporate them into building codes. Most, but not all, passive-survivability features will add some cost to a building, so the impact on affordability needs to be considered if such measures are to be required by code.
read more:


An embryonic profession: Incomplete and unconscious design work

Humans have been formulating computational logic for execution on digital microprocessors (aka software development) for just a few years, and some people think that this profession is already a full-fledged engineering discipline.

I think this is not the case yet (by far).

Thinking otherwise actually impede the growth of this line of work into higher level of consciousness that allow us to get out of the same expired and twisted mindsets similar to waterfall-like development processes.

A trait of the infant state of our profession is the frequency of incomplete design work as a significant cause for software development projects failures, incomplete work in a central activity and outcome: design.

A mayor factor for such mediocrity comes from a misunderstanding of the role of abstraction in design work, which leads to incomplete design decisions hence incomplete designs that are supposed to be carried out without any mayor design changes.

A role of abstraction is to manage complexity, focusing on a selected set of design attributes at a given time, ignoring —just for that moment— other equally important attributes; waiting for their turn in the co-evolution process of design.

A professional software designer takes complete design decisions. A design decision is completed when the designer walks the abstraction stack all the way down and returns up to the starting level with a set of implications for that particular decision, turning it to a fully informed and conscious design decision.

The fatal state of affairs for software development projects casting crappy software is when designers do not come back and consider the attributes they left behind in their mental stimulation so-called 'abstracting' or 'modeling'.

So, we all can see that abstraction is not a mean for incomplete or insufficient work; abstraction means putting things aside for the moment, for complexity management purposes, not for leaving aspects of your work in a hang state.


read more:

Event-Based Programming without Inversion of Control

Event-Based Programming without Inversion of Control. Philipp Haller and Martin Odersky.

Scala is different from other concurrent languages in that it contains no language support for concurrency beyond the standard thread model offered by the host environment. Instead of specialized language constructs we rely on Scala's general abstraction capabilities to define higher-level concurrency models. In such a way, we were able to define all essential operations of Erlang's actor-based process model in the Scala library.

However, since Scala is implemented on the Java VM, we inherited some of the deficiencies of the host environment when it comes to concurrency, namely low maximum number of threads and high context-switch overhead. In this paper we have shown how to turn this weakness into a strength. By defining a new event-based model for actors, we could increase dramatically their efficiency and scalability. At the same time, we kept to a large extent the programming model of thread-based actors, which would not have been possible if we had switched to a traditional event-based architecture, because the latter causes an inversion of control.

(There's not really a proper abstract. The above is from the conclusion.)

I enjoyed this paper. It's a quick read and a nice demonstration of some of Scala's cool features. It's also a good example of using exceptions as delimited control operators, and in fact the one substantial restriction is imposed by the lack of the more powerful operators. They use Scala's type system to reduce the burden of this restriction, however, since they're able to state that a particular statement never returns normally (and thus must not be followed by more statements).

Those interested in the language/library boundary will also find it interesting for this reason:

The techniques presented in this paper are a good showcase of the increased flexibility offered by library-based designs. It allowed us to quickly address problems with the previous thread-based actor model by developing a parallel class hierarchy for event-based actors. Today, the two approaches exist side by side. Thread-based actors are still useful since they allow returning from a receive operation. Event-based actors are more restrictive in the programming style they allow, but they are also more efficient.

They have some fairly impressive empirical scalability results as well.


read more:

Dependency management: Coupling and cohesion

Dependency management turns ugly when Assembly A gets a transitive dependency (in red, the slash means ‘derived’) to Assembly C even if Assembly A apparently does not depend directly to nothing in Assembly C:



The evolution of large-scale designs with decoupling and cohesion principles in mind becomes a real challenge if you are not aware of dependency management (that is, object-oriented design).

Interface inheritance (implementing an interface) or implementation inheritance imply a much coupled relationship.

If you do not want the above transitive dependency consider other types of relationships between types (see Type relationships); choosing aggregation instead of any form of inheritance makes the transitive dependency disappear:



Perhaps, implicit interface implementation would be good for inter-assemblies dependencies.

A configuration of dependencies that offers some more stability could be like this:



The dependencies follow the direction of stability; that is, Assembly C contains only interfaces, those interfaces that Assembly A uses and the same interfaces that Assembly B implements. In effect, interface users and interface implementation do not know each other, and can evolve independently.

Assembly Z is the less abstract of those assemblies; it knows all other three and wires them up together.

Important is that Assembly C doesn’t depend on more concrete types, because changes in Assembly C propagates quickly and vastly.

As assemblies grow in functionality this configuration also grows, the assemblies start to split and regroup and new assemblies act as clients of Assembly Z, in order to keep coupling and cohesion balance new clients (Assembly X) of Assembly Z can depend on it directly with no derived/transitive dependencies:



As design evolution goes on, the new client can take the role of Assembly A and the Assembly Z takes the role of Assembly B implementing a new all-interface Assembly Y on which new clients (Assembly X) depends on, like this:


read more:

Granular Bucket Testing
A recent discussion on the Interaction Design list about the utility of product design research got me thinking about how the bucket testing of Web sites has seemed to change over time.

Bucket testing, otherwise known as A/B testing, is a methodology for gauging the impact of different product designs on a Web site’s metrics. For those unfamiliar, the basic premise is to run two simultaneous versions of a single or set of Web pages in order to measure the difference in clicks, traffic, transactions, and more between the two.

I first began using bucket testing when designing Web sites with an already established and often quite profitable user base. Because we were experimenting with very different interactions or visual presentations, we needed a way to see the impact of our changes without migrating all our existing users to a new design. Bucket testing provided a great way to send a small amount of traffic (usually less than 5%) to a different user interface without negatively impacting the bottom line if our new design had unintended negative consequences.

In this context, the point of bucket testing was to confirm we were making the right decisions when we made big changes. Since then, the technology for running bucket tests has grown, and as a result, it is easier than ever before to pit two iterations of a design against each other. This has led to bucket testing of not only of pages but also individual features, UI elements, and even details such as the text color of a set of words.

At a BAYCHI panel in 2005, Marisa Mayer discussed Google’s user experience design process: “Use Interface decisions follow a scientific process that reduces the role of opinions. Products are usability tested and live tested to verify the validity of design options and even single variable testing (like black text vs. red text) occurs.” - User Experience: the Google Way

The problem with this type of nuanced bucket testing is that it isolates individual design elements from the rest of a product design and any designer will tell you it is the sum of the parts that make up the whole. A cohesive integration and layout of all the elements within an interface design is what enables effective communication with end users.

Testing individual elements like font colors and incremental feature variations in bucket tests is unlikely to drive changes that really make a significant impact on the bottom line. Small changes most often only enable small opportunities.

Highly granular bucket testing also has the potential to damage the integrity (and thereby effectiveness) of a page or set of pages because it only evaluates individual elements. The best performing versions of these elements are then (frequently crudely) stitched together into an “optimized” design. This of course opens up the possibility of Frankenstein design.

From my experience the value of bucket testing comes from understanding the impact of significant changes on an existing product and it users. Excessive testing of minor variations in an interface design has the potential to undermine that value through isolated evaluations of interface elements and the assumption that these “top performers” can simply be pasted together to create an optimal design.

Tags: , , ,
read more:

Portability of Customizable and/or Adaptive User Interfaces
This March my workplace issued employees a Motorola i760 cell phone, which apart from being pretty sluggish, doesn't work the same way as my personal phone, a Nokia 3100 - the menus aren't the same, shortcuts are different, and so on. What I discovered a few minutes after receiving the phone was that the User Interface was customizable, which didn't cause the phone to suck less, but only to work the same way as my Nokia did.

Customizable and adaptive user interfaces are great, but they're not something every developer does on their own accord. Most of the time, it's 'My way or the highway' when a developer designs a user interface, and since most companies don't hire designers to design their user interfaces, this might turn into a fiasco, as many of you know or have heard about.
As with my phone, Customizable User Interfaces are interfaces that allow users to change parts of themselves using a special menu or screen chuck-full of options. Adaptive User Interfaces are interfaces that change over time in accordance with how the user interacts with them, such as Windows's Start Menu (when items you don't usually click on are hidden until you click the little arrows at the bottom).

A few days after changing the entire layout on my new phone, a coworkertried to use my phone, but due to the fact that my interface had beencustomized one way and his another and the fact that the phone presented little to no textualor graphical cues as to which button does what (unless manuallyactivated through, guess what, one of those unlabeled buttons), he was unable to do anything like he was used to, got pissed off and had to ask me how to do operate the phone.

What this means is that these types of user interfaces don't work well simply because they're not portable. When I sit on my own computer, logged in under my own username, I have no problem with the user interface - it is as I have set it. On the other hand, when I move to a different computer or even log on as a different user on the same machine, my customization is inexistent and sometimes even worse - the customization is for a different person, with their own preferences. This is a disorienting experience for most users and will usually take them more time to perform any action, as easy as it may be, which contradicts with the reason for creating such complex user interface logic in the first place.
This pretty annoying problem doesn't (or I should say shouldn't) happen in web applications, but it does in windows applications, where to date I've only seen one solution. You too may have seen it yourself - it's the 'Save my preferences to file' method, which you can find in Microsoft Office and Visual Studio, to name only two applications, but the problem with that is that you have to carry that file with you or place it somewhere where you could access it from any computer you may use.

So what can be done about this? In my opinion, the best way the problem could be solved would be to create a central server that would save these preferences (and optionally also all other configuration changes made by the user) to some database and while your application loads, it would connect to said server and download the preferences from it, depending on which user is logged into it. This, of course, does not necessitate the creation of a logon screen in your application, which would be annoying, but rather a special form that would be filled with a their own predefined username and password. Once these credentials are entered for the first time or changed, via a form that will always be accessible from the same location (you may call it the user's 'anchor' in an unknown UI), the server would be queried for the preferences and the application would transform into what the user is already familiar with.

One might argue that this solution poses a security risk, as anyone getting hold of this 'valuable' information could do malicious things with it, but this risk is also present in the current form, where the database is not centralized, but each user has their own 'configuration file' saved on their own machine. Add this to the fact that the information could be held almost anonymously and behind very powerful encryption and you have a very low security risk (I would never say there are no security issues what-so-ever as much as I will never say an application is bug-free).

This solution looks not only applicable for vendors - holding their own repository for their applications, but there may even be a few service providers that could provide a central repository for many applications by many software vendors. Payment for this service could be an agreed upon sum per-license sold (or it could even be free (as in beer)).
Share this post: Email it!
read more:

Design Globalization: Part 1
A conversation about the impact of large scale global changes, outsourcing, and international design training/firms on design and designers. What do designers and design firms need to focus on and be aware of to be successful in this changing hyper-global market? Let's discuss...

Niti Bhan
New Markets Strategist
Author, Numerous
Dirk Knemeyer
Principal, Involution Studios
Author, Numerous
Joseph O'Sullivan
Senior Design Director, Design Methods, Yahoo! Inc.
Luke Wroblewski
Principal Designer, Social Media, Yahoo! Inc.
Founder/Principal, LukeW Interface Designs
Author, Site-Seeing: A Visual Approach to Web Usability


Design Globalization: Part 1

Dirk Knemeyer
The original Design Futures conversation touched on a lot of different things, but one of the points that really deserves the most attention is globalization. While the offshoring of jobs from the U.S. continues to get most of the press, the reality and impact of globalization is so much more nuanced and complex. At the most basic level, globalization is:
  • Creating a dramatically larger knowledge workforce
  • Creating a culturally and geographically diverse knowledge workforce
  • Creating new, emerging consumer markets
  • Extending the capitalist paradigm into heretofore 'underdeveloped' cultures
  • Creating new cross-culture complexity (and opportunities) for expansion-minded companies and products
  • Creating myriad new companies, originating in new cultures and with different mindsets, vision and strategies
And this is just for starters. But what I hope this list clearly communicates is the real breadth and impact of globalization: for designers, business, culture, governments - everyone in the developed or developing world.

I know that each of you have some really thoughtful and well-formed insights on globalization; Niti, thinking about the future of design in the context of globalization, why don't you kick off our conversation?


Niti Bhan
Dirk, you bring up some good points here in your articulation of what globalization 'is' and cover the majority of the aspects of the shifts we're all seeing, online and off. However, contentious little soul that I am, I'd like to take your thoughts one step further into the abstraction layer. Every point that you make adds complexity to the 'flux', since it seems to me that we are at an inflexion point here. And this inflexion point is one that covers the overlap of not just of business and design but an overlap of design, business, culture, government, and people. I go back to what I wrote in the Fall of 2005, with reference to the 'flux':

I think that if we take business, technology and society (people) as three inter-dependant spheres, they, too, are in such a state of 'knife-edge equilibrium' or precarious balance. At any given time, one changes - new products emerge, new technology is invented, new ways of relating/communicating - they usher in changes in the other spheres by their very inter - relatedness.

And in my opinion, the very nature of globalization is what is emerging from this 'flux'. That is to say, that whereas earlier the 'three spheres' were geographically bound, within the context of the state of the art in global communications, today, these spheres of influence are on a global scale. Look at us creating this document across miles, collaboratively.

Now, to bring it back to thinking about the future of design, I believe that designers are in a particularly unique position, only because of their ability to recognize patterns, an inherent quality of the profession. To quote my post once more,

That is, it could be said, that the interstitial spaces between these three areas are always in limnos. I also believe that it is in these liminal spaces that innovation occurs, naturally, as limnos, is always the threshold or the in between and to innovate, means to create something new. You could use the way a kaleidoscope works as a metaphor.

And, metaphors are part and parcel of the visual designer's craft. What do you think?


There's more...
Continue reading part two of Design Globalization right here on Functioning Form.

Tags: , , ,
read more:

Solving big business problems in our little toolbox application. A use case for Project Distributor.

Project Distributor: Introduction to our distributed web service model
So Darren and I have put in about a month now on the Project Distributor website. We are starting to reach that critical point where the site is pretty cool, we have plenty of users, we are thinking about running out of the allowable bandwidth for the demo site, and all sorts of other things that tend to happen all at once. Now, there are some problems you can design yourself out of, and others that you really have to throw some money at. Our latest enhancements can be summed up in a short list.

  • Buy a domain name and start hosting in two places. Project Distributor.com should be up fairly soon to accompany MarkItUp.ASPXConnection.com
  • Have people host their own versions of the application. And that means a big source release is in the future. At this juncture risk fragmentation.
  • Design away fragmentation with a series of ingenious features that will make everyone want to use the application at hand.

I'm here to talk about the last two, since Darren already bought some additional hosting for us. The concept will be to release a fairly stable version of the application so that groups can host tools, code snippets and other source/binary releases for their teams to share. The application is very lightweight and easy to set-up, so it won't require a bunch of hand holding and configuration to get up and running initially. From our standpoint we solve a number of issues at this juncture. The most obvious problem is what we classify the Lutz Roeder use case. .NET Reflector is the key type of application we'd love to get hosted because it makes it a bit easier to find, not that Google does a bad job, we'd just like to get a bunch of tools in one place, with some features for feedback, new releases, and some cool client tools for publishing.

Now, Lutz would put his application up and he'd whack our bandwidth. He is the prime example of someone that should be hosting their own tools, but possibly using our interface. He doesn't have to, we haven't even asked him yet in fact, but if he decides to do so, then all the better for the web application moving forward. Users such as Lutz probably want a certain level of control over their own sites as well in terms of branding and controlling access. This will only come from hosting the application yourself (and maybe some other features we'll see later).

From a security standpoint many teams will also want to host their own servers. In this manner they get control over the hardware their sources and binaries are stored on. They can accept tools up to any maximum (instead of our imposed limits) and provide unlimited download bandwidth if they choose. Or they can take advantage of our gating mechanisms to make sure their server doesn't get overloaded with downloads and open their tools up to the public.

The only major problem from this source release is that the initial problem we were trying to solve, promoting the visibility of tools, starts to erode. You see, the more sites that host their own tools the harder it is to find the right site with the right tools. We are trying to solve this in a number of ways. The first is allowing users of a site to store bookmarks to other projects and external resources. This is only a temporary fix, because it still doesn't allow a mass search and categorization infrastructure required to truly promote the visibility of the tools being hosted. We have to come up with a solution that brings all of the sites, but we don't want to create just another portal or gateway site. That is boring. Now you have the background, so how will we solve the fragmentation issue?

Designing away Fragmentation
I won't lie to you, I've implemented this model several times, but have never had a project that was capable of really showing off the feature set we are about to talk about. The concept is to unify all of the sites, by allowing them to easily manage views of data from all of the sites combined. Each site owns their own content, maintains their own users, but in turn peers with other sites to obtain additional content.

Web services provide a dual feature set in this model. At the current level they allow us to generate really great client-side tools for managing, well, your tools! We have a drop-client target right now so you can drag and drop new releases to existing projects in just a few seconds. Some new tools for working with build systems to promote the source code up to the server are in the works. We natively integrate with your RSS reader and will have our own alert services in the drop client just in case you don't have one. There aren't any search or local caching features, but those are also planned for the drop client so you can background download new releases, just like Windows Update.

That doesn't solve fragmentation though, that just makes me realize how much work I have left to do. The second feature of web services lies in the ability for each site to aggregate data from the many other sites that are out there hosting the application. Remember, everything we make available at the service layer can also now be remoted. The more caching we put into the data layer, the more performant the entire process will be, and we can even tune the caching depending on whether the data layer is merging off-site contents or database contents.

Peer Sites
I'm sure there is another name out there somewhere, but for the past 2 years I've called these peer sites. Each instance of the project distributor will have a number of options allowing for adding peers that will be aggregated and added to the local collection while users traverse the site. The first step is to get the peer sites running in a read-only mode. And set up some really great options so the entire process can be controlled. This solves a number of use case scenarios for us including the following.

  • Fragmentation can be mitigated through proper configuration. If everyone aggregates 5 or 6 sites into their peers, then we have a huge network now of interconnected peers and users can pick and choose which one they use for purposes of searching the tool network.
  • Peer connections are unidirectional or bidirectional. Access is configurable. Teams can include tools from external sites while keeping their own tools completely private. They can exist behind a DMZ or a private network.
  • Users can host their own personal tool sites in the same manner as the team sites. They can configure statically which projects to make available even. In this way you can build a collection of personal tools that you love, and have the latest information automatically update on your machine for your perusal.

Peer sites solve plenty of visibility issues, but that is pretty much all they solve for now. We still want to enable all of the features available to the client tools. After all, the web service methods and proxy infrastructure is in place to do so much more.

Master Sites
Well, we want to solve another problem. That is where you edit your data. A master site is where the users, groups, projects, etc... are all hosted, but thankfully, you'll be able to log in through any site (assuming it is peered with your master site) and then edit your own projects and such. This is a remote principal context and is actually one of the cooler features associated with the peering functionality of project distributor. We'll be fully secure in our login and credentials region, but unfortunately we'll still be transferring data in open text in the short term. Maybe we'll fix that with enough push back.

Clone Sites
A clone site is where we empower a site to act on behalf of a master site. For me, my local project distributor is currently cloned to the main project distributor site. What does this mean? Right now it means I get all of the data from PD, and that users who trust my site can log-in to their project distributor accounts and cross edit data. Pretty nice if you ask me. It basically means you can fully host a project distributor installation and never, ever have to install a database server. Users can just act on behalf of a remote server.

Configuration
This isn't a super reusable model like some of those you read about in the popular software architecture books, and it probably accounts for why master/peer/clone sites don't exist very often. The considerations for every option are heavily customized to the problem being solved, and I'm sure we'll be making modifications or updating the configuration context for a while. Right now you can independently configure your primary server type, whether master or clone, whether or not users can use you for a pass-through authentication and edit server, whether or not web services are enabled so peers can enable unidirectional only communications, setting up asymmetric security credentials. Man, you name it and it is in there

For the peer section we have full and selective modes. A full peer pulls all of the data on the remote peer locally for display (in a delay caching manner, just like you'd expect, unless you set up a scheduled pull which is also possible). I expect most people to configure full peers because they really are really easy to set up and maintain. A selective peer is where you specify the groups/projects that you want to display. This is best for a user setting up their own personal toolbox who wants to select a couple of items from many different peers.

We have an extensively exhaustive configuration module already and we'll be continuously adding more to it. The concept is to easily modify your toolbox to your own designs without having to touch the code. If we haven't given you enough options to satisfy your need then we'll have to make something up, because I'm just about running out ;-)

These are the basics of the model ideas I have for project distributor. That doesn't mean Darren doesn't have other great ideas happening as well. He has some pretty extensive UI enhancements, but I'll let him talk about those. We even have another product idea that is kind of a bolt-on for project distributor, but that is probably a couple of months out putting it into next year. Unfortunately we have too many ideas for our own good right now. Better than not having any ideas I guess. I'll try to drop some code with some of the ideas above, that way you can get a look at how the entire system is implemented. I have some diagrams as well, but I'm far too tired right now to add the img tags to the HTML view.

Share this post: Email it!
read more:


You Searched for

web designs

Click web designs to go to MMK Technologies
SEARCH RSS NEWS USING THE WORDS BELOW

Kansas City Kansas web designs | Olathe Kansas web designs | Overland Park Kansas web designs | Topeka Kansas web designs | Wichita Kansas web designs | Kansas City Kansas internet design | Olathe Kansas internet design | Overland Park Kansas internet design | Topeka Kansas internet design | Wichita Kansas internet design | Kansas City Kansas programming developer | Olathe Kansas programming developer | Overland Park Kansas programming developer | Topeka Kansas programming developer | Wichita Kansas programming developer | Kansas City Kansas website marketing | Olathe Kansas website marketing | Overland Park Kansas website marketing | Topeka Kansas website marketing | Wichita Kansas website marketing | Kansas City Kansas web development | Olathe Kansas web development | Overland Park Kansas web development | Topeka Kansas web development | Wichita Kansas web development | Kansas City Kansas marketing internet | Olathe Kansas marketing internet | Overland Park Kansas marketing internet | Topeka Kansas marketing internet | Wichita Kansas marketing internet | Kansas City Kansas web sites designing | Olathe Kansas web sites designing | Overland Park Kansas web sites designing | Topeka Kansas web sites designing | Wichita Kansas web sites designing | Kansas City Kansas site designs | Olathe Kansas site designs | Overland Park Kansas site designs | Topeka Kansas site designs | Wichita Kansas site designs | Kansas City Kansas sites designs | Olathe Kansas sites designs | Overland Park Kansas sites designs | Topeka Kansas sites designs | Wichita Kansas sites designs | Kansas City Kansas internet designer | Olathe Kansas internet designer | Overland Park Kansas internet designer | Topeka Kansas internet designer | Wichita Kansas internet designer | Kansas City Kansas internet designs | Olathe Kansas internet designs | Overland Park Kansas internet designs | Topeka Kansas internet designs | Wichita Kansas internet designs | Kansas City Kansas e-commerce store | Olathe Kansas e-commerce store | Overland Park Kansas e-commerce store | Topeka Kansas e-commerce store | Wichita Kansas e-commerce store | Kansas City Kansas web development | Olathe Kansas web development | Overland Park Kansas web development | Topeka Kansas web development | Wichita Kansas web development | Kansas City Kansas web site development | Olathe Kansas web site development | Overland Park Kansas web site development | Topeka Kansas web site development | Wichita Kansas web site development | Kansas City Kansas design webs | Olathe Kansas design webs | Overland Park Kansas design webs | Topeka Kansas design webs | Wichita Kansas design webs | Kansas City Kansas internet site marketing | Olathe Kansas internet site marketing | Overland Park Kansas internet site marketing | Topeka Kansas internet site marketing | Wichita Kansas internet site marketing | Kansas City Kansas internet hosting | Olathe Kansas internet hosting | Overland Park Kansas internet hosting | Topeka Kansas internet hosting | Wichita Kansas internet hosting | Kansas City Kansas internet host | Olathe Kansas internet host | Overland Park Kansas internet host | Topeka Kansas internet host | Wichita Kansas internet host | Kansas City Kansas web hosting | Olathe Kansas web hosting | Overland Park Kansas web hosting | Topeka Kansas web hosting | Wichita Kansas web hosting | Kansas City Kansas web host | Olathe Kansas web host | Overland Park Kansas web host | Topeka Kansas web host | Wichita Kansas web host | Kansas City Kansas sell on the internet | Olathe Kansas sell on the internet | Overland Park Kansas sell on the internet | Topeka Kansas sell on the internet | Wichita Kansas sell on the internet | Kansas City Kansas sell on the web | Olathe Kansas sell on the web | Overland Park Kansas sell on the web | Topeka Kansas sell on the web | Wichita Kansas sell on the web | Kansas City Kansas e-commerce store | Olathe Kansas e-commerce store | Overland Park Kansas e-commerce store | Topeka Kansas e-commerce store | Wichita Kansas e-commerce store | Kansas City Kansas internet development | Olathe Kansas internet development | Overland Park Kansas internet development | Topeka Kansas internet development | Wichita Kansas internet development | Kansas City Kansas webdesign | Olathe Kansas webdesign | Overland Park Kansas webdesign | Topeka Kansas webdesign | Wichita Kansas webdesign | Kansas City Kansas florida web site design | Olathe Kansas florida web site design | Overland Park Kansas florida web site design | Topeka Kansas florida web site design | Wichita Kansas florida web site design | Kansas City Kansas website development | Olathe Kansas website development | Overland Park Kansas website development | Topeka Kansas website development | Wichita Kansas website development | Kansas City Kansas ecommerce store | Olathe Kansas ecommerce store | Overland Park Kansas ecommerce store | Topeka Kansas ecommerce store | Wichita Kansas ecommerce store | Kansas City Kansas sell online | Olathe Kansas sell online | Overland Park Kansas sell online | Topeka Kansas sell online | Wichita Kansas sell online | Kansas City Kansas affiliate program | Olathe Kansas affiliate program | Overland Park Kansas affiliate program | Topeka Kansas affiliate program | Wichita Kansas affiliate program | Kansas City Kansas asp web store | Olathe Kansas asp web store | Overland Park Kansas asp web store | Topeka Kansas asp web store | Wichita Kansas asp web store | Kansas City Kansas marketing program | Olathe Kansas marketing program | Overland Park Kansas marketing program | Topeka Kansas marketing program | Wichita Kansas marketing program | Kansas City Kansas marketing software | Olathe Kansas marketing software | Overland Park Kansas marketing software | Topeka Kansas marketing software | Wichita Kansas marketing software | Kansas City Kansas submission software | Olathe Kansas submission software | Overland Park Kansas submission software | Topeka Kansas submission software | Wichita Kansas submission software | Kansas City Kansas asp programmer | Olathe Kansas asp programmer | Overland Park Kansas asp programmer | Topeka Kansas asp programmer | Wichita Kansas asp programmer | Kansas City Kansas cgi store | Olathe Kansas cgi store | Overland Park Kansas cgi store | Topeka Kansas cgi store | Wichita Kansas cgi store | Kansas City Kansas perl store | Olathe Kansas perl store | Overland Park Kansas perl store | Topeka Kansas perl store | Wichita Kansas perl store | Kansas City Kansas internet store | Olathe Kansas internet store | Overland Park Kansas internet store | Topeka Kansas internet store | Wichita Kansas internet store | Kansas City Kansas database programmer | Olathe Kansas database programmer | Overland Park Kansas database programmer | Topeka Kansas database programmer | Wichita Kansas database programmer | Kansas City Kansas internet database | Olathe Kansas internet database | Overland Park Kansas internet database | Topeka Kansas internet database | Wichita Kansas internet database | Kansas City Kansas online marketing | Olathe Kansas online marketing | Overland Park Kansas online marketing | Topeka Kansas online marketing | Wichita Kansas online marketing | Kansas City Kansas ecommerce software | Olathe Kansas ecommerce software | Overland Park Kansas ecommerce software | Topeka Kansas ecommerce software | Wichita Kansas ecommerce software | Kansas City Kansas streaming media | Olathe Kansas streaming media | Overland Park Kansas streaming media | Topeka Kansas streaming media | Wichita Kansas streaming media | Kansas City Kansas video streaming | Olathe Kansas video streaming | Overland Park Kansas video streaming | Topeka Kansas video streaming | Wichita Kansas video streaming | Kansas City Kansas secure video streams | Olathe Kansas secure video streams | Overland Park Kansas secure video streams | Topeka Kansas secure video streams | Wichita Kansas secure video streams | Kansas City Kansas media streams | Olathe Kansas media streams | Overland Park Kansas media streams | Topeka Kansas media streams | Wichita Kansas media streams | Kansas City Kansas audio streaming | Olathe Kansas audio streaming | Overland Park Kansas audio streaming | Topeka Kansas audio streaming | Wichita Kansas audio streaming | Kansas City Kansas MP3 security | Olathe Kansas MP3 security | Overland Park Kansas MP3 security | Topeka Kansas MP3 security | Wichita Kansas MP3 security | Kansas City Kansas avi security | Olathe Kansas avi security | Overland Park Kansas avi security | Topeka Kansas avi security | Wichita Kansas avi security | Kansas City Kansas Windows Media Security | Olathe Kansas Windows Media Security | Overland Park Kansas Windows Media Security | Topeka Kansas Windows Media Security | Wichita Kansas Windows Media Security | Kansas City Kansas protect video | Olathe Kansas protect video | Overland Park Kansas protect video | Topeka Kansas protect video | Wichita Kansas protect video | Kansas City Kansas secure web cam | Olathe Kansas secure web cam | Overland Park Kansas secure web cam | Topeka Kansas secure web cam | Wichita Kansas secure web cam | Kansas City Kansas webcam security | Olathe Kansas webcam security | Overland Park Kansas webcam security | Topeka Kansas webcam security | Wichita Kansas webcam security | Kansas City Kansas video piracy | Olathe Kansas video piracy | Overland Park Kansas video piracy | Topeka Kansas video piracy | Wichita Kansas video piracy | Kansas City Kansas media piracy | Olathe Kansas media piracy | Overland Park Kansas media piracy | Topeka Kansas media piracy | Wichita Kansas media piracy | Kansas City Kansas windows media player security | Olathe Kansas windows media player security | Overland Park Kansas windows media player security | Topeka Kansas windows media player security | Wichita Kansas windows media player security | Kansas City Kansas secure media | Olathe Kansas secure media | Overland Park Kansas secure media | Topeka Kansas secure media | Wichita Kansas secure media | Kansas City Kansas protect audio | Olathe Kansas protect audio | Overland Park Kansas protect audio | Topeka Kansas protect audio | Wichita Kansas protect audio | Kansas City Kansas video stream protection | Olathe Kansas video stream protection | Overland Park Kansas video stream protection | Topeka Kansas video stream protection | Wichita Kansas video stream protection | Kansas City Kansas MMKTechnologies | Olathe Kansas MMKTechnologies | Overland Park Kansas MMKTechnologies | Topeka Kansas MMKTechnologies | Wichita Kansas MMKTechnologies | Kansas City Kansas MMK Technologies | Olathe Kansas MMK Technologies | Overland Park Kansas MMK Technologies | Topeka Kansas MMK Technologies | Wichita Kansas MMK Technologies | Kansas City Kansas prevent audio theft | Olathe Kansas prevent audio theft | Overland Park Kansas prevent audio theft | Topeka Kansas prevent audio theft | Wichita Kansas prevent audio theft | Kansas City Kansas prevent video theft | Olathe Kansas prevent video theft | Overland Park Kansas prevent video theft | Topeka Kansas prevent video theft | Wichita Kansas prevent video theft | Kansas City Kansas web page design | Olathe Kansas web page design | Overland Park Kansas web page design | Topeka Kansas web page design | Wichita Kansas web page design | Kansas City Kansas ecommerce shopping cart | Olathe Kansas ecommerce shopping cart | Overland Park Kansas ecommerce shopping cart | Topeka Kansas ecommerce shopping cart | Wichita Kansas ecommerce shopping cart | Kansas City Kansas shopping store ASP | Olathe Kansas shopping store ASP | Overland Park Kansas shopping store ASP | Topeka Kansas shopping store ASP | Wichita Kansas shopping store ASP | Kansas City Kansas sell online | Olathe Kansas sell online | Overland Park Kansas sell online | Topeka Kansas sell online | Wichita Kansas sell online | Kansas City Kansas sell products | Olathe Kansas sell products | Overland Park Kansas sell products | Topeka Kansas sell products | Wichita Kansas sell products | Kansas City Kansas products to sell online | Olathe Kansas products to sell online | Overland Park Kansas products to sell online | Topeka Kansas products to sell online | Wichita Kansas products to sell online | Kansas City Kansas web technology | Olathe Kansas web technology | Overland Park Kansas web technology | Topeka Kansas web technology | Wichita Kansas web technology | Kansas City Kansas website builders | Olathe Kansas website builders | Overland Park Kansas website builders | Topeka Kansas website builders | Wichita Kansas website builders | Kansas City Kansas web site builder | Olathe Kansas web site builder | Overland Park Kansas web site builder | Topeka Kansas web site builder | Wichita Kansas web site builder | Kansas City Kansas bradenton web design | Olathe Kansas bradenton web design | Overland Park Kansas bradenton web design | Topeka Kansas bradenton web design | Wichita Kansas bradenton web design | Kansas City Kansas florida web design | Olathe Kansas florida web design | Overland Park Kansas florida web design | Topeka Kansas florida web design | Wichita Kansas florida web design | Kansas City Kansas bradenton website design | Olathe Kansas bradenton website design | Overland Park Kansas bradenton website design | Topeka Kansas bradenton website design | Wichita Kansas bradenton website design | Kansas City Kansas protect MP3 | Olathe Kansas protect MP3 | Overland Park Kansas protect MP3 | Topeka Kansas protect MP3 | Wichita Kansas protect MP3 | Kansas City Kansas keep video from being copied | Olathe Kansas keep video from being copied | Overland Park Kansas keep video from being copied | Topeka Kansas keep video from being copied | Wichita Kansas keep video from being copied | Kansas City Kansas sarasota web design | Olathe Kansas sarasota web design | Overland Park Kansas sarasota web design | Topeka Kansas sarasota web design | Wichita Kansas sarasota web design | Kansas City Kansas secure upload video | Olathe Kansas secure upload video | Overland Park Kansas secure upload video | Topeka Kansas secure upload video | Wichita Kansas secure upload video | Kansas City Kansas web programming | Olathe Kansas web programming | Overland Park Kansas web programming | Topeka Kansas web programming | Wichita Kansas web programming | Kansas City Kansas cgi programming | Olathe Kansas cgi programming | Overland Park Kansas cgi programming | Topeka Kansas cgi programming | Wichita Kansas cgi programming | Kansas City Kansas net hosting | Olathe Kansas net hosting | Overland Park Kansas net hosting | Topeka Kansas net hosting | Wichita Kansas net hosting | Kansas City Kansas net development | Olathe Kansas net development | Overland Park Kansas net development | Topeka Kansas net development | Wichita Kansas net development | Kansas City Kansas flash design | Olathe Kansas flash design | Overland Park Kansas flash design | Topeka Kansas flash design | Wichita Kansas flash design | Kansas City Kansas flash programming | Olathe Kansas flash programming | Overland Park Kansas flash programming | Topeka Kansas flash programming | Wichita Kansas flash programming | Kansas City Kansas cool flash | Olathe Kansas cool flash | Overland Park Kansas cool flash | Topeka Kansas cool flash | Wichita Kansas cool flash | Kansas City Kansas action script | Olathe Kansas action script | Overland Park Kansas action script | Topeka Kansas action script | Wichita Kansas action script | Kansas City Kansas flash database programming | Olathe Kansas flash database programming | Overland Park Kansas flash database programming | Topeka Kansas flash database programming | Wichita Kansas flash database programming | Kansas City Kansas flash graphics | Olathe Kansas flash graphics | Overland Park Kansas flash graphics | Topeka Kansas flash graphics | Wichita Kansas flash graphics | Kansas City Kansas graphics design | Olathe Kansas graphics design | Overland Park Kansas graphics design | Topeka Kansas graphics design | Wichita Kansas graphics design | Kansas City Kansas graphics disign | Olathe Kansas graphics disign | Overland Park Kansas graphics disign | Topeka Kansas graphics disign | Wichita Kansas graphics disign | Kansas City Kansas flash disign | Olathe Kansas flash disign | Overland Park Kansas flash disign | Topeka Kansas flash disign | Wichita Kansas flash disign | Kansas City Kansas web disign | Olathe Kansas web disign | Overland Park Kansas web disign | Topeka Kansas web disign | Wichita Kansas web disign | Kansas City Kansas web design | Olathe Kansas web design | Overland Park Kansas web design | Topeka Kansas web design | Wichita Kansas web design | Kansas City Kansas website design | Olathe Kansas website design | Overland Park Kansas website design | Topeka Kansas website design | Wichita Kansas website design | Kansas City Kansas internet marketing | Olathe Kansas internet marketing | Overland Park Kansas internet marketing | Topeka Kansas internet marketing | Wichita Kansas internet marketing | Kansas City Kansas web marketing | Olathe Kansas web marketing | Overland Park Kansas web marketing | Topeka Kansas web marketing | Wichita Kansas web marketing | Kansas City Kansas web site marketing | Olathe Kansas web site marketing | Overland Park Kansas web site marketing | Topeka Kansas web site marketing | Wichita Kansas web site marketing | Kansas City Kansas programming | Olathe Kansas programming | Overland Park Kansas programming | Topeka Kansas programming | Wichita Kansas programming | Kansas City Kansas web sites designer | Olathe Kansas web sites designer | Overland Park Kansas web sites designer | Topeka Kansas web sites designer | Wichita Kansas web sites designer | Kansas City Kansas web designs | Olathe Kansas web designs | Overland Park Kansas web designs | Topeka Kansas web designs | Wichita Kansas web designs |


Jade Gates Adobe Photoshop training Adobe Photoshop classes photography classes Polaroid image transfer classes Digital photography classes photo restoration classes commercial photography


www.mmktechnologies.com

(c) Copyright 2005 MMK Technologies.

 

  Design Forum   Support   Hosting   News   Flash Design
Copyright © 2006, MMKTechnologies. All Rights Reserved.